html,body{color:#ddd;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;background:#000;height:100%;margin:0;font-family:Arial,Helvetica,sans-serif;overflow:hidden}#game{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#stage{line-height:0;position:relative}#stage canvas{touch-action:none;display:block}#overlay{z-index:5;justify-content:center;align-items:center;line-height:normal;display:flex;position:absolute;inset:0}#overlay[hidden],#vkeys[hidden],#start[hidden]{display:none}.gm-dialog{box-sizing:border-box;min-width:50%;max-width:80%;padding:calc(22px * var(--s,1)) calc(26px * var(--s,1)) calc(16px * var(--s,1));font:bold calc(12px * var(--s,1)) Arial, sans-serif;color:#fff;text-align:center;background:#111 50%/100% 100% no-repeat;box-shadow:0 0 0 1px #333}.gm-text{white-space:pre-wrap;margin-bottom:calc(12px * var(--s,1));line-height:1.35}.gm-row{gap:calc(12px * var(--s,1));justify-content:center;display:flex}.gm-button{min-width:calc(64px * var(--s,1));padding:calc(4px * var(--s,1)) calc(12px * var(--s,1));font:bold calc(12px * var(--s,1)) Arial, sans-serif;color:#fff;cursor:pointer;background:#000;border:1px solid #555}.gm-button:hover,.gm-button:focus{color:red;outline:none}.gm-input{box-sizing:border-box;width:90%;margin:0 auto calc(12px * var(--s,1));padding:calc(4px * var(--s,1)) 6px;font:max(16px, calc(13px * var(--s,1))) Arial, sans-serif;color:#fff;-webkit-user-select:text;user-select:text;background:#000;border:1px solid #666;display:block}#start{z-index:10;cursor:pointer;background:#000;justify-content:center;align-items:center;line-height:normal;display:flex;position:absolute;inset:0}.start-inner{text-align:center}.start-inner h1{letter-spacing:6px;color:#c9c9c9;margin:0 0 18px;font:700 44px Georgia,serif}#progress{background:#222;width:220px;height:6px;margin:0 auto 14px}#bar{background:#888;width:0;height:100%;transition:width .2s}#status{color:#999;margin:0;font-size:14px}#vkeys{flex-wrap:wrap;justify-content:center;gap:8px;max-width:100%;padding:8px;display:flex}.vkey{color:#eee;touch-action:none;background:#222;border:1px solid #555;border-radius:6px;min-width:48px;height:44px;padding:0 12px;font:700 18px Arial,sans-serif}.vkey:active{background:#555}#rotate{color:#888;text-align:center;margin:12px 16px 0;font-size:14px;display:none}@media (orientation:portrait) and (pointer:coarse){#rotate{display:block}}
