#splash,html{background:#000}#splash,.cb{align-items:center;display:flex}#g,#splash canvas{position:absolute}#hud,#msg p{letter-spacing:2px}.cb,canvas{border:1px solid #333;cursor:pointer}#ctrl,#g,#hud,#splash,#switch,.cb{display:flex}#splash.dissolving,#switchToggle{background:0 0}#splash img,#switchToggle,#wrap{position:relative}#switchToggle,.cb,canvas{cursor:pointer}#ctrl.hidden .cb,#touch-zones{display:none}#splash,#touch-zones{position:fixed;inset:0}#msg,#tz-left::after{text-align:center;white-space:nowrap}*{margin:0;padding:0;box-sizing:border-box}html{overflow:hidden;overscroll-behavior:none}body{-webkit-user-select:none;-ms-user-select:none;user-select:none}#splash{z-index:9999;justify-content:center}#splash.fade-out{pointer-events:none}#splash canvas{inset:0;width:100%;height:100%;border:none;cursor:default}#splash img{z-index:1;max-width:75%;max-height:75%;width:50vmin;height:50vmin;object-fit:contain}#g{left:50%;top:50%;flex-direction:column;align-items:center;justify-content:center;padding:8px;font-family:'Courier New',monospace;transform-origin:top left}#hud{color:#fff;gap:32px;padding:6px 0;font-size:12px;width:640px;margin:0 auto;justify-content:center}#hud span{color:#666}#hud b,#msg h2,.blink,.cb{color:#fff}#hud .hi{color:#fa0}#tz-left::after,#tz-right::after{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Courier New',monospace;font-size:40px;letter-spacing:3px;color:rgba(255,255,255,.15);pointer-events:none}canvas{display:block}canvas.focused{border-color:#fff}#msg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}#msg h2{font-size:26px;letter-spacing:6px;font-family:'Courier New',monospace;font-weight:400;margin-bottom:32px}#msg p{font-size:11px;color:#888;margin-bottom:8px}.blink{animation:1s infinite bl;margin-top:24px}#ctrl{gap:20px;margin:10px 0 6px}#ctrl.hidden{gap:0;margin:-12px 0 10px}#ctrl.hidden #switch{transform:translateY(14px)}#ctrl.hidden #switchToggle{transform:scale(.5)}.cb{background:rgba(255,255,255,.07);font-size:20px;width:52px;height:52px;border-radius:6px;justify-content:center;user-select:none;touch-action:none}.cb.active,.cb:active{background:rgba(255,255,255,.2)}#switch{width:60px;align-items:center;justify-content:center;transition:transform .2s}#switchToggle{width:44px;height:24px;border-radius:12px;border:2px solid #4af;flex-shrink:0;transition:background .2s,transform .2s}#switchToggle::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#4af;transition:transform .2s}#switchToggle.on{background:rgba(68,170,255,.15)}#switchToggle.on::after{transform:translateX(20px)}#touch-zones{z-index:10;pointer-events:none}#tz-left,#tz-right{position:absolute;top:var(--tz-top,60px);bottom:0;width:var(--tz-width,29%);pointer-events:all;touch-action:none}#tz-left{left:0}#tz-right{right:0}#tz-left::before,#tz-right::before{content:'';position:absolute;inset:0;opacity:0;transition:opacity .3s;pointer-events:none}#tz-left::after{content:"\25C1\2003\2003\25B7";display:inline-block}#tz-right::after{content:'\25B3\A\A\25CF';white-space:pre}#tz-left.tz-active,#tz-right.tz-active{background:rgba(255,255,255,.05)}@keyframes bl{0%,100%{opacity:1}50%{opacity:0}}@media only screen and (pointer:coarse) and (orientation:portrait){#hud{flex-direction:column;align-items:center;width:100%;gap:8px;zoom:2.5;margin-bottom:30px}#hud>div{display:flex;justify-content:space-between;width:180px}#msg{transform:translate(-50%,-50%) scale(2.5);transform-origin:center center}#fullscreen,#msg p:not(.blink),#switch{display:none}#msg p.blink{display:block!important;font-size:0}#msg p.blink::after{content:var(--blink-msg-tall, 'TAP A BUTTON TO PLAY');font-size:11px}#ctrl{gap:40px;margin-top:40px;flex:1;align-items:center;justify-content:center}.cb{width:120px;height:120px;font-size:48px;border-radius:18px}}@media only screen and (pointer:coarse) and (orientation:landscape){#hud{zoom:2.5;margin-bottom:20px}#msg{transform:translate(-50%,-50%) scale(2.5);transform-origin:center center}#ctrl,#msg p:not(.blink){display:none}#msg p.blink{display:block!important;font-size:0}#msg p.blink::after{content:var(--blink-msg-short, 'TAP A CONTROL TO PLAY');font-size:11px}#touch-zones{display:block}}