html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#12091f;color:#fff8dc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}#game-canvas{display:block;width:100vw;height:100vh;touch-action:none}#setup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;grid-template-columns:minmax(0,1fr);place-content:center;align-items:start;gap:22px;padding:24px;background:radial-gradient(circle at 50% 38%,#231942db,#12091ff5 62%)}#setup-overlay:before,#setup-overlay:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";pointer-events:none}#setup-overlay:before{background:linear-gradient(110deg,transparent 0 38%,rgba(125,249,255,.09) 38% 39%,transparent 39% 100%),linear-gradient(70deg,transparent 0 58%,rgba(255,242,117,.08) 58% 59%,transparent 59% 100%);background-size:220px 100%,260px 100%;animation:setup-lanes 7s linear infinite}#setup-overlay:after{background-image:radial-gradient(circle,rgba(125,249,255,.38) 0 2px,transparent 3px),radial-gradient(circle,rgba(255,92,138,.3) 0 2px,transparent 3px);background-position:16% 24%,82% 72%;background-size:180px 180px,240px 240px;animation:setup-stars 5s ease-in-out infinite alternate}#setup-overlay.is-hidden,body.is-setup-open #beatpaws-hud,body.is-setup-open #lane-pads{display:none}.setup-panel{position:relative;z-index:1;justify-self:center;width:min(1520px,calc(100vw - 48px));min-width:0;max-height:calc(100vh - 32px);overflow:auto;padding:22px;border:1px solid rgba(125,249,255,.42);border-radius:8px;background:#12091feb;box-shadow:0 24px 80px #00000073,inset 0 0 28px #7df9ff0f}.setup-visual{position:absolute;inset:-48px 0 auto auto;width:min(440px,58%);height:300px;pointer-events:none;z-index:0;opacity:.92}.setup-logo{position:absolute;right:22px;top:-6px;width:330px;max-height:188px;object-fit:contain;opacity:.34;filter:drop-shadow(0 0 22px rgba(125,249,255,.28));transform:rotate(4deg)}.setup-cat{position:absolute;width:138px;height:138px;object-fit:contain;filter:drop-shadow(0 14px 16px rgba(0,0,0,.45))}.setup-cat-a{right:226px;top:88px;animation:setup-cat-hop 1.9s ease-in-out infinite}.setup-cat-b{right:14px;top:104px;animation:setup-cat-hop 2.2s ease-in-out infinite reverse}.setup-note{position:absolute;width:18px;height:18px;border-radius:3px;background:#fff275;box-shadow:0 0 16px #fff27580;transform:rotate(45deg);animation:setup-note-fall 1.6s linear infinite}.note-a{right:142px;top:42px}.note-b{right:86px;top:18px;animation-delay:.45s;background:#7df9ff}.note-c{right:28px;top:52px;animation-delay:.9s;background:#ff5c8a}.setup-panel h1{position:relative;z-index:1;margin:0;color:#7df9ff;font-size:46px;line-height:1}.setup-panel p{position:relative;z-index:1;margin:8px 0 18px;color:#fff8dcb8}.mobile-solo-notice{position:relative;z-index:2;display:none;margin:12px 0 14px;padding:10px 12px;border:1px solid rgba(112,224,0,.34);border-radius:6px;background:#70e0001f;color:#fff8dc;font-size:14px;font-weight:850;line-height:1.25}.setup-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.setup-grid label{display:grid;gap:6px;color:#fff8dcb8;font-size:12px;font-weight:800;text-transform:uppercase}.setup-grid input,.setup-grid select{min-height:44px;border:1px solid rgba(255,248,220,.36);border-radius:6px;background:#090410c7;color:#fff8dc;font:inherit;font-size:15px;padding:0 10px;cursor:pointer}.mode-label{grid-column:span 1}.setup-grid input:disabled{opacity:.45}.start-button{width:100%;min-height:52px;margin-top:16px;border:0;border-radius:6px;background:linear-gradient(90deg,#7df9ff,#fff275);color:#12091f;cursor:pointer;font:inherit;font-size:18px;font-weight:900}.ranking-icon-button{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,242,117,.42);border-radius:6px;background:#fff2751a;color:#fff275;cursor:pointer;pointer-events:auto}.ranking-icon-button svg{width:22px;height:22px}.ranking-icon-button:hover{border-color:#fff275e6;background:#fff2752e}#setup-ranking-button{position:absolute;top:18px;right:18px;z-index:3}#hud-ranking-button{width:48px;padding:0;color:#fff275}.preview-row{position:relative;z-index:2;display:block;margin-top:14px}.preview-status{display:block;overflow:hidden;min-height:44px;padding:12px 14px;border:1px solid rgba(125,249,255,.28);border-radius:6px;background:#7df9ff1a;color:#fff8dcc2;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.character-picker{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:14px;padding:18px;border:1px solid rgba(255,242,117,.18);border-radius:8px;background:#04020c52}.character-picker-duo.is-duo-select{grid-template-columns:repeat(2,minmax(0,1fr))}.character-player-pane{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1fr);gap:18px;align-items:center;min-width:0}.character-picker-duo.is-duo-select .character-player-pane{grid-template-columns:minmax(260px,.82fr) minmax(0,1fr)}.character-player-pane-p2{display:none}.character-picker-duo.is-duo-select .character-player-pane-p2{display:grid}.character-picker-header{grid-column:1 / -1;display:flex;justify-content:space-between;gap:12px;color:#fff8dcc2;font-size:12px;font-weight:900;text-transform:uppercase}.character-picker-header span{color:#7df9ff}.character-preview{width:100%;height:clamp(250px,32vh,340px);object-fit:contain;border:1px solid rgba(125,249,255,.24);border-radius:8px;background:radial-gradient(circle,#7df9ff24,#04020c57 68%);filter:drop-shadow(0 14px 18px rgba(0,0,0,.32))}.character-picker-duo.is-duo-select .character-preview{width:100%;height:clamp(240px,30vh,330px)}.character-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.character-card{display:grid;gap:4px;min-width:0;min-height:92px;padding:7px;border:1px solid rgba(255,248,220,.18);border-radius:7px;background:#0904109e;color:#fff8dcbd;cursor:pointer;font:inherit;font-size:10px;font-weight:900}.character-card img{width:100%;height:58px;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(0,0,0,.25))}.character-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.character-card:hover,.character-card.is-selected{border-color:var(--character-accent, #7df9ff);box-shadow:0 0 18px color-mix(in srgb,var(--character-accent, #7df9ff) 28%,transparent);color:#fff8dc}@keyframes setup-lanes{0%{background-position:0 0,0 0}to{background-position:220px 0,-260px 0}}@keyframes setup-stars{0%{opacity:.52;transform:scale(1)}to{opacity:.9;transform:scale(1.03)}}@keyframes setup-cat-hop{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-12px) rotate(4deg)}}@keyframes setup-note-fall{0%{opacity:0;transform:translateY(-20px) rotate(45deg) scale(.7)}18%,78%{opacity:1}to{opacity:0;transform:translateY(116px) rotate(130deg) scale(1.1)}}#beatpaws-hud{position:fixed;top:12px;left:14px;z-index:5;display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px;width:fit-content;max-width:min(900px,calc(100vw - 560px));min-height:76px;padding:10px;border:1px solid rgba(125,249,255,.18);border-radius:8px;background:linear-gradient(180deg,#12091fc7,#0a041280);box-shadow:0 16px 42px #0000003d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none}#beatpaws-hud input,#beatpaws-hud button,#beatpaws-hud select{min-height:48px;border:1px solid rgba(125,249,255,.22);border-radius:6px;background:#04020c80;color:#fff8dc;font:inherit;font-size:16px;font-weight:850;pointer-events:auto}#beatpaws-hud input{width:118px;padding:0 8px}#beatpaws-hud select{max-width:230px;padding:0 12px}#beatpaws-hud button{padding:0 16px;cursor:pointer;color:#7df9ff;font-weight:800}#beatpaws-hud button:hover,#beatpaws-hud input:focus,#beatpaws-hud select:focus{border-color:#7df9ffcc;outline:none}.name-chip{display:flex;align-items:center;gap:6px;padding:4px;border:1px solid rgba(125,249,255,.22);border-radius:6px;background:#04020c6b;pointer-events:auto}.name-chip span{padding-left:4px;color:#fff8dcc7;font-size:12px;font-weight:700;text-transform:uppercase}#run-status{display:grid;gap:5px;width:min(360px,30vw);min-height:48px;padding:10px 14px;border:1px solid rgba(125,249,255,.24);border-radius:6px;background:#04020c75;color:#fff8dc;pointer-events:none}.song-progress{width:100%;height:8px;overflow:hidden;border:1px solid rgba(125,249,255,.24);border-radius:999px;background:#fff8dc1f}.song-progress:before{content:"";display:block;width:var(--song-progress, 0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,#7df9ff,#fff275,#ff5c8a);box-shadow:0 0 14px #7df9ff66}.run-progress-row{display:grid;gap:5px}#play-feedback{display:grid;gap:5px;width:min(320px,24vw);min-height:48px;padding:10px 14px;border:1px solid rgba(255,248,220,.24);border-radius:6px;background:#04020c85;color:#fff8dc;pointer-events:none}#play-feedback.is-idle,.mobile-score-strip{display:none}#duel-record{display:grid;gap:6px;width:min(340px,28vw);padding:10px 14px;border:1px solid rgba(125,249,255,.35);border-radius:6px;background:#12091fd1;color:#fff8dc;pointer-events:none}#duel-record.is-hidden{display:none}#duel-record>strong{color:#7df9ff;font-size:13px;line-height:1;text-transform:uppercase}.duel-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:baseline;font-size:12px}.duel-row span,.duel-row em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duel-row em{color:#fff8dcc2;font-style:normal;font-weight:700}.duel-row b{color:#fff8dc8f;font-size:12px}.duel-win b{color:#7df9ff}.duel-lose b{color:#ff5c8a}.duel-draw b{color:#fff275}#result-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:20px;background:#05020cc7;pointer-events:auto}#result-overlay.is-hidden{display:none}#duel-result-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:34;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 50% 42%,#7df9ff33,#05020cc7 58%);pointer-events:auto}#duel-result-modal.is-hidden{display:none}.duel-result-panel{display:grid;gap:18px;width:min(920px,calc(100vw - 36px));padding:clamp(24px,5vw,54px);border:2px solid rgba(255,242,117,.62);border-radius:8px;background:linear-gradient(180deg,#12091ffa,#070310f5);box-shadow:0 32px 120px #0000009e,inset 0 0 44px #fff27514;text-align:center}.duel-result-panel h2{margin:0;color:#fff8dcb3;font-size:clamp(18px,3vw,30px);line-height:1;text-transform:uppercase}#duel-result-winner{color:#fff275;font-size:clamp(48px,10vw,126px);font-weight:1000;line-height:.92;text-shadow:0 0 24px rgba(255,242,117,.42),0 10px 0 rgba(0,0,0,.22);text-transform:uppercase}#duel-result-summary{margin:0;color:#fff8dcc7;font-size:clamp(15px,2vw,20px);font-weight:800;line-height:1.35}#duel-result-scores{display:grid;gap:10px}.duel-result-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 16px;border:1px solid rgba(125,249,255,.26);border-radius:8px;background:#04020c75;text-align:left}.duel-result-row span,.duel-result-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duel-result-row span{color:#fff8dc;font-size:clamp(16px,2.4vw,24px);font-weight:900}.duel-result-row b{color:#fff8dcc7;font-size:clamp(14px,2vw,20px)}.duel-result-row.duel-win{border-color:#7df9ffb3;box-shadow:0 0 24px #7df9ff29}.duel-result-row.duel-win b{color:#7df9ff}.duel-result-row.duel-lose b{color:#ff5c8a}.duel-result-row.duel-draw b{color:#fff275}.duel-result-close{min-height:54px;border:0;border-radius:6px;background:linear-gradient(90deg,#7df9ff,#fff275);color:#12091f;cursor:pointer;font:inherit;font-size:18px;font-weight:1000}.result-panel{display:grid;gap:12px;width:min(860px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;padding:22px;border:1px solid rgba(125,249,255,.48);border-radius:8px;background:#12091ffb;box-shadow:0 28px 90px #0000007a,inset 0 0 30px #7df9ff14}.result-panel h2{margin:0;color:#7df9ff;font-size:34px;line-height:1}.result-panel p{margin:0;color:#fff8dcc7}#result-stats{display:grid;gap:6px;padding:12px;border:1px solid rgba(255,242,117,.22);border-radius:6px;background:#04020c61}#result-stats strong{color:#fff275;font-size:18px}#result-stats span{color:#fff8dcd1;font-size:13px}#result-stats .result-ranking-row{display:flex;align-items:center;gap:8px}#result-leaderboard{min-width:0;padding:14px;border:1px solid rgba(255,242,117,.22);border-radius:8px;background:#04020c57}#leaderboard-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:32;display:grid;place-items:center;padding:20px;background:#05020c9e;pointer-events:auto}#leaderboard-modal.is-hidden{display:none}.leaderboard-modal-panel{position:relative;width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;padding:24px;border:1px solid rgba(255,242,117,.36);border-radius:8px;background:#12091ff5;box-shadow:0 28px 90px #00000085,inset 0 0 30px #fff2750f}.modal-close-button{position:absolute;top:14px;right:14px;min-height:34px;border:1px solid rgba(255,248,220,.26);border-radius:6px;background:#04020c94;color:#fff8dc;cursor:pointer;font:inherit;font-size:12px;font-weight:900;padding:0 12px}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.result-actions button{min-height:42px;border:1px solid rgba(125,249,255,.42);border-radius:6px;background:linear-gradient(90deg,#7df9ffe6,#fff275e6);color:#12091f;font:inherit;font-weight:900;cursor:pointer}.result-actions button:last-child{background:#04020c8f;color:#fff8dc}#play-feedback strong,#play-feedback span,#play-feedback em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#play-feedback strong{color:#7df9ff;font-size:18px;line-height:1;text-transform:uppercase}#play-feedback span{color:#fff8dcc7;font-size:12px}#play-feedback em{color:#fff275;font-size:12px;font-style:normal;font-weight:800}#play-feedback.feedback-perfect{border-color:#7df9ffbf;box-shadow:0 0 24px #7df9ff2e}#play-feedback.feedback-good{border-color:#fff275b3;box-shadow:0 0 22px #fff27529}#play-feedback.feedback-hold{border-color:#70e000bf;box-shadow:0 0 24px #70e00029}#play-feedback.feedback-hold strong{color:#70e000}#play-feedback.feedback-miss{border-color:#ff5c8acc}#play-feedback.feedback-miss strong{color:#ff5c8a}#judge-burst{position:fixed;left:50%;top:47%;z-index:20;transform:translate(-50%,-50%) scale(1);color:#7df9ff;font-size:clamp(46px,10vw,118px);font-weight:1000;letter-spacing:0;opacity:.96;pointer-events:none;text-shadow:0 0 18px rgba(125,249,255,.55),0 8px 0 rgba(0,0,0,.2);text-transform:uppercase}#judge-burst.judge-perfect{color:#7df9ff}#judge-burst.judge-good{color:#fff275}#judge-burst.judge-miss{color:#ff5c8a}#judge-burst.is-fading{opacity:0;transform:translate(-50%,-62%) scale(1.16);transition:opacity .26s ease-out,transform .26s ease-out}#countdown-overlay{position:fixed;left:50%;top:45%;z-index:28;display:grid;place-items:center;width:clamp(140px,18vw,240px);aspect-ratio:1;border:2px solid rgba(125,249,255,.68);border-radius:50%;background:radial-gradient(circle,#7df9ff33,#04020cb8 66%);color:#fff275;font-size:clamp(62px,12vw,144px);font-weight:1000;line-height:1;pointer-events:none;text-shadow:0 0 24px rgba(255,242,117,.54),0 10px 0 rgba(0,0,0,.18);transform:translate(-50%,-50%) scale(.82)}#countdown-overlay.is-popping{animation:countdown-pop .78s ease-out both}#countdown-overlay.is-hidden{display:none}@keyframes countdown-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.62)}18%,72%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.18)}}#lane-pads{position:fixed;left:50%;bottom:18px;z-index:12;display:grid;grid-template-columns:repeat(4,62px);gap:8px;transform:translate(-50%);pointer-events:none}body.is-duo #lane-pads{grid-template-columns:repeat(8,56px)}body.is-result-open #lane-pads,.lane-pad.p2{display:none}body.is-duo .lane-pad.p2{display:grid}.lane-pad{display:grid;place-items:center;gap:2px;min-height:54px;border:1px solid color-mix(in srgb,var(--lane-color, #7df9ff) 58%,transparent);border-radius:6px;background:color-mix(in srgb,var(--lane-color, #7df9ff) 13%,rgba(18,9,31,.86));box-shadow:inset 0 -4px color-mix(in srgb,var(--lane-color, #7df9ff) 20%,transparent);color:#fff8dc;cursor:pointer;font:inherit;transition:border-color 80ms linear,background 80ms linear,transform 80ms linear}.lane-pad strong{color:var(--lane-color, #7df9ff);font-size:20px;line-height:1}.lane-pad span{color:#fff8dcad;font-size:10px;font-weight:700;text-transform:uppercase}.lane-pad.is-current{border-color:color-mix(in srgb,var(--lane-color, #7df9ff) 86%,white 14%)}.lane-pad.is-active{transform:translateY(4px);background:color-mix(in srgb,var(--lane-color, #7df9ff) 28%,rgba(18,9,31,.72))}.lane-pad.is-hit{border-color:var(--lane-color, #7df9ff);box-shadow:0 0 18px color-mix(in srgb,var(--lane-color, #7df9ff) 42%,transparent),inset 0 -4px color-mix(in srgb,var(--lane-color, #7df9ff) 30%,transparent)}.lane-pad.is-holding{border-color:#70e000f2;background:#70e00033;box-shadow:0 0 18px #70e00047,inset 0 -4px #70e00033}.lane-pad.is-miss{border-color:#ff5c8af2;box-shadow:0 0 18px #ff5c8a47,inset 0 -4px #ff5c8a33}#run-status strong,#run-status span,#run-status em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#run-status strong{font-size:17px}#run-status span{color:#fff8dcc2;font-size:14px}#run-status em{color:#7df9ff;font-size:14px;font-style:normal;font-weight:800}#leaderboard-modal-content h2,#result-leaderboard h2{margin:0 0 10px;color:#fff275;font-size:32px;line-height:1.2}.leaderboard-country-label{display:grid;gap:6px;margin:0 0 10px;color:#fff8dcad;font-size:11px;font-weight:900;text-transform:uppercase}.leaderboard-country-select{min-height:40px;width:100%;border:1px solid rgba(255,248,220,.28);border-radius:6px;background:#090410c7;color:#fff8dc;cursor:pointer;font:inherit;font-size:14px;font-weight:800;padding:0 10px;text-transform:none}.ranking-section-title{display:block;margin:16px 0 8px;color:#7df9ff;font-size:17px;line-height:1.2;text-transform:uppercase}#leaderboard-modal-content ol,#result-leaderboard ol{display:grid;gap:8px;margin:0;padding-left:26px}#leaderboard-modal-content li,#result-leaderboard li{display:grid;grid-template-columns:34px minmax(0,1fr) minmax(86px,auto) auto auto;gap:12px;align-items:center;font-size:17px;line-height:1.2}.ranking-score{color:#fff8dc;font-weight:1000;text-align:right;white-space:nowrap}#leaderboard-modal-content .ranking-empty-row,#result-leaderboard .ranking-empty-row{display:block;padding:8px 0;color:#fff8dcb3;font-size:17px}.ranking-ellipsis-row{display:block!important;padding:3px 0 5px;color:#fff8dc8c;font-size:22px;font-weight:1000;letter-spacing:0;text-align:center}#leaderboard-modal-content li.is-current-player,#result-leaderboard li.is-current-player{margin:2px 0;padding:8px 10px;border:1px solid rgba(255,242,117,.58);border-radius:8px;background:#fff2751a;box-shadow:0 0 22px #fff2751f}.ranking-avatar{width:34px;height:34px;object-fit:contain;border-radius:50%;background:#7df9ff1f}#leaderboard-modal-content strong,#result-leaderboard strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-name{display:inline-flex;min-width:0;align-items:baseline;gap:6px}.ranking-rank,.ranking-player,.ranking-country{min-width:0;overflow:hidden;text-overflow:ellipsis}.ranking-rank{flex:0 0 auto}.ranking-player{flex:1 1 auto}.ranking-country{flex:0 1 auto;color:#fff8dcb8;font-size:.8em}.ranking-time{color:#fff8dc9e;font-size:12px;font-weight:800;text-align:right;white-space:nowrap}.ranking-meta{display:inline-flex;min-width:0;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}#leaderboard-modal-content em,#result-leaderboard em{color:#fff275;font-style:normal;font-weight:800;white-space:nowrap}.leaderboard-empty{margin:0;color:#fff8dcb8;font-size:17px;line-height:1.3}.leaderboard-sync{margin:0 0 8px;color:#7df9ffc7;font-size:15px;font-weight:800}@media (max-width: 1180px){#setup-overlay{grid-template-columns:minmax(0,1fr);align-content:start;justify-content:center;overflow:auto}#beatpaws-hud{right:14px;width:auto;max-width:none}.setup-panel{width:min(980px,calc(100vw - 32px))}}@media (max-width: 680px){#result-overlay{place-items:start center;overflow:auto;padding:max(12px,env(safe-area-inset-top)) 12px max(128px,env(safe-area-inset-bottom))}.result-panel{width:min(100%,420px);max-height:none;padding:16px}.result-panel h2{font-size:28px}.leaderboard-modal-panel{width:min(100%,420px);max-height:calc(100svh - 24px);padding:16px}#leaderboard-modal,#result-leaderboard{min-width:0}#result-leaderboard{padding:10px}#leaderboard-modal-content h2,#result-leaderboard h2{font-size:30px}.ranking-section-title{overflow-wrap:anywhere;font-size:18px;line-height:1.12;text-overflow:clip;white-space:normal}#leaderboard-modal-content ol,#result-leaderboard ol{gap:10px;padding-left:0}#leaderboard-modal-content li,#result-leaderboard li{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;min-width:0;padding:10px 12px;border:1px solid rgba(255,248,220,.12);border-radius:8px;background:#fff8dc0b;font-size:15px}.ranking-avatar{display:none}#leaderboard-modal-content .ranking-name,#result-leaderboard .ranking-name{grid-column:1 / span 2;align-self:center;display:contents;min-width:0;line-height:1.1}.ranking-rank{align-self:center;min-width:38px;padding:5px 7px;border-radius:999px;background:#7df9ff24;color:#7df9ff;font-size:13px;line-height:1;text-align:center}.ranking-player{align-self:center;color:#fff8dc;font-size:18px;line-height:1.1}.ranking-country,.ranking-meta,.ranking-time,.ranking-grade,#leaderboard-modal-content .ranking-tour em,#result-leaderboard .ranking-tour em{display:none}.ranking-score{grid-column:3;grid-row:1;display:block;align-self:center;min-width:54px;width:auto;padding:0;border:0;background:transparent;color:#fff8dca8;font-size:22px;font-weight:1000;line-height:1;text-align:right;font-variant-numeric:tabular-nums}#leaderboard-modal-content li.is-current-player .ranking-score,#result-leaderboard li.is-current-player .ranking-score{color:#fff275}.ranking-score:before{content:none}#setup-overlay{grid-template-columns:1fr;overflow:auto;place-content:start center;min-height:100svh;padding:10px;background:linear-gradient(180deg,#12091ff5,#05020cfa)}.setup-panel{max-height:none;padding:16px}.mobile-solo-notice{display:block}#beatpaws-hud{inset:max(8px,env(safe-area-inset-top)) 8px auto 8px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;width:auto;max-width:none;min-height:0;padding:8px;gap:6px}.setup-grid{grid-template-columns:1fr;gap:9px}.setup-visual{inset:-54px -26px auto auto;width:210px;height:160px;opacity:.75}.setup-logo{width:150px}.setup-cat{width:78px;height:78px}.setup-cat-a{right:108px}.preview-row{grid-template-columns:1fr}.start-button{position:sticky;bottom:8px;z-index:3;min-height:58px;margin-top:12px;font-size:20px}.character-picker,.character-picker-duo.is-duo-select,.character-player-pane{grid-template-columns:1fr}.character-preview{width:100%;height:220px}.character-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.character-card{min-height:70px;padding:4px;font-size:9px}.character-card img{height:42px}.setup-panel h1{font-size:36px}.name-chip{min-width:0}#beatpaws-hud input{width:100%;min-width:0}#beatpaws-hud select{max-width:none;width:100%}#beatpaws-hud>#song-select,#beatpaws-hud>#difficulty-select,#beatpaws-hud>#map-select,#duel-record{display:none}#run-status,#play-feedback,#duel-record{grid-column:1 / -1;width:auto}#run-status{grid-column:1;grid-row:1;min-height:0;max-height:none;padding:7px 9px;gap:4px}#beatpaws-hud #restart-run{grid-column:2;grid-row:1;min-height:0;width:clamp(76px,22vw,92px);padding:0 8px;font-size:0;line-height:1;text-align:center;white-space:nowrap}#beatpaws-hud #restart-run:after{content:"↻";font-size:34px;line-height:1}#hud-ranking-button{display:none}#play-feedback{position:fixed;top:calc(100vh - 220px);right:max(10px,env(safe-area-inset-right));bottom:auto;left:max(10px,env(safe-area-inset-left));z-index:13;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;min-height:0;width:auto;padding:9px 10px;gap:4px 10px;border-color:#7df9ff57;background:#04020cd1;box-shadow:0 14px 34px #00000057;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}#run-status strong{overflow:hidden;font-size:13px;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}#run-status .run-meta{overflow:hidden;font-size:10px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap;opacity:.82}.run-progress-row{grid-template-columns:auto minmax(58px,1fr);align-items:center;gap:7px}#run-status .run-time{font-size:12px;line-height:1;white-space:nowrap}.song-progress{height:7px}#play-feedback strong{grid-row:1 / span 2;min-width:72px;font-size:20px;line-height:1}#play-feedback .feedback-detail{overflow:hidden;font-size:11px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}#play-feedback .feedback-stats{display:none}.mobile-score-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.mobile-score-strip b{min-width:0;padding:4px 6px;overflow:hidden;border:1px solid rgba(255,248,220,.16);border-radius:6px;background:#fff8dc14;color:#fff8dc;font-size:12px;line-height:1;text-align:center;text-overflow:ellipsis;white-space:nowrap}#lane-pads{right:max(10px,env(safe-area-inset-right));bottom:max(58px,env(safe-area-inset-bottom));left:max(10px,env(safe-area-inset-left));grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;transform:none;pointer-events:auto}.lane-pad{grid-template-rows:minmax(0,1fr) auto;align-items:center;justify-items:center;min-height:clamp(66px,15svh,92px);min-width:0;padding:8px 4px 10px;border-width:2px;border-radius:8px;background:color-mix(in srgb,var(--lane-color, #7df9ff) 20%,rgba(9,4,16,.88));box-shadow:0 10px 24px #00000047,inset 0 -7px color-mix(in srgb,var(--lane-color, #7df9ff) 24%,transparent);touch-action:none;-webkit-user-select:none;user-select:none}.lane-pad strong{display:block;width:100%;font-size:clamp(26px,8vw,38px);line-height:1;text-align:center}.lane-pad.p1 strong{font-size:0}.lane-pad.p1 strong:after{content:attr(data-mobile-label);display:block;font-size:clamp(26px,8vw,38px);line-height:1;text-align:center}.lane-pad span{display:block;width:100%;font-size:11px;line-height:1;text-align:center}.lane-pad.p1 span{font-size:0}.lane-pad.p1 span:after{content:"Tap";display:block;font-size:11px;line-height:1;text-align:center}.lane-pad.p2{display:none}}
