/* 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;
}
: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;
}
