html,body{color:#eee;background:#000;height:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#stage{background:#000;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#canvas{width:100%;height:100%;display:block}#paused{color:#fff;opacity:0;pointer-events:none;background:#00000059;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:-36px 0 0 -36px;transition:opacity .25s;display:flex;position:absolute;top:50%;left:50%}body.paused #paused{opacity:1}#hint{color:#ffffffeb;letter-spacing:.02em;white-space:nowrap;opacity:0;pointer-events:none;background:#0006;border-radius:16px;padding:7px 14px;font-size:13px;transition:opacity .8s;position:absolute;bottom:7%;left:50%;transform:translate(-50%)}#hint.show{opacity:1}#pausebtn{color:#fff;cursor:pointer;opacity:0;pointer-events:none;background:#00000061;border:none;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;transition:opacity .3s;display:flex;position:absolute;bottom:14px;left:14px}body.controls #pausebtn{opacity:1;pointer-events:auto}#pausebtn .i-play,body.paused #pausebtn .i-pause{display:none}body.paused #pausebtn .i-play{display:block}body.playing.controls{cursor:crosshair}body.playing:not(.controls){cursor:none}#overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000080;justify-content:center;align-items:center;transition:opacity .6s;display:flex;position:absolute;inset:0}#overlay.loading:not(.ready){background:#000}#overlay.hidden{opacity:0;pointer-events:none}#overlay .card{text-align:center;max-width:520px;padding:24px}#overlay .title{letter-spacing:.04em;font-size:30px;font-weight:300}#overlay .subtitle{color:#999;letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-size:14px}#overlay .progress{background:#ffffff26;width:220px;height:2px;margin:26px auto 10px;overflow:hidden}#overlay .bar{background:#fff;width:0;height:100%;transition:width .2s linear}#overlay .status{color:#888;min-height:16px;font-size:12px}#play{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff80;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:22px auto 6px;transition:background .2s,transform .2s;display:none}#play:hover{background:#ffffff2e;transform:scale(1.05)}#overlay.ready .progress,#overlay.ready .status{display:none}#overlay.ready #play{display:flex}#overlay .credit{color:#777;margin-top:26px;font-size:11px;line-height:1.5}#overlay .credit a{color:#999}#overlay .keys{color:#555;margin-top:8px;font-size:11px}#hud{color:#0f0;white-space:pre;pointer-events:none;text-shadow:0 0 2px #000;font:11px/1.4 ui-monospace,Consolas,monospace;display:none;position:absolute;top:8px;left:8px}body.debug #hud{display:block}
