*{box-sizing:border-box} :root{color-scheme:dark;font-family:"Yu Gothic UI","Meiryo",sans-serif;color:#e9e8e2;background:#10141e;font-synthesis:none}body{margin:0;background:radial-gradient(ellipse at 8% 6%,#44262b55,transparent 55%),radial-gradient(ellipse at 90% 50%,#182f4655,transparent 55%),#10141e;min-height:100vh}main{max-width:1376px;padding:24px 40px 20px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:2px}.brand{display:flex;gap:14px;align-items:center;font-weight:700}.badge{border:1px solid #bda16d;color:#edcf96;padding:7px 8px;letter-spacing:0}.dim{color:#636875;margin:0 8px}.tools{display:flex;gap:8px}button{font:inherit;color:#cccfcf;background:#1c2230;border:1px solid #363c47;padding:9px 15px;cursor:pointer;border-radius:3px;transition:background .15s,border-color .15s}button:hover{background:#2b3040;border-color:#a88e64}button:focus-visible{outline:2px solid #f3d298;outline-offset:3px}button:disabled{opacity:.4;cursor:default}.title-row{display:flex;align-items:end;justify-content:space-between;margin:27px 0 20px}.eyebrow{font-size:10px;letter-spacing:3px;color:#b6a185;margin:0 0 5px}h1{margin:0;font-size:34px;font-weight:900;letter-spacing:4px;line-height:1.4}h1 span{color:#f0cf97}.version{display:flex;align-items:center;gap:8px;font-size:9px;color:#878d9b;letter-spacing:1px;padding-bottom:9px}.version i{width:5px;height:5px;border-radius:50%;background:#bdaa77}.version b{color:#b6a185;font-weight:400;margin-left:5px}#stage{position:relative;aspect-ratio:var(--game-aspect,1.333333);background:#101622;border:1px solid #75603e;box-shadow:0 18px 70px #0007;overflow:hidden}#game{width:100%;height:100%}#game canvas{display:block;width:100%;height:100%;touch-action:none}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:22px;letter-spacing:3px;background:#101622;pointer-events:none}#loading span{font-size:12px;color:#b29b76;margin-top:15px;letter-spacing:1px}.under-stage{display:flex;align-items:center;justify-content:space-between;padding:13px 0;font-size:11px;border-bottom:1px solid #2a303b;gap:12px}#status{color:#c9b593}.transport{display:flex;gap:7px}.transport button{font-size:11px;padding:6px 10px;letter-spacing:0}.transport kbd{font-size:9px;margin-left:6px;opacity:.7;padding:1px 3px}.controls{display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:space-between;padding:21px 0 16px;font-size:11px;color:#c0c4cc}.control-main,.moves{display:flex;gap:17px;align-items:center;flex-wrap:wrap}.label{font-size:9px;color:#aa9374;letter-spacing:1.5px;margin-right:4px}kbd{font-family:inherit;display:inline-block;font-size:11px;border:1px solid #505666;background:#202736;border-radius:3px;padding:2px 6px;min-width:21px;text-align:center;margin-right:3px;color:#e5e1d6;box-shadow:0 2px 0 #05070c}footer{display:flex;justify-content:space-between;gap:20px;color:#717b8e;font-size:10px;line-height:1.8}#stage:fullscreen{width:100vw;height:100vh;background:#000;border:none;display:flex;justify-content:center;align-items:center}#stage:fullscreen #game{width:min(100vw,calc(100vh * var(--game-aspect)));height:min(calc(100vw / var(--game-aspect)),100vh)}@media(max-width:800px){main{padding:15px 12px}h1{font-size:23px;letter-spacing:2px}.title-row{margin:22px 0 16px}.version{font-size:8px}.eyebrow{font-size:8px;letter-spacing:1px}.under-stage{flex-wrap:wrap}.controls{gap:12px;padding:16px 0}.control-main,.moves{gap:10px}footer{flex-direction:column;gap:5px}.brand{font-size:9px}.tools button{font-size:10px;padding:6px 9px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media(min-width:801px){#stage,.under-stage,.controls,footer{width:min(100%,calc((100dvh - 310px)*var(--game-aspect)));margin-left:auto;margin-right:auto}.title-row,header{max-width:100%;margin-left:auto;margin-right:auto}#stage{min-width:0}#stage:fullscreen{width:100vw;min-width:0}.controls{gap:8px 20px;padding:12px 0}.control-main,.moves{gap:10px}footer{font-size:9px}}

#audio-hint{position:absolute;top:16%;left:50%;transform:translateX(-50%);z-index:5;background:#111925ee;color:#f2d4a2}.command-help{width:100%;color:#b7a584;font-size:10px}


#game:focus{outline:none}#game:focus-visible{outline:1px solid #bda16d;outline-offset:-1px}

/* Controls are DOM siblings of the canvas and never enter the recording. */
#stage{overflow:visible;margin-bottom:46px}#game{overflow:hidden}.recording-tools{position:absolute;top:100%;left:0;right:0;height:40px;display:flex;align-items:center;gap:12px;padding:4px 0;font-size:11px}.recording-tools button{font-size:12px;padding:6px 12px;white-space:nowrap}#record[aria-pressed=true]{color:#ffd1cb;border-color:#eb8276;background:#4b2228}#record-status{color:#bfc9d6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#stage:fullscreen{margin-bottom:0;overflow:hidden;padding-bottom:42px}#stage:fullscreen #game{width:min(100vw,calc((100vh - 42px)*var(--game-aspect)));height:min(calc(100vw / var(--game-aspect)),calc(100vh - 42px))}#stage:fullscreen .recording-tools{top:auto;bottom:0;padding:5px 14px;background:#10141e;z-index:10}
.release-links{font-size:11px;text-align:center}.release-links a{color:#9ed8ff}
