/* =====================================================================
   Horus Inspection Hub — design tokens
   ---------------------------------------------------------------------
   Loaded FIRST in index.html. The only place colours, font sizes,
   spacing, radii and target sizes are defined. Migrated screens use
   var(--hx-*) only: no hex values, no px font sizes, no !important.
   Any rule still using --ui-* or a raw hex value is not migrated yet;
   the old --ui-* definitions are deleted after the last screen moves.
   Text scale: --horus-text-scale is set by text-size.js (100% = .94, so body text is 17 px, Apple HIG; was .88 until 5 Oct 2026).
   Review and rationale: ui-review/REVIEW.md (2026-10-01/02 device review).
   ===================================================================== */


:root {
  color-scheme: light;   /* the page draws its own themes: no browser auto-dark (Samsung Internet dulled the Dark theme, 6 Oct 2026) */
  /* ---------- Surfaces: 4, nothing else ------------------------------ */
  --hx-page:   #f2f0ea;  /* warm grey behind cards (was ivory/white mix) */
  --hx-card:   #ffffff;  /* every card / grouped block is white          */
  --hx-track:  #e9e6dd;  /* segmented-control track, bar track, inputs    */
  --hx-map-control: #ffffff;  /* map + / − buttons: the maps stay light in both themes, so their dark icons need a light button */
  --hx-header: #234f40;  /* panel shell header (unchanged)                */
  --hx-scrim:  rgb(24 61 57 / .45);  /* every popup dims the map          */
  --hx-hairline: #e3dfd5; /* card edge on the page — decorative only       */

  /* ---------- Text ---------------------------------------------------- */
  --hx-ink:     #183d39;  /* 10.4–11.9:1                                   */
  --hx-muted:   #4f5a55;  /* labels/helpers. Picked card used #7c827f
                             (3.4–3.9:1, fails in sun) → now 6.3–7.2:1    */
  --hx-on-dark: #ffffff;  /* on header / primary: 9.3:1                   */
  --hx-on-dark-fill: rgb(255 255 255 / .14); /* icon button on the header */

  /* ---------- Meaning colours (text/value + chip tint) ---------------- */
  --hx-level-mark:  #ffffff;   /* #1227/#1228: the ✓ / ! / bar inside the filled weather level symbols (Field: white on green 6.0:1, amber 3.4:1, red 6.6:1) */
  --hx-good:        #1f6f47;  --hx-good-tint:    #dcefe3; /* OK, done   */
  --hx-warn:        #c96a00;   /* owner, 14 Oct 2026: "not only icon, and text to use the brighter orange" (was #a64b08, #900 A; 3.05:1 on the card #e2e8e6, 3.8:1 on white) */  --hx-warn-tint:    #fff4e5; /* owner #900 A, 13 Oct 2026: #b45309 → #a64b08 (4.7:1 on the WTG card's #e2e8e6, was 4.05:1). near limit,
                                                    incomplete, stale     */
  --hx-warn-text:   #9e5000;   /* small caution WORDS that must read at 4.5:1 (#1199: the Incomplete badge was 3.48:1 on its tint, a limit label 3.79:1 on white): 5.8:1 on white, 5.4:1 on --hx-warn-tint, 4.7:1 on the card #e2e8e6. Field only; Dark = --hx-warn. The border, dot and icons keep the brighter --hx-warn / --hx-warn-icon (owner, 14 Oct 2026) */
  --hx-warn-icon:   #c96a00;   /* caution ICONS only (owner, 14 Oct 2026: "orange icon for warning, red icon for stop"): #a64b08 read as red next to the stop hand; #c96a00 is 3.05:1 on the card #e2e8e6, 3.8:1 on white (graphics need 3:1) */
  --hx-safety-tint: rgb(201 106 0 / .12);   /* a safety note's box (owner, 16 Oct 2026, #1261 D): --hx-warn #c96a00 at 12 %; its title in --hx-warn-text */
  --hx-danger:      #b42318;  --hx-danger-tint:  #fbe0dc; /* stop, over limit */
  /* owner #899 A for text, 13 Oct 2026: warn #9a4d12 → #b45309 (5.0:1 on white), danger #a3261b → #b42318 (6.6:1 on white); the warn
     tint #fbe3c8 → #fff4e5 so the new warn words still read on it (4.6:1; #fbe3c8 gave 4.05:1) */
  --hx-info:        #1c5a99;  --hx-info-tint:    #dde9f6; /* in progress */
  --hx-neutral:     #4f5a55;  --hx-neutral-tint: #ebe8e0; /* not started */
  --hx-reopened:    #6b3fa0;  --hx-reopened-tint:#ece4f6;
  /* one colour per WTG status, everywhere (owner, 8 Oct 2026: "make sure the colour we used over the app"): the mark (rings, dots,
     words) and the fill (map pins, behind a white icon). They point at the status roles, so both themes follow. */
  --hx-status-not-started: var(--hx-muted);  --hx-status-not-started-fill: var(--hx-muted-solid);
  --hx-status-in-progress: var(--hx-info);   --hx-status-in-progress-fill: var(--hx-info-solid);
  --hx-status-incomplete:  var(--hx-warn);   --hx-status-incomplete-fill:  var(--hx-warn-solid);
  --hx-status-done:        var(--hx-good);   --hx-status-done-fill:        var(--hx-good-solid);
  --hx-status-reopened:    var(--hx-reopened); --hx-status-reopened-fill:  var(--hx-reopened);
  --hx-status-maintenance: var(--hx-muted);  --hx-status-maintenance-fill: var(--hx-muted-solid);
  /* Solid fills with light text on them (5 Oct 2026, two themes). Field: the same colours as above; Dark sets deeper fills,
     because its text colours are light. */
  --hx-good-solid:   #1f6f47;  --hx-danger-solid: #a3261b;
  --hx-info-solid:   #1c5a99;  --hx-muted-solid:  #4f5a55;
  --hx-warn-solid:   #9a4d12;   /* incomplete pins: caution orange dark enough behind a white icon (owner, 7 Oct 2026) */
  /* WTG map pins (owner #1191 A, 14 Oct 2026: done and not-started pins looked alike, both dark green). Not started = a white pin
     with a dark edge and a dark turbine; completed = a brighter green pin with a white turbine and a small ✓ badge. The maps stay
     light in both themes, so Dark uses the same values (fixed dark ink, not --hx-ink, which turns light in Dark).
     Edge #183d39 on the map 8.5–11.9:1; #2f8a53 on the map 3.1:1 (KR2 farm tint #dcd8e7) to 4.3:1 (white),
     white on it 4.3:1 (graphics need 3:1). */
  --hx-pin-todo: #ffffff;  --hx-pin-todo-ink: #183d39;  --hx-pin-todo-edge: #183d39;
  --hx-pin-done: #2f8a53;  --hx-pin-done-ink: #ffffff;
  --hx-pin-done-badge: #1f6f47;  --hx-pin-done-badge-ink: #ffffff;  --hx-pin-done-badge-ring: #ffffff;   /* white tick 6.1:1 */
  --hx-map-site-road:   #5b6670;  --hx-map-public-road: #8d949a;   /* site roads slate, not green (green means a done WTG) — the map is light in both themes */
  --hx-solid:        #183d39;  --hx-solid-ink:    #ffffff;   /* the main button inside sheets */

  /* ---------- Icon badge tones (menu tiles, card icons) ---------------
     Rounded-square icon badges (status marks stay round). Ink ≥ 6:1 on bg. */
  --hx-tone-green-bg:  var(--hx-good-tint);     --hx-tone-green-ink:  var(--hx-good);
  --hx-tone-blue-bg:   var(--hx-info-tint);     --hx-tone-blue-ink:   var(--hx-info);
  --hx-tone-violet-bg: var(--hx-reopened-tint); --hx-tone-violet-ink: var(--hx-reopened);
  --hx-tone-amber-bg:  #fde9c4;                 --hx-tone-amber-ink:  #8a5a00;
  --hx-tone-teal-bg:   #d6efec;                 --hx-tone-teal-ink:   #16655f;
  --hx-tone-grey-bg:   #e6e9ee;                 --hx-tone-grey-ink:   #46586d;
  /* all ≥ 4.9:1 on their own tint and ≥ 6.1:1 on white
     (picked card's #297e54 / #ba6022 were 4.4 / 3.9:1 on the page)     */
  /* Ask chat: your own messages (user, 5 Oct 2026) — a soft green like LINE's, never the solid button colour, so a message
     never looks like a button. Text is --hx-ink. */
  --hx-chat-me-bg: #d3ecc4;

  /* ---------- Weather card (Now → +1 hour → +3 hours, vertical roll) ----------
     User reference, 3 Oct 2026: a sky that follows the weather, fading to light behind the values; green strip with white text.
     Rain sky is dark at the top, so the hero text there is white. */
  --hx-sky-cloud:  linear-gradient(180deg, #c7d3dd 0%, #e3e9ee 40%, #f3f5f7 62%);
  --hx-sky-rain:   linear-gradient(180deg, #4c5f71 0%, #6f8398 34%, #d6dee5 57%, #f1f4f6 72%);
  --hx-sky-sun:    linear-gradient(180deg, #8fc0e8 0%, #cfe4f4 40%, #f4f7f9 62%);
  --hx-sky-night:  linear-gradient(180deg, #8e9cc8 0%, #cdd5ec 40%, #f3f5fa 62%);   /* clear at night (dark text stays readable) */
  --hx-sky-rule:   rgb(24 61 57 / .14); /* lines inside the card */
  --hx-sky-ink:    #ffffff;            /* text and marks on the strip; hero text on the dark rain sky */
  --hx-sky-shadow: 0 1px 3px rgb(24 61 57 / .45); /* white sky word over the picture */
  --hx-sky-track:  rgb(255 255 255 / .75); /* bar track */
  --hx-sky-live:   #8ff0b4;            /* the dot in the strip */
  --hx-art-cloud-hi: #ffffff; --hx-art-cloud-lo: #c3ced8;   /* weather pictures */
  --hx-art-rain-hi:  #dfe5ea; --hx-art-rain-lo:  #8d9aa6;
  --hx-art-drop:     #4aa3f0; --hx-art-sun-hi:   #ffe27a; --hx-art-sun-lo: #f5a623; --hx-art-ray: #ffc83d;
  --hx-art-moon-hi: #fffbe8; --hx-art-moon-lo: #e2d6a6; --hx-art-star: #fff3b0;
  /* Rain-intensity key colours, matching each radar's own palette */
  --hx-rain-windy-l: #4f8df5; --hx-rain-windy-m: #3cc06a; --hx-rain-windy-h: #f4c430; --hx-rain-windy-v: #e5382f;
  --hx-rain-xw-l:    #7ddc6e; --hx-rain-xw-m:    #1f9e3c; --hx-rain-xw-h:    #f5b70a; --hx-rain-xw-v:    #d7261e;
  /* Thai radars (Phimai, Khon Kaen) in their own legend colours: light green, moderate yellow, heavy red, very heavy magenta */
  --hx-rain-thai-l:  #47ff00; --hx-rain-thai-m:  #ffd600; --hx-rain-thai-h:  #ff2100; --hx-rain-thai-v:  #ff33ff;
  /* WeatherNext rain-chance map: one colour per 10 % (light blue → blue → violet → magenta → red), blended between stops */
  --hx-wn-rain-10: #d4e8f8; --hx-wn-rain-20: #a9d0f0; --hx-wn-rain-30: #78b2e6; --hx-wn-rain-40: #4c90d8; --hx-wn-rain-50: #2f6cc4;
  --hx-wn-rain-60: #5a4fb8; --hx-wn-rain-70: #8a3aa8; --hx-wn-rain-80: #b82c86; --hx-wn-rain-90: #d61f45;
  --hx-tile-height: 384px;            /* weather card; the radar card's map grows to the same total */

  /* ---------- Actions -------------------------------------------------- */
  /* One filled PRIMARY per screen = the next step (Navigate, Start
     navigation, Check in). Review found the main step looked identical
     to Cancel (03-1, 09-1). Selected tabs use the segmented control, so
     "primary" and "selected" can no longer be confused (03-5).          */
  --hx-primary-bg:   #234f40;
  --hx-primary-ink:  #ffffff;
  --hx-primary-press:#183d39;
  --hx-action-bg:    #ffffff;   /* secondary: white + strong outline   */
  --hx-action-ink:   #183d39;
  --hx-action-border:#4b5e45;   /* was #62765a (4.1–4.8:1) → 6.2–7.0:1 */
  --hx-action-border-width: 2px;
  --hx-action-press: #e9e6dd;
  --hx-segment-on:   #ffffff;   /* active segment: white tile on track */
  --hx-segment-ink:  #183d39;
  --hx-disabled-bg:  #ebe8e0;
  --hx-disabled-ink: #6b746f;
  --hx-sos-bg:       #b42318;   /* SOS only, 6.6:1                       */
  --hx-sos-hold:     #a3261b;   /* SOS slide: the hold fills darker from the left */
  --hx-sos-handle:   #ffffff;   /* SOS slide handle, red arrow 6.6:1 */
  --hx-focus:        #183d39;   /* was blue #2475e8. Shown with
                                   :focus-visible only (keyboard), not
                                   after a tap — removes the blue ring on
                                   every popup Close                     */
  --hx-field-focus:  #2475e8;   /* ring round a text field while typing (older screens); Dark: teal */

  /* ---------- Map ----------------------------------------------------- */
  --hx-gps:          #e87922;   /* the only orange; + dark outline:     */
  --hx-position:         #007aff;   /* version 2: your position (blue, Apple Maps); never a status colour (owner, 7 Oct 2026) */
  --hx-gps-outline:  #183d39;   /* fill alone was 2.9:1 on the map    */
  --hx-marker-ring:  #d9a93a;   /* selected turbine                     */
  --hx-route:        #1d4ed8;
  --hx-site-road:    #1d753f;
  --hx-osm-road:     #6b7280;

  /* ---------- Type: Horus Avenir, 5 sizes, 3 weights ------------------ */
  --hx-font: "Horus Avenir", "Avenir Next", "Segoe UI", Arial, sans-serif;
    --hx-text-value:   calc(42px * var(--horus-text-scale, .94)); /* key number:
                                       wind, distance (from picked card) */
  --hx-text-display: calc(28px * var(--horus-text-scale, .94)); /* sheet title (WTG ID) */
  --hx-text-value-m: calc(30px * var(--horus-text-scale, .94)); /* numbers in a row of three */
  --hx-text-title:   calc(24px * var(--horus-text-scale, .94)); /* headings  */
  --hx-text-body:    calc(18px * var(--horus-text-scale, .94)); /* body, buttons */
  --hx-text-label:   max(var(--hx-text-min), calc(14px * var(--horus-text-scale, .94)));   /* same as meta: one secondary size, 13 px at 100% (HIG review, 5 Oct 2026) */ /* field labels,
                                       chip text, units                  */
  --hx-text-tile:    max(var(--hx-text-min), calc(14px * min(var(--horus-text-scale, .94), .94)));   /* labels under icons in a row of tiles: the label size, never larger than at 100 % (Apple tab bar labels do not grow) */
  --hx-text-min:     11px;   /* Apple's minimum text size: smaller sizes are written as max(var(--hx-text-min), ...) */
  --hx-text-meta:    max(var(--hx-text-min), calc(14px * var(--horus-text-scale, .94)));   /* "Updated 2 min ago"; never under 11 px (Apple minimum) */
  --hx-text-input:   max(16px, var(--hx-text-body));       /* no iOS zoom */
  --hx-text-drive:   calc(28px * var(--horus-text-scale, .94)); /* driving only */
  --hx-button-label-size: var(--hx-text-body);
  --hx-weight-body: 500;  --hx-weight-action: 600;  --hx-weight-strong: 700;
  --hx-leading-body: 1.4; --hx-leading-tight: 1.15;
  --hx-leading-head: 1.3;   /* a title followed by more lines, as Apple's Headline 22/17 (notification spacing, 5 Oct 2026) */
  /* Letter spacing, three values (user, 6 Oct 2026): normal text none; small UPPERCASE labels a little open;
     large titles and big numbers a little tight. The logo and the loading page keep their own. */
  --hx-tracking-text: normal;  --hx-tracking-caps: .04em;  --hx-tracking-display: -.01em;
  /* 87 font sizes today → these 7                                      */

  /* ---------- Space (4px grid) ---------------------------------------- */
  --hx-space-1: 4px;   --hx-space-2: 8px;   --hx-space-3: 12px;
  --hx-space-4: 16px;  --hx-space-5: 24px;
  --hx-gutter:       12px;  /* page edge → card                         */
  --hx-card-pad:     16px;  /* inside a card (picked card)              */
  --hx-card-gap:     10px;  /* between cards (picked card)              */
  --hx-section-gap:  12px;

  /* ---------- Shape ---------------------------------------------------- */
  --hx-radius-card:    14px;
  --hx-radius-sheet:   20px;  /* bottom sheet top corners */  /* from picked card (was 8/12 mixed)    */
  --hx-radius-action:  12px;
  --hx-radius-segment: 10px;
  --hx-radius-badge:   10px;  /* icon badge (rounded square)            */
  --hx-badge-size:     32px;
  --hx-chip-nudge:    1px;   /* Horus Avenir sits high in its line box: chips add this above the text and take it from below so capitals and numbers sit in the middle */
  --hx-radius-chip:    999px; /* pill chips — standard said avoid pills;
                                 the picked card uses them WITH icon +
                                 text, which keeps meaning without colour */
  --hx-bar-height:     6px;
  --hx-shadow-float:   0 6px 20px rgb(24 61 57 / .18);  /* floating cards */
  --hx-shadow-raised:  0 1px 3px rgb(24 61 57 / .18);   /* active segment */
  --hx-shadow-sheet:   0 -6px 24px rgb(24 61 57 / .18); /* bottom sheet */
  --hx-card-width:     380px; /* map card beside the map on wide screens */
  --hx-dialog-width:   440px; /* centred sheet (menu) on wide screens */
  --hx-chat-width:     680px; /* Ask chat on wide screens: room for bubbles, not a 440 column */
  --hx-chat-height:    860px; /* Ask chat: a steady height, so it does not grow with each message */

  /* ---------- Targets (gloves) ---------------------------------------- */
  --hx-target-action: 52px;
  --hx-target-icon:   48px;  /* was 44px; Close measured ~41px        */
  --hx-icon-button:   44px;  /* icon-only buttons (✕, share, refresh, mic, ☰, search →): one 44 pt circle, HIG minimum target (owner, 6 Oct 2026) */
  --hx-target-gap:    8px;   /* map rail buttons had 0px              */
  --hx-target-marker: 48px;  /* hit area around 35px turbine pins       */
  --hx-icon-size:     24px;
  --hx-icon-stroke:   2px;   /* was ~1.5px                            */

  /* ---------- Map home (prototype approved 4 Oct 2026) ----------------
     Three roles, three colours: header dark green, information panels cream, map buttons slate. */
  --hx-map-panel:        #f5efe1;  /* panels on the map (Campaign, Farms)  */
  --hx-map-panel-field:  #fffaf0;  /* search field inside a panel           */
  --hx-map-panel-line:   #e2d8c3;  /* lines inside a panel                  */
  --hx-map-panel-track:  #e6dcc6;  /* progress bar track                    */
  --hx-map-edge:         transparent;   /* owner, 6 Oct 2026: no outline on map panels, buttons or sheets (was rgb(24 61 57 / .45)); the shadow separates them */
  --hx-glass:            rgb(255 255 255 / .86);  /* floating map controls (Apple Maps layout): mostly opaque so they read in sunlight */
  --hx-glass-row:        rgb(24 61 57 / .12);     /* rows inside the sheet (owner, 6 Oct 2026: 12 %, was 5 %) */
  --hx-glass-field:      rgb(24 61 57 / .12);     /* search field (owner, 6 Oct 2026: 12 %, was 7 %) */
  --hx-sheet-row:        #ffffff;   /* owner, 6 Oct 2026: cards were too close to the sheet on the phone (#e4e8e7 on white). Apple grouped list: white cards */
  --hx-sheet-ground:     rgb(226 232 230 / .95);  /* ... on a grey sheet. Floating map controls keep --hx-glass */
  --hx-sheet-solid:      #e2e8e6;   /* version 2: sheets are solid, so a header can repeat the colour without a band */
  --hx-press:            brightness(.9);   /* press state for every control (HIG: always show a press state) */
  --hx-chosen-bg:        rgb(24 61 57 / .14);   /* a chosen action tile (WTG card Campaign): a tint, so it never looks like a second green action */
  --hx-chosen-ink:       var(--hx-ink);
  --hx-map-lift:         0 0 0 1px rgb(255 255 255 / .6), 0 2px 4px rgb(24 61 57 / .28), 0 8px 20px rgb(24 61 57 / .26);
  --hx-map-button:       #3c4d59;  /* slate map buttons, white icons 9.3:1 */
  --hx-map-button-press: #2b3942;
  /* 5 Oct 2026 (user: buttons and notes blended into the map; then white looked like the WTG labels): dark map buttons with a
     white rim, pale amber notes — neither matches the white WTG labels, the cream panels or the green header */
  --hx-map-rail:         #1f2b33;
  --hx-map-rail-ink:     #ffffff;
  --hx-map-rail-press:   #34444f;
  --hx-map-rail-edge:    #ffffff;
  --hx-map-shade:        brightness(.78) saturate(.8);   /* the base map, darker so pins, buttons and notes stand out */
  --hx-note-act:         var(--hx-map-rail);       /* buttons on notification cards */
  --hx-note-act-ink:     var(--hx-map-rail-ink);
  /* Glow (5 Oct 2026): Dark only. Field: no glow ("0 0 transparent" so it can sit in a shadow list) */
  --hx-glow-main:       0 0 transparent;
  --hx-glow-main-press: 0 0 transparent;
  --hx-glow-rail:       0 0 transparent;
  --hx-glow-rail-press: 0 0 transparent;
  --hx-glow-pick:       0 0 transparent;
  --hx-glow-level-mix:  0%;   /* a level bar's glow (gust / rain bars, 10 Oct 2026): none in Field */
  --hx-shell-glow:      none;
  --hx-toast-bg:         #ffe9b8;
  --hx-toast-ink:        #4a2a05;
  --hx-toast-accent:     #c8761a;
  --hx-toast-info-bg:    #dcf0ea;  --hx-toast-info-accent: #16655f;   /* information: pale teal */
  --hx-toast-done-bg:    #dff2e1;  --hx-toast-done-accent: #1f6f47;   /* done / updated: pale green */
  --hx-map-label:        #ffffff;  /* WTG ID tags on the map: white in both themes (the map does not change with the theme) */
  --hx-map-label-ink:    #183d39;
  --hx-map-label-edge:   #e3dfd5;
  --hx-map-ground:       #f2f0ea;  /* behind a base map that has no ground layer (Rain Forecast map) */
  --hx-map-raster-ground: #e9e6dd; /* under the fallback raster map */
  --hx-map-pick:         #16655f;
  --hx-map-select:       #ffd000;  /* chosen farm border on the rain forecast: sharp yellow on a dark edge */  /* the picked farm (teal: not a status colour) */
  --hx-map-dim:          blur(.8px) grayscale(.7) opacity(.45);   /* other farms while one is picked */
  --hx-alert-caution:    #f5b40a;  /* weather caution: safety amber (orange is only the GPS dot) */
  --hx-alert-caution-edge: #7a5200;
  --hx-alert-caution-ink:  #1d1a12;
  --hx-alert-stop:       #b42318;  /* weather stop: red, white text */
  --hx-alert-stop-edge:  #6e130c;
  /* warning line bands (owner #899 C, 13 Oct 2026): a whole caution / stop LINE on a solid band, words on it in the band's own colour */
  --hx-warn-band:        #ffb020;  --hx-on-warn-band:   #1b1300;   /* 10.1:1 */
  --hx-danger-band:      #c62828;  --hx-on-danger-band: #ffffff;   /* 5.6:1 */
  /* R3 driving screen (owner, 13 Oct 2026, AI Checker #954): the turn card green in both themes; under it a band in the destination's
     weather colour; the bottom trip pill; a darker red for the driving Exit so its word reaches 7:1 (#951). Ratios: words on fill */
  --hx-drive-turn-bg:    #0f5a3c;  --hx-drive-turn-ink:   #ffffff;   /* 8.2:1 */
  --hx-drive-alert-bg:   #2b3431;  --hx-drive-alert-ink:  #ffffff;   /* 12.6:1 GPS lost, off route: not the guidance green, never lime */
  --hx-drive-band-go-bg:      #0b4630;  --hx-drive-band-go-ink:      #d7e6dd;   /* 8.4:1 */
  --hx-drive-band-caution-bg: #3a2810;  --hx-drive-band-caution-ink: #ffc24d;   /* 8.8:1 */
  --hx-drive-band-stop-bg:    #4a1410;  --hx-drive-band-stop-ink:    #ffb4ab;   /* 8.8:1 */
  --hx-drive-band-name:       #ffffff;   /* the WTG name on any band: 10.9:1 or more */
  --hx-drive-pill-bg:    #f4f6f3;  --hx-drive-pill-ink:   #183d39;  --hx-drive-pill-sub: #3c5752;   /* 11.0:1 · 7.2:1 */
  --hx-drive-exit-bg:    #a3261b;  --hx-drive-exit-ink:   #ffffff;   /* 7.4:1 */
  /* full check 13 Oct 2026: the dashed line to the route while driving is neutral slate (orange is for weather levels only, #1034);
     the position arrow without a fresh GPS fix is grey (#1037). The map is light in both themes, so both are the same. */
  --hx-drive-approach:   #3c4d59;  --hx-gps-stale:        #8a9491;
  /* One colour per wind farm (farm outlines on the rain forecast and its table). Not status colours, not the rain blues. */
  --hx-farm-FKW: #0f8b8d; --hx-farm-KR2: #7b4fd6; --hx-farm-NKS: #b8860b; --hx-farm-T1: #c2417f;
  --hx-farm-T2: #5c7a1f;  --hx-farm-T3: #2f4b7c;  --hx-farm-T4: #c45a3c;  --hx-farm-WTB: #4d7a8c;
  /* ---------- App header bar (5 Oct 2026, two themes): green bar, light weather box and Menu ----------
     Used by the older header styles (website.css, compact-shell.css) so both themes can recolour it. */
  --hx-shell-bg:         #234f40;
  --hx-shell-ink:        #ffffff;
  --hx-shell-chip:       #f0f6ed;  /* weather box and Menu */
  --hx-shell-chip-ink:   #183d39;
  --hx-shell-chip-press: #e8eee4;
  --hx-shell-chip-open:  #dce6d7;
  --hx-shell-label:      #526c5f;  /* Rain / Wind / Gusts */
  --hx-shell-edge:       #688377;
  --hx-shell-line:       #d4dfce;  /* between the values */
  --hx-shell-ok-bg:   #d8efdd;  --hx-shell-ok-ink:   #17613c;
  --hx-shell-warn-bg: #fff0b3;  --hx-shell-warn-ink: #715300;
  --hx-shell-stop-bg: #fbe0dc;  --hx-shell-stop-ink: #a42118;
  /* Loading page (4 Oct 2026): a light studio with 3D models of the DJI M350 RTK and the Voliro T. */
  --hx-start-studio: radial-gradient(120% 70% at 50% 38%, #ffffff 0%, #eef0ed 45%, #d9ded9 100%);
  --hx-start-copper: #b8744f;
  --hx-3d-m350: #353b3f;   --hx-3d-dark: #2a2e31;   --hx-3d-carbon: #1c1f21;  --hx-3d-lens: #0a1520;
  --hx-3d-voliro: #f4f5f2; --hx-3d-accent: #e8692b; --hx-3d-truss: #8e9497;   --hx-3d-probe: #48c6d8;
  --hx-3d-led-red: #ff3b30; --hx-3d-led-green: #34c759; --hx-3d-prop: #15181a;
}
/* farm colours, version 2 only (owner, 9 Oct 2026: "use higher contrast color nearby, now T1 and T4 are quite similar"): farms that
   touch differ in hue. North to south: WTB steel blue · T3 indigo · T2 green · T1 pink · T4 gold · FKW teal · KR2 violet · NKS orange.
   Each keeps white text at 4.5:1 or more on its name chip (80 % farm colour, dist/v2/hx-v2-space.css). The old version is unchanged.
   T3 indigo (owner, 12 Oct 2026, #66 choice A: T3 brown and NKS orange looked the same): #4545ff is not a status colour (bluer than
   KR2 / reopened violet, more violet than in-progress blue); white on its chip 8.1:1, 5.9:1 on the white map, 3.0:1 on the Dark sheet. */
:root.v2-ui { --hx-farm-T3: #4545ff; --hx-farm-T4: #b8860b; --hx-farm-NKS: #c45a3c; }
/* the admin-only test farm TST (owner, 14 Oct 2026, #1196), version 2 only: magenta, a hue no real farm, status or rain colour uses
   (T1 pink 330°, KR2 violet 260°, reopened violet 270°). White on it 6.0:1; 6.0:1 on the white map. The map is light in both themes,
   so Field and Dark share the outline colour; Dark gets a lighter mark for words on the dark sheet (the TEST badge): 7.0:1 there. */
:root.v2-ui { --hx-farm-TST: #b000b0; --hx-test-mark: #b000b0; }
:root.v2-ui[data-theme="dark"] { --hx-farm-TST: #b000b0; --hx-test-mark: #f07af0; }
/* floating controls over the map, version 2 (owner, 9 Oct 2026: "how to make it stand out from the map"): in Field the weather capsule
   and map buttons are near-solid white with a firmer two-layer shadow (they were the panel's grey-green and sank into the grey map);
   still no outline (owner, 6 Oct 2026). Dark keeps the panel colour */
:root.v2-ui { --hx-map-float: rgb(255 255 255 / .97); --hx-map-float-shadow: 0 1px 3px rgb(24 61 57 / .22), 0 8px 24px rgb(24 61 57 / .24); }
:root.v2-ui[data-theme="dark"] { --hx-map-float: var(--hx-sheet-ground); --hx-map-float-shadow: var(--hx-shadow-float); }

/* ---------- Dark theme (proposal, 5 Oct 2026; preview only until approved) ----------
   Matches the new loading page (website/startup-screen.css): near-black green, light text, and its three accents —
   lime (Continue = the main button), teal (focus, picked items) and orange (kept for GPS, as now).
   Same meaning in both themes: green OK, amber near the limit, red stop; only made lighter so they read on dark.
   The map, farm colours, rain colours and the notification cards stay as they are. */
:root[data-theme="dark"], :root.v2-ui #startup-screen {   /* the loading page is always Dark (version 2, 9 Oct 2026) */
  color-scheme: dark;
  --hx-page:      #08130f;  /* loading page background */
  --hx-card:      #203a30;
  --hx-track:     #2c4b40;
  --hx-header:    #050d0b;
  --hx-scrim:     rgb(0 0 0 / .6);
  --hx-hairline:  #3f6054;
  --hx-ink:       #f3f6f1;  /* 11.3:1 on the card */
  --hx-muted:     #a9bcb3;  /* 6.2:1 on the card */
  --hx-on-dark:   #f3f6f1;
  --hx-on-dark-fill: rgb(255 255 255 / .12);
  --hx-level-mark: #0d1814;   /* #1227/#1228: Dark — the sheet colour inside the bright symbols (green 11.6:1, amber 10.3:1, red 6.5:1) */
  --hx-good:     #6fdc8c;  --hx-good-tint:    #143524;
  --hx-warn:     #ffb020;  --hx-warn-tint:    #3a2810;   /* owner #899 A for text, 13 Oct 2026 (was #ff8a1f, the loading screen's Safety orange — that page keeps its own --start-safety): 9.1:1 on #16201c, 7.7:1 on its tint */
  --hx-warn-icon:   var(--hx-warn);  --hx-warn-text: var(--hx-warn);
  --hx-safety-tint: rgb(255 176 32 / .12);   /* the safety note's box in Dark (#1261 D): --hx-warn #ffb020 at 12 % */
  --hx-danger:   #ff6b5e;  --hx-danger-tint:  #3d1714;   /* owner #899 A for text, 13 Oct 2026 (was #ff8a7d): 6.0:1 on #16201c, 5.7:1 on its tint */
  --hx-info:     #8cc2ff;  --hx-info-tint:    #13263d;
  --hx-neutral:  #a9bcb3;  --hx-neutral-tint: #2c4b40;
  --hx-reopened: #c9a8ff;  --hx-reopened-tint:#2a1f3d;
  --hx-good-solid:   #1b7a48;  --hx-danger-solid: #b42318;   /* light text 4.9:1 / 6.0:1 */
  --hx-info-solid:   #2b65a8;  --hx-muted-solid:  #4d6359;   /* light text 5.5:1 / 5.9:1 */
  /* WTG map pins (#1191 A): the maps stay light in Dark, so the pins keep the Field values */
  --hx-pin-todo: #ffffff;  --hx-pin-todo-ink: #183d39;  --hx-pin-todo-edge: #183d39;
  --hx-pin-done: #2f8a53;  --hx-pin-done-ink: #ffffff;
  --hx-pin-done-badge: #1f6f47;  --hx-pin-done-badge-ink: #ffffff;  --hx-pin-done-badge-ring: #ffffff;
  --hx-warn-solid:   #ad5810;   /* incomplete pins / no-signal avatar: the text orange (#ff8a1f) is too bright behind white; #ad5810 = 4.6:1 with the light text (owner #858 A, 13 Oct 2026; was #b65c12, 4.25:1) */
  --hx-solid:        #b8f04a;  --hx-solid-ink:    #0b1d17;   /* main buttons lime, like Continue */
  --hx-tone-amber-bg: #3a2c0c;  --hx-tone-amber-ink: #ffc94d;
  --hx-tone-teal-bg:  #0f322d;  --hx-tone-teal-ink:  #3ee0c4;
  --hx-tone-grey-bg:  #1f2a30;  --hx-tone-grey-ink:  #b7c4cf;
  --hx-chat-me-bg:    #34481a;  /* Ask: your messages, deep lime (not the lime button) */
  /* weather card: night versions of the skies, fading into the card */
  --hx-sky-cloud: linear-gradient(180deg, #3a4a56 0%, #22322f 40%, #203a30 62%);
  --hx-sky-rain:  linear-gradient(180deg, #1d2b38 0%, #22323d 34%, #16251f 57%, #203a30 72%);
  --hx-sky-sun:   linear-gradient(180deg, #1f4a6b 0%, #1a3534 40%, #203a30 62%);
  --hx-sky-night: linear-gradient(180deg, #1e2547 0%, #172629 40%, #203a30 62%);
  --hx-sky-rule:  rgb(255 255 255 / .12);
  --hx-sky-track: rgb(255 255 255 / .18);
  /* buttons: the main one is lime with dark text, like Continue on the loading page */
  --hx-primary-bg:    #b8f04a;
  --hx-primary-ink:   #0b1d17;  /* 13.0:1 */
  --hx-primary-press: #9fd63a;
  --hx-action-bg:     #203a30;
  --hx-action-ink:    #f3f6f1;
  --hx-action-border: #a9bcb3;
  --hx-action-press:  #2c4b40;
  --hx-segment-on:    #4a7262;   /* the chosen tab stands out from the track; light text 5.0:1 */
  --hx-segment-ink:   #f3f6f1;
  --hx-disabled-bg:   #2c4b40;
  --hx-disabled-ink:  #7d8f87;
  --hx-focus:         #3ee0c4;
  --hx-gps-outline:   #050d0b;
  --hx-position:        #0a84ff;
  --hx-shadow-float:  0 6px 20px rgb(0 0 0 / .5);
  --hx-shadow-raised: 0 1px 3px rgb(0 0 0 / .5);
  --hx-shadow-sheet:  0 -6px 24px rgb(0 0 0 / .5);
  /* panels on the map: dark glass instead of cream; teal rims like the loading page brackets */
  --hx-map-panel:       #1c3329;
  --hx-map-panel-field: #243f34;
  --hx-map-panel-line:  #3f6054;
  --hx-map-panel-track: #2c4b40;
  --hx-map-edge:        transparent;   /* owner, 6 Oct 2026: no green outline (was rgb(62 224 196 / .4)) */
  --hx-glass:           rgb(8 19 15 / .84);      /* the loading-screen ground, mostly opaque */
  --hx-glass-row:       rgb(255 255 255 / .12);   /* owner, 6 Oct 2026: 12 % in both themes (was 7 %) */
  --hx-glass-field:     rgb(255 255 255 / .12);   /* (was 10 %) */
  --hx-sheet-row:       #262f2c;   /* 12 % white over the glass, solid */
  --hx-sheet-ground:    var(--hx-glass);   /* dark keeps the glass sheet */
  --hx-sheet-solid:     #0d1814;
  --hx-press:           brightness(1.3);   /* dark: pressed controls brighten */
  --hx-chosen-bg:       var(--hx-ink);
  --hx-chosen-ink:      var(--hx-primary-ink);
  --hx-map-lift:        0 0 0 1px rgb(255 255 255 / .08), 0 2px 4px rgb(0 0 0 / .4), 0 8px 20px rgb(0 0 0 / .45);
  --hx-map-button:       #203a30;
  --hx-map-button-press: #2c4b40;
  --hx-map-rail:         #050d0b;
  --hx-map-rail-ink:     #f3f6f1;
  --hx-map-rail-press:   #2c4b40;
  --hx-map-rail-edge:    #3ee0c4;
  --hx-map-pick:         #0b7a6b;  /* teal, deep enough for light text (4.8:1) */
  --hx-note-act:     #b8f04a;  /* note buttons lime, like Continue; 13.0:1 with dark text */
  --hx-note-act-ink: #0b1d17;
  --hx-map-shade:    brightness(.62) saturate(.7);   /* a darker map under the dark panels */
  /* glow: lime around the main button, teal around map buttons and picked items — soft and steady, brighter when pressed */
  --hx-glow-main:       0 0 transparent;   /* owner, 6 Oct 2026: no green glow ring on buttons (was 0 0 0 1px rgb(184 240 74 / .35), 0 0 14px rgb(184 240 74 / .3)) */
  --hx-glow-main-press: 0 0 0 2px rgb(184 240 74 / .55), 0 0 22px rgb(184 240 74 / .5);
  --hx-glow-rail:       0 0 10px rgb(62 224 196 / .22);
  --hx-glow-rail-press: 0 0 0 1px rgb(62 224 196 / .6), 0 0 18px rgb(62 224 196 / .5);
  --hx-glow-pick:       0 0 12px rgb(62 224 196 / .35);
  --hx-glow-level-mix:  55%;  /* a level bar glows softly in its own level colour (owner, 10 Oct 2026: "color … with glow effect") */
  --hx-shell-glow:      0 0 12px rgb(62 224 196 / .16);
  --hx-toast-info-accent: #0f8070;  /* a little brighter on dark; white marks and text 4.8:1 */
  --hx-toast-done-accent: #1b7a48;  /* white 5.4:1 */
  --hx-field-focus: #3ee0c4;
  /* the older style files' own colour names (style.css, horus-brand.css, outdoor-ui.css, ui-system.css, cream-ui.css):
     set here too so their text and surfaces follow Dark until those files move onto --hx-* (step 2) */
  --ink: #f3f6f1;  --line: #3f6054;
  --horus-paper: #203a30;  --horus-surface: #08130f;  --horus-muted: #a9bcb3;  --horus-accent: #3ee0c4;
  --field-ink: #f3f6f1;  --field-muted: #a9bcb3;  --field-paper: #203a30;  --field-border: #4d6359;
  --card-header-bg: #050d0b;  --card-header-ink: #f3f6f1;  --ui-green: #1b7a48;
  --ui-ink: #f3f6f1;  --ui-muted: #a9bcb3;  --ui-border: #3f6054;  --ui-soft: #2c4b40;  --ui-button: #2c4b40;
  --ui-card-outline: #4d6359;  --ui-shell-border: #4d6359;  --ui-control-border: #4d6359;  --ui-divider: #3f6054;
  --ui-action-bg: #203a30;  --ui-action-ink: #f3f6f1;  --ui-action-border: #a9bcb3;
  --ui-cream: #08130f;  --ui-card: #203a30;  --ui-sage: #2c4b40;
  --hx-sos-hold:   #7d1810;  /* still darker than the bar, light text 9.6:1 */
  --hx-sos-handle: #f3f6f1;  /* light handle on dark: the red arrow 6.0:1 */
  /* header bar: the loading page's near-black, dark glass weather box and Menu with a teal rim */
  --hx-shell-bg:         #050d0b;
  --hx-shell-ink:        #f3f6f1;
  --hx-shell-chip:       #1c3329;
  --hx-shell-chip-ink:   #f3f6f1;
  --hx-shell-chip-press: #2c4b40;
  --hx-shell-chip-open:  #3f6054;
  --hx-shell-label:      #a9bcb3;
  --hx-shell-edge:       rgb(62 224 196 / .4);
  --hx-shell-line:       #3f6054;
  --hx-shell-ok-bg:   #143524;  --hx-shell-ok-ink:   #6fdc8c;
  --hx-shell-warn-bg: #3a2c0c;  --hx-shell-warn-ink: #ffc94d;
  --hx-shell-stop-bg: #3d1714;  --hx-shell-stop-ink: #ff8a7d;
  /* warning line bands (owner #899 C, 13 Oct 2026): amber the same in both themes; the Dark red is brighter. Owner #900 A: the red
     band #e5484d → #d63b40 so the white words reach 4.6:1 (was 3.9:1) */
  --hx-warn-band:        #ffb020;  --hx-on-warn-band:   #1b1300;   /* 10.1:1 */
  --hx-danger-band:      #d63b40;  --hx-on-danger-band: #ffffff;   /* 4.6:1 */
  /* R3 driving screen (owner, 13 Oct 2026, AI Checker #954): the turn card green in both themes; under it a band in the destination's
     weather colour; the bottom trip pill; a darker red for the driving Exit so its word reaches 7:1 (#951). Ratios: words on fill */
  --hx-drive-turn-bg:    #0f5a3c;  --hx-drive-turn-ink:   #ffffff;   /* 8.2:1 */
  --hx-drive-alert-bg:   #2b3431;  --hx-drive-alert-ink:  #ffffff;   /* 12.6:1 GPS lost, off route: not the guidance green, never lime */
  --hx-drive-band-go-bg:      #0b4630;  --hx-drive-band-go-ink:      #d7e6dd;   /* 8.4:1 */
  --hx-drive-band-caution-bg: #3a2810;  --hx-drive-band-caution-ink: #ffc24d;   /* 8.8:1 */
  --hx-drive-band-stop-bg:    #4a1410;  --hx-drive-band-stop-ink:    #ffb4ab;   /* 8.8:1 */
  --hx-drive-band-name:       #ffffff;   /* the WTG name on any band: 10.9:1 or more */
  --hx-drive-pill-bg:    #0e1713;  --hx-drive-pill-ink:   #f3f6f1;  --hx-drive-pill-sub: #c9d2cc;   /* 16.7:1 · 11.8:1 */
  --hx-drive-exit-bg:    #a21f16;  --hx-drive-exit-ink:   #ffffff;   /* 7.7:1 */
  /* full check 13 Oct 2026: the dashed line to the route while driving is neutral slate (orange is for weather levels only, #1034);
     the position arrow without a fresh GPS fix is grey (#1037). The map is light in both themes, so both are the same. */
  --hx-drive-approach:   #3c4d59;  --hx-gps-stale:        #8a9491;
}

/* ---------- generated: scripts/theme_legacy_tokens.py (Dark values for the older style files) ---------- */
:root[data-theme="dark"], :root.v2-ui #startup-screen {   /* the loading page is always Dark (version 2, 9 Oct 2026) */
  --lg-b-102a43: #102a43;
  --lg-b-111111: #111111;
  --lg-b-12595c: #12595c;
  --lg-b-126be0: #126be0;
  --lg-b-1474ab: #1474ab;
  --lg-b-173b30: #173b30;
  --lg-b-173b36: #173b36;
  --lg-b-183d39: #183d39;
  --lg-b-18733c: #18733c;
  --lg-b-214c3e: #214c3e;
  --lg-b-23483e: #23483e;
  --lg-b-234d43: #234d43;
  --lg-b-234f40: #234f40;
  --lg-b-237342: #237342;
  --lg-b-245448: #245448;
  --lg-b-25484b: #25484b;
  --lg-b-315f4b: #315f4b;
  --lg-b-317969: #317969;
  --lg-b-367064: #367064;
  --lg-b-42665a: #42665a;
  --lg-b-427c4b: #427c4b;
  --lg-b-4b8d68: #4b8d68;
  --lg-b-5d94b3: #5d94b3;
  --lg-b-626970: #626970;
  --lg-b-647880: #647880;
  --lg-b-688377: #688377;
  --lg-b-698773: #698773;
  --lg-b-7d8e73: #7d8e73;
  --lg-b-80694e: #80694e;
  --lg-b-84908f: #84908f;
  --lg-b-87a180: #87a180;
  --lg-b-941b14: #941b14;
  --lg-b-986846: #986846;
  --lg-b-a12f31: #a12f31;
  --lg-b-a72d27: #a72d27;
  --lg-b-ab4e43: #ab4e43;
  --lg-b-ab7d30: #ab7d30;
  --lg-b-ae2727: #ae2727;
  --lg-b-b27e68: #b27e68;
  --lg-b-b52e34: #b52e34;
  --lg-b-b57920: #b57920;
  --lg-b-b7a17f: #b7a17f;
  --lg-b-b89570: #b89570;
  --lg-b-b92218: #b92218;
  --lg-b-bf463d: #bf463d;
  --lg-b-c3e899: #c3e899;
  --lg-b-c4d0af: #c4d0af;
  --lg-b-cddcbb: #cddcbb;
  --lg-b-d2dcc0: #2c4b40;
  --lg-b-d2efad: #2e3f18;
  --lg-b-d3dfa8: #d3dfa8;
  --lg-b-d8c09c: #d8c09c;
  --lg-b-d8efdd: #183f20;
  --lg-b-d9eddf: #183f24;
  --lg-b-dce6d7: #2c4b40;
  --lg-b-dce7d5: #2c4b40;
  --lg-b-dce9d7: #2c4b40;
  --lg-b-dce9dd: #2c4b40;
  --lg-b-dce9e2: #2c4b40;
  --lg-b-dcebe0: #2c4b40;
  --lg-b-dcedc8: #2d3f18;
  --lg-b-dcefd3: #243f18;
  --lg-b-dde8d6: #2c4b40;
  --lg-b-dfe8db: #2c4b40;
  --lg-b-e0a348: #e0a348;
  --lg-b-e0e5ce: #2c4b40;
  --lg-b-e0e6dc: #2c4b40;
  --lg-b-e0e9bd: #373f18;
  --lg-b-e0ead7: #2c4b40;
  --lg-b-e0f1e4: #2c4b40;
  --lg-b-e1e6e9: #2c4b40;
  --lg-b-e1eaf0: #2c4b40;
  --lg-b-e1ecdb: #2c4b40;
  --lg-b-e1eee7: #2c4b40;
  --lg-b-e1efdb: #243f18;
  --lg-b-e2ead6: #2c4b40;
  --lg-b-e2eddd: #2c4b40;
  --lg-b-e3352a: #e3352a;
  --lg-b-e3ead8: #2c4b40;
  --lg-b-e3eadc: #2c4b40;
  --lg-b-e3eff8: #1c3329;
  --lg-b-e4e6e3: #2c4b40;
  --lg-b-e4e9da: #2c4b40;
  --lg-b-e4ebdb: #2c4b40;
  --lg-b-e5bf00: #e5bf00;
  --lg-b-e5d2ad: #e5d2ad;
  --lg-b-e5eae5: #2c4b40;
  --lg-b-e5ebe8: #2c4b40;
  --lg-b-e6ecda: #2c4b40;
  --lg-b-e6ece5: #2c4b40;
  --lg-b-e6ede2: #2c4b40;
  --lg-b-e6eee2: #2c4b40;
  --lg-b-e6efdf: #2c4b40;
  --lg-b-e6efe5: #2c4b40;
  --lg-b-e6f1e6: #2c4b40;
  --lg-b-e7dfcd: #3f3318;
  --lg-b-e7eddf: #2c4b40;
  --lg-b-e7eee3: #2c4b40;
  --lg-b-e7f0e5: #2c4b40;
  --lg-b-e7f2e7: #2c4b40;
  --lg-b-e7f2e8: #2c4b40;
  --lg-b-e8dfcc: #3f3218;
  --lg-b-e8ebe8: #2c4b40;
  --lg-b-e8eddf: #2c4b40;
  --lg-b-e8ede3: #2c4b40;
  --lg-b-e8ede6: #2c4b40;
  --lg-b-e8eedf: #2c4b40;
  --lg-b-e8eee3: #2c4b40;
  --lg-b-e8eee4: #2c4b40;
  --lg-b-e8eee5: #2c4b40;
  --lg-b-e8efe5: #2c4b40;
  --lg-b-e8f0e8: #2c4b40;
  --lg-b-e8f0fe: #1c3329;
  --lg-b-e9b5b5: #3f1818;
  --lg-b-e9dfc7: #3f3318;
  --lg-b-e9eddd: #2c4b40;
  --lg-b-e9ede6: #2c4b40;
  --lg-b-e9f0e9: #2c4b40;
  --lg-b-e9f1e3: #2c4b40;
  --lg-b-eaf0e5: #2c4b40;
  --lg-b-eaf0e7: #2c4b40;
  --lg-b-eaf0e8: #2c4b40;
  --lg-b-ebe2d4: #3f3018;
  --lg-b-ece2cc: #3f3318;
  --lg-b-ecefee: #1c3329;
  --lg-b-ededeb: #2c4b40;
  --lg-b-edf0ed: #1c3329;
  --lg-b-edf0f2: #1c3329;
  --lg-b-edf1e8: #2c4b40;
  --lg-b-edf1eb: #1c3329;
  --lg-b-edf1ed: #1c3329;
  --lg-b-edf1ee: #1c3329;
  --lg-b-edf1f3: #1c3329;
  --lg-b-edf2e6: #2c4b40;
  --lg-b-edf2e7: #2c4b40;
  --lg-b-edf2e8: #2c4b40;
  --lg-b-edf2e9: #1c3329;
  --lg-b-edf2ec: #1c3329;
  --lg-b-edf3e8: #1c3329;
  --lg-b-edf3ea: #1c3329;
  --lg-b-edf3ed: #1c3329;
  --lg-b-edf4ec: #1c3329;
  --lg-b-edf5e6: #1c3329;
  --lg-b-eeeadd: #2c4b40;
  --lg-b-eef0ec: #1c3329;
  --lg-b-eef1ea: #1c3329;
  --lg-b-eef2ea: #1c3329;
  --lg-b-eef2eb: #1c3329;
  --lg-b-eef3e9: #1c3329;
  --lg-b-eef4ea: #1c3329;
  --lg-b-eef4eb: #1c3329;
  --lg-b-eef6e4: #2c4b40;
  --lg-b-efe0c7: #3f3018;
  --lg-b-efe1c4: #3f3218;
  --lg-b-efe4e1: #2c4b40;
  --lg-b-efe5d0: #3f3218;
  --lg-b-f0e7d6: #3f3118;
  --lg-b-f0f6ed: #1c3329;
  --lg-b-f1e1bc: #3f3318;
  --lg-b-f1e7d7: #3f3018;
  --lg-b-f1f3f4: #1c3329;
  --lg-b-f1f5ed: #1c3329;
  --lg-b-f1f5ef: #1c3329;
  --lg-b-f1f5f2: #1c3329;
  --lg-b-f1f6f1: #1c3329;
  --lg-b-f2f4f2: #1c3329;
  --lg-b-f2f5ee: #1c3329;
  --lg-b-f2f5ef: #1c3329;
  --lg-b-f3e6c9: #3f3318;
  --lg-b-f3eadb: #2c4b40;
  --lg-b-f3f5ed: #1c3329;
  --lg-b-f3f5ef: #1c3329;
  --lg-b-f3f6f0: #1c3329;
  --lg-b-f3f6f2: #1c3329;
  --lg-b-f3f7ef: #1c3329;
  --lg-b-f4e6cb: #3f3218;
  --lg-b-f4eddf: #2c4b40;
  --lg-b-f4f5f3: #1c3329;
  --lg-b-f4f6f3: #1c3329;
  --lg-b-f4f7ef: #1c3329;
  --lg-b-f4f7f0: #1c3329;
  --lg-b-f5e8cb: #3f3318;
  --lg-b-f5f0e6: #1c3329;
  --lg-b-f5f1e8: #1c3329;
  --lg-b-f5f5e9: #1c3329;
  --lg-b-f5f7f2: #1c3329;
  --lg-b-f5f7f3: #203a30;
  --lg-b-f5f8f3: #203a30;
  --lg-b-f5f8f4: #203a30;
  --lg-b-f6ead6: #2c4b40;
  --lg-b-f6efe3: #2c4b40;
  --lg-b-f6f7f2: #1c3329;
  --lg-b-f7f0e2: #2c4b40;
  --lg-b-f7f8f2: #203a30;
  --lg-b-f7f9f2: #203a30;
  --lg-b-f7f9f4: #203a30;
  --lg-b-f7f9f5: #203a30;
  --lg-b-f7faf6: #203a30;
  --lg-b-f8eaca: #3f3318;
  --lg-b-f8efd9: #2c4b40;
  --lg-b-f8faf5: #203a30;
  --lg-b-f8faf8: #203a30;
  --lg-b-f9faf6: #203a30;
  --lg-b-faefd8: #2c4b40;
  --lg-b-faf0d9: #2c4b40;
  --lg-b-faf1e2: #1c3329;
  --lg-b-fafbf8: #203a30;
  --lg-b-fafbf9: #203a30;
  --lg-b-fafcf7: #203a30;
  --lg-b-fafcf8: #203a30;
  --lg-b-fafff7: #203a30;
  --lg-b-fbe0dc: #2c4b40;
  --lg-b-fbe0e2: #1c3329;
  --lg-b-fbfcf8: #203a30;
  --lg-b-fbfdf9: #203a30;
  --lg-b-ffdc00: #ffdc00;
  --lg-b-ffe34d: #ffe34d;
  --lg-b-fff0b3: #3f3718;
  --lg-b-fff0b5: #3f3718;
  --lg-b-fff0d4: #2c4b40;
  --lg-b-fff0df: #1c3329;
  --lg-b-fff0ed: #203a30;
  --lg-b-fff1d6: #2c4b40;
  --lg-b-fff1e9: #1c3329;
  --lg-b-fff2d8: #2c4b40;
  --lg-b-fff3a6: #3f3a18;
  --lg-b-fff3d9: #2c4b40;
  --lg-b-fff3f0: #203a30;
  --lg-b-fff5dd: #1c3329;
  --lg-b-fff5e4: #1c3329;
  --lg-b-fff7df: #1c3329;
  --lg-b-fff8e9: #1c3329;
  --lg-b-fff8ed: #203a30;
  --lg-b-fff9ef: #203a30;
  --lg-b-fffaf0: #203a30;
  --lg-b-fffcf5: #203a30;
  --lg-b-fffdf6: #203a30;
  --lg-b-fffdf8: #203a30;
  --lg-b-ffffff: #203a30;
  --lg-l-148885: #37e2dd;
  --lg-l-173b36: #5abfb1;
  --lg-l-183d39: #5abeb3;
  --lg-l-234f40: #60b99a;
  --lg-l-2475e8: #186ee7;
  --lg-l-35664f: #68b18e;
  --lg-l-387eaa: #3f8ec0;
  --lg-l-42665a: #a9bcb3;
  --lg-l-467d66: #a9bcb3;
  --lg-l-48886a: #58a782;
  --lg-l-4d8661: #4d6359;
  --lg-l-547075: #a9bcb3;
  --lg-l-574935: #a9bcb3;
  --lg-l-62765a: #4d6359;
  --lg-l-648562: #4d6359;
  --lg-l-648572: #4d6359;
  --lg-l-688377: #4d6359;
  --lg-l-69746c: #4d6359;
  --lg-l-6c8a73: #4d6359;
  --lg-l-6e9077: #4d6359;
  --lg-l-6f9580: #4d6359;
  --lg-l-77847c: #4d6359;
  --lg-l-788477: #4d6359;
  --lg-l-789586: #4d6359;
  --lg-l-78b7ff: #0077ff;
  --lg-l-80694e: #4d6359;
  --lg-l-82998b: #4d6359;
  --lg-l-8aa18b: #4d6359;
  --lg-l-8ba493: #4d6359;
  --lg-l-8ba981: #4d6359;
  --lg-l-8c7958: #4d6359;
  --lg-l-8e7752: #4d6359;
  --lg-l-8fae98: #4d6359;
  --lg-l-986846: #af7750;
  --lg-l-9aafa0: #4d6359;
  --lg-l-9ab2a3: #4d6359;
  --lg-l-9baea3: #4d6359;
  --lg-l-9caf9e: #4d6359;
  --lg-l-9d302b: #ce514b;
  --lg-l-9e8400: #ffd91a;
  --lg-l-a18a68: #4d6359;
  --lg-l-a36c21: #d89840;
  --lg-l-a3b6a6: #4d6359;
  --lg-l-a4b0a6: #4d6359;
  --lg-l-a66b16: #e49c34;
  --lg-l-a66b24: #d69342;
  --lg-l-aab8b3: #4d6359;
  --lg-l-ab813e: #bb8d44;
  --lg-l-ab9779: #4d6359;
  --lg-l-acbdb0: #4d6359;
  --lg-l-ad7541: #b97d46;
  --lg-l-ad8035: #c3903c;
  --lg-l-ae2727: #d02f2f;
  --lg-l-b17b59: #ad7552;
  --lg-l-b36b35: #c5763a;
  --lg-l-b39a74: #4d6359;
  --lg-l-b48961: #ad7e52;
  --lg-l-b6c9ba: #3f6054;
  --lg-l-b7a17f: #4d6359;
  --lg-l-b7c7b9: #4d6359;
  --lg-l-b7c9bc: #3f6054;
  --lg-l-b7cbb9: #3f6054;
  --lg-l-b8c8ab: #4d6359;
  --lg-l-b8c9a8: #4d6359;
  --lg-l-b9cbb7: #3f6054;
  --lg-l-b9ccbc: #3f6054;
  --lg-l-bbcdb9: #3f6054;
  --lg-l-bca170: #ae8d51;
  --lg-l-bccdb9: #3f6054;
  --lg-l-bccfbd: #3f6054;
  --lg-l-bdcdbd: #3f6054;
  --lg-l-becbb4: #3f6054;
  --lg-l-c0cec2: #3f6054;
  --lg-l-c4d3c2: #3f6054;
  --lg-l-c5ac89: #ab8754;
  --lg-l-c5daae: #4e6b2e;
  --lg-l-c6d5c2: #3f6054;
  --lg-l-c7b79b: #4d6359;
  --lg-l-c7ced0: #3f6054;
  --lg-l-c8d4c9: #3f6054;
  --lg-l-c8d6c3: #3f6054;
  --lg-l-c8d6c5: #3f6054;
  --lg-l-c8d7c5: #3f6054;
  --lg-l-c98b20: #dc9823;
  --lg-l-c9a38d: #ad7352;
  --lg-l-cad5bc: #3f6054;
  --lg-l-cad6d0: #3f6054;
  --lg-l-cbd7ce: #3f6054;
  --lg-l-cbd8c9: #3f6054;
  --lg-l-cbd9cc: #3f6054;
  --lg-l-cc9853: #c5893a;
  --lg-l-ccd5cd: #3f6054;
  --lg-l-ccd6d1: #3f6054;
  --lg-l-ccd7c9: #3f6054;
  --lg-l-cdd7cb: #3f6054;
  --lg-l-cebea2: #a78a58;
  --lg-l-cedad1: #3f6054;
  --lg-l-d0d9cc: #3f6054;
  --lg-l-d0ddcc: #3f6054;
  --lg-l-d1bea0: #ac8953;
  --lg-l-d1ddce: #3f6054;
  --lg-l-d1e4c9: #406b2e;
  --lg-l-d2ddd3: #3f6054;
  --lg-l-d2dece: #3f6054;
  --lg-l-d2dfce: #3f6054;
  --lg-l-d3d6d1: #3f6054;
  --lg-l-d3dfa8: #5e6b2e;
  --lg-l-d3dfcf: #3f6054;
  --lg-l-d4bd91: #b79148;
  --lg-l-d4ddcf: #3f6054;
  --lg-l-d4ded2: #3f6054;
  --lg-l-d4dfc7: #3f6054;
  --lg-l-d4dfce: #3f6054;
  --lg-l-d4dfd0: #3f6054;
  --lg-l-d5ddda: #3f6054;
  --lg-l-d5ded0: #3f6054;
  --lg-l-d5dfce: #3f6054;
  --lg-l-d5dfd1: #3f6054;
  --lg-l-d5e0d3: #3f6054;
  --lg-l-d6dfd0: #3f6054;
  --lg-l-d6dfd1: #3f6054;
  --lg-l-d6dfd5: #3f6054;
  --lg-l-d78b81: #c24d3d;
  --lg-l-d7e1d4: #3f6054;
  --lg-l-d8b7b3: #6b352e;
  --lg-l-d8ded9: #3f6054;
  --lg-l-d8e1d2: #3f6054;
  --lg-l-d9cbb3: #6b552e;
  --lg-l-d9e2da: #3f6054;
  --lg-l-dacdbb: #3f6054;
  --lg-l-dbe4dc: #3f6054;
  --lg-l-dce3da: #3f6054;
  --lg-l-dce3df: #3f6054;
  --lg-l-dce4d8: #3f6054;
  --lg-l-dce5d6: #3f6054;
  --lg-l-dde2da: #3f6054;
  --lg-l-dde5d8: #3f6054;
  --lg-l-ded3bf: #6b552e;
  --lg-l-dfcdb4: #6b512e;
  --lg-l-dfd2bb: #6b552e;
  --lg-l-e0d3bf: #6b532e;
  --lg-l-e0e5db: #3f6054;
  --lg-l-e0e5e0: #3f6054;
  --lg-l-e0e7da: #3f6054;
  --lg-l-e0e7dc: #3f6054;
  --lg-l-e0e8dd: #3f6054;
  --lg-l-e0e9bd: #5f6b2e;
  --lg-l-e1e7dc: #3f6054;
  --lg-l-e2e7dc: #3f6054;
  --lg-l-e2e9de: #3f6054;
  --lg-l-e3e9df: #3f6054;
  --lg-l-e4e9e0: #3f6054;
  --lg-l-e6ebe3: #3f6054;
  --lg-l-ebceca: #6b352e;
  --lg-l-edf1eb: #3f6054;
  --lg-l-fffdf6: #3f6054;
  --lg-l-ffffff: #3f6054;
  --lg-pb-183d39: #b8f04a;
  --lg-pb-234f40: #b8f04a;
  --lg-pt-f6f7f2: #0b1d17;
  --lg-pt-fff7e7: #0b1d17;
  --lg-pt-ffffff: #0b1d17;
  --lg-t-00a64b: #7affb6;
  --lg-t-173237: #f3f6f1;
  --lg-t-173b36: #f3f6f1;
  --lg-t-174f78: #86c5f4;
  --lg-t-17613c: #8af0bd;
  --lg-t-183d39: #f3f6f1;
  --lg-t-195c32: #8dedb1;
  --lg-t-202720: #f3f6f1;
  --lg-t-214c3e: #f3f6f1;
  --lg-t-214d3e: #f3f6f1;
  --lg-t-234f40: #f3f6f1;
  --lg-t-235f55: #f3f6f1;
  --lg-t-237342: #8feab3;
  --lg-t-243832: #f3f6f1;
  --lg-t-244932: #f3f6f1;
  --lg-t-24563c: #f3f6f1;
  --lg-t-26483d: #f3f6f1;
  --lg-t-26493e: #f3f6f1;
  --lg-t-276c54: #f3f6f1;
  --lg-t-28734b: #93e7ba;
  --lg-t-315d46: #f3f6f1;
  --lg-t-315d53: #f3f6f1;
  --lg-t-315f4b: #f3f6f1;
  --lg-t-317654: #97e2bd;
  --lg-t-345747: #f3f6f1;
  --lg-t-345b46: #f3f6f1;
  --lg-t-352e29: #f3f6f1;
  --lg-t-35674e: #9edcbd;
  --lg-t-35695e: #9ddccf;
  --lg-t-365749: #f3f6f1;
  --lg-t-36593d: #f3f6f1;
  --lg-t-376a89: #96c6e3;
  --lg-t-385b55: #f3f6f1;
  --lg-t-38603a: #f3f6f1;
  --lg-t-3d352b: #f3f6f1;
  --lg-t-405b52: #a9bcb3;
  --lg-t-405c49: #a9bcb3;
  --lg-t-42665a: #a9bcb3;
  --lg-t-4285f4: #4285f4;
  --lg-t-44392d: #f3f6f1;
  --lg-t-456355: #a9bcb3;
  --lg-t-466359: #a9bcb3;
  --lg-t-486454: #a9bcb3;
  --lg-t-48bc84: #94e5be;
  --lg-t-493c00: #ffe77a;
  --lg-t-4c695d: #a9bcb3;
  --lg-t-4d4235: #f3f6f1;
  --lg-t-4f4939: #f3f6f1;
  --lg-t-4fbe79: #94e5b3;
  --lg-t-505b60: #a9bcb3;
  --lg-t-50675b: #a9bcb3;
  --lg-t-514536: #f3f6f1;
  --lg-t-526157: #a9bcb3;
  --lg-t-52675b: #a9bcb3;
  --lg-t-52675c: #a9bcb3;
  --lg-t-52695d: #a9bcb3;
  --lg-t-52695f: #a9bcb3;
  --lg-t-526961: #a9bcb3;
  --lg-t-526a5d: #a9bcb3;
  --lg-t-526a60: #a9bcb3;
  --lg-t-526b61: #a9bcb3;
  --lg-t-526c5f: #a9bcb3;
  --lg-t-526d55: #a9bcb3;
  --lg-t-536963: #a9bcb3;
  --lg-t-547060: #a9bcb3;
  --lg-t-547766: #a9bcb3;
  --lg-t-563c20: #e5be94;
  --lg-t-574935: #f3f6f1;
  --lg-t-584630: #f3f6f1;
  --lg-t-596662: #a9bcb3;
  --lg-t-596962: #a9bcb3;
  --lg-t-597568: #a9bcb3;
  --lg-t-597d72: #a9bcb3;
  --lg-t-5a6a60: #a9bcb3;
  --lg-t-5b665e: #a9bcb3;
  --lg-t-604e33: #dbc39e;
  --lg-t-60786c: #a9bcb3;
  --lg-t-617065: #a9bcb3;
  --lg-t-625000: #ffe77a;
  --lg-t-627064: #a9bcb3;
  --lg-t-627366: #a9bcb3;
  --lg-t-627469: #a9bcb3;
  --lg-t-62766e: #a9bcb3;
  --lg-t-637467: #a9bcb3;
  --lg-t-63796f: #a9bcb3;
  --lg-t-637b7d: #a9bcb3;
  --lg-t-647064: #a9bcb3;
  --lg-t-64756b: #a9bcb3;
  --lg-t-64786c: #a9bcb3;
  --lg-t-656b67: #a9bcb3;
  --lg-t-66756e: #a9bcb3;
  --lg-t-667769: #a9bcb3;
  --lg-t-66786a: #a9bcb3;
  --lg-t-674719: #efc68a;
  --lg-t-675540: #a9bcb3;
  --lg-t-67756e: #a9bcb3;
  --lg-t-68583f: #a9bcb3;
  --lg-t-687469: #a9bcb3;
  --lg-t-68796a: #a9bcb3;
  --lg-t-687f77: #a9bcb3;
  --lg-t-68807d: #a9bcb3;
  --lg-t-688377: #a9bcb3;
  --lg-t-6a7c70: #a9bcb3;
  --lg-t-6a7d76: #a9bcb3;
  --lg-t-6b7c76: #a9bcb3;
  --lg-t-6b7f80: #a9bcb3;
  --lg-t-6c7e72: #a9bcb3;
  --lg-t-6e8177: #a9bcb3;
  --lg-t-708477: #a9bcb3;
  --lg-t-715300: #ffdc7a;
  --lg-t-71551e: #edcc8c;
  --lg-t-718075: #a9bcb3;
  --lg-t-718176: #a9bcb3;
  --lg-t-71817f: #a9bcb3;
  --lg-t-728069: #a9bcb3;
  --lg-t-728274: #a9bcb3;
  --lg-t-735100: #ffd87a;
  --lg-t-735c2c: #e4cb95;
  --lg-t-745a30: #e2c697;
  --lg-t-748269: #a9bcb3;
  --lg-t-74847b: #a9bcb3;
  --lg-t-75654f: #a9bcb3;
  --lg-t-756957: #a9bcb3;
  --lg-t-765016: #f4c885;
  --lg-t-777777: #a9bcb3;
  --lg-t-77877d: #a9bcb3;
  --lg-t-785524: #eac48f;
  --lg-t-788271: #a9bcb3;
  --lg-t-795421: #edc48d;
  --lg-t-795f40: #dbbf9e;
  --lg-t-796b57: #a9bcb3;
  --lg-t-7a632d: #e5cd94;
  --lg-t-7a887d: #a9bcb3;
  --lg-t-7a8984: #a9bcb3;
  --lg-t-7b3434: #e29898;
  --lg-t-80591c: #f1c888;
  --lg-t-819083: #a9bcb3;
  --lg-t-824200: #ffbe7a;
  --lg-t-825c25: #ecc58e;
  --lg-t-825f20: #efcb8b;
  --lg-t-82918d: #a9bcb3;
  --lg-t-864b20: #efb58a;
  --lg-t-89601d: #f2c988;
  --lg-t-8a968c: #a9bcb3;
  --lg-t-8b211c: #f38c87;
  --lg-t-8b2518: #f59184;
  --lg-t-8b775c: #a9bcb3;
  --lg-t-8b9c95: #a9bcb3;
  --lg-t-8c4b13: #f9b880;
  --lg-t-8d5b2b: #eabc8f;
  --lg-t-946500: #ffd57a;
  --lg-t-95242b: #ef8a91;
  --lg-t-985443: #e0a799;
  --lg-t-986846: #dfb79a;
  --lg-t-9a7028: #eeca8c;
  --lg-t-9c3434: #e89292;
  --lg-t-9d302b: #ec918d;
  --lg-t-a02e30: #eb8e90;
  --lg-t-a12f31: #eb8e90;
  --lg-t-a42118: #f88981;
  --lg-t-a47221: #f3c987;
  --lg-t-a52a22: #f28e87;
  --lg-t-aa805a: #dcbb9e;
  --lg-t-b52e34: #ee8b90;
  --lg-t-b6c7c6: #b6c7c6;
  --lg-t-b7a17f: #b7a17f;
  --lg-t-bde3ff: #bde3ff;
  --lg-t-c1d6c9: #c1d6c9;
  --lg-t-c8d6c3: #c8d6c3;
  --lg-t-d0dddd: #d0dddd;
  --lg-t-d0e2da: #d0e2da;
  --lg-t-d1dfd7: #d1dfd7;
  --lg-t-d2bf91: #d2bf91;
  --lg-t-d3dfa8: #d3dfa8;
  --lg-t-d5e3db: #d5e3db;
  --lg-t-d5e5d7: #d5e5d7;
  --lg-t-d6e1d0: #d6e1d0;
  --lg-t-d85851: #f18e89;
  --lg-t-d8e7df: #d8e7df;
  --lg-t-dce9df: #dce9df;
  --lg-t-dce9e0: #dce9e0;
  --lg-t-dcefeb: #dcefeb;
  --lg-t-e0e9df: #e0e9df;
  --lg-t-e0eadf: #e0eadf;
  --lg-t-e0ebe3: #e0ebe3;
  --lg-t-e0ece4: #e0ece4;
  --lg-t-e1ece5: #e1ece5;
  --lg-t-e2ece6: #e2ece6;
  --lg-t-e32d32: #f98083;
  --lg-t-e9a7a5: #e9a7a5;
  --lg-t-ef8f92: #ef8f92;
  --lg-t-ef9099: #ef9099;
  --lg-t-f2f7f1: #f2f7f1;
  --lg-t-f4dda5: #f4dda5;
  --lg-t-f4e6cb: #f4e6cb;
  --lg-t-f5edda: #f5edda;
  --lg-t-f6f7f2: #f6f7f2;
  --lg-t-fff7e7: #fff7e7;
  --lg-t-ffffff: #ffffff;
}
/* ---------- end generated ---------- */
