:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;color:#dce5eb;background:#0a121a;color-scheme:dark;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 35% 0,#182b38 0,transparent 55%);min-height:100vh}main{max-width:1480px;margin:auto;padding:34px 40px 22px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2.5px;color:#80b8c4;margin:0 0 12px}h1{font-size:29px;letter-spacing:4px;font-weight:650;margin:0}h1 span{font-weight:400;font-size:16px;color:#8fabb9}h2{font-weight:550;line-height:1.4}.edition{font:10px ui-monospace,monospace;letter-spacing:1px;color:#9db0bc}.edition i{display:inline-block;width:6px;height:6px;background:#e4a254;margin:0 12px;transform:rotate(45deg)}.layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:32px;align-items:start}.play-panel{border:1px solid #2a414e;border-radius:9px;background:#0a121b;overflow:hidden;box-shadow:0 20px 70px #0005}.hud{height:44px;padding:0 16px;display:flex;align-items:center;gap:15px;background:#13222d;font-size:11px;color:#afc6d1}.hud>span:first-child{margin-right:auto}.hud #health{color:#6de3e9;letter-spacing:4px}.hud button{border:0;background:none;color:#a8c1cc;font-size:11px;padding:8px}.dot{display:inline-block;width:5px;height:5px;margin-right:8px;background:#6de3e9;border-radius:50%;box-shadow:0 0 8px #6de3e980}.stage{position:relative;width:100%;aspect-ratio:8/5;overflow:hidden;outline:none;background:#0b1822}.stage:focus-visible{outline:2px solid #7dd5e5;outline-offset:-2px}#gameContainer,#scene{position:absolute;inset:0;width:100%;height:100%}#gameContainer canvas{width:100%!important;height:100%!important;opacity:0;pointer-events:none}#scene{pointer-events:none}.overlay{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;text-align:center;background:linear-gradient(#08131b77,#08131bcf);backdrop-filter:blur(2px)}.overlay[hidden]{display:none}.overlay h2{font-size:24px;margin:0 0 12px}.overlay>p:not(.eyebrow){font-size:13px;color:#b6cbd6;margin:0 0 26px}.overlay button{background:#aedfe5;border:1px solid #c9faff;color:#142933;padding:12px 32px;font-weight:650;border-radius:4px}.overlay button:disabled{opacity:.6}.status{display:flex;align-items:center;gap:12px;justify-content:space-between;min-height:50px;padding:10px 15px;font-size:11px;color:#a6bfcb;border-top:1px solid #293f4d}.status button{flex-shrink:0;border:0;background:none;color:#cfdee6;font-size:11px}.status kbd{margin-left:5px}button{font:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible{outline:2px solid #7dd5e5;outline-offset:3px}aside{padding-top:9px}.mission h2{font-size:27px;margin:12px 0 14px}.description{font-size:12px;line-height:1.9;color:#91a9b8}.mission ol{list-style:none;margin:27px 0;padding:0}.mission li{display:flex;gap:12px;margin-bottom:23px;align-items:flex-start}.mission li>span{font:10px ui-monospace,monospace;border:1px solid #38505c;padding:5px 6px;border-radius:3px;color:#8fb6c5}.mission li.done>span{background:#214148;color:#aef5ee;border-color:#438a8c}.mission li b{display:block;font-size:12px;font-weight:550}.mission li small{display:block;color:#829dab;font-size:10px;line-height:1.6;margin-top:5px}.controls{border-top:1px solid #253944;padding-top:23px}.controls dl{display:grid;grid-template-columns:84px 1fr;gap:12px 6px;font-size:11px}.controls dt,.controls dd{margin:0}.controls dd{color:#a5bdc9;align-self:center}kbd{font:10px inherit;display:inline-block;min-width:20px;padding:3px 5px;text-align:center;border:1px solid #38505c;background:#172630;border-radius:3px;color:#c8e0e9}.hint{font-size:11px;line-height:1.9;color:#809eae;margin:20px 0}.hazard-note{color:#c9a473;font-size:11px;line-height:1.9;border-top:1px solid #253944;padding-top:18px}.hazard-note span{display:inline-block;color:#eeb264;font-weight:bold;margin-right:5px}footer{display:flex;justify-content:space-between;margin-top:22px;font-size:10px;letter-spacing:.5px;color:#698692}footer a{color:#8ea9b7;text-decoration:none}.touch-controls{display:none;padding:12px;gap:10px;border-top:1px solid #253944}.touch-controls button{touch-action:none;user-select:none;flex:1;min-height:44px;background:#1c323e;border:1px solid #365365;border-radius:5px;color:#c9e4eb}.touch-controls button.active{background:#45717c}@media(pointer:coarse){.touch-controls{display:flex}}@media(max-width:1000px){main{padding:22px}.layout{grid-template-columns:1fr}aside{display:grid;grid-template-columns:1fr 1fr;gap:25px}.controls{border-top:0;padding-top:0}.hazard-note{display:none}.mission h2 br{display:none}.mission h2{font-size:21px}.description{display:none}.mission ol{margin:20px 0}.mission li{margin-bottom:13px}.touch-controls{display:flex}}@media(max-width:600px){main{padding:18px 10px}.edition{display:none}h1{font-size:22px;letter-spacing:2px}.eyebrow{font-size:9px}header{margin-bottom:18px}.hud{padding:0 10px;font-size:10px}.layout{gap:22px}.overlay h2{font-size:18px}.overlay>p:not(.eyebrow){font-size:11px}.overlay button{padding:9px 23px}.status{font-size:10px;padding:8px;min-height:50px}.status button{font-size:10px}aside{gap:12px}.controls dl{grid-template-columns:66px 1fr;font-size:10px}.mission li small{font-size:9px}.mission h2{font-size:18px}.controls .eyebrow{margin-top:5px}}

.validation-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 20px;font-size:12px}.validation-bar select,.validation-bar button{padding:9px 12px;border:1px solid #38505c;background:#172630;border-radius:4px;color:#c8e0e9}.validation-bar a{color:#91dbe2;margin-left:auto}#enemy-health{color:#eda571;font-size:10px}.stage:has(#gameContainer.flipped) #scene{transform:scaleY(-1)}

[hidden]{display:none!important}.game-nav{display:flex;justify-content:space-between;gap:15px;margin-bottom:18px;font-size:12px}.game-nav a,.ending-panel a{color:#9cdae0}#save-status{color:#d7b883}.title-panel{position:relative;border:1px solid #36515f;border-radius:10px;overflow:hidden;background:#0b1a24}.title-panel>img{display:block;width:100%;max-height:540px;object-fit:cover}.title-content{padding:28px;background:linear-gradient(#112530,#091822)}.title-content p{line-height:1.7}.menu-buttons{display:flex;flex-wrap:wrap;gap:12px}.menu-buttons button,.menu-buttons a,.title-content button,.story-controls button,.ending-panel button{display:inline-block;padding:12px 20px;border:1px solid #496c7b;border-radius:4px;background:#173542;color:#d4edf1;text-decoration:none;font:inherit}.menu-buttons #new-game{background:#b7e5e8;color:#142933}.story-panel,.ending-panel{border:1px solid #36515f;border-radius:10px;padding:26px;background:#0c1c27}.story-panel h2{margin:8px 0 22px}.story-picture{overflow:hidden;background:#07121a}.story-picture canvas{width:100%;display:block}.story-caption{min-height:130px;padding:24px 5px 10px;max-width:900px}.story-caption b{color:#8bdde3;font-size:13px}.story-caption p{font-size:18px;line-height:1.8;margin:10px 0}.story-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px}.story-controls label{margin-right:auto}.story-enter{animation:story-enter 8s ease-out both}#replace-save{margin-top:22px;border-top:1px solid #496c7b}#title-error{color:#ecc18a}.ending-panel{text-align:center;padding:60px 20px}.ending-panel button{margin:20px}.story-controls input{accent-color:#8bdde3}@keyframes story-enter{from{opacity:.4;transform:scale(1.015)}8%{opacity:1}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.story-enter{animation:none}}@media(max-width:600px){.story-panel{padding:15px 12px}.story-panel h2{font-size:20px}.story-caption p{font-size:16px}.story-caption{min-height:155px}.story-controls{gap:8px}.story-controls button{padding:12px}.title-content{padding:18px}.title-panel>img{min-height:190px}.hud{gap:7px}#health{letter-spacing:1px!important}}
.hud{height:auto;min-height:44px;flex-wrap:wrap;padding-top:7px;padding-bottom:7px}#health{white-space:nowrap}
#audio-status{font-size:12px;color:#ecc18a;line-height:1.6}#audio-status:empty{display:none}
