@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:#120828;--ink-2:#1f1045;--ink-3:#35206e;--cream:#fff7e8;--gold:#ffd35c;--gold-2:#ffa62b;--pink:#ff4fa3;--pink-2:#d61f7c;--cyan:#39e6ff;--cyan-2:#0fa3c9;--violet:#8a5cff;--red:#e8203f;--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)}*{box-sizing:border-box}html,body{height:100%;color:var(--cream);font-family:var(--body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:none;background:#07041a;margin:0;overflow:hidden}#game{cursor:crosshair;width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;z-index:2;position:fixed;inset:0}button{font:inherit;color:inherit}kbd{font-family:var(--display);vertical-align:middle;letter-spacing:0;background:#12082859;border:2px solid #1208288c;border-radius:.35em;margin-left:.6em;padding:.18em .5em;font-size:.62em;font-weight:800;display:inline-block}.outlined{font-family:var(--display);color:var(--cream);-webkit-text-stroke:.09em var(--ink);paint-order:stroke fill;text-shadow:.06em .08em 0 var(--ink);font-weight:900}.muted{opacity:.7}.screen{pointer-events:none;display:none;position:absolute;inset:0}.screen.is-active{display:block}.screen.is-active>*{pointer-events:auto}.screen.is-under{filter:blur(1px)brightness(.7)}.screen.is-under>*,.screen.hud.is-active>*{pointer-events:none}.screen.hud.is-active .pause-btn,.screen.hud.is-active .touch>*{pointer-events:auto}.btn{min-height:2.9em;font-family:var(--display);font-weight:800;font-size:clamp(14px, calc(var(--u) * 1.55), 19px);letter-spacing:.02em;color:var(--cream);border:3px solid var(--ink);box-shadow:inset 0 2px 0 #ffffff40, inset 0 -4px 0 #00000040, 4px 5px 0 var(--ink);cursor:pointer;white-space:nowrap;background:linear-gradient(#4a2d93 0%,#2b1760 100%);border-radius:14px;outline:none;justify-content:center;align-items:center;gap:.5em;padding:.55em 1.3em;transition:transform 80ms,box-shadow 80ms,filter .12s;display:inline-flex;position:relative}.btn svg{width:1.2em;height:1.2em}.btn:hover,.btn:focus-visible{filter:brightness(1.18);box-shadow:inset 0 2px 0 #ffffff40, inset 0 -4px 0 #00000040, 6px 7px 0 var(--ink), 0 0 0 3px var(--cyan);transform:translate(-1px,-2px)}.btn:active{box-shadow:inset 0 2px 0 #fff3, 1px 1px 0 var(--ink);transform:translate(3px,4px)}.btn-primary{color:var(--ink);background:linear-gradient(180deg, #ffe88a 0%, var(--gold) 45%, var(--gold-2) 100%);font-size:clamp(17px, calc(var(--u) * 2.2), 26px);min-height:3em;padding:.55em 1.8em}.btn-primary kbd{background:#ffffff59;border-color:#12082866}.btn-small{font-size:clamp(12px, calc(var(--u) * 1.3), 16px);min-height:2.6em;padding:.4em 1em}.btn-icon{width:3em;height:3em;min-height:0;padding:0;font-size:14px}.boot{background:radial-gradient(at 50% 40%,#2c1466 0%,#07041a 70%);display:none}.boot.is-active{flex-direction:column;justify-content:center;align-items:center;gap:24px;display:flex}.boot-logo{color:var(--gold);flex-direction:column;align-items:center;font-size:clamp(40px,8vw,88px);line-height:1;display:flex}.boot-logo small{color:var(--cyan);letter-spacing:.2em;margin-top:.3em;font-size:.4em}.boot-bar{border:3px solid var(--ink);background:var(--ink-2);width:min(360px,70vw);height:16px;box-shadow:4px 4px 0 var(--ink);border-radius:10px;overflow:hidden}.boot-bar i{background:linear-gradient(90deg, var(--pink), var(--gold));transform-origin:0;height:100%;transition:transform .25s;display:block;transform:scaleX(.04)}.boot p{opacity:.8;margin:0;font-weight:700}.title.is-active{padding:calc(3vh + var(--safe-t)) calc(4vw + var(--safe-r)) calc(3vh + var(--safe-b)) calc(4vw + var(--safe-l));background:linear-gradient(90deg,#07041ad1 0%,#07041a59 55%,#07041a00 100%);justify-content:space-between;align-items:center;gap:3vw;display:flex}.title-main{flex-direction:column;align-items:flex-start;gap:clamp(8px,1.8vh,18px);max-width:640px;display:flex}.logo{transform-origin:0;flex-direction:column;margin:0;line-height:.95;display:flex;position:relative;transform:rotate(-3deg)}.logo-pins{gap:2px;font-size:clamp(30px,5vw,64px);display:flex;position:absolute;top:-.2em;right:-.5em;transform:rotate(8deg)}.logo-pins svg{width:.5em;height:1em;filter:drop-shadow(3px 3px 0 var(--ink))}.logo-pins svg:nth-child(2){transform:translateY(-.2em)rotate(-14deg)}.logo-pins svg:nth-child(3){transform:rotate(18deg)translateY(.1em)}.logo-cn{font-size:clamp(54px, calc(var(--u) * 10), 120px);color:var(--gold);letter-spacing:.04em;-webkit-text-stroke-width:.075em;text-shadow:.05em .07em 0 var(--ink), 0 0 .35em #ff4fa3bf}.logo-en{font-size:clamp(26px, calc(var(--u) * 4.6), 56px);color:var(--cyan);letter-spacing:.12em;text-shadow:.05em .07em 0 var(--ink), 0 0 .4em #39e6ffb3;margin-top:.12em}.tagline{font-weight:800;font-size:clamp(14px, calc(var(--u) * 1.7), 21px);color:#e9defc;text-shadow:2px 2px 0 var(--ink);margin:0}.challenge-chip{font-family:var(--display);font-weight:900;font-size:clamp(15px, calc(var(--u) * 1.9), 22px);color:var(--ink);background:linear-gradient(90deg, var(--pink), #ff8fc8);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:12px;padding:.35em .9em;animation:1.6s ease-in-out infinite wiggle;transform:rotate(-1.5deg)}.challenge-chip[hidden]{display:none}@keyframes wiggle{50%{transform:rotate(1deg)scale(1.03)}}.btn-play{animation:1.3s ease-in-out infinite pulse}@keyframes pulse{50%{transform:scale(1.05)}}.how{grid-template-columns:repeat(4,auto);gap:8px;display:grid}.how-step{border:2px solid var(--ink-3);font-size:clamp(11px, calc(var(--u) * 1.25), 15px);background:#120828b8;border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px 9px 34px;font-weight:800;display:flex;position:relative}.how-step b{background:var(--pink);width:20px;height:20px;color:var(--ink);font-family:var(--display);border:2px solid var(--ink);border-radius:50%;place-items:center;font-size:12px;display:grid;position:absolute;top:9px;left:8px}.how-step em{color:var(--gold);font-style:normal;font-family:var(--display);font-size:.92em}.title-row{flex-wrap:wrap;gap:10px;display:flex}.title-side{flex-direction:column;align-self:flex-end;gap:10px;width:min(300px,30vw);display:flex}.title-meta{font-weight:800;font-size:clamp(12px, calc(var(--u) * 1.35), 16px);text-align:right;text-shadow:2px 2px 0 var(--ink);flex-direction:column;gap:4px;display:flex}.title-meta .pb{color:var(--gold)}.mini-board,.panel{border:3px solid var(--ink);outline:2px solid var(--ink-3);box-shadow:5px 6px 0 var(--ink);background:#120828d1;border-radius:16px;padding:12px 14px}.mini-board h3{font-family:var(--display);color:var(--cyan);letter-spacing:.05em;margin:0 0 6px;font-size:15px}.mini-board ol,.board-list{margin:0;padding:0;list-style:none}.mini-board li,.board-list li{border-bottom:1px dashed #ffffff1f;grid-template-columns:2em 1fr auto;align-items:center;gap:8px;padding:5px 4px;font-size:14px;font-weight:800;display:grid}.mini-board li.muted,.board-list li.muted{text-align:center;border:0;padding:10px 0;display:block}.mini-board li em,.board-list li em{font-style:normal;font-family:var(--display);color:var(--pink)}.mini-board li span,.board-list li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mini-board li b,.board-list li b{font-family:var(--display);color:var(--gold)}.mini-board li.me,.board-list li.me{background:#39e6ff24;border-radius:6px}.hud-top{top:calc(10px + var(--safe-t));align-items:flex-start;gap:10px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.pause-btn{top:calc(10px + var(--safe-t));right:calc(12px + var(--safe-r));position:fixed}.card{--cell:clamp(44px, calc(var(--u) * 6.4), 76px);background:var(--cream);color:var(--ink);border:3px solid var(--ink);box-shadow:5px 6px 0 var(--ink), 0 0 26px #ff4fa359;border-radius:12px;overflow:hidden}.card-frames{display:flex}.cf{width:var(--cell);height:calc(var(--cell) * 1.02);border-right:2px solid var(--ink);flex-direction:column;transition:background .2s;display:flex;position:relative}.cf[data-f="4"]{width:calc(var(--cell) * 1.32)}.cf.is-current{background:#ffe7a3}.cf-n{font-family:var(--display);font-weight:800;font-size:calc(var(--cell) * .19);opacity:.6;position:absolute;top:1px;left:4px}.cf-rolls{justify-content:flex-end;height:44%;display:flex}.cf-rolls i{width:calc(var(--cell) * .42);border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);font-style:normal;font-family:var(--display);font-weight:900;font-size:calc(var(--cell) * .26);place-items:center;display:grid}.cf-rolls i.x{color:var(--red)}.cf-rolls i.sp{color:#1b7bd6}.cf-t{font-family:var(--display);font-weight:900;font-size:calc(var(--cell) * .36);flex:1;place-items:center;display:grid}.cf-total{width:calc(var(--cell) * 1.25);background:var(--ink-2);color:var(--gold);border-right:0}.cf-total .cf-n{color:var(--cream);opacity:.8;font-size:calc(var(--cell) * .17)}.cf-total .cf-t{font-size:calc(var(--cell) * .46);padding-top:8px}.hud-left{left:calc(14px + var(--safe-l));top:calc(12px + var(--safe-t));flex-direction:column;gap:4px;display:flex;position:absolute}.hud-frame{font-size:clamp(18px, calc(var(--u) * 2.6), 32px);color:var(--gold)}.hud-ball{font-weight:800;font-size:clamp(12px, calc(var(--u) * 1.4), 17px);text-shadow:2px 2px 0 var(--ink)}.hud-cond{flex-direction:column;gap:3px;margin-top:4px;display:flex}.hud-cond span{border:2px solid var(--ink-3);width:-moz-fit-content;width:fit-content;font-size:clamp(11px, calc(var(--u) * 1.2), 14px);color:var(--cyan);background:#120828bf;border-radius:8px;padding:2px 9px;font-weight:800;display:inline-block}.hud-cond i{color:var(--pink);letter-spacing:-.1em;font-style:normal;display:inline-block}.hud-cond i.flip{transform:scaleX(-1)}.hud-right{right:calc(14px + var(--safe-r));top:calc(66px + var(--safe-t));flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute}.hud-stat{border:2px solid var(--ink-3);font-weight:800;font-size:clamp(11px, calc(var(--u) * 1.2), 14px);background:#120828bf;border-radius:10px;align-items:baseline;gap:8px;padding:3px 10px;display:flex}.hud-stat b{font-family:var(--display);color:var(--gold);font-size:1.35em}.hud-stat[hidden]{display:none}.hud-target{border-color:var(--pink)}.hud-target b{color:var(--pink)}.hud-combo{left:50%;top:calc(var(--safe-t) + clamp(64px, calc(var(--u) * 9), 104px));font-size:clamp(16px, calc(var(--u) * 2.2), 28px);color:var(--pink);white-space:nowrap;animation:.8s ease-in-out infinite pulse;position:absolute;transform:translate(-50%)rotate(-2deg)}.hud-combo[hidden]{display:none}.banner{opacity:0;pointer-events:none;white-space:nowrap;flex-direction:column;align-items:center;gap:6px;transition:opacity .25s,transform .25s;display:flex;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)scale(.4)}.banner.is-on{opacity:1;animation:.5s cubic-bezier(.2,1.8,.4,1) bannerIn;transform:translate(-50%,-50%)scale(1)}@keyframes bannerIn{0%{opacity:0;transform:translate(-50%,-50%)scale(2.6)rotate(-6deg)}to{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}}.banner-big{font-size:clamp(40px, calc(var(--u) * 8), 110px);color:var(--cream);letter-spacing:.02em}.banner-sub{font-family:var(--display);font-weight:800;font-size:clamp(15px, calc(var(--u) * 2), 26px);background:var(--ink);color:var(--cyan);border-radius:10px;padding:.2em .8em}.banner-sub:empty{display:none}.banner.is-strike .banner-big{font-size:clamp(64px, calc(var(--u) * 13), 170px);color:var(--gold);text-shadow:.05em .07em 0 var(--ink), 0 0 .3em var(--pink), 0 0 .8em var(--pink);animation:.35s ease-in-out infinite alternate strikeGlow}@keyframes strikeGlow{to{color:#fff3b0}}.banner.is-strike .banner-sub{color:var(--gold);background:var(--pink-2);border:3px solid var(--ink)}.banner.is-spare .banner-big{font-size:clamp(54px, calc(var(--u) * 11), 140px);color:var(--cyan);text-shadow:.05em .07em 0 var(--ink), 0 0 .4em var(--cyan)}.banner.is-gutter .banner-big{color:#b6a8d8}.banner.is-split .banner-sub,.banner.is-near .banner-sub{color:var(--ink);background:var(--gold);border:3px solid var(--ink)}.banner.is-best .banner-big,.banner.is-target .banner-big{color:var(--pink)}.banner.is-frame{top:30%}.banner.is-frame .banner-big{font-size:clamp(30px, calc(var(--u) * 5), 64px);color:var(--cyan)}.popups{pointer-events:none;position:absolute;inset:0}.popup{font-size:clamp(22px, calc(var(--u) * 3.6), 44px);white-space:nowrap;animation:1.3s ease-out forwards popUp;position:absolute;top:52%}.popup.tone-gold{color:var(--gold)}.popup.tone-cyan{color:var(--cyan)}.popup.tone-pink{color:var(--pink)}@keyframes popUp{0%{opacity:0;transform:translate(-50%,20px)scale(.5)}15%{opacity:1;transform:translate(-50%)scale(1.2)}to{opacity:0;transform:translate(-50%,-90px)scale(1)}}.meter{left:50%;bottom:calc(64px + var(--safe-b));border:3px solid var(--ink);outline:2px solid var(--ink-3);box-shadow:5px 6px 0 var(--ink);background:#120828d9;border-radius:14px;flex-direction:column;gap:8px;width:min(460px,60vw);padding:10px 16px;display:flex;position:absolute;transform:translate(-50%)}.meter[hidden]{display:none}.meter-row{font-family:var(--display);grid-template-columns:4.2em 1fr auto;align-items:center;gap:10px;font-size:13px;font-weight:800;display:grid}.meter-bar,.spin-bar{border:2px solid var(--ink);background:#2a1a57;border-radius:9px;height:18px;position:relative;overflow:hidden}.meter-bar{grid-column:2/4}.meter-fill{background:linear-gradient(90deg, var(--cyan) 0%, var(--gold) 60%, var(--pink) 100%);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.meter-sweet{border-left:2px dashed var(--cream);z-index:1;background:repeating-linear-gradient(45deg,#ffffff2e 0 6px,#0000 6px 12px);position:absolute;inset:0 0 0 82%}.meter.is-max .meter-bar{box-shadow:0 0 14px var(--pink)}.spin-mid{background:var(--cream);z-index:1;width:2px;position:absolute;top:-2px;bottom:-2px;left:50%}.spin-fill{background:linear-gradient(90deg, var(--violet), var(--cyan));width:0;position:absolute;top:0;bottom:0;left:50%}.spin-label{text-align:right;min-width:5.5em;color:var(--cyan);font-style:normal}.hint{left:50%;bottom:calc(14px + var(--safe-b));border:2px solid var(--ink-3);font-weight:800;font-size:clamp(12px, calc(var(--u) * 1.35), 16px);white-space:nowrap;text-overflow:ellipsis;background:#120828c7;border-radius:12px;max-width:94vw;padding:7px 16px;position:absolute;overflow:hidden;transform:translate(-50%)}.hint:empty{display:none}.hint.is-hot{color:var(--ink);background:var(--gold);border-color:var(--ink);animation:.6s ease-in-out infinite pulse}.touch{display:none}body.has-touch #ui[data-phase=aim] .touch,body.has-touch #ui[data-phase=charge] .touch{display:block}.touch-btn{bottom:calc(20px + var(--safe-b));border:3px solid var(--ink);width:70px;height:70px;box-shadow:4px 5px 0 var(--ink);color:var(--gold);touch-action:none;background:linear-gradient(#5a39a8,#2b1760);border-radius:50%;font-size:26px;position:absolute}.touch-btn[data-move="-1"]{left:calc(18px + var(--safe-l))}.touch-btn[data-move="1"]{left:calc(102px + var(--safe-l))}.touch-btn.is-down{box-shadow:1px 1px 0 var(--ink);transform:translate(3px,4px)}.touch-throw{right:calc(22px + var(--safe-r));bottom:calc(20px + var(--safe-b));border:4px solid var(--ink);background:radial-gradient(circle at 35% 30%, #ffe88a, var(--gold) 45%, var(--gold-2));width:104px;height:104px;box-shadow:5px 6px 0 var(--ink);color:var(--ink);font-family:var(--display);touch-action:none;border-radius:50%;font-size:18px;font-weight:900;position:absolute}.touch-throw.is-down{box-shadow:1px 1px 0 var(--ink);background:radial-gradient(circle at 35% 30%, #ffb3d9, var(--pink) 55%, var(--pink-2));transform:translate(3px,4px)scale(.96)}body.has-touch .hint{bottom:calc(100px + var(--safe-b))}body.has-touch .meter{bottom:calc(140px + var(--safe-b))}.modal-screen.is-active{padding:calc(12px + var(--safe-t)) 12px calc(12px + var(--safe-b));background:#07041a8c;place-items:center;display:grid}.modal{border:4px solid var(--ink);outline:3px solid var(--pink);outline-offset:-9px;min-width:min(360px,92vw);max-width:92vw;max-height:calc(100vh - 24px);box-shadow:8px 10px 0 var(--ink);background:linear-gradient(#2b1760 0%,#1a0d3f 100%);border-radius:22px;flex-direction:column;gap:12px;padding:20px 24px 24px;animation:.25s cubic-bezier(.2,1.5,.4,1) modalIn;display:flex;overflow:auto}@keyframes modalIn{0%{opacity:0;transform:scale(.8)rotate(-2deg)}}.modal-wide{width:min(520px,94vw)}.modal-title{text-align:center;font-family:var(--display);font-weight:900;font-size:clamp(24px, calc(var(--u) * 3.4), 38px);color:var(--gold);-webkit-text-stroke:.08em var(--ink);paint-order:stroke fill;text-shadow:.05em .07em 0 var(--ink);margin:0 0 4px}.field{justify-content:space-between;align-items:center;gap:14px;font-weight:800;display:flex}.seg{border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:12px;display:inline-flex;overflow:hidden}.seg button{cursor:pointer;background:#3b2380;border:0;outline:none;padding:7px 13px;font-weight:800}.seg button+button{border-left:2px solid var(--ink)}.seg button.is-on{background:var(--gold);color:var(--ink)}.seg button:focus-visible{box-shadow:inset 0 0 0 3px var(--cyan)}.tabs{align-self:center}.toggle{border:3px solid var(--ink);cursor:pointer;background:#3b2380;border-radius:16px;outline:none;width:58px;height:30px;position:relative}.toggle:after{content:"";background:var(--cream);border-radius:50%;width:18px;height:18px;transition:left .15s;position:absolute;top:3px;left:3px}.toggle.is-on{background:var(--pink)}.toggle.is-on:after{left:31px}.toggle:focus-visible{box-shadow:0 0 0 3px var(--cyan)}input[type=range]{width:170px;accent-color:var(--gold)}.board-meta{text-align:center;opacity:.85;min-height:1em;font-size:13px;font-weight:700}.board-list{min-height:120px;max-height:48vh;overflow:auto}.board-list li{padding:7px 6px;font-size:15px}.board-list li.top1 em{color:var(--gold)}.board-list li.top2 em{color:#dfe6ff}.board-list li.top3 em{color:#ff9f5a}.board-list small{background:var(--cyan);color:var(--ink);border-radius:6px;margin-left:4px;padding:1px 6px;font-size:11px}.results.is-active{padding:calc(8px + var(--safe-t)) 10px calc(8px + var(--safe-b));background:radial-gradient(at 50% 30%,#2a0f5c80,#07041acc);place-items:center;display:grid;overflow:auto}.results-panel{border:4px solid var(--ink);outline:3px solid var(--cyan);outline-offset:-10px;width:min(720px,96vw);box-shadow:10px 12px 0 var(--ink);background:linear-gradient(#2b1760f5 0%,#1a0d3ff5 100%);border-radius:26px;flex-direction:column;align-items:center;gap:clamp(6px,1.4vh,14px);padding:clamp(12px,2.4vh,24px) clamp(14px,3vw,30px);animation:.35s cubic-bezier(.2,1.5,.4,1) modalIn;display:flex}.res-head{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.res-label{font-family:var(--display);color:var(--cyan);font-weight:800;font-size:clamp(14px, calc(var(--u) * 1.8), 20px)}.res-score{font-size:clamp(56px, calc(var(--u) * 10), 110px);color:var(--gold);text-shadow:.05em .07em 0 var(--ink), 0 0 .35em #ff4fa3cc;line-height:1}.res-badge{font-family:var(--display);color:var(--ink);background:var(--pink);border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:10px;padding:3px 10px;font-weight:900;animation:.9s ease-in-out infinite pulse;transform:rotate(-4deg)}.res-badge[hidden]{display:none}.res-best{opacity:.85;font-weight:800}.res-card .card{--cell:clamp(46px, calc(var(--u) * 7), 80px)}.res-stats{gap:10px;display:flex}.res-stats div{border:2px solid var(--ink-3);background:#12082899;border-radius:12px;flex-direction:column;align-items:center;min-width:80px;padding:4px 12px;display:flex}.res-stats b{font-family:var(--display);color:var(--gold);font-size:22px}.res-stats span{opacity:.8;font-size:12px;font-weight:800}.res-target{font-family:var(--display);background:var(--ink);color:#ff9fce;border-radius:10px;padding:4px 14px;font-weight:900}.res-target.is-win{background:var(--pink);color:var(--ink);border:3px solid var(--ink)}.res-target[hidden]{display:none}.res-rank{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;min-height:2.2em;font-weight:800;display:flex}.rank-big{align-items:center;gap:8px;display:flex}.rank-big b{color:var(--cyan);font-size:34px}.rank-pct{font-size:clamp(18px, calc(var(--u) * 2.4), 28px);color:var(--pink)}.rank-all{opacity:.85;font-size:14px}.res-name{align-items:flex-end;gap:8px;display:flex}.res-name label{color:var(--cyan);flex-direction:column;gap:3px;font-size:12px;font-weight:800;display:flex}.res-name input{width:min(220px,50vw);font:inherit;color:var(--ink);background:var(--cream);border:3px solid var(--ink);-webkit-user-select:text;user-select:text;border-radius:10px;outline:none;padding:8px 12px;font-size:16px;font-weight:800}.res-name input:focus{box-shadow:0 0 0 3px var(--cyan)}.res-name.is-needed input{box-shadow:0 0 0 3px var(--pink);animation:1.2s ease-in-out infinite pulse}.res-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.res-hint{opacity:.7;margin:0;font-size:12px;font-weight:700}.modal-share{align-items:center}.share-img img{border:3px solid var(--ink);width:auto;height:min(52vh,480px);box-shadow:5px 6px 0 var(--ink);border-radius:14px;display:block}.share-link{width:min(460px,84vw);font:inherit;color:var(--ink);background:var(--cream);border:2px solid var(--ink);-webkit-user-select:text;user-select:text;border-radius:8px;padding:6px 10px;font-size:12px}.share-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.share-actions [hidden]{display:none}.toast{left:50%;bottom:calc(24px + var(--safe-b));opacity:0;background:var(--cyan);color:var(--ink);font-family:var(--display);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);pointer-events:none;z-index:5;border-radius:12px;padding:10px 18px;font-weight:900;transition:opacity .2s,transform .2s;position:fixed;transform:translate(-50%,30px)}.toast.is-on{opacity:1;transform:translate(-50%)}.fatal{pointer-events:auto;place-items:center;font-weight:800;display:grid;position:fixed;inset:0}@media (max-height:520px){.title.is-active{padding-top:calc(10px + var(--safe-t));padding-bottom:calc(10px + var(--safe-b))}.logo-cn{font-size:clamp(38px,11vh,64px)}.logo-en{font-size:clamp(18px,5.5vh,30px)}.how{grid-template-columns:repeat(2,auto);gap:5px}.how-step{padding:4px 8px 5px 30px}.how-step b{top:5px}.title-main{gap:7px}.mini-board li{padding:2px 4px;font-size:12px}.card{--cell:42px}.res-card .card{--cell:40px}.hud-right{top:calc(56px + var(--safe-t))}.banner{top:42%}.results-panel{gap:5px;padding:8px 14px}.res-score{font-size:48px}.res-hint{display:none}.btn{min-height:2.4em;padding:.35em .9em}.btn-primary{min-height:2.5em}.share-img img{height:50vh}.touch-btn{width:60px;height:60px}.touch-btn[data-move="1"]{left:calc(90px + var(--safe-l))}.touch-throw{width:88px;height:88px}body.has-touch .hint{bottom:calc(12px + var(--safe-b));white-space:normal;text-align:center;max-width:50vw}body.has-touch .meter{bottom:calc(60px + var(--safe-b));width:min(360px,48vw)}.modal{gap:8px;padding:12px 16px 14px}}@media (max-width:760px){.title-side,.hud-cond{display:none}}@media (prefers-reduced-motion:reduce){.btn-play,.challenge-chip,.hud-combo{animation:none}}
