:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;color:#e9e8ef;background:#10131a}*{box-sizing:border-box}body{margin:0}a{color:inherit}header{height:76px;border-bottom:1px solid #ffffff12;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1160px)/2))}.brand{font-weight:700;font-size:24px;letter-spacing:-1px;text-decoration:none}header nav{display:flex;gap:26px;font-size:14px;color:#b9beca}main{max-width:1160px;margin:auto;padding:34px 24px 28px}.eyebrow{font-size:11px;letter-spacing:2px;color:#b9a477;text-transform:uppercase}h1{font-size:clamp(26px,4vw,39px);font-weight:500;letter-spacing:-1px;margin:10px 0 26px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px}.panel{border:1px solid #ffffff16;border-radius:10px;background:#171b24;overflow:hidden}.stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:478px;background:radial-gradient(ellipse at center,#272135,#0b0d13 75%);padding:24px}.stage:fullscreen{height:100vh;background:#08090d}.stage:fullscreen canvas{height:min(90vh,832px);width:auto;max-width:95vw}canvas{display:block;background:#000;width:352px;height:416px;max-width:100%;object-fit:contain;image-rendering:pixelated;outline:none;box-shadow:0 14px 45px #0008}canvas:focus-visible{outline:2px solid #b9a477;outline-offset:4px}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;background:#101019ef;padding:30px}.overlay[hidden]{display:none}.overlay-inner{max-width:350px}.overlay h2{font-size:25px;font-weight:500;margin:0 0 14px}.overlay p{font-size:14px;color:#b9beca;line-height:1.7}.overlay progress{width:100%;height:5px;accent-color:#b9a477;margin:12px 0}.primary{background:#b9a477!important;color:#11131b!important;border-color:#b9a477!important;padding:12px 28px!important;font-weight:700}.toolbar{display:flex;align-items:center;gap:10px;padding:14px 16px;border-top:1px solid #ffffff12;flex-wrap:wrap}button,.file-button{border:1px solid #ffffff20;background:#222733;color:#e9e8ef;border-radius:5px;font-size:13px;padding:9px 13px;cursor:pointer;font-family:inherit}button:hover,.file-button:hover{background:#303648}button:focus-visible,a:focus-visible,.file-button:focus-within{outline:2px solid #b9a477;outline-offset:3px}button:disabled{opacity:.4;cursor:default}.toolbar .status{font-size:12px;color:#aeb9c9;margin-left:auto}.cover{width:100%;aspect-ratio:2/3;object-fit:cover;display:block}.game-info{padding:18px}.game-info p{color:#9da8bc;font-size:13px;line-height:1.7;margin:6px 0}.game-info strong{font-weight:500;color:#e9e8ef}.keypad{display:flex;justify-content:center;align-items:center;gap:28px;padding:20px;background:#141822;border-top:1px solid #ffffff12}.dpad,.numbers{display:grid;grid-template-columns:repeat(3,48px);gap:6px}.keypad button{height:42px;padding:0;touch-action:none;user-select:none;font-size:15px}.keypad .pressed{background:#b9a477;color:#111}.softkeys{display:flex;gap:6px;margin-bottom:10px}.softkeys button{height:34px;flex:1;font-size:11px}.control-panel{margin-top:24px;padding:22px}.control-panel h2{font-size:17px;font-weight:500;margin:0 0 14px}.controls{display:grid;grid-template-columns:1fr 1fr;gap:9px 25px;font-size:13px;color:#aeb9c9}.controls p{margin:0;line-height:1.8}.controls strong{color:#e9e8ef;font-weight:400}.save-note{font-size:12px;line-height:1.8;color:#9da8bc;border-top:1px solid #ffffff12;padding-top:16px;margin:18px 0 12px}.save-tools{display:flex;gap:8px;flex-wrap:wrap}.file-button input{position:absolute;width:1px;height:1px;opacity:0}.messages{min-height:20px;font-size:12px;color:#b9a477;line-height:1.7;margin-top:12px}footer{display:flex;justify-content:space-between;gap:20px;margin-top:30px;font-size:11px;color:#7f899c;line-height:1.7}.credits a{color:#b6becc}.diagnostics{margin-top:15px;font-size:11px;color:#7f899c}.diagnostics pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto}.control-caption{font-size:11px;color:#8490a4;margin:0 0 12px}@media(max-width:760px){.game-layout{grid-template-columns:1fr}.info-panel{display:none}.stage{min-height:452px;padding:18px}main{padding:25px 16px}header{padding:0 20px;height:66px}.controls{grid-template-columns:1fr}.keypad{gap:22px;padding:18px 10px}footer{flex-direction:column;gap:8px}h1{font-size:27px}.toolbar{gap:7px}.toolbar .status{flex-basis:100%;margin:3px 0 0}}@media(max-width:380px){.dpad,.numbers{grid-template-columns:repeat(3,42px)}.keypad{gap:16px}canvas{width:264px;height:312px}.stage{min-height:352px}}
.cover{height:auto}
.file-button:has(input:disabled){opacity:.4;cursor:default}
#player:fullscreen{display:flex;flex-direction:column;background:#0b0d13;overflow:auto}#player:fullscreen .stage{flex:1;min-height:0;padding:12px}#player:fullscreen canvas{height:min(65vh,624px);max-height:calc(100vh - 250px);width:auto;max-width:95vw}#player:fullscreen .keypad,#player:fullscreen .toolbar{flex-shrink:0}@media(max-width:760px){.stage{min-height:352px}canvas{width:264px;height:312px}}
