html,body{touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:#000;height:100%;margin:0;overflow:hidden}#screen{width:100%;height:100%;display:block;position:fixed;inset:0}#safe-area{top:env(safe-area-inset-top,0px);right:env(safe-area-inset-right,0px);bottom:env(safe-area-inset-bottom,0px);left:env(safe-area-inset-left,0px);pointer-events:none;visibility:hidden;position:fixed}#stick{pointer-events:none;opacity:0;width:0;height:0;transition:opacity .15s;position:fixed;top:0;left:0}#stick.active{opacity:1}#stick:before,#stick-knob{content:"";border-radius:50%;position:absolute}#stick:before{border:2px solid #ffffff59;width:112px;height:112px;top:-56px;left:-56px}#stick-knob{background:#ffffff59;width:48px;height:48px;margin:-24px 0 0 -24px}#options-button{top:calc(env(safe-area-inset-top,0px) + 8px);right:calc(env(safe-area-inset-right,0px) + 8px);color:#fff9;background:#ffffff1f;border:0;border-radius:50%;width:44px;height:44px;padding:0;display:none;position:fixed}#pause-button{top:calc(env(safe-area-inset-top,0px) + 8px);right:calc(env(safe-area-inset-right,0px) + 60px);color:#fff9;background:#ffffff1f;border:0;border-radius:50%;width:44px;height:44px;padding:0;display:none;position:fixed}#options-button svg,#pause-button svg{width:26px;height:26px}body.touch #options-button,body.touch #pause-button{display:block}@media (pointer:coarse){#options-button,#pause-button{display:block}}#keyboard{left:50%;top:calc(env(safe-area-inset-top,0px) + 60px);width:min(720px, calc(100vw - 16px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));box-sizing:border-box;touch-action:none;background:#000000d1;border-radius:10px;flex-direction:column;gap:6px;padding:8px;display:none;position:fixed;transform:translate(-50%)}#keyboard.open{display:flex}#keyboard>div{justify-content:center;gap:6px;display:flex}#keyboard button{color:#fff;background:#ffffff2e;border:0;border-radius:6px;flex:0 9%;height:clamp(32px,8vh,52px);padding:0;font:600 clamp(14px,3.5vh,22px)/1 system-ui,sans-serif}#keyboard button:active{background:#fff6}#keyboard button.wide{flex-basis:15%}#keyboard button.space{flex-basis:50%}body[data-error]:after{content:attr(data-error);color:#f66;font:14px/1.4 system-ui,sans-serif;position:fixed;inset:auto 16px 16px}
