/* Greenbelt Maps design tokens 1.0.0. Generated by tools/build_tokens.py from design/tokens/tokens.json and
   docs/inputs/accessible-colour-scheme.json (Greenbelt Maps accessible colour scheme 1.0.0, 2026-11-14).
   Do not edit by hand: change the source and run the build. CI fails if this file is out of date.

   Light is the default. Dark applies when the system asks for it, unless the page sets
   data-theme="light"; data-theme="dark" forces dark. Both attributes work on any element, so
   a map can set its own theme inside an embed. */

@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-display: swap;
  src: url("../fonts/archivo-variable-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-display: swap;
  src: url("../fonts/archivo-variable-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  --gb-font-sans: "Archivo", ui-sans-serif, system-ui, "Segoe UI", Helvetica, Arial, sans-serif;
  --gb-font-numeric: tabular-nums;
  --gb-font-stretch-normal: 100%;
  --gb-text-title-size: 1.625rem;
  --gb-text-title-weight: 780;
  --gb-text-title-line: 1.2;
  --gb-text-title-stretch: 87%;
  --gb-text-body-size: 0.9375rem;
  --gb-text-body-weight: 400;
  --gb-text-body-line: 1.5;
  --gb-text-secondary-size: 0.84375rem;
  --gb-text-secondary-weight: 400;
  --gb-text-secondary-weight-strong: 700;
  --gb-text-secondary-line: 1.4;
  --gb-text-caption-size: 0.78125rem;
  --gb-text-caption-weight: 400;
  --gb-text-caption-weight-strong: 650;
  --gb-text-caption-line: 1.4;
  --gb-text-label-size: 0.75rem;
  --gb-text-label-weight: 700;
  --gb-text-label-line: 1.3;
  --gb-text-label-letter-spacing: 0.08em;
  --gb-text-label-transform: uppercase;
  --gb-space-1: 4px;
  --gb-space-2: 8px;
  --gb-space-3: 12px;
  --gb-space-4: 16px;
  --gb-space-5: 20px;
  --gb-space-6: 24px;
  --gb-space-8: 32px;
  --gb-space-10: 40px;
  --gb-space-12: 48px;
  --gb-radius-control: 6px;
  --gb-radius-panel: 8px;
  --gb-radius-pill: 9999px;
  --gb-border-width: 1px;
  --gb-shadow-float: 0 6px 18px rgba(13, 26, 21, 0.16);
  --gb-size-target-min: 24px;
  --gb-size-target-touch: 44px;
  --gb-size-control: 36px;
  --gb-size-map-control: 36px;
  --gb-size-swatch-width: 18px;
  --gb-size-swatch-height: 12px;
  --gb-size-swatch-point: 12px;
  --gb-size-popup-max-width: 340px;
  --gb-size-panel-width: 340px;
  --gb-size-icon: 20px;
  --gb-size-checkbox: 20px;
  --gb-focus-width: 2px;
  --gb-focus-offset: 2px;
  --gb-focus-halo-width: 2px;
  --gb-motion-fast: 100ms;
  --gb-motion-base: 200ms;
  --gb-motion-slow: 300ms;
  --gb-motion-camera: 500ms;
  --gb-motion-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --gb-motion-ease-exit: cubic-bezier(0.4, 0, 1, 1);
  --gb-ramp-greenbelt-green-1: #ECF5EF;
  --gb-ramp-greenbelt-green-2: #AAD6BA;
  --gb-ramp-greenbelt-green-3: #70B48B;
  --gb-ramp-greenbelt-green-4: #329260;
  --gb-ramp-greenbelt-green-5: #00703C;
  --gb-ramp-greenbelt-green-6: #004726;
  --gb-ramp-teal-to-orange-1: #1B5A6A;
  --gb-ramp-teal-to-orange-2: #1E90A4;
  --gb-ramp-teal-to-orange-3: #90C4CE;
  --gb-ramp-teal-to-orange-4: #F3F0E8;
  --gb-ramp-teal-to-orange-5: #E2B380;
  --gb-ramp-teal-to-orange-6: #BB7327;
  --gb-ramp-teal-to-orange-7: #7E4C14;
  --gb-layer-protected-federal-dash: none;
  --gb-layer-protected-provincial-dash: none;
  --gb-layer-protected-ca-dash: none;
  --gb-layer-protected-ngo-dash: none;
  --gb-layer-protected-municipal-dash: none;
  --gb-layer-builtup-impervious-dash: none;
  --gb-layer-builtup-pervious-dash: none;
  --gb-layer-wetlands-psw-dash: none;
  --gb-layer-ansi-life-dash: 6 3;
  --gb-layer-ansi-earth-dash: 2 3;
  --gb-layer-builtup-solris-dash: 8 3 2 3;
  --gb-layer-study-area-dash: 10 5;
  --gb-layer-viewer-1-dash: none;
  --gb-layer-viewer-2-dash: none;
  --gb-layer-viewer-3-dash: none;
  --gb-layer-viewer-4-dash: none;
  --gb-layer-viewer-5-dash: none;
  --gb-layer-viewer-6-dash: none;
  --gb-layer-viewer-7-dash: none;
  --gb-layer-viewer-8-dash: none;
}

/* Controls grow on touch screens. */
@media (pointer: coarse) {
  :root {
    --gb-size-control: 44px;
    --gb-size-map-control: 44px;
  }
}

/* Reduced motion: every duration is zero. data-motion="reduce" does the same on one page. */
@media (prefers-reduced-motion: reduce) {
  :root {
    --gb-motion-fast: 0ms;
    --gb-motion-base: 0ms;
    --gb-motion-slow: 0ms;
    --gb-motion-camera: 0ms;
  }
}

:root[data-motion="reduce"] {
  --gb-motion-fast: 0ms;
  --gb-motion-base: 0ms;
  --gb-motion-slow: 0ms;
  --gb-motion-camera: 0ms;
}

:root, [data-theme="light"] {
  color-scheme: light;
  --gb-colour-bg: #F7F6F1;
  --gb-colour-surface: #FFFFFF;
  --gb-colour-sunk: #EFEDE5;
  --gb-colour-ink: #0D1A15;
  --gb-colour-ink-2: #3C4943;
  --gb-colour-muted: #5E6963;
  --gb-colour-line: #DCD8CB;
  --gb-colour-line-2: #C9C4B4;
  --gb-colour-border-control: #7C857F;
  --gb-colour-accent: #00703C;
  --gb-colour-accent-ink: #00312C;
  --gb-colour-accent-soft: #E3F0E8;
  --gb-colour-on-accent: #FFFFFF;
  --gb-colour-hi: #D6DE23;
  --gb-colour-on-hi: #0D1A15;
  --gb-colour-warn: #8E0053;
  --gb-colour-amber: #8A5800;
  --gb-colour-amber-soft: #F6ECD9;
  --gb-colour-focus: #00703C;
  --gb-colour-focus-halo: #FFFFFF;
  --gb-colour-map-bg: #E9E6DC;
  --gb-colour-map-land: #F5F3EC;
  --gb-colour-map-water: #C9DEE4;
  --gb-colour-map-shore: #6A91A0;
  --gb-colour-map-label: #1A2721;
  --gb-colour-map-label-muni: #3F4D46;
  --gb-colour-map-water-label: #2B5E70;
  --gb-colour-map-road-label: #5A4E3D;
  --gb-colour-map-road: #966828;
  --gb-colour-map-shield: #966828;
  --gb-colour-map-shield-ink: #FFFFFF;
  --gb-colour-map-halo: #FAF9F4;
  --gb-colour-map-sel: #0D1A15;
  --gb-colour-map-gb: #00312C;
  --gb-layer-protected-federal-fill: #00312C;
  --gb-layer-protected-federal-fill-opacity: 0.6;
  --gb-layer-protected-federal-stroke: #00312C;
  --gb-layer-protected-provincial-fill: #177016;
  --gb-layer-protected-provincial-fill-opacity: 0.6;
  --gb-layer-protected-provincial-stroke: #25652E;
  --gb-layer-protected-ca-fill: #8ABE70;
  --gb-layer-protected-ca-fill-opacity: 0.6;
  --gb-layer-protected-ca-stroke: #4E7A2E;
  --gb-layer-protected-ngo-fill: #F7A600;
  --gb-layer-protected-ngo-fill-opacity: 0.6;
  --gb-layer-protected-ngo-stroke: #8A5A00;
  --gb-layer-protected-municipal-fill: #7F3896;
  --gb-layer-protected-municipal-fill-opacity: 0.6;
  --gb-layer-protected-municipal-stroke: #5A3A86;
  --gb-layer-builtup-impervious-fill: #7A756F;
  --gb-layer-builtup-impervious-fill-opacity: 0.6;
  --gb-layer-builtup-impervious-stroke: #55514C;
  --gb-layer-builtup-pervious-fill: #D5D0C8;
  --gb-layer-builtup-pervious-fill-opacity: 0.6;
  --gb-layer-builtup-pervious-stroke: #7A746C;
  --gb-layer-wetlands-psw-fill: #12406B;
  --gb-layer-wetlands-psw-fill-opacity: 0.2;
  --gb-layer-wetlands-psw-stroke: #12406B;
  --gb-layer-ansi-life-fill: #BF4F9E;
  --gb-layer-ansi-life-fill-opacity: 0.08;
  --gb-layer-ansi-life-stroke: #BF4F9E;
  --gb-layer-ansi-earth-fill: #5A2D0C;
  --gb-layer-ansi-earth-fill-opacity: 0.08;
  --gb-layer-ansi-earth-stroke: #5A2D0C;
  --gb-layer-builtup-solris-fill: #D9480F;
  --gb-layer-builtup-solris-fill-opacity: 0.07;
  --gb-layer-builtup-solris-stroke: #D9480F;
  --gb-layer-study-area-stroke: #4A524E;
  --gb-layer-viewer-1-fill: #A01407;
  --gb-layer-viewer-1-fill-opacity: 0.15;
  --gb-layer-viewer-1-stroke: #A01407;
  --gb-layer-viewer-2-fill: #177C55;
  --gb-layer-viewer-2-fill-opacity: 0.15;
  --gb-layer-viewer-2-stroke: #177C55;
  --gb-layer-viewer-3-fill: #582B65;
  --gb-layer-viewer-3-fill-opacity: 0.15;
  --gb-layer-viewer-3-stroke: #582B65;
  --gb-layer-viewer-4-fill: #BB658E;
  --gb-layer-viewer-4-fill-opacity: 0.15;
  --gb-layer-viewer-4-stroke: #BB658E;
  --gb-layer-viewer-5-fill: #68102C;
  --gb-layer-viewer-5-fill-opacity: 0.15;
  --gb-layer-viewer-5-stroke: #68102C;
  --gb-layer-viewer-6-fill: #7C8829;
  --gb-layer-viewer-6-fill-opacity: 0.15;
  --gb-layer-viewer-6-stroke: #7C8829;
  --gb-layer-viewer-7-fill: #4D7AF4;
  --gb-layer-viewer-7-fill-opacity: 0.15;
  --gb-layer-viewer-7-stroke: #4D7AF4;
  --gb-layer-viewer-8-fill: #1D3CD0;
  --gb-layer-viewer-8-fill-opacity: 0.15;
  --gb-layer-viewer-8-stroke: #1D3CD0;
  --gb-focus-outline: var(--gb-focus-width) solid var(--gb-colour-focus);
  --gb-focus-halo: 0 0 0 calc(var(--gb-focus-offset) + var(--gb-focus-width) + var(--gb-focus-halo-width)) var(--gb-colour-focus-halo);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]):not([data-theme="dark"]) {
    color-scheme: dark;
    --gb-colour-bg: #0E1412;
    --gb-colour-surface: #151D1A;
    --gb-colour-sunk: #111816;
    --gb-colour-ink: #E7ECE8;
    --gb-colour-ink-2: #C2CCC6;
    --gb-colour-muted: #93A099;
    --gb-colour-line: #27322E;
    --gb-colour-line-2: #34413C;
    --gb-colour-border-control: #6E7C75;
    --gb-colour-accent: #4DB57F;
    --gb-colour-accent-ink: #BDE5CD;
    --gb-colour-accent-soft: #16301F;
    --gb-colour-on-accent: #0E1412;
    --gb-colour-hi: #D6DE23;
    --gb-colour-on-hi: #0D1A15;
    --gb-colour-warn: #E37BAE;
    --gb-colour-amber: #E3B341;
    --gb-colour-amber-soft: #2A2414;
    --gb-colour-focus: #4DB57F;
    --gb-colour-focus-halo: #0E1412;
    --gb-colour-map-bg: #18201D;
    --gb-colour-map-land: #1F2925;
    --gb-colour-map-water: #14303A;
    --gb-colour-map-shore: #6C97A6;
    --gb-colour-map-label: #E7ECE8;
    --gb-colour-map-label-muni: #BAC7C0;
    --gb-colour-map-water-label: #7FB0BF;
    --gb-colour-map-road-label: #D9CDB6;
    --gb-colour-map-road: #C9B383;
    --gb-colour-map-shield: #E8D2A0;
    --gb-colour-map-shield-ink: #0E1412;
    --gb-colour-map-halo: #0E1412;
    --gb-colour-map-sel: #FFFFFF;
    --gb-colour-map-gb: #E8EEEA;
    --gb-layer-protected-federal-fill: #325B3E;
    --gb-layer-protected-federal-fill-opacity: 0.6;
    --gb-layer-protected-federal-stroke: #7FB59A;
    --gb-layer-protected-provincial-fill: #83BC7E;
    --gb-layer-protected-provincial-fill-opacity: 0.6;
    --gb-layer-protected-provincial-stroke: #8FD08F;
    --gb-layer-protected-ca-fill: #C8F87A;
    --gb-layer-protected-ca-fill-opacity: 0.6;
    --gb-layer-protected-ca-stroke: #D6EBA0;
    --gb-layer-protected-ngo-fill: #EA9113;
    --gb-layer-protected-ngo-fill-opacity: 0.6;
    --gb-layer-protected-ngo-stroke: #F0B050;
    --gb-layer-protected-municipal-fill: #A65FAB;
    --gb-layer-protected-municipal-fill-opacity: 0.6;
    --gb-layer-protected-municipal-stroke: #CDA9E6;
    --gb-layer-builtup-impervious-fill: #898989;
    --gb-layer-builtup-impervious-fill-opacity: 0.6;
    --gb-layer-builtup-impervious-stroke: #B5B5B5;
    --gb-layer-builtup-pervious-fill: #DDD6D0;
    --gb-layer-builtup-pervious-fill-opacity: 0.6;
    --gb-layer-builtup-pervious-stroke: #E0E0E0;
    --gb-layer-wetlands-psw-fill: #8EC6E6;
    --gb-layer-wetlands-psw-fill-opacity: 0.2;
    --gb-layer-wetlands-psw-stroke: #8EC6E6;
    --gb-layer-ansi-life-fill: #D650A8;
    --gb-layer-ansi-life-fill-opacity: 0.12;
    --gb-layer-ansi-life-stroke: #D650A8;
    --gb-layer-ansi-earth-fill: #F0D2AE;
    --gb-layer-ansi-earth-fill-opacity: 0.1;
    --gb-layer-ansi-earth-stroke: #F0D2AE;
    --gb-layer-builtup-solris-fill: #F59E62;
    --gb-layer-builtup-solris-fill-opacity: 0.1;
    --gb-layer-builtup-solris-stroke: #F59E62;
    --gb-layer-study-area-stroke: #AEB8B3;
    --gb-layer-viewer-1-fill: #F89599;
    --gb-layer-viewer-1-fill-opacity: 0.15;
    --gb-layer-viewer-1-stroke: #F89599;
    --gb-layer-viewer-2-fill: #44F6DB;
    --gb-layer-viewer-2-fill-opacity: 0.15;
    --gb-layer-viewer-2-stroke: #44F6DB;
    --gb-layer-viewer-3-fill: #6A62DA;
    --gb-layer-viewer-3-fill-opacity: 0.15;
    --gb-layer-viewer-3-stroke: #6A62DA;
    --gb-layer-viewer-4-fill: #C93B74;
    --gb-layer-viewer-4-fill-opacity: 0.15;
    --gb-layer-viewer-4-stroke: #C93B74;
    --gb-layer-viewer-5-fill: #877012;
    --gb-layer-viewer-5-fill-opacity: 0.15;
    --gb-layer-viewer-5-stroke: #877012;
    --gb-layer-viewer-6-fill: #B1A90C;
    --gb-layer-viewer-6-fill-opacity: 0.15;
    --gb-layer-viewer-6-stroke: #B1A90C;
    --gb-layer-viewer-7-fill: #84A5ED;
    --gb-layer-viewer-7-fill-opacity: 0.15;
    --gb-layer-viewer-7-stroke: #84A5ED;
    --gb-layer-viewer-8-fill: #D0F681;
    --gb-layer-viewer-8-fill-opacity: 0.15;
    --gb-layer-viewer-8-stroke: #D0F681;
    --gb-focus-outline: var(--gb-focus-width) solid var(--gb-colour-focus);
    --gb-focus-halo: 0 0 0 calc(var(--gb-focus-offset) + var(--gb-focus-width) + var(--gb-focus-halo-width)) var(--gb-colour-focus-halo);
  }
}

[data-theme="dark"] {
  color-scheme: dark;
  --gb-colour-bg: #0E1412;
  --gb-colour-surface: #151D1A;
  --gb-colour-sunk: #111816;
  --gb-colour-ink: #E7ECE8;
  --gb-colour-ink-2: #C2CCC6;
  --gb-colour-muted: #93A099;
  --gb-colour-line: #27322E;
  --gb-colour-line-2: #34413C;
  --gb-colour-border-control: #6E7C75;
  --gb-colour-accent: #4DB57F;
  --gb-colour-accent-ink: #BDE5CD;
  --gb-colour-accent-soft: #16301F;
  --gb-colour-on-accent: #0E1412;
  --gb-colour-hi: #D6DE23;
  --gb-colour-on-hi: #0D1A15;
  --gb-colour-warn: #E37BAE;
  --gb-colour-amber: #E3B341;
  --gb-colour-amber-soft: #2A2414;
  --gb-colour-focus: #4DB57F;
  --gb-colour-focus-halo: #0E1412;
  --gb-colour-map-bg: #18201D;
  --gb-colour-map-land: #1F2925;
  --gb-colour-map-water: #14303A;
  --gb-colour-map-shore: #6C97A6;
  --gb-colour-map-label: #E7ECE8;
  --gb-colour-map-label-muni: #BAC7C0;
  --gb-colour-map-water-label: #7FB0BF;
  --gb-colour-map-road-label: #D9CDB6;
  --gb-colour-map-road: #C9B383;
  --gb-colour-map-shield: #E8D2A0;
  --gb-colour-map-shield-ink: #0E1412;
  --gb-colour-map-halo: #0E1412;
  --gb-colour-map-sel: #FFFFFF;
  --gb-colour-map-gb: #E8EEEA;
  --gb-layer-protected-federal-fill: #325B3E;
  --gb-layer-protected-federal-fill-opacity: 0.6;
  --gb-layer-protected-federal-stroke: #7FB59A;
  --gb-layer-protected-provincial-fill: #83BC7E;
  --gb-layer-protected-provincial-fill-opacity: 0.6;
  --gb-layer-protected-provincial-stroke: #8FD08F;
  --gb-layer-protected-ca-fill: #C8F87A;
  --gb-layer-protected-ca-fill-opacity: 0.6;
  --gb-layer-protected-ca-stroke: #D6EBA0;
  --gb-layer-protected-ngo-fill: #EA9113;
  --gb-layer-protected-ngo-fill-opacity: 0.6;
  --gb-layer-protected-ngo-stroke: #F0B050;
  --gb-layer-protected-municipal-fill: #A65FAB;
  --gb-layer-protected-municipal-fill-opacity: 0.6;
  --gb-layer-protected-municipal-stroke: #CDA9E6;
  --gb-layer-builtup-impervious-fill: #898989;
  --gb-layer-builtup-impervious-fill-opacity: 0.6;
  --gb-layer-builtup-impervious-stroke: #B5B5B5;
  --gb-layer-builtup-pervious-fill: #DDD6D0;
  --gb-layer-builtup-pervious-fill-opacity: 0.6;
  --gb-layer-builtup-pervious-stroke: #E0E0E0;
  --gb-layer-wetlands-psw-fill: #8EC6E6;
  --gb-layer-wetlands-psw-fill-opacity: 0.2;
  --gb-layer-wetlands-psw-stroke: #8EC6E6;
  --gb-layer-ansi-life-fill: #D650A8;
  --gb-layer-ansi-life-fill-opacity: 0.12;
  --gb-layer-ansi-life-stroke: #D650A8;
  --gb-layer-ansi-earth-fill: #F0D2AE;
  --gb-layer-ansi-earth-fill-opacity: 0.1;
  --gb-layer-ansi-earth-stroke: #F0D2AE;
  --gb-layer-builtup-solris-fill: #F59E62;
  --gb-layer-builtup-solris-fill-opacity: 0.1;
  --gb-layer-builtup-solris-stroke: #F59E62;
  --gb-layer-study-area-stroke: #AEB8B3;
  --gb-layer-viewer-1-fill: #F89599;
  --gb-layer-viewer-1-fill-opacity: 0.15;
  --gb-layer-viewer-1-stroke: #F89599;
  --gb-layer-viewer-2-fill: #44F6DB;
  --gb-layer-viewer-2-fill-opacity: 0.15;
  --gb-layer-viewer-2-stroke: #44F6DB;
  --gb-layer-viewer-3-fill: #6A62DA;
  --gb-layer-viewer-3-fill-opacity: 0.15;
  --gb-layer-viewer-3-stroke: #6A62DA;
  --gb-layer-viewer-4-fill: #C93B74;
  --gb-layer-viewer-4-fill-opacity: 0.15;
  --gb-layer-viewer-4-stroke: #C93B74;
  --gb-layer-viewer-5-fill: #877012;
  --gb-layer-viewer-5-fill-opacity: 0.15;
  --gb-layer-viewer-5-stroke: #877012;
  --gb-layer-viewer-6-fill: #B1A90C;
  --gb-layer-viewer-6-fill-opacity: 0.15;
  --gb-layer-viewer-6-stroke: #B1A90C;
  --gb-layer-viewer-7-fill: #84A5ED;
  --gb-layer-viewer-7-fill-opacity: 0.15;
  --gb-layer-viewer-7-stroke: #84A5ED;
  --gb-layer-viewer-8-fill: #D0F681;
  --gb-layer-viewer-8-fill-opacity: 0.15;
  --gb-layer-viewer-8-stroke: #D0F681;
  --gb-focus-outline: var(--gb-focus-width) solid var(--gb-colour-focus);
  --gb-focus-halo: 0 0 0 calc(var(--gb-focus-offset) + var(--gb-focus-width) + var(--gb-focus-halo-width)) var(--gb-colour-focus-halo);
}
