@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:#140f2e;--ink-2:#221a4a;--ink-3:#352a6e;--cream:#fff7e8;--gold:#ffd35c;--gold-2:#ffa51f;--pink:#ff4fd8;--cyan:#39e6ff;--red:#ff3b5c;--green:#6bff8f;--display:"Sora", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--body:"Figtree", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", 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.9vh)}*{box-sizing:border-box}html,body{height:100%;color:var(--cream);font-family:var(--body);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;overscroll-behavior:none;background:#07061a;margin:0;overflow:hidden}#game{width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}button,input{font:inherit}[hidden]{display:none!important}.stroke,.logo span,.hud .value,.drift-value,.drift-mult,.res-score,.pop,.toast{font-family:var(--display);paint-order:stroke fill;-webkit-text-stroke:.16em var(--ink);text-shadow:.07em .09em 0 var(--ink);letter-spacing:.01em;font-style:italic;font-weight:800}.label{font-family:var(--display);font-weight:800;font-size:calc(var(--u) * 1.35);letter-spacing:.14em;color:var(--cyan);text-transform:uppercase;text-shadow:0 2px 0 var(--ink)}.panel{pointer-events:auto;border:4px solid var(--ink);outline:3px solid var(--gold);outline-offset:-9px;box-shadow:0 10px 0 var(--ink), 0 22px 60px #0000008c;padding:calc(var(--u) * 3) calc(var(--u) * 3.4);gap:calc(var(--u) * 1.4);background:linear-gradient(#281e58f5,#140f2ef7);border-radius:22px;flex-direction:column;align-items:stretch;max-height:calc(100vh - 24px);display:flex;overflow:auto}.btn{pointer-events:auto;cursor:pointer;font-family:var(--display);font-weight:800;font-size:calc(var(--u) * 1.7);letter-spacing:.04em;text-transform:uppercase;color:var(--cream);text-align:center;border:3px solid var(--ink);padding:calc(var(--u) * 1.05) calc(var(--u) * 2.2);box-shadow:inset 0 3px 0 #ffffff40, inset 0 -4px 0 #00000040, 0 6px 0 var(--ink);text-shadow:0 2px 0 var(--ink);background:linear-gradient(#4b3d99 0%,#342a73 55%,#2a2160 100%);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;text-decoration:none;transition:transform 80ms,box-shadow 80ms,filter .12s;display:inline-flex;position:relative}.btn:hover{filter:brightness(1.15);box-shadow:inset 0 3px 0 #ffffff40, inset 0 -4px 0 #00000040, 0 8px 0 var(--ink);transform:translateY(-2px)}.btn:active{box-shadow:inset 0 3px 0 #fff3, inset 0 -2px 0 #00000040, 0 1px 0 var(--ink);transform:translateY(5px)}.btn.primary{color:var(--ink);text-shadow:0 1px #ffffff80;background:linear-gradient(180deg, #ffe48a 0%, var(--gold) 45%, var(--gold-2) 100%)}.btn.ghost{box-shadow:0 4px 0 var(--ink);background:#140f2e99}.btn.small{font-size:calc(var(--u) * 1.35);padding:calc(var(--u) * .7) calc(var(--u) * 1.4)}.btn small{letter-spacing:.12em;opacity:.75;font-size:.55em;font-weight:700}.btn.big{font-size:calc(var(--u) * 2.4)}.note{text-align:center;min-height:1.2em;color:var(--green);margin:0;font-weight:700}.note.flash{animation:1.6s ease-out flash}@keyframes flash{0%{transform:scale(1.3)}20%{transform:scale(1)}}.screen{display:none;position:absolute;inset:0}.screen.on{display:flex}.boot{background:radial-gradient(circle at 50% 40%,#2d1a5c,#07061a 70%);flex-direction:column;justify-content:center;align-items:center;gap:18px}.boot .bar{border:3px solid var(--ink);background:var(--ink-2);width:min(420px,60vw);height:16px;box-shadow:0 4px 0 var(--ink);border-radius:10px;overflow:hidden}.boot .bar i{background:linear-gradient(90deg, var(--pink), var(--gold));width:10%;height:100%;transition:width .2s;display:block}.boot p{opacity:.8;font-weight:700}.logo{transform-origin:0;flex-direction:column;line-height:.92;display:flex;transform:skew(-8deg)rotate(-3deg)}.logo .zh{font-size:calc(var(--u) * 9.6);color:var(--gold);-webkit-text-stroke:.12em var(--ink);text-shadow:.05em .07em 0 var(--pink), .09em .12em 0 var(--ink)}.logo .en{font-size:calc(var(--u) * 4.4);color:var(--cream);letter-spacing:.08em;text-shadow:.05em .07em 0 var(--cyan), .08em .11em 0 var(--ink);margin-left:.3em}.logo.small span{font-size:calc(var(--u) * 6);color:var(--gold)}.title{padding:calc(var(--u) * 3.5 + var(--safe-t)) calc(var(--u) * 4 + var(--safe-r)) calc(var(--u) * 3 + var(--safe-b)) calc(var(--u) * 4 + var(--safe-l));background:linear-gradient(90deg,#07061ad1 0%,#07061a59 45%,#07061a00 62%,#07061a80 100%);justify-content:space-between;align-items:stretch}.title-left{gap:calc(var(--u) * 1.6);flex-direction:column;justify-content:center;max-width:48%;display:flex}.tag{font-size:calc(var(--u) * 2);color:var(--cream);text-shadow:0 2px 0 var(--ink);margin:0;font-weight:800}.btn.play{font-size:calc(var(--u) * 3.6);padding:calc(var(--u) * 1.4) calc(var(--u) * 4.2);border-width:4px;border-radius:18px;align-self:flex-start;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}.how{gap:calc(var(--u) * 1.2);display:flex}.how-card{padding:calc(var(--u) * 1) calc(var(--u) * 1.5);border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);background:#140f2ed9;border-radius:12px;flex-direction:column;gap:6px;display:flex}.how-card b{font-family:var(--display);font-size:calc(var(--u) * 1.3);color:var(--cyan);letter-spacing:.1em}.how-card.hot b{color:var(--pink)}kbd{font-family:var(--display);font-weight:800;font-size:calc(var(--u) * 1.9);color:var(--cream)}.rules{font-weight:800;font-size:calc(var(--u) * 1.65);text-shadow:0 2px 0 var(--ink);flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.rules li:before{width:1.5em;font-style:normal;display:inline-block}.rules .r1:before{content:"▲";color:var(--gold)}.rules .r2:before{content:"✖";color:var(--red)}.rules .r3:before{content:"◎";color:var(--cyan)}.pad{font-size:calc(var(--u) * 1.3);opacity:.7;margin:0;font-weight:700}.touch-how{font-weight:800;font-size:calc(var(--u) * 1.8);color:var(--gold);text-shadow:0 2px 0 var(--ink);margin:0;display:none}.touch-on .how,.touch-on .pad{display:none}.touch-on .touch-how{display:block}.title-right{gap:calc(var(--u) * 1.4);pointer-events:auto;flex-direction:column;justify-content:flex-end;align-items:flex-end;display:flex}.daily-card,.best-card,.challenge-card{min-width:calc(var(--u) * 26);padding:calc(var(--u) * 1.4) calc(var(--u) * 2);border:4px solid var(--ink);box-shadow:0 7px 0 var(--ink);text-align:right;background:#140f2ee6;border-radius:16px;transform:skew(-4deg)}.daily-card{background:linear-gradient(135deg,#39e6ff40,#140f2eeb 60%)}[data-cond=rain] .daily-card{background:linear-gradient(135deg,#6e96ff59,#140f2eeb 60%)}[data-cond=dusk] .daily-card{background:linear-gradient(135deg,#ff8a4c73,#140f2eeb 60%)}[data-cond=fog] .daily-card{background:linear-gradient(135deg,#b58cff66,#140f2eeb 60%)}[data-cond=dawn] .daily-card{background:linear-gradient(135deg,#ffc2b073,#140f2eeb 60%)}.daily-card .cond{font-family:var(--display);font-style:italic;font-weight:800;font-size:calc(var(--u) * 3.4);color:var(--gold);text-shadow:0 3px 0 var(--ink)}.daily-card .cond-d{font-weight:700;font-size:calc(var(--u) * 1.5)}.daily-card .day{font-family:var(--display);font-size:calc(var(--u) * 1.3);opacity:.7;margin-top:4px}.best-card{justify-content:space-between;align-items:baseline;gap:16px;font-weight:800;display:flex}.best-card span{font-family:var(--display);color:var(--cyan);letter-spacing:.12em;font-size:calc(var(--u) * 1.3)}.best-card b{font-family:var(--display);font-size:calc(var(--u) * 3);color:var(--cream);text-shadow:0 3px 0 var(--ink);font-style:italic}.challenge-card{background:linear-gradient(135deg,#ff4fd88c,#140f2eeb 70%);animation:2.4s ease-in-out infinite wiggle}.challenge-card .label{color:var(--gold);font-size:calc(var(--u) * 2)}.vs-name{font-weight:800;font-size:calc(var(--u) * 1.7)}.vs-score{font-family:var(--display);font-style:italic;font-weight:800;font-size:calc(var(--u) * 3.2);color:var(--cream);text-shadow:0 3px 0 var(--ink)}@keyframes wiggle{0%,to{transform:skew(-4deg)rotate(0)}50%{transform:skew(-4deg)rotate(-1.5deg)}}.title-buttons{gap:12px;display:flex}.hud{pointer-events:none}.hud .value{color:var(--cream);line-height:1}.hud-score{left:calc(var(--u) * 2.6 + var(--safe-l));top:calc(var(--u) * 2.2 + var(--safe-t));flex-direction:column;gap:4px;display:flex;position:absolute}.hud-score .value{font-size:calc(var(--u) * 6.4);color:var(--gold)}.hud-score .value.bump{animation:.35s cubic-bezier(.2,1.6,.4,1) bump}@keyframes bump{0%{transform:scale(1.35)rotate(-3deg)}to{transform:scale(1)}}.hud-score .sub{font-family:var(--display);font-weight:800;font-size:calc(var(--u) * 1.5);color:var(--cyan);text-shadow:0 2px 0 var(--ink)}.target{width:calc(var(--u) * 26);margin-top:4px}.tlabel{font-weight:800;font-size:calc(var(--u) * 1.35);color:var(--pink);text-shadow:0 2px 0 var(--ink)}.tbar{border:3px solid var(--ink);background:#140f2ecc;border-radius:8px;height:12px;margin-top:3px;overflow:hidden}.tbar i{background:linear-gradient(90deg, var(--pink), var(--gold));width:0;height:100%;transition:width .15s;display:block}.hud-time{left:50%;top:calc(var(--u) * 1.6 + var(--safe-t));text-align:center;flex-direction:column;align-items:center;display:flex;position:absolute;transform:translate(-50%)}.hud-time .value{font-size:calc(var(--u) * 6);font-variant-numeric:tabular-nums}.last10 .hud-time .value{color:var(--red);animation:.5s ease-in-out infinite throb}@keyframes throb{50%{transform:scale(1.12)}}.heat{font-family:var(--display);font-style:italic;font-weight:800;font-size:calc(var(--u) * 2);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);border-radius:10px;margin-top:4px;padding:0 12px}.heat:empty{display:none}.heat[data-h="1"]{background:var(--gold);color:var(--ink)}.heat[data-h="2"]{background:var(--gold-2);color:var(--ink)}.heat[data-h="3"]{background:var(--red);color:var(--cream);animation:.6s infinite throb}.hud-speed{right:calc(var(--u) * 2.6 + var(--safe-r));top:calc(var(--u) * 2 + var(--safe-t));align-items:baseline;gap:6px;display:flex;position:absolute}.hud-speed .value{font-size:calc(var(--u) * 4.4);font-variant-numeric:tabular-nums}.icon-btn{pointer-events:auto;cursor:pointer;width:calc(var(--u) * 4.6);height:calc(var(--u) * 4.6);border:3px solid var(--ink);background:var(--ink-3);color:var(--cream);box-shadow:0 4px 0 var(--ink);font-size:calc(var(--u) * 1.6);border-radius:12px;align-self:center;margin-left:14px}.drift{left:50%;bottom:calc(var(--u) * 2.2 + var(--safe-b));opacity:0;flex-direction:column;align-items:center;transition:opacity .15s,transform .2s cubic-bezier(.2,1.6,.4,1);display:flex;position:absolute;transform:translate(-50%)scale(.6)}.drift.on{opacity:1;transform:translate(-50%)scale(1)}.drift-value{font-size:calc(var(--u) * 5.4);color:var(--cream);line-height:1}.drift-mult{font-size:calc(var(--u) * 3.4);color:var(--cyan);line-height:1}.drift-mult.bump{animation:.3s cubic-bezier(.2,1.6,.4,1) bump}.drift-mult[data-m="3"],.drift-mult[data-m="4"]{color:var(--gold)}.drift-mult[data-m="5"],.drift-mult[data-m="6"],.drift-mult[data-m="7"]{color:var(--gold-2)}.drift-mult[data-m="8"],.drift-mult[data-m="9"],.drift-mult[data-m="10"]{color:var(--pink);animation:.4s infinite throb}.drift-meta{font-family:var(--display);font-weight:800;font-size:calc(var(--u) * 1.8);text-shadow:0 2px 0 var(--ink);gap:12px;display:flex}.clipzone,.holdit{border:3px solid var(--ink);border-radius:8px;padding:0 10px;display:none}.clipzone.on{background:var(--cyan);color:var(--ink);text-shadow:none;display:inline}.holdit.on{background:var(--pink);color:var(--cream);animation:.3s infinite throb;display:inline}.grace{width:calc(var(--u) * 22);border:3px solid var(--ink);background:#140f2ecc;border-radius:8px;height:10px;margin-top:6px;overflow:hidden}.grace i{background:linear-gradient(90deg, var(--cyan), var(--gold));height:100%;display:block}.wall-warn{transition:box-shadow .15s;position:absolute;inset:0;box-shadow:inset 0 0 #ff3b5c00}.wall-warn.on{box-shadow:inset 0 0 90px 10px #ff3b5c73}.hud.flash-lost:after{content:"";background:#ff3b5c59;animation:.5s forwards fade;position:absolute;inset:0}@keyframes fade{to{opacity:0}}.popups{position:absolute;inset:0;overflow:hidden}#ui:not([data-screen=hud]) .popups,#ui:not([data-screen=hud]) .toasts{display:none}.pop{font-size:calc(var(--u) * 3);color:var(--cream);white-space:nowrap;animation:1.2s ease-out forwards pop;position:absolute;transform:translate(-50%,-50%)}.pop.big{font-size:calc(var(--u) * 5);animation-duration:1.7s}.pop.go{color:var(--gold);font-size:calc(var(--u) * 10)}.pop.clip{color:var(--cyan)}.pop.near{color:var(--pink)}.pop.lost{color:var(--red)}.pop.bank{color:var(--gold)}.pop.bank.r0{color:var(--cream);font-size:calc(var(--u) * 3)}.pop.bank.r4,.pop.bank.r5{color:var(--gold-2);font-size:calc(var(--u) * 6)}.pop.bank.r6{color:var(--pink);font-size:calc(var(--u) * 7)}@keyframes pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)rotate(-8deg)}12%{opacity:1;transform:translate(-50%,-50%)scale(1.25)rotate(-4deg)}24%{transform:translate(-50%,-50%)scale(1)rotate(-3deg)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-110%)scale(.95)rotate(-3deg)}}.toasts{left:50%;top:calc(var(--u) * 19 + var(--safe-t));flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;transform:translate(-50%)}.toast{font-size:calc(var(--u) * 2.6);color:var(--gold);white-space:nowrap;animation:2.2s ease-out forwards toast}.toast.pb{color:var(--green)}.toast.warn,.toast.h3{color:var(--red)}@keyframes toast{0%{opacity:0;transform:scale(.4)}10%{opacity:1;transform:scale(1.15)}20%{transform:scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(-20px)}}.hint{left:50%;top:calc(var(--u) * 12.5 + var(--safe-t));opacity:0;border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);font-weight:800;font-size:calc(var(--u) * 2);white-space:nowrap;background:#140f2eeb;border-radius:14px;padding:10px 22px;transition:opacity .2s,transform .2s;position:absolute;transform:translate(-50%,-14px)}.hint.on{opacity:1;transform:translate(-50%)}.hint[data-kind=go]{color:var(--gold);animation:.9s infinite throb}.hint[data-kind=wrong],.hint[data-kind=reset]{color:var(--red)}.pause,.results{background:#07061a8c;justify-content:center;align-items:center}.pause .panel{min-width:min(360px,80vw)}.panel h2{text-align:center;font-size:calc(var(--u) * 4);color:var(--gold);margin:0}.panel h2.big{font-size:calc(var(--u) * 5.2)}.results-panel{width:min(1000px,94vw)}.res-grid{gap:calc(var(--u) * 2.4);grid-template-columns:1.2fr 1fr;align-items:center;display:grid}.res-main{flex-direction:column;gap:6px;display:flex}.res-score{font-size:calc(var(--u) * 9);color:var(--cream);font-variant-numeric:tabular-nums;line-height:1}.stamp{font-family:var(--display);font-style:italic;font-weight:800;font-size:calc(var(--u) * 2.4);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);background:var(--gold);color:var(--ink);border-radius:10px;align-self:flex-start;padding:2px 16px;animation:.5s cubic-bezier(.2,1.6,.4,1) .8s both stamp;transform:rotate(-3deg)}.stamp:empty{display:none}.stamp.pb{background:var(--green)}.stamp.r5,.stamp.r6{background:var(--pink);color:var(--cream)}@keyframes stamp{0%{opacity:0;transform:scale(2.4)rotate(-12deg)}to{opacity:1;transform:scale(1)rotate(-3deg)}}.res-best{color:var(--cyan);font-weight:800}.res-target{font-weight:800;font-size:calc(var(--u) * 1.8)}.res-target.win{color:var(--green)}.res-target.lose{color:var(--pink)}.res-stats{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:6px;display:grid}.res-stats div{border:3px solid var(--ink);background:#07061a80;border-radius:10px;flex-direction:column;padding:6px 8px;display:flex}.res-stats span{font-size:calc(var(--u) * 1.2);opacity:.75;font-weight:700}.res-stats b{font-family:var(--display);font-size:calc(var(--u) * 2.1);font-style:italic}.res-online{min-height:calc(var(--u) * 16);padding:calc(var(--u) * 1.6);border:3px solid var(--ink);background:#07061a73;border-radius:16px;flex-direction:column;justify-content:center;gap:10px;display:flex}.res-online:empty,.res-online[data-kind=none]{visibility:hidden}.name-row{gap:8px;display:flex}.name-row input{pointer-events:auto;-webkit-user-select:text;user-select:text;min-width:0;font-weight:800;font-size:calc(var(--u) * 2);border:3px solid var(--ink);background:var(--cream);color:var(--ink);border-radius:12px;outline:none;flex:1;padding:8px 14px;box-shadow:inset 0 3px #00000026}.name-row input:focus{box-shadow:0 0 0 3px var(--gold)}.ranks{gap:10px;display:flex}.rank{border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);background:var(--ink-3);border-radius:12px;flex-direction:column;flex:1;padding:8px 12px;display:flex}.rank.day{background:linear-gradient(135deg, var(--pink), #9c2fb8)}.rank span{font-family:var(--display);font-style:italic;font-weight:800;font-size:calc(var(--u) * 2.1);white-space:nowrap;text-shadow:0 2px 0 var(--ink)}.rank small{opacity:.85;font-weight:700}.beat{font-family:var(--display);font-weight:800;font-size:calc(var(--u) * 2.3);color:var(--gold);text-shadow:0 2px 0 var(--ink)}.posted{color:var(--green);font-weight:700}.posting{text-align:center;font-weight:800;animation:.8s infinite throb}.err{color:var(--pink);margin:0;font-weight:800}.res-buttons{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.modal{pointer-events:auto;background:#07061ab8;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.modal.on{display:flex}.modal .panel{width:min(560px,92vw)}.modal .panel.wide{width:min(860px,94vw)}.tabs{gap:8px;display:flex}.tab{pointer-events:auto;cursor:pointer;font-family:var(--display);font-weight:800;font-size:calc(var(--u) * 1.8);border:3px solid var(--ink);background:var(--ink-2);color:var(--cream);box-shadow:0 4px 0 var(--ink);border-radius:12px;flex:1;padding:8px}.tab.on{background:var(--gold);color:var(--ink)}.board-meta{text-align:center;opacity:.8;font-weight:700}.board-list{flex-direction:column;gap:5px;max-height:46vh;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.board-list li{border:3px solid var(--ink);background:#07061a80;border-radius:10px;grid-template-columns:3em 1fr auto;align-items:center;gap:8px;padding:6px 12px;font-weight:800;display:grid}.board-list li.empty{text-align:center;opacity:.8;display:block}.board-list .rk{font-family:var(--display);color:var(--cyan);font-size:1.2em;font-style:italic}.board-list .r1 .rk{color:var(--gold)}.board-list .r2 .rk{color:#d8dcef}.board-list .r3 .rk{color:#ff9f5a}.board-list .nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board-list em{background:var(--pink);border-radius:6px;padding:0 6px;font-size:.75em;font-style:normal}.board-list .sc{font-family:var(--display);font-style:italic}.board-list li.me{background:#ff4fd84d}.board-me{text-align:center;color:var(--gold);font-weight:800}.card-preview{border:4px solid var(--ink);max-width:100%;box-shadow:0 6px 0 var(--ink);background:var(--ink);border-radius:14px;flex-shrink:0;align-self:center;overflow:hidden}.card-preview img{width:auto;max-width:100%;height:auto;max-height:52vh;display:block}.row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.set{justify-content:space-between;align-items:center;gap:16px;font-weight:800;display:flex}.set input[type=range]{pointer-events:auto;width:55%;accent-color:var(--gold)}.set input[type=checkbox]{pointer-events:auto;width:24px;height:24px;accent-color:var(--gold)}.seg{border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);border-radius:12px;display:flex;overflow:hidden}.seg button{pointer-events:auto;cursor:pointer;background:var(--ink-2);color:var(--cream);border:0;padding:6px 14px;font-weight:800}.seg button.on{background:var(--gold);color:var(--ink)}.touch{display:none;position:absolute;inset:0}.touch-on [data-screen=hud] .touch,#ui.touch-on[data-screen=hud] .touch{display:block}.touch button{pointer-events:auto;touch-action:none;border:4px solid var(--ink);color:var(--cream);font-family:var(--display);font-weight:800;font-size:calc(var(--u) * 2.2);box-shadow:0 6px 0 var(--ink);text-shadow:0 2px 0 var(--ink);background:#352a6eb8;border-radius:22px;position:absolute}.touch button.on{box-shadow:0 2px 0 var(--ink);filter:brightness(1.3);transform:translateY(4px)}.t-left button{bottom:calc(18px + var(--safe-b));width:calc(var(--u) * 13);height:calc(var(--u) * 13);font-size:calc(var(--u) * 5)}.t-left button[data-c=left]{left:calc(18px + var(--safe-l))}.t-left button[data-c=right]{left:calc(30px + var(--safe-l) + var(--u) * 13)}.t-right .gas{right:calc(18px + var(--safe-r));bottom:calc(18px + var(--safe-b));width:calc(var(--u) * 14);height:calc(var(--u) * 17);background:#50c86ebf}.t-right .brake{right:calc(30px + var(--safe-r) + var(--u) * 14);bottom:calc(18px + var(--safe-b));width:calc(var(--u) * 11);height:calc(var(--u) * 10);background:#ff3b5cb3}.t-right .hb{right:calc(30px + var(--safe-r) + var(--u) * 14);bottom:calc(30px + var(--safe-b) + var(--u) * 10);width:calc(var(--u) * 11);height:calc(var(--u) * 9);font-size:calc(var(--u) * 1.7);background:#ff4fd8bf}.t-reset{right:calc(18px + var(--safe-r));bottom:calc(30px + var(--safe-b) + var(--u) * 17);width:calc(var(--u) * 7);height:calc(var(--u) * 7);font-size:calc(var(--u) * 3.4)!important}.touch-on .drift{bottom:calc(var(--u) * 3 + var(--safe-b));transform:translate(-50%)scale(.85)}.rotate{pointer-events:auto;z-index:10;background:#07061a;flex-direction:column;justify-content:center;align-items:center;gap:20px;font-size:20px;font-weight:800;display:none;position:absolute;inset:0}.rotate .phone{border:5px solid var(--gold);border-radius:12px;width:60px;height:100px;animation:1.6s ease-in-out infinite rot}@keyframes rot{50%{transform:rotate(90deg)}}@media (orientation:portrait) and (pointer:coarse){.rotate{display:flex}}.fatal{text-align:center;justify-content:center;align-items:center;padding:30px;font-weight:800;display:flex;position:absolute;inset:0}@media (max-height:520px){.title-left{gap:8px;max-width:58%}.logo .zh{font-size:calc(var(--u) * 8)}.pad{display:none}.res-grid{gap:10px}.res-score{font-size:calc(var(--u) * 7)}.panel{gap:8px;padding:14px 18px}.results-panel h2.big{font-size:calc(var(--u) * 4)}.btn{font-size:calc(var(--u) * 1.9)}.btn.big{font-size:calc(var(--u) * 2.5)}}@media (prefers-reduced-motion:reduce){.btn.play,.challenge-card,.last10 .hud-time .value{animation:none}}
