/* GALCo design tokens, the app's copy · carries sheet revision v3.4.11 · Platform v3.4.0 (the sheet: docs/closes/picasso/v3.4/tokens/galco-design-tokens-v3_4.css, pasted whole below the v3.3 aliases; r1264, Wright 1, 2026-09-27) */
/* GALCo design tokens · edition v3.3.15 · 2026-09-20 · was v3.3.14 (the year stamp in the app is the count size, 22 px, on Adam's word of 2026-09-20, "Year does not have to be giant in the bottom right hand corner"; --t-stamp-app points at --t-count and the 64 px value is retired; page law v3.3.12; 1:50pm PT, picasso). Edition v3.3.14 · 2026-09-19 · was v3.3.13 (the app type scale is six steps and nothing is under 11 px, on Adam's word of 2026-09-19, "pick a finite number of potential font sizes, and deploy them consistently" and "microscopic fonts", built by Wright as TYPE-SCALE-1; the 10 px step --t-micro is removed, no app rule used it) · was v3.3.12 (the rust ramp for power, --pwr-1 to --pwr-7, on Adam's word of 2026-09-19 that rust gradients suit power, from Expansion Over Time v0.1; three app type steps from Picasso 2's Type Audit v0.1, --t-micro, --t-row, --t-sentence, the 13 px step renamed so it never meets the document's --t-body; the focus ring on light grounds moves to deep teal, 7.9 to 1 on white against 3.6, and the two dark bars keep the pale ring as --focus-ring-on-dark; additive, no token removed) · was v3.3.11 (contrast floor: a money figure under 24 px is deep copper, copper stays at 24 px and above; words that are off or disabled take the ruled grey #5B6B62; Picasso 2's Decisions Waiting v0.6 rows 3 and 7 and its figure-contrast test) · was v3.3.10 (the menu row: one row grammar for the Screens strategies menu and the Trends signals menu, from Left Menus v0.1) · was v3.3.9 (glass for surfaces that float over the map, from Picasso 3's Light Transparency v0.1, accepted at the gate) (one motion scale of four durations and three curves; window, tooltip, hover-card and layers-bar constants; from Picasso 2 and Picasso 3 pages accepted at the gate) (the bar and sub-bar colours typed in the shell, named; Adam's green sub-bar of r949) (motion durations, the error edge and the stamp casing, from Picasso 2's states and motion v0.1 and map furniture v0.1, accepted at the gate) · Platform System 3.3 (Reporting, Front End Design)
   Rule of record: canon/methods/page-design-and-writing-rules.md Part V. Adam chose every colour here.
   Paste this file; never retype a hex. Frame colours from the Brand Design Guide v4.23, data colours from Adam's 2026-09-18 decisions. */
:root{
  /* the frame (brand guide v4.23, unchanged) */
  --ink:#1E3B2C; --green:#1E3B2C; --green-deep:#15291F; --green-mid:#3E5348;
  --ink-80:#4A5F50; --ink-50:#7E8F83; --ink-10:#E3E8E2; --ink20:rgba(30,59,44,.2); --ink10:rgba(30,59,44,.1);
  --copper:#B87333; --copper-deep:#8F5A27;
  --wheat:#D9C48A; --wheat-field:#EDE1C4; --wheat-deep:#A98B45;
  --parchment:#FAF7EF; --canvas:#FFFFFF; --cream:#F1ECDD;
  --band:rgba(237,225,196,.55);
  /* the change ramp, seven classes: falling to rising (Adam 2026-09-18) */
  --chg-1:#870A22; --chg-2:#B5512E; --chg-3:#F4B641; --chg-0:#EDE1C4; --chg-4:#ADD3D6; --chg-5:#24949B; --chg-6:#0A5A62;
  --maroon:#870A22; --rust:#B5512E; --gold:#F4B641; --teal-pale:#ADD3D6; --teal:#24949B; --teal-deep:#0A5A62;
  /* the second champion, electric teal, an alternate on Adam's word only */
  --alt-teal-pale:#BDEFF5; --alt-teal:#22C4DC; --alt-teal-deep:#0A8FA6;
  /* the level ramp, seven classes, low to high */
  /* yellow-to-maroon (how-much-is-here levels: people, value, parcels, dollars); Adam 2026-09-18 on treatment 7, replaces the r932 interpolation */
  --lvl-1:#FCF0CE; --lvl-2:#FBD67A; --lvl-3:#FCB345; --lvl-4:#FD8133; --lvl-5:#ED492C; --lvl-6:#B9262E; --lvl-7:#791526;
  /* the teal sequential, seven classes, for growth-type levels (a rate held as a level, a growth score, a rank by growth) */
  --seq-1:#E3EEF0; --seq-2:#BFDADD; --seq-3:#97C2C7; --seq-4:#6BA8AF; --seq-5:#418D95; --seq-6:#1F737B; --seq-7:#0A5A62;
  /* the rust ramp, seven classes, for power (Adam 2026-09-19): plant age against the clock's year in the plant view, megawatts in the county view; class 6 is the brand's rust; smallest step between neighbours 10.2 in colour, 7.8 in black and white */
  --pwr-1:#FEEDE8; --pwr-2:#F9D2C4; --pwr-3:#F3B29B; --pwr-4:#E88F6F; --pwr-5:#D46B46; --pwr-6:#B5512E; --pwr-7:#7F3014;
  /* the five teal bands for ordered years (first year crossed) */
  --band-1:#ADD3D6; --band-2:#84B5BA; --band-3:#5C979D; --band-4:#337880; --band-5:#0A5A62;
  /* the five category ramps (Adam 2026-09-23 1:2x pm PT: "a different color from our palette for our gradient scale for each of the major trend
     categories"; hexes chosen by Wright r1193 from the brand families, every neighbouring step at least 10.6 apart in Lab, luminance falling
     end to end; Picasso gates the values). Demographics blues, Economic Growth yellows to rusts, Development Activity reds, Land Value greens,
     Climate Change cool blue through the brand yellow to hot maroon (a diverging ramp: the middle is the lightest) */
  --dem-1:#E8F0F7; --dem-2:#C6DAEB; --dem-3:#9FBFDC; --dem-4:#74A1C8; --dem-5:#4B82B0; --dem-6:#2E6294; --dem-7:#1B4370;
  --eco-1:#FCF0CE; --eco-2:#FBD67A; --eco-3:#F5B54A; --eco-4:#E58F3A; --eco-5:#CF6F32; --eco-6:#B5512E; --eco-7:#7F3014;
  --dev-1:#FBE9E7; --dev-2:#F5C6C1; --dev-3:#EC9E97; --dev-4:#E0736C; --dev-5:#CF4A45; --dev-6:#B9262E; --dev-7:#870A22;
  --val-1:#EAF2EA; --val-2:#CBDFCB; --val-3:#A8CAA8; --val-4:#83B285; --val-5:#5E9863; --val-6:#3E7A46; --val-7:#245C34;
  /* pic-gf1 (Picasso 2026-09-24, GROWTH-COLOUR-RULES-1, Visualization Library v0.2 pages 20 to 25; Wright's ask in the r1203 line): the Growth front's ramps, validated by the palette validator and drawn on Los Angeles, Phoenix and Detroit */
  --rust-light:#D9A08A; --teal-light:#8FBBC0; --grey-warm:#D9D6CC; --teal-expected:#B9D6D9; --div-zero:#E3E8E2; --div-zero-night:#2A3A35;   /* the two light steps, the before-the-window grey, the expected class (dashed), the no-change class on paper and on the night ground */
  --div-rust-1:#D9A08A; --div-rust-2:#B5512E; --div-rust-3:#870A22;   /* the slowing or shrinking side, least to most; ranked within the view */
  --div-teal-1:#8FBBC0; --div-teal-2:#24949B; --div-teal-3:#0A5A62;   /* the growth side, least to most; ranked within the view */
  --gf-teal-1:#8FBBC0; --gf-teal-2:#6FA9AF; --gf-teal-3:#519399; --gf-teal-4:#3A7F86; --gf-teal-5:#26696F; --gf-teal-6:#14545A; --gf-teal-7:#063E44;   /* seven decades or classes of one hue, light for old and deep for new */
  --gf-slice-1:#8FBBC0; --gf-slice-2:#62A0A7; --gf-slice-3:#3F8A92; --gf-slice-4:#1F737B; --gf-slice-5:#0A5A62;   /* five slices of a horizon */
  --clim-1:#2E6294; --clim-2:#74A1C8; --clim-3:#B5D0E3; --clim-4:#FBD67A; --clim-5:#E58F3A; --clim-6:#CF4A45; --clim-7:#870A22;
  /* marks over a ramp: rings, arrows, pinned outlines, cursor marks (Adam 2026-09-18): ink, never a ramp colour, teal or copper */
  --mark:#1E3B2C; --mark-deep:#15291F; --mark-casing:#FFFFFF; --arrow-casing:#EDE1C4; --ring-w:3px; --casing-w:1px;
  /* the accent grammar (Growth rail treatment 2) */
  --panel-bg:#FFFFFF; --panel-outline:rgba(30,59,44,.2); --panel-radius:4px; --panel-pad:10px; --panel-gap:10px;
  --edge-teal:#24949B; --edge-rust:#B5512E; --edge-w:2px;
  --on:#0A5A62; --on-text:#FFFFFF; --track:#ADD3D6; --tick:#D9C48A; --thumb:#0A5A62; --bar-h:3px;
  /* state colours, made from the ten rail colours (Picasso 2, App Control Grammar v0.1, taken into the file 2026-09-19): measured flat hexes */
  --hover:#DBE9E5; --hover-panel:#DEEDEF; --pressed:#ADD3D6; --disabled-text:#5B6B62; --disabled-fill:#E3E8E2; --ink-grey:#5B6B62;
  --focus-ring:#0A5A62; --focus-ring-on-dark:#ADD3D6; --focus-ring-w:2px; --focus-gap:1px; --hover-track:#B7C0BB; --off-track:#D2D8D5;
  /* figures by direction (Part V rule 5, as the grammar page states it): rising deep teal, falling maroon, unchanged ink */
  --fig-rising:#0A5A62; --fig-falling:#870A22; --fig-unchanged:#1E3B2C; --pin-rule:#0A5A62; --pin-second:#870A22;
  /* arriving content: cream blocks, never a spinner */
  --arriving:#F1ECDD;
  /* the frame accents, "both, sparingly" (Adam 2026-09-19 on Trends Palette Treatments v0.2 page 11; Part V rule 12):
     the on sub-tab underlined in teal, a 1 px rust rule under the sub-bar, the card's large figure in rust,
     the year stamp in rust at 80 percent, an 8 percent ink shadow on the rail and the card */
  --tab-underline:#24949B; --tab-underline-w:2px; --rule-rust:#B5512E; --rule-rust-w:1px;
  --fig-card:#B5512E; --stamp-rust:rgba(181,81,46,.8); --shadow-rail:0 1px 3px rgba(30,59,44,.08);
  /* the bar and the sub-bar as Adam set them (r949 to r952, 2026-09-18 23:4xZ): bar ink green, sub-bar a lighter green, on tab a wheat pill with the ink word, 1 px rust rule under the sub-bar, every sub-tab with a 14 px glyph */
  --bar-ground:#1E3B2C; --subbar-ground:#2B4A3A; --tab-rest:#CEC8AD; --tab-hover:#3B5241; --subtab-hover:#476151; --tab-on-pill:#EDE1C4; --tab-on-word:#1E3B2C; --subtab-glyph:14px;
  --stamp-casing:#EDE1C4; /* 1 px, the same casing the arrows carry; the rust stamp over maroon reads 14.6 apart in lightness without it */
  /* motion: three durations and the clock (Picasso 2, App States and Motion v0.1, accepted 2026-09-19); reduced motion zeroes them */
  /* the one motion scale (v3.3.9): four durations, three curves. Picasso 3's Motion Tokens v0.1 scale, which Picasso 2's states (120, 250, 340) and windows (120, 150, 180, 200) fold onto */
  --dur-1:120ms; --dur-2:180ms; --dur-3:240ms; --dur-4:320ms;
  --ease-standard:cubic-bezier(.2,0,0,1); --ease-enter:cubic-bezier(0,0,0,1); --ease-exit:cubic-bezier(.3,0,1,1);
  /* the v3.3.7 names stay as aliases so nothing built breaks: fast is 1, base is 3, slow is 4 */
  --t-fast:var(--dur-1); --t-base:var(--dur-3); --t-slow:var(--dur-4); --t-pulse:1600ms;
  --ease-out:var(--ease-exit); --ease-in-out:var(--ease-standard); --ease-land:var(--ease-enter);
  /* windows over the map (Movable Modals v0.1): lift on 1, settle and minimise on 2, maximise on 3 */
  --win-lift:var(--dur-1); --win-settle:var(--dur-2); --win-min:var(--dur-2); --win-max:var(--dur-3);
  --win-shadow:0 2px 6px rgba(30,59,44,.12); --win-shadow-lift:0 12px 32px rgba(30,59,44,.12); --win-gutter:12px; --win-snap:12px; --win-clamp:48px; --win-nudge:8px; --win-title:34px; --win-ctl:24px;
  /* tooltips and hover cards (Hover Cards and Tooltips v0.1) */
  --tip-open:400ms; --tip-close:100ms; --tip-warm:1000ms; --tip-gap:8px; --tip-max:240px; --hc-gap:12px; --hc-edge:8px; --hc-w:200px; --hc-close:100ms;
  /* glass: only on surfaces that float over the map (layers bar, legend, hover card, map controls, time bar, a window's title bar, the toast in ink); rails, panels, tables, menus and a window's body stay opaque; ink reads 9.8 to 1 over the busiest parcels at 90 percent; rust and copper on glass at 18 px and up only */
  --glass-fill:rgba(250,247,239,.90); --glass-blur:10px; --glass-outline:rgba(30,59,44,.20); --glass-shadow:0 2px 6px rgba(21,41,31,.08); --glass-ink-fill:rgba(30,59,44,.90); --veil:rgba(30,59,44,.35);
  /* the menu row (Left Menus v0.1): a left menu is 292 px and minimises to 34 px; head 36, row 32, signal 28; one on row per menu */
  --menu-w:292px; --menu-min:34px; --m-head:36px; --m-row:32px; --m-sig:28px; --m-target:24px;
  /* the layers bar (Layers Bar v0.2) */
  --lb-row:36px; --lb-item:24px; --lb-rows:6; --lb-panel-max:224px;
  --clock-slow:1200ms; --clock-normal:600ms; --clock-fast:300ms; --toast-hold:3600ms; --saved-hold:1800ms;
  /* the one state edge beside teal and rust: an error panel's top edge, maroon */
  --error-edge:#870A22;
  /* type: one font per role */
  --serif:"Fraunces",Georgia,serif; --sans:"Public Sans",system-ui,sans-serif; --mono:"IBM Plex Mono",monospace;
  --t-title:22pt; --t-sub:11pt; --t-body:10.5pt; --t-table:9.5pt; --t-label:8pt; --t-foot:7.5pt;
  /* the app scale, six steps: 11 · 12 · 13 · 15 · 18 · 22 px (Adam 2026-09-19); nothing in the app is under 11 px, mono included; no half sizes; display type of 26 px and up keeps its size; a text field on a touch width is 16 px */
  --t-row:12px; --t-sentence:13px;
  --t-series:15px; --t-control:11px; --t-year:18px; --t-count:22px; --t-stamp-page:34px; --t-stamp-app:var(--t-count);
  /* shadows and radii */
  --shadow-card:0 2px 6px rgba(21,41,31,.08); --r-control:8px; --r-card:6px;
}
/* the panel grammar */
.xp{background:var(--panel-bg);border:1px solid var(--panel-outline);border-top:var(--edge-w) solid var(--edge-teal);border-radius:var(--panel-radius);padding:var(--panel-pad)}
.xp+.xp{margin-top:var(--panel-gap)}
.xp.evidence{border-top-color:var(--edge-rust)}
/* controls */
.seg{display:inline-flex;border:1px solid rgba(30,59,44,.28);border-radius:var(--r-control);overflow:hidden;background:var(--parchment)}
.seg span{font-family:var(--sans);font-weight:600;font-size:var(--t-control);padding:4px 9px;border-left:1px solid rgba(30,59,44,.16);white-space:nowrap}
.seg span:first-child{border-left:0}.seg .on{background:var(--on);color:var(--on-text)}
.tog{display:inline-flex;align-items:center;gap:5px;font-family:var(--sans);font-weight:600;font-size:var(--t-control);color:var(--green-mid)}
.tog .sw{width:20px;height:11px;border-radius:6px;background:var(--ink20);position:relative;display:inline-block}
.tog .sw b{position:absolute;left:1.5px;top:1.5px;width:8px;height:8px;border-radius:4px;background:#fff}
.tog.on{color:var(--ink)}.tog.on .sw{background:var(--on)}.tog.on .sw b{left:10.5px}
.trk{position:relative;height:4px;border-radius:2px;background:var(--track)}
.trk u{position:absolute;top:-2px;width:2px;height:8px;background:var(--tick)}
.trk .th{position:absolute;right:-6px;top:-4px;width:12px;height:12px;border-radius:6px;background:var(--thumb)}
.fig{font-family:var(--mono);font-weight:500;font-size:var(--t-count);color:var(--ink)}
.fig.growth{color:var(--teal-deep)}.fig.money{color:var(--copper-deep)}.fig.money.lg{color:var(--copper)} /* .lg only at 24 px and above: copper reads 3.79 on white, the large-type floor is 3 */
.bar{height:var(--bar-h);border-radius:2px}
/* ramps as classes */
.c-f3{background:var(--chg-1)}.c-f2{background:var(--chg-2)}.c-f1{background:var(--chg-3)}.c-0{background:var(--chg-0)}.c-r1{background:var(--chg-4)}.c-r2{background:var(--chg-5)}.c-r3{background:var(--chg-6)}
.l-1{background:var(--lvl-1)}.l-2{background:var(--lvl-2)}.l-3{background:var(--lvl-3)}.l-4{background:var(--lvl-4)}.l-5{background:var(--lvl-5)}.l-6{background:var(--lvl-6)}.l-7{background:var(--lvl-7)}
.s-1{background:var(--seq-1)}.s-2{background:var(--seq-2)}.s-3{background:var(--seq-3)}.s-4{background:var(--seq-4)}.s-5{background:var(--seq-5)}.s-6{background:var(--seq-6)}.s-7{background:var(--seq-7)}
.ring{stroke:var(--mark);stroke-width:var(--ring-w);fill:none;paint-order:stroke;filter:drop-shadow(0 0 0 var(--mark-casing))}
.arrow{stroke:var(--mark);fill:var(--mark);paint-order:stroke;stroke-width:var(--casing-w)}
.subbar{background:var(--subbar-ground);border-bottom:var(--rule-rust-w) solid var(--rule-rust)}
.subbar .tab{color:var(--tab-rest)}.subbar .tab:hover{background:var(--subtab-hover)}.subbar .tab.on{background:var(--tab-on-pill);color:var(--tab-on-word);box-shadow:none}
.tab.on{box-shadow:inset 0 calc(-1 * var(--tab-underline-w)) 0 var(--tab-underline)}
.fig-card{color:var(--fig-card)}.stamp{color:var(--stamp-rust)}
.rail,.card{box-shadow:var(--shadow-rail)}
@media (prefers-reduced-motion:reduce){:root{--dur-1:0ms;--dur-2:0ms;--dur-3:0ms;--dur-4:0ms;--t-pulse:0ms}}
.stamp{text-shadow:0 0 0 var(--stamp-casing),1px 0 var(--stamp-casing),-1px 0 var(--stamp-casing),0 1px var(--stamp-casing),0 -1px var(--stamp-casing)}
.xp.error{border-top-color:var(--error-edge)}
.landed{animation:land var(--t-slow) var(--ease-land) both}
.g-tip{background:var(--ink);color:#fff;font:600 11px/15px var(--sans);padding:3px 7px;border-radius:4px;max-width:var(--tip-max)}
.g-tip.on-ink{background:var(--parchment);color:var(--ink)}
.glass{background:var(--glass-fill);border:1px solid var(--glass-outline);box-shadow:var(--glass-shadow);color:var(--ink);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}
.glass.ink{background:var(--glass-ink-fill);color:#fff}
@media (prefers-reduced-transparency:reduce){:root{--glass-fill:#FAF7EF;--glass-ink-fill:#1E3B2C;--glass-blur:0px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:root{--glass-fill:#FAF7EF;--glass-ink-fill:#1E3B2C}}
/* the menu row */
.m-head{height:var(--m-head);display:flex;align-items:center;gap:8px;padding:0 14px;border-top:1px solid var(--ink10);font:600 13px var(--sans);color:var(--ink)}
.m-head.open,.m-head.open svg{color:var(--on)}
.m-row{height:var(--m-row);display:flex;align-items:center;gap:8px;padding:0 14px 0 16px;border-left:2px solid transparent;font:400 13px var(--sans);color:var(--ink);white-space:nowrap}
.m-row.open{color:var(--on);font-weight:600}
.m-sig{height:var(--m-sig);display:flex;align-items:center;gap:8px;padding:0 14px 0 50px;border-left:2px solid transparent;font:400 12px var(--sans);color:var(--ink-80);white-space:nowrap}
.m-row:hover,.m-sig:hover,.m-head:hover{background:var(--parchment);transition:background var(--dur-1) var(--ease-standard)}
.m-row.on,.m-sig.on{background:var(--parchment);border-left-color:var(--on);color:var(--on);font-weight:600}
.m-row.wait,.m-sig.wait,.m-row.wait .m-count{color:var(--ink-grey)}
.m-row:focus-visible,.m-sig:focus-visible,.m-head:focus-visible{outline:2px solid var(--on);outline-offset:-4px;border-radius:6px}
.m-name{flex:1;overflow:hidden;text-overflow:ellipsis}
.m-dot{width:8px;height:8px;border-radius:4px;background:var(--on);flex:0 0 auto;box-sizing:border-box}.wait>.m-dot{background:none;border:1.5px solid var(--ink-grey)}
.m-no{font:500 11px var(--mono);color:var(--ink-80);width:22px;text-align:right;flex:0 0 auto}
.m-count{font:500 11px var(--mono);color:var(--ink-80)}
.m-meter{width:48px;height:4px;border-radius:2px;background:var(--track);overflow:hidden}.m-meter>u{display:block;height:4px;background:var(--on)}
.m-btn{height:var(--m-target);padding:0 10px;border:1px solid rgba(30,59,44,.28);border-radius:var(--r-control);background:var(--canvas);color:var(--ink);font:600 11px var(--sans);display:inline-flex;align-items:center}
.m-row.on .m-btn{background:var(--on);border-color:var(--on);color:var(--on-text)}
.sk.waiting{animation:pulse var(--t-pulse) var(--ease-in-out) infinite}
@keyframes land{from{opacity:0;transform:translateY(7px)}}
@keyframes pulse{50%{opacity:.55}}
@keyframes fade-in{from{opacity:0}}
/* _RETIRED_20260919_R950_HEADER_V334 (line-loss law: the copy equals the guide above this comment; the v3.3.4 header line is kept verbatim here)
/* GALCo design tokens · edition v3.3.4 · 2026-09-18 · Platform System 3.3 (Reporting, Front End Design)
*/
/* _RETIRED_20260919_R956_HEADER_V335 (line-loss law: the v3.3.5 header line kept verbatim)
/* GALCo design tokens · edition v3.3.5 · 2026-09-19 · Platform System 3.3 (Reporting, Front End Design)
*/
/* _RETIRED_20260919_R987_V338_LINES (line-loss law: the v3.3.8 lines the v3.3.12 edition replaced, kept verbatim)
/* GALCo design tokens · edition v3.3.8 · 2026-09-19 · was v3.3.7 (the bar and sub-bar colours typed in the shell, named; Adam's green sub-bar of r949) (motion durations, the error edge and the stamp casing, from Picasso 2's states and motion v0.1 and map furniture v0.1, accepted at the gate) · Platform System 3.3 (Reporting, Front End Design)
  --hover:#DBE9E5; --hover-panel:#DEEDEF; --pressed:#ADD3D6; --disabled-text:#7E8F83; --disabled-fill:#E3E8E2; --ink-grey:#5B6B62;
  --t-fast:120ms; --t-base:250ms; --t-slow:340ms; --t-pulse:1600ms;
  --ease-out:ease-out; --ease-in-out:ease-in-out; --ease-land:cubic-bezier(.2,.7,.3,1);
.fig.growth{color:var(--teal-deep)}.fig.money{color:var(--copper)}
@media (prefers-reduced-motion:reduce){:root{--t-fast:0ms;--t-base:0ms;--t-slow:0ms;--t-pulse:0ms}}
*/
/* _RETIRED_20260919_R997_V3312_LINES (tokens v3.3.12 lines replaced by the v3.3.13 paste; kept verbatim)
/* GALCo design tokens · edition v3.3.12 · 2026-09-19 · was v3.3.11 (contrast floor: a money figure under 24 px is deep copper, copper stays at 24 px and above; words that are off or disabled take the ruled grey #5B6B62; Picasso 2's Decisions Waiting v0.6 rows 3 and 7 and its figure-contrast test) · was v3.3.10 (the menu row: one row grammar for the Screens strategies menu and the Trends signals menu, from Left Menus v0.1) · was v3.3.9 (glass for surfaces that float over the map, from Picasso 3's Light Transparency v0.1, accepted at the gate) (one motion scale of four durations and three curves; window, tooltip, hover-card and layers-bar constants; from Picasso 2 and Picasso 3 pages accepted at the gate) (the bar and sub-bar colours typed in the shell, named; Adam's green sub-bar of r949) (motion durations, the error edge and the stamp casing, from Picasso 2's states and motion v0.1 and map furniture v0.1, accepted at the gate) · Platform System 3.3 (Reporting, Front End Design)
  --focus-ring:#24949B; --focus-ring-w:2px; --focus-gap:1px; --hover-track:#B7C0BB; --off-track:#D2D8D5;
*/

/* _RETIRED_20260919_R999_V3313_LINES (the v3.3.13 lines the v3.3.14 paste replaced; kept verbatim and WHOLE,
   line-loss law. The 10 px step --t-micro goes because Adam withdrew it (TYPE-SCALE-1); no app rule used
   var(--t-micro) anywhere in viewer/ or design/ -- measured, not assumed -- so nothing draws differently.
   The third replaced line is kept BELOW this block, not inside it, because it is itself a complete comment
   and CSS comments do not nest: wrapped, its own closer would end this block early and put --t-micro:10px
   back into the cascade. Measured that way round first, which is how the trap was found.
/* GALCo design tokens · edition v3.3.13 · 2026-09-19 · was v3.3.12 (the rust ramp for power, --pwr-1 to --pwr-7, on Adam's word of 2026-09-19 that rust gradients suit power, from Expansion Over Time v0.1; three app type steps from Picasso 2's Type Audit v0.1, --t-micro, --t-row, --t-sentence, the 13 px step renamed so it never meets the document's --t-body; the focus ring on light grounds moves to deep teal, 7.9 to 1 on white against 3.6, and the two dark bars keep the pale ring as --focus-ring-on-dark; additive, no token removed) · was v3.3.11 (contrast floor: a money figure under 24 px is deep copper, copper stays at 24 px and above; words that are off or disabled take the ruled grey #5B6B62; Picasso 2's Decisions Waiting v0.6 rows 3 and 7 and its figure-contrast test) · was v3.3.10 (the menu row: one row grammar for the Screens strategies menu and the Trends signals menu, from Left Menus v0.1) · was v3.3.9 (glass for surfaces that float over the map, from Picasso 3's Light Transparency v0.1, accepted at the gate) (one motion scale of four durations and three curves; window, tooltip, hover-card and layers-bar constants; from Picasso 2 and Picasso 3 pages accepted at the gate) (the bar and sub-bar colours typed in the shell, named; Adam's green sub-bar of r949) (motion durations, the error edge and the stamp casing, from Picasso 2's states and motion v0.1 and map furniture v0.1, accepted at the gate) · Platform System 3.3 (Reporting, Front End Design)
  --t-micro:10px; --t-row:12px; --t-sentence:13px;
*/
/* _RETIRED_20260919_R999_V3313_LINES, third line: the line BELOW this comment is the retired copy of the
   v3.3.13 scale comment. It is not guidance and it is not live text -- it sits outside the block above
   only because it is itself a complete comment and CSS comments do not nest. It still names a 10 px step;
   the file's own header at line 1 is the scale of record, six steps with nothing under 11 px. Labelled
   because a reader going DOWN the file meets this last, and a stale scale read last is how the next
   violation gets written. RULED (Picasso 2, 2026-09-19 10:44pm PT, a6c94530dc7): the mono carve-out
   -- the stamp here said 11:44pm until 8b2edc753f2 corrected it; verified against the commit itself.
   does NOT survive -- it is stale residue. Line 1 and line 71 both say nothing in the app is under
   11 px, mono included, which is the only thing that phrase can be answering; and of the 87 selectors
   carrying a 10 px font-size somewhere, 0 still draw at 10. The line below is kept verbatim either
   way (line-loss law). The two markers in this file disagree on their date and BOTH STAY as they are:
   R999 carries the PACIFIC date (it landed 10:09pm PT Sat, already the 20th in Z) and R1003 carries the
   UTC one. R1003 is the convention -- under PACIFIC-TIME-1 Pacific is for what Adam reads, and a
   _RETIRED_YYYYMMDD_ marker is an identifier people grep and sort, so it takes Z. R999 is NOT renamed:
   it already exists at origin, and renaming an identifier breaks every grep that ever matched it. New
   markers take Z. (Aldrin 2 ruling, 2026-09-19; the disagreement documented beats a rewrite.) */
  /* the app scale: 10 · 11 · 12 · 13 · 15 · 18 · 22 px; 10 px is mono for a source line, a unit, a key or a count; every word a reader reads is 11 px or more; no half sizes */

/* _RETIRED_20260920_R1003_MONO_RULED (the two label lines the ruling replaced; kept verbatim and WHOLE,
   line-loss law). The label said the mono question was open and asked, not guessed at; Picasso 2 ruled
   it stale residue at 10:44pm PT, so the label was stale by its own terms -- a comment saying the
   question is open, directly above the comment whose answer retires it.
   violation gets written. Whether the mono carve-out survives the removal is Picasso 2's call, asked and
*/
/* _RETIRED_20260920_R1003_MONO_RULED continued -- this line ends with a comment closer of its own, so
   the block it lives in ends there and nothing below it is live:
   not guessed at here; the line is kept verbatim either way (line-loss law). */

/* _RETIRED_20260920_R1004_STAMP (the lines this correction replaced; kept verbatim and WHOLE, line-loss
   law). Two carried a wrong stamp -- the ruling was at 10:44pm PT, not 11:44, and this lane built from
   the figure before Picasso 2's own correction reached it. One is a line spliced in TWICE at
   8e335447cfa0: a duplicate the line-loss gate cannot see, because it only refuses DROPS. Each kept
   once, so the base's count holds.
   violation gets written. RULED (Picasso 2, 2026-09-19 11:44pm PT, a6c94530dc7): the mono carve-out
   it stale residue at 11:44pm PT, so the label was stale by its own terms -- a comment saying the
   because a reader going DOWN the file meets this last, and a stale scale read last is how the next
*/
/* _RETIRED_20260920_R1004_STAMP continued -- the label's old closing line, which the
   marker-date clause replaces. It ends with a comment closer of its own, so the block it lives
   in ends there and nothing below it is live:
   way (line-loss law). */
/* _RETIRED_20260923_R1192_V3314_LINES (line-loss law: the v3.3.14 header and the 64px stamp line the v3.3.15 copy replaced, kept verbatim)
/* GALCo design tokens · edition v3.3.14 · 2026-09-19 · was v3.3.13 (the app type scale is six steps and nothing is under 11 px, on Adam's word of 2026-09-19, "pick a finite number of potential font sizes, and deploy them consistently" and "microscopic fonts", built by Wright as TYPE-SCALE-1; the 10 px step --t-micro is removed, no app rule used it) · was v3.3.12 (the rust ramp for power, --pwr-1 to --pwr-7, on Adam's word of 2026-09-19 that rust gradients suit power, from Expansion Over Time v0.1; three app type steps from Picasso 2's Type Audit v0.1, --t-micro, --t-row, --t-sentence, the 13 px step renamed so it never meets the document's --t-body; the focus ring on light grounds moves to deep teal, 7.9 to 1 on white against 3.6, and the two dark bars keep the pale ring as --focus-ring-on-dark; additive, no token removed) · was v3.3.11 (contrast floor: a money figure under 24 px is deep copper, copper stays at 24 px and above; words that are off or disabled take the ruled grey #5B6B62; Picasso 2's Decisions Waiting v0.6 rows 3 and 7 and its figure-contrast test) · was v3.3.10 (the menu row: one row grammar for the Screens strategies menu and the Trends signals menu, from Left Menus v0.1) · was v3.3.9 (glass for surfaces that float over the map, from Picasso 3's Light Transparency v0.1, accepted at the gate) (one motion scale of four durations and three curves; window, tooltip, hover-card and layers-bar constants; from Picasso 2 and Picasso 3 pages accepted at the gate) (the bar and sub-bar colours typed in the shell, named; Adam's green sub-bar of r949) (motion durations, the error edge and the stamp casing, from Picasso 2's states and motion v0.1 and map furniture v0.1, accepted at the gate) · Platform System 3.3 (Reporting, Front End Design)
  --t-series:15px; --t-control:11px; --t-year:18px; --t-count:22px; --t-stamp-page:34px; --t-stamp-app:64px;
*/

/* GALCo design tokens · edition v3.4.0 · E1 (Wright r1216, 2026-09-25; Aldrin 1's GO on Adam's word via Picasso, 3:20pm PT: the new platform v3.4 colour
   scheme). Picasso's sheet docs/closes/picasso/v3.4/tokens/galco-design-tokens-v3_4.css: its :root blocks pasted VERBATIM below the v3.3.15 sheet, so
   every v3.3 name still resolves (the sheet above stays whole, line-loss law) and the v3.4 values win by order. Picasso's header, for the record:
   /* GALCo design tokens · edition v3.4.0 · 2026-09-25 · was v3.3.14 · PLATFORM v3.4 COLOUR SCHEME (Adam 2026-09-25, Picasso 1): the dark ground moves from ink green #1E3B2C to deep teal #063E44 with night #052E33 and panel #0A4A52; the paper stays cream #FAF7EF; every map is two-coloured on ONE pair (maroon · rust · pale rust · grey · pale teal · teal · deep teal), so --chg-* is re-pointed to the p */
:root{
  /* the frame (Palette Guide v0.3, Platform v3.4): ink stays the deep ink, the green names now carry the deep teal family */
  --ink:#15291F; --green:#063E44; --green-deep:#052E33; --green-mid:#0A4A52;
  --ink-80:#3B4F46; --ink-50:#5B6B62; --ink-10:#E3E8E2; --ink20:rgba(21,41,31,.2); --ink10:rgba(21,41,31,.1);
  --copper:#B87333; --copper-deep:#A16540;
  --wheat:#D9C48A; --wheat-field:#EDE1C4; --wheat-deep:#A98B45;
  --parchment:#FAF7EF; --canvas:#FFFFFF; --cream:#FAF7EF;
  --band:rgba(237,225,196,.55);
  /* the change ramp, seven classes: falling to rising (Adam 2026-09-18) */
  --chg-1:#870A22; --chg-2:#B5512E; --chg-3:#D9A08A; --chg-0:#E3E8E2; --chg-4:#8FBBC0; --chg-5:#24949B; --chg-6:#0A5A62;
  --maroon:#870A22; --rust:#B5512E; --gold:#B87333; --teal-pale:#8FBBC0; --teal:#24949B; --teal-deep:#0A5A62;
  /* the second champion, electric teal, an alternate on Adam's word only */
  --alt-teal-pale:#8FBBC0; --alt-teal:#24949B; --alt-teal-deep:#0A5A62;
  /* the level ramp, seven classes, low to high */
  /* yellow-to-maroon (how-much-is-here levels: people, value, parcels, dollars); Adam 2026-09-18 on treatment 7, replaces the r932 interpolation */
  --lvl-1:#F3E9CF; --lvl-2:#D9C48A; --lvl-3:#B58152; --lvl-4:#B87333; --lvl-5:#B5512E; --lvl-6:#8A5424; --lvl-7:#870A22;
  /* the teal sequential, seven classes, for growth-type levels (a rate held as a level, a growth score, a rank by growth) */
  --seq-1:#E3EFEE; --seq-2:#B9D6D9; --seq-3:#8FBBC0; --seq-4:#62A0A7; --seq-5:#3F8A92; --seq-6:#1F737B; --seq-7:#0A5A62;
  /* the rust ramp, seven classes, for power (Adam 2026-09-19): plant age against the clock's year in the plant view, megawatts in the county view; class 6 is the brand's rust; smallest step between neighbours 10.2 in colour, 7.8 in black and white */
  --pwr-1:#FEEDE8; --pwr-2:#F9D2C4; --pwr-3:#F3B29B; --pwr-4:#E88F6F; --pwr-5:#D46B46; --pwr-6:#B5512E; --pwr-7:#7F3014;
  /* the five teal bands for ordered years (first year crossed) */
  --band-1:#B9D6D9; --band-2:#8FBBC0; --band-3:#3F8A92; --band-4:#1F737B; --band-5:#0A5A62;
  /* marks over a ramp: rings, arrows, pinned outlines, cursor marks (Adam 2026-09-18): ink, never a ramp colour, teal or copper */
  --mark:#063E44; --mark-deep:#052E33; --mark-casing:#FFFFFF; --arrow-casing:#FAF7EF; --ring-w:3px; --casing-w:1px;
  /* the accent grammar (Growth rail treatment 2) */
  --panel-bg:#FFFFFF; --panel-outline:rgba(21,41,31,.14); --panel-radius:8px; --panel-pad:10px; --panel-gap:10px;
  --edge-teal:#24949B; --edge-rust:#B5512E; --edge-w:2px;
  --on:#0A5A62; --on-text:#FFFFFF; --track:#B9D6D9; --tick:#D9C48A; --thumb:#0A5A62; --bar-h:3px;
  /* state colours, made from the ten rail colours (Picasso 2, App Control Grammar v0.1, taken into the file 2026-09-19): measured flat hexes */
  --hover:#E3EFEE; --hover-panel:#E3EFEE; --pressed:#B9D6D9; --disabled-text:#5B6B62; --disabled-fill:#E3E8E2; --ink-grey:#5B6B62;
  --focus-ring:#0A5A62; --focus-ring-on-dark:#B9D6D9; --focus-ring-w:2px; --focus-gap:1px; --hover-track:#B7C0BB; --off-track:#D2D8D5;
  /* figures by direction (Part V rule 5, as the grammar page states it): rising deep teal, falling maroon, unchanged ink */
  --fig-rising:#0A5A62; --fig-falling:#870A22; --fig-unchanged:#15291F; --pin-rule:#0A5A62; --pin-second:#870A22;
  /* arriving content: cream blocks, never a spinner */
  --arriving:#F1ECDD;
  /* the frame accents, "both, sparingly" (Adam 2026-09-19 on Trends Palette Treatments v0.2 page 11; Part V rule 12):
     the on sub-tab underlined in teal, a 1 px rust rule under the sub-bar, the card's large figure in rust,
     the year stamp in rust at 80 percent, an 8 percent ink shadow on the rail and the card */
  --tab-underline:#B5512E; --tab-underline-w:2px; --rule-rust:#B5512E; --rule-rust-w:1px;
  --fig-card:#B5512E; --stamp-rust:rgba(181,81,46,.8); --shadow-rail:0 1px 3px rgba(30,59,44,.08);
  /* the bar and the sub-bar as Adam set them (r949 to r952, 2026-09-18 23:4xZ): bar ink green, sub-bar a lighter green, on tab a wheat pill with the ink word, 1 px rust rule under the sub-bar, every sub-tab with a 14 px glyph */
  --bar-ground:#063E44; --subbar-ground:#0A4A52; --tab-rest:#EDE1C4; --tab-hover:#0A4A52; --subtab-hover:#146069; --tab-on-pill:#EDE1C4; --tab-on-word:#15291F; --subtab-glyph:14px;
  --stamp-casing:#FAF7EF; /* 1 px, the same casing the arrows carry; the rust stamp over maroon reads 14.6 apart in lightness without it */
  /* motion: three durations and the clock (Picasso 2, App States and Motion v0.1, accepted 2026-09-19); reduced motion zeroes them */
  /* the one motion scale (v3.3.9): four durations, three curves. Picasso 3's Motion Tokens v0.1 scale, which Picasso 2's states (120, 250, 340) and windows (120, 150, 180, 200) fold onto */
  --dur-1:120ms; --dur-2:180ms; --dur-3:240ms; --dur-4:320ms;
  --ease-standard:cubic-bezier(.2,0,0,1); --ease-enter:cubic-bezier(0,0,0,1); --ease-exit:cubic-bezier(.3,0,1,1);
  /* the v3.3.7 names stay as aliases so nothing built breaks: fast is 1, base is 3, slow is 4 */
  --t-fast:var(--dur-1); --t-base:var(--dur-3); --t-slow:var(--dur-4); --t-pulse:1600ms;
  --ease-out:var(--ease-exit); --ease-in-out:var(--ease-standard); --ease-land:var(--ease-enter);
  /* windows over the map (Movable Modals v0.1): lift on 1, settle and minimise on 2, maximise on 3 */
  --win-lift:var(--dur-1); --win-settle:var(--dur-2); --win-min:var(--dur-2); --win-max:var(--dur-3);
  --win-shadow:0 2px 6px rgba(30,59,44,.12); --win-shadow-lift:0 12px 32px rgba(30,59,44,.12); --win-gutter:12px; --win-snap:12px; --win-clamp:48px; --win-nudge:8px; --win-title:34px; --win-ctl:24px;
  /* tooltips and hover cards (Hover Cards and Tooltips v0.1) */
  --tip-open:400ms; --tip-close:100ms; --tip-warm:1000ms; --tip-gap:8px; --tip-max:240px; --hc-gap:12px; --hc-edge:8px; --hc-w:200px; --hc-close:100ms;
  /* glass: only on surfaces that float over the map (layers bar, legend, hover card, map controls, time bar, a window's title bar, the toast in ink); rails, panels, tables, menus and a window's body stay opaque; ink reads 9.8 to 1 over the busiest parcels at 90 percent; rust and copper on glass at 18 px and up only */
  --glass-fill:rgba(250,247,239,.90); --glass-blur:10px; --glass-outline:rgba(30,59,44,.20); --glass-shadow:0 2px 6px rgba(21,41,31,.08); --glass-ink-fill:rgba(30,59,44,.90); --veil:rgba(30,59,44,.35);
  /* the menu row (Left Menus v0.1): a left menu is 292 px and minimises to 34 px; head 36, row 32, signal 28; one on row per menu */
  --menu-w:292px; --menu-min:34px; --m-head:36px; --m-row:32px; --m-sig:28px; --m-target:24px;
  /* the layers bar (Layers Bar v0.2) */
  --lb-row:36px; --lb-item:24px; --lb-rows:6; --lb-panel-max:224px;
  --clock-slow:1200ms; --clock-normal:600ms; --clock-fast:300ms; --toast-hold:3600ms; --saved-hold:1800ms;
  /* the one state edge beside teal and rust: an error panel's top edge, maroon */
  --error-edge:#870A22;
  /* type: one font per role */
  --serif:"Fraunces",Georgia,serif; --sans:"Public Sans",system-ui,sans-serif; --mono:"IBM Plex Mono",monospace;
  --t-title:22pt; --t-sub:11pt; --t-body:10.5pt; --t-table:9.5pt; --t-label:8pt; --t-foot:7.5pt;
  /* the app scale, six steps: 11 · 12 · 13 · 15 · 18 · 22 px (Adam 2026-09-19); nothing in the app is under 11 px, mono included; no half sizes; display type of 26 px and up keeps its size; a text field on a touch width is 16 px */
  --t-row:12px; --t-sentence:13px;
  --t-series:15px; --t-control:11px; --t-year:18px; --t-count:22px; --t-stamp-page:34px; --t-stamp-app:64px;
  /* shadows and radii */
  --shadow-card:0 2px 6px rgba(21,41,31,.08); --r-control:8px; --r-card:6px;
}
@media (prefers-reduced-motion:reduce){:root{--dur-1:0ms;--dur-2:0ms;--dur-3:0ms;--dur-4:0ms;--t-pulse:0ms}}
@media (prefers-reduced-transparency:reduce){:root{--glass-fill:#FAF7EF;--glass-ink-fill:#063E44;--glass-blur:0px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:root{--glass-fill:#FAF7EF;--glass-ink-fill:#063E44}}
/* _RETIRED_2026_09_27_THE_BARE_FALLBACKS (r1262, Wright 1): the three fallbacks as they stood, pasted without their wrappers, so they
   applied to every viewer (0 ms motion, solid panels); kept verbatim, inside this comment, under the line-loss law.
:root{--dur-1:0ms;--dur-2:0ms;--dur-3:0ms;--dur-4:0ms;--t-pulse:0ms}
:root{--glass-fill:#FAF7EF;--glass-ink-fill:#063E44;--glass-blur:0px}
:root{--glass-fill:#FAF7EF;--glass-ink-fill:#063E44}
*/
:root{
  /* ---- v3.4 names (Adam 2026-09-25; Picasso 1). The v3.3 names above stay as aliases; new work uses these. ---- */
  /* grounds */
  --paper:#FAF7EF; --paper-warm:#EDE1C4; --deep-teal:#063E44; --night:#052E33; --panel-dark:#0A4A52; --panel-dark-2:#146069;
  --ink-on-dark:#EDE1C4; --grey-on-dark:#B9D6D9; --zero:#E3E8E2; --zero-night:#2A3A35; --before-grey:#D9D6CC;
  /* the one map pair, bad side to good side, ranked within the view; the middle class is --zero */
  --pair-b3:#870A22; --pair-b2:#B5512E; --pair-b1:#D9A08A; --pair-g1:#8FBBC0; --pair-g2:#24949B; --pair-g3:#0A5A62;
  /* the pair on night grounds (validated 2026-09-25): the light ends come forward */
  --pair-night-b3:#8A3A2A; --pair-night-b2:#C9694A; --pair-night-b1:#EBB39C; --pair-night-g1:#1F737B; --pair-night-g2:#62A0A7; --pair-night-g3:#B9D6D9;
  /* identity, in order: rust, teal, copper, teal deep, plum */
  --id-1:#B5512E; --id-2:#24949B; --id-3:#B87333; --id-4:#0A5A62; --id-5:#6E2F52;
  /* the plum family: an accent, the fifth slot, the watch ramp; never a map pole */
  --plum:#6E2F52; --plum-deep:#451E30; --plum-deep-2:#4C2738; --mauve:#7A5D5E;
  --plum-1:#BE95AB; --plum-2:#A46F8E; --plum-3:#8B476B; --plum-4:#6E2F52; --plum-5:#451E30;
  --plum-night-1:#8B476B; --plum-night-2:#A46F8E; --plum-night-3:#BE95AB; --plum-night-4:#D8BFCB; --plum-night-5:#EEDDE5;
  /* teal sequential, five steps (how much, growth-type levels) and the arrival ramp TEAL7 */
  --seq5-1:#8FBBC0; --seq5-2:#62A0A7; --seq5-3:#3F8A92; --seq5-4:#1F737B; --seq5-5:#0A5A62;
  --arr-1:#E3EFEE; --arr-2:#B9D6D9; --arr-3:#8FBBC0; --arr-4:#62A0A7; --arr-5:#3F8A92; --arr-6:#1F737B; --arr-7:#0A5A62; --arr-expected:#E3EFEE;
  /* the warm sequential (how much, money and value): wheat to rust brown, one family, no maroon */
  --warm-1:#F3E9CF; --warm-2:#D9C48A; --warm-3:#B58152; --warm-4:#B87333; --warm-5:#A16540; --warm-6:#B5512E; --warm-7:#8A5424;
  /* the mark: Logo Set 2 (cream disc on dark grounds; white disc, deep teal ring on paper) */
  --mark-disc:#FAF7EF; --mark-ring:#063E44; --mark-rust:#B5512E; --mark-copper:#B87333; --mark-amber:#B58152; --mark-wheat:#D9C48A; --mark-fore:#E3EFEE; --mark-sun:#D9C48A; --mark-sun-ring:#B8994E;
  /* the woodcut ground: day and night ramps, art only, never a chart */
  --wood-day:#063E44,#0A5A62,#1F737B,#3F8A92,#8FBBC0,#B3A27E,#D9C48A,#B58152,#B87333,#A16540,#B5512E,#8A5424,#714839;
  --wood-veil-day:.16; --wood-veil-night:.55;
  /* surfaces on the map: cards and legends on paper, panels on night */
  --card:#FAF7EF; --card-shadow:0 2px 14px rgba(21,41,31,.14); --card-night:#0A4A52; --card-night-shadow:0 2px 18px rgba(0,0,0,.35); --card-radius:8px;
  --rule-rust:#B5512E; --search-ground:#0A4A52; --search-outline:#1F737B;
}

/* GALCo design tokens · edition v3.4.1 (Wright r1219, 2026-09-25; Picasso's E1 gate read of r1216, ⟲ 4:47pm PT): the night figure
   token and the three re-points under the dark root, pasted from docs/closes/picasso/v3.4/tokens/galco-design-tokens-v3_4.css v3.4.1 */
:root{
  /* v3.4.1 (gate read r1216, 4:5x pm PT): figures by direction on night grounds; validated dark mode 2026-09-25 */
  --fig-falling-night:#EE9E7A;
}
:root[data-theme="dark"]{--fig-rising:var(--pair-night-g3);--fig-falling:var(--fig-falling-night);--fig-unchanged:var(--ink-on-dark);}

/* GALCo design tokens · edition v3.4.2 (Wright r1220, 2026-09-25; LIGHT-PANELS-ALWAYS-1, Adam 4:55pm PT via Picasso: "light panels for
   the left and right panels better than dark"): pasted from docs/closes/picasso/v3.4/tokens/galco-design-tokens-v3_4.css v3.4.2 */
:root{
  /* v3.4.2 (Adam 2026-09-25 4:55pm PT, "light panels for the left and right panels better than dark"): panels stay cream in both themes */
  --card-night:var(--card); --card-night-shadow:0 4px 22px rgba(0,0,0,.45);
}
:root[data-theme="dark"]{--panel-bg:var(--card);--panel-outline:rgba(21,41,31,.14);--fig-rising:var(--pair-g3);--fig-falling:var(--pair-b3);--fig-unchanged:var(--ink);}

/* GALCo design tokens · edition v3.4.4 (Wright r1221, 2026-09-25; NO-RED-ON-MAPS-1, Adam 6:15pm PT via Picasso's gate row 6 and the pass;
   WOODCUT-NEVER-UNDER-THE-MAP-1, Adam 5:15pm PT). Pasted whole from docs/closes/picasso/v3.4/tokens/galco-design-tokens-v3_4.css at origin,
   never retyped: the declarations v3.4.3 and v3.4.4 changed (maroon leaves the maps: plum the far pole of the pair, rust the falling figure,
   --lvl-7 a brown, --wood-veil-* retired for --wood-panel-fade) and the two new roots (--map-* basemap treatments, --ord-* Adam's ordinal ramp).
   Picasso's sheet head reads:
   /* GALCo design tokens · edition v3.4.4 · 2026-09-25 · was v3.4.3 (NO-RED-ON-MAPS-1, Adam 6:15pm PT: maroon leaves the maps; the far bad pole is plum; the ordinal ramp --ord-* is Adam's sequence; falling figures in rust) · was v3.4.2 (WOODCUT-NEVER-UNDER-THE-MAP-1, Adam 5:15pm PT: the basemap colour treatments --map-* for day and night; the under-map veil opacities retired) · was v3.4.1 (LIGHT-PAN ... */
:root{
  --chg-1:#6E2F52; --chg-2:#B5512E; --chg-3:#D9A08A; --chg-0:#E3E8E2; --chg-4:#8FBBC0; --chg-5:#24949B; --chg-6:#0A5A62;
  --lvl-1:#F3E9CF; --lvl-2:#D9C48A; --lvl-3:#B58152; --lvl-4:#B87333; --lvl-5:#B5512E; --lvl-6:#8A5424; --lvl-7:#714839;
  --fig-rising:#0A5A62; --fig-falling:#B5512E; --fig-unchanged:#15291F; --pin-rule:#0A5A62; --pin-second:#6E2F52;
  --pair-b3:#6E2F52; --pair-b2:#B5512E; --pair-b1:#D9A08A; --pair-g1:#8FBBC0; --pair-g2:#24949B; --pair-g3:#0A5A62;
  --pair-night-b3:#BE95AB; --pair-night-b2:#C9694A; --pair-night-b1:#EBB39C; --pair-night-g1:#1F737B; --pair-night-g2:#62A0A7; --pair-night-g3:#B9D6D9;
  --wood-panel-fade:.08;   /* the only in-app use beyond the veil: a faded ground behind a panel or a page header */
}
:root{
  /* v3.4.3 (Adam 2026-09-25 5:15pm PT, "same just actual map of usa like we had before in dark and light mode. just update color treatments"): the basemap's colour treatment, day and night */
  --map-land:#F3F1EA; --map-water:#E3EFEE; --map-road:#D9D6CC; --map-road-major:#D9C48A; --map-boundary:#B9D6D9; --map-label:#5B6B62; --map-label-halo:#FAF7EF;
  --map-night-land:#07343A; --map-night-water:#041F23; --map-night-road:#0A4A52; --map-night-road-major:#146069; --map-night-boundary:#1F737B; --map-night-label:#B9D6D9; --map-night-label-halo:#052E33;
}
:root{
  /* v3.4.4 (Adam 2026-09-25 6:15pm PT, "not loving the red … blue to yellow to rust to purple may look cleaner"): the ordinal ramp, Adam's sequence, for maps where every class means something (decade filled, value sixths, arrival order); plum is the far pole of the signed pair above; maroon never on a map */
  --ord-1:#6E2F52; --ord-2:#B5512E; --ord-3:#B87333; --ord-4:#D9C48A; --ord-5:#8FBBC0; --ord-6:#24949B; --ord-7:#0A5A62;
  --ord-night-1:#A46F8E; --ord-night-2:#C9694A; --ord-night-3:#B87333; --ord-night-4:#D9C48A; --ord-night-5:#B9D6D9; --ord-night-6:#62A0A7; --ord-night-7:#1F737B;
}

/* GALCo design tokens · edition v3.4.6 (Wright r1224, 2026-09-25; PAIR-IS-THE-STRIP-1 + GRADIENT-DIRECTION-1, Adam 7:3x pm PT via Picasso 7:02pm PT:
   'paste the v3.4.6 root whole instead of v3.4.5'). Pasted whole from docs/closes/picasso/v3.4/tokens/galco-design-tokens-v3_4.css at origin
   (68cfc4ea), never retyped: the v3.4.5 root (rust depth, the 3D column scales), then the v3.4.6 root that replaces its pair (the pair is the
   company strip, maroon the far falling pole, deep teal the far rising pole, the same by night; the night inversion retired; 3D height is
   growth) and its one night line. Picasso's sheet head reads:
   /* GALCo design tokens · edition v3.4.6 · 2026-09-25 · was v3.4.5 (PAIR-IS-THE-STRIP-1 + GRADIENT-DIRECTION-1, Adam 7:3x pm PT: the pair is the company strip left to right, maroon the far falling pole, deep teal the far rising pole; the night pair is the day pair, more is always darker) · was v3.4.5 (RUST-DEPTH-FOR-ATROPHY-1, Adam 7:0x pm PT: the losing side of the pair is light rust · rust · very deep rust, plum lea ... */
:root{
  /* v3.4.5 (Adam 2026-09-25, "deep rust instead of purple makes more sense to show no growth … light rust, rust, very deep dark rust to signal atrophy; purple is kind of a highlight colour"): the losing side of the pair is rust depth; plum is an accent only. Night keeps the same order by prominence: the far pole is the brightest rust, since a very dark rust vanishes on the night ground. */
  --pair-b3:#6B2A16; --pair-b2:#B5512E; --pair-b1:#E3B39E;
  --pair-night-b3:#C24E24; --pair-night-b2:#D9895F; --pair-night-b1:#E9BFA9;
  --chg-1:#6B2A16; --chg-2:#B5512E; --chg-3:#E3B39E;
  --fig-falling:#B5512E; --fig-falling-night:#D9895F;
  /* 3D mode: column height scale, 1 = the first cut; value columns read 2, pace columns 3 (Adam: "2x … or even 3x") */
  --col-scale-value:2; --col-scale-pace:3;
}
:root, :root[data-theme="dark"]{
  /* v3.4.6 (Adam 2026-09-25 7:3x pm PT: "look at your own past versions of the company palette left to right"; "tallest pillars should be the darkest blue"; "the dark auburn rust … or maroon"): the signed pair IS the strip, maroon · rust · pale rust · zero · pale teal · teal · deep teal, in both themes; the night inversion of v3.4.0 to v3.4.5 is retired. More is always darker; a light step is a middling number. */
  --pair-b3:#870A22; --pair-b2:#B5512E; --pair-b1:#D9A08A; --pair-g1:#8FBBC0; --pair-g2:#24949B; --pair-g3:#0A5A62;
  --pair-night-b3:#870A22; --pair-night-b2:#B5512E; --pair-night-b1:#D9A08A; --pair-night-g1:#8FBBC0; --pair-night-g2:#24949B; --pair-night-g3:#0A5A62;
  --chg-1:#870A22; --chg-2:#B5512E; --chg-3:#D9A08A; --chg-4:#8FBBC0; --chg-5:#24949B; --chg-6:#0A5A62;
  --fig-falling:#870A22; --fig-falling-night:#D9A08A; --fig-rising:#0A5A62;
  /* 3D: column height is the metric's growth or level, flat where it stopped or fell; never a two-sided size */
  --col-height-is-growth:1;
}
:root[data-theme="dark"]{--fig-rising:#8FBBC0;}

/* GALCo design tokens · edition v3.4.8 (Wright r1234, 2026-09-25; the overnight brief section 1 and section 8, Adam 8:05pm PT "get wright
   working on them"). Pasted whole from docs/closes/picasso/v3.4/tokens/galco-design-tokens-v3_4.css (2622be7304b56), never retyped: the
   sheet header of record, then the v3.4.7 root (the 3D mode: pace at six times, the height power, percentile and dead zone, the
   rising and falling gradients --grad-up-1..5 and --grad-down-1..5) and the v3.4.8 root (the land-type palette --lt-*). At launch
   the platform is v3.4.0; these editions are revisions of its one sheet. */
/* GALCo design tokens · edition v3.4.8 · 2026-09-25 · was v3.4.7 (the land-type palette --lt-*; at launch the platform is v3.4.0 and these editions are revisions of its one sheet) · was v3.4.6 (the 3D mode as tokens: column scale 6 for growth, the continuous gradient stops, the dead zone) · was v3.4.5 (PAIR-IS-THE-STRIP-1 + GRADIENT-DIRECTION-1, Adam 7:3x pm PT: the pair is the company strip left to right, maroon the far falling pole, deep teal the far rising pole; the night pair is the day pair, more is always darker) · was v3.4.5 (RUST-DEPTH-FOR-ATROPHY-1, Adam 7:0x pm PT: the losing side of the pair is light rust · rust · very deep rust, plum leaves the pair and is a highlight colour; 3D columns twice as tall, three times for pace) · was v3.4.3 (NO-RED-ON-MAPS-1, Adam 6:15pm PT: maroon leaves the maps; the far bad pole is plum; the ordinal ramp --ord-* is Adam's sequence; falling figures in rust) · was v3.4.2 (WOODCUT-NEVER-UNDER-THE-MAP-1, Adam 5:15pm PT: the basemap colour treatments --map-* for day and night; the under-map veil opacities retired) · was v3.4.1 (LIGHT-PANELS-ALWAYS-1, Adam 4:55pm PT: the left and right panels, legends and controls stay cream by night; --card-night now points at --card, night is the map ground and the bars only) · was v3.4.0 (the night figure tokens, from the E1 gate read of r1216: --fig-falling-night and the three re-points under the dark root) · was v3.3.14 · PLATFORM v3.4 COLOUR SCHEME (Adam 2026-09-25, Picasso 1): the dark ground moves from ink green #1E3B2C to deep teal #063E44 with night #052E33 and panel #0A4A52; the paper stays cream #FAF7EF; every map is two-coloured on ONE pair (maroon · rust · pale rust · grey · pale teal · teal · deep teal), so --chg-* is re-pointed to the pair and --lvl-*, --alt-*, --gold retire to aliases; the plum family joins the palette as the fifth identity slot and a watch ramp; the bar and sub-bar carry the deep teal and the panel; the mark is Logo Set 2. Every v3.3 name still resolves, so nothing built breaks; the v3.4 names sit at the end. Exploratory until Adam ratifies; Wright applies it by edition under the GO rule. · Platform System 3.4 (Reporting, Front End Design)
   Rule of record: canon/methods/page-design-and-writing-rules.md Part V. Colours from the Palette Guide v0.3 and the Map Gradient Options v0.2 (docs/closes/picasso/), every ramp validated on its surface.
   Paste this file; never retype a hex. */
:root{
  /* v3.4.7 (Adam 2026-09-25 7:4x to 8pm PT: "continuously normalized to lots of different heights", "a continuous gradient across these values", "tall ones are still too short, give yourself 2x more room"): the 3D mode. Height is the growth or the level, scaled to the 99.5th percentile with a 0.6 power, never clipped low; the pace columns at six times the first cut, the value columns at two. Colour interpolates along the pair by the same value, five stops a side; a change under the dead zone reads --zero (--zero-night by night). */
  --col-scale-pace:6; --col-scale-value:2; --col-height-power:0.6; --col-height-pct:99.5; --col-dead-zone:0.12;
  --grad-up-1:#C9DFE1; --grad-up-2:#8FBBC0; --grad-up-3:#24949B; --grad-up-4:#0A5A62; --grad-up-5:#063E44;
  --grad-down-1:#EBC9B8; --grad-down-2:#D9A08A; --grad-down-3:#B5512E; --grad-down-4:#870A22; --grad-down-5:#5E0A19;
}
:root{
  /* v3.4.8 (Adam 2026-09-25 8:0x pm PT, "the new color palette as it applies to all our different land types, to make sure they are still clean and distinguishable"): the land-type palette, same directions as LU_SPECTRUM (Adam 2026-07-22: hue-separated, never three tans apart only in lightness), tuned to the cream and deep-teal family; min pairwise dE 17.1 (was 11.5). Painted at .55 over the paper (no code .2), as today. Candidate teal, selection copper and fail maroon stay reserved. */
  --lt-farm:#86A468; --lt-rural:#9A9B48; --lt-forest:#3B6A4E; --lt-vacant:#E6C878; --lt-res:#C9846A; --lt-com:#6C90A8; --lt-ind:#495562; --lt-other:#9C9C92; --lt-none:#E0DCD2; --lt-unmapped:#C2B08E;
  --lt-fill-opacity:.55; --lt-none-opacity:.2; --lt-line:#8F8A7A;
}

/* GALCo design tokens · edition v3.4.9 (Wright r1245, 2026-09-26; Picasso's Path of growth edition 2, Adam 4:5x am PT "we do not do single
   color gradients for maps. Always with 2 poles from the maroon/rust to teals"). Pasted whole from docs/closes/picasso/v3.4/tokens/
   galco-design-tokens-v3_4.css (4ad12ad48fd2b), never retyped: the sheet header of record, then the v3.4.9 root (--pog-*: the past on
   the rust pole, the future on the teal pole, the front line, the arrows, the opacities and widths) and its dark root. */
/* GALCo design tokens · edition v3.4.9 · 2026-09-26 · was v3.4.8 (the Path of growth tokens --pog-*; v3.4.8: the land-type palette --lt-*; at launch the platform is v3.4.0 and these editions are revisions of its one sheet) · was v3.4.6 (the 3D mode as tokens: column scale 6 for growth, the continuous gradient stops, the dead zone) · was v3.4.5 (PAIR-IS-THE-STRIP-1 + GRADIENT-DIRECTION-1, Adam 7:3x pm PT: the pair is the company strip left to right, maroon the far falling pole, deep teal the far rising pole; the night pair is the day pair, more is always darker) · was v3.4.5 (RUST-DEPTH-FOR-ATROPHY-1, Adam 7:0x pm PT: the losing side of the pair is light rust · rust · very deep rust, plum leaves the pair and is a highlight colour; 3D columns twice as tall, three times for pace) · was v3.4.3 (NO-RED-ON-MAPS-1, Adam 6:15pm PT: maroon leaves the maps; the far bad pole is plum; the ordinal ramp --ord-* is Adam's sequence; falling figures in rust) · was v3.4.2 (WOODCUT-NEVER-UNDER-THE-MAP-1, Adam 5:15pm PT: the basemap colour treatments --map-* for day and night; the under-map veil opacities retired) · was v3.4.1 (LIGHT-PANELS-ALWAYS-1, Adam 4:55pm PT: the left and right panels, legends and controls stay cream by night; --card-night now points at --card, night is the map ground and the bars only) · was v3.4.0 (the night figure tokens, from the E1 gate read of r1216: --fig-falling-night and the three re-points under the dark root) · was v3.3.14 · PLATFORM v3.4 COLOUR SCHEME (Adam 2026-09-25, Picasso 1): the dark ground moves from ink green #1E3B2C to deep teal #063E44 with night #052E33 and panel #0A4A52; the paper stays cream #FAF7EF; every map is two-coloured on ONE pair (maroon · rust · pale rust · grey · pale teal · teal · deep teal), so --chg-* is re-pointed to the pair and --lvl-*, --alt-*, --gold retire to aliases; the plum family joins the palette as the fifth identity slot and a watch ramp; the bar and sub-bar carry the deep teal and the panel; the mark is Logo Set 2. Every v3.3 name still resolves, so nothing built breaks; the v3.4 names sit at the end. Exploratory until Adam ratifies; Wright applies it by edition under the GO rule. · Platform System 3.4 (Reporting, Front End Design)
   Rule of record: canon/methods/page-design-and-writing-rules.md Part V. Colours from the Palette Guide v0.3 and the Map Gradient Options v0.2 (docs/closes/picasso/), every ramp validated on its surface.
   Paste this file; never retype a hex. */
/* v3.4.9 (Adam 2026-09-25 ~9:40pm PT "Collaborate with Indy on the Path of growth design… concentric polygons for year growth areas, the style of arrow"; 2026-09-26 4:5x am PT "we do not do single color gradients for maps. Always with 2 poles from the maroon/rust to teals"): the Path of growth mode. The horizon axis is the company pair through the front now as zero: the past on the rust pole (further back deeper, to maroon), the future on the teal pole (further out deeper). Same hexes by night. Design note: docs/closes/picasso/v3.4/path-of-growth/. */
:root, :root[data-theme="dark"]{
  --pog-past-1:#D9A08A; --pog-past-2:#B5512E; --pog-past-3:#870A22; --pog-past-4:#5E0A19;   /* 2022-23 · 2020-21 · 2018-19 · 2016-17 */
  --pog-band-2:#C9DFE1; --pog-band-4:#8FBBC0; --pog-band-6:#24949B; --pog-band-8:#0A5A62; --pog-band-10:#063E44;   /* by 2028 … by 2036 */
  --pog-past-opacity:.3; --pog-band-opacity:.6; --pog-hatch-from:8; --pog-hatch-opacity:.22;
  --pog-edge:#15291F; --pog-edge-width:1.1; --pog-edge-dash:3 2.5; --pog-front:#15291F; --pog-front-width:3.2; --pog-front-case:#FAF7EF;
  --pog-arrow:#15291F; --pog-arrow-case:#FAF7EF; --pog-arrow-years:1; --pog-arrow-min-mi:.5; --pog-arrow-max-mi:4; --pog-arrow-front-opacity:.92; --pog-arrow-opacity:.42;
  --pog-metro-r-min:.5; --pog-metro-fill-opacity:.28;
}
:root[data-theme="dark"]{ --pog-past-opacity:.34; --pog-edge:#FAF7EF; --pog-front:#FAF7EF; --pog-arrow:#FAF7EF; --pog-arrow-case:#0A4A52; --pog-front-case:#0A4A52; }
/* GALCo design tokens · edition v3.4.10 (Wright r1249, 2026-09-26; KEY-MINIMIZED-BY-DEFAULT-1, Adam ~5:2x am PT via Picasso 11:21am PT). Pasted whole from
   docs/closes/picasso/v3.4/tokens/galco-design-tokens-v3_4.css (458a4638c5d2), never retyped: the sheet header of record for v3.4.10, then the --key-* root. */
/* GALCo design tokens · edition v3.4.10 · 2026-09-26 · was v3.4.9 (the key minimized by default, --key-*; v3.4.9: the Path of growth tokens --pog-*; v3.4.8: the land-type palette --lt-*; at launch the platform is v3.4.0 and these editions are revisions of its one sheet) · was v3.4.6 (the 3D mode as tokens: column scale 6 for growth, the continuous gradient stops, the dead zone) · was v3.4.5 (PAIR-IS-THE-STRIP-1 + GRADIENT-DIRECTION-1, Adam 7:3x pm PT: the pair is the company strip left to right, maroon the far falling pole, deep teal the far rising pole; the night pair is the day pair, more is always darker) · was v3.4.5 (RUST-DEPTH-FOR-ATROPHY-1, Adam 7:0x pm PT: the losing side of the pair is light rust · rust · very deep rust, plum leaves the pair and is a highlight colour; 3D columns twice as tall, three times for pace) · was v3.4.3 (NO-RED-ON-MAPS-1, Adam 6:15pm PT: maroon leaves the maps; the far bad pole is plum; the ordinal ramp --ord-* is Adam's sequence; falling figures in rust) · was v3.4.2 (WOODCUT-NEVER-UNDER-THE-MAP-1, Adam 5:15pm PT: the basemap colour treatments --map-* for day and night; the under-map veil opacities retired) · was v3.4.1 (LIGHT-PANELS-ALWAYS-1, Adam 4:55pm PT: the left and right panels, legends and controls stay cream by night; --card-night now points at --card, night is the map ground and the bars only) · was v3.4.0 (the night figure tokens, from the E1 gate read of r1216: --fig-falling-night and the three re-points under the dark root) · was v3.3.14 · PLATFORM v3.4 COLOUR SCHEME (Adam 2026-09-25, Picasso 1): the dark ground moves from ink green #1E3B2C to deep teal #063E44 with night #052E33 and panel #0A4A52; the paper stays cream #FAF7EF; every map is two-coloured on ONE pair (maroon · rust · pale rust · grey · pale teal · teal · deep teal), so --chg-* is re-pointed to the pair and --lvl-*, --alt-*, --gold retire to aliases; the plum family joins the palette as the fifth identity slot and a watch ramp; the bar and sub-bar carry the deep teal and the panel; the mark is Logo Set 2. Every v3.3 name still resolves, so nothing built breaks; the v3.4 names sit at the end. Exploratory until Adam ratifies; Wright applies it by edition under the GO rule. · Platform System 3.4 (Reporting, Front End Design)
   Rule of record: canon/methods/page-design-and-writing-rules.md Part V. Colours from the Palette Guide v0.3 and the Map Gradient Options v0.2 (docs/closes/picasso/), every ramp validated on its surface.
   Paste this file; never retype a hex. */
/* v3.4.10 (Adam 2026-09-26 ~5:2x am PT on the Path of growth read: "Key is always by default minimized at bottom right"; "good job making the menus more minimized"): KEY-MINIMIZED-BY-DEFAULT-1. Every map key opens minimized at bottom right, a cream pill holding the ramp strip and the one word Key with a caret; a click expands it in place; the state is remembered per session. Applies to every map mode in every theme. */
:root, :root[data-theme="dark"]{ --key-default:minimized; --key-pos:bottom-right; --key-min-pad:8px 14px 8px 12px; --key-min-radius:999px; --key-min-swatch:9px 12px; --key-min-gap:10px; --key-min-word:Key; }
/* GALCo design tokens · edition v3.4.11 (Wright r1258, 2026-09-26; ONE-GRAMMAR-1, Picasso 1's ruling of 7:5x pm PT on Wright 1's audit of 14 colour
   conflicts). Pasted whole from docs/closes/picasso/v3.4/tokens/galco-design-tokens-v3_4.css (ef0d18207c06), never retyped: the sheet header of record
   for v3.4.11, then the v3.4.11 block. */
/* GALCo design tokens · Platform v3.4.0 · Version v3_4_0 · launched 2026-09-26 · sheet revision v3.4.11 (the editions v3.4.2 to v3.4.11 below are revisions of this one sheet; stamped 2:23pm PT, picasso; v3.4.11 at 7:5xpm PT: the meaning of every ramp, one colour grammar for every tab) · was: edition v3.4.10 · 2026-09-26 · was v3.4.9 (the key minimized by default, --key-*; v3.4.9: the Path of growth tokens --pog-*; v3.4.8: the land-type palette --lt-*; at launch the platform is v3.4.0 and these editions are revisions of its one sheet) · was v3.4.6 (the 3D mode as tokens: column scale 6 for growth, the continuous gradient stops, the dead zone) · was v3.4.5 (PAIR-IS-THE-STRIP-1 + GRADIENT-DIRECTION-1, Adam 7:3x pm PT: the pair is the company strip left to right, maroon the far falling pole, deep teal the far rising pole; the night pair is the day pair, more is always darker) · was v3.4.5 (RUST-DEPTH-FOR-ATROPHY-1, Adam 7:0x pm PT: the losing side of the pair is light rust · rust · very deep rust, plum leaves the pair and is a highlight colour; 3D columns twice as tall, three times for pace) · was v3.4.3 (NO-RED-ON-MAPS-1, Adam 6:15pm PT: maroon leaves the maps; the far bad pole is plum; the ordinal ramp --ord-* is Adam's sequence; falling figures in rust) · was v3.4.2 (WOODCUT-NEVER-UNDER-THE-MAP-1, Adam 5:15pm PT: the basemap colour treatments --map-* for day and night; the under-map veil opacities retired) · was v3.4.1 (LIGHT-PANELS-ALWAYS-1, Adam 4:55pm PT: the left and right panels, legends and controls stay cream by night; --card-night now points at --card, night is the map ground and the bars only) · was v3.4.0 (the night figure tokens, from the E1 gate read of r1216: --fig-falling-night and the three re-points under the dark root) · was v3.3.14 · PLATFORM v3.4 COLOUR SCHEME (Adam 2026-09-25, Picasso 1): the dark ground moves from ink green #1E3B2C to deep teal #063E44 with night #052E33 and panel #0A4A52; the paper stays cream #FAF7EF; every map is two-coloured on ONE pair (maroon · rust · pale rust · grey · pale teal · teal · deep teal), so --chg-* is re-pointed to the pair and --lvl-*, --alt-*, --gold retire to aliases; the plum family joins the palette as the fifth identity slot and a watch ramp; the bar and sub-bar carry the deep teal and the panel; the mark is Logo Set 2. Every v3.3 name still resolves, so nothing built breaks; the v3.4 names sit at the end. Exploratory until Adam ratifies; Wright applies it by edition under the GO rule. · Platform System 3.4 (Reporting, Front End Design)
   Rule of record: canon/methods/page-design-and-writing-rules.md Part VI, rule 13 (one tool, one grammar); Part V is superseded. The meaning of every ramp: the v3.4.11 block at the end. Colours from the Palette Guide v0.3 and the Map Gradient Options v0.2 (docs/closes/picasso/), every ramp validated on its surface.
   Paste this file; never retype a hex. */
/* v3.4.11 · THE MEANING OF EVERY RAMP (Picasso 1, 2026-09-26 7:5xpm PT; rules Wright 1's audit of 14 colour conflicts, docs/closes/wright/2026-09-26-what-each-colour-means-in-each-mode-the-audit-for-one-app.md).
   Adam's words it rests on: "we do not do single color gradients for maps. Always with 2 poles from the maroon/rust to teals" (09-26 am);
   "The colour of the concentric circle should always mean the rate of growth, consistently across views ... it is ONE product" (09-26 pm);
   "If you come up with a system, it should be consistent in every tab" and "its all ONE tool" (09-26 6:4x to 6:5x pm PT). Page law Part VI rule 13 is the law; this block names the ramps.

   ONE RAMP FOR EVERY MAP, PILLAR, CELL AND PARCEL: the pair, maroon --pair-b3 #870A22 · rust --pair-b2 #B5512E · pale rust --pair-b1 #D9A08A · zero --zero #E3E8E2
   (night --zero-night #2A3A35) · pale teal --pair-g1 #8FBBC0 · teal --pair-g2 #24949B · deep teal --pair-g3 #0A5A62. Its continuous form (3D columns, pillars) is
   --grad-down-5 ... --grad-up-5 below, sampled on the same seven stops, so a class map and a column never disagree at the ends. No single-hue ramp and no
   neutral diverging ramp paints data; plum never paints a class.
   WHAT IT MEANS: teal is MORE than the reference the key names, rust to maroon is LESS, the pale middle is about the same, and further from the middle is darker.
   The reference is written in the key in words:
     a rate or change        -> 0 = no change            (growth, pace, a score's change, permits' change)
     a 0-100 score           -> 50 = the median score    (read as score minus 50)
     a level (price, count,  -> the country median of the comparison set the key names: farmland nationwide an acre for land value
       access)                  (CHEAP-IS-ENTRY-PRICE-1); a parcel's price against its three comps, else its county median
   So cheap land reads on the rust side of every Valuation view, dear land on the teal side, and the tab never flips (default of record; Adam may reverse it).
   TWO CLASS RULES, named:
     signed values: zero within 12 percent of the 95th percentile of |value|, then thirds out to the 95th percentile, the ends open (--class-dead-zone)
     levels:        multiples of the reference, the same both ways: under x0.25 | x0.25-0.5 | x0.5-0.8 | x0.8-1.25 middle | x1.25-2 | x2-4 | over x4 (--class-level-breaks)
   TIME IS NEVER A COLOUR: years are ring labels, dashed year edges, the ink front line, one-year arrows and the card's figures.
   HEIGHT AND COLOUR CARRY THE SAME METRIC (3D-HEIGHT-IS-GROWTH-1): a column's height is the key metric (pace x6, value x2) and its colour is the same metric; flat where it fell.
   A MISSING VALUE is unpainted and the key carries a hatched "no value" swatch; it never takes the palest class.
   EVERY KEY IS DRAWN FROM ITS OWN LAYER'S PAINT and names its reference; no typed hex paints a map layer.
   NIGHT: every class keeps its colour; only zero and the ground change; a theme flip repaints every layer (the Valuation 3D and Graphs' Where map included).
     Figures sit on cream panels in both themes (LIGHT-PANELS-ALWAYS-1), so --fig-* keep their day colours by night.

   BY MODE (Wright repaints in one edition; the close lists each conflict and its cure):
     Screens      candidates: fill = the rail's key metric on the pair; a pass is an ink ring (--verdict-pass); the chosen candidate is the plum ring.
                  run compare: gained = deep teal ring (--verdict-gained), lost = rust ring (--verdict-lost); typed #A94438, #2B241C and #1E3B2C retire.
                  catalyst spots: size = the count; a catalyst for growth deep teal (--spot-for), a negative witness (moratoria, litigation, biological opinions) maroon (--spot-against).
     Growth       Path of growth rings: fill = the growth rate inside the ring (edition 3); years on the ring labels. Under zoom 6 the county dots take the 2026 growth rate
                  on the pair with the pair key; the peak window moves to the label and the card. --pog-past-* and --pog-band-* retire.
                  Pillars: height and colour = the key metric (pace by default). Heatmap rate windows: the pair (unchanged). Heatmap level window: the pair against the
                  country median with the level breaks; the family ramps --seq, --dem, --eco, --dev, --val and --clim leave the map. Scores: the pair about 50.
                  Graphs: a bar takes its sign (teal above the zero band, rust below, zero inside it); lines are the area you are on in ink, the candidate in plum,
                  comparisons thin grey; a projected segment is dashed. Graphs' Where map: the key metric; the year is a label.
     Scores menu  Growth scores change: the pair with teal rising (the inversion "warm is rising, teal is falling" retires). Water access: the pair against the
                  country median; none is the maroon class.
     Signatures   the heat strip on the pair against the place's own median over the window; event lines ink with the year; dots take their sign. --lvl-* retire here.
     Theses       bars take their sign; the argued study is an ink outline, not a darker teal.
     Valuation    Land Value Today (map and Pillars), Relative to the Country, the Heatmap's Land Value and the parcel surface: ONE picture, the pair against the
                  reference with the level breaks; the key reads dollars an acre or multiples of the median. --ord-* are re-pointed to the pair below; plum leaves.
     Atlas        family chips take the category set --cat-1 ... --cat-8 beside their own key; bars ink for the family you are on, grey for the rest.
     Basics       land types fill (--lt-*) because land type is the key metric there; in every other mode land type is an outline.
   RETIRED FROM DATA at v3.4.11 (values kept one revision so nothing built breaks; deleted at v3.4.12): --seq-*, --seq5-*, --lvl-*, --pwr-*, --warm-*, --arr-*,
   --id-* (series take the roles --series-*), --plum-1..5 and --plum-night-* as a ramp, --pog-past-*, --pog-band-*, --pin-second as plum. The app's family ramps
   (--dem-*, --eco-*, --dev-*, --val-*, --clim-*) leave every map. Copper and gold are category chips only.
   WRIGHT 1'S FOUR RECOMMENDATIONS: A accepted in part (the pair is more against less and never time; it does carry price, signed against the reference);
   B not taken (a single-hue price ramp and a neutral diverging ramp break Adam's two-pole rule); C taken as "height and colour are the same key metric";
   D accepted. */
:root, :root[data-theme="dark"]{
  --grad-up-1:#B1CDCE; --grad-up-2:#7AB3B9; --grad-up-3:#399CA2; --grad-up-4:#1A7D84; --grad-up-5:#0A5A62;
  --grad-down-1:#DDBDAD; --grad-down-2:#D29078; --grad-down-3:#BC6140; --grad-down-4:#A33529; --grad-down-5:#870A22;
  --ord-1:#870A22; --ord-2:#B5512E; --ord-3:#D9A08A; --ord-4:#E3E8E2; --ord-5:#8FBBC0; --ord-6:#24949B; --ord-7:#0A5A62;
  --ord-night-1:#870A22; --ord-night-2:#B5512E; --ord-night-3:#D9A08A; --ord-night-4:#2A3A35; --ord-night-5:#8FBBC0; --ord-night-6:#24949B; --ord-night-7:#0A5A62;
  --class-dead-zone:.12; --class-signed-top:95; --class-level-breaks:0.25 0.5 0.8 1.25 2 4;
  --map-none:transparent; --map-none-hatch:#5B6B62; --map-none-hatch-opacity:.35;
  --verdict-pass:#15291F; --verdict-gained:#0A5A62; --verdict-lost:#B5512E; --verdict-ring-w:2px;
  --spot-for:#0A5A62; --spot-against:#870A22;
  --series-here:#15291F; --series-cand:#6E2F52; --series-comp:#5B6B62; --series-comp-w:1.25px; --series-here-w:2.25px; --series-projected-dash:4 3;
  --candidate:#6E2F52; --candidate-ring-w:3px; --pin-second:#15291F;
  --cat-1:#86A468; --cat-2:#6C90A8; --cat-3:#E6C878; --cat-4:#9A9B48; --cat-5:#495562; --cat-6:#3B6A4E; --cat-7:#C2B08E; --cat-8:#B87333;   /* eight, each 17 or more dE from every pair colour and plum; grey and the salmon of --lt-res stay out */
  --fig-card:#15291F; --fig-rising:#0A5A62;
}
/* r1575 (Wright 1, 2026-10-04; Picasso 1's ruling, land type map and key spec v3_4_1 section 9): the four classes of ontology 1.0 with no hue before.
   Civic sand and Infrastructure umber in the urban zone; Parks and preserves a cooler mid green and No active use stone in the open zone. */
:root{ --lt-civic:#B79A6B; --lt-infra:#6E5A4B; --lt-parks:#7FAE96; --lt-idle:#CFC8B6; }
/* r1588 (Wright 1, 2026-10-04; Picasso 1's ruling, land type spec sections 10 and 11): Woodland, tree cover with no assessor's use, in the open zone. */
:root{ --lt-woodland:#5F8F6A; }
/* r1712 (Picasso 1, 2026-10-05; Adam, 5:0x pm PT: "keep the color family consistent within a type of data. So power stations, substations, etc,
   different icons, but all the same color"; map marks spec v3_4_3 section 2): one colour a data family for every point mark on the map. Thirteen
   families; the four already named reuse their tokens (energy --teal, fuel --copper, civic --lt-civic, transport --lt-infra), nine are new. */
:root{ --fam-energy:#0A5A62; --fam-fuel:#B87333; --fam-data:#4A4E8C; --fam-water:#3E7FA6; --fam-industry:#495562; --fam-civic:#B79A6B; --fam-venue:#7A4E6B;
       --fam-transport:#6E5A4B; --fam-government:#15291F; --fam-nature:#5E8C5A; --fam-ground:#8C8778; --fam-contaminated:#A5402D; --fam-market:#C49A2A; }
/* r1977 (Wright 1, 2026-10-07; Picasso 1's ruling 12:5x pm and his relay of Adam's 2:0x pm PT stamp: Tribal and Military are land types): --lt-tribal, the earth ramp's step between
   D9C48A and B58152, one step lighter by night; --lt-military the warm ramp's B58152, a flat fill; 1:11pm PT: --lt-desert #E6D6AD (sand, the earth ramp's second step; not --grey-warm, the USA's no-data fill),
   night #C7A36E; --lt-mountain #B7C0BB (--hover-track, the cool stone), night #7E8F83 (--ink-50). */
:root{ --lt-tribal:#C7A36E; --lt-tribal-night:#D9C48A; --lt-military:#B58152; --lt-desert:#E6D6AD; --lt-desert-night:#C7A36E; --lt-mountain:#B7C0BB; --lt-mountain-night:#7E8F83; }
/* r1985 (Wright 1, 2026-10-07, Picasso 1's fills of 1:5x pm PT on Adam's note, guide 2026-10-07-one-chrome-for-every-surface-v3_4_1.md 4c57d2dc): --paper-lift #FCFAF4, the warm off-white a pick, a card, a search line
   and the progress box fill inside a white surface; by night the fill is --panel-dark-2, named here as --paper-lift-night. */
:root{ --paper-lift:#FCFAF4; --paper-lift-night:#146069; }
/* r2729 (Wright 1 for Picasso 1, 2026-10-10 1:5x pm PT; r2724's contrast floor: every land type colour at least 1.5 to 1 against the ground #F4EFE3): --lt-desert the yellow sand #D2B562
   (1.74 to 1, hue 44, clear of tribal tan and ranch olive); --lt-mountain the cool stone one step toward --ink-50, #9BA89F (2.15 to 1); the nights unchanged (Picasso 1's ruling 1:3x pm PT,
   landed through Wright 1 since the design door takes no tokens.css). The r1977 line above stays as landed; this line wins by order. */
:root{ --lt-desert:#D2B562; --lt-mountain:#9BA89F; }
