:root{--abyss: #0d0824;--deep: #1a1240;--rose: #ff8fbb;--peach: #ffd8c2;--pearl: #fff4ec;--mint: #bfffd8;--glass: rgba(255, 216, 194, .08);--edge: rgba(255, 216, 194, .32);--font: Optima, "Optima Nova", Candara, "Segoe UI", "Noto Sans", "Gill Sans", sans-serif}html,body{background:var(--abyss);color:var(--pearl);font-family:var(--font)}body{background:radial-gradient(ellipse 60% 80% at 50% 10%,#241650,var(--abyss) 70%)}.stage{background:var(--abyss)}.hud{position:absolute;left:0;right:0;top:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;padding:calc(10px + var(--safe-t)) calc(12px + var(--safe-r)) 0 calc(12px + var(--safe-l));pointer-events:none}.pbtn{pointer-events:auto;width:46px;height:46px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(160deg,#ffd8c229,#ff8fbb0d);border:1px solid var(--edge);color:var(--peach);text-decoration:none;box-shadow:inset 0 1px #fff4ec2e,0 6px 18px #04020e59;transition:transform .18s cubic-bezier(.3,1.6,.5,1),background .2s ease}.pbtn:active{transform:scale(.9);background:#ff8fbb38}.pbtn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.mute .spk{fill:currentColor;stroke:none}.mute .off,.mute[aria-pressed=true] .wav{display:none}.mute[aria-pressed=true] .off{display:inline}.mute[aria-pressed=true]{color:#ffd8c28c}.gauge{position:relative;display:flex;flex-direction:column;align-items:center;margin-top:2px;transition:opacity .4s ease,transform .4s ease}.gauge:before{content:"";position:absolute;left:50%;top:50%;width:190px;height:110px;transform:translate(-50%,-58%);z-index:-1;background:radial-gradient(closest-side,#0804186b,#08041800);pointer-events:none}.gauge.away{opacity:0;transform:translateY(-10px)}.toast{margin-top:6px;padding:4px 14px 4px calc(14px + .26em);border-radius:99px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:#3a1a08;background:linear-gradient(180deg,#fff0d6,#ffc98a);box-shadow:0 0 18px #ffd69699;opacity:0}.toast.show{animation:toast 2.4s ease forwards}@keyframes toast{0%{opacity:0;transform:translateY(-6px) scale(.9)}12%{opacity:1;transform:none}78%{opacity:1}to{opacity:0}}.score{font-size:42px;line-height:1;font-weight:600;letter-spacing:.02em;color:var(--pearl);font-variant-numeric:tabular-nums;text-shadow:0 0 18px rgba(255,143,187,.55),0 2px 8px rgba(4,2,14,.6);transition:transform .3s cubic-bezier(.2,1.7,.4,1)}.score small,.big small{font-size:.42em;margin-left:3px;color:var(--peach);opacity:.85;letter-spacing:.08em}.score.pop{transform:scale(1.22);color:#fff;text-shadow:0 0 26px rgba(255,236,200,.95),0 0 50px rgba(255,143,187,.7),0 2px 8px rgba(4,2,14,.6)}.title,.card,.paused{position:absolute;z-index:2;pointer-events:none;text-align:center}.title{inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:calc(60px + var(--safe-t)) 24px calc(80px + var(--safe-b));background:radial-gradient(ellipse 85% 42% at 50% 40%,#0d0824b8,#0d08241f 75%,#0d082400)}.title.fade{animation:fadeOut .5s ease forwards}@keyframes fadeOut{to{opacity:0;transform:translateY(-14px) scale(1.02)}}.crest svg{width:92px;height:104px;overflow:visible}.crest .halo{fill:#ff8fbb29;animation:halo 2.4s ease-in-out infinite;transform-origin:40px 30px}.crest .jelly{animation:bob 2.4s cubic-bezier(.45,0,.2,1) infinite;transform-origin:40px 40px}.crest .bell{stroke:#ffecdcd9;stroke-width:1.2}.crest .tent{fill:none;stroke:#ffc8dcb3;stroke-width:1.4;stroke-linecap:round}.crest .spec{fill:none;stroke:#fff9;stroke-width:2.4;stroke-linecap:round}@keyframes bob{0%{transform:translateY(6px) scale(1)}10%{transform:translateY(4px) scale(.84,1.12)}32%{transform:translateY(-8px) scale(1.04,.97)}to{transform:translateY(6px) scale(1)}}@keyframes halo{0%,to{opacity:.5;transform:scale(.9)}12%{opacity:1;transform:scale(1.1)}}.title h1{margin:2px 0 0;font-size:clamp(50px,16vw,70px);font-weight:400;letter-spacing:.3em;padding-left:.3em;text-transform:uppercase;color:var(--pearl);text-shadow:0 0 28px rgba(255,143,187,.6),0 0 2px rgba(255,216,194,.6)}.sub{margin:2px 0 0;font-size:17px;font-style:italic;letter-spacing:.06em;color:var(--peach)}.cta{margin-top:26px;font-size:14px;letter-spacing:.3em;text-transform:uppercase;color:var(--pearl);padding:10px 20px;border-radius:99px;border:1px solid var(--edge);background:var(--glass);animation:breathe 2.4s ease-in-out infinite}@keyframes breathe{0%,to{opacity:.5}50%{opacity:1}}.best{margin-top:12px;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--peach);opacity:.85}.card{left:50%;top:46%;width:min(300px,calc(100% - 48px));transform:translate(-50%,-44%) scale(.96);opacity:0;padding:24px 22px 22px;border-radius:30px/34px 34px 26px 26px;background:linear-gradient(175deg,#281850e0,#0d0824ed);border:1px solid var(--edge);box-shadow:0 24px 60px #02010899,inset 0 1px #ffd8c233,0 0 40px #ff8fbb1f;transition:opacity .45s ease,transform .6s cubic-bezier(.2,1.4,.4,1)}.card.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.card{overflow:hidden}.card:before{content:"";position:absolute;inset:-40%;pointer-events:none;opacity:.5;background:radial-gradient(ellipse 30% 18% at 30% 30%,rgba(255,216,194,.1),transparent 70%),radial-gradient(ellipse 26% 16% at 70% 60%,rgba(255,143,187,.1),transparent 70%);animation:drift 9s ease-in-out infinite alternate}@keyframes drift{to{transform:translate(8%,-6%) rotate(8deg)}}.card:after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,244,236,.16),transparent);transform:skew(-20deg)}.card.show:after{animation:sheen 1.2s .7s ease-out 1 both}@keyframes sheen{to{left:130%}}.card>*{position:relative}.card.gold{border-color:#ffd696b3;box-shadow:0 24px 60px #02010899,inset 0 1px #ffecc859,0 0 46px #ffc88c40}.card.gold .big{color:#fff3dc;text-shadow:0 0 30px rgba(255,200,140,.7)}.eyebrow{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--peach)}.big{font-size:74px;font-weight:600;line-height:1.05;margin-top:8px;color:var(--pearl);font-variant-numeric:tabular-nums;text-shadow:0 0 30px rgba(255,143,187,.5)}.label{font-style:italic;font-size:16px;color:#fff4ecbf}.newbest{display:inline-block;margin-top:12px;padding:5px 16px;border-radius:99px;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:#2a0b1f;background:linear-gradient(180deg,#ffe6d6,#ff9ec4);animation:shine 1.4s ease-in-out infinite}@keyframes shine{0%,to{box-shadow:0 0 10px #ff8fbb66}50%{box-shadow:0 0 28px #ff8fbbf2}}.row{display:flex;justify-content:space-between;align-items:baseline;margin:16px 6px 0;padding-top:12px;border-top:1px solid rgba(255,216,194,.22);font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:var(--peach)}.row b{font-size:24px;letter-spacing:.02em;text-transform:none;color:var(--pearl);font-weight:600}.card .cta{margin-top:18px;display:inline-block}.paused{inset:0;display:grid;place-items:center;background:#0d082499}@media(max-height:680px){.crest svg{width:70px;height:80px}.cta{margin-top:16px}.big{font-size:62px}}@media(prefers-reduced-motion:reduce){.cta,.crest .jelly,.crest .halo,.newbest,.card:before,.card.show:after{animation:none;opacity:1}.card.show:after{opacity:0}.toast.show{animation:none;opacity:1}.score,.card{transition:none}}
