:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#e6eff5;background:#07121d;color-scheme:dark;font-size:15px}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;justify-content:space-between;padding:12px 3vw;border-bottom:1px solid #294052;gap:12px}a{color:#77d9e1}button,select,input{font:inherit}button,select{border:1px solid #476175;border-radius:7px;background:#142b3c;color:#eefaff;padding:8px 11px;cursor:pointer}button:hover,a.module:hover{background:#20445a}button:disabled{opacity:.45;cursor:default}:focus-visible{outline:3px solid #ffc26c;outline-offset:3px}main{max-width:1440px;margin:auto;padding:12px 3vw}.heading p{margin:4px 0}h1{font-size:clamp(23px,2.3vw,36px);margin:7px 0}h2{font-size:clamp(20px,1.8vw,27px);line-height:1.18;margin:10px 0 14px}p{line-height:1.45}#badge,.eyebrow{color:#f8be73;font-size:11px;letter-spacing:1.2px;font-weight:700}.layout{display:grid;grid-template-columns:1.05fr 1fr;gap:18px;margin-top:15px}.visual,.evidence{border:1px solid #2d465a;border-radius:16px;padding:16px;background:#0e2030;min-width:0}.visual{background:radial-gradient(ellipse at 40% 20%,#1c3d53,#0b1b2a)}#scene svg{width:100%;height:auto;max-height:300px;display:block}svg text{font:14px Segoe UI,Arial;fill:#e5f0f7}svg .small{font-size:11px}svg .metal{fill:#648296;stroke:#b6cfde;stroke-width:2}svg .wire{stroke:#ffbb6a;stroke-width:4;fill:none}svg .flow{stroke:#68e2df;stroke-width:3;fill:none;stroke-dasharray:8 12;animation:flow 1.3s linear infinite}svg .ionic{stroke:#69d5ff}svg .barrier{fill:#ad7bf2;stroke:#d6b7ff;stroke-width:2}svg .off{opacity:.22}svg .target{stroke:#ffcd7d;stroke-width:4}#scene{perspective:900px}#scene svg{transition:transform .5s}#scene.orbit svg{transform:rotateY(-13deg) rotateX(5deg)}#scene.exploded .layer{transform:translateY(-14px)}.layer{transition:transform .5s}#controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}#controls label{display:flex;gap:7px;align-items:center;flex-wrap:wrap}#state{border-left:3px solid #f8be73;padding-left:10px;font-size:13px}.caption,footer{color:#a8bdcb;font-size:12px}.caption{margin-bottom:0}.evidence #step{margin:0;color:#8fd4e2;font-size:12px;letter-spacing:1px}.caseLabel{font-size:11px;color:#ffc57e;border:1px solid #7d603d;padding:7px;border-radius:6px;font-weight:700}.evidence p{margin:10px 0}#choices{display:flex;flex-wrap:wrap;gap:8px}#choices button{width:100%;text-align:left}#feedback{font-weight:600;color:#f9d08a;font-size:14px}nav{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}nav select{min-width:120px;flex:1}footer{border-top:1px solid #294052;padding-top:10px}.index main{max-width:1150px;padding-top:45px}.index h1{font-size:clamp(32px,5vw,65px)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0}.module{text-decoration:none;background:#102638;border:1px solid #36576c;padding:23px;border-radius:15px;color:#e4eff5}.module b,.module span{color:#85e1df}.module p{color:#b1c8d7}.index article{border-top:1px solid #36576c;padding:20px 0}.slots{display:flex;gap:4px;flex-wrap:wrap}.slot{border:1px solid #527489;border-radius:5px;padding:5px;font-size:11px}.slot.filled{border-color:#e8b369;color:#ffd191}@keyframes flow{to{stroke-dashoffset:-40}}.reduced *{animation:none!important;transition:none!important}.reduced #scene.orbit svg{transform:none}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:720px){:root{font-size:14px}header{padding:10px 4vw;font-size:12px}main{padding:12px 4vw}.layout{grid-template-columns:1fr;gap:10px}.visual,.evidence{padding:13px}#scene svg{max-height:220px}#controls button,#controls select{font-size:12px;padding:7px}h1{font-size:25px}.cards{grid-template-columns:1fr}.caption{font-size:11px}nav button{flex:1}nav select{flex-basis:100%}footer{padding-bottom:15px}}@media(min-width:1000px) and (min-height:760px){.visual,.evidence{min-height:465px}}
:root{scroll-padding-bottom:120px}@media(max-width:720px){nav{position:sticky;bottom:0;z-index:3;padding:9px;background:#07121df5;border-top:1px solid #476175;margin-left:-9px;margin-right:-9px}nav button{font-size:12px;padding:7px}nav select{font-size:12px}svg .small{font-size:13px}}

header{flex-wrap:wrap}.return-links{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}.return-links a{font-size:13px}@media(max-width:720px){.return-links{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}.return-links a{font-size:12px}}
