:root{color-scheme:dark;--bg:#08191c;--panel:#0d2225;--line:#294144;--ink:#f3f0e5;--muted:#a3b8b4;--accent:#edc381;--mint:#a7e5cf;--coral:#ffaaa2;--archive:#edc381;--harbor:#8bcbde;--tower:#bcb0ed}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:radial-gradient(ellipse at 60% 2%,#173435 0,transparent 48%),var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.55}button,input,textarea{font:inherit}button,a,input{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a{color:inherit;text-underline-offset:4px}a:hover{color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid var(--mint);outline-offset:5px}button{color:var(--ink)}[hidden]{display:none!important}p,h1,h2,h3{margin-top:0}h2,h3{line-height:1.15}.skip-link{position:fixed;top:-100px;left:12px;background:var(--accent);color:var(--bg);padding:14px;z-index:99}.skip-link:focus{top:10px}.topbar{max-width:1320px;margin:auto;min-height:78px;padding:18px 36px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:800;letter-spacing:.13em;text-decoration:none}.brand span{font-size:10px;color:var(--muted);font-weight:400;letter-spacing:.12em}.topbar nav{display:flex;gap:26px;font-size:12px}.topbar nav a{padding:9px 0;text-decoration:none}main{max-width:1248px;margin:auto;padding:0 0 25px}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;padding:54px 0 36px}.eyebrow{font-size:10px;line-height:1.5;text-transform:uppercase;font-weight:700;letter-spacing:.19em;color:var(--accent);margin:0 0 13px}h1{font:normal clamp(44px,5.6vw,78px)/1.04 Georgia,serif;letter-spacing:-.055em;margin:0}h1 em{font-weight:400}.title-period{color:var(--accent)}.intro>p{max-width:345px;color:var(--muted);margin:0 0 6px;font-size:15px;line-height:1.7}.modebar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.mode-switch{display:flex;gap:6px;padding:5px;background:#071517;border:1px solid var(--line);border-radius:7px}.mode-switch button{min-height:44px;background:none;border:1px solid transparent;border-radius:4px;padding:9px 16px;font-size:12px;font-weight:700}.mode-switch button span{display:inline-block;margin-left:10px;font-size:10px;font-weight:400;color:var(--muted)}.mode-switch button[aria-pressed="true"]{background:#233b3a;border-color:#39504b;color:var(--accent)}.quiet{min-height:44px;border:0;background:transparent;padding:8px 0;color:var(--muted);font-size:12px}.quiet:hover{color:var(--accent)}.game-frame{border:1px solid #3e514b;box-shadow:0 30px 80px #0004;background:var(--panel);border-radius:6px;overflow:hidden}.hud{padding:14px 24px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;background:#10272a;font-family:ui-monospace,monospace;font-size:10px;letter-spacing:.12em;color:var(--muted)}.hud>span:last-child{text-align:right}.progress{display:flex;gap:7px}.progress button{width:28px;min-height:32px;border:1px solid #385355;border-radius:3px;background:transparent;color:var(--muted);font-size:11px}.progress button.current{border-color:var(--accent);color:var(--accent)}.progress button.done{background:#a7e5cf20;color:var(--mint);border-color:#6fa592}.game-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr)}.council-panel{min-width:0;border-right:1px solid var(--line);background:radial-gradient(ellipse at 50% 45%,#19332e66,transparent 60%),#0a1c20;padding:25px 22px 12px}.board-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.board-heading .eyebrow{margin:0;color:var(--muted);font-size:9px}.board-heading>span{font:10px ui-monospace,monospace;color:var(--accent)}.chamber{position:relative;width:100%;aspect-ratio:600/530;min-height:440px}.connections{position:absolute;width:100%;height:100%;inset:0}.orbit{fill:none;stroke:#d4c09a30;stroke-width:1;stroke-dasharray:2 7}.orbit.inner{stroke:#d4c09a20;stroke-dasharray:none}.thread{stroke:#edc38150;stroke-width:1.4;stroke-dasharray:4 6}.thread.gathered{stroke:var(--mint);stroke-width:2;stroke-dasharray:none}.thread.affected{stroke:var(--coral);stroke-width:2;stroke-dasharray:3 6}.vault{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:160px;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.vault-label{font-size:8px;letter-spacing:.13em;color:var(--muted)}.vault svg{width:76px;height:76px;margin:9px 0;fill:none;stroke:var(--accent);stroke-width:1.3}.vault .lock{stroke-width:2}.vault strong{font:12px ui-monospace,monospace;letter-spacing:.1em;color:var(--accent)}.vault>span:last-child{font-size:10px;color:var(--muted);margin-top:5px}.vault.open svg,.vault.open strong{stroke:var(--mint);color:var(--mint)}.vault.breached svg,.vault.breached strong{stroke:var(--coral);color:var(--coral)}.keeper{position:absolute;transform:translate(-50%,-50%);width:106px;min-height:109px;padding:8px 6px 7px;background:#0e2327;border:1px solid #3a5152;border-radius:5px;color:var(--ink);box-shadow:0 8px 20px #0002;transition:border-color .16s,background .16s}.keeper:nth-child(1){left:50%;top:12%}.keeper:nth-child(2){left:76%;top:27%}.keeper:nth-child(3){left:82.5%;top:58%}.keeper:nth-child(4){left:64.5%;top:85%}.keeper:nth-child(5){left:35.5%;top:85%}.keeper:nth-child(6){left:17.5%;top:58%}.keeper:nth-child(7){left:24%;top:27%}.keeper[data-zone="Archive"]{--keeper-color:var(--archive)}.keeper[data-zone="Harbor"]{--keeper-color:var(--harbor)}.keeper[data-zone="Tower"]{--keeper-color:var(--tower)}.keeper:hover{border-color:var(--keeper-color)}.keeper.chosen{border-color:var(--keeper-color);background:#1b3231}.keeper .sigil{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--keeper-color);border-radius:50%;margin:0 auto 4px;font:15px Georgia,serif;color:var(--keeper-color)}.keeper .name{font-size:12px;font-weight:700;display:block;line-height:1.3}.keeper .zone{font-size:9px;display:block;color:var(--keeper-color);line-height:1.5}.keeper .share-value{font:10px ui-monospace,monospace;display:block;min-height:16px;margin-top:3px;color:var(--muted)}.keeper.gathered{background:#234c40;border-color:var(--mint)}.keeper.affected{border-color:var(--coral);background:#342b2b}.keeper.affected .share-value{color:var(--coral)}.keeper.unassigned{opacity:.43}.keeper:disabled{opacity:1}.keeper.unassigned:disabled{opacity:.4}.legend{display:flex;justify-content:center;gap:24px;font-size:10px;color:var(--muted);margin-top:4px}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:6px;height:6px;border-radius:50%;display:inline-block}.archive{background:var(--archive)}.harbor{background:var(--harbor)}.tower{background:var(--tower)}.board-help{text-align:center;font-size:11px;line-height:1.6;color:var(--muted);margin:16px 0 5px;min-height:36px}.controls{padding:30px 28px 22px;min-width:0;background:linear-gradient(140deg,#122d2d,#0d2225)}.controls>.eyebrow{font-size:9px;margin-bottom:10px}.controls h2{font:normal 32px/1.08 Georgia,serif;letter-spacing:-.02em;margin-bottom:14px}.brief{color:var(--muted);font-size:13px;line-height:1.65;margin-bottom:23px}.threshold-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.threshold-heading label{font-size:12px;font-weight:700}.threshold-heading output{font:27px Georgia,serif;color:var(--accent)}input[type="range"]{display:block;width:100%;height:35px;accent-color:var(--accent);cursor:pointer;margin:4px 0 5px}.small-copy{font-size:11px;color:var(--muted);line-height:1.65}.risk-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px}.risk-header .eyebrow{font-size:8px;margin:0}.risk-header .small-copy{font-size:9px}.risks{padding:0;list-style:none;margin:9px 0 18px;border-top:1px solid var(--line)}.risks li{display:grid;grid-template-columns:25px 1fr;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.risk-symbol{font:16px Georgia,serif;color:var(--accent);display:flex;justify-content:center;padding-top:1px}.risks li strong{display:block;font-size:11px;font-weight:600}.risks li small{display:block;font-size:10px;line-height:1.5;color:var(--muted);margin-top:2px}.feedback{padding:11px 13px;border-left:2px solid var(--accent);background:#edc38108;color:var(--ink);font-size:12px;line-height:1.6;margin:14px 0;min-height:60px}.feedback.success{border-color:var(--mint);background:#a7e5cf0b}.feedback.failure{border-color:var(--coral);background:#ffaaa209}.primary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--accent);border:1px solid var(--accent);border-radius:3px;padding:12px 18px;color:#142521;font-size:12px;font-weight:700;text-decoration:none}.primary:hover{background:#ffdda6;color:#142521}.primary:disabled{opacity:.65}.controls>.primary{width:100%}.primary span{font-size:20px;font-weight:400;line-height:1}.secondary-actions{display:flex;gap:18px;justify-content:space-between;margin-top:4px}.secondary-actions .quiet{font-size:11px;text-align:left}.score-note{font-size:10px;color:var(--muted);margin:6px 0 0}.trial-meter{margin:20px 0;padding:14px;border:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.trial-meter>span{font-size:12px;color:var(--muted)}.trial-meter>strong{font:22px Georgia,serif;color:var(--accent)}#trial-title{font-size:18px}.game-bottom{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 22px;background:#10272a;font-size:10px;color:var(--muted)}.game-bottom b{font-weight:500;color:var(--accent);margin-left:8px}.game-bottom a{color:var(--accent)}.completion{border:1px solid var(--mint);padding:35px;margin-top:22px;background:radial-gradient(ellipse at 80% 0,#294e3c,#122a28)}.completion h2{font:38px Georgia,serif;margin-bottom:14px}.completion>p:not(.eyebrow){color:var(--muted);max-width:700px}.completion-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.completion-actions a{font-size:12px;margin-left:auto}.outline{min-height:44px;border:1px solid #61736a;background:transparent;color:var(--ink);padding:10px 16px;border-radius:3px;font-size:12px}.outline:hover{border-color:var(--accent);color:var(--accent)}#copy-status{font-size:12px;margin:12px 0 0}textarea{width:100%;min-height:100px;padding:12px;background:var(--bg);border:1px solid var(--line);color:var(--ink)}.how-section{padding:85px 0 0}.section-heading{display:grid;grid-template-columns:.7fr 1.2fr 1fr;gap:38px;align-items:start}.section-heading .eyebrow{padding-top:9px}.section-heading h2{font:40px/1.08 Georgia,serif;letter-spacing:-.03em;margin:0}.section-heading h2 em{font-weight:400;color:var(--accent)}.section-heading>p:last-child{font-size:13px;color:var(--muted);line-height:1.8;margin:8px 0 0}.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);margin-top:36px}.lesson-grid article{padding:26px 30px 28px 0}.lesson-grid article+article{border-left:1px solid var(--line);padding-left:30px}.lesson-number{font:12px ui-monospace,monospace;color:var(--accent);display:block;margin-bottom:22px}.lesson-grid h3{font:22px Georgia,serif;margin-bottom:13px}.lesson-grid p{font-size:12px;color:var(--muted);line-height:1.8;margin:0}.math-section{padding:35px 0}.math-section details{border:1px solid var(--line);background:#102629;border-radius:4px}.math-section summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px;cursor:pointer;list-style:none}.math-section summary::-webkit-details-marker{display:none}.math-section summary .eyebrow{display:block;margin-bottom:7px;font-size:9px}.math-section summary strong{font:25px Georgia,serif}.math-section summary>span:last-child{font-size:28px;color:var(--accent)}.math-section details[open] summary>span:last-child{transform:rotate(45deg)}.math-content{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid var(--line);padding:30px}.math-controls>p{font-size:13px;color:var(--muted)}.math-controls label{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-top:24px}.math-controls output{color:var(--accent);white-space:nowrap}.candidate-secrets{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0}.candidate-secrets button{width:44px;min-height:44px;border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:3px;font:12px ui-monospace,monospace}.candidate-secrets button[aria-pressed="true"]{border-color:var(--accent);color:var(--accent);background:#edc3810c}.candidate-secrets button:disabled{opacity:.25}.math-plot{min-width:0}.math-plot svg{display:block;width:100%;max-height:340px}.plot-legend{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin-bottom:20px}table{width:100%;border-collapse:collapse;font:12px ui-monospace,monospace;text-align:left}caption{text-align:left;padding:9px 0;font:11px Arial,sans-serif;color:var(--muted)}th,td{padding:7px;border-bottom:1px solid var(--line)}th{color:var(--accent);font-size:11px}.scope-note{display:grid;grid-template-columns:.7fr 2.2fr;gap:38px;border-block:1px solid var(--line);padding:25px 0}.scope-note .eyebrow{font-size:9px;padding-top:3px;margin:0}.scope-note>p:last-child{font-size:11px;color:var(--muted);line-height:1.9;margin:0}footer{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:38px 0 10px}footer>div>p{font:italic 15px Georgia,serif;color:var(--muted);margin:8px 0 0}footer nav{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-size:11px}.privacy{grid-column:1/-1;font-size:10px;color:var(--muted);padding-top:18px;border-top:1px solid var(--line);margin:0}.text-button{min-height:32px;border:0;background:transparent;color:var(--accent);font-size:inherit;padding:5px;text-decoration:underline;text-underline-offset:3px}.no-script{padding:20px;border:1px solid var(--accent)}
@media(min-width:900px){.keeper.chosen .sigil{box-shadow:0 0 16px #edc38112}.vault.open svg{filter:drop-shadow(0 0 10px #a7e5cf40)}}
@media(max-width:1320px){main{padding-inline:30px}}
@media(max-width:1000px){.game-grid{grid-template-columns:minmax(0,1.35fr) minmax(290px,1fr)}.controls{padding:25px 20px}.council-panel{padding:22px 12px 10px}.keeper{width:86px;min-height:100px}.chamber{min-height:460px}.vault{width:122px}.vault-label{font-size:7px}.vault>span:last-child{font-size:9px}.vault svg{width:65px;height:65px}.section-heading{grid-template-columns:1fr 1.2fr}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:-18px}.intro>p{max-width:300px}}
@media(max-width:760px){.topbar{padding:14px 20px;min-height:67px}.brand span{display:none}.topbar nav{gap:18px;font-size:11px}main{padding-inline:18px}.intro{padding:34px 0 26px;gap:20px;display:block}.intro>p{margin-top:17px;max-width:unset;font-size:13px;line-height:1.6}h1{font-size:clamp(43px,9vw,68px)}.intro>p br{display:none}.mode-switch button{padding:8px 10px;font-size:11px}.mode-switch button span{display:block;margin:0;font-size:9px}.modebar{gap:8px}.modebar>.quiet{font-size:11px;white-space:nowrap}.game-grid{grid-template-columns:1fr}.council-panel{border-right:0;border-bottom:1px solid var(--line);padding:20px 12px 10px}.chamber{aspect-ratio:600/530;min-height:420px;max-width:580px;margin:auto}.keeper{width:100px;min-height:100px}.hud{padding:12px;gap:8px;font-size:8px;letter-spacing:.03em}.progress{gap:4px}.progress button{width:23px;min-height:30px;font-size:10px}.controls{padding:25px}.controls h2{font-size:30px}.brief{max-width:600px}.risks{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.game-bottom{padding:13px;gap:12px;flex-wrap:wrap;font-size:9px}.game-bottom>span:nth-child(2){display:none}.how-section{padding-top:55px}.section-heading{gap:22px}.section-heading h2{font-size:32px}.section-heading>p:last-child{font-size:12px}.lesson-grid article{padding:23px 15px 24px 0}.lesson-grid article+article{padding-left:15px}.lesson-grid h3{font-size:19px}.lesson-grid p{font-size:11px}.math-content{grid-template-columns:1fr;padding:22px;gap:24px}.math-section summary{padding:20px}.math-section summary strong{font-size:22px}.scope-note{grid-template-columns:1fr;gap:12px}.completion{padding:24px}.completion h2{font-size:30px}.completion-actions a{margin-left:0}footer{padding-top:28px}}
@media(max-width:450px){.topbar{padding-inline:16px;gap:14px}.brand{font-size:11px;gap:7px}.brand img{width:25px;height:25px}.topbar nav{gap:13px;font-size:10px}main{padding-inline:12px}.eyebrow{font-size:9px}.intro{padding-inline:6px}.chamber{min-height:395px}.keeper{width:78px;min-height:96px;padding:7px 3px}.keeper .name{font-size:12px}.keeper .zone{font-size:9px}.keeper .share-value{font-size:9px}.keeper .sigil{width:23px;height:23px;font-size:13px}.vault{width:105px;min-height:125px}.vault svg{width:55px;height:55px;margin:6px 0}.vault strong{font-size:11px}.vault>span:last-child{font-size:8px}.board-heading{padding-inline:3px}.board-heading .eyebrow{font-size:8px;letter-spacing:.09em}.board-heading>span{font-size:9px}.controls{padding:23px 18px}.risks{grid-template-columns:1fr;gap:0}.section-heading{grid-template-columns:1fr}.section-heading h2{font-size:36px}.section-heading>p:last-child{margin-top:0}.lesson-grid{grid-template-columns:1fr}.lesson-grid article,.lesson-grid article+article{padding:22px 0;border-left:0}.lesson-grid article+article{border-top:1px solid var(--line)}.lesson-number{float:left;margin:2px 20px 30px 0}.lesson-grid h3{font-size:22px}.lesson-grid p{font-size:12px}.lesson-grid article p{padding-left:36px}.mode-switch button{padding-inline:8px}.mode-switch{gap:0}.progress{gap:3px}.progress button{width:22px}.game-bottom a{font-size:10px}.secondary-actions{gap:10px}.scope-note{padding-inline:6px}footer{grid-template-columns:1fr;padding-inline:6px}footer nav{align-items:flex-start}.math-section summary strong{font-size:19px}.math-section summary .eyebrow{font-size:8px}.math-content{padding:17px}.math-controls label{font-size:11px}}
.arcade-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:10px 0 55px}.arcade-card{display:block;border:1px solid var(--line);border-radius:5px;background:var(--panel);overflow:hidden;text-decoration:none}.arcade-card:hover{border-color:var(--accent);color:var(--ink)}.arcade-art{background:radial-gradient(ellipse,#1c3932,transparent 70%),#0b1f23;border-bottom:1px solid var(--line)}.arcade-art svg{display:block;width:100%;height:230px;fill:none;stroke:var(--accent);stroke-width:1.2}.council-art svg>circle{stroke-dasharray:3 5}.council-art svg>circle~circle{fill:var(--panel);stroke-dasharray:none}.lattice-art svg{stroke:#a7e5cf70}.lattice-art g{fill:var(--mint);stroke:none}.lattice-art .short-vector{stroke:var(--accent);stroke-width:3}.arcade-copy{padding:28px}.arcade-copy h2{font:36px Georgia,serif;margin-bottom:14px}.arcade-copy>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.8}.arcade-meta{display:block;font-size:11px;color:var(--muted);margin:24px 0}.arcade-copy>strong{display:flex;justify-content:space-between;color:var(--accent);font-size:13px;border-top:1px solid var(--line);padding-top:20px}
@media(max-width:650px){.arcade-grid{grid-template-columns:1fr}.arcade-art svg{height:200px}.arcade-copy{padding:24px}}
@media(max-width:450px){.keeper:nth-child(2){left:81%}.keeper:nth-child(3){left:85%}.keeper:nth-child(4){left:67%}.keeper:nth-child(5){left:33%}.keeper:nth-child(6){left:15%}.keeper:nth-child(7){left:19%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Celebrate only a verified recovery; no delayed state changes or blocked controls. */
.charter-recap{padding:16px;margin:16px 0;border:1px solid var(--mint);border-radius:5px;background:#102c2b;font-size:12px;line-height:1.65}
.charter-recap h3{font:24px Georgia,serif;color:var(--mint);margin:0 0 8px}
.charter-recap p{color:var(--muted);margin:0 0 10px}.charter-recap ul{padding-left:18px;margin:0}.charter-recap li+li{margin-top:8px}
@media(prefers-reduced-motion:no-preference){
.recovery-celebration .thread.gathered{stroke-dasharray:8 6;animation:share-arrives 1.2s ease-out}
.recovery-celebration .keeper.gathered{animation:keeper-glow 1.2s ease-out}
.recovery-celebration .vault.open{animation:vault-glow 1.2s ease-out}
}
@keyframes share-arrives{from{stroke-dashoffset:84;opacity:.3}to{stroke-dashoffset:0;opacity:1}}
@keyframes keeper-glow{50%{box-shadow:0 0 24px #a7e5cf80}}
@keyframes vault-glow{50%{filter:drop-shadow(0 0 18px #edc381aa)}}
