*{box-sizing:border-box}
:root{--bg:#0a0a08;--card:#151310;--card2:#1c1913;--text:#f4f1e8;--muted:#b3ab99;--line:#3d382a;--cyan:#5ce1e6;--blue:#4ea8de;--green:#7ce8a0;--gold:#ffe9a8;--earth:#b59a68;--rose:#ff8fa3;--purple:#b68cff}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#050505 0%,#12100a 38%,#1a160d 72%,#0a0a06 100%);color:var(--text);font:16px/1.72 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
main{max-width:1200px;margin:auto;padding:28px 18px 80px}
.hero{padding:78px 20px 52px;text-align:center;background:linear-gradient(180deg,#000 0%,#141007 45%,#3a2f14 78%,transparent)}
.eyebrow,.section-kicker{letter-spacing:.18em;font-size:.75rem;color:var(--cyan);font-weight:800}
h1{font-size:clamp(2.3rem,6vw,5rem);line-height:1.03;margin:16px auto 12px;max-width:1000px}
h2{font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.15;margin:7px 0 18px}
h3{line-height:1.25}
p{color:#d8e5ee}
.subtitle{font-size:1.3rem;color:var(--muted)}
.hero-question{margin:30px auto 20px;font-size:clamp(1.05rem,2vw,1.5rem);font-weight:800;color:var(--gold);letter-spacing:.12em}
.hero-flow,.flow-bottom{display:flex;justify-content:center;gap:15px;align-items:center;flex-wrap:wrap;font-weight:900;letter-spacing:.12em}
.hero-flow span,.flow-bottom span{padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:#0d1b27}
.hero-flow i,.flow-bottom i{color:var(--cyan)}
.card{background:linear-gradient(145deg,rgba(16,34,44,.94),rgba(9,20,22,.96));border:1px solid var(--line);border-radius:22px;padding:30px;margin:20px 0;box-shadow:0 20px 60px rgba(0,0,0,.18)}
.section-kicker{margin-bottom:5px}
.card strong{color:#fff}
.callout,.warning,.source-note{border-left:4px solid var(--gold);background:#111f2b;padding:16px 18px;border-radius:10px;margin:20px 0}
.warning{border-left-color:var(--rose)}
.source-note{border-left-color:var(--cyan);font-size:.92rem;color:var(--muted)}
.verse-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.verse-grid article{border:1px solid var(--line);border-radius:15px;padding:17px;background:#0a1620}
.verse-grid span{color:var(--gold);font-weight:900}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.lexicon{display:grid;gap:10px}
.lexicon article{border:1px solid var(--line);border-radius:13px;padding:15px;background:#0a1620}
.lexicon h3{margin:0 0 5px;color:var(--cyan);font-size:1rem}
.lexicon p{margin:0;font-size:.93rem}
.flow{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;margin:30px 0}
.flow-node{min-width:105px;min-height:105px;border:1px solid #33546b;background:#0a1823;color:var(--text);border-radius:18px;padding:13px;cursor:pointer;transition:.2s transform,.2s box-shadow,.2s border-color}
.flow-node:hover,.flow-node:focus{transform:translateY(-5px);border-color:var(--cyan);box-shadow:0 0 25px rgba(92,225,230,.2);outline:none}
.flow-node b{display:block;font-size:1.25rem}.flow-node small{display:block;color:var(--muted)}.flow-node span{display:block;font-size:.65rem;letter-spacing:.08em;margin-top:6px}
.water{border-color:#3c7fc2}.land{border-color:#b59a68}.sea{border-color:#4ea8de}.green{border-color:var(--green)}.seed{border-color:var(--gold)}.fruit{border-color:var(--rose)}
.arrow{color:var(--cyan);font-size:1.5rem;font-weight:900}
.kind-diagram{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin:25px 0}
.kind-box{padding:17px 19px;text-align:center;border:1px solid var(--line);border-radius:15px;background:#0a1620}.kind-box strong{display:block;color:var(--green)}.kind-box small{color:var(--muted)}
.text-trigger,.rabbit-grid button,.canonical button{border:1px solid #35556c;background:#0b1b28;color:var(--text);border-radius:12px;padding:12px 15px;cursor:pointer}.text-trigger:hover,.rabbit-grid button:hover,.canonical button:hover{border-color:var(--cyan);background:#102737}
.matrix{width:100%;border-collapse:collapse;margin:20px 0}.matrix th,.matrix td{border:1px solid var(--line);padding:12px;text-align:left}.matrix th{color:var(--cyan);background:#0a1620}.matrix .highlight{background:rgba(115,230,154,.08)}
.compare-grid,.science-grid,.artifact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.compare-grid>div,.science-grid article,.artifact-grid article{border:1px solid var(--line);border-radius:15px;padding:18px;background:#0a1620}.compare-grid h3,.science-grid h3{color:var(--gold)}
.season-wheel{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin:25px 0}.season{width:105px;height:105px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;text-align:center;border:1px solid var(--line);background:#102131;font-weight:900}.season small{font-weight:400;color:var(--muted)}
.canonical{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:25px 0}.canonical button{min-height:82px}
.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;position:relative}.timeline:before{content:"";position:absolute;top:16px;left:5%;right:5%;height:2px;background:var(--line)}.timeline>div{position:relative;padding:40px 14px 14px;border:1px solid var(--line);border-radius:14px;background:#0a1620}.timeline>div:before{content:"";position:absolute;top:9px;left:calc(50% - 7px);width:12px;height:12px;border-radius:50%;background:var(--cyan);box-shadow:0 0 15px rgba(92,225,230,.5)}.timeline b{display:block;color:var(--gold);margin-bottom:8px}.timeline span{font-size:.88rem;color:var(--muted)}
.debate details{border-bottom:1px solid var(--line);padding:15px 0}.debate summary{cursor:pointer;font-weight:800;color:var(--cyan)}.debate p{padding-left:18px}
.rabbit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.rabbit-grid button{min-height:70px}
.final-question{text-align:center;padding:50px 30px}.closing{font-size:1.2rem}
.sources li{margin:7px 0}.source-links{color:var(--muted);font-size:.9rem}
.panel{position:fixed;right:18px;bottom:18px;width:min(520px,calc(100vw - 36px));max-height:75vh;overflow:auto;background:#09151f;border:1px solid #3a6079;border-radius:18px;box-shadow:0 25px 80px rgba(0,0,0,.55);z-index:20;padding:0 22px 22px}
.panel-head{position:sticky;top:0;background:#09151f;padding:18px 0 12px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:var(--cyan);font-weight:900;letter-spacing:.1em}.panel-head button{background:none;border:0;color:#fff;font-size:1.8rem;cursor:pointer}.hidden{display:none}
.tooltip{position:fixed;z-index:30;pointer-events:none;max-width:300px;padding:9px 12px;border:1px solid #3a6079;border-radius:10px;background:#071018;color:#eaf7ff;box-shadow:0 12px 30px rgba(0,0,0,.4);font-size:.85rem}
@media(max-width:900px){.verse-grid{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.timeline{grid-template-columns:1fr}.timeline:before{display:none}.timeline>div{padding-top:20px}.timeline>div:before{display:none}}
@media(max-width:600px){main{padding:16px 10px 60px}.card{padding:22px 17px;border-radius:17px}.verse-grid,.compare-grid,.science-grid,.artifact-grid{grid-template-columns:1fr}.rabbit-grid{grid-template-columns:1fr}.flow{display:grid;grid-template-columns:1fr}.flow .arrow{text-align:center;transform:rotate(90deg)}.flow-node{width:100%}.canonical{flex-direction:column}.canonical span{transform:rotate(90deg)}}

/* — Week 2 light motifs — */
.viz-frame{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#050505;margin:18px 0}
.svg-note{cursor:pointer;outline:none}
.svg-note:hover circle,.svg-note:focus circle{filter:brightness(1.25)}
.svg-note:focus-visible circle{stroke:var(--cyan);stroke-width:3}
.luminaries{position:relative;height:170px;margin-top:14px;border-top:1px solid var(--line);overflow:hidden}
.lum-sun{position:absolute;left:12%;top:38px;width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff6c1,#f5c542 55%,#a06a1a);box-shadow:0 0 45px 12px rgba(245,197,66,.35)}
.lum-moon{position:absolute;left:42%;top:62px;width:38px;height:38px;border-radius:50%;background:radial-gradient(circle at 38% 34%,#fdfdfd,#cfcfcf 55%,#8a8a8a);box-shadow:0 0 22px 6px rgba(240,240,240,.28)}
.lum-stars i{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;opacity:.8;animation:twinkle 3s ease-in-out infinite}
.lum-stars i:nth-child(1){left:60%;top:20px}.lum-stars i:nth-child(2){left:70%;top:70px;animation-delay:-1s}
.lum-stars i:nth-child(3){left:78%;top:35px;animation-delay:-2s}.lum-stars i:nth-child(4){left:85%;top:90px;animation-delay:-.5s}
.lum-stars i:nth-child(5){left:90%;top:25px;animation-delay:-1.6s}.lum-stars i:nth-child(6){left:66%;top:115px;animation-delay:-2.4s}
.lum-stars i:nth-child(7){left:95%;top:60px;animation-delay:-.8s}.lum-stars i:nth-child(8){left:55%;top:100px;animation-delay:-1.9s}
.lum-caption{position:absolute;left:0;right:0;bottom:8px;margin:0;text-align:center;font-size:.8rem;color:var(--muted)}
@keyframes twinkle{0%,100%{opacity:.25}50%{opacity:.95}}
@media(prefers-reduced-motion:reduce){.lum-stars i{animation:none!important;opacity:.8}}

/* — Ancient Near East map (Leaflet, vendored in assets/leaflet) — */
.ane-map{height:440px;border-radius:14px;border:1px solid var(--line);overflow:hidden;background:#0a1418;z-index:0}
.ane-map .leaflet-control-zoom a{background:var(--card2);color:var(--text);border-color:var(--line)}
.ane-map .leaflet-control-attribution{background:rgba(8,16,22,.75);color:var(--muted);font-size:9px}
.ane-map .leaflet-control-attribution a{color:var(--cyan)}
.ane-map .leaflet-tooltip{background:var(--card2);color:var(--text);border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:11px;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 4px 14px rgba(0,0,0,.5)}
.ane-map .leaflet-tooltip:before{display:none}
.ane-map .leaflet-popup-content-wrapper{background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.6)}
.ane-map .leaflet-popup-content{margin:14px 16px;font-family:inherit;font-size:13px;line-height:1.55}
.ane-map .leaflet-popup-content .site-name{color:var(--gold);font-size:14px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px}
.ane-map .leaflet-popup-content .site-meta{color:var(--cyan);font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}
.ane-map .leaflet-popup-content .site-desc{color:var(--muted)}
.ane-map .leaflet-popup-tip{background:var(--card)}
.ane-map .leaflet-popup-close-button{color:var(--muted)!important}
.ane-map .site-pin{width:14px;height:14px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--gold);border:2px solid #081016;box-shadow:0 0 0 2px var(--gold),0 0 12px rgba(245,201,107,.55)}
.ane-map .site-pin.major{background:var(--cyan);box-shadow:0 0 0 2px var(--cyan),0 0 14px rgba(92,225,230,.6)}
.map-legend{margin-top:12px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:8px}
.legend-dot{width:10px;height:10px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--gold);box-shadow:0 0 0 2px rgba(245,201,107,.4)}
.map-note{color:var(--muted);font-size:.85em}
@media(max-width:600px){.ane-map{height:320px}}
