@keyframes lb-row-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.lb-row-in{animation:.45s cubic-bezier(.22,1,.36,1) both lb-row-in}@keyframes lb-rise{0%{opacity:0;transform:scaleY(.55)}to{opacity:1;transform:scaleY(1)}}.lb-rise{transform-origin:bottom;animation:.5s cubic-bezier(.22,1,.36,1) both lb-rise}@keyframes lb-bob{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-3px)rotate(4deg)}}.lb-bob{animation:2.4s ease-in-out infinite lb-bob}@keyframes lb-shine{0%{transform:translate(-130%)skew(-18deg)}to{transform:translate(230%)skew(-18deg)}}.lb-shine:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000 30%,#ffffff8c 50%,#0000 70%);animation:3.8s ease-in-out .6s infinite lb-shine;position:absolute;inset:0;transform:translate(-130%)skew(-18deg)}@keyframes lb-insert{0%{opacity:0;transform:scale(.9)translateY(-6px)}55%{opacity:1;background-color:color-mix(in srgb, var(--brand) 24%, var(--card));transform:scale(1.03)}to{transform:scale(1)}}.lb-insert{animation:.6s cubic-bezier(.22,1.2,.36,1) both lb-insert,2.2s ease-in-out .6s infinite lb-mine}@keyframes lb-mine{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--brand) 30%, transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 14%, transparent)}}.lb-mine{animation:2.2s ease-in-out infinite lb-mine}
.bwf-board{container-type:inline-size}.bwf-board:fullscreen{aspect-ratio:auto;border:none;border-radius:0;width:100vw;height:100vh;margin:0}@keyframes cmd-slam{0%{opacity:0;filter:blur(6px);transform:scale(.4)rotate(-6deg)}55%{opacity:1;filter:blur();transform:scale(1.18)rotate(2deg)}72%{transform:scale(.94)rotate(-1deg)}to{transform:scale(1)rotate(0)}}.animate-cmd-slam{animation:.42s cubic-bezier(.18,.89,.32,1.28) both cmd-slam}@keyframes cmd-shake{0%,to{transform:translate(0)}15%{transform:translate(-12px)rotate(-2deg)}30%{transform:translate(12px)rotate(2deg)}45%{transform:translate(-9px)}60%{transform:translate(9px)}80%{transform:translate(-4px)}}.animate-cmd-shake{animation:.4s ease-in-out both cmd-shake}@keyframes cmd-confirm{0%{transform:scale(1)}40%{transform:scale(1.16)}to{transform:scale(1)}}.animate-cmd-confirm{animation:.35s ease-out both cmd-confirm}@keyframes pop-in{0%{opacity:0;transform:scale(.4)}70%{opacity:1;transform:scale(1.15)}to{transform:scale(1)}}.animate-pop-in{animation:.3s cubic-bezier(.18,.89,.32,1.28) both pop-in}@keyframes bwf-burst-correct{0%{background-color:#10b98166;box-shadow:inset 0 0 0 8px #10b981d9}to{background-color:#10b98100;box-shadow:inset 0 0 0 8px #10b98100}}.bwf-burst-correct{animation:.55s ease-out forwards bwf-burst-correct}@keyframes bwf-burst-wrong{0%{background-color:#ef44446b;box-shadow:inset 0 0 0 8px #ef4444d9}to{background-color:#ef444400;box-shadow:inset 0 0 0 8px #ef444400}}.bwf-burst-wrong{animation:.55s ease-out forwards bwf-burst-wrong}@keyframes score-bump{0%{transform:scale(1)}30%{transform:scale(1.22)}to{transform:scale(1)}}.animate-score-bump{animation:.35s ease-out score-bump;display:inline-block}@keyframes score-float{0%{opacity:0;transform:translateY(6px)}25%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-18px)}}.animate-score-float{animation:.9s ease-out forwards score-float}@keyframes bwf-combo-fever{0%,to{background-color:#f59e0b1f;box-shadow:0 0 #f59e0b00}50%{background-color:#f59e0b38;box-shadow:0 0 14px 2px #f59e0b8c}}.bwf-combo-fever{animation:1s ease-in-out infinite bwf-combo-fever}@keyframes penalty-float{0%{opacity:0;transform:translateY(-2px)}20%{opacity:1;transform:translateY(2px)}to{opacity:0;transform:translateY(22px)}}.animate-penalty-float{animation:.9s ease-out forwards penalty-float}@keyframes combo-pop{0%{transform:scale(.6)}55%{transform:scale(1.2)}to{transform:scale(1)}}.animate-combo-pop{animation:.3s cubic-bezier(.18,.89,.32,1.28) both combo-pop}@keyframes time-pulse{0%,to{opacity:1}50%{opacity:.35}}.animate-time-pulse{animation:.8s ease-in-out infinite time-pulse}@keyframes cmd-flip{0%{opacity:0;transform:rotateY(82deg)scale(.9)}60%{opacity:1;transform:rotateY(-14deg)scale(1.05)}to{transform:rotateY(0)scale(1)}}.animate-cmd-flip{animation:.45s cubic-bezier(.18,.89,.32,1.28) both cmd-flip}@keyframes swap-arrow{0%,to{transform:translate(-2px)scale(1)}50%{transform:translate(2px)scale(1.25)}}.animate-swap-arrow{animation:.7s ease-in-out infinite swap-arrow}.bwf-held{z-index:5;pointer-events:none;opacity:.45;width:clamp(7rem,26cqw,30rem);transition:transform .42s cubic-bezier(.18,.89,.32,1.28),opacity .25s ease-out;position:absolute;bottom:0}.bwf-held-white{transform-origin:18% 90%;left:.25rem;transform:rotate(62deg)}.bwf-held-blue{transform-origin:82% 90%;right:.25rem;transform:rotate(-62deg)}.bwf-held.bwf-raised{opacity:1;transform:rotate(0)}.bwf-sway{transform-origin:50% 88%;position:relative}.bwf-raised .bwf-sway{animation:1.5s ease-in-out infinite bwf-sway}@keyframes bwf-sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.bwf-glow{z-index:-1;pointer-events:none;border-radius:50%;position:absolute;inset:-18%}.bwf-glow-blue{background:radial-gradient(circle,#2563ebd9 0%,#2563eb00 68%)}.bwf-glow-white{background:radial-gradient(circle,#fffffff2 0%,#fff0 68%)}.bwf-stage-vignette{background:radial-gradient(120% 95% at 50% 45%,#0000 38%,#0a0c1447 78%,#0a0c147a 100%)}@keyframes idle-float{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-12px)rotate(4deg)}}.animate-idle-float{animation:2.6s ease-in-out infinite idle-float}
.fp-scenery{pointer-events:none;overflow:hidden}.fp-layer{position:absolute;left:0;right:0;overflow:hidden}.fp-ridge{opacity:.8;height:41%;bottom:0}.fp-clouds{opacity:.9;height:34%;top:5%}.fp-ground{height:20%;bottom:0}.fp-track{will-change:transform;width:200%;animation-name:fp-scroll;animation-timing-function:linear;animation-iteration-count:infinite;display:flex;position:absolute;inset:0}.fp-track>.fp-tile{background-repeat:no-repeat;background-size:100% 100%;flex:0 0 50%;width:50%;height:100%}@keyframes fp-scroll{to{transform:translate(-50%)}}.fp-friend-layer{height:16%;position:absolute;bottom:2%;left:0;right:0}.fp-friend{will-change:transform;height:100%;animation-name:fp-friend-cross;animation-duration:26s;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;bottom:0;left:112%}.fp-friend>svg{width:auto;height:100%;display:block}@keyframes fp-friend-cross{0%{transform:translate(0)}52%{transform:translate(-142cqw)}to{transform:translate(-142cqw)}}.fp-sky-overlay{pointer-events:none;transition:opacity 1.2s;position:absolute;inset:0}.fp-sun-wrap{width:24%;position:absolute;top:52%;left:74%;transform:translate(-50%,-50%)}.fp-sun-glow{background:radial-gradient(circle,#ffd69cb3 0%,#ffd69c00 68%);border-radius:50%;position:absolute;inset:-70%}.fp-sun{width:100%;height:auto;display:block;position:relative}.fp-aurora{opacity:.5;filter:blur(7px);will-change:transform;width:112%;height:42%;animation:11s ease-in-out infinite fp-aurora-sway;position:absolute;top:5%;left:-6%}@keyframes fp-aurora-sway{0%,to{transform:translate(-2%)}50%{transform:translate(2%)}}.fp-star{background:#fff;border-radius:50%;animation:3.2s ease-in-out infinite fp-twinkle;position:absolute}@keyframes fp-twinkle{0%,to{opacity:.25}50%{opacity:.9}}.fp-moon-wrap{width:13%;position:absolute;top:13%;right:16%}.fp-moon-glow{background:radial-gradient(circle,#e2ecfa4d 0%,#e2ecfa00 60%);border-radius:50%;position:absolute;inset:-22%}.fp-moon{width:100%;height:auto;display:block;position:relative}.fp-stage-layer{transition:opacity 1.2s;position:absolute;inset:0}.fp-ridge-tall{opacity:.6;height:55%;bottom:0}.fp-clouds-extra{opacity:.85;height:34%;top:5%}.fp-friend-glow{aspect-ratio:1;background:radial-gradient(circle,#ffd08a80 0%,#ffd08a00 64%);border-radius:50%;width:150%;position:absolute;bottom:16%;left:50%;transform:translate(-50%)}.fp-snow-layer{z-index:5;pointer-events:none;transition:opacity 1.2s;position:absolute;inset:0;overflow:hidden}.fp-flake{will-change:transform;background:#fff;border-radius:50%;animation:linear infinite fp-snowfall;position:absolute;top:-8%}@keyframes fp-snowfall{0%{transform:translate(0)}to{transform:translate(var(--fp-drift,0px), 116cqh)}}.fp-gust{filter:blur(1px);will-change:transform;background:linear-gradient(90deg,#fff0 0%,#ffffff8c 50%,#fff0 100%);border-radius:2px;width:46%;height:2px;animation:linear infinite fp-gust-sweep;position:absolute;left:110%;transform:rotate(9deg)}@keyframes fp-gust-sweep{0%{opacity:0;transform:translate(0)rotate(9deg)}12%{opacity:.8}88%{opacity:.8}to{opacity:0;transform:translate(-170cqw)rotate(9deg)}}
.fp-sky{background:linear-gradient(#d6effb 0%,#eaf7fd 52%,#fff 100%);transition:background 1.2s;container-type:size}.fp-stage-1{background:linear-gradient(#d6effb 0%,#eaf7fd 52%,#fff 100%)}.fp-stage-2{background:linear-gradient(#cfe7fb 0%,#e6f2fd 52%,#fbfeff 100%)}.fp-stage-3{background:linear-gradient(#c7d0ec 0%,#e2dcef 52%,#f8e2d2 100%)}.fp-stage-4{background:linear-gradient(#3f4d78 0%,#6f80a8 50%,#bcc9de 100%)}.fp-glacier{filter:drop-shadow(0 3px 5px #357fad47)}.fp-penguin-rim{z-index:-1;background:radial-gradient(circle,#dceafc52 0%,#dceafc00 66%);border-radius:50%;position:absolute;inset:-20%}.fp-score{color:#fff;text-shadow:-1px -1px #00000059,1px -1px #00000059,-1px 1px #00000059,1px 1px #00000059,0 2px 6px #0006}@keyframes fp-flap-key{0%,to{transform:rotate(0)}50%{transform:rotate(-26deg)}}.fp-flap,.fp-flap-slow,.fp-flap-fast{animation:.5s ease-in-out infinite fp-flap-key}.fp-flap-slow{animation-duration:.9s}.fp-flap-fast{animation-duration:.22s}.fp-bird{filter:drop-shadow(0 3px 5px #14182047)}@keyframes fp-bird-flap-key{0%,to{transform:rotate(7deg)}50%{transform:rotate(-20deg)}}.fp-bird-flap{animation:1.2s ease-in-out infinite fp-bird-flap-key}.fp-bird-flap-fast{animation:.7s ease-in-out infinite fp-bird-flap-key}@keyframes fp-bird-flap-far-key{0%,to{transform:rotate(-5deg)}50%{transform:rotate(16deg)}}.fp-bird-flap-far{animation:1.2s ease-in-out infinite fp-bird-flap-far-key}.fp-bird-flap-far-fast{animation:.7s ease-in-out infinite fp-bird-flap-far-key}@keyframes fp-bird-bob-key{0%,to{transform:translateY(1.5px)}50%{transform:translateY(-2.5px)}}.fp-bird-bob{animation:1.2s ease-in-out infinite fp-bird-bob-key}.fp-bird-bob-fast{animation:.7s ease-in-out infinite fp-bird-bob-key}.fp-bird-wake{transform-box:fill-box;transform-origin:50%;animation:1.1s ease-out infinite fp-bird-wake-key}@keyframes fp-bird-wake-key{0%{opacity:0;transform:translate(0)scale(.3)}25%{opacity:.45}to{transform:translate(var(--wx,0), var(--wy,0)) scale(1.1);opacity:0}}@keyframes fp-pop-key{0%{opacity:0;transform:scale(.5)}30%{opacity:1;transform:scale(1.15)}to{opacity:0;transform:scale(1)}}.fp-pop{animation:.7s ease-out forwards fp-pop-key}@keyframes fp-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6%)}}.fp-bob{animation:2.4s ease-in-out infinite fp-bob}@keyframes fp-crash{0%{opacity:.55}to{opacity:0}}.fp-crash{background:#fff;animation:.5s ease-out forwards fp-crash}@keyframes fp-shake-key{0%,to{transform:translate(0)}20%{transform:translate(-6px,3px)}40%{transform:translate(5px,-3px)}60%{transform:translate(-4px,2px)}80%{transform:translate(3px,-1px)}}.fp-shake{animation:.4s ease-out fp-shake-key}@keyframes fp-popup-key{0%{opacity:0;transform:translate(-50%,-40%)scale(.8)}20%{opacity:1;transform:translate(-50%,-60%)scale(1.05)}to{opacity:0;transform:translate(-50%,-160%)scale(1)}}.fp-popup{animation:.9s ease-out forwards fp-popup-key}
.hr-board{background:linear-gradient(#8fd4ff,#dcf1ff);container-type:size}.hr-hud{color:#fff;text-shadow:0 1px 2px #00000073,0 0 1px #0009}.hr-zone{animation:1.8s ease-in-out infinite hr-zone-pulse}@keyframes hr-zone-pulse{0%,to{opacity:.65}50%{opacity:1}}.hr-hr-flash{background:radial-gradient(circle at var(--hr-flash-x,50%) var(--hr-flash-y,72%), #fffffff2, #fff4cc66 42%, transparent 72%);animation:.55s ease-out forwards hr-hr-flash-anim}@keyframes hr-hr-flash-anim{0%{opacity:0}12%{opacity:1}to{opacity:0}}.hr-hr-burst{animation:.7s cubic-bezier(.16,.84,.44,1) forwards hr-hr-burst-anim}@keyframes hr-hr-burst-anim{0%{opacity:1;transform:translate(-50%,-50%)scale(.2)rotate(-12deg)}to{opacity:0;transform:translate(-50%,-50%)scale(1.55)rotate(8deg)}}.hr-hr-ring{animation:.7s ease-out forwards hr-hr-ring-anim}@keyframes hr-hr-ring-anim{0%{opacity:.9;transform:translate(-50%,-50%)scale(.2)}to{opacity:0;transform:translate(-50%,-50%)scale(2.6)}}.hr-confetti{animation:1.9s ease-in forwards hr-confetti-anim;top:-6%}@keyframes hr-confetti-anim{0%{opacity:1;transform:translateY(0)translate(0)rotate(0)}to{transform:translateY(112cqh) translateX(var(--hr-drift,0)) rotate(var(--hr-spin,360deg));opacity:.85}}.hr-bob{animation:2.4s ease-in-out infinite hr-bob-anim}@keyframes hr-bob-anim{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.hr-pop{animation:.5s ease-out hr-pop-anim}@keyframes hr-pop-anim{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.hr-banner{animation:1.2s ease-out forwards hr-banner-anim}@keyframes hr-banner-anim{0%{opacity:0;transform:translateY(10px)scale(.7)}15%{opacity:1;transform:translateY(0)scale(1.06)}30%{opacity:1;transform:scale(1)}75%{opacity:1}to{opacity:0;transform:translateY(-16px)}}.hr-shake{animation:.6s ease-in-out hr-shake-anim}@keyframes hr-shake-anim{0%,to{transform:translate(0)}10%{transform:translate(-7px,4px)}25%{transform:translate(7px,-5px)}40%{transform:translate(-6px,-3px)}55%{transform:translate(6px,4px)}70%{transform:translate(-4px,2px)}85%{transform:translate(4px,-2px)}}.hr-banner-big{animation:2.2s ease-out forwards hr-banner-big-anim}@keyframes hr-banner-big-anim{0%{opacity:0;transform:translateY(12px)scale(.4)}9%{opacity:1;transform:translateY(0)scale(1.28)}17%{transform:scale(.95)}24%{transform:scale(1.08)}31%{opacity:1;transform:scale(1)}85%{opacity:1}to{opacity:0;transform:translateY(-22px)scale(1)}}
@keyframes log-rise{0%{opacity:0;transform:translateY(36%)scale(.86)}60%{opacity:1}80%{transform:translateY(-4%)scale(1.02)}to{opacity:1;transform:translateY(0)scale(1)}}.log-rise{animation:.26s cubic-bezier(.2,.8,.3,1) both log-rise}@keyframes log-hit{0%{transform:translateY(0)rotate(0)}25%{transform:translateY(3%)rotate(-2deg)}55%{transform:translateY(0)rotate(2deg)}to{transform:translateY(0)rotate(0)}}.log-hit{transform-origin:50% 100%;animation:.18s ease-out both log-hit}@keyframes log-leave-hop{0%{opacity:1;transform:translateY(0)}30%{transform:translateY(-22%)}to{opacity:0;transform:translateY(-8%)translate(14%)}}.log-leave-hop{animation:.34s ease-in both log-leave-hop}@keyframes log-leave-squish{0%{opacity:1;transform:scaleY(1)translateY(0)}22%{transform:scaleY(.55)translateY(10%)}to{opacity:0;transform:scaleY(.7)translate(42%)rotate(30deg)}}.log-leave-squish{transform-origin:50% 100%;animation:.34s ease-in both log-leave-squish}@keyframes log-fly-l{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(-62%,-28%)rotate(-42deg)}}@keyframes log-fly-r{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(62%,-28%)rotate(42deg)}}.log-half-l{transform-origin:100% 90%;animation:.36s ease-out both log-fly-l}.log-half-r{transform-origin:0 90%;animation:.36s ease-out both log-fly-r}.log-axe{transform-origin:18% 85%;transition:transform .15s ease-out;transform:translate(0%)rotate(42deg)}.log-axe.is-down{transition-duration:90ms;transition-timing-function:cubic-bezier(.3,.9,.25,1);transform:translate(10%,14%)rotate(95deg)}.log-chip{background:#e7c98c;border-radius:2px;width:9px;height:7px;animation:.5s ease-out both log-chip-fly;position:absolute;box-shadow:inset 0 0 0 1px #c79a5a}@keyframes log-chip-fly{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(var(--cx), var(--cy)) rotate(var(--cr))}}.log-chip-0{--cx:-34px;--cy:-28px;--cr:-120deg}.log-chip-1{--cx:30px;--cy:-34px;--cr:140deg}.log-chip-2{--cx:-46px;--cy:-8px;--cr:-60deg}.log-chip-3{--cx:44px;--cy:-12px;--cr:90deg}.log-chip-4{--cx:-18px;--cy:-42px;--cr:-160deg}.log-chip-5{--cx:20px;--cy:-46px;--cr:60deg}.log-chip-6{--cx:6px;--cy:-52px;--cr:200deg}@keyframes log-sfx{0%{opacity:0;transform:translate(-50%,6px)scale(.6)}25%{opacity:1;transform:translate(-50%,-6px)scale(1.1)}75%{opacity:1;transform:translate(-50%,-14px)scale(1)}to{opacity:0;transform:translate(-50%,-22px)scale(1)}}.log-sfx{white-space:nowrap;font-size:1.6rem;font-weight:900;animation:.6s ease-out both log-sfx;position:absolute;top:0;left:50%}.log-sfx-big{font-size:2.6rem}@keyframes log-tag{0%{opacity:0;transform:translateY(8px)scale(.7)}25%{opacity:1;transform:translateY(-4px)scale(1.12)}70%{opacity:1;transform:translateY(-10px)scale(1)}to{opacity:0;transform:translateY(-26px)scale(1)}}.log-penalty,.log-bonus{animation:.68s ease-out both log-tag}@keyframes log-pop{0%{opacity:0;transform:scale(.6)}40%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.log-pop{animation:.3s ease-out both log-pop}@keyframes log-timer-low{0%,to{opacity:1}50%{opacity:.45}}.log-timer-low{animation:.8s ease-in-out infinite log-timer-low}
@keyframes mq-flap{0%,to{transform:rotate(-17deg)}50%{transform:rotate(13deg)}}.mq-flap{animation:.13s linear infinite mq-flap}.mq-flap-far{animation:.13s linear -.04s infinite mq-flap}@keyframes mq-land{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.mq-land{animation:.26s cubic-bezier(.2,.8,.3,1) both mq-land}@keyframes mq-squash{0%{transform:scale(1)}35%{transform:scale(1.3,.62)}62%{transform:scale(1.12,.82)}to{transform:scale(1.2,.74)}}.mq-squash{transform-origin:50% 49%;animation:.3s cubic-bezier(.3,.85,.35,1) both mq-squash}@keyframes mq-feed{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.mq-feed{transform-origin:top;animation:linear forwards mq-feed}@keyframes mq-slap{0%{opacity:0;transform:translateY(-26px)scale(1.3)}30%{opacity:1;transform:translateY(0)scale(1.02)}42%{transform:translateY(2px)scale(.92)}56%{transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-16px)scale(1.08)}}.mq-slap{animation:.46s cubic-bezier(.3,.85,.35,1) both mq-slap}@keyframes mq-score{0%{opacity:0;transform:translateY(6px)scale(.8)}20%{opacity:1;transform:translateY(0)scale(1.08)}35%{transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-30px)scale(1)}}.mq-score{animation:.7s ease-out both mq-score}.mq-score-text{color:var(--foreground);-webkit-text-stroke:3px #fff;paint-order:stroke fill}.mq-score-text--perfect{color:var(--brand)}
.pm-board:fullscreen{aspect-ratio:auto;border:none;border-radius:0;width:100vw;height:100vh;margin:0}@keyframes pm-flash-in{0%{opacity:0;transform:scale(.55)}55%{opacity:1;transform:scale(1.12)}to{transform:scale(1)}}.pm-flash-in{animation:.28s cubic-bezier(.18,.89,.32,1.28) both pm-flash-in}@keyframes pm-pop-in{0%{opacity:0;transform:scale(.4)}70%{opacity:1;transform:scale(1.12)}to{transform:scale(1)}}.pm-pop-in{animation:.3s cubic-bezier(.18,.89,.32,1.28) both pm-pop-in}@keyframes pm-cell-fill{0%{transform:scale(.7)}55%{transform:scale(1.18)}to{transform:scale(1)}}.pm-cell-fill{animation:.3s cubic-bezier(.18,.89,.32,1.28) both pm-cell-fill}@keyframes pm-target-pulse{0%,to{border-color:#7c3aed80;box-shadow:0 0 #7c3aed00}50%{border-color:#7c3aedf2;box-shadow:0 0 0 4px #7c3aed2e}}.pm-target-pulse{animation:1.1s ease-in-out infinite pm-target-pulse}@keyframes pm-burst-correct{0%{background-color:#10b98152;box-shadow:inset 0 0 0 8px #10b981cc}to{background-color:#10b98100;box-shadow:inset 0 0 0 8px #10b98100}}.pm-burst-correct{animation:.5s ease-out forwards pm-burst-correct}@keyframes pm-burst-wrong{0%{background-color:#ef44446b;box-shadow:inset 0 0 0 8px #ef4444d9}to{background-color:#ef444400;box-shadow:inset 0 0 0 8px #ef444400}}.pm-burst-wrong{animation:.55s ease-out forwards pm-burst-wrong}@keyframes pm-burst-nudge{0%{background-color:#f59e0b29;box-shadow:inset 0 0 0 6px #f59e0b66}to{background-color:#f59e0b00;box-shadow:inset 0 0 0 6px #f59e0b00}}.pm-burst-nudge{animation:.4s ease-out forwards pm-burst-nudge}@keyframes pm-score-bump{0%{transform:scale(1)}30%{transform:scale(1.18)}to{transform:scale(1)}}.pm-score-bump{animation:.32s ease-out pm-score-bump;display:inline-block}@keyframes pm-score-float{0%{opacity:0;transform:translateY(6px)}25%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-18px)}}.pm-score-float{animation:.9s ease-out forwards pm-score-float}@keyframes pm-frame-flash{0%{opacity:.55;box-shadow:inset 0 0 50px -14px}to{opacity:0;box-shadow:inset 0 0 50px -14px}}.pm-frame-flash{animation:.5s ease-out forwards pm-frame-flash}@keyframes pm-ring{0%{opacity:.55;transform:translate(-50%,-50%)scale(.3)}to{opacity:0;transform:translate(-50%,-50%)scale(1.4)}}.pm-ring{animation:.6s cubic-bezier(.22,.61,.36,1) forwards pm-ring}@keyframes pm-correct-pop{0%{opacity:0;transform:scale(.4)}40%{opacity:1;transform:scale(1.12)}to{opacity:0;transform:scale(1.3)}}.pm-correct-pop{animation:.7s cubic-bezier(.18,.89,.32,1.28) forwards pm-correct-pop}@keyframes pm-time-pulse{0%,to{opacity:1}50%{opacity:.4}}.pm-time-pulse{animation:.7s ease-in-out infinite pm-time-pulse}
.ro-scenery{pointer-events:none;overflow:hidden}.ro-layer{position:absolute;left:0;right:0;overflow:hidden}.ro-track{will-change:transform;width:200%;animation-name:ro-scroll;animation-timing-function:linear;animation-iteration-count:infinite;display:flex;position:absolute;inset:0}.ro-track>.ro-tile{background-repeat:no-repeat;background-size:100% 100%;flex:0 0 50%;width:50%;height:100%}@keyframes ro-scroll{to{transform:translate(-50%)}}.ro-friend-layer{position:absolute;left:0;right:0}.ro-friend{will-change:transform;height:100%;animation-name:ro-friend-cross;animation-duration:24s;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;bottom:0;left:0}.ro-friend>svg{width:auto;height:100%;display:block}@keyframes ro-friend-cross{0%{transform:translate(112cqw)}52%{transform:translate(-30cqw)}to{transform:translate(-30cqw)}}.ro-prop-layer{position:absolute;left:0;right:0}.ro-prop{will-change:transform;height:100%;animation-name:ro-prop-cross;animation-duration:34s;animation-timing-function:linear;animation-iteration-count:infinite;animation-delay:-11s;position:absolute;bottom:0;left:0}.ro-prop>svg{width:auto;height:100%;display:block}@keyframes ro-prop-cross{0%{transform:translate(115cqw)}46%{transform:translate(-22cqw)}to{transform:translate(-22cqw)}}
.ro-sky{container-type:size}.ro-run-body{animation:.42s ease-in-out infinite ro-bob-run}@keyframes ro-bob-run{0%,to{transform:translateY(0)}50%{transform:translateY(-2.5px)}}.ro-leg-front{animation:.42s ease-in-out infinite ro-stride}.ro-leg-back{animation:.42s ease-in-out -.21s infinite ro-stride}@keyframes ro-stride{0%,to{transform:rotate(20deg)}50%{transform:rotate(-20deg)}}.ro-wing{animation:.42s ease-in-out infinite ro-wing-flap}@keyframes ro-wing-flap{0%,to{transform:rotate(2deg)}50%{transform:rotate(-16deg)}}.ro-score{color:#fff;text-shadow:-1px -1px #00000059,1px -1px #00000059,-1px 1px #00000059,1px 1px #00000059,0 2px 6px #0006}.ro-popup{animation:.9s ease-out forwards ro-popup-key}@keyframes ro-popup-key{0%{opacity:0;transform:translate(-50%)scale(.8)}15%{opacity:1;transform:translate(-50%,-6px)scale(1)}to{opacity:0;transform:translate(-50%,-34px)scale(1)}}.ro-shake{animation:.4s ease-in-out ro-shake-key}@keyframes ro-shake-key{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(5px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.ro-crash{background:#ef444466;animation:.5s ease-out forwards ro-crash-key}@keyframes ro-crash-key{0%{opacity:.6}to{opacity:0}}
.sw-board{--sw-c1:#9fe3f5;--sw-c2:#7bd0ee;--sw-c3:#5bbce4;background:radial-gradient(90% 90% at 50% 42%, var(--sw-c1) 0%, var(--sw-c2) 52%, var(--sw-c3) 100%);transition:--sw-c1 1.2s linear,--sw-c2 1.2s linear,--sw-c3 1.2s linear;container-type:size}.sw-stage-2{--sw-c1:#86d6ef;--sw-c2:#62c2e8;--sw-c3:#43abdb}.sw-stage-3{--sw-c1:#6ccaeb;--sw-c2:#46b0e0;--sw-c3:#2e98ce}@property --sw-c1{syntax:"<color>";inherits:false;initial-value:#9fe3f5}@property --sw-c2{syntax:"<color>";inherits:false;initial-value:#7bd0ee}@property --sw-c3{syntax:"<color>";inherits:false;initial-value:#5bbce4}.sw-sea:before{content:"";width:calc(100% + 280px * var(--sw-zoom,1));z-index:0;pointer-events:none;background-image:radial-gradient(closest-side,#ffffff38,#0000),radial-gradient(closest-side,#ffffff29,#0000),radial-gradient(closest-side,#ffffff2e,#0000);background-size:calc(260px * var(--sw-zoom,1)) calc(90px * var(--sw-zoom,1)), calc(260px * var(--sw-zoom,1)) calc(120px * var(--sw-zoom,1)), calc(260px * var(--sw-zoom,1)) calc(70px * var(--sw-zoom,1));animation:sw-flow calc(9s / var(--sw-zoom,1)) linear infinite;opacity:.7;will-change:transform;background-position:0 18%,0 56%,0 84%;position:absolute;top:-20%;bottom:-20%;left:0}@keyframes sw-flow{to{transform:translate3d(calc(-260px * var(--sw-zoom,1)), 0, 0)}}.sw-sea:after{content:"";width:calc(100% + 200px * var(--sw-zoom,1));z-index:0;pointer-events:none;background-image:radial-gradient(circle, #ffffffe6 0 calc(2px * var(--sw-zoom,1)), transparent calc(3px * var(--sw-zoom,1))), radial-gradient(circle, #ffffffbf 0 calc(3px * var(--sw-zoom,1)), transparent calc(4px * var(--sw-zoom,1))), radial-gradient(circle, #fff9 0 calc(1.5px * var(--sw-zoom,1)), transparent calc(2.5px * var(--sw-zoom,1)));background-size:calc(170px * var(--sw-zoom,1)) calc(150px * var(--sw-zoom,1)), calc(170px * var(--sw-zoom,1)) calc(230px * var(--sw-zoom,1)), calc(170px * var(--sw-zoom,1)) calc(95px * var(--sw-zoom,1));background-position:calc(20px * var(--sw-zoom,1)) calc(40px * var(--sw-zoom,1)), calc(70px * var(--sw-zoom,1)) calc(120px * var(--sw-zoom,1)), calc(40px * var(--sw-zoom,1)) calc(80px * var(--sw-zoom,1));animation:sw-bubbles calc(11s / var(--sw-zoom,1)) linear infinite;opacity:.6;will-change:transform;position:absolute;top:0;bottom:0;left:0}@keyframes sw-bubbles{to{transform:translate3d(calc(-170px * var(--sw-zoom,1)), 0, 0)}}.sw-wave{opacity:.5;animation-name:sw-wave-drift;animation-timing-function:linear;animation-iteration-count:infinite;left:100%}@keyframes sw-wave-drift{0%{transform:translate(0)}to{transform:translate(calc(-100cqw - 100%))}}.sw-seabed{opacity:.55}.sw-seabed-track{will-change:transform;animation:180s linear infinite sw-seabed-drift}.sw-seabed-field{aspect-ratio:16/3;background:url(/games/swim/seabed.png) 50%/100% 100% no-repeat}@keyframes sw-seabed-drift{0%{transform:translate(0)}to{transform:translate(-50%)}}.sw-board:fullscreen{aspect-ratio:auto;border:none;border-radius:0;width:100vw;height:100vh;margin:0}.sw-pop{animation:.3s cubic-bezier(.18,.89,.32,1.28) both sw-pop}@keyframes sw-pop{0%{opacity:0;transform:scale(.4)}70%{opacity:1;transform:scale(1.15)}to{transform:scale(1)}}.sw-splash-puff{transform-box:fill-box;transform-origin:50%;animation:.45s ease-out forwards sw-splash-puff}@keyframes sw-splash-puff{0%{opacity:0;transform:scale(.4)}30%{opacity:.7}to{opacity:0;transform:scale(1.5)}}.sw-splash-ring{transform-box:fill-box;transform-origin:50%;animation:.45s ease-out forwards sw-splash-ring}@keyframes sw-splash-ring{0%{opacity:0;transform:scale(.3)}25%{opacity:.85}to{opacity:0;transform:scale(1.7)}}.sw-splash-drop{animation:.5s ease-out forwards sw-splash-drop}@keyframes sw-splash-drop{0%{opacity:0;transform:translate(0)scale(.5)}20%{opacity:1}to{transform:translate(var(--dx,0), var(--dy,0)) scale(1.1);opacity:0}}.sw-fish-wag{transform-box:view-box;animation:.6s ease-in-out infinite sw-fish-wag}@keyframes sw-fish-wag{0%,to{transform:rotate(calc(var(--sw-wag-amp,6) * -1deg))}50%{transform:rotate(calc(var(--sw-wag-amp,6) * 1deg))}}.sw-fish-pulse{transform-box:view-box;animation:1s ease-in-out infinite sw-fish-pulse}@keyframes sw-fish-pulse{0%{transform:scale(1)}30%{transform:scale(calc(1 - var(--sw-pulse,.12)))}to{transform:scale(1)}}.sw-fish-foam{transform-box:fill-box;transform-origin:50%;animation:.9s ease-out infinite sw-fish-foam}@keyframes sw-fish-foam{0%{opacity:0;transform:translate(0)scale(.3)}30%{opacity:.75}to{transform:translate(var(--fx,0), var(--fy,8px)) scale(1.1);opacity:0}}.sw-fly-fx{background:radial-gradient(115% 95%,#0000 58%,#ef44444d 100%);animation:.7s ease-in-out infinite sw-fly-pulse;box-shadow:inset 0 0 64px 12px #ef444480}@keyframes sw-fly-pulse{0%,to{opacity:.5}50%{opacity:1}}.sw-banner{animation:1.8s ease-out forwards sw-banner}@keyframes sw-banner{0%{opacity:0;transform:translateY(14px)scale(.7)}12%{opacity:1;transform:translateY(0)scale(1.1)}22%{transform:scale(1)}78%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-10px)scale(1.04)}}.sw-invuln{animation:.22s step-end infinite sw-invuln}@keyframes sw-invuln{0%,to{opacity:1}50%{opacity:.3}}.sw-breath-low{animation:.5s ease-in-out infinite sw-breath-low}@keyframes sw-breath-low{0%,to{opacity:1}50%{opacity:.4}}.sw-crash{animation:.5s ease-out forwards sw-crash}@keyframes sw-crash{0%{background-color:#ef444473}to{background-color:#ef444400}}
