@font-face{font-family:Sora;src:url(../fonts/Sora-VF.subset.woff2)format("woff2");font-weight:100 800;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:#2a2560;--ink-3:#3d3673;--cream:#fff6e8;--gold:#ffd35c;--gold-2:#ffb020;--coral:#ff5a5f;--teal:#2ec4b6;--violet:#7b61ff;--muted:#b9b4e6;--shadow:#000;--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);--u:min(1vw, 1.8vh)}: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(--ink);height:100%;color:var(--cream);font-family:var(--body);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;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;font-size:clamp(11px,min(1.25vw,2.1vh),17px);position:fixed;inset:0}#ui button,#ui input,#ui a,#ui label,#ui .panel,#ui .modal,#ui .touch.active button{pointer-events:auto}[hidden]{display:none!important}.screen{display:none;position:absolute;inset:0}.screen.active{display:block}.heading{font-family:var(--display);letter-spacing:.02em;color:var(--gold);-webkit-text-stroke:.14em var(--ink);paint-order:stroke fill;text-shadow:.09em .11em 0 var(--shadow);margin:0;font-size:2.2em;font-weight:800}.panel{background:linear-gradient(180deg, var(--ink-2), var(--ink));border:.24em solid var(--cream);box-shadow:.5em .55em 0 var(--shadow), inset 0 0 0 .2em #ffffff0f;border-radius:1.1em;padding:1.4em}.btn{font-family:var(--display);letter-spacing:.03em;color:var(--ink);background:linear-gradient(180deg, #ffe58f 0%, var(--gold) 45%, var(--gold-2) 100%);border:.18em solid var(--ink);cursor:pointer;box-shadow:0 .32em 0 var(--ink), .3em .6em 0 var(--shadow), inset 0 .18em 0 #fff9;border-radius:.8em;flex-direction:column;justify-content:center;align-items:center;gap:.1em;padding:.6em 1.3em;font-size:1.15em;font-weight:800;text-decoration:none;transition:transform 80ms,box-shadow 80ms,filter .1s;display:inline-flex;position:relative}.btn:hover,.btn:focus-visible{filter:brightness(1.08);outline:none;transform:translateY(-.08em)}.btn:focus-visible{box-shadow:0 .32em 0 var(--ink), .3em .6em 0 var(--shadow), 0 0 0 .25em var(--cream)}.btn:active{box-shadow:0 .04em 0 var(--ink), .1em .2em 0 var(--shadow), inset 0 .18em 0 #fff6;transform:translateY(.28em)}.btn small{opacity:.75;letter-spacing:.08em;font-size:.55em;font-weight:700}.btn-alt{background:linear-gradient(180deg, #8ff5ea, var(--teal) 55%, #1f9c90)}.btn-ghost{background:linear-gradient(#fff,#d9d4f5)}.btn-small{padding:.45em .9em;font-size:.9em}.chip-btn{font-family:var(--display);color:var(--cream);background:var(--ink-2);cursor:pointer;border:.16em solid var(--cream);box-shadow:.2em .25em 0 var(--shadow);border-radius:.7em;padding:.35em .75em;font-size:1em;font-weight:800}.chip-btn:active{box-shadow:.08em .1em 0 var(--shadow);transform:translate(.12em,.15em)}.chip{border:.14em solid var(--muted);background:#1b1838cc;border-radius:999px;padding:.35em .8em;font-size:.9em;font-weight:800}.chip.gold{border-color:var(--gold);color:var(--gold)}.tag{font-family:var(--display);border:.14em solid var(--ink);box-shadow:.15em .18em 0 var(--shadow);color:var(--ink);background:var(--cream);border-radius:.5em;padding:.2em .65em;font-size:.8em;font-weight:800;display:inline-block}.tag.assist{background:var(--teal)}.tag.sprint{background:var(--gold)}.tag.grace{background:#9be564}.tag.target{background:var(--coral);color:var(--cream)}.muted{color:var(--muted)}.keycap{width:2.3em;height:2.3em;font-family:var(--display);color:var(--ink);border:.16em solid var(--ink);box-shadow:0 .25em 0 var(--ink), .2em .4em 0 #0009;background:linear-gradient(#fff,#e5e0ff);border-radius:.5em;place-items:center;font-weight:800;transition:transform 50ms,background 50ms;display:inline-grid}.keycap.big{width:3.1em;height:3.1em;font-size:1.15em}.keycap.on{box-shadow:0 .04em 0 var(--ink);background:linear-gradient(180deg, #fff3b0, var(--gold));transform:translateY(.22em)}.logo{flex-direction:column;align-items:center;line-height:.95;animation:2.6s ease-in-out infinite wobble;display:flex;transform:rotate(-3deg)}.logo-cn,.logo-en{font-family:var(--display);paint-order:stroke fill;font-weight:900}.logo-cn{font-family:"Noto Sans SC", var(--display);color:var(--gold);-webkit-text-stroke:.12em var(--ink);text-shadow:.06em .08em 0 var(--coral), .1em .14em 0 var(--shadow);letter-spacing:.04em;font-size:4.4em}.logo-en{color:var(--cream);-webkit-text-stroke:.14em var(--ink);text-shadow:.08em .1em 0 var(--shadow);letter-spacing:.12em;margin-top:.1em;font-size:1.9em}.logo.small .logo-cn{font-size:3em}.logo.small .logo-en{font-size:1.3em}@keyframes wobble{0%,to{transform:rotate(-3deg)translateY(0)}50%{transform:rotate(2deg)translateY(-.2em)}}.boot{background:radial-gradient(circle at 50% 40%, var(--ink-3), var(--ink))}.boot.active{flex-direction:column;justify-content:center;align-items:center;gap:1.5em;display:flex}.boot .bar{border:.16em solid var(--cream);background:var(--ink);width:18em;height:1em;box-shadow:.2em .25em 0 var(--shadow);border-radius:1em;overflow:hidden}.boot .bar i{background:repeating-linear-gradient(-45deg, var(--gold) 0 .6em, var(--gold-2) .6em 1.2em);width:10%;height:100%;transition:width .25s;display:block}.boot p{color:var(--muted);font-weight:700}.fatal{color:var(--coral);background:var(--ink);pointer-events:auto;place-items:center;font-weight:800;display:grid;position:absolute;inset:0}.title{background:linear-gradient(90deg,#1b1838d1 0%,#1b183880 42%,#1b183800 70%)}.title-top{top:calc(1em + var(--safe-t));right:calc(1em + var(--safe-r));gap:.6em;display:flex;position:absolute}.title-main{left:calc(3.5vw + var(--safe-l));flex-direction:column;align-items:center;gap:.7em;width:min(40em,52vw);display:flex;position:absolute;top:50%;transform:translateY(-50%)}.tagline{text-align:center;text-shadow:.1em .12em 0 var(--shadow);margin:0;font-size:1.2em;font-weight:800}.challenge-banner{font-family:var(--display);background:var(--coral);color:var(--cream);border:.18em solid var(--ink);box-shadow:.25em .3em 0 var(--shadow);text-align:center;border-radius:.7em;padding:.5em 1em;font-size:1.05em;font-weight:800;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{transform:scale(1.04)}}.controls-card{border:.18em solid var(--cream);box-shadow:.3em .35em 0 var(--shadow);background:#1b1838d9;border-radius:1em;align-items:center;gap:1em;padding:.8em 1.2em;display:flex}.ctl-group{flex-direction:column;align-items:center;gap:.35em;display:flex}.ctl-label{font-family:var(--display);color:var(--gold);letter-spacing:.1em;font-size:.9em;font-weight:800}.ctl-keys{gap:.45em;display:flex}.ctl-sub{color:var(--muted);font-size:.75em;font-weight:700}.ctl-legs{filter:drop-shadow(.08em .1em #000);font-size:2em;animation:.8s ease-in-out infinite alternate kick}@keyframes kick{0%{transform:rotate(-18deg)}to{transform:rotate(18deg)}}.ctl-tip{color:var(--gold);text-shadow:.08em .1em 0 var(--shadow);margin:-.2em 0 0;font-weight:800}.btn-play{padding:.4em 2.2em .35em;font-size:2em}.toggle{cursor:pointer;border:.14em solid var(--ink-3);background:#1b1838cc;border-radius:.8em;outline:none;align-items:center;gap:.7em;padding:.45em .9em;display:flex}.toggle:focus-visible{border-color:var(--cream)}.toggle b{font-family:var(--display);display:block}.toggle small{color:var(--muted);font-size:.78em;display:block}.switch{background:var(--ink);border:.16em solid var(--cream);width:3em;height:1.6em;box-shadow:.15em .18em 0 var(--shadow);border-radius:1em;flex:none;position:relative}.switch:after{content:"";background:var(--muted);border-radius:50%;width:1.1em;height:1.1em;transition:left .15s,background .15s;position:absolute;top:.12em;left:.14em}.switch.on{background:var(--teal)}.switch.on:after{background:var(--cream);left:1.52em}.title-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6em;display:flex}.pad-hint{color:var(--muted);margin:0;font-size:.8em;font-weight:600}.credit{bottom:calc(.8em + var(--safe-b));right:calc(1em + var(--safe-r));color:#fff6e8b3;text-shadow:0 .1em #000;font-size:.75em;font-weight:700;position:absolute}.hud-top{top:calc(.8em + var(--safe-t));left:calc(1em + var(--safe-l));right:calc(1em + var(--safe-r));align-items:flex-start;gap:1em;display:flex;position:absolute}.panel-mini{border:.18em solid var(--cream);box-shadow:.25em .3em 0 var(--shadow);background:#1b1838e0;border-radius:.8em;min-width:7em;padding:.35em .9em}.panel-mini small{font-family:var(--display);color:var(--muted);letter-spacing:.12em;font-size:.72em;font-weight:800;display:block}.panel-mini b{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:1.9em;font-weight:800;line-height:1.05}.hud-time{text-align:right}.hud-time.warn b{color:var(--coral);animation:.6s infinite pulse}.combo{font-family:var(--display);color:var(--gold);margin-top:.1em;font-size:.85em;font-weight:800}.combo span{font-size:1.3em}.hud-center{flex-direction:column;flex:1;align-items:center;gap:.3em;display:flex}.hud-dist{font-family:var(--display);color:var(--cream);-webkit-text-stroke:.12em var(--ink);paint-order:stroke fill;text-shadow:.07em .09em 0 var(--shadow);font-weight:800;line-height:1}.hud-dist b{font-variant-numeric:tabular-nums;font-size:3.4em}.hud-dist span{color:var(--gold);margin-left:.1em;font-size:1.6em}.hud-dist.bump b{animation:.22s ease-out bump;display:inline-block}@keyframes bump{0%{color:var(--gold);transform:scale(1.18)}to{transform:scale(1)}}.progress{border:.16em solid var(--cream);width:min(34em,46vw);height:.9em;box-shadow:.18em .22em 0 var(--shadow);background:#1b1838d9;border-radius:1em;position:relative}.progress>i{background:linear-gradient(90deg, var(--coral), var(--gold));border-radius:1em;position:absolute;top:0;bottom:0;left:0}.pm{border:.1em solid var(--ink);border-radius:.2em;width:.35em;height:1.6em;margin-left:-.17em;position:absolute;top:-.45em}.pm.best{background:var(--teal)}.pm.target{background:var(--coral)}.pm.you{background:var(--cream);border:.16em solid var(--ink);border-radius:50%;width:1.2em;height:1.2em;margin-left:-.6em;top:-.3em}.hud-tags{gap:.4em;min-height:1.5em;display:flex}.pause-btn{font-size:1.1em}.hint{left:50%;top:calc(8.6em + var(--safe-t));font-family:var(--display);color:var(--gold);border:.16em solid var(--gold);background:#1b1838d9;border-radius:.8em;padding:.4em 1em;font-size:1.2em;font-weight:800;animation:1s infinite pulse;position:absolute;transform:translate(-50%)}.keys-row{left:50%;bottom:calc(1.4em + var(--safe-b));opacity:.95;align-items:center;gap:.5em;display:flex;position:absolute;transform:translate(-50%)}.keys-row i{width:1.4em}.captions{left:50%;bottom:calc(5.2em + var(--safe-b));opacity:0;text-align:center;pointer-events:none;max-width:80vw;transition:opacity .25s,transform .25s;position:absolute;transform:translate(-50%)scale(.9)}.captions.show{opacity:1;transform:translate(-50%)scale(1)}.cap-primary{font-family:var(--display);color:var(--cream);background:var(--ink);border:.14em solid var(--cream);box-shadow:.2em .25em 0 var(--coral), .35em .45em 0 var(--shadow);border-radius:.4em;padding:.2em .7em;font-size:1.8em;font-weight:800;display:inline-block;transform:rotate(-1.5deg)}.captions.urgent .cap-primary{background:var(--coral);color:var(--cream);border-color:var(--ink);box-shadow:.2em .25em 0 var(--gold), .35em .45em 0 var(--shadow);font-size:2.1em}.cap-secondary{color:var(--gold);text-shadow:.08em .1em 0 var(--shadow), 0 0 .3em var(--ink);margin-top:.55em;font-size:1.05em;font-weight:800}.captions.show .cap-primary{animation:.3s cubic-bezier(.2,1.8,.4,1) slam}@keyframes slam{0%{transform:rotate(-6deg)scale(1.5)}to{transform:rotate(-1.5deg)scale(1)}}.popups{pointer-events:none;position:absolute;inset:0;overflow:hidden}.popup{font-family:var(--display);white-space:nowrap;-webkit-text-stroke:.14em var(--ink);paint-order:stroke fill;text-shadow:.07em .09em 0 var(--shadow);font-weight:800;animation:1.05s ease-out forwards rise;position:absolute;transform:translate(-50%,-50%)}.popup.combo{color:var(--cream);font-size:1.3em}.popup.stunt{color:var(--gold);font-size:1.9em}.popup.meter{color:var(--coral);font-size:2.6em}.popup.warn{color:var(--coral);font-size:1.6em}@keyframes rise{0%{opacity:0;transform:translate(-50%,-30%)scale(.6)}15%{opacity:1;transform:translate(-50%,-60%)scale(1.15)}to{opacity:0;transform:translate(-50%,-190%)scale(1)}}.danger{opacity:0;pointer-events:none;background:radial-gradient(#0000 55%,#ff3c508c 100%);transition:opacity .12s;position:absolute;inset:0}.flash{opacity:0;pointer-events:none;position:absolute;inset:0}.flash.go{animation:.55s ease-out flash}.flash.fall{background:#fff}.flash.finish{background:var(--gold)}.flash.record{background:var(--teal)}@keyframes flash{0%{opacity:.75}to{opacity:0}}.letterbox i{background:#000;height:0;transition:height .35s;position:absolute;left:0;right:0}.letterbox i:first-child{top:0}.letterbox i:nth-child(2){bottom:0}.letterbox.on i{height:7vh}.replay-tag{top:calc(7vh + .8em);left:calc(1.2em + var(--safe-l));font-family:var(--display);letter-spacing:.15em;color:var(--cream);background:var(--coral);border:.14em solid var(--ink);box-shadow:.2em .25em 0 var(--shadow);opacity:0;border-radius:.4em;padding:.15em .6em;font-size:1.3em;font-weight:800;transition:opacity .3s;position:absolute}.letterbox.on .replay-tag{opacity:1;animation:1.2s steps(2,end) infinite blink}@keyframes blink{50%{opacity:.55}}.toast{left:50%;bottom:calc(2em + var(--safe-b));opacity:0;background:var(--cream);color:var(--ink);border:.16em solid var(--ink);box-shadow:.2em .25em 0 var(--shadow);pointer-events:none;border-radius:.7em;padding:.55em 1.1em;font-weight:800;position:absolute;transform:translate(-50%,1em)}.toast.show{animation:2.2s ease-out forwards toast}@keyframes toast{0%{opacity:0;transform:translate(-50%,1em)}10%,80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}.rotate-hint{display:none}.pause{background:#1b18388c}.pause.active{place-items:center;display:grid}.center-panel{text-align:center;flex-direction:column;align-items:stretch;gap:.8em;min-width:18em;display:flex}.results{z-index:3}.results-panel{right:calc(2.5vw + var(--safe-r));scrollbar-width:none;flex-direction:column;gap:.45em;width:min(30em,44vw);max-height:calc(100vh - 1.2em);padding:.9em 1.2em;animation:.35s cubic-bezier(.2,1.4,.4,1) slidein;display:flex;position:absolute;top:50%;overflow:auto;transform:translateY(-50%)}@keyframes slidein{0%{opacity:0;transform:translate(40%,-50%)}to{opacity:1;transform:translateY(-50%)}}.res-head{justify-content:space-between;align-items:center;gap:.6em;display:flex}.res-head.fell .heading{color:var(--coral)}.res-head.finished .heading{color:var(--gold)}.res-score{align-items:baseline;gap:.5em;display:flex}.res-score b{font-family:var(--display);-webkit-text-stroke:.08em var(--ink);paint-order:stroke fill;text-shadow:.05em .06em 0 var(--shadow);font-variant-numeric:tabular-nums;font-size:3.4em;font-weight:800;line-height:1}.new-best{font-family:var(--display);color:var(--ink);background:var(--gold);border:.14em solid var(--ink);box-shadow:.15em .2em 0 var(--shadow);border-radius:.4em;padding:.15em .55em;font-weight:800;animation:.8s infinite pulse;transform:rotate(-4deg)}.res-best{color:var(--muted);margin-top:-.4em;font-size:.9em;font-weight:700}.res-rows{gap:.25em;display:grid}.res-rows div{background:#ffffff0f;border-radius:.5em;grid-template-columns:1fr auto 4em;gap:.6em;padding:.2em .6em;font-weight:700;display:grid}.res-rows b{font-family:var(--display)}.res-rows em{color:var(--gold);text-align:right;font-style:normal;font-weight:800}.challenge-res{color:var(--coral);font-weight:800}.challenge-res.win{color:#9be564}.online-line{align-items:center;gap:.5em;font-weight:700;display:flex}.online-line.warn{color:var(--coral)}.spinner{border:.18em solid var(--muted);border-top-color:#0000;border-radius:50%;width:1em;height:1em;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.rank-grid{grid-template-columns:1fr 1fr;gap:.5em;display:grid}.rank-card{background:var(--ink);border:.14em solid var(--gold);box-shadow:.15em .2em 0 var(--shadow);border-radius:.7em;padding:.35em .6em}.rank-card.today{border-color:var(--teal)}.rank-card small{color:var(--muted);letter-spacing:.1em;font-size:.75em;font-weight:800;display:block}.rank-card b{font-family:var(--display);color:var(--gold);font-size:1.7em}.rank-card.today b{color:var(--teal)}.rank-card span{color:var(--muted);font-size:.72em;font-weight:700;display:block}.beat-bar{background:var(--ink);border:.14em solid var(--cream);border-radius:.6em;height:1.7em;margin-top:.4em;position:relative;overflow:hidden}.beat-bar i{background:linear-gradient(90deg, var(--teal), #9be564);animation:.9s ease-out grow;position:absolute;inset:0 auto 0 0}@keyframes grow{0%{width:0}}.beat-bar span{text-align:center;text-shadow:0 .1em #000;font-weight:800;line-height:1.5em;display:block;position:relative}.res-name{grid-template-columns:auto 1fr auto;align-items:center;gap:.5em;display:grid}.res-name label{color:var(--muted);font-size:.9em;font-weight:800}.res-name input,.share-url{font:inherit;color:var(--ink);background:var(--cream);border:.14em solid var(--ink);-webkit-user-select:text;user-select:text;border-radius:.5em;min-width:0;padding:.4em .6em;font-weight:700}.again{padding-top:.3em;padding-bottom:.3em;font-size:1.45em}.res-actions{flex-wrap:wrap;justify-content:center;gap:.5em;display:flex}.res-actions .btn{white-space:nowrap;flex:1;padding:.5em .6em;font-size:.82em}.res-tip{color:var(--muted);text-align:center;margin:0;font-size:.82em;font-weight:700}.modal{background:#0a081e99;place-items:center;display:grid;position:absolute;inset:0}.modal-panel{scrollbar-width:thin;flex-direction:column;gap:.7em;width:min(34em,92vw);max-height:calc(100vh - 2em);display:flex;overflow:auto}.modal[data-kind=share] .modal-panel{width:min(46em,94vw)}.tabs{gap:.4em;display:flex}.tabs.small .tab{font-size:.85em}.tab{font-family:var(--display);cursor:pointer;color:var(--cream);background:var(--ink);border:.14em solid var(--ink-3);border-radius:.6em;flex:1;padding:.45em;font-size:1em;font-weight:800}.tab.on{background:var(--gold);color:var(--ink);border-color:var(--ink);box-shadow:.15em .2em 0 var(--shadow)}.board-list{flex-direction:column;gap:.25em;min-height:10em;display:flex}.board-meta{color:var(--muted);text-align:right;font-size:.8em;font-weight:700}.row{background:#ffffff0f;border-radius:.5em;grid-template-columns:3em 1fr auto;align-items:center;gap:.5em;padding:.35em .7em;font-weight:700;display:grid}.row:nth-child(2){background:#ffd35c33}.row.me{border:.12em solid var(--teal);background:#2ec4b64d}.row.mine{text-align:center;display:block}.row .rk{font-family:var(--display);font-weight:800}.row .nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row em{background:var(--teal);color:var(--ink);border-radius:.3em;padding:.05em .4em;font-size:.75em;font-style:normal}.row b{font-family:var(--display);font-variant-numeric:tabular-nums}.set-row{grid-template-columns:1fr auto;align-items:center;gap:1em;font-weight:700;display:grid}.seg{border:.14em solid var(--cream);border-radius:.6em;display:flex;overflow:hidden}.seg button{font:inherit;cursor:pointer;background:var(--ink);color:var(--cream);border:0;padding:.35em .8em;font-weight:800}.seg button.on{background:var(--gold);color:var(--ink)}input[type=range]{width:12em;accent-color:var(--gold)}.card-preview{border:.16em solid var(--cream);width:100%;box-shadow:.25em .3em 0 var(--shadow);border-radius:.6em}.share-url{width:100%;font-size:.85em}.touch{padding:0 calc(1em + var(--safe-r)) calc(1em + var(--safe-b)) calc(1em + var(--safe-l));pointer-events:none;justify-content:space-between;display:none;position:absolute;inset:auto 0 0}.touch-pair{gap:.8em;display:flex}.touch button{width:5.4em;height:5.4em;font-family:var(--display);color:var(--ink);border:.2em solid var(--ink);box-shadow:0 .35em 0 var(--ink), .25em .55em 0 #00000080;touch-action:none;opacity:.92;background:linear-gradient(#fff,#e5e0ff);border-radius:1.1em;flex-direction:column;justify-content:center;align-items:center;font-size:1.1em;font-weight:800;line-height:1;display:flex}.touch button small{margin-top:.3em;font-size:.55em}.touch button[data-touch=o],.touch button[data-touch=p]{background:linear-gradient(180deg, #8ff5ea, var(--teal))}.touch button.on{box-shadow:0 .05em 0 var(--ink);background:linear-gradient(180deg, #fff3b0, var(--gold));transform:translateY(.3em)}@media (pointer:coarse){.touch.active{display:flex}.touch.active~*{pointer-events:none}#ui[data-screen=hud] .keys-row,.pad-hint{display:none}}@media (max-height:500px){#ui{font-size:clamp(10px,2.6vh,14px)}.logo-cn{font-size:3.6em}.logo-en{font-size:1.5em}.title-main{gap:.5em;width:min(40em,60vw)}.controls-card{padding:.5em .9em}.keycap.big{width:2.5em;height:2.5em}.btn-play{font-size:1.6em}.results-panel{gap:.4em;width:min(30em,56vw);padding:.8em 1em}.res-score b{font-size:3em}.captions{bottom:calc(7.5em + var(--safe-b))}.touch button{width:4.8em;height:4.8em}}@media (orientation:portrait) and (pointer:coarse){.rotate-hint{background:var(--ink);font-family:var(--display);text-align:center;pointer-events:auto;z-index:10;place-items:center;padding:2em;font-size:1.4em;font-weight:800;display:grid;position:absolute;inset:0}.rotate-hint:before{content:"⟳";color:var(--gold);font-size:3em;display:block}}@media (prefers-reduced-motion:reduce){.logo,.challenge-banner,.ctl-legs{animation:none}}
