@font-face{font-family:Sora;src:url(../fonts/Sora-VF.subset.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Figtree;src:url(../fonts/Figtree-VF.subset.woff2)format("woff2");font-weight:300 900;font-display:swap}@font-face{font-family:Noto Sans SC;src:url(../fonts/NotoSansSC-VF.subset.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{--ink:#1b1838;--ink-2:#2d2758;--cream:#fff4e0;--paper:#fff9ef;--gold:#ffd166;--gold-2:#ffb020;--pink:#ff5d8f;--pink-2:#ff8fb1;--mint:#5ee6c1;--lilac:#b9a6f2;--sky:#f6b9c6;--road:#3d3866;--display:"Sora", "Noto Sans SC", system-ui, sans-serif;--body:"Figtree", "Noto Sans SC", system-ui, sans-serif;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--danger:0}:root:lang(zh-CN){--display:"Noto Sans SC", "Sora", system-ui, sans-serif;--body:"Noto Sans SC", "Figtree", system-ui, sans-serif}*{box-sizing:border-box}html,body{background:var(--sky);height:100%;color:var(--ink);font-family:var(--body);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:none;margin:0;overflow:hidden}#game{width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}#ui button,#ui input,#ui a,#ui .panel,#ui .modal.is-open,#ui .touch-pad button{pointer-events:auto}button{font:inherit;color:inherit;cursor:pointer}.logo,.score,.res-score,.banner,.comic span,.panel-title,.hud-run{font-family:var(--display);paint-order:stroke fill;-webkit-text-stroke:.18em var(--ink);letter-spacing:.01em;font-weight:900}.screen{opacity:0;visibility:hidden;transition:opacity .18s,visibility 0s linear .18s;position:absolute;inset:0}.screen.is-active{opacity:1;visibility:visible;transition:opacity .18s}.boot{background:radial-gradient(120% 90% at 50% 30%, #ffd1c2 0%, var(--sky) 45%, var(--lilac) 100%);place-content:center;justify-items:center;gap:22px;display:grid}.boot-logo{color:var(--gold);text-shadow:6px 7px 0 var(--ink);font-size:clamp(40px,8vw,84px)}.boot-bar{background:var(--paper);border:4px solid var(--ink);width:min(340px,70vw);height:16px;box-shadow:4px 5px 0 var(--ink);border-radius:10px;overflow:hidden}.boot-bar i{background:repeating-linear-gradient(-45deg, var(--pink), var(--pink) 10px, var(--pink-2) 10px, var(--pink-2) 20px);transform-origin:0;height:100%;transition:transform .3s;display:block;transform:scaleX(.04)}.title{background:linear-gradient(#ffd6c48c,#ffd6c400 34%,#0000 70%,#1b183847)}.title-logo{left:calc(28px + var(--safe-l));top:calc(18px + var(--safe-t));transform-origin:0 0;padding-top:.6vw;position:absolute;transform:rotate(-3deg)}.title .logo{color:var(--gold);text-shadow:5px 6px 0 var(--ink), 9px 11px 0 #1b183859;margin:0;font-size:clamp(46px,8.4vw,112px);line-height:1;animation:2.6s ease-in-out infinite logo-bob}.title .logo span{display:inline-block}.logo-sub{font:900 clamp(15px, 2vw, 24px) var(--display);letter-spacing:.2em;color:var(--paper);background:var(--pink);border:4px solid var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:10px;margin-top:8px;padding:4px 14px;display:inline-block;transform:rotate(2deg)}.tag{max-width:min(460px,44vw);color:var(--ink);border:3px solid var(--ink);box-shadow:3px 4px 0 var(--ink);background:#fff9efdb;border-radius:12px;margin:14px 0 0;padding:8px 12px;font-size:clamp(13px,1.5vw,18px);font-weight:800}@keyframes logo-bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-6px)rotate(-1deg)}}.mode-switch{right:calc(26px + var(--safe-r));top:calc(20px + var(--safe-t));border:4px solid var(--ink);box-shadow:4px 5px 0 var(--ink);background:var(--paper);border-radius:16px;gap:0;display:flex;position:absolute;overflow:hidden}.mode-switch .seg{box-shadow:none;border:0;border-radius:0;padding:10px 18px;font-size:clamp(14px,1.6vw,19px)}.mode-switch .seg+.seg{border-left:4px solid var(--ink)}.mode-note{right:calc(26px + var(--safe-r));top:calc(80px + var(--safe-t));color:var(--paper);background:var(--ink);white-space:nowrap;border-radius:8px;padding:3px 10px;font-size:13px;font-weight:800;position:absolute}.mode-note:empty{display:none}.challenge-card{text-align:center;background:var(--pink);color:var(--paper);border:4px solid var(--ink);box-shadow:5px 6px 0 var(--ink);border-radius:16px;gap:2px;padding:10px 20px;animation:.4s cubic-bezier(.3,1.6,.5,1) pop-in;display:grid;position:absolute;top:27%;left:50%;transform:translate(-50%)rotate(-1.5deg)}.challenge-card b{font:900 clamp(16px, 2vw, 22px) var(--display)}.challenge-card span{font-weight:800}.challenge-card[hidden]{display:none}.title-side{right:calc(26px + var(--safe-r));gap:14px;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.start-prompt{left:50%;bottom:calc(40px + var(--safe-b));font:900 clamp(18px, 2.4vw, 28px) var(--display);color:var(--ink);background:var(--gold);border:4px solid var(--ink);box-shadow:5px 6px 0 var(--ink);white-space:nowrap;border-radius:18px;align-items:center;gap:12px;padding:12px 22px;animation:1.1s ease-in-out infinite prompt-pulse;display:flex;position:absolute;transform:translate(-50%)}.keycap{background:var(--paper);border:3px solid var(--ink);min-width:1.6em;height:1.6em;box-shadow:0 4px 0 var(--ink);border-radius:9px;place-items:center;padding:0 .3em;font-size:.9em;display:inline-grid}@keyframes prompt-pulse{0%,to{transform:translate(-50%)scale(1)}50%{transform:translate(-50%)scale(1.06)}}.title-best{left:calc(28px + var(--safe-l));bottom:calc(30px + var(--safe-b));font:900 20px var(--display);color:var(--ink);background:var(--gold);border:4px solid var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:12px;padding:6px 14px;position:absolute}.title-best:empty{display:none}.btn,.seg{min-width:180px;font:900 clamp(15px, 1.7vw, 20px) var(--display);color:var(--ink);background:linear-gradient(180deg, #fffdf8 0%, var(--cream) 55%, #f3e3c6 100%);border:4px solid var(--ink);box-shadow:0 6px 0 var(--ink), 0 6px 0 4px #1b183826;border-radius:16px;outline:none;justify-content:center;align-items:center;gap:8px;padding:12px 22px;text-decoration:none;transition:transform 80ms,box-shadow 80ms,filter .1s;display:inline-flex;position:relative}.btn:after{content:"";pointer-events:none;background:#ffffff8c;border-radius:10px;height:30%;position:absolute;top:5px;left:10px;right:10px}.btn:hover,.btn:focus-visible,.seg:hover,.seg:focus-visible{filter:brightness(1.05);box-shadow:0 8px 0 var(--ink);transform:translateY(-2px)}.btn:focus-visible,.seg:focus-visible,.skin-card:focus-visible{outline:4px solid var(--pink);outline-offset:3px}.btn:active,.seg:active{box-shadow:0 1px 0 var(--ink);transform:translateY(5px)}.btn.primary{background:linear-gradient(180deg, #ffe9a3 0%, var(--gold) 50%, var(--gold-2) 100%)}.btn.big{gap:2px;width:100%;padding:12px 20px;font-size:clamp(22px,2.8vw,32px);display:grid}.btn.big small{font:800 13px var(--body);opacity:.75}.btn.small{min-width:0;box-shadow:0 4px 0 var(--ink);border-radius:13px;padding:9px 14px;font-size:clamp(13px,1.4vw,16px)}.btn.ghost{box-shadow:none;background:0 0;border-style:dashed}.btn.ghost:after{display:none}.seg{min-width:0;box-shadow:0 4px 0 var(--ink);border-radius:12px;padding:8px 14px;font-size:15px}.seg.is-on{background:linear-gradient(180deg, #ff9fbd, var(--pink));color:var(--paper)}.mode-switch .seg.is-on{background:linear-gradient(180deg, #ff9fbd, var(--pink))}.icon-btn{background:var(--paper);border:4px solid var(--ink);width:50px;height:50px;box-shadow:0 5px 0 var(--ink);border-radius:14px;justify-content:center;align-items:center;gap:6px;display:inline-flex}.icon-btn i{background:var(--ink);border-radius:2px;width:7px;height:20px}.icon-btn:active{box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}.hud-score{left:calc(24px + var(--safe-l));top:calc(12px + var(--safe-t));justify-items:start;gap:6px;display:grid;position:absolute}.score{color:var(--paper);text-shadow:5px 6px 0 var(--ink);font-size:clamp(56px,8vw,96px);line-height:1}.score.bump{animation:.22s cubic-bezier(.3,1.8,.5,1) bump}@keyframes bump{0%{transform:scale(1.28)rotate(-4deg)}to{transform:scale(1)}}.chip{font:900 15px var(--display);color:var(--ink);background:var(--paper);border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);white-space:nowrap;border-radius:10px;padding:4px 12px;display:inline-block}.chip:empty{display:none}.chip.best{background:var(--gold)}.chip.target{background:var(--pink-2)}.chip.target.is-done{background:var(--mint);text-decoration:line-through;text-decoration-thickness:3px}.chip.coin{background:#ffe08a}.hud-streak{left:calc(24px + var(--safe-l));top:calc(170px + var(--safe-t));--heat:0;position:absolute}.hud-streak b{font:900 clamp(16px, 2vw, 22px) var(--display);color:var(--paper);background:hsl(calc(330 - var(--heat) * 300) 90% 60%);border:4px solid var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:12px;padding:6px 14px;animation:.16s cubic-bezier(.3,1.8,.5,1) pop-in;display:inline-block;transform:rotate(-3deg)}.hud-right{right:calc(20px + var(--safe-r));top:calc(16px + var(--safe-t));align-items:center;gap:12px;display:flex;position:absolute}.coin-pill{font:900 22px var(--display);background:var(--paper);border:4px solid var(--ink);box-shadow:3px 4px 0 var(--ink);border-radius:30px;align-items:center;gap:8px;padding:6px 14px 6px 8px;display:flex}.coin-ico{background:radial-gradient(circle at 35% 35%, #fff1b8 0 20%, var(--gold) 21% 60%, var(--gold-2) 61%);border:3px solid var(--ink);border-radius:50%;width:26px;height:26px;display:inline-block}.hud-hint{left:50%;bottom:calc(26px + var(--safe-b));color:var(--paper);border:3px solid var(--ink);opacity:0;white-space:nowrap;background:#1b1838db;border-radius:14px;padding:10px 18px;font-size:clamp(14px,1.7vw,19px);font-weight:900;transition:all .25s;position:absolute;transform:translate(-50%,20px)}.hud-hint.is-on{opacity:1;transform:translate(-50%)}.hud-run{left:50%;bottom:calc(90px + var(--safe-b));color:#cdb9ff;opacity:0;white-space:nowrap;text-shadow:4px 4px 0 var(--ink);font-size:clamp(22px,3.2vw,38px);transition:all .2s;position:absolute;transform:translate(-50%)scale(.6)}.hud-run.is-on{opacity:1;animation:.35s linear infinite shake-x;transform:translate(-50%)scale(1)}@keyframes shake-x{0%,to{translate:0}25%{translate:-3px 1px}75%{translate:3px -1px}}.banner{color:var(--gold);text-shadow:6px 7px 0 var(--ink);white-space:nowrap;pointer-events:none;font-size:clamp(40px,7vw,86px);position:absolute;top:22%;left:50%;transform:translate(-50%,-50%)scale(0)}.banner.banner-best,.banner.banner-target{color:var(--mint)}.banner.is-on{animation:1.5s cubic-bezier(.2,1.4,.4,1) forwards banner}@keyframes banner{0%{opacity:1;transform:translate(-50%,-50%)scale(0)rotate(-12deg)}18%{transform:translate(-50%,-50%)scale(1.15)rotate(3deg)}30%{transform:translate(-50%,-50%)scale(1)rotate(-2deg)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-80%)scale(.9)}}.vignette{pointer-events:none;position:absolute;inset:0}.storm-vig{opacity:calc(var(--danger) * 1);background:radial-gradient(130% 90% at 50% 20%,#0000 55%,#28165abf 100%);transition:opacity .3s}.slow-vig{opacity:0;background:radial-gradient(90% 80%,#0000 50%,#ffffff8c 100%);transition:opacity .12s}.slow-vig i{background:repeating-conic-gradient(#fff0 0deg 5deg,#ffffff59 5deg 6deg);animation:6s linear infinite spin;position:absolute;inset:-20%;-webkit-mask:radial-gradient(circle,#0000 38%,#000 70%);mask:radial-gradient(circle,#0000 38%,#000 70%)}#ui.is-slow .slow-vig{opacity:1}@keyframes spin{to{transform:rotate(360deg)}}.flash{opacity:0;pointer-events:none;background:#fffbe0;position:absolute;inset:0}.flash.is-on{animation:.5s ease-out flash}@keyframes flash{0%{opacity:.95}30%{opacity:.2}45%{opacity:.7}to{opacity:0}}.fx-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.float{font:900 24px var(--display);color:var(--gold);paint-order:stroke fill;-webkit-text-stroke:5px var(--ink);white-space:nowrap;animation:1.1s ease-out forwards float-up;position:absolute;transform:translate(-50%,-50%)}.float-close{color:var(--mint);font-size:30px}.float-bonus{color:var(--pink-2);font-size:22px}@keyframes float-up{0%{opacity:0;transform:translate(-50%,-30%)scale(.4)}15%{opacity:1;transform:translate(-50%,-70%)scale(1.2)}to{opacity:0;transform:translate(-50%,-260%)scale(1)}}.comic{transform:translate(-50%, -50%) rotate(var(--rot));pointer-events:none;position:absolute}.comic span{color:var(--gold);text-shadow:6px 6px 0 var(--ink);background:radial-gradient(closest-side,#fff 0 60%,#0000 62%);padding:14px 26px;font-size:clamp(40px,6vw,72px);animation:1.5s cubic-bezier(.2,1.8,.4,1) forwards comic;display:block}.comic-splat span{color:var(--pink)}.comic-splash span{color:#7fe3ee}.comic-zap span{color:#fff36b}.comic-ding span{color:#fff;background:0 0;font-size:clamp(30px,4vw,48px)}.comic:before{content:"";background:conic-gradient(from 0deg, #fff 0 10deg, transparent 10deg 30deg, #fff 30deg 40deg, transparent 40deg 60deg, #fff 60deg 70deg, transparent 70deg 90deg, #fff 90deg 100deg, transparent 100deg 120deg, #fff 120deg 130deg, transparent 130deg 150deg, #fff 150deg 160deg, transparent 160deg 180deg, #fff 180deg 190deg, transparent 190deg 210deg, #fff 210deg 220deg, transparent 220deg 240deg, #fff 240deg 250deg, transparent 250deg 270deg, #fff 270deg 280deg, transparent 280deg 300deg, #fff 300deg 310deg, transparent 310deg 330deg, #fff 330deg 340deg, transparent 340deg);opacity:.8;animation:.6s ease-out forwards burst-rays;position:absolute;inset:-30% -20%;-webkit-mask:radial-gradient(closest-side,#0000 40%,#000 42% 70%,#0000 72%);mask:radial-gradient(closest-side,#0000 40%,#000 42% 70%,#0000 72%)}.comic-ding:before{display:none}@keyframes comic{0%{transform:scale(0)}14%{transform:scale(1.35)}26%{transform:scale(.95)}34%{transform:scale(1.05)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.1)translateY(-20px)}}@keyframes burst-rays{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(1.5)}}@keyframes pop-in{0%{transform:scale(.3)}to{transform:scale(1)}}.panel{background:var(--paper);border:5px solid var(--ink);box-shadow:10px 12px 0 var(--ink);max-height:calc(100vh - 32px - var(--safe-t) - var(--safe-b));border-radius:24px;gap:12px;padding:22px 26px 24px;display:grid;position:relative;overflow:auto}.panel:before{content:"";background:repeating-linear-gradient(90deg, var(--gold) 0 26px, transparent 26px 40px);opacity:.8;border-radius:4px;height:8px;position:absolute;top:10px;left:16px;right:16px}.panel{grid-template-columns:minmax(0,1fr)}.panel>*{min-width:0}.panel.wide{width:min(640px,94vw)}.panel-title{color:var(--gold);text-shadow:4px 5px 0 var(--ink);text-align:center;margin:6px 0 2px;font-size:clamp(28px,3.6vw,42px)}.pause,.results{background:#1b183859;place-items:center;display:grid}.pause .panel{width:min(420px,92vw)}.help{margin:6px 0 0;padding-left:20px;font-size:14px;font-weight:700;line-height:1.6}.results{padding-right:calc(4vw + var(--safe-r));background:linear-gradient(90deg,#1b183800 30%,#1b183880);justify-items:end}.res-panel{gap:10px;width:min(470px,92vw);animation:.35s cubic-bezier(.2,1.3,.4,1) slide-in}@keyframes slide-in{0%{transform:translate(120%)rotate(6deg)}to{transform:translate(0)}}.res-cause{font:900 clamp(17px, 2vw, 22px) var(--display);text-align:center;color:var(--ink);background:var(--pink-2);border:3px solid var(--ink);border-radius:12px;margin:8px 0 0;padding:6px 10px;transform:rotate(-1.5deg)}.res-a,.res-b{gap:10px;min-width:0;display:grid}#ui[data-locale=en] .title .logo{font-size:clamp(40px,6.2vw,84px)}.res-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.res-score-box{justify-items:center;min-width:150px;display:grid;position:relative}.res-score-box small{font:900 14px var(--display);letter-spacing:.1em;opacity:.7}.res-score{color:var(--gold);text-shadow:5px 6px 0 var(--ink);font-size:clamp(68px,9vw,104px);line-height:.95;animation:.4s cubic-bezier(.3,1.8,.5,1) .15s backwards pop-in}.res-newbest{font:900 14px var(--display);color:var(--paper);background:var(--pink);border:3px solid var(--ink);border-radius:10px;padding:3px 10px;animation:.6s ease-in-out infinite alternate wiggle;position:absolute;top:-6px;right:-18px;transform:rotate(10deg)}.res-newbest[hidden]{display:none}@keyframes wiggle{0%{transform:rotate(6deg)scale(1)}to{transform:rotate(14deg)scale(1.1)}}.res-side{justify-items:end;gap:8px;display:grid}.res-target{text-align:center;color:var(--ink);margin:0;font-weight:900}.res-target:empty{display:none}.res-target.is-win{color:#0f8f6d}.res-online{border:3px solid var(--ink);background:#f1e8ff;border-radius:16px;place-items:center;min-height:58px;padding:8px 12px;display:grid}.ranks{gap:12px;display:flex}.rank-chip{background:var(--paper);border:3px solid var(--ink);min-width:110px;box-shadow:3px 3px 0 var(--ink);border-radius:12px;justify-items:center;padding:4px 12px;display:grid}.rank-chip.today{background:var(--gold)}.rank-chip small{font:900 12px var(--display);opacity:.8}.rank-chip b{font:900 26px var(--display)}.beat{font:900 17px var(--display);color:#6a3fd6;margin:6px 0 0}.res-stats{text-align:center;opacity:.7;margin:0;font-size:13px;font-weight:800}.res-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.muted{opacity:.75;text-align:center;margin:0;font-weight:800}.pulse{animation:1s ease-in-out infinite fade-pulse}@keyframes fade-pulse{50%{opacity:.35}}.name-form{gap:6px;width:100%;display:grid}.name-form label{text-align:center;font-weight:900}.name-row{gap:8px;display:flex}input[name=nick],.share-link{min-width:0;font:800 17px var(--body);border:3px solid var(--ink);color:var(--ink);-webkit-user-select:text;user-select:text;background:#fff;border-radius:12px;outline:none;flex:1;padding:9px 12px}input[name=nick]:focus{border-color:var(--pink);box-shadow:0 0 0 3px #ff5d8f59}.modal{opacity:0;visibility:hidden;background:#1b183880;place-items:center;transition:all .15s;display:grid;position:absolute;inset:0}.modal.is-open{opacity:1;visibility:visible}.modal.is-open .panel{animation:.25s cubic-bezier(.3,1.5,.5,1) pop-in}.tabs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tabs .gap{flex:1}.board-list{gap:6px;max-height:46vh;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.board-list li{border:3px solid var(--ink);background:#fff;border-radius:12px;align-items:center;gap:12px;padding:7px 12px;font-weight:800;display:flex}.board-list li.muted{justify-content:center}.board-list .pos{width:34px;height:30px;font:900 16px var(--display);background:var(--lilac);border:2px solid var(--ink);border-radius:8px;place-items:center;display:inline-grid}.board-list .r1 .pos{background:var(--gold)}.board-list .r2 .pos{background:#e3e7f2}.board-list .r3 .pos{background:#f0b27a}.board-list .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.board-list b{font:900 20px var(--display)}.board-list li.me{border-color:var(--pink);background:#ffe6ef}.board-me{text-align:center;margin:0;font-weight:900}.wallet{font:900 20px var(--display);justify-content:center;align-items:center;gap:8px;margin:0;display:flex}.skin-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;display:grid}.skin-card{border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);background:#fff;border-radius:16px;outline:none;justify-items:center;gap:4px;padding:12px 6px;font-weight:900;display:grid}.skin-card small{opacity:.8;font-size:12px}.skin-card.is-on{border-color:var(--pink);background:#fff3c4}.skin-card.locked{filter:saturate(.5)}.skin-card:active{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.skin-ico{width:58px;height:52px;position:relative}.skin-ico b{border:3px solid var(--ink);background:#27305e;border-radius:8px;height:32px;position:absolute;bottom:0;left:7px;right:7px}.skin-ico b:after{content:"";background:var(--cream);border-radius:4px;height:14px;position:absolute;bottom:3px;left:10px;right:10px}.skin-ico em{background:var(--h);border:3px solid var(--ink);border-radius:30px 30px 6px 6px;height:30px;position:absolute;top:0;left:3px;right:3px}.skin-ico em:after{content:"";background:var(--s);width:8px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.row{justify-content:space-between;align-items:center;gap:16px;font-weight:900;display:flex}.row input[type=range]{max-width:240px;accent-color:var(--pink);flex:1}.segs{gap:6px;display:flex}.share-panel{justify-items:center}.share-img{border:4px solid var(--ink);width:auto;max-width:100%;max-height:52vh;box-shadow:6px 6px 0 var(--ink);border-radius:16px}.share-img[hidden]{display:none}.share-link{width:100%;font-size:13px}.touch-pad{height:0;display:none;position:absolute;inset:auto 0 0}#ui.show-touch .touch-pad{display:block}.touch-pad button{width:74px;height:74px;color:var(--ink);border:4px solid var(--ink);box-shadow:0 6px 0 var(--ink);touch-action:none;background:#fff9efe0;border-radius:22px;place-items:center;font-size:28px;display:grid;position:absolute}.touch-pad button.is-down{box-shadow:0 1px 0 var(--ink);background:var(--gold);transform:translateY(5px)}.pad-left button[data-pad=left]{left:calc(22px + var(--safe-l));bottom:calc(28px + var(--safe-b))}.pad-left button[data-pad=right]{left:calc(112px + var(--safe-l));bottom:calc(28px + var(--safe-b))}.pad-right .pad-up{right:calc(26px + var(--safe-r));bottom:calc(112px + var(--safe-b));background:#ffd166eb;width:104px;height:90px;font-size:34px}.pad-right .pad-down{right:calc(41px + var(--safe-r));bottom:calc(24px + var(--safe-b));height:68px}#ui.show-touch .hud-hint{bottom:calc(120px + var(--safe-b))}#ui.show-touch .start-prompt{bottom:calc(140px + var(--safe-b))}#ui.show-touch .title-best{top:calc(150px + var(--safe-t));bottom:auto}#ui.show-touch .title-side{top:auto;bottom:calc(22px + var(--safe-b));gap:10px;display:flex;left:50%;right:auto;transform:translate(-50%)}#ui.show-touch .title-side .btn{min-width:0;padding:8px 14px;font-size:14px}@media (max-height:520px){#ui.show-touch .start-prompt{bottom:calc(72px + var(--safe-b))}#ui.show-touch .title-best{top:calc(108px + var(--safe-t))}}.toast{left:50%;bottom:calc(24px + var(--safe-b));color:var(--paper);background:var(--ink);opacity:0;pointer-events:none;border-radius:14px;padding:10px 18px;font-weight:900;transition:all .2s;position:absolute;transform:translate(-50%,30px)}.toast.is-on{opacity:1;transform:translate(-50%)}.fatal{font:800 20px var(--body);color:var(--paper);background:var(--ink);text-align:center;pointer-events:auto;place-items:center;padding:20px;display:grid;position:fixed;inset:0}@media (max-height:520px){.title .logo{font-size:clamp(34px,11vh,64px)}.tag{display:none}.logo-sub{font-size:13px}.title-side{gap:10px}.title-side .btn{min-width:140px;padding:8px 14px;font-size:14px}.score{font-size:52px}.hud-streak{top:calc(112px + var(--safe-t))}.panel{box-shadow:6px 7px 0 var(--ink);border-width:4px;gap:8px;padding:14px 18px 16px}.panel-title{font-size:26px}.res-score{font-size:60px}.res-cause{margin-top:6px;font-size:15px}.btn.big{padding:8px 14px;font-size:20px}.btn.big small{display:none}.res-online{min-height:44px;padding:4px 10px}.rank-chip b{font-size:20px}.beat{margin:2px 0 0;font-size:14px}.res-stats{display:none}.res-panel{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;column-gap:16px;width:min(760px,96vw)}.res-panel:before,.res-head .res-side .chip:first-child{display:none}.res-a,.res-b{gap:8px}.results{padding-right:0;padding-right:calc(2vw + var(--safe-r));justify-items:center}.mode-switch .seg{padding:7px 12px;font-size:13px}.mode-note{top:calc(62px + var(--safe-t))}.challenge-card{padding:6px 14px}.start-prompt{padding:8px 14px;font-size:17px}.touch-pad button{width:62px;height:62px}.pad-left button[data-pad=right]{left:calc(96px + var(--safe-l))}.pad-right .pad-up{width:88px;height:76px;bottom:calc(96px + var(--safe-b))}.pad-right .pad-down{height:56px;right:calc(39px + var(--safe-r))}.board-list{max-height:40vh}.share-img{max-height:42vh}}@media (max-width:720px){.title-side{top:auto;bottom:calc(96px + var(--safe-b));transform:none}.results{justify-items:center;padding-right:0}}@media (prefers-reduced-motion:reduce){.title .logo,.start-prompt,.hud-run.is-on{animation:none}}
