:root{
  --night:#111934;--night2:#1B2550;--line:#2E3A6B;--phos:#8BE8D8;--star:#E9ECF5;--mute:#8D96B8;--gold:#E8C26A;
  --glow:#E9A877;--land:#0D1328;--land2:#1A2240;
  --paper:#F2EEE6;--paper2:#E9E3D8;--ink:#1A2130;--ink2:#3A4250;--inkmute:#5E6677;--rule:#D3CCBE;--link:#24508A;
  --unres:#CDEFEA;--unres-ink:#0F4A44;--disp:#E8E1F4;--disp-ink:#45307A;--ident:#E1E4EC;--ident-ink:#2A3350;
  --doc:#EFE6D2;--doc-ink:#5E4A1E;--fab:#ECE6DA;--fab-ink:#6B5E48;
  --display:"Archivo",system-ui,sans-serif;--serif:"Source Serif 4",Georgia,serif;
  --wrap:1240px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.7 var(--serif)}
img{max-width:100%;height:auto}
a{color:var(--link);text-underline-offset:2px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--phos);outline-offset:2px;border-radius:3px}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:99;background:var(--ink);color:#fff;padding:8px 12px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 48px}
h1,h2,h3{font-family:var(--display);line-height:1.08;margin:0}
p{margin:0 0 1em}

/* header */
.site-head{background:var(--night);color:var(--star)}
.site-head.on-dark{position:absolute;left:0;right:0;top:0;z-index:5;background:transparent}
.head-row{display:flex;justify-content:space-between;align-items:center;padding-top:22px;padding-bottom:22px;gap:24px}
.brand{display:flex;gap:12px;align-items:center;font:800 20px var(--display);font-stretch:125%;color:var(--star);text-decoration:none;white-space:nowrap}
.brand svg{color:var(--phos)}
.nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap;justify-content:flex-end}
.nav a{font:500 15px var(--display);color:#C3C9DE;text-decoration:none}
.nav a[aria-current=page]{color:var(--star);text-decoration:underline;text-decoration-color:var(--phos);text-underline-offset:6px}
.nav a.cta{color:var(--night);background:var(--phos);padding:8px 15px;border-radius:999px;font-weight:700}

/* hero */
.scene{position:relative;min-height:880px;overflow:hidden;color:var(--star);
  background:linear-gradient(180deg,#0E1530 0%,var(--night) 35%,var(--night2) 62%,#3B3F6A 76%,#9A7A86 84%,var(--glow) 90%)}
.scene .copy{position:relative;z-index:4;max-width:var(--wrap);margin:0 auto;padding:128px 48px 0}
.scene h1{font-weight:800;font-size:clamp(52px,7vw,92px);line-height:.92;font-stretch:118%;letter-spacing:-.02em;max-width:9.5ch}
.scene h1 span{display:block;font-weight:400;font-stretch:62%;color:#B9C1DC;letter-spacing:0}
.scene .lead{margin-top:22px;font-size:19px;max-width:40ch;color:#C9CFE2}
.go{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;font:600 15px var(--display);text-decoration:none;color:var(--night);background:var(--phos);padding:12px 20px;border-radius:999px;border:1.5px solid var(--phos);cursor:pointer}
.btn.ghost{background:transparent;color:var(--star);border-color:#4A5688}
.btn.ink{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn.ink-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
svg.dome{position:absolute;left:50%;bottom:120px;transform:translateX(-30%);width:1100px;height:578px;z-index:2}
svg.dome text{font-family:var(--display);fill:var(--mute)}
svg.dome a text{fill:var(--star)}
svg.dome a:hover circle.ring,svg.dome a:focus circle.ring{stroke:var(--gold)}
svg.dome .dot{transition:r .15s}
svg.dome a:hover .dot{r:4}
svg.land{position:absolute;bottom:0;left:0;width:100%;height:220px;z-index:3}
.scene .cap{position:absolute;z-index:4;left:48px;bottom:30px;font:400 13.5px/1.45 var(--display);color:#8D96B8;max-width:46ch;margin:0}
.legend{display:flex;gap:18px;flex-wrap:wrap;font:500 13.5px var(--display);color:#AEB6D0}
.scene .legend{position:absolute;z-index:4;right:48px;bottom:34px}
.legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px}

/* bands & lists */
.band{max-width:var(--wrap);margin:0 auto;padding:64px 48px}
.band h2{font-weight:800;font-size:34px;font-stretch:112%}
.sub{color:var(--inkmute);font-size:16.5px;margin-top:10px;max-width:58ch}
.split{display:grid;grid-template-columns:300px 1fr;gap:56px}
.shapes{display:grid;grid-template-columns:repeat(6,1fr);margin-top:30px;border-top:2px solid var(--ink)}
.shapes.all{grid-template-columns:repeat(4,1fr)}
.shape{padding:22px 16px 18px 0;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink);display:block}
.shapes .shape{padding-left:18px}
.shape svg{height:40px;width:auto;display:block;margin-bottom:14px;color:var(--ink)}
.shape b{font:700 18px var(--display);display:block}
.shape span{font:400 14px/1.4 var(--display);color:var(--inkmute)}
.shape:hover b{text-decoration:underline}
.rows{border-top:2px solid var(--ink)}
.row{display:grid;grid-template-columns:86px 1fr 200px;gap:24px;padding:18px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.row .y{font:700 22px var(--display);font-stretch:75%}
.row h3{font:700 20px var(--display)}
.row h3 a{color:var(--ink);text-decoration:none}
.row h3 a:hover{text-decoration:underline}
.row p{font-size:16px;color:var(--ink2);margin:4px 0 0}
.row .st{font:600 13px var(--display);text-align:right}
.row .st small{display:block;font-weight:400;color:var(--inkmute);font-size:12.5px;margin-top:4px;line-height:1.35}
.pill{display:inline-block;padding:2px 10px;border-radius:999px;font:600 13px/1.6 var(--display);white-space:nowrap}
.pill.unresolved{background:var(--unres);color:var(--unres-ink)}
.pill.disputed,.pill.investigated{background:var(--disp);color:var(--disp-ink)}
.pill.identified{background:var(--ident);color:var(--ident-ink)}
.pill.documented,.pill.reported{background:var(--doc);color:var(--doc-ink)}
.pill.fabricated{background:var(--fab);color:var(--fab-ink)}
.pill.crop{background:#F4E6C2;color:#6B5418}

/* page header (inner pages) */
.page-head{background:linear-gradient(180deg,var(--night) 0%,var(--night2) 70%,#2C3260 100%);color:var(--star);padding:40px 0 48px}
.page-head h1{font-weight:800;font-size:clamp(38px,5vw,60px);font-stretch:112%;letter-spacing:-.01em;max-width:18ch}
.page-head .lead{color:#C9CFE2;font-size:18.5px;max-width:58ch;margin-top:16px}
.crumbs{font:500 14px var(--display);color:var(--mute);margin-bottom:16px}
.crumbs a{color:var(--mute)}

/* case page */
.case-head .meta{display:flex;gap:10px 22px;flex-wrap:wrap;margin-top:20px;font:500 15px var(--display);color:#C3C9DE}
.case-head .meta b{color:var(--star);font-weight:700}
.case-head .verdicts{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px;align-items:center}
.verdict-box{border:1px solid #3A4678;border-radius:6px;padding:8px 12px;font:500 14px/1.4 var(--display);color:#C3C9DE;max-width:520px}
.verdict-box b{display:block;color:var(--star);font-size:15px}
.case-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;padding-top:48px;padding-bottom:72px}
.case-main h2{font-weight:800;font-size:24px;font-stretch:108%;margin:36px 0 12px}
.case-main h2:first-child{margin-top:0}
.case-main p{max-width:68ch}
.original{border-left:3px solid var(--ink);padding:4px 0 4px 20px;margin:0 0 8px;font-style:italic;color:var(--ink2);max-width:66ch}
.original-src{font:500 13.5px var(--display);color:var(--inkmute)}
.anomalous{background:var(--night);color:var(--star);border-radius:10px;padding:26px 28px;margin:36px 0 8px}
.anomalous h2{color:var(--phos);margin-top:0!important}
.anomalous p{color:#D5DAEA}
.anomalous .note{font:400 13px var(--display);color:var(--mute);margin:0}
.interps{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.interp{border-top:2px solid var(--ink);padding-top:12px}
.interp b{font:700 16px var(--display);display:block;margin-bottom:6px}
.interp p{font-size:16.5px}
.figure{margin:24px 0}
.figure img{display:block;border-radius:6px;max-height:520px;width:auto;background:var(--paper2)}
.figure figcaption{font:400 13.5px/1.5 var(--display);color:var(--inkmute);margin-top:8px}
.facts{font:400 15px/1.5 var(--display)}
.facts dl{margin:0;border-top:2px solid var(--ink)}
.facts dt{font-weight:700;margin-top:14px;color:var(--ink)}
.facts dd{margin:2px 0 0;color:var(--ink2)}
.facts dd a{color:var(--link)}
.side-block{margin-top:30px}
.side-block h3{font:700 16px var(--display);border-top:2px solid var(--ink);padding-top:12px;margin-bottom:8px}
.side-block ul{list-style:none;margin:0;padding:0}
.side-block li{margin:0 0 10px;font:400 15px/1.45 var(--display)}
.side-block li small{display:block;color:var(--inkmute)}
.sources{margin:0;padding-left:20px;font:400 15.5px/1.55 var(--display)}
.sources li{margin-bottom:8px}
.sources small{color:var(--inkmute)}
.crop-note{background:#FBF4E2;border:1px solid #EAD9AE;border-radius:8px;padding:14px 16px;font:400 15px/1.5 var(--display)}
.crop-note b{color:#6B5418}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:500 13.5px var(--display);border:1px solid var(--rule);border-radius:999px;padding:3px 10px;color:var(--ink);text-decoration:none;background:#F7F4EE}
.chip:hover{border-color:var(--ink)}

/* database */
.filters{display:grid;grid-template-columns:2fr repeat(5,1fr);gap:12px;margin:-28px 0 24px;position:relative;z-index:2;background:#fff;border-radius:10px;padding:16px;box-shadow:0 10px 30px -18px rgba(17,25,52,.5)}
.filters label{display:block;font:600 12.5px var(--display);color:var(--inkmute);margin-bottom:4px}
.filters input,.filters select{width:100%;font:400 15px var(--display);padding:9px 10px;border:1px solid var(--rule);border-radius:6px;background:#FBFAF7;color:var(--ink)}
.result-count{font:500 15px var(--display);color:var(--inkmute);margin-bottom:8px}
.extra{margin-top:56px}
.extra table{width:100%;border-collapse:collapse;font:400 15px var(--display)}
.extra th,.extra td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--rule)}
.extra th{font-weight:700;border-bottom:2px solid var(--ink)}

/* timeline */
.era{display:grid;grid-template-columns:260px 1fr;gap:48px;padding:48px 0;border-bottom:1px solid var(--rule)}
.era h2{font-size:28px;font-weight:800;font-stretch:110%}
.era .range{font:700 18px var(--display);font-stretch:75%;color:var(--inkmute);display:block;margin-top:6px}
.tl{list-style:none;margin:0;padding:0;border-left:2px solid var(--ink)}
.tl li{position:relative;padding:0 0 18px 22px}
.tl li::before{content:"";position:absolute;left:-6px;top:9px;width:10px;height:10px;border-radius:50%;background:var(--paper);border:2px solid var(--ink)}
.tl li.unresolved::before{background:var(--phos);border-color:#3D8F86}
.tl .when{font:700 15px var(--display);font-stretch:80%;color:var(--inkmute);margin-right:8px}
.tl a{font:600 17px var(--display);color:var(--ink);text-decoration:none}
.tl a:hover{text-decoration:underline}
.tl p{font-size:15.5px;color:var(--ink2);margin:2px 0 0;max-width:70ch}

/* map */
.map-wrap{position:relative}
#map{height:68vh;min-height:460px;border-radius:10px;background:#0E1530}
.map-controls{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;background:#fff;border-radius:10px;padding:14px 18px;margin:18px 0;font:500 15px var(--display)}
.map-controls input[type=range]{width:100%;accent-color:var(--night2)}
.map-controls output{font-weight:700;min-width:13ch;text-align:right}
.leaflet-popup-content{font:400 14px/1.45 var(--display)}
.leaflet-popup-content a{font-weight:700}

/* documents */
.doc-group{margin-top:40px}
.doc-group h2{font-size:26px;font-weight:800;margin-bottom:12px}
.doc-list{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.doc-list li{display:grid;grid-template-columns:1fr 280px;gap:20px;padding:12px 0;border-bottom:1px solid var(--rule);font:400 15.5px/1.45 var(--display)}
.doc-list li small{color:var(--inkmute)}

/* prose pages */
.prose{max-width:760px}
.prose h2{font-size:26px;font-weight:800;margin:40px 0 12px}
.prose dl dt{font:700 17px var(--display);margin-top:16px}
.prose dl dd{margin:4px 0 0}

/* decoder */
.decoder{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:40px;padding-top:40px;padding-bottom:72px}
.presets{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.presets button{font:600 14px var(--display);border:1.5px solid var(--ink);background:transparent;border-radius:999px;padding:6px 12px;cursor:pointer;color:var(--ink)}
.presets button:hover{background:var(--ink);color:var(--paper)}
.pick-search{width:100%;font:400 16px var(--display);padding:11px 12px;border:1px solid var(--rule);border-radius:8px;background:#fff;margin-bottom:10px}
.pick-list{max-height:520px;overflow:auto;border-top:2px solid var(--ink)}
.pick{display:grid;grid-template-columns:28px 64px 1fr auto;gap:10px;align-items:center;padding:9px 4px;border-bottom:1px solid var(--rule);font:400 15px var(--display);cursor:pointer}
.pick input{width:18px;height:18px;accent-color:var(--night2)}
.pick .yy{font-weight:700;font-stretch:80%;color:var(--inkmute)}
.tray{position:sticky;top:20px;align-self:start;background:var(--night);color:var(--star);border-radius:12px;padding:22px}
.tray h2{font-size:22px;color:var(--star)}
.tray ol{padding-left:20px;font:400 15px/1.5 var(--display);color:#D5DAEA;min-height:40px}
.tray .hint{font:400 13.5px var(--display);color:var(--mute)}
.reading{margin-top:28px}
.share-card{background:linear-gradient(160deg,var(--night) 0%,var(--night2) 75%,#3B3F6A 100%);color:var(--star);border-radius:14px;padding:32px;position:relative;overflow:hidden}
.share-card h2{font-size:30px;font-weight:800;font-stretch:112%;color:var(--star);max-width:22ch}
.share-card .wm{position:absolute;right:20px;bottom:14px;font:800 13px var(--display);font-stretch:125%;letter-spacing:.08em;color:rgba(139,232,216,.55)}
.share-card p{color:#D5DAEA}
.share-card h3{font:700 15px var(--display);color:var(--phos);margin:20px 0 6px}
.share-card ul{margin:0;padding-left:20px;color:#D5DAEA;font-size:16.5px}
.share-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.err{background:#FBE9E5;border:1px solid #E7B8AC;color:#6E2617;border-radius:8px;padding:12px 14px;font:500 15px var(--display)}

/* footer */
.site-foot{background:var(--night);color:#C3C9DE;padding:48px 0 28px;font:400 15px/1.6 var(--display)}
.site-foot a{color:var(--star)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
.foot-grid nav{display:flex;flex-direction:column;gap:8px}
.foot-brand{font:800 18px var(--display);font-stretch:125%;color:var(--star)}
.foot-small{margin-top:32px;font-size:13px;color:var(--mute)}

@media (max-width:1000px){
  .wrap,.band{padding-left:24px;padding-right:24px}
  .scene .copy{padding:110px 24px 0}
  svg.dome{transform:translateX(-50%);width:900px;height:473px;bottom:150px;opacity:.85}
  .scene .cap{display:none}.scene .legend{left:24px;right:24px}
  .split,.case-body,.decoder,.era{grid-template-columns:1fr;gap:28px}
  .shapes,.shapes.all{grid-template-columns:repeat(3,1fr)}
  .filters{grid-template-columns:1fr 1fr}
  .filters .q{grid-column:1/-1}
  .row{grid-template-columns:64px 1fr}
  .row .st{grid-column:2;text-align:left}
  .foot-grid{grid-template-columns:1fr}
  .interps{grid-template-columns:1fr}
  .doc-list li{grid-template-columns:1fr}
  .tray{position:static}
}
@media (max-width:640px){
  body{font-size:17px}
  .nav{gap:14px}.nav a{font-size:14px}
  .head-row{flex-direction:column;align-items:flex-start}
  .site-head.on-dark{position:relative;background:var(--night)}
  .scene .copy{padding-top:24px}
  .scene{min-height:820px}
  svg.dome{width:640px;height:336px;bottom:170px;opacity:.7}
  svg.dome a text{display:none}
  .shapes,.shapes.all{grid-template-columns:repeat(2,1fr)}
  .filters{grid-template-columns:1fr;margin-top:-20px}
  .map-controls{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
