/* Atlas clearing. Shared tokens, navigation and footer come unchanged from ShadeNet. */
#city-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.map-city{position:absolute;pointer-events:auto;text-align:left;white-space:nowrap;border:0;border-radius:0;padding:4px 7px;background:rgba(7,16,12,.8);font: .7rem var(--sans);line-height:1.4;color:var(--pulse);border-left:1px solid rgba(226,190,103,.5)}
.map-city[hidden]{display:none}.map-city small{display:block;color:var(--leaf);font:.55rem var(--mono)}
#map-tooltip{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);width:max-content;max-width:90%;padding:.8rem 1rem;background:#102219;border:1px solid var(--line-strong);z-index:5;pointer-events:none;font:.7rem/1.6 var(--sans)}
#map-tooltip strong,#map-tooltip span,#map-tooltip small{display:block}#map-tooltip strong{font-weight:500;color:var(--pulse)}#map-tooltip small{color:var(--muted)}
.map-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem 1rem;color:var(--muted);font:.57rem var(--mono);margin-top:1rem}.map-legend>span{display:flex;align-items:center;gap:.4rem}.legend-dot,.city-dot{display:inline-block;background:var(--pulse);border-radius:50%;width:6px;height:6px;box-shadow:0 0 12px rgba(226,190,103,.5)}
.history-tag{color:var(--pulse)}.history-note{border-top:1px solid var(--line);padding-top:1rem}
.city-row,.unknown-row{width:100%;display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:1rem;padding:1rem 0;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;font:.85rem var(--sans)}
.city-row strong,.unknown-row strong{display:block;font-weight:400}.city-row small,.unknown-row small{display:block;font-size:.65rem;color:var(--muted);margin-top:.2rem}.city-row:hover{background:rgba(147,164,134,.05)}.row-meta{display:flex;gap:1rem;align-items:center;font:.57rem var(--mono);color:var(--muted)}.row-meta b,.unknown-row b{font:.85rem var(--mono);color:var(--leaf)}
.unknown-icon{font:.7rem var(--mono);color:var(--muted)}.unknown-row strong{color:var(--muted)}.empty-map{font:.8rem/1.7 var(--sans);color:var(--muted);padding:1rem;border:1px dashed var(--line)}
.detail-kicker{display:block;font:.6rem var(--mono);letter-spacing:.08em;color:var(--pulse);margin-bottom:1rem}.sources{margin-block:1.8rem}.sources a{display:grid;grid-template-columns:1fr auto;gap:.25rem 1rem;padding:.8rem 0;border-top:1px solid var(--line);text-decoration:none;font-size:.75rem}.sources a small{grid-column:1;color:var(--muted);font-size:.62rem}.sources a b{grid-row:1/3;grid-column:2;align-self:center;font-weight:400}#caveats{font-size:.8rem;line-height:1.7;color:var(--muted);padding-left:1.2rem}#caveats li{margin-bottom:.6rem}
@media(max-width:760px){.map-city{font-size:.6rem}.map-city small{font-size:.5rem}.row-meta{font-size:.5rem;gap:.6rem}.view-switch{max-width:100%;flex-wrap:wrap}.view-switch button{font-size:.6rem!important;padding-inline:.5rem!important}.city-row,.unknown-row{gap:.7rem}.map-legend{font-size:.5rem}.inventory-layout{border-radius:4px!important}}

.nav-links a[href$="/canopy/"] { color:var(--pulse); }
button,select { color:var(--lichen); background:transparent; border:1px solid var(--line); border-radius:4px; cursor:pointer; transition:color 160ms ease,background 160ms ease,border-color 160ms ease; }
button:hover,select:hover { color:var(--pulse); border-color:var(--line-strong); }
button:active { transform:translateY(1px); }
button:disabled { opacity:.4; cursor:not-allowed; }
.atlas-hero { margin:.75rem; border:1px solid var(--line); border-radius:.45rem; overflow:hidden; background:radial-gradient(ellipse at 65% 43%,rgba(70,102,71,.16),transparent 58%),linear-gradient(145deg,#09130e,#07100c 66%); }
.hero-inner { width:var(--page); margin:auto; position:relative; display:grid; grid-template-columns:minmax(16rem,.8fr) minmax(0,1.5fr); grid-template-rows:auto auto; gap:0 1rem; align-items:center; padding:3.5rem 0 2.5rem; }
.atlas-copy { position:relative; z-index:2; }
.tool-label { margin:0 0 1rem; font-size:.65rem; letter-spacing:.14em; }
h1 { margin:0; font-family:var(--display); font-size:clamp(4rem,7.8vw,7.4rem); font-weight:400; line-height:.88; letter-spacing:-.065em; }
h1 span { color:var(--pulse); }
.lede { font-family:var(--display); font-size:1.5rem; line-height:1.2; letter-spacing:-.025em; margin:1.8rem 0 1rem; }
.hero-note { color:var(--muted); max-width:30ch; font-size:.87rem; line-height:1.65; }
.atlas-copy .role-link { margin-top:.35rem; font-size:.74rem; }
.globe-wrap { grid-column:2; grid-row:1 / span 2; min-width:0; position:relative; align-self:center; }
#globe { position:relative; width:100%; height:clamp(23rem,40vw,37rem); touch-action:pan-y; cursor:grab; }
#globe:active { cursor:grabbing; }
#globe canvas { display:block; width:100%; height:100%; }
#loading,.webgl-fallback { position:absolute; top:45%; left:12%; right:12%; text-align:center; color:var(--leaf); font: .8rem/1.6 var(--mono); }
.globe-topline,.globe-bottomline { display:flex; align-items:center; justify-content:space-between; gap:1rem; color:var(--muted); font: .58rem/1.5 var(--mono); }
.globe-topline { letter-spacing:.09em; padding:0 1rem; }
#view-label { color:var(--pulse); text-align:right; }
.globe-bottomline { margin:0 1rem; padding-top:.5rem; border-top:1px solid var(--line); }
.globe-controls { display:flex; gap:.15rem; }
.globe-controls button { min-width:2.75rem; min-height:2.75rem; border:0; font:.75rem var(--mono); }
.globe-controls button[aria-pressed="true"] { color:var(--pulse); background:var(--wet-bark); }
.snapshot-panel { max-width:22rem; margin-top:1.5rem; padding:.8rem 1rem; border:1px solid var(--line); background:rgba(10,20,14,.56); }
.snapshot-head { display:flex; gap:.8rem; justify-content:space-between; padding-bottom:.7rem; border-bottom:1px solid var(--line); font:.66rem var(--mono); color:var(--muted); }
.snapshot-head strong { color:var(--pulse); font-weight:400; }
.snapshot-panel dl { margin:.3rem 0; }
.snapshot-panel dl div { display:flex; justify-content:space-between; gap:.6rem; padding:.35rem 0; font-size:.72rem; }
.snapshot-panel dt { color:var(--muted); }.snapshot-panel dd { margin:0; color:var(--leaf); }
.snapshot-panel p { color:var(--muted); font-size:.62rem; margin:.6rem 0 0; }
.regions-section,.bench-section,.method-section,.section-inner { width:var(--page); margin:0 auto; }
.regions-section { padding:4rem 0; }
.section-heading { display:flex; gap:2rem; align-items:flex-end; justify-content:space-between; margin-bottom:2rem; }
h2 { font-family:var(--display); font-size:clamp(1.9rem,3.3vw,3.1rem); font-weight:400; letter-spacing:-.045em; line-height:1.04; margin:0; }
.section-note { color:var(--muted); font-size:.8rem; line-height:1.7; margin:0; max-width:60ch; }
.view-switch { display:flex; flex-shrink:0; gap:.25rem; border-bottom:1px solid var(--line); }
.view-switch button { font:.67rem var(--mono); min-height:2.75rem; padding:.4rem .8rem; border:0; border-radius:0; border-bottom:2px solid transparent; }
.view-switch button[aria-pressed="true"] { color:var(--pulse); border-bottom-color:var(--pulse); }
.region-layout { display:grid; grid-template-columns:1.5fr 1fr; gap:clamp(2rem,7vw,6rem); }
#region-list { margin-top:1.3rem; }
.region-row { display:grid; grid-template-columns:minmax(7rem,.75fr) minmax(3rem,1fr) 2.8rem; gap:1rem; align-items:center; min-height:3rem; border-bottom:1px solid var(--line); font-size:.8rem; }
.region-track { height:3px; background:var(--line); }.region-track i { display:block; height:100%; background:var(--leaf); }
.region-row.unplaced { color:var(--muted); }.region-row.unplaced .region-track i { background:var(--moss); }
.region-count { font:.78rem var(--mono); text-align:right; }
.privacy-clearing { border-left:1px solid var(--line); padding-left:2rem; }
.fold-mark { font:2.5rem var(--display); color:var(--pulse); letter-spacing:-.05em; }
.privacy-clearing h3 { font:400 1.15rem var(--display); margin:.5rem 0; }
.privacy-clearing p { color:var(--muted); font-size:.8rem; line-height:1.65; max-width:38ch; }
.arc-control { display:flex; gap:.6rem; align-items:center; min-height:2.75rem; font-size:.75rem; cursor:pointer; }
.arc-control input { accent-color:var(--pulse); width:1rem; height:1rem; }.privacy-clearing small { color:var(--muted); font-size:.65rem; }
.inventory-section { position:relative; overflow:hidden; background:linear-gradient(180deg,#07100c,#050c09 20%,#050c09 80%,#07100c); border-block:1px solid var(--line); padding:6.5rem 0 3rem; }
.glyph-canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.section-inner { position:relative; }
.inventory-layout { display:grid; grid-template-columns:1fr 1.7fr; gap:3rem; background:rgba(10,25,18,.94); border:1px solid var(--line); border-radius:14px; padding:2.5rem; }
.filters { display:flex; flex-direction:column; gap:.3rem; }
.filters button { display:flex; justify-content:space-between; align-items:center; gap:1rem; font-size:.85rem; text-align:left; min-height:3.25rem; border:0; border-bottom:1px solid var(--line); border-radius:0; padding:.65rem .5rem; color:var(--muted); }
.filters button span { font:.7rem var(--mono); }.filters button[aria-pressed="true"] { color:var(--pulse); border-bottom-color:var(--pulse); }
#detail { min-height:15rem; }
#detail h3 { font:400 1.8rem var(--display); letter-spacing:-.035em; margin:0 0 1rem; }
#detail p { color:var(--muted); font-size:.85rem; line-height:1.7; margin:0 0 1rem; }
#detail dl { margin:0; }#detail dl div { display:flex; gap:1rem; justify-content:space-between; padding:.6rem 0; border-top:1px solid var(--line); font-size:.75rem; }#detail dt { color:var(--muted); }#detail dd { margin:0; text-align:right; color:var(--leaf); }
.inventory-foot { color:var(--muted); font-size:.7rem; line-height:1.7; margin:1.2rem 0 0; max-width:90ch; }
.bench-section { padding:4rem 0; }
.client-select { display:grid; gap:.4rem; font:.65rem var(--mono); color:var(--muted); }
.client-select select { font:.75rem var(--sans); min-height:2.75rem; padding:.6rem 2rem .6rem .8rem; background:var(--wet-bark); }
#benchmark-bars { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin:2rem 0; }
.bench-item { padding:0 1.25rem; border-left:1px solid var(--line); }.bench-item:first-child { border:0; padding-left:0; }
.bench-name { font-size:.75rem; color:var(--muted); }.bench-value { font:2rem var(--display); letter-spacing:-.04em; margin:1rem 0; }.bench-value.unmeasured { font-size:1.2rem; min-height:3rem; display:flex; align-items:center; color:var(--leaf); }
.bench-track { height:3px; background:var(--line); position:relative; margin:1rem 0; }.bench-track span { position:absolute; top:0; height:100%; background:var(--pulse); }.bench-track .range { opacity:.4; }.bench-track.unmeasured { background:repeating-linear-gradient(90deg,var(--line-strong) 0 3px,transparent 3px 7px); }
.bench-desc { font:.6rem/1.7 var(--mono); color:var(--muted); }
.method-section { border-top:1px solid var(--line); padding:3.5rem 0 4rem; }
.method-layout { display:grid; grid-template-columns:1fr 1.7fr; gap:3rem; }.method-layout h2 { color:var(--leaf); }.method-layout p { font-size:.84rem; line-height:1.75; color:var(--muted); margin:0 0 1rem; }.method-layout a { color:var(--lichen); text-decoration:underline; text-decoration-color:var(--line-strong); text-underline-offset:.2em; }.method-layout a:hover { color:var(--pulse); }
details { border-block:1px solid var(--line); margin-top:1.5rem; }summary { padding:1rem 0; cursor:pointer; font-size:.8rem; }details p:last-child { margin-bottom:1.5rem; }.noscript { width:var(--page); margin:2rem auto; }
@media(min-width:1600px) { .hero-inner { padding-block:4.5rem; } }
@media(max-width:1050px) { .view-switch { flex-shrink:1; }.section-heading { align-items:flex-start; }#benchmark-bars { grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem 0; }.bench-item:nth-child(4) { padding-left:0; border:0; } }
@media(max-width:760px) { .hero-inner { grid-template-columns:1fr; gap:1rem; padding:2rem 0 1.2rem; }.atlas-hero { margin:.5rem; }.atlas-copy h1 { font-size:4.7rem; }.atlas-copy .tool-label { margin-bottom:1.4rem; }.lede { margin-top:1.3rem; font-size:1.3rem; }.hero-note { max-width:42ch; font-size:.8rem; }.globe-wrap { grid-column:1; grid-row:auto; margin:1rem -.5rem 0; }#globe { height:24rem; }.globe-topline { font-size:.51rem; }.globe-bottomline { font-size:.55rem; }.snapshot-panel { margin-top:0; max-width:none; }.section-heading { flex-direction:column; gap:1.5rem; }.region-layout,.method-layout { grid-template-columns:1fr; gap:2rem; }.privacy-clearing { padding:1.2rem; background:rgba(16,34,25,.45); }.privacy-clearing p { max-width:none; }.fold-mark { font-size:2rem; }.regions-section,.bench-section { padding:3rem 0; }.inventory-section { padding-top:4rem; }.inventory-layout { grid-template-columns:1fr; padding:1.2rem; gap:1.5rem; }.filters { display:grid; grid-template-columns:1fr 1fr; gap:.5rem 1rem; }.filters button { font-size:.75rem; }#detail { min-height:14rem; }#benchmark-bars { grid-template-columns:1fr 1fr; }.bench-item:nth-child(odd) { border:0; padding-left:0; }.bench-item:nth-child(even) { padding-left:1rem; border-left:1px solid var(--line); }.method-section { padding-block:3rem; }.method-layout h2 br { display:none; } }
@media(max-width:380px) { #globe { height:20rem; }.globe-controls button { min-width:2.3rem; }.globe-bottomline { gap:.2rem; }.view-switch button { padding-inline:.55rem; font-size:.6rem; }.atlas-copy h1 { font-size:4.2rem; } }
