:root{color-scheme:dark;--ink:#090e12;--panel:#111d25;--gold:#f6c643;--cyan:#70e6dc;--muted:#b7c6cd;--line:#354b5b;--violet:#bba7ee}*{box-sizing:border-box}body{margin:0;color:#eef5f3;background:radial-gradient(ellipse at 95% 0,#24354c,transparent 45%),radial-gradient(ellipse at 0 50%,#1b2926,transparent 50%),var(--ink);font:16px/1.65 Inter,ui-sans-serif,system-ui,sans-serif}a{color:var(--cyan);text-decoration:none}a:hover{text-decoration:underline}button,input{font:inherit}button{cursor:pointer}button,.link-button{padding:.8rem 1.15rem;border:1px solid var(--line);border-radius:7px;min-height:46px;font-size:.85rem;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}button:disabled{opacity:.5;cursor:default}.primary{background:var(--gold);color:#152023;border-color:var(--gold)}.secondary{background:#1b2b35;color:#e8f2f2}.link-button:hover{text-decoration:none;filter:brightness(1.12)}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}.skip-link{position:absolute;top:-100px;left:1rem;z-index:5;background:var(--panel);padding:.5rem}.skip-link:focus{top:0}header,footer{max-width:1280px;margin:auto;padding:1.5rem 2rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}header{border-bottom:1px solid var(--line)}.brand{display:flex;gap:.7rem;align-items:center;font-weight:900;color:#edf6f4;letter-spacing:.04em}.brand span{font-size:.8rem;color:var(--gold)}nav{display:flex;gap:1.2rem;font-size:.85rem}main{max-width:1180px;margin:auto;padding:2.5rem 2rem}.quest-intro{display:grid;grid-template-columns:1.35fr .65fr;gap:2rem;align-items:center}.eyebrow{font-size:.68rem;letter-spacing:.14em;font-weight:800;color:var(--cyan)}h1{font-size:clamp(3.8rem,8vw,7.1rem);line-height:.98;letter-spacing:-.07em;margin:1.1rem 0 1.5rem}h1 em{font-style:normal;color:var(--gold)}.quest-intro>div>p:not(.eyebrow){max-width:580px;color:#c6d4dc;font-size:1rem}.chapter-facts{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.5rem}.chapter-facts span{padding:.35rem .65rem;border:1px solid #56697a;border-radius:3px;color:#d5e2df;font-size:.65rem;font-weight:750;letter-spacing:.05em}.arrival{position:relative;text-align:center;border:1px solid #48647a;border-radius:50% 50% 15px 15px;background:radial-gradient(ellipse at 50% 40%,#34475d,#10202c 75%);padding:1.5rem 1rem;isolation:isolate;overflow:hidden}.arrival::before,.arrival::after{content:'✦';position:absolute;z-index:-1;color:#7daac9}.arrival::before{left:10%;top:20%;font-size:1.5rem}.arrival::after{right:13%;top:32%;font-size:.8rem}.arrival-orbit{position:absolute;z-index:-1;inset:12% 8%;border:1px solid #6a819055;border-radius:50%;transform:rotate(-25deg)}.arrival-geek{height:240px;display:grid;place-items:center}.arrival-geek .geek-robot{width:auto;height:100%;max-width:100%}.arrival-geek img{width:180px;height:180px;object-fit:cover;border-radius:24px;border:1px solid #587b8c}.arrival>span{display:block;color:#e4f2eb;font-weight:750;font-size:.8rem;overflow-wrap:anywhere}.arrival>a{font-size:.72rem;display:inline-block;margin-top:.4rem}.chapter-map{position:relative;margin:2.8rem 0 1.3rem}.chapter-map ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;position:relative}.map-route{position:absolute;top:25px;left:10%;right:10%;border-top:1px solid #627687}.map-stop{border:1px solid var(--line);background:#101e27;border-radius:9px;padding:1rem;min-width:0}.map-stop.current{border-color:var(--gold);background:#2a3021}.map-stop.done{border-color:#579890}.map-stop>span{display:inline-grid;place-items:center;width:26px;height:26px;background:#1d3743;border:1px solid #6d8a98;border-radius:50%;font-weight:800;color:var(--cyan);font-size:.7rem}.map-stop b{display:block;font-size:.88rem;margin:.6rem 0 .2rem}.map-stop small{color:var(--muted);font-size:.66rem}.service-bar{display:flex;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:1rem;min-height:3.5rem}.service-bar p{color:var(--cyan);font-size:.83rem;margin:0;overflow-wrap:anywhere}.service-bar button{flex-shrink:0}.quest-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:1.5rem;align-items:start}.story-panel{padding:2rem;border:1px solid #556779;border-radius:14px;background:linear-gradient(135deg,#162631,#0d181e)}h2{font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.2;letter-spacing:-.04em;margin:.6rem 0 1.2rem}h3{font-size:1.35rem;line-height:1.4;letter-spacing:-.02em}.narrative{font-size:.98rem;color:#d2dfe1;line-height:1.9}.giga-dialogue{display:flex;gap:1rem;align-items:center;border:1px solid #7b764c;border-radius:10px;padding:.8rem 1rem;background:#26291d;margin:1.5rem 0}.giga-mini{flex:0 0 68px;width:68px}.giga-mini .geek-robot{height:90px;width:auto;max-width:100%}.giga-dialogue b{font-size:.64rem;letter-spacing:.09em;color:var(--gold)}.giga-dialogue p{font-size:.84rem;line-height:1.65;margin:.3rem 0;color:#e1e5cf}.lesson,.checkpoint,.feedback,.chapter-finish{margin:1.5rem 0}.ace-label{color:var(--violet);font-size:.67rem;letter-spacing:.1em;font-weight:800}.ace-label span{font-size:.95rem;margin-right:.35rem}.lesson ol{padding-left:1.3rem;color:#c8d7dc;line-height:1.85;font-size:.9rem}.lesson li+li{margin-top:.75rem}.worked-example{background:#112a32;border-left:3px solid var(--cyan);padding:1rem}.worked-example b{color:var(--cyan);font-size:.64rem;letter-spacing:.1em}.worked-example p{font-size:.84rem;margin:.35rem 0 0;color:#d0e2e2}.sources{display:flex;flex-wrap:wrap;gap:.7rem;margin:1rem 0}.sources a{font-size:.76rem;text-decoration:underline}.answers{display:grid;gap:.7rem;margin:1.4rem 0}.answers button{text-align:left;justify-content:flex-start;line-height:1.6;background:#152b35;color:#edf6f3;border-color:#547182;padding:1rem;overflow-wrap:anywhere;min-height:60px}.answers button:hover:not(:disabled){background:#264451;border-color:var(--cyan)}.answers button.chosen{border-color:var(--gold)}.check-note,.save-note,.badge-note{font-size:.76rem;color:#b6c7cc;line-height:1.7}.feedback{padding:1.2rem;border:1px solid #648a83;background:#172e30;border-radius:10px}.feedback h3{color:var(--cyan)}.feedback dl{margin:1rem 0}.feedback dt{font-size:.64rem;letter-spacing:.06em;color:#adc5ce;text-transform:uppercase}.feedback dd{margin:.2rem 0 .8rem;font-size:.92rem;color:#edf5f1}.feedback>p:not(.ace-label){font-size:.87rem;color:#d3e3e2}.story-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.5rem}.quest-sidebar{display:grid;gap:1.2rem}.mission-card,.review-card{border:1px solid var(--line);border-radius:12px;background:#102029;padding:1.5rem}.mission-card h2,.review-card h2{font-size:1.35rem}.mission-card>p:not(.eyebrow){font-size:.85rem;color:#c1d0d5}.mission-card label{display:flex;justify-content:space-between;gap:.5rem;font-size:.7rem;color:var(--muted);margin-top:1.5rem}.mission-card progress{display:block;width:100%;height:8px;appearance:none;margin:.6rem 0 1.5rem}.mission-card progress::-webkit-progress-bar{background:#344b57;border-radius:4px}.mission-card progress::-webkit-progress-value{background:var(--cyan);border-radius:4px}.mission-card progress::-moz-progress-bar{background:var(--cyan)}.mission-card .badge-state{color:var(--gold);font-weight:750;font-size:.75rem}.mission-card small{font-size:.7rem;line-height:1.6;color:#b2c3ca;display:block}.review-card>p:not(.eyebrow){font-size:.79rem;color:var(--muted)}.review-card details{border-top:1px solid var(--line);padding:.8rem 0;min-width:0}.review-card summary{font-size:.79rem;font-weight:650;color:#e2e9e8;cursor:pointer;overflow-wrap:anywhere}.review-card details p{font-size:.76rem;color:#b9ced5;margin:.6rem 0;overflow-wrap:anywhere}.review-card details b{color:#eef5f3}.review-card details a{font-size:.7rem}.review-card .previous-heading{font-size:.75rem;color:var(--violet);margin-top:1.5rem}.chapter-finish{text-align:center;padding:1rem 0}.badge-seal{width:150px;height:150px;margin:auto;display:flex;flex-direction:column;justify-content:center;align-items:center;background:radial-gradient(#556044,#273328);border:2px solid var(--gold);outline:1px solid #827549;outline-offset:5px;border-radius:50%;color:var(--gold)}.badge-seal span{font-size:.7rem;font-weight:800;letter-spacing:.1em}.badge-seal b{font-size:3.2rem;line-height:1.3}.badge-seal small{font-size:.59rem;letter-spacing:.09em;font-weight:800}.chapter-finish h3{font-size:1.9rem;color:var(--gold)}.chapter-finish>p{font-size:.87rem;color:#d4e2db}.chapter-reference{border:1px solid var(--line);border-radius:9px;padding:1.2rem;margin:2rem 0 1rem;background:#102029}.chapter-reference summary{font-size:.85rem;cursor:pointer;font-weight:750;color:var(--cyan)}.chapter-reference section{border-top:1px solid var(--line);padding:.6rem 0;margin-top:1rem}.chapter-reference h3{font-size:1rem}.chapter-reference p,.chapter-reference li{font-size:.82rem;color:#bdd0d8}.chapter-reference>p{font-size:.7rem}.chapter-boundary{font-size:.76rem;color:#aebfc7;padding:1.2rem 0;border-top:1px solid var(--line)}footer{font-size:.75rem;color:#aebfc7;border-top:1px solid var(--line)}dialog{width:calc(100% - 2rem);max-width:480px;padding:1.5rem;border:1px solid #6d8a98;border-radius:12px;background:#10202b;color:#eef5f3}dialog::backdrop{background:#000b}dialog p{font-size:.9rem;color:#c3d4dc}@media(max-width:850px){.quest-layout{grid-template-columns:1fr}.quest-sidebar{grid-template-columns:1fr 1fr}.story-panel{padding:1.5rem}.arrival-geek{height:210px}}@media(max-width:600px){header,footer{padding:1rem;flex-wrap:wrap}nav{gap:1rem;font-size:.78rem}main{padding:1.5rem 1rem}.quest-intro{grid-template-columns:1fr;gap:1rem}.quest-intro h1{font-size:4.4rem}.arrival{max-width:270px;width:100%;justify-self:center}.arrival-geek{height:180px}.arrival-geek img{width:140px;height:140px}.chapter-map{margin-top:2rem}.chapter-map ol{grid-template-columns:1fr;gap:.65rem}.map-stop{display:grid;grid-template-columns:26px 1fr;column-gap:.7rem;padding:.75rem}.map-stop b{margin:0;font-size:.82rem}.map-stop small{grid-column:2}.map-route{top:20px;bottom:20px;left:26px;right:auto;border-top:0;border-left:1px solid #627687}.quest-sidebar{grid-template-columns:1fr}.service-bar{flex-wrap:wrap}.story-panel{padding:1rem}.giga-dialogue{padding:.75rem;gap:.7rem}.giga-mini{flex-basis:50px;width:50px}.giga-mini .geek-robot{height:72px}.giga-dialogue p{font-size:.79rem}.story-actions button,.story-actions>a{flex:1;min-width:150px}.chapter-facts{gap:.4rem}.chapter-facts span{font-size:.58rem;padding:.3rem .45rem}.chapter-finish h3{font-size:1.6rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.quest-companion{display:flex;align-items:center;gap:.8rem;border-bottom:1px solid var(--line);padding:0 0 1rem;margin-bottom:1rem}.quest-companion>div{width:64px;height:76px;flex-shrink:0;overflow:hidden}.quest-companion svg,.quest-companion img{width:100%;height:100%;object-fit:contain}.quest-companion span{font-size:.65rem;letter-spacing:.1em;color:var(--cyan)}.block-diagram{margin:1.2rem 0;padding:1rem;border:1px solid var(--line);border-radius:12px;background:#0b141c}.block-diagram svg{width:100%;max-height:280px}.block-diagram figcaption{font-size:.85rem;color:var(--muted);margin-top:.5rem}.block-diagram text{font-family:inherit;font-weight:700;fill:#eef5f3}.block-diagram rect{fill:#1b3642;stroke:#70e6dc;stroke-width:2}.block-diagram path{fill:none;stroke:#f6c643;stroke-width:2}.block-diagram marker path{fill:#f6c643;stroke:none}

.quest-intro>div{min-width:0}.quest-intro h1{overflow-wrap:anywhere;text-transform:uppercase}@media(max-width:600px){.quest-intro h1{font-size:clamp(2.8rem,12vw,4.4rem)}}

.chapter-lock{padding:2rem;margin:1.5rem 0;border:1px dashed var(--gold);border-radius:14px;background:#172229}.chapter-lock p{color:var(--muted)}.chapter-lock h2{color:var(--gold)}.chapter-lock p:last-child{font-size:.8rem}@media(max-width:600px){.chapter-lock{padding:1.2rem}}

.story-actions{position:relative}.story-actions button,.link-button{touch-action:manipulation}main{padding-bottom:max(2rem,env(safe-area-inset-bottom))}@media(max-width:680px){.story-actions{position:static;padding:.8rem 0 max(.8rem,env(safe-area-inset-bottom));border-top:1px solid #354b5b}.story-actions>*{flex:1;min-width:120px;text-align:center}.chapter-lock a{min-height:48px}.sources a{display:inline-flex;align-items:center;min-height:44px}.review-card summary{min-height:48px}}

.story-panel h2,.story-panel h3{scroll-margin-top:6rem}.story-actions button,.story-actions .link-button{min-height:48px}
