
:root{color-scheme:dark;--ink:#08151b;--paper:#fff1d7;--muted:#bdcbc8;--copper:#ffb278;--teal:#74dbca;--border:#b9e2d32d}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:var(--ink);color:var(--paper)}button,a,input{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}button,a{transition:transform .22s,box-shadow .22s,background .22s}button{min-height:48px;border:1px solid var(--border);border-radius:12px;padding:12px 20px;background:linear-gradient(155deg,#29454b,#11282f);box-shadow:inset 0 1px 0 #ffffff35,0 5px 0 #061318,0 9px 20px #0004}button:hover,a.card:hover{transform:translateY(-3px);box-shadow:inset 0 1px 0 #ffffff50,0 8px 0 #061318,0 16px 28px #0006}button:active{transform:translateY(2px)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--teal);outline-offset:5px}button:disabled{cursor:default;opacity:.65}a{color:var(--teal)}#project{position:relative;min-height:100svh;overflow:hidden}#world,.shade,.grain{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}#world{background:radial-gradient(ellipse at 70% 30%,#4e817e,#0b2432 65%)}.shade{background:linear-gradient(90deg,#071419e8 0%,#07141972 49%,#07141910),linear-gradient(0deg,#071419 0%,transparent 40%)}.grain{opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='white' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}header,footer,main{position:relative;z-index:1}header{display:flex;justify-content:space-between;align-items:center;padding:28px 4vw;gap:20px}.brand{box-shadow:none!important;background:none;border:0;text-align:left;padding:0}.brand span{display:block;font-weight:800;font-size:20px;letter-spacing:.12em}.brand small{font-size:10px;letter-spacing:.32em;color:var(--teal)}.tools{display:flex;gap:9px}.tools button{font-size:12px;padding:10px 14px;min-height:44px}main{padding:0 6vw 70px;min-height:calc(100svh - 180px)}footer{display:flex;justify-content:space-between;gap:20px;padding:20px 4vw;font-size:11px;color:var(--muted)}footer a{font-size:12px}.hero{min-height:72svh;display:flex;flex-direction:column;justify-content:center;max-width:830px}.eyebrow{color:var(--teal);letter-spacing:.24em;font-weight:600;font-size:12px;text-transform:uppercase}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(58px,7.6vw,118px);line-height:.91;letter-spacing:-.06em;margin:22px 0 26px;text-shadow:0 4px 0 #0002,0 18px 40px #0005}h1 em{color:var(--copper);font-weight:400}.intro{max-width:560px;font-size:19px;line-height:1.7;color:var(--muted)}.primary{background:linear-gradient(145deg,#ffcf98,#c37447);color:#21150d;border-color:#ffe3ad;box-shadow:inset 0 1px 0 #ffffffa0,0 6px 0 #703f28,0 12px 30px #0005;font-weight:700;font-size:17px;padding:18px 28px;min-height:60px}.primary:hover{box-shadow:inset 0 1px 0 #ffffffa0,0 9px 0 #703f28,0 18px 32px #0006}.actions{display:flex;flex-wrap:wrap;gap:14px;margin:24px 0}.fine{color:var(--muted);font-size:13px;line-height:1.6}.topline{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:24px 0}h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(34px,4.5vw,65px);letter-spacing:-.035em;margin:12px 0 20px}h3{font-size:20px;line-height:1.3}p{line-height:1.7}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}.filters button[aria-pressed=true]{border-color:var(--teal);color:var(--teal)}.atlas-layout{display:grid;grid-template-columns:1.05fr 1.3fr;gap:4vw}.map{position:sticky;top:20px;align-self:start;min-height:440px;background:linear-gradient(145deg,#234348c9,#081b24d9);border:1px solid var(--border);border-radius:28px;box-shadow:inset 0 2px 0 #ffffff20,0 14px 0 #05101599,0 30px 60px #0005;padding:28px;perspective:800px}.map svg{width:100%;height:auto}.map .map-pin{cursor:pointer}.map text{font-family:Segoe UI,Arial,sans-serif;fill:var(--paper)}.map .state{fill:#32606442;stroke:#6bafa769;stroke-width:1}.map-pin circle{fill:#e5aa71;stroke:#ffe6b4;stroke-width:2;filter:drop-shadow(0px 5px 2px #0008)}.map-pin text{fill:#15282d;font-weight:800}.map-pin:hover circle{fill:var(--teal)}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.card{display:block;text-align:left;min-height:190px;padding:22px;border-radius:18px;background:linear-gradient(145deg,#345155df,#0c2029ef);border:1px solid var(--border);position:relative;overflow:hidden}.card .num{color:var(--copper);font-size:11px;letter-spacing:.18em}.card h3{font-family:Georgia,serif;font-weight:400;font-size:26px;margin:18px 0 10px}.card small{color:var(--muted);line-height:1.5}.card .done{position:absolute;right:18px;top:18px;color:var(--teal)}.progress{display:flex;align-items:center;gap:15px;font-size:13px;color:var(--teal)}progress{accent-color:var(--teal);height:5px;width:120px}.scene-layout{display:grid;grid-template-columns:minmax(320px,580px) minmax(320px,1fr);gap:5vw}.scene-left{padding-top:12px}.scene-left h2{font-size:clamp(45px,5vw,82px);line-height:1}.story{background:linear-gradient(145deg,#17343bd9,#081c24ed);border:1px solid var(--border);border-radius:20px;padding:28px;box-shadow:inset 0 1px 0 #ffffff20,0 10px 0 #04121880}.story p{font-size:17px;color:#d7e1d8;min-height:100px}.chapter{display:flex;gap:8px;margin:22px 0}.chapter button{min-width:48px;padding:8px 14px}.chapter button[aria-pressed=true]{border-color:var(--copper);color:var(--copper)}.scene-right{padding-top:220px;position:relative}.camera{display:flex;gap:10px;flex-wrap:wrap}.camera button{font-size:13px;background:#14303add}.challenge{border:1px solid #e7b77c66;background:linear-gradient(155deg,#213a40ed,#0b2029f5);padding:28px;border-radius:22px;box-shadow:inset 0 2px 0 #ffffff20,0 12px 0 #05101599,0 25px 50px #0004}.challenge h3{margin:10px 0 16px}.challenge p{color:var(--muted);font-size:14px}.game-options{display:grid;gap:12px;margin:20px 0}.game-options button{width:100%;text-align:left}.game-options button.selected{border-color:var(--teal);background:linear-gradient(145deg,#3f776f,#184347)}.feedback{padding:16px 18px;border-left:3px solid var(--teal);background:#76daca12;line-height:1.65;margin:20px 0;font-size:15px}.slider-row{display:grid;gap:12px;margin:24px 0}input[type=range]{width:100%;height:42px;accent-color:var(--copper)}.order-track{display:flex;flex-wrap:wrap;gap:8px;min-height:50px;padding:12px;background:#0003;border-radius:10px}.token{padding:8px 12px;background:#5db6a42e;border:1px solid #74dbca55;border-radius:8px;font-size:12px}.status{color:var(--teal);font-size:13px}.sweep-in{animation:reveal .6s both}@keyframes reveal{from{opacity:0;transform:translateY(24px) rotateX(3deg)}to{opacity:1;transform:none}}dialog{color:var(--paper);background:linear-gradient(145deg,#244349,#091c25);border:1px solid var(--border);border-radius:24px;max-width:720px;width:90%;padding:38px;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#031218bb;backdrop-filter:blur(8px)}.close{float:right;font-size:26px;padding:0 15px}.credit-list{padding-left:20px;font-size:14px}.credit-list li{margin:12px 0}#context{position:fixed;z-index:20;background:#143039;border:1px solid var(--teal);border-radius:14px;box-shadow:0 18px 50px #0009;padding:10px;max-width:calc(100vw - 20px)}#context a{display:block;padding:14px;font-size:14px}#context button{width:100%}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}.reduced *{animation:none!important;transition:none!important}.fallback-3d #world{background:linear-gradient(165deg,#326d75,#081b2a 55%,#b57a4c)}@media(max-width:900px){.atlas-layout{grid-template-columns:1fr}.map{position:relative;min-height:0}.map svg{max-height:350px}.scene-layout{grid-template-columns:1fr}.scene-right{padding-top:120px}.shade{background:linear-gradient(0deg,#071419 0%,#071419bb 65%,#07141955)}header{padding:20px 5vw}.tools{gap:6px}.tools button{padding:8px 10px}.brand span{font-size:14px}.brand small{font-size:8px}footer{flex-direction:column}h1{font-size:clamp(56px,12vw,90px)}}@media(max-width:520px){.cards{grid-template-columns:1fr}.topline{align-items:flex-start;flex-direction:column}.hero{min-height:75svh}.intro{font-size:16px}.tools button{font-size:10px;min-height:44px}.tools{flex-wrap:wrap;justify-content:flex-end}.scene-right{padding-top:80px}.story,.challenge{padding:22px}.camera button{flex:1}.primary{width:100%}main{padding:0 5vw 50px}.map{padding:18px}header{gap:12px}.actions button{flex:1}.progress{flex-wrap:wrap}}

