*{box-sizing:border-box}body{margin:0;background:#060914;color:#edf2ff;font-family:Inter,'Segoe UI',Arial,sans-serif;background-image:radial-gradient(ellipse at 80% 0,#28336855,transparent 40%),radial-gradient(ellipse at 0 60%,#25184b55,transparent 40%)}body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:radial-gradient(1px 1px at 10% 20%,#bdcfff 80%,transparent),radial-gradient(1px 1px at 75% 65%,#bbd4ff 80%,transparent);background-size:270px 310px,440px 390px}header,main,nav,footer{max-width:1540px;margin:auto}header{padding:24px 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #738ec12b}.brand{font-size:19px;font-weight:700;letter-spacing:2px;color:white;text-decoration:none}.brand span{color:#a5b4ff;font-size:12px;margin-left:12px}.header-note{font:11px monospace;color:#7c91ba;letter-spacing:2px}nav{display:flex;gap:8px;overflow-x:auto;padding:18px 4%}nav a{white-space:nowrap;color:#a6b7d6;border:1px solid #7088b533;text-decoration:none;padding:10px 14px;border-radius:30px;font-size:12px}nav a.active{color:#071027;background:#b8c5ff}main{padding:0 4%}.intro{padding:20px 0 24px}.eyebrow{font:11px monospace;letter-spacing:2px;color:#9dafff}h1{font-size:clamp(32px,4.5vw,62px);font-weight:450;letter-spacing:-2px;margin:14px 0}#lead{color:#a4b6d4;max-width:800px;line-height:1.6;margin:0;font-size:16px}.lab{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px}.viewport{position:relative;height:620px;min-width:0;border:1px solid #6c87b344;border-radius:24px;background:radial-gradient(ellipse,#19244388,#080d1c 75%);overflow:hidden}.viewport canvas{width:100%;height:100%;display:block;touch-action:none}.hint{position:absolute;top:20px;left:22px;color:#8098c0;font-size:11px;pointer-events:none}.legend{position:absolute;bottom:20px;left:22px;right:22px;display:flex;gap:18px;flex-wrap:wrap;color:#a8b9d8;font-size:10px;pointer-events:none}.blue{color:#65d4ff}.orange{color:#ffae78}#load{position:absolute;left:30px;top:80px;color:#aebee0}aside{background:linear-gradient(150deg,#18213b,#0b1022);border:1px solid #6c87b344;border-radius:24px;padding:25px}h2{font-size:26px;font-weight:450;letter-spacing:-.5px}aside h2{margin:14px 0}#stateText{font-size:13px;line-height:1.6;color:#9fb3d5;min-height:62px}label{display:flex;justify-content:space-between;font-size:11px;color:#b0bfda;margin-top:19px}output{color:#ccdaff}input[type=range]{width:100%;accent-color:#a8bcff;margin:12px 0 0}button{cursor:pointer;border:1px solid #7897c644;border-radius:10px;background:#263450;color:#e4edff;padding:11px 12px;font:12px inherit}button:hover{background:#374c72}button.active,#play{background:#b7c7ff;color:#10172c}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #96cfff;outline-offset:4px}.actions{display:flex;gap:8px;margin-top:20px}.check{justify-content:flex-start;gap:8px;align-items:center}.check input{accent-color:#a8bcff}.model-note{font-size:10px;line-height:1.6;color:#728aaf;margin-top:20px}.cylinders{display:flex;gap:5px;margin-top:14px;flex-wrap:wrap}.cylinders button{padding:7px 10px;font:11px monospace}.cylinders button.firing{background:#e79762;color:#18101a;border-color:#ffcc9c}.cylinders button.selected{outline:1px solid #d7e2ff}.presets{display:flex;gap:5px;flex-wrap:wrap}.presets button{font-size:10px}.readouts{display:flex;gap:8px;margin-top:16px}.readouts div{flex:1;padding:10px;background:#080e20;border-radius:10px;font-size:10px;color:#8fa7cb}.readouts b{display:block;font:18px monospace;color:#dbe7ff;margin-top:8px}.lesson{max-width:1100px;margin:70px auto}.lesson>h2{font-size:36px;margin:15px 0 30px}.steps{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.steps article{border-top:1px solid #7088b544;padding:20px 0}.steps article span{font:24px monospace;color:#9aaeff}.steps h3{font-weight:500;font-size:21px}.steps p{color:#a7b8d5;line-height:1.8;font-size:16px}.try{margin-top:28px;background:linear-gradient(100deg,#25325288,#25204288);padding:26px;border:1px solid #8aa5d444;border-radius:18px}.try span{font:11px monospace;letter-spacing:2px;color:#b6c5ff}.try p{line-height:1.7;color:#c2ceE4}details{margin-top:25px;color:#899fc0;font-size:13px;line-height:1.7}summary{cursor:pointer;color:#b2c3e0}.sources{margin-top:20px;font-size:11px;color:#758dad}.sources a{color:#9aadd3}.next{margin:50px 0 60px}#cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}#cards a{padding:22px;border:1px solid #7088b533;border-radius:16px;background:#10182a;color:#dce6ff;text-decoration:none}#cards a:hover{border-color:#a1b7ee}#cards small{display:block;color:#8096bd;margin-bottom:12px}footer{padding:25px 4%;border-top:1px solid #7186c533;display:flex;justify-content:space-between;font-size:11px;color:#7b92b8}[hidden]{display:none!important}@media(max-width:1000px){.lab{grid-template-columns:1fr}aside{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}aside>.eyebrow,aside>h2,aside>#stateText,aside>.model-note{grid-column:1/-1}.viewport{height:500px}#cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){header{padding:20px 5%}.header-note{display:none}main{padding:0 5%}h1{letter-spacing:-1px}.viewport{height:410px;border-radius:18px}.hint{font-size:9px;right:20px}.legend{font-size:8px;gap:8px}aside{display:block}.steps{grid-template-columns:1fr;gap:0}.lesson{margin:45px auto}.lesson>h2{font-size:28px}#cards{grid-template-columns:1fr 1fr}#cards a{padding:16px;font-size:13px}footer{gap:20px;font-size:10px}}

.gas-panel{margin-top:18px;padding:15px;background:#070d19;border:1px solid #6683ae33;border-radius:12px}.gas-panel p{font-size:12px;margin:0 0 13px;color:#e3eeff}.gas-label{font-size:10px;color:#91a9c5;margin:10px 0 6px}.gas-meter{height:6px;border-radius:8px;background:#182a40;overflow:hidden}.gas-meter i{display:block;height:100%;background:linear-gradient(90deg,#136fa1,#66dcff);width:0}.gas-meter.waste i{background:linear-gradient(90deg,#5b626b,#cad0d8)}.port-status{display:flex;gap:10px;font-size:9px;color:#9daec4;margin-top:13px}.waste{color:#bcc4cd}nav{scrollbar-width:thin;scrollbar-color:#465475 transparent}
