*{box-sizing:border-box}[hidden]{display:none!important}:root{color-scheme:dark;--ink:#080d1c;--panel:#132039;--paper:#fff1d3;--mint:#94f4d6;--gold:#ffc278;--muted:#b7c9e7}body{margin:0;min-height:100dvh;display:grid;place-items:center;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:radial-gradient(ellipse at 70% 15%,#222a50,var(--ink) 70%);color:var(--paper);font:16px system-ui}main{width:min(100%,1200px,calc((100dvh - 128px)*1.78));min-width:0}header,footer,nav,#actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}header,footer{justify-content:space-between;min-height:54px}.brand{font-weight:900;letter-spacing:.12em;color:var(--paper);text-decoration:none;font-size:16px}.brand span,#eyebrow{color:var(--mint)}button{font:inherit;font-weight:750;min-height:46px;padding:6px 14px;border:1px solid #7185ad;border-radius:9px;background:#233453;color:var(--paper);cursor:pointer;touch-action:manipulation}button:hover:not(:disabled){background:#314a73}button:active{transform:scale(.96)}button:disabled{opacity:.55;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid var(--mint);outline-offset:2px}.stage{aspect-ratio:16/9;position:relative;overflow:hidden;border:1px solid #7586ab;border-radius:16px;background:#10182a}canvas{width:100%;height:100%;display:block;touch-action:none}.hud{position:absolute;inset:0 0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px 12px;padding:12px;background:linear-gradient(#080d1cef,#080d1c10);pointer-events:none;font-weight:800}.oxygen{width:100%;height:6px;background:#202e4c;border-radius:10px;overflow:hidden}.oxygen i{display:block;height:100%;background:var(--mint);transform-origin:left}#panel{position:absolute;left:5%;top:50%;transform:translateY(-50%);width:min(90%,510px);max-height:96%;overflow:auto;background:#101a30ee;border:1px solid #8596bb;border-radius:14px;padding:clamp(12px,2.5vw,28px);box-shadow:0 14px 55px #0609129c;animation:appear .21s ease-out}#eyebrow{display:block;font-weight:850;letter-spacing:.15em;font-size:16px}h1{font:850 clamp(29px,5.3vw,66px)/.95 system-ui;margin:7px 0 10px;letter-spacing:-.05em}p{margin:0 0 12px;color:var(--muted)}#actions{margin-top:10px}.primary,#launch{background:var(--gold);color:var(--ink);border-color:var(--gold)}.primary:hover:not(:disabled),#launch:hover{background:#ffdb9f}#launch{min-width:150px}#guide{color:var(--mint);font-weight:800;letter-spacing:.05em}kbd{font:inherit;font-size:12px;opacity:.75}.map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.map button{padding:2px;white-space:nowrap;font-size:16px}.medals{color:var(--gold);font-size:27px;letter-spacing:.12em}.stack{display:flex;flex-wrap:wrap;gap:5px}.stat{color:var(--mint);font-weight:800}@keyframes appear{from{opacity:.25;transform:translateY(-46%)}}[data-reduced=true] *{animation:none!important;transition:none!important}@media(max-width:650px) and (orientation:portrait){main{width:100%}.stage{aspect-ratio:auto;overflow:visible}canvas{height:clamp(235px,43dvh,440px);border-radius:15px}#panel{position:relative;inset:auto;transform:none;width:100%;max-height:none;border:0;animation:none;padding:13px}.hud{padding:8px}h1{font-size:32px}footer{gap:5px}#guide{width:100%;font-size:16px}header{min-height:48px}.brand{letter-spacing:.035em}button{padding-inline:10px}kbd{display:none}}
@media(max-width:650px) and (orientation:portrait){body:not([data-scene=play]) canvas{height:clamp(155px,27dvh,275px)}#panel{padding:12px}#panel h1{line-height:1.03}.map button{min-width:0}}

.radio{font-weight:650;color:#b7c9e7;margin:5px 0 7px}

