:root{--ink:#3a2850;--pink:#ff6fa8;--yellow:#ffd23f;--blue:#2f7cf6;--cyan:#7fe3ff;--paper:#fbf8ff;--lav:#d9d0f0;--sticker:0 0 0 3px var(--ink), 0 0 0 7px #fff, 0 7px 0 7px #3a28504d;--press:cubic-bezier(.3, 1.7, .5, 1);--outline:0 2px 0 var(--ink), 2px 0 0 var(--ink), -2px 0 0 var(--ink), 0 -2px 0 var(--ink), 2px 2px 0 var(--ink), -2px 2px 0 var(--ink), 2px -2px 0 var(--ink), -2px -2px 0 var(--ink)}.hud,.overlay{font-family:system-ui,Hiragino Maru Gothic ProN,Hiragino Sans,Noto Sans JP,sans-serif}.hud{pointer-events:none;color:#fff;z-index:2;position:fixed;inset:0}.hud.hidden{display:none}.hud .top{top:calc(env(safe-area-inset-top) + 8px);justify-content:space-between;align-items:flex-start;display:flex;position:absolute;left:16px;right:16px}.hud .rank{background:var(--paper);color:var(--ink);box-shadow:var(--sticker);font-variant-numeric:tabular-nums;border-radius:18px;padding:2px 10px 0;font-weight:900;line-height:1}.hud .rank-num{font-size:46px;display:inline-block}.hud .rank-of{margin-left:1px;font-size:18px}.hud .rank-num.bump{animation:rankbump .45s var(--press);color:#d79b00}@keyframes rankbump{0%{transform:scale(1.6)}to{transform:scale(1)}}.hud .timer{background:var(--paper);color:var(--ink);box-shadow:var(--sticker);font-variant-numeric:tabular-nums;border-radius:16px;padding:3px 12px;font-size:22px;font-weight:900}.hud .progress{top:calc(env(safe-area-inset-top) + 80px);height:22px;position:absolute;left:20px;right:44px}.hud .progress .track{background:var(--paper);height:10px;box-shadow:0 0 0 3px var(--ink), 0 0 0 6px #fff;border-radius:5px;position:absolute;top:6px;left:0;right:0}.hud .progress .dot{width:10px;height:10px;box-shadow:0 0 0 1.5px var(--ink);background:#999;border-radius:50%;margin-left:-5px;position:absolute;top:-1px}.hud .progress .dot.me{z-index:2;background:var(--blue);width:18px;height:18px;box-shadow:0 0 0 3px #fff, 0 0 0 5px var(--ink);margin-left:-9px;top:-5px}.hud .progress .flag{font-size:22px;position:absolute;top:-4px;right:-32px}.hud .breath{top:calc(env(safe-area-inset-top) + 114px);align-items:center;gap:6px;display:flex;position:absolute;left:16px}.hud .breath .heart{color:#ff4f7e;text-shadow:var(--outline);font-size:26px}.hud .breath .bar{background:var(--paper);width:124px;height:14px;box-shadow:0 0 0 3px var(--ink), 0 0 0 6px #fff;border-radius:7px;overflow:hidden}.hud .breath .fill{background:linear-gradient(90deg,#ff4f7e,#ff9ab8);width:100%;height:100%;transition:width .1s linear}.hud .breath.low .heart{animation:.4s ease-in-out infinite beat}.hud .breath.low .fill{background:#ff2a55}.hud .breath.bonk .heart{color:#a99bbd;animation:.5s ease-in-out infinite wobble}.hud .breath.bonk .fill{background:#a99bbd}@keyframes beat{50%{transform:scale(1.35)}}@keyframes wobble{50%{transform:rotate(18deg)}}.hud .center{flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;top:24%;left:0;right:0}.hud .count{color:var(--yellow);min-height:1px;text-shadow:0 4px 0 var(--ink), 4px 0 0 var(--ink), -4px 0 0 var(--ink), 0 -4px 0 var(--ink), 3px 3px 0 var(--ink), -3px 3px 0 var(--ink), 3px -3px 0 var(--ink), -3px -3px 0 var(--ink), 0 10px 0 var(--ink);font-size:104px;font-weight:900}.hud .count.pop{animation:.5s ease-out pop}@keyframes pop{0%{opacity:0;transform:scale(2)}40%{opacity:1;transform:scale(.9)}to{transform:scale(1)}}.hud .slip{opacity:0;flex-direction:column;align-items:center;transition:opacity .15s,transform .15s;display:flex;transform:scale(.6)}.hud .slip.on{opacity:1;transform:scale(1)}.hud .slip .ring{width:64px;height:64px;position:relative}.hud .slip svg{width:100%;height:100%;transform:rotate(-90deg)}.hud .slip circle{fill:#ffffff8c;stroke-width:6px}.hud .slip circle.bg{stroke:#3a285059}.hud .slip circle.fg{fill:none;stroke:#5fd3ff;stroke-dasharray:100;stroke-dashoffset:100px;stroke-linecap:round}.hud .slip .ring span{justify-content:center;align-items:center;font-size:30px;display:flex;position:absolute;inset:0}.hud .slip.full .ring{animation:.35s ease-in-out infinite beat}.hud .slip.full circle.fg{stroke:var(--yellow)}.hud .slip .label{text-shadow:var(--outline);font-size:15px;font-weight:800}.hud .callout{text-shadow:var(--outline);opacity:0;font-size:34px;font-weight:900}.hud .callout.show{animation:1.1s ease-out forwards callout}.hud .callout.boost{color:#7fe3ff;font-size:44px}.hud .callout.pass{color:#fff;font-size:42px}.hud .callout.combo{color:var(--yellow);font-size:50px}.hud .speedfx{opacity:0;pointer-events:none;background:radial-gradient(at 50% 45%,#fff0 45%,#bef0ff8c 80%,#ffffffd9 100%),repeating-conic-gradient(at 50% 45%,#ffffff59 0deg 2deg,#fff0 2deg 9deg);position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 50% 45%,#0000 38%,#000 75%);mask-image:radial-gradient(at 50% 45%,#0000 38%,#000 75%)}.hud .speedfx.on{animation:.9s ease-out speedfx}@keyframes speedfx{0%{opacity:1;transform:scale(1.15)}to{opacity:0;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.hud .speedfx.on{animation-duration:.3s}}.hud .callout.bonk{color:#d9ccee}.hud .callout.goal{color:var(--yellow);font-size:56px}@keyframes callout{0%{opacity:0;transform:scale(1.8)}20%{opacity:1;transform:scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(-20px)}}.hud .pads{left:20px;right:26px;bottom:calc(env(safe-area-inset-bottom) + 20px);align-items:stretch;gap:10px;height:30vh;max-height:260px;display:flex;position:absolute}.hud .pad{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:40px;display:flex}.hud .pad:before{content:"";background:#3a285014;border:3px dashed #ffffffe6;border-radius:50%;width:136px;height:136px;margin:-68px 0 0 -68px;transition:border-color .15s;position:absolute;top:50%;left:50%}.hud .pad .arrow{width:52px;height:34px;transition:transform 80ms var(--press), filter 80ms;font-size:0;position:relative}.hud .pad .arrow:before{content:"";background:var(--ink);clip-path:polygon(50% 0,100% 78%,92% 100%,8% 100%,0 78%);position:absolute;inset:0}.hud .pad .arrow:after{content:"";clip-path:polygon(50% 0,100% 78%,92% 100%,8% 100%,0 78%);background:#ffe680;position:absolute;inset:4px 6px}.hud .pad .arrow.down{transform:rotate(180deg)}.hud .pad .thumb{display:none}.hud .pad.up .arrow.up:after,.hud .pad.down .arrow.down:after{background:#fff}.hud .pad.up .arrow.up{transform:scale(1.25)}.hud .pad.down .arrow.down{transform:rotate(180deg)scale(1.25)}.hud .pads.offbeat .pad:before{border-color:#ff8a5c}.hud .cadence{align-items:center;width:11px;display:flex;position:absolute;top:0;bottom:0;right:-10px}.hud .cadence .meter{background:var(--paper);width:100%;height:70%;box-shadow:0 0 0 3px var(--ink), 0 0 0 5px #fff;border-radius:8px;position:relative;overflow:hidden}.hud .cadence .level{background:#59d36b;transition:height 80ms linear;position:absolute;bottom:0;left:0;right:0}.hud .cadence.over .level{background:#ff4f7e}.hud .cadence .comfort{background:var(--ink);z-index:1;height:3px;position:absolute;left:-2px;right:-2px}.overlay{z-index:3;padding:calc(env(safe-area-inset-top) + 16px) 24px calc(env(safe-area-inset-bottom) + 12vh);color:#fff;pointer-events:none;text-align:center;flex-direction:column;justify-content:flex-end;align-items:center;gap:14px;display:flex;position:fixed;inset:0}.overlay.hidden{display:none}.overlay.tap-anywhere{pointer-events:auto;cursor:pointer}@keyframes rubA{0%,to{transform:translateY(-14px)rotate(180deg)}50%{transform:translateY(6px)rotate(180deg)}}@keyframes rubB{0%,to{transform:translateY(6px)rotate(180deg)}50%{transform:translateY(-14px)rotate(180deg)}}.overlay button,.sheet button{pointer-events:auto;border:3px solid var(--ink);color:var(--ink);touch-action:manipulation;transition:transform .15s var(--press), box-shadow .15s var(--press);font-family:inherit}.overlay button{background:linear-gradient(#ffe57a 0 14%, var(--yellow) 14%);min-width:240px;min-height:64px;box-shadow:0 7px 0 #c99a12, 0 7px 0 3px var(--ink), 0 0 0 7px #fff, 0 7px 0 7px #fff;border-radius:22px;font-size:26px;font-weight:900}.overlay button:active,.sheet button:active{box-shadow:0 2px 0 #c99a12, 0 2px 0 3px var(--ink), 0 0 0 7px #fff, 0 2px 0 7px #fff;transition-duration:60ms;transform:translateY(5px)}.sheet button:active{box-shadow:0 2px 0 #c99a12, 0 2px 0 3px var(--ink)}.sheet button.ghost:active,.sheet .seg button:active{box-shadow:0 2px 0 var(--lav), 0 2px 0 3px var(--ink)}.overlay button:active{box-shadow:0 2px 0 #c99a12, 0 2px 0 3px var(--ink), 0 -5px 0 7px #fff, 0 2px 0 7px #fff}.overlay button.ghost{background:var(--paper);min-width:150px;min-height:50px;box-shadow:0 5px 0 var(--lav), 0 5px 0 3px var(--ink), 0 0 0 6px #fff, 0 5px 0 6px #fff;border-radius:18px;font-size:18px;font-weight:800}.overlay button:focus-visible,.sheet button:focus-visible{outline:3px solid var(--yellow);outline-offset:8px}.overlay.paused{background:#3a285080;justify-content:center}.overlay .pause-label{text-shadow:var(--outline);font-size:28px;font-weight:900}.hud .callout.juice{color:#ff8fc6;font-size:40px}.hud .callout.star{color:var(--yellow);font-size:44px}.hud .callout.spurt{color:var(--yellow);font-size:36px;animation-duration:1.8s}.hud .callout.scrape{color:#ffb27a;font-size:30px}.hud .breath.on{animation:.5s ease-out heartgain}@keyframes heartgain{0%{filter:brightness(1.6);transform:scale(1.25)}to{transform:scale(1)}}.hud .spurtfx{pointer-events:none;opacity:0;position:absolute;inset:0;box-shadow:inset 0 0 0 6px #ffd23fe6,inset 0 0 60px 10px #ffd23f8c}.hud.spurt .spurtfx{opacity:1;animation:.6s ease-in-out infinite alternate spurtglow}@keyframes spurtglow{0%{opacity:.55}to{opacity:1}}.hud.spurt .breath .fill{background:linear-gradient(90deg,#ffd23f,#fff2a8)}.hud .curve{box-shadow:0 0 0 3px var(--ink), 0 0 0 6px #fff;color:#ffd23f;text-shadow:var(--outline);opacity:0;letter-spacing:-6px;background:repeating-linear-gradient(90deg,#ff94c8 0 14px,#fff 14px 28px);border-radius:8px;padding:2px 14px 2px 8px;font-size:38px;font-weight:900;transition:opacity .12s;position:absolute;top:40%}.hud .curve.left{animation:.5s ease-in-out infinite nudgeL;left:18px}.hud .curve.right{animation:.5s ease-in-out infinite nudgeR;right:24px}@keyframes nudgeL{50%{transform:translate(-8px)}}@keyframes nudgeR{50%{transform:scaleX(-1)translate(-8px)}}.hud .tilt{left:50%;top:calc(env(safe-area-inset-top) + 100px);justify-content:center;align-items:center;width:40px;height:40px;margin-left:-20px;display:none;position:absolute}.hud .tilt.on{display:flex}.hud .tilt .phone{width:16px;height:28px;box-shadow:0 0 0 2px var(--ink);background:#3a28504d;border:3px solid #fff;border-radius:4px}.hud .pausebtn{top:calc(env(safe-area-inset-top) + 10px);background:var(--yellow);width:48px;height:48px;box-shadow:0 0 0 3px var(--ink), 0 0 0 6px #fff, 0 4px 0 6px #3a28504d;pointer-events:auto;touch-action:manipulation;border:0;border-radius:50%;justify-content:center;align-items:center;gap:5px;margin-left:-24px;display:flex;position:absolute;left:50%}.hud .pausebtn i{background:var(--ink);border-radius:3px;width:6px;height:18px;display:block}.hud .pausebtn:active{transform:scale(.92)}.hud .pad{position:relative;overflow:hidden}.hud .pad .ghost{opacity:0;background:#ffd2b0e6;border-radius:50%;width:46px;height:46px;margin:-23px 0 0 -23px;position:absolute;top:50%;left:50%;box-shadow:0 0 0 3px #fff,0 0 18px #fffc}.hud.coach-pedal .pad .ghost{opacity:1}.hud.coach-pedal .pad.left .ghost{animation:.75s ease-in-out infinite ghostA}.hud.coach-pedal .pad.right .ghost{animation:.75s ease-in-out infinite ghostB}@keyframes ghostA{0%,to{transform:translateY(-60%)}50%{transform:translateY(60%)}}@keyframes ghostB{0%,to{transform:translateY(60%)}50%{transform:translateY(-60%)}}.hud .coach{background:var(--paper);color:var(--ink);box-shadow:var(--sticker);opacity:0;white-space:nowrap;border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:10px 14px;font-size:17px;font-weight:900;transition:opacity .2s;display:flex;position:absolute;left:50%;transform:translate(-50%)}.hud .coach.on{opacity:1}.hud .coach-tilt{top:46%}.hud .coach-tilt .cphone{border:4px solid var(--ink);background:#c4f1ff;border-radius:6px;width:26px;height:44px;animation:.9s ease-in-out infinite leanR}.hud .coach-tilt.left .cphone{animation-name:leanL}.hud .coach-tilt.thumbs .cphone{width:30px;height:30px;box-shadow:0 0 0 3px var(--ink);background:#ffd2b0;border:0;border-radius:50%;animation-name:slideR}.hud .coach-tilt.thumbs.left .cphone{animation-name:slideL}@keyframes leanR{0%,to{transform:rotate(0)}50%{transform:rotate(25deg)}}@keyframes leanL{0%,to{transform:rotate(0)}50%{transform:rotate(-25deg)}}@keyframes slideR{0%,to{transform:translate(-12px)}50%{transform:translate(12px)}}@keyframes slideL{0%,to{transform:translate(12px)}50%{transform:translate(-12px)}}.hud .coach-slip{top:33%}.hud .coach-slip .carrow{color:#7fe3ff;font-size:22px;animation:.6s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(6px)}}.sheet{z-index:6;background:#3a28508c;justify-content:center;align-items:center;padding:24px;font-family:system-ui,Hiragino Maru Gothic ProN,Hiragino Sans,Noto Sans JP,sans-serif;display:flex;position:fixed;inset:0}.sheet.hidden{display:none}.sheet .panel{background:var(--paper);width:min(330px,100% - 16px);color:var(--ink);box-shadow:var(--sticker);animation:stickon .28s var(--press);border-radius:26px;gap:14px;padding:20px 18px;display:grid}@keyframes stickon{0%{opacity:0;transform:translateY(60px)rotate(-5deg)scale(.92)}to{opacity:1;transform:none}}.sheet .ptitle{text-align:center;font-size:24px;font-weight:900}.sheet button{background:var(--yellow);min-height:52px;box-shadow:0 5px 0 #c99a12, 0 5px 0 3px var(--ink);border-radius:16px;font-size:20px;font-weight:900}.sheet button.ghost{box-shadow:0 5px 0 var(--lav), 0 5px 0 3px var(--ink);background:#fff;font-size:17px;font-weight:800}.sheet .row{gap:6px;font-size:15px;font-weight:800;display:grid}.sheet .seg{gap:6px;display:flex}.sheet .seg button{background:var(--lav);min-height:44px;box-shadow:0 5px 0 #b3a6d6, 0 5px 0 3px var(--ink);flex:1;font-size:16px}.sheet .seg button.on{background:var(--yellow);box-shadow:0 1px 0 #c99a12, 0 1px 0 3px var(--ink);transform:translateY(4px)}.hud.tutorial .top,.hud.tutorial .progress{visibility:hidden}.hud .lesson{display:none}.hud.tutorial .lesson{left:14px;right:14px;top:calc(env(safe-area-inset-top) + 66px);background:var(--paper);color:var(--ink);box-shadow:var(--sticker);text-align:center;pointer-events:auto;border-radius:22px;justify-items:center;gap:6px;padding:10px 14px 12px;display:grid;position:absolute}.hud .lesson.on{animation:lessonin .3s var(--press)}@keyframes lessonin{0%{opacity:0;transform:translateY(-24px)rotate(-3deg)}to{opacity:1;transform:none}}.hud .lesson .lhead{justify-content:space-between;align-items:center;width:100%;display:flex}.hud .lesson .ldots{gap:6px;display:flex}.hud .lesson .ldots i{background:#d9cfe8;border-radius:50%;width:10px;height:10px}.hud .lesson .ldots i.done{background:#59d36b}.hud .lesson .ldots i.now{background:var(--pink);transform:scale(1.3)}.hud .lesson .lskip{min-height:36px;color:var(--ink);background:#ece4f7;border:0;border-radius:12px;padding:0 12px;font:700 13px system-ui,sans-serif}.hud .lesson .ltext{text-wrap:balance;font-size:19px;font-weight:900;line-height:1.35}.hud .lesson .ltext b{color:var(--pink)}.hud .lesson .lsub{opacity:.8;text-wrap:balance;font-size:14px;font-weight:700}.hud .lesson .lbar{background:#e6dcf2;border-radius:5px;width:100%;height:10px;overflow:hidden}.hud .lesson .lbar div{background:linear-gradient(90deg,#59d36b,#b6f36b);width:0;height:100%;transition:width .15s}.hud .lesson .lpraise{color:#2fae4f;min-height:0;font-size:18px;font-weight:900}.hud .lesson .lpraise.on{animation:.45s ease-out pop}.hud .lesson .lend{gap:8px;width:100%;display:none}.hud .lesson.end .lend{display:grid}.hud .lesson.end .lbar,.hud .lesson.end .lskip{display:none}.hud .lesson .lend button{background:var(--yellow);min-height:52px;color:var(--ink);box-shadow:0 4px 0 var(--ink);border:0;border-radius:16px;font:900 20px system-ui,sans-serif}.hud .lesson .lend button.ghost{background:#ece4f7;font-size:16px}.hud .ldemo{justify-content:center;align-items:center;height:64px;display:flex}.hud .dhands{gap:6px;display:flex}.hud .dhands .dp{border:2px dashed var(--ink);background:#d9d0f0;border-radius:50%;width:42px;height:42px;position:relative}.hud .dhands img{width:28px;margin:-12px 0 0 -14px;position:absolute;top:50%;left:50%;transform:rotate(180deg)}.hud .dhands img.a{animation:.7s ease-in-out infinite thumbA}.hud .dhands img.b{animation:.7s ease-in-out infinite thumbB}@keyframes thumbA{0%,to{transform:translateY(-9px)rotate(180deg)}50%{transform:translateY(6px)rotate(180deg)}}@keyframes thumbB{0%,to{transform:translateY(6px)rotate(180deg)}50%{transform:translateY(-9px)rotate(180deg)}}.hud .dmeter{align-items:center;gap:14px;display:flex}.hud .dmeter .m{width:18px;height:56px;box-shadow:0 0 0 2px var(--ink);background:#e6dcf2;border-radius:9px;position:relative;overflow:hidden}.hud .dmeter .line{background:var(--ink);z-index:1;height:3px;position:absolute;bottom:59%;left:0;right:0}.hud .dmeter .lvl{background:#59d36b;animation:2.4s ease-in-out infinite meterfill;position:absolute;bottom:0;left:0;right:0}@keyframes meterfill{0%,to{background:#59d36b;height:30%}50%{background:#59d36b;height:50%}75%{background:#ff4f7e;height:85%}}.hud .dmeter .heart{color:#ff4f7e;font-size:30px;animation:.8s ease-in-out infinite beat}.hud .dtilt{justify-content:center;align-items:center;width:120px;height:60px;display:flex;position:relative}.hud .dtilt .ph{border:4px solid var(--ink);border-radius:6px;width:24px;height:42px;animation:1.6s ease-in-out infinite tiltlr}.hud .dtilt{gap:10px}.hud .dtilt .cv{color:var(--yellow);text-shadow:var(--outline);letter-spacing:-5px;font-size:22px;font-weight:900;animation:.5s ease-in-out infinite nudgeL}.hud .dtilt .ph{animation-name:tiltl}@keyframes tiltl{0%,to{transform:rotate(0)}50%{transform:rotate(-24deg)}}@keyframes tiltlr{0%,to{transform:rotate(-22deg)}50%{transform:rotate(22deg)}}@keyframes ringlr{0%,to{transform:translate(-44px)}50%{transform:translate(44px)}}.hud .dwind{align-items:center;gap:2px;font-size:30px;display:flex}.hud .dwind .w{animation:.8s ease-in-out infinite windpuff}.hud .dwind .p{animation:2s ease-in-out infinite slingshot}@keyframes windpuff{50%{transform:translate(-6px)scale(1.15)}}@keyframes slingshot{0%,50%{transform:none}75%{transform:translate(18px,-16px)}to{opacity:0;transform:translate(60px)}}.hud .ditems{align-items:center;gap:26px;display:flex}.hud .ditems .cup{width:26px;height:34px;box-shadow:0 0 0 3px var(--ink);background:#ff7ab6;border-radius:4px 4px 10px 10px;animation:.7s ease-in-out infinite bob}.hud .ditems .star{color:var(--yellow);text-shadow:var(--outline);font-size:40px;animation:.7s ease-in-out .35s infinite bob}.hud .dok{font-size:44px;animation:.6s ease-out pop}.hud.focus-meter .cadence .meter,.hud.focus-meter .breath .bar{box-shadow:0 0 0 3px var(--yellow), 0 0 14px 4px #ffd23fe6}.overlay .subbuttons{gap:18px;display:flex}.overlay .subbuttons button{min-width:0;padding:0 18px}.hud.tutorial .lesson{text-align:left;top:calc(env(safe-area-inset-top) + 64px);grid-template-columns:92px 1fr;grid-template-areas:"head head""demo text""demo sub""praise praise""bar bar""btns btns""end end";justify-items:stretch;gap:4px 10px;padding:8px 12px 10px}.hud .lesson .lhead{grid-area:head}.hud .lesson .ldemo{grid-area:demo;justify-content:center;align-self:center;align-items:center;height:70px;display:flex}.hud .lesson .lbtns{grid-area:btns;justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.hud .lesson .ltext{word-break:keep-all;overflow-wrap:normal;text-wrap:pretty;grid-area:text;font-size:17px}.hud .lesson .lsub{grid-area:sub;font-size:13px}.hud .lesson .lpraise{text-align:center;grid-area:praise}.hud .lesson .lpraise:empty{display:none}.hud .lesson .lbar{grid-area:bar}.hud .lesson .lend{grid-area:end}.hud .lesson .lhead{min-height:0}.hud .lesson .lskip{min-height:30px}.hud .pads{position:absolute}.hud .bonkmsg{text-align:center;color:#fff;text-shadow:var(--outline);pointer-events:none;justify-content:center;align-items:center;font-size:26px;font-weight:900;line-height:1.2;display:none;position:absolute;inset:0}.hud .bonkmsg small{font-size:15px}.hud.bonked .bonkmsg{animation:.6s ease-in-out infinite bonkshake;display:flex}@keyframes bonkshake{0%,to{transform:translate(-4px)rotate(-2deg)}50%{transform:translate(4px)rotate(2deg)}}.hud.bonked .pad:before{background:#5a506e73;border-color:#c8bed7cc}.hud.bonked .pad .arrow{opacity:.3}.hud.bonked .cadence .level{background:#a99bbd!important}.hud .dspurt{align-items:center;gap:12px;display:flex}.hud .dspurt .heart{color:var(--yellow);text-shadow:var(--outline);font-size:30px}.hud .dspurt .dhands{gap:14px}.hud .dhands.fast img{animation-duration:.3s}.hud .lesson .lbtns{gap:6px;display:flex}.hud .lesson .lnext{background:var(--yellow);min-height:30px;color:var(--ink);box-shadow:0 2px 0 var(--ink);border:0;border-radius:12px;padding:0 12px;font:800 13px system-ui,sans-serif}@keyframes gobounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-6px)scale(1.05)}}.hud .lesson .lretry{min-height:30px;color:var(--ink);box-shadow:0 2px 0 var(--ink);background:#ffd7e8;border:0;border-radius:12px;padding:0 10px;font:800 13px system-ui,sans-serif}.ic{vertical-align:-.15em;width:1em;height:1em;display:inline-block;overflow:visible}.hud .breath .heart .ic{width:28px;height:26px}.hud .progress .flag{top:-12px;right:-38px}.hud .progress .flag .ic{width:34px;height:30px}.hud .slip .ring span .ic{width:32px;height:26px}.hud .coach .ic{width:1.3em;height:1.1em}.hud .dwind .ic{width:40px;height:28px}.hud .dwind .w .ic{width:30px;height:24px}.hud .ditems .ic{width:30px;height:34px}.hud .ditems .cup{box-shadow:none;background:0 0;width:auto;height:auto}.hud .dspurt .heart .ic,.hud .dmeter .heart .ic{width:30px;height:28px}.hud .powerfx{pointer-events:none;opacity:calc(var(--power,0) * .85);background:repeating-conic-gradient(at 50% 42%,#fffffff2 0deg 2.2deg,#ffd27840 2.2deg 3deg,#fff0 3deg 8deg);animation:.35s linear infinite powerspin;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 50% 42%,#0000 34%,#0009 55%,#000 85%);mask-image:radial-gradient(at 50% 42%,#0000 34%,#0009 55%,#000 85%)}@keyframes powerspin{0%{transform:rotate(0)scale(1.05)}to{transform:rotate(7deg)scale(1.05)}}.hud .powermsg{text-align:center;color:#fff3a0;text-shadow:var(--outline), 0 0 16px #ff9a3c;pointer-events:none;font-size:30px;font-weight:900;display:none;position:absolute;top:-44px;left:0;right:0}.hud.fullpower .powermsg{animation:powerpulse calc(.3s - var(--rush,0) * .15s) ease-in-out infinite alternate;color:color-mix(in srgb, #fff3a0, #ff6a3c calc(var(--rush,0) * 70%));display:block}@keyframes powerpulse{0%{transform:scale(calc(1 + var(--rush,0) * .1))}to{transform:scale(calc(1.12 + var(--rush,0) * .13))}}.hud.fullpower .cadence .level{background:linear-gradient(#ffd23f,#ff7a2a)!important}@media (prefers-reduced-motion:reduce){.hud .powerfx{animation:none}}.overlay .mute{top:calc(env(safe-area-inset-top) + 14px);background:var(--paper);width:48px;min-width:0;height:48px;min-height:0;box-shadow:0 4px 0 var(--lav), 0 4px 0 3px var(--ink), 0 0 0 6px #fff, 0 4px 0 6px #fff;pointer-events:auto;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;right:16px}.overlay .mute .ic{width:28px;height:25px}.overlay,.hud{word-break:keep-all;overflow-wrap:anywhere}.hud.fullpower .cadence .level{background:#ffc21a!important;height:100%!important}.hud .powermsg{top:calc(env(safe-area-inset-top) + 140px);white-space:nowrap;width:-moz-fit-content;width:fit-content;margin:0 auto;font-size:min(36px,9vw);position:fixed}.hud.fullpower .pad:before{background:radial-gradient(#ffd23f59,#ff7828bf);border:4px solid #ffd23f;box-shadow:0 0 22px #ffa028cc}.hud .lesson .lretry,.hud .lesson .lnext,.hud .lesson .lskip{min-height:44px;padding:0 12px;font-size:14px}.hud .tilt{width:auto;height:auto;left:auto;right:14px;top:calc(env(safe-area-inset-top) + 116px);color:#fff;text-shadow:var(--outline);gap:4px;margin-left:0;font-size:12px}.hud .tilt .tbar{background:var(--paper);width:80px;height:10px;box-shadow:0 0 0 3px var(--ink), 0 0 0 6px #fff;border-radius:5px;position:relative}.hud .tilt .tdot{width:18px;height:18px;box-shadow:0 0 0 2px var(--ink);background:#ffd23f;border-radius:50%;margin-left:-9px;position:absolute;top:-4px}.hud .lesson .lretry,.hud .lesson .lnext,.hud .lesson .lskip{white-space:nowrap;padding:0 9px;font-size:13px}.loading{color:#fff;text-shadow:var(--outline);justify-content:center;align-items:center;font:800 18px system-ui,sans-serif;display:flex;position:fixed;inset:0}.overlay.leaving,.overlay.leaving *{pointer-events:none!important}.overlay.leaving>*{animation:.32s ease-in forwards peel!important}@keyframes peel{0%{transform:none}30%{transform:translateY(-10px)rotate(-2deg)}to{transform:translateY(110vh)rotate(9deg)}}.overlay.title{gap:16px}.overlay .plaque{aspect-ratio:720/299;visibility:hidden;width:min(360px,92vw);margin:0 0 auto;position:relative;transform:rotate(-3deg)}.overlay .plaque.ready{visibility:visible;animation:plaquedrop .6s var(--press) both}@keyframes plaquedrop{0%{transform:translateY(-140%)rotate(-10deg)}70%{transform:translateY(4%)rotate(-2deg)}to{transform:rotate(-3deg)}}.overlay .plaque img{width:100%;height:100%;position:absolute;inset:0}.overlay .plaque h1{color:var(--yellow);text-shadow:var(--outline), 0 5px 0 var(--ink);justify-content:center;align-items:center;margin:0;font-weight:900;line-height:1;display:flex;position:absolute;inset:47% 6% 13%}.overlay .plaque h1 .a{color:#fff;font-size:clamp(20px,6.2vw,26px);position:absolute;top:-34%;left:4%;transform:rotate(-6deg)}.overlay .stamp{background:var(--pink);color:#fff;text-shadow:var(--outline);box-shadow:0 0 0 3px var(--ink), 0 0 0 6px #fff;animation:stamp .3s var(--press) .5s both;border-radius:14px;padding:8px 18px;font-size:22px;font-weight:900;transform:rotate(-4deg)}@keyframes stamp{0%{opacity:0;transform:scale(2.2)rotate(-12deg)}to{opacity:1;transform:scale(1)rotate(-4deg)}}.overlay .best{background:var(--paper);color:var(--ink);box-shadow:0 0 0 3px var(--ink), 0 0 0 6px #fff;font-variant-numeric:tabular-nums;border-radius:16px;align-items:center;gap:6px;padding:4px 14px 4px 6px;font-size:18px;font-weight:900;display:flex}.overlay .best .ic{width:26px;height:30px}.overlay .demo{background:var(--paper);width:min(320px,84vw);box-shadow:var(--sticker);animation:stickon .3s var(--press) .25s both;border-radius:28px;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.overlay .dpad{border:3px dashed var(--ink);background:#d9d0f0;border-radius:50%;flex-direction:column;justify-content:space-between;align-items:center;width:88px;height:88px;padding:4px 0;display:flex;position:relative}.overlay .dpad i{z-index:1;background:var(--yellow);clip-path:polygon(50% 0,100% 100%,0 100%);width:22px;height:15px;filter:drop-shadow(0 0 0 var(--ink));position:relative}.overlay .dpad i.down{transform:rotate(180deg)}.overlay .dpad .t{pointer-events:none;width:42px;height:auto;margin:-20px 0 0 -21px;position:absolute;top:50%;left:50%}.overlay .dpad.l .t{animation:.8s ease-in-out infinite rubA}.overlay .dpad.r .t{transform-origin:50%;animation:.8s ease-in-out infinite rubB}.overlay .dbike{justify-content:center;align-items:center;width:92px;height:60px;display:flex;position:relative}.overlay .dbike .ic{width:80px;height:62px;animation:.4s ease-in-out infinite roll}.overlay .dbike .lines{background:repeating-linear-gradient(transparent 0 5px, var(--cyan) 5px 9px);border-radius:4px;width:30px;height:22px;animation:.4s linear infinite lines;position:absolute;top:18px;left:-6px}@keyframes roll{50%{transform:translateY(-3px)rotate(-2deg)}}@keyframes lines{0%{opacity:1;transform:translate(6px)}to{opacity:.2;transform:translate(-10px)}}.overlay .pc{text-shadow:var(--outline);font-size:14px;font-weight:800;display:none}@media (hover:hover) and (pointer:fine){.overlay .pc{display:block}}.overlay.title>button,.overlay.title .subbuttons{animation:stickon .3s var(--press) both}.overlay.title>button{animation-delay:.35s}.overlay.title .subbuttons{animation-delay:.42s}.overlay button.go{animation:stickon .3s var(--press) .35s both, gobounce .9s ease-in-out .7s infinite!important}@media (prefers-reduced-motion:reduce){.overlay .dpad .t,.overlay .dbike .ic,.overlay .dbike .lines{animation-duration:1.6s}}.overlay.result{background:radial-gradient(circle at 50% 30%,#ffecf659,#3a285066);justify-content:center;gap:18px}.overlay .award{visibility:hidden;transform-origin:50% -20%;width:196px;position:relative}.overlay .award.ready{visibility:visible;animation:swing .8s var(--press) both}.overlay .award img{width:100%;height:auto;display:block}.overlay .award .place{color:var(--ink);text-shadow:0 3px #ffffffb3;font-variant-numeric:tabular-nums;font-size:64px;font-weight:900;line-height:1;position:absolute;top:66%;left:0;right:0;transform:translateY(-50%)}.overlay .award .place small{font-size:24px}.overlay .award.plain{background:var(--paper);width:150px;height:150px;box-shadow:var(--sticker);border-radius:50%}.overlay .award.plain .place{top:50%}@keyframes swing{0%{transform:translateY(-120%)rotate(18deg)}55%{transform:rotate(-9deg)}80%{transform:rotate(4deg)}to{transform:none}}.overlay .timeplate{aspect-ratio:600/216;background:url(./time-plate-Bppjc0j7.webp) 50%/contain no-repeat;justify-content:center;align-items:center;width:min(300px,80vw);padding-top:6%;display:flex;position:relative}.overlay .timeplate .time{color:var(--ink);font-variant-numeric:tabular-nums;font-size:44px;font-weight:900}.overlay .timeplate .badge{background:var(--pink);color:#fff;width:76px;height:76px;text-shadow:var(--outline);clip-path:polygon(50% 0,61% 12%,77% 6%,80% 23%,96% 27%,89% 42%,100% 55%,86% 64%,90% 81%,73% 81%,65% 96%,50% 87%,35% 96%,27% 81%,10% 81%,14% 64%,0 55%,11% 42%,4% 27%,20% 23%,23% 6%,39% 12%);animation:stamp .3s var(--press) .85s both;justify-content:center;align-items:center;font-size:15px;font-weight:900;line-height:1.1;display:flex;position:absolute;top:-14px;right:-10px}.overlay .stats{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.overlay .stats>div{background:var(--paper);color:var(--ink);box-shadow:0 0 0 3px var(--ink), 0 0 0 6px #fff;border-radius:20px;align-items:center;gap:4px;padding:6px 14px 6px 8px;font-weight:900;display:flex}.overlay .stats b{font-variant-numeric:tabular-nums;font-size:24px}.overlay .stats small{font-size:14px}.overlay .stats .si .ic{width:32px;height:25px}.overlay.result .r1{animation-delay:0s}.overlay.result .r2{animation:stickon .3s var(--press) .55s both}.overlay.result .r3{animation:stickon .3s var(--press) .75s both}.overlay.result .r4{animation:stickon .3s var(--press) .95s both}.overlay .confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.overlay .confetti i{top:-20px;left:var(--x);opacity:0;background:var(--yellow);width:10px;height:16px;box-shadow:0 0 0 2px var(--ink);border-radius:3px;position:absolute}.overlay .confetti i:nth-child(3n){background:var(--pink)}.overlay .confetti i:nth-child(3n+1){background:var(--cyan)}.overlay .confetti.on i{animation:confetti var(--t) cubic-bezier(.4, .1, .8, .9) calc(.35s + var(--d)) 1 both}@keyframes confetti{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:1;transform:translateY(110vh) rotate(calc(200deg + var(--i) * 37deg))}}@media (prefers-reduced-motion:reduce){.overlay .confetti{display:none}.overlay .award{animation-duration:.3s}}.hud .lesson .lretry,.hud .lesson .lnext,.hud .lesson .lskip{border:3px solid var(--ink);color:var(--ink);box-shadow:0 4px 0 var(--lav), 0 4px 0 3px var(--ink);transition:transform .15s var(--press), box-shadow .15s var(--press);border-radius:14px;font-weight:900}.hud .lesson .lretry{background:#ffd7e8}.hud .lesson .lnext{background:var(--yellow);box-shadow:0 4px 0 #c99a12, 0 4px 0 3px var(--ink)}.hud .lesson .lskip{background:#fff}.hud .lesson button:active{box-shadow:0 1px 0 var(--lav), 0 1px 0 3px var(--ink);transform:translateY(3px)}.sheet .seg button .ic{vertical-align:-4px;width:22px;height:20px;margin-right:4px}.hud .lesson .lbtns button{min-height:48px;padding:0 14px;font-size:15px}.hud .lesson .lnext{flex:1.4}.hud .lesson .lretry,.hud .lesson .lskip{background:var(--paper);flex:1}.hud .cadence{height:170px;top:-190px;bottom:auto;right:-12px}.hud .cadence .meter{height:100%}.hud.paused .count{visibility:hidden}.hud .curve{letter-spacing:0;width:58px;height:62px;box-shadow:none;filter:drop-shadow(0 4px #3a285059);background:0 0;border-radius:0;padding:0;font-size:0}.hud .curve:before,.hud .curve:after{content:"";clip-path:polygon(0 50%,48% 0,100% 0,52% 50%,100% 100%,48% 100%);position:absolute;inset:0}.hud .curve:before{background:var(--ink)}.hud .curve:after{background:repeating-linear-gradient(0deg,#ff94c8 0 9px,#fff 9px 18px);inset:5px 4px 5px 7px}.hud .curve.right{transform:scaleX(-1)}:root{--gutter:18px;--safe-top:env(safe-area-inset-top);--hud-row1:calc(var(--safe-top) + 14px);--pads-top:calc(100vh - env(safe-area-inset-bottom) - 20px - min(30vh, 260px))}.hud .top{top:var(--hud-row1);left:var(--gutter);right:var(--gutter);align-items:center}.hud .rank-num{font-size:40px}.hud .rank-of{font-size:16px}.hud .timer{margin-right:80px}.hud .pausebtn{left:auto;right:var(--gutter);top:var(--hud-row1);width:44px;height:44px;margin-left:0}.hud .progress{top:calc(var(--safe-top) + 88px);left:calc(var(--gutter) + 6px);right:72px}.hud .breath{top:calc(var(--safe-top) + 128px);left:var(--gutter)}.hud .tilt{top:calc(var(--safe-top) + 130px);right:var(--gutter)}.hud .coach-slip,.hud .coach-tilt{top:calc(var(--safe-top) + 176px)}.hud .center{top:max(30%, calc(var(--safe-top) + 250px));height:230px;display:block}.hud .center .count,.hud .center .callout{white-space:nowrap;text-align:center;position:absolute;top:0;left:50%;translate:-50%}.hud .center .count:empty{display:none}.hud .center .slip{left:var(--gutter);top:calc(var(--pads-top) - 112px);width:80px;position:fixed}.hud .curve{top:calc(var(--pads-top) - 214px)}.hud .curve.left{left:var(--gutter)}.hud .curve.right{right:48px}.hud .pads{left:var(--gutter);right:30px}.hud.tutorial .breath{top:calc(var(--hud-row1) + 9px)}.hud.tutorial .lesson{top:calc(var(--safe-top) + 92px);left:var(--gutter);right:var(--gutter)}.overlay,.overlay.title{padding:calc(var(--safe-top) + 92px) var(--gutter) calc(env(safe-area-inset-bottom) + 8vh);gap:28px}.overlay .mute{top:var(--hud-row1);right:var(--gutter)}.overlay .plaque{width:min(310px,80vw)}.overlay .subbuttons{gap:26px}.overlay .demo{width:min(318px, calc(100vw - 2 * var(--gutter) - 16px))}.overlay.result{padding-top:calc(var(--safe-top) + 24px);gap:28px}.overlay .award{width:min(196px,24vh)}.overlay .stats{gap:22px 24px;max-width:348px}.overlay.title>button:not(.mute){margin-top:6px}.overlay.title>button.go{margin-top:12px}.overlay .subbuttons{margin-top:4px}.overlay .stamp+.best,.overlay.result>button.ghost{margin-top:6px}.sheet .panel{gap:18px;padding:22px 20px}@media (max-height:760px){.overlay,.overlay.title{padding-top:calc(var(--safe-top) + 88px);padding-bottom:calc(env(safe-area-inset-bottom) + 4vh);gap:22px}.overlay .plaque{width:min(270px,72vw)}.hud .cadence{height:120px;top:-140px}.overlay .subbuttons{margin-top:8px}.overlay.title>button:not(.mute){margin-top:9px}.overlay.title>button.go{margin-top:16px}.overlay.result>button.ghost{margin-top:8px}.overlay .demo{padding:6px 14px}.overlay .dpad{width:72px;height:72px}.overlay .dbike .ic{width:70px;height:54px}.overlay button{min-height:58px;font-size:23px}.overlay button.ghost{min-height:46px;font-size:17px}.overlay.result{padding-top:calc(var(--safe-top) + 14px);gap:22px}.overlay .stats{gap:22px 24px}.overlay .timeplate{width:min(250px,70vw)}.overlay .timeplate .time{font-size:38px}.overlay .stats b{font-size:20px}.overlay .stats>div{padding:4px 12px 4px 6px}.sheet .panel{gap:14px;padding:18px}.sheet button{min-height:48px}}.overlay .plaque{container-type:inline-size}.overlay .plaque h1{white-space:nowrap}.overlay .plaque h1 .b{letter-spacing:0;font-size:13.6cqw}.overlay .plaque h1 .a{font-size:7.6cqw}.hud .slip .ring:after{content:"";opacity:0;background:conic-gradient(var(--yellow) calc(var(--chain-left,0) * 360deg), transparent 0);border-radius:50%;position:absolute;inset:-7px;-webkit-mask:radial-gradient(closest-side,#0000 80%,#000 82%);mask:radial-gradient(closest-side,#0000 80%,#000 82%)}.hud .slip.chaining .ring:after{opacity:1}.hud .slip .chainbadge{background:var(--yellow);min-width:38px;color:var(--ink);box-shadow:0 0 0 3px var(--ink), 0 0 0 5px #fff;border-radius:14px;padding:1px 7px;font-size:18px;font-weight:900;display:none;position:absolute;top:-10px;right:-14px}.hud .slip.chaining .chainbadge{animation:pop .3s var(--press);display:block}.hud .callout.chain{color:var(--cyan);font-size:50px}.hud .callout.chain.big{color:var(--yellow);text-shadow:var(--outline), 0 0 18px #7fe3ffe6;font-size:58px}.hud .callout.chainend{color:#d9d0f0;font-size:24px}.hud .callout{line-height:1.05;font-size:min(42px,10vw)!important}.hud .callout.boost,.hud .callout.combo,.hud .callout.chain{font-size:min(46px,11vw)!important}.hud .callout.chain.big,.hud .callout.goal{font-size:min(54px,12.5vw)!important}.hud .callout.spurt{font-size:min(36px,8.6vw)!important}.hud .curve.right{top:calc(var(--pads-top) - 140px)}.overlay .plaque h1{top:49%;bottom:10%}.overlay .plaque h1 .b{align-items:flex-end;display:inline-flex}.overlay .plaque h1 .b i{transform:translateY(calc(var(--t) * var(--t) * .15em)) rotate(calc(var(--t) * 6.5deg));transform-origin:50% 80%;font-style:normal;display:inline-block}.overlay .plaque h1 .a{top:-30%;transform:rotate(-9deg)}.overlay button.ghost:active{box-shadow:0 2px 0 var(--lav), 0 2px 0 3px var(--ink), 0 -3px 0 6px #fff, 0 2px 0 6px #fff}@media (max-height:760px){.hud .powermsg{font-size:min(26px,7vw)}}.hud .cadence .meter:after{content:"";background:linear-gradient(#ff8a3c,#ff4a1f);height:0;position:absolute;bottom:0;left:0;right:0}.hud.fullpower .cadence .meter:after{height:calc(var(--rush,0) * 100%);transition:height .12s linear}.hud.fullpower .cadence .meter{box-shadow:0 0 0 2px #fff, 0 0 12px color-mix(in srgb, #ffc21a, #ff4a1f calc(var(--rush,0) * 100%))}.overlay.result{padding-bottom:calc(env(safe-area-inset-bottom) + 18px);background:linear-gradient(#3a285061,#3a285000 36% 60%,#3a28506b);justify-content:flex-start;gap:14px}.overlay.result .award{width:min(150px,19vh)}.overlay.result .award .place{font-size:50px}.overlay.result .award .place small{font-size:20px}.overlay.result .award.plain{width:min(120px,16vh);height:min(120px,16vh)}.overlay.result .timeplate{width:min(250px,66vw)}.overlay.result .timeplate .time{font-size:38px}.overlay.result .stats{flex-wrap:nowrap;gap:14px;margin-top:auto}.overlay.result>button:not(.ghost){margin-top:6px}@media (max-height:760px){.overlay.result{gap:10px}.overlay.result .timeplate{width:min(210px,58vw)}.overlay.result .timeplate .time{font-size:32px}}.overlay.result .best{margin-top:8px}.overlay.result .stats{gap:20px}.overlay.result .stats>div{padding:3px 10px 3px 5px}.overlay.result .stats b{font-size:18px}.overlay.result .stats small{font-size:12px}.overlay.result .stats .si .ic{width:28px;height:22px}.overlay.result .stats+button{margin-top:16px}.overlay.result>button.ghost{margin-top:22px}.overlay.result .award{margin-bottom:12px}.overlay.result .award .place{line-height:1.2}.overlay.result .timeplate .badge{animation-name:stampflat}@keyframes stampflat{0%{opacity:0;transform:scale(2.2)}to{opacity:1;transform:none}}.overlay.result .stats>div{white-space:nowrap;flex:none}@media (max-width:380px){.overlay.result .stats{gap:14px}.overlay.result .stats>div{gap:2px;padding:3px 8px 3px 4px}.overlay.result .stats b{font-size:16px}.overlay.result .stats small{font-size:11px}.overlay.result .stats .si .ic{width:24px;height:19px}}.overlay.result .r2,.overlay.result .r3,.overlay.result .r4{animation-name:stickup}@keyframes stickup{0%{opacity:0;transform:translateY(60px)scale(.92)}to{opacity:1;transform:none}}.overlay.result .timeplate{padding-top:0;padding-bottom:2px}.overlay.result .timeplate .time{transform:translateY(.3em)}.overlay.result .timeplate .badge{top:-22px;right:-34px}@media (max-height:760px){.overlay.result .timeplate .badge{width:62px;height:62px;font-size:13px;top:-20px;right:-30px}}.overlay .timewrap{position:relative}.overlay .timewrap .badge{background:var(--pink);color:#fff;width:76px;height:76px;text-shadow:var(--outline);clip-path:polygon(50% 0,61% 12%,77% 6%,80% 23%,96% 27%,89% 42%,100% 55%,86% 64%,90% 81%,73% 81%,65% 96%,50% 87%,35% 96%,27% 81%,10% 81%,14% 64%,0 55%,11% 42%,4% 27%,20% 23%,23% 6%,39% 12%);animation:stampflat .3s var(--press) .85s both;justify-content:center;align-items:center;font-size:15px;font-weight:900;line-height:1.1;display:flex;position:absolute;top:-22px;right:-34px}@media (max-height:760px){.overlay .timewrap .badge{width:62px;height:62px;font-size:13px;top:-20px;right:-30px}}.hud #mute{top:calc(var(--safe-top) + 126px);right:var(--gutter);background:var(--paper);width:44px;min-width:0;height:44px;min-height:0;box-shadow:0 0 0 3px var(--ink), 0 0 0 6px #fff, 0 4px 0 6px #3a28504d;pointer-events:auto;touch-action:manipulation;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;left:auto}.hud #mute .ic{width:26px;height:23px}.hud #mute:active{transform:scale(.92)}.hud .tilt{right:calc(var(--gutter) + 62px)}.hud.tutorial #mute{top:var(--hud-row1);right:calc(var(--gutter) + 64px)}.hud .powermsg{top:max(24%, calc(var(--safe-top) + 194px))}@media (max-height:760px){.hud .powermsg{top:calc(var(--safe-top) + 193px);font-size:min(22px,6vw)}}@media (max-height:700px){.hud .curve{top:calc(var(--pads-top) - 204px)}}@media (max-width:380px){.hud .breath .bar{width:100px}.overlay.result .stats{gap:20px}}.hud .pad.idle:before{border-color:#ff8a5c;animation:.5s ease-in-out infinite alternate idlepulse}.hud .pad.idle .ghost{opacity:1}.hud .pad.left.idle .ghost{animation:.75s ease-in-out infinite ghostA}.hud .pad.right.idle .ghost{animation:.75s ease-in-out infinite ghostB}@keyframes idlepulse{0%{transform:scale(1)}to{transform:scale(1.08)}}.overlay.result .subbuttons{gap:20px;margin-top:22px}.overlay.result .subbuttons button{min-width:132px}.sheet .panel.ranking{gap:12px;width:min(350px,100% - 8px);max-height:calc(100dvh - 60px)}.sheet .entry[hidden]{display:none}.sheet .entry{box-shadow:0 0 0 3px var(--ink);background:#fff4c2;border-radius:16px;gap:8px;padding:12px;font-size:15px;font-weight:800;display:grid}.sheet .entry .erow{gap:8px;display:flex}.sheet .entry input{border:3px solid var(--ink);min-width:0;min-height:48px;color:var(--ink);background:#fff;border-radius:12px;flex:1;padding:0 12px;font:800 18px inherit}.sheet .entry button{min-height:48px;padding:0 16px;font-size:18px}.sheet .entry .emsg{color:#d43b6a;min-height:1.2em;font-size:14px}.sheet .entry .emsg:empty{display:none}.sheet .board{overscroll-behavior:contain;min-height:120px;max-height:46dvh;box-shadow:inset 0 0 0 3px var(--ink);background:#f3eefb;border-radius:14px;margin:0;padding:4px;list-style:none;overflow-y:auto}.sheet .board li{border-radius:10px;grid-template-columns:2.4em 1fr auto;align-items:center;gap:8px;min-height:36px;padding:0 10px;font-size:16px;font-weight:800;display:grid}.sheet .board li:nth-child(odd){background:#ffffffb3}.sheet .board li.me{background:var(--yellow);box-shadow:inset 0 0 0 2px var(--ink)}.sheet .board li.note{text-align:center;background:0 0;padding:16px 8px;font-weight:700;display:block}.sheet .board .rk{text-align:right;font-weight:900}.sheet .board .nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sheet .board .tm{font-variant-numeric:tabular-nums}.sheet .board li:first-child .rk{color:#d49b00}.sheet .mine{text-align:center;min-height:1.3em;font-size:16px;font-weight:900}.sheet .mine:empty{display:none}.sheet .panel>button+button{margin-top:4px}.sheet .panel.ranking:has(.entry:not([hidden])) .board{max-height:30dvh}.sheet .who[hidden]{display:none}.sheet .who{justify-content:space-between;align-items:center;gap:10px;font-size:15px;font-weight:800;display:flex}.sheet .who .wname{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sheet .who button{flex:none;min-height:44px;padding:0 14px;font-size:15px}.sheet .panel.ranking:has(.entry.rename:not([hidden])) .board{max-height:26dvh}@media (max-width:380px){.sheet:has(.panel.ranking){padding-left:10px;padding-right:10px}.sheet .panel.ranking{padding-left:14px;padding-right:14px}.sheet .board li{grid-template-columns:2em 1fr auto;gap:6px;padding:0 8px}}.overlay .rankbtn{top:var(--hud-row1);left:var(--gutter);background:var(--paper);min-width:0;height:48px;min-height:0;box-shadow:0 4px 0 var(--lav), 0 4px 0 3px var(--ink), 0 0 0 6px #fff, 0 4px 0 6px #fff;border-radius:24px;align-items:center;gap:4px;padding:0 14px 0 8px;font-size:16px;font-weight:900;display:flex;position:absolute}.overlay .rankbtn .ic{width:26px;height:30px}.overlay .rankbtn:active{box-shadow:0 0 0 var(--lav), 0 0 0 3px var(--ink), 0 0 0 6px #fff;transform:translateY(4px)}.overlay.title{padding-top:calc(var(--safe-top) + 104px)}@media (max-height:700px){.overlay.practiced-title .plaque{width:min(244px,66vw)}.overlay .plaque+.stamp{margin-top:8px}}.overlay.result>button.share{white-space:nowrap;color:#fff;min-width:0;min-height:46px;box-shadow:0 5px 0 #000, 0 5px 0 3px var(--ink), 0 0 0 6px #fff, 0 5px 0 6px #fff;background:#14101c;border-radius:18px;justify-content:center;align-items:center;gap:8px;margin-top:6px;padding:0 20px;font-size:17px;font-weight:800;display:inline-flex}.overlay.result>button.share:active{box-shadow:0 2px 0 #000, 0 2px 0 3px var(--ink), 0 -3px 0 6px #fff, 0 2px 0 6px #fff}.overlay.result>button.share .xlogo{flex:none;width:18px;height:18px}.overlay.result>button.share+button.again{margin-top:12px}.overlay.result .subbuttons{gap:24px}.overlay.result .subbuttons button{min-width:0;padding:0 16px}.overlay.result .subbuttons button.share{white-space:nowrap;color:#fff;min-height:50px;box-shadow:0 5px 0 #000, 0 5px 0 3px var(--ink), 0 0 0 6px #fff, 0 5px 0 6px #fff;background:#14101c;border-radius:18px;justify-content:center;align-items:center;gap:6px;font-size:17px;font-weight:800;display:inline-flex}.overlay.result .subbuttons button.share:active{box-shadow:0 2px 0 #000, 0 2px 0 3px var(--ink), 0 -3px 0 6px #fff, 0 2px 0 6px #fff}.overlay.result .subbuttons button.share .xlogo{flex:none;width:18px;height:18px}@media (max-width:430px){.overlay.result .subbuttons{gap:20px}.overlay.result .subbuttons button{padding:0 12px;font-size:16px}.overlay.result .subbuttons button.share{width:54px;padding:0}.overlay.result .subbuttons button.share span{display:none}}@media (max-height:760px){.overlay.result .subbuttons button.share{min-height:46px}}.sheet .tiltstate{color:#6b5a86;gap:8px;margin-top:-6px;font-size:13px;font-weight:700;line-height:1.4;display:grid}.sheet .tiltstate[data-status=ok]{color:#2f8a4a}.sheet .tiltstate button[hidden]{display:none}.sheet .tiltstate button{min-height:44px;font-size:15px}
