:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;background:#0c1011;color:#d9dfdb}*{box-sizing:border-box}body{margin:0;padding:0 20px}main{max-width:1040px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:27px 0 21px}.label,.edition{font:10px 'Courier New',monospace;letter-spacing:.14em;color:#a8bc98}.label{margin:0 0 7px}h1{font-size:19px;letter-spacing:.025em;margin:0;font-weight:700}h1 span{color:#b4cba1}.edition{font-size:9px;color:#7b8c7e;white-space:nowrap}.player{border:1px solid #35413a;background:#090d0b;box-shadow:0 16px 65px #0005}.screen{position:relative;width:100%;aspect-ratio:4/3;max-height:calc(100svh - 180px);background:#000;overflow:hidden;display:flex;justify-content:center;align-items:center}.poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;opacity:.6}canvas{visibility:hidden;display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;position:relative;touch-action:none;outline-offset:-3px}canvas:focus-visible{outline:1px solid #9eb78a}.launch{position:absolute;inset:0;display:grid;place-items:center;text-align:center;background:linear-gradient(0deg,#050c08dd,#0710098a)}.launch>div{padding:20px}.launch h2{font-size:clamp(21px,3.7vw,38px);letter-spacing:-.025em;margin:13px 0;color:#edf0e9}.launch p:not(.label){font-size:13px;line-height:1.6;color:#bdc9bb}.launch .hint{font-size:10px!important;font-family:'Courier New',monospace;color:#829b7e!important;margin-top:17px}button{font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid #aecb94;outline-offset:3px}.primary{background:#b9d4a2;border:1px solid #c8e0b5;color:#172411;padding:14px 25px;font:700 12px 'Courier New',monospace;letter-spacing:.07em;margin-top:13px}.primary:hover{background:#d0e5bc}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 14px;border-top:1px solid #303d33;background:#151d17}.toolbar>div{display:flex;gap:6px}.toolbar button{font-size:11px;padding:7px 10px;border:1px solid #3d4b3c;background:#1e2b20;color:#c8d6c4}.toolbar button:hover{background:#34472e}.status{font:10px 'Courier New',monospace;color:#9eb291}.pause-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#050b07c9}.loading{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);background:#0b160de8;border:1px solid #6a805c;padding:15px 20px;font:12px 'Courier New',monospace;text-align:center;max-width:90%;width:360px}.loading progress{display:block;width:100%;height:4px;margin-top:12px;accent-color:#b9d4a2}.failure{padding:18px;border-top:1px solid #ad755f;color:#edbaa6;background:#2d1f18}.failure strong{font:12px 'Courier New',monospace}.failure p{font-size:13px;white-space:pre-wrap}.failure button{background:#e0bf9f;border:0;padding:9px 19px;color:#2e1a0d}.instructions{margin:22px 0 27px;color:#98a697;font:9px/2 'Courier New',monospace}.instructions>p{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin:0}.instructions span{margin-left:15px}.instructions .tip{display:block;font:12px/1.7 Arial,sans-serif;margin-top:12px;color:#8b9c8a}kbd{font:10px 'Courier New',monospace;border:1px solid #455440;padding:1px 5px;color:#c2d0b9;border-radius:2px;min-width:17px;text-align:center}.instructions strong{font-weight:400;color:#c4d5bb}footer{border-top:1px solid #29372c;padding:18px 0 28px;font-size:11px;line-height:1.7;color:#6f826f}footer>span{display:block;margin-bottom:6px}summary{cursor:pointer;color:#a2b797;font-size:11px}details p{max-width:850px;font-size:12px;color:#95a88f}details a{color:#bfd5ae}#diagnostics{font-size:9px;max-height:130px;overflow:auto;white-space:pre-wrap;color:#6d816b}.touch-panel{display:none;align-items:center;justify-content:space-between;gap:20px;padding:17px 7px;touch-action:none}.direction-pad{width:105px;height:105px;border:1px solid #687c5e;border-radius:50%;position:relative;background:#1b281a;touch-action:none;user-select:none;flex-shrink:0}.direction-pad .knob{position:absolute;left:32px;top:32px;width:39px;height:39px;background:#93ab7866;border:1px solid #a6bd8c;border-radius:50%;pointer-events:none}.direction-pad span{position:absolute;bottom:10px;left:0;width:100%;text-align:center;font:8px 'Courier New',monospace;letter-spacing:.1em;color:#9db38c;pointer-events:none}.touch-functions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;flex:1;max-width:360px}.touch-functions button{padding:9px 5px;font:8px 'Courier New',monospace;border:1px solid #45573e;color:#b4c8a5;background:#1d2b1b;touch-action:manipulation}.fire{background:#a7c58e;color:#1a2c11;border:1px solid #c1d7aa;border-radius:50%;width:90px;height:90px;font:700 19px 'Courier New',monospace;touch-action:none;flex-shrink:0}.fire small{display:block;font:7px 'Courier New',monospace;margin-top:6px}.held{background:#d2e7bd!important}.player:fullscreen{display:flex;flex-direction:column;justify-content:center;border:0}.player:fullscreen .screen{max-height:calc(100svh - 58px);flex:1;min-height:0}.player:fullscreen .toolbar{flex-shrink:0}[hidden]{display:none!important}@media(pointer:coarse){.touch-panel{display:flex}}@media(max-width:650px){body{padding:0 10px}header{padding:20px 0 15px;gap:10px;align-items:flex-start}h1{font-size:13px;max-width:250px;line-height:1.5}.label{font-size:8px}.edition{font-size:7px;max-width:90px;white-space:normal;text-align:right;line-height:1.6;margin-top:5px}.screen{max-height:none}.toolbar{padding:9px;gap:8px;flex-wrap:wrap}.toolbar .status{font-size:8px;min-width:100%}.toolbar>div{justify-content:space-between;width:100%}.toolbar button{font-size:10px;padding:8px 10px}.launch h2{font-size:24px}.launch p:not(.label){font-size:10px}.launch .primary{font-size:10px;padding:12px 18px}.launch .hint{font-size:8px!important}.launch>div{padding:10px}.instructions{margin:15px 0 20px;font-size:8px}.instructions span{margin-left:7px}.instructions .tip{font-size:11px}.touch-panel{gap:10px;padding:16px 2px}.direction-pad{width:85px;height:85px}.direction-pad .knob{width:33px;height:33px;left:25px;top:25px}.direction-pad span{font-size:6px;bottom:7px}.fire{width:77px;height:77px;font-size:17px}.fire small{font-size:6px}.touch-functions{gap:4px}.touch-functions button{font-size:6px;padding:10px 4px}.loading{font-size:10px;bottom:10px;padding:11px 14px}footer{font-size:10px;padding-top:15px}}
