*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#23313a 0,#10191f 40%,#080d11 85%);color:#e4edef;font:14px system-ui,sans-serif;min-height:100vh}main{width:min(1120px,100%);margin:auto;padding:22px 24px}header{display:flex;justify-content:space-between;align-items:center;padding:0 0 16px;border-bottom:1px solid #52616a}.brand{display:flex;align-items:baseline;gap:15px}.brand b{font-size:26px;letter-spacing:5px}.brand span{font-size:11px;letter-spacing:3px;color:#a8b9c1}.tag{color:#93a6ae;font:10px/1.8 ui-monospace,Consolas,monospace;letter-spacing:1px;text-align:right}.label,.eyebrow{font:10px/1.5 ui-monospace,Consolas,monospace;letter-spacing:1.5px;color:#a1b6c0}.instrument-panel{display:grid;grid-template-columns:1.2fr 1.2fr .85fr;gap:28px;padding:16px 20px;background:linear-gradient(#243039,#19242c);border:1px solid #42515b;border-top:2px solid #7b939d;margin-top:16px;box-shadow:0 5px 20px #0004}.identity{display:flex;flex-direction:column;gap:3px}.identity strong{font-size:15px;letter-spacing:1.5px}#mission-state{font:9px ui-monospace,Consolas,monospace;color:#9fc9c9;letter-spacing:1px}.meter-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:4px 0 9px}.meter-heading strong{font:14px ui-monospace,Consolas,monospace}#health-meter{height:10px;background:#0a1117;border:1px solid #5b707b;padding:2px}#hp-fill{display:block;height:100%;width:100%;background:#9ee5d9}#health-meter[data-low=true] #hp-fill{background:#ffc183}.grenade-slots{display:flex;gap:6px;height:10px}.grenade-slots i{flex:1;border:1px solid #9e8a67;background:#121c23}.grenade-slots i[data-loaded=true]{background:repeating-linear-gradient(110deg,#d8b373 0 5px,#b9955c 5px 7px)}.objective-row{display:flex;gap:18px;padding:12px 16px;border-left:3px solid #80cbc6;background:#111e26;align-items:center;min-height:46px}#objective{color:#eef6f5;font-size:13px;line-height:1.5}#stage{position:relative;aspect-ratio:16/9;background:#09131e;overflow:hidden;border:1px solid #465760;box-shadow:0 18px 55px #0005}canvas{width:100%;height:100%;display:block;outline:none;image-rendering:auto}canvas:focus-visible{outline:2px solid #98ded5;outline-offset:-3px}#overlay{position:absolute;inset:0;background:linear-gradient(90deg,#0b151cf7 0%,#14212def 52%,#08182388 100%);padding:4% 6%;overflow:auto;border-left:4px solid #9dcfc9}.eyebrow{color:#a1dfd8}h1{font-size:clamp(30px,5vw,62px);line-height:.98;letter-spacing:4px;margin:16px 0;color:#f1f5ef}#description{max-width:580px;font-size:clamp(13px,1.5vw,17px);line-height:1.5;color:#c0d1d9;margin:12px 0}#brief{max-width:490px;font-size:13px;line-height:1.5}.mint{color:#a0e8d4}.red{color:#ffb299}.overlay-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}button{background:linear-gradient(#293b46,#1c2b34);color:#e2f5f2;border:1px solid #647a85;border-radius:2px;padding:9px 14px;cursor:pointer;font:inherit;min-height:38px}button:hover:not(:disabled),button:focus-visible,summary:focus-visible{background:#354d59;outline:2px solid #a0ece1;outline-offset:2px}button:disabled{opacity:.45;cursor:default}#start,#retry{background:#a4dfd4;color:#0b232a;border-color:#bceee5;font-weight:750}small{display:block;color:#a2b4be;font-size:10px;line-height:1.5}.location-row{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#17232b;padding:10px 15px;font:10px/1.5 ui-monospace,Consolas,monospace;letter-spacing:.5px;color:#a9bdc7;min-height:38px}#interaction{color:#b1f3e7;font-weight:bold;text-align:center}#checkpoint{white-space:nowrap}#checkpoint-notice{background:#263b3b;color:#c6f5df;font:11px/1.5 ui-monospace,Consolas,monospace;text-align:center}#checkpoint-notice:not(:empty){padding:7px}#comms{min-height:78px;padding:11px 16px;background:#0e1b23;border:1px solid #344b57;border-left:3px solid #50777b;margin-top:10px}#comms[data-active=true]{border-left-color:#a7e6d8}#comms-source{color:#95d1cf}#comms-message{font-size:13px;line-height:1.5;color:#d3e4e7;margin:4px 0 0;max-width:95ch}#boss-status{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:#292b27;border:1px solid #857758;padding:10px 15px;font:11px/1.5 ui-monospace,Consolas,monospace;color:#f3d29b}#boss-status strong{letter-spacing:1px;color:#f5e9cd}.boss-parts{display:flex;gap:16px;flex-wrap:wrap;margin-left:auto}nav{display:flex;align-items:center;gap:8px;margin-top:12px}nav button{font-size:12px}.nav-note{margin-left:auto;color:#98a9b2;font:9px ui-monospace,Consolas,monospace;letter-spacing:1px}details{border:1px solid #3b4d58;background:#111c24;margin-top:12px}summary{cursor:pointer;padding:12px 15px;font:11px ui-monospace,Consolas,monospace;letter-spacing:1px;color:#d2e0e4}.control-grid{display:grid;grid-template-columns:1fr 1.3fr 1.3fr;gap:20px;padding:0 15px;color:#b5c6ce;font-size:12px;line-height:2}.control-grid b{font-size:10px;color:#e4eded}.guide-note{margin:5px 15px 15px;font-size:11px;color:#a1b3be;line-height:1.6}footer{display:flex;justify-content:space-between;color:#8a9ca7;font:9px/2 ui-monospace,Consolas,monospace;letter-spacing:1px;margin-top:12px}[hidden]{display:none!important}@media(max-width:650px){main{padding:10px}.tag,.nav-note{display:none}.brand{gap:8px;flex-wrap:wrap}.brand b{font-size:21px}.brand span{font-size:9px}.instrument-panel{gap:12px;padding:12px;grid-template-columns:1fr 1fr}.identity{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.identity .label{display:none}.identity strong{font-size:12px}.objective-row{gap:10px;padding:8px 10px}.objective-row>.label{font-size:8px;max-width:50px}#objective{font-size:12px}#overlay{padding:3% 5%}h1{margin:9px 0;font-size:32px}#description{margin:5px 0}#brief{font-size:11px}small{font-size:9px}.eyebrow{font-size:9px}.overlay-actions{margin:10px 0}button{padding:7px 10px}.location-row{flex-wrap:wrap;gap:6px;font-size:9px}#interaction{order:3;width:100%}#interaction:empty{display:none}.control-grid{grid-template-columns:1fr;gap:0}.control-grid p{margin:5px 0}#boss-status{gap:5px;font-size:10px}.boss-parts{width:100%;margin:0;gap:10px}#comms-message{font-size:12px}footer span{display:none}}
