*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#1a1a2e;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;font-family:Segoe UI,system-ui,-apple-system,sans-serif}canvas{display:block;width:100%;height:100%}#hud{position:fixed;left:16px;bottom:calc(max(env(safe-area-inset-bottom,8px),8px) + 16px);display:flex;align-items:flex-end;gap:8px;pointer-events:none;z-index:10}.hud-item{min-width:74px;padding:8px 10px;border-radius:12px;background:#00000059;backdrop-filter:blur(8px);color:#fff;font-size:14px;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.6);line-height:1.2}.hud-item .label{font-size:10px;font-weight:400;opacity:.7;text-transform:uppercase;letter-spacing:1px}.hud-item .value{font-size:20px;font-variant-numeric:tabular-nums}#combo-display{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:15;color:gold;font-size:28px;font-weight:900;text-shadow:0 2px 12px rgba(255,215,0,.5);opacity:0;transition:opacity .2s}#run-countdown{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:26;pointer-events:none;color:#f2f8ff;font-size:clamp(84px,18vw,170px);font-weight:900;line-height:.9;letter-spacing:-2px;text-shadow:0 8px 34px rgba(0,0,0,.62);opacity:0;transition:opacity .12s ease}#run-countdown.visible{opacity:1}#start-screen,#crash-screen,#finish-screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(20px,4vw,34px);overflow-y:auto;z-index:20;pointer-events:auto}#start-screen{background:radial-gradient(120% 150% at 50% -30%,#4f8cff,#2e3d8a 52%,#1a1d45);gap:16px}#crash-screen{background:#0a0514d9;backdrop-filter:blur(8px);display:none}#finish-screen{background:#08101ee6;backdrop-filter:blur(10px);display:none}.title{font-size:clamp(36px,8vw,64px);font-weight:900;color:#fff;letter-spacing:-1px;text-shadow:0 4px 20px rgba(100,180,255,.4);margin-bottom:0}.start-hero{width:min(760px,95vw);border-radius:20px;border:1px solid rgba(255,255,255,.28);overflow:hidden;background:#09163070;box-shadow:0 24px 56px #050b196b}.start-hero-art{display:block;width:100%;height:auto}.subtitle{font-size:clamp(12px,3vw,16px);color:#ffffff80;font-weight:400;margin-bottom:24px;letter-spacing:1.5px;text-transform:uppercase;max-width:min(740px,95vw);text-align:center}.name-field{display:flex;flex-direction:column;gap:6px;font-size:11px;letter-spacing:1px;font-weight:700;text-transform:uppercase;color:#d2e6ffb8;margin-bottom:10px}.start-name-field{width:min(380px,92vw);margin-bottom:0}.drawer-name-field{margin-bottom:0}#start-name-status{min-height:14px;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#b0d8ffe6}#start-name-status.error{color:#ffbabafa}.name-field input{width:100%;border:1px solid rgba(255,255,255,.24);border-radius:10px;background:#040a168c;color:#fff;padding:10px 12px;font-size:14px;font-weight:700}.name-field input:focus{outline:none;border-color:#78adffcc}.start-help{width:min(620px,95vw);color:#cadffbd9;font-size:12px;text-align:center;line-height:1.45;margin-bottom:20px}.leaderboard-card{border-radius:14px;border:1px solid rgba(255,255,255,.14);background:#050c1a73;padding:10px 12px}.leaderboard-title{color:#ffffffd6;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:8px;font-weight:700}#finish-leaderboard-list,#world-leaderboard-list,#snowball-leaderboard-list,#message-board-list{list-style:none;display:flex;flex-direction:column;gap:4px;margin:0;padding:0}.leaderboard-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;font-size:12px;color:#e4f2fff2;font-variant-numeric:tabular-nums}.leaderboard-row .lb-rank{color:#95cbffd1;min-width:26px}.leaderboard-row .lb-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-row .lb-total{color:#fff;font-weight:800}.leaderboard-row .lb-time{color:#b9d6ffbd}#finish-status,#world-leaderboard-status,#snowball-leaderboard-status,#message-board-status{margin-top:8px;min-height:14px;font-size:11px;color:#d2ebffc2}.btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:50px;padding:16px 48px;font-size:18px;font-weight:700;cursor:pointer;letter-spacing:1px;box-shadow:0 8px 32px #667eea66;transition:transform .15s,box-shadow .15s}.btn:active{transform:scale(.96);box-shadow:0 4px 16px #667eea4d}.btn:disabled{opacity:.58;cursor:not-allowed;box-shadow:none}.btn-secondary{margin-top:10px;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);box-shadow:none}.screen-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.screen-actions .btn{margin-top:0}.crash-title{font-size:32px;font-weight:900;color:#ff6b6b;margin-bottom:8px}.crash-score{font-size:48px;font-weight:900;color:#fff;margin-bottom:4px}.crash-detail{font-size:14px;color:#ffffff80;margin-bottom:24px}.crash-best{font-size:14px;color:gold;margin-bottom:24px;font-weight:600}.finish-title{font-size:26px;font-weight:900;color:#85c9ff;margin-bottom:8px}.finish-score{font-size:48px;font-weight:900;color:#fff;margin-bottom:8px}.finish-detail{font-size:14px;color:#e1efffd9;margin-bottom:8px;text-align:center}.finish-rank{font-size:13px;color:#9fd2ff;margin-bottom:16px;font-weight:700}.finish-board{width:min(460px,90vw);margin-bottom:18px}#world-leaderboard-panel{position:fixed;top:calc(env(safe-area-inset-top,0px) + 14px);right:14px;width:min(440px,94vw);max-height:min(70vh,640px);overflow-y:auto;border-radius:16px;border:1px solid rgba(255,255,255,.2);background:#050b16d9;backdrop-filter:blur(10px);box-shadow:0 14px 42px #00000073;padding:12px 13px;z-index:24;display:none}#world-leaderboard-panel.visible{display:block}.world-board-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}#world-leaderboard-close{border:1px solid rgba(255,255,255,.22);border-radius:999px;background:#101c31cc;color:#e1eeffeb;font-size:11px;font-weight:700;letter-spacing:.55px;text-transform:uppercase;padding:7px 12px;cursor:pointer}#world-leaderboard-close:active{transform:scale(.98)}.world-board-meta{color:#c4d9f2e0;font-size:11px;line-height:1.35;margin-bottom:8px}#message-board-panel{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 18px) 18px calc(max(env(safe-area-inset-bottom,8px),8px) + 18px);background:#02060e94;backdrop-filter:blur(4px);z-index:31}#message-board-panel.visible{display:flex}.message-board-frame{position:relative;width:min(1240px,95vw);height:min(92vh,840px);display:flex;flex-direction:column;border-radius:20px;border:2px solid rgba(43,23,8,.9);background:linear-gradient(140deg,#6b3f19,#8a5527 38%,#5f3717);box-shadow:0 22px 46px #00000085,inset 0 1px #ffcd8e73;padding:12px}.message-board-frame:before{content:"";position:absolute;inset:10px;border-radius:13px;background:radial-gradient(circle at 22% 18%,#ffdd9447,#ffdd9400 42%),repeating-linear-gradient(32deg,#5a3d2138 0px 3px,#76522d38 3px 6px),linear-gradient(165deg,#6a4b2d,#5b3f24);border:1px solid rgba(40,24,12,.62)}.message-board-frame:after{content:"";position:absolute;inset:10px;border-radius:13px;box-shadow:inset 0 0 0 1px #ffdca826,inset 0 18px 34px #ffe2b214,inset 0 -16px 30px #25110633;pointer-events:none}.message-board-frame>*{position:relative;z-index:1}.message-board-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.message-board-title-wrap{display:flex;flex-direction:column;gap:2px}.message-board-title{color:#fff2d6;font-size:15px;font-weight:900;letter-spacing:1px;text-transform:uppercase;text-shadow:0 2px 6px rgba(0,0,0,.45)}.message-board-subtitle{color:#ffe8c5d1;font-size:10px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}.message-board-header-actions{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}#message-board-refresh,#message-board-close,#message-board-new-toggle,#message-board-record,#message-board-audio-play,#message-board-audio-clear,#message-board-submit{border-radius:8px;border:1px solid rgba(42,23,10,.8);background:linear-gradient(180deg,#5c3e21f5,#422a14f5);color:#ffeed3f5;font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:6px 10px;cursor:pointer;box-shadow:inset 0 1px #ffe1b247,0 2px #25130573;transition:transform .08s ease}#message-board-submit{background:linear-gradient(180deg,#3568a6f2,#274a75f2);border-color:#132946e0;color:#ebf6fffa}#message-board-new-toggle{background:linear-gradient(180deg,#f7e2abf5,#e5c07af5);border-color:#815323db;color:#4a2b0bf5}#message-board-refresh:active,#message-board-close:active,#message-board-new-toggle:active,#message-board-record:active,#message-board-audio-play:active,#message-board-audio-clear:active,#message-board-submit:active{transform:translateY(1px)}#message-board-new-toggle[aria-expanded=true]{background:linear-gradient(180deg,#d6b26df5,#bb8f4ef5)}#message-board-submit:disabled,#message-board-record:disabled,#message-board-audio-play:disabled,#message-board-audio-clear:disabled{opacity:.56;cursor:not-allowed}#message-board-new-toggle:disabled{opacity:.65;cursor:not-allowed}.message-board-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin-bottom:10px}#message-board-compose-shell{position:absolute;top:94px;left:18px;z-index:6;width:min(460px,calc(100% - 36px));display:none}#message-board-compose-shell.visible{display:block}.message-board-compose{position:relative;border-radius:12px;border:1px solid rgba(90,60,30,.82);background:linear-gradient(165deg,#fbeecaf5,#e7d3a9f5);box-shadow:inset 0 1px #fff8e6eb,0 14px 28px #00000059;padding:10px 10px 9px}.message-board-compose:before{content:"";position:absolute;top:-8px;right:24px;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe6bb,#cb4f37 70%);border:1px solid rgba(116,35,25,.8);box-shadow:0 2px 5px #0006}.message-board-compose label{display:block;color:#453019e0;font-size:10px;letter-spacing:.6px;text-transform:uppercase;font-weight:900;margin-bottom:7px}#message-board-input{width:100%;min-height:64px;border-radius:8px;border:1px solid rgba(120,88,49,.62);background:repeating-linear-gradient(180deg,#fdf5e0fa 0px 22px,#dfcb9cb8 23px,#fdf5e0fa 24px);color:#342110f2;font-size:12px;font-weight:700;line-height:1.45;font-family:Trebuchet MS,Segoe UI,sans-serif;resize:vertical;padding:9px 10px}#message-board-input:focus{outline:none;border-color:#497ec6d9;box-shadow:0 0 0 2px #5088d538}.message-board-compose-actions{margin-top:8px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}#message-board-audio-status,#message-board-compose-status{margin-top:5px;min-height:12px;font-size:10px;line-height:1.25}#message-board-audio-status{color:#563c20e6}#message-board-compose-status{color:#48311de0}.message-board-surface{flex:1;min-height:0;border-radius:12px;border:1px solid rgba(36,19,8,.6);background:radial-gradient(circle at 20% 10%,#ffe7b92e,#ffe7b900),linear-gradient(160deg,#6e4e2be0,#583d1feb);box-shadow:inset 0 0 0 1px #ffe6b41a;padding:8px;margin-top:2px;overflow:hidden}#message-board-list{margin-top:0;height:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:9px;align-items:start;overflow-y:auto;padding:3px}.message-board-empty{color:#f6e1bbeb;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;text-align:center;padding:14px 8px;grid-column:1 / -1}.message-board-row{position:relative;border-radius:6px;border:1px solid rgba(133,104,55,.58);background:linear-gradient(170deg,#fff3cd,#f4dfae);color:#3a240ff2;padding:12px 9px 9px;box-shadow:0 4px 12px #00000045,inset 0 1px #fff8e2eb;transform:rotate(var(--note-tilt, 0deg));transform-origin:center top}.message-board-row:after{content:"";position:absolute;top:0;right:0;width:14px;height:14px;background:linear-gradient(225deg,#e2c186f2,#f4dcae33 70%);clip-path:polygon(100% 0,100% 100%,0 0)}.message-board-row.note-tone-0{background:linear-gradient(170deg,#fff3cd,#f4dfae)}.message-board-row.note-tone-1{background:linear-gradient(170deg,#fff0db,#f6d6af)}.message-board-row.note-tone-2{background:linear-gradient(170deg,#eff5ff,#d8e4fb)}.message-board-row.note-tone-3{background:linear-gradient(170deg,#f4ffea,#deefc7)}.message-board-note-pin{position:absolute;left:50%;top:-7px;width:12px;height:12px;border-radius:50%;transform:translate(-50%);background:radial-gradient(circle at 30% 30%,#ffe8bc,#d84f3a 68%);border:1px solid rgba(115,34,23,.86);box-shadow:0 2px 5px #0006}.message-board-row-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.message-board-row-name{font-size:12px;font-weight:900;color:#41270ef0;text-shadow:0 1px 0 rgba(255,241,217,.7)}.message-board-row-time{font-size:10px;font-weight:700;color:#634a2cb3}.message-board-row-text{margin-top:5px;font-size:12px;line-height:1.38;color:#3e2811eb;white-space:pre-wrap;word-break:break-word}.message-board-row-text.is-voice-note{font-style:italic;font-weight:700;color:#405276e6}.message-board-row-actions{margin-top:6px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.message-board-row-audio,.message-board-row-delete{border:1px solid rgba(98,70,35,.55);border-radius:7px;background:#fff7e7d1;color:#402c15eb;font-size:9px;font-weight:700;letter-spacing:.42px;text-transform:uppercase;padding:4px 8px;cursor:pointer}.message-board-row-delete{background:#f5dacde6;border-color:#974c4280;color:#6f2b24e6}.message-board-row-delete:disabled{opacity:.58;cursor:not-allowed}#snowball-range-panel{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 16px);transform:translate(-50%);width:min(560px,95vw);max-height:min(76vh,700px);overflow-y:auto;border-radius:16px;border:1px solid rgba(255,255,255,.22);background:#060d1aeb;backdrop-filter:blur(9px);box-shadow:0 14px 42px #00000075;padding:12px 14px;z-index:30;display:none}#snowball-range-panel.visible{display:block}#snowball-range-panel{top:auto;bottom:calc(max(env(safe-area-inset-bottom,8px),8px) + 10px);width:min(960px,97vw);max-height:min(34vh,320px);padding:9px 11px}#snowball-range-panel .world-board-header{margin-bottom:5px}#snowball-range-panel.active-run{max-height:min(24vh,230px);overflow:hidden}#snowball-range-panel.active-run #snowball-runtime-hint{display:none}#snowball-leaderboard-panel{position:fixed;top:calc(env(safe-area-inset-top,0px) + 16px);right:14px;width:min(420px,34vw);max-height:min(64vh,560px);overflow-y:auto;border-radius:16px;border:1px solid rgba(255,255,255,.2);background:#050b16db;backdrop-filter:blur(10px);box-shadow:0 14px 42px #00000073;padding:12px 13px;z-index:29;display:none}#snowball-leaderboard-panel.visible{display:block}#snowball-leaderboard-panel .world-board-meta{margin-bottom:8px}.snowball-stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin-bottom:7px}.snowball-stats-grid>div{border-radius:9px;border:1px solid rgba(255,255,255,.13);background:#10192db8;padding:6px 7px;color:#e9f3fff0;font-size:11px;font-weight:700;display:flex;flex-direction:column;gap:1px;min-height:41px}.snowball-stat-label{color:#a8cdf0cc;text-transform:uppercase;letter-spacing:.6px;font-size:8.5px}#snowball-runtime-hint{border-radius:8px;border:1px solid rgba(153,207,255,.36);background:#1f3a5d85;color:#e2f2fff0;font-size:10px;line-height:1.3;padding:6px 8px;margin-bottom:7px}#snowball-charge-meter{width:100%;height:9px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:#060d18d1;overflow:hidden;margin-bottom:6px}#snowball-charge-fill{height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,#7fc8ff,#6ae3ff 40%,#f6fbff);box-shadow:0 0 18px #77d0ff73;transition:width .05s linear}#snowball-crosshair{position:fixed;left:-200px;top:-200px;width:30px;height:30px;border:2px solid rgba(255,255,255,.9);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:36;opacity:0;transition:opacity .12s ease}#snowball-crosshair:before,#snowball-crosshair:after{content:"";position:absolute;background:#ffffffe6}#snowball-crosshair:before{width:2px;height:12px;left:50%;top:50%;transform:translate(-50%,-50%)}#snowball-crosshair:after{width:12px;height:2px;left:50%;top:50%;transform:translate(-50%,-50%)}#snowball-crosshair.visible{opacity:1}#snowball-range-status{min-height:13px;font-size:10px;line-height:1.25;color:#d6e7fce0;margin-bottom:5px}.snowball-actions,.snowball-panel-actions{display:flex;align-items:center;gap:6px}#snowball-throw-btn,#snowball-restart-btn,#snowball-range-close,#snowball-show-leaderboard-btn,#snowball-show-game-btn,#snowball-leaderboard-close{border-radius:999px;border:1px solid rgba(255,255,255,.24);background:#182a47e6;color:#e5f1fff2;font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:6px 11px;cursor:pointer}#snowball-throw-btn{background:#3a6dbbf2;border-color:#93c6ffbf}#snowball-throw-btn:disabled{opacity:.56;cursor:not-allowed}#touch-left,#touch-right{position:fixed;bottom:0;width:50%;height:60%;z-index:5;pointer-events:auto}#touch-left{left:0}#touch-right{right:0}#speed-bar-container{position:fixed;bottom:max(env(safe-area-inset-bottom,8px),8px);left:50%;transform:translate(-50%);width:120px;height:6px;background:#ffffff26;border-radius:3px;z-index:10;pointer-events:none}#speed-bar{height:100%;width:50%;border-radius:3px;background:linear-gradient(90deg,#4facfe,#ff6b6b);transition:width .1s}#voice-chat{position:fixed;left:50%;bottom:calc(max(env(safe-area-inset-bottom,8px),8px) + 34px);transform:translate(-50%);z-index:32;display:none;flex-direction:column;align-items:center;gap:6px;pointer-events:none}#voice-chat-control{pointer-events:auto;min-height:42px;display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:#080b16db;box-shadow:0 8px 20px #00000059;backdrop-filter:blur(8px);overflow:hidden}#voice-chat-control.recording{background:#6b1f1feb;border-color:#ff6060b3}#voice-chat-control.sending{background:#162f5feb;border-color:#63a3ffb3}#voice-chat-btn{min-width:96px;height:42px;border:none;background:transparent;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:0 16px;cursor:pointer;transition:transform .08s ease,opacity .12s ease}#voice-chat-btn[hidden]{display:none}#voice-chat-btn:disabled{cursor:not-allowed;opacity:.55}#voice-chat-btn:active{transform:scale(.97)}#voice-chat-recording-indicator{width:40px;height:42px;display:inline-flex;align-items:center;justify-content:center}#voice-chat-recording-indicator[hidden]{display:none}.voice-chat-action-btn{min-width:76px;height:42px;padding:0 14px;border:none;background:transparent;color:#fff;font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;cursor:pointer;transition:background .12s ease,color .12s ease}.voice-chat-action-btn[hidden]{display:none}.voice-chat-action-btn:first-of-type,#voice-chat-recording-indicator+.voice-chat-action-btn{border-left:1px solid rgba(255,255,255,.2)}.voice-chat-action-btn+.voice-chat-action-btn{border-left:1px solid rgba(255,255,255,.2)}#voice-chat-cancel-btn{color:#ffc1c1f2}#voice-chat-send-btn{color:#b4e8fffa}.voice-chat-action-btn:active{background:#ffffff1f}.voice-chat-action-btn:disabled{cursor:not-allowed;opacity:.55}.voice-chat-dot{width:9px;height:9px;border-radius:50%;background:#6ee7ff;box-shadow:0 0 #6ee7ff73}.voice-chat-dot-recording{background:#ff6b6b;animation:voice-dot-pulse .85s ease-in-out infinite}#voice-chat-status{color:#ffffffd1;font-size:11px;font-weight:600;letter-spacing:.5px;text-shadow:0 2px 10px rgba(0,0,0,.45);pointer-events:none;min-height:14px}@keyframes voice-dot-pulse{0%{box-shadow:0 0 #ff6b6b8c}70%{box-shadow:0 0 0 8px #ff6b6b00}to{box-shadow:0 0 #ff6b6b00}}#player-chat-overlay{position:fixed;inset:0;z-index:34;pointer-events:none}.player-chat-bubble{position:absolute;left:0;top:0;max-width:min(280px,70vw);padding:7px 10px;border-radius:14px;border:1px solid rgba(255,255,255,.2);background:#0c101ce0;color:#fff;font-size:12px;font-weight:600;line-height:1.3;text-align:center;pointer-events:auto;cursor:default;box-shadow:0 8px 24px #00000073;text-shadow:0 1px 6px rgba(0,0,0,.35)}.player-chat-bubble.is-playable{cursor:pointer;border-color:#6fc7ff8c}.player-chat-bubble.is-playable:after{content:"tap to replay";display:block;margin-top:3px;font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:#9fdcffd1}#control-switcher{position:fixed;bottom:calc(max(env(safe-area-inset-bottom,8px),8px) + 12px);right:12px;z-index:38;display:none;align-items:flex-start;pointer-events:none}#control-drawer-backdrop{position:fixed;inset:0;background:#0208148f;backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .2s ease}#control-switcher.open #control-drawer-backdrop{opacity:1;pointer-events:auto}.ctrl-config-btn{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:#080f1ed1;color:#fff;font-size:24px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;backdrop-filter:blur(10px);box-shadow:0 8px 24px #0000005c;transition:transform .16s ease,background .2s ease}.ctrl-config-btn:active{transform:scale(.96)}#control-switcher.open .ctrl-config-btn{background:#5689e0e6}#control-drawer{position:fixed;top:0;right:0;width:min(368px,92vw);height:100dvh;padding:calc(env(safe-area-inset-top,0px) + 16px) 16px calc(max(env(safe-area-inset-bottom,8px),8px) + 14px);border-left:1px solid rgba(255,255,255,.16);background:linear-gradient(180deg,#081122f7,#080d1afa);box-shadow:-18px 0 36px #0000007a;display:flex;flex-direction:column;gap:14px;transform:translate(106%);opacity:0;pointer-events:none;transition:transform .22s ease,opacity .2s ease}#control-switcher.open #control-drawer{transform:translate(0);opacity:1;pointer-events:auto}.control-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.control-drawer-header h2{margin:0;font-size:14px;letter-spacing:1px;text-transform:uppercase;color:#e4f1fff2}#control-drawer-close{border:1px solid rgba(255,255,255,.24);border-radius:999px;background:#101f3cd1;color:#dbebfff2;font-size:10px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;padding:7px 11px;cursor:pointer}#control-drawer-close:active{transform:scale(.97)}.control-drawer-section{display:flex;flex-direction:column;gap:8px}.control-drawer-section-title{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#aaccf2db}.control-drawer-warning{border-radius:10px;border:1px solid rgba(255,178,178,.45);background:#6f202047;color:#ffd8d8f5;font-size:11px;line-height:1.35;padding:8px 9px}.hair-style-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.hair-style-option{border:1px solid rgba(255,255,255,.16);border-radius:11px;background:#0c132399;display:flex;align-items:center;justify-content:center;padding:6px;min-height:46px;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .12s ease}.hair-style-option:active{transform:scale(.97)}.hair-style-option.active{border-color:#81b7ffd9;background:#3b67b0a8}.hair-style-option:focus-visible{outline:2px solid rgba(162,206,255,.95);outline-offset:2px}.hair-style-preview{width:32px;height:32px;display:block;border-radius:8px;image-rendering:auto;pointer-events:none}.hair-style-fallback-label{width:24px;height:24px;border-radius:999px;border:1px solid rgba(255,255,255,.26);background:#10182b9e;color:#e0efffe6;font-size:11px;font-weight:700;letter-spacing:.2px;line-height:22px;text-align:center;pointer-events:none}#control-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ctrl-opt{height:38px;border-radius:11px;border:1px solid rgba(255,255,255,.17);background:#141c319e;color:#e2efffbf;font-size:11px;font-weight:700;letter-spacing:.75px;text-transform:uppercase;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.ctrl-opt.active{border-color:#81b7ffd9;background:#4a80d6d6;color:#fff}#settings-connected-players{list-style:none;margin:0;padding:8px;display:flex;flex-direction:column;gap:6px;max-height:150px;overflow-y:auto;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#070d18a3}.settings-player-entry{display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#1521399e;padding:8px}.settings-player-entry.is-local{border-color:#7eb7ff4d;background:#2c46769e}.settings-player-name{font-size:12px;font-weight:700;color:#e4f1fff2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-player-activity{flex-shrink:0;font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#b3e2fff0}.settings-players-empty{color:#adc6e6bd;font-size:11px;text-transform:uppercase;letter-spacing:.8px;text-align:center;padding:10px 8px}.control-drawer-chat-section{min-height:0;flex:1}#settings-chat-history{list-style:none;margin:0;padding:10px;flex:1;min-height:110px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#070d18a3}.settings-chat-entry{border-radius:10px;padding:8px;background:#1521399e;border:1px solid rgba(255,255,255,.08)}.settings-chat-entry.is-local{background:#2c46769e;border-color:#7eb7ff4d}.settings-chat-entry-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:4px}.settings-chat-player{font-size:11px;font-weight:700;letter-spacing:.4px;color:#b3e2fff0}.settings-chat-time{font-size:10px;font-weight:600;color:#b6cdec9e}.settings-chat-text{font-size:12px;line-height:1.35;color:#e6f2fff2;white-space:pre-wrap;word-break:break-word}.settings-chat-empty{color:#adc6e6bd;font-size:11px;text-transform:uppercase;letter-spacing:.8px;text-align:center;padding:12px 8px}#angle-indicator{position:fixed;bottom:max(env(safe-area-inset-bottom,8px),38px);left:50%;transform:translate(-50%);width:80px;height:80px;pointer-events:none;z-index:10;opacity:0;transition:opacity .3s}#angle-indicator.visible{opacity:1}#angle-indicator canvas{width:100%;height:100%}#walk-prompt{position:fixed;bottom:15%;left:50%;transform:translate(-50%);color:#fff;font-size:16px;font-weight:600;text-shadow:0 2px 8px rgba(0,0,0,.6);pointer-events:none;z-index:15;opacity:0;transition:opacity .5s;text-align:center;letter-spacing:1px;white-space:pre-line}#walk-prompt.visible{opacity:1}#touch-forward{position:fixed;top:0;left:0;right:0;height:50%;z-index:5;pointer-events:auto;display:none}#touch-backward{position:fixed;bottom:0;left:25%;width:50%;height:30%;z-index:5;pointer-events:auto;display:none}@media(max-width:760px){#start-screen,#crash-screen,#finish-screen{justify-content:flex-start;padding-top:calc(env(safe-area-inset-top,0px) + 24px);padding-bottom:calc(max(env(safe-area-inset-bottom,8px),8px) + 24px)}#start-screen{gap:14px}.start-hero{width:min(96vw,680px);border-radius:16px}.btn{padding:14px 38px;font-size:16px}.finish-board{width:min(94vw,460px)}#world-leaderboard-panel{left:50%;right:auto;transform:translate(-50%);width:min(95vw,440px);max-height:58vh;top:calc(env(safe-area-inset-top,0px) + 10px)}#message-board-panel{padding:calc(env(safe-area-inset-top,0px) + 8px) 8px calc(max(env(safe-area-inset-bottom,8px),8px) + 8px)}.message-board-frame{width:min(98vw,820px);height:min(90vh,760px);border-radius:16px;padding:10px 9px}.message-board-frame:before,.message-board-frame:after{inset:7px}.message-board-header{gap:8px;margin-bottom:8px}.message-board-title{font-size:12px;letter-spacing:.75px}.message-board-subtitle{font-size:8px;letter-spacing:.55px}.message-board-toolbar{margin-bottom:8px}#message-board-compose-shell{top:82px;left:10px;width:calc(100% - 20px)}.message-board-compose{padding:7px}#message-board-input{min-height:56px;font-size:11px}.message-board-compose-actions{gap:5px}#message-board-list{grid-template-columns:1fr;gap:8px}#message-board-refresh,#message-board-close,#message-board-new-toggle,#message-board-record,#message-board-audio-play,#message-board-audio-clear,#message-board-submit,.message-board-row-audio,.message-board-row-delete{font-size:9px;padding:5px 8px}#snowball-range-panel{width:min(96vw,560px);max-height:70vh;top:calc(env(safe-area-inset-top,0px) + 10px);padding:10px 11px}#snowball-leaderboard-panel{left:50%;right:auto;transform:translate(-50%);top:calc(env(safe-area-inset-top,0px) + 10px);width:min(95vw,420px);max-height:min(42vh,320px)}#snowball-range-panel{top:auto;bottom:calc(max(env(safe-area-inset-bottom,8px),8px) + 6px);width:min(97vw,520px);max-height:min(48vh,340px);padding:8px 9px}#snowball-range-panel.active-run{max-height:min(30vh,220px)}.snowball-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.snowball-stats-grid>div{padding:5px 6px;font-size:10px}#snowball-crosshair{width:24px;height:24px}#hud{left:12px;bottom:calc(max(env(safe-area-inset-bottom,8px),8px) + 12px);gap:6px}.hud-item{min-width:64px;padding:7px 9px}.hud-item .value{font-size:18px}#control-switcher{bottom:calc(max(env(safe-area-inset-bottom,8px),8px) + 10px);right:10px}.ctrl-config-btn{width:40px;height:40px}#control-drawer{width:min(94vw,360px);padding:calc(env(safe-area-inset-top,0px) + 14px) 14px calc(max(env(safe-area-inset-bottom,8px),8px) + 12px)}#control-drawer-close{font-size:9px;padding:7px 10px}.ctrl-opt{height:36px;font-size:10px}.hair-style-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.hair-style-option{min-height:42px;padding:5px}#settings-connected-players{max-height:132px;padding:7px}.settings-player-entry{padding:7px}.settings-player-name{font-size:11px}.settings-player-activity{font-size:9px}#settings-chat-history{min-height:96px;padding:9px}.settings-chat-entry{padding:7px}.settings-chat-text{font-size:11px}#voice-chat{bottom:calc(max(env(safe-area-inset-bottom,8px),8px) + 30px);gap:4px}#voice-chat-control{min-height:40px}#voice-chat-btn{min-width:88px;height:40px;font-size:11px;padding:0 14px}#voice-chat-recording-indicator{width:36px;height:40px}.voice-chat-action-btn{min-width:72px;height:40px;padding:0 12px;font-size:10px}#voice-chat-status{font-size:10px}}
