html,body{margin:0;height:100%;overflow:hidden;background:#000;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;font-family:system-ui,sans-serif}
canvas{display:block;width:100vw;height:100vh;height:100dvh;cursor:none}
.tb{position:fixed;top:8px;z-index:5;font-size:20px;background:#0008;color:#fff;border:2px solid #fff;border-radius:10px;padding:4px 10px;cursor:pointer;touch-action:manipulation}
#mute{right:8px}#pause{right:62px}
#banner{position:fixed;top:8px;right:116px;z-index:5;background:#000a;color:#ffd23f;border:2px solid #ffd23f;border-radius:10px;padding:3px 8px;font:bold 12px monospace;line-height:1.35;pointer-events:none;text-align:right}
#banner b{color:#fff}
.panel{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0009;z-index:6}
.hide{display:none!important}
.box{background:#1b1440;color:#fff;border:4px solid #ffd23f;border-radius:16px;padding:18px 22px;max-width:420px;width:86%;text-align:center;max-height:92vh;overflow:auto}
h1{margin:4px 0 8px;color:#ffd23f;letter-spacing:3px;text-shadow:3px 3px #e0218a}
.warn{background:#5a1020;border:2px solid #ff5470;border-radius:8px;padding:8px;font-size:14px;margin:10px 0;text-align:left}
label{display:block;margin:8px 0;font-size:15px}
.big{font-size:24px;font-weight:800;padding:10px 40px;margin:8px 0;border:0;border-radius:12px;background:#ffd23f;color:#1b1440;cursor:pointer}
#init{font:bold 24px monospace;width:4.2em;text-align:center;text-transform:uppercase;touch-action:manipulation}
#initGo{font-size:18px;padding:6px 14px;border-radius:8px;border:0;background:#2ecc71;color:#fff;font-weight:700}
small{display:block;opacity:.7;font-size:11px}
#hsMode{color:#33e0ff;font-size:11px;letter-spacing:1px}
#ovBoard h3{margin:6px 0;color:#ffd23f;font-size:15px}#ovBoard ol{margin:0 auto;padding:0;list-style-position:inside;max-width:240px;text-align:left;font:bold 14px monospace}#ovBoard li span{display:inline-block;width:4em}#ovBoard li b{float:right}#ovBoard li{padding:0 4px}#ovBoard li.me{color:#1b1440;background:#ffd23f;border-radius:4px}.dim{opacity:.6}
