:root{--paper: #f7ecd8;--paper-2: #efe0c4;--ink: #2b2040;--coral: #ef6b57;--teal: #2c8c87;--mustard: #f3b23a;--plum: #82527b;--font: "Avenir Next", "Futura", "Gill Sans", "Gill Sans MT", "Trebuchet MS", "Segoe UI", system-ui, sans-serif;--display: "Futura", "Avenir Next Condensed", "Avenir Next", "Gill Sans", "Trebuchet MS", system-ui, sans-serif}html,body{background:#1b1a3c}body{font-family:var(--font);color:var(--ink)}.stage{background:#2b2859}.hud{position:absolute;left:0;right:0;top:0;z-index:5;pointer-events:none;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))}.chip{pointer-events:auto;width:46px;height:46px;border-radius:50%;border:0;padding:0;display:grid;place-items:center;color:var(--ink);text-decoration:none;background:var(--paper);box-shadow:0 2px #2b204059,inset 0 0 0 2px #ffffff8c,inset 0 0 0 3.5px #2b20401f;transition:transform .15s cubic-bezier(.3,1.6,.5,1)}.chip:active{transform:scale(.9) rotate(-4deg)}.chip svg{width:22px;height:22px}.mute .cross{display:none}.mute.off .cross{display:inline}.mute.off .wave{display:none}.mute.off{background:var(--paper-2);color:#6d6080}.tag{position:absolute;left:50%;top:calc(8px + var(--safe-t));transform:translate(-50%) rotate(-2deg);transform-origin:50% 0;min-width:78px;padding:16px 16px 8px;text-align:center;background:var(--paper);color:var(--ink);clip-path:polygon(14% 0,86% 0,100% 18%,100% 100%,0 100%,0 18%);box-shadow:0 3px #0003;font:800 30px/1 var(--display);letter-spacing:.02em;font-variant-numeric:tabular-nums;filter:drop-shadow(0 2px 0 rgba(43,32,64,.35))}.tag .hole{position:absolute;left:50%;top:5px;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:#2b2859;box-shadow:inset 0 1px #0006}.tag.bump{animation:bump .45s cubic-bezier(.3,1.8,.5,1)}@keyframes bump{0%{transform:translate(-50%) rotate(-2deg) scale(1)}40%{transform:translate(-50%) rotate(3deg) scale(1.18)}to{transform:translate(-50%) rotate(-2deg) scale(1)}}.title{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;padding:calc(84px + var(--safe-t)) 20px calc(28px + var(--safe-b));background:linear-gradient(180deg,#1b163c8c,#1b163c00 38% 62%,#1b163c80);color:var(--paper);text-align:center;cursor:pointer}.logo{position:relative;margin:0;display:flex;gap:4px;font:900 clamp(48px,17vw,76px)/1 var(--display);letter-spacing:0}.logo span{display:inline-block;padding:6px 7px 4px;background:var(--c);color:var(--i, var(--paper));transform:rotate(var(--r));box-shadow:3px 4px #140c2873;clip-path:polygon(3% 6%,97% 0,100% 92%,6% 100%);animation:flutter 3.2s ease-in-out infinite;animation-delay:calc(var(--r) * -.2s / 1deg)}.logo span:nth-child(2n){animation-duration:2.7s}@keyframes flutter{0%,to{transform:rotate(var(--r)) translateY(0)}50%{transform:rotate(calc(var(--r) * -.6)) translateY(-4px)}}.logo-line{position:absolute;left:-6%;width:112%;top:88%;height:46px;pointer-events:none;opacity:.75}.hint{margin-top:auto;width:128px;height:128px}.hint svg{width:100%;height:100%;overflow:visible}.hint-hand{animation:press 2.6s cubic-bezier(.45,0,.3,1) infinite;transform-origin:60px 100px}.hint-kite{animation:kite 2.6s cubic-bezier(.45,0,.3,1) infinite;transform-origin:60px 26px}.hint-line{animation:hline 2.6s cubic-bezier(.45,0,.3,1) infinite}.hint-ripple{opacity:0;animation:ripple 2.6s ease-out infinite;transform-origin:60px 98px}@keyframes press{0%,8%{transform:translateY(-6px)}16%,58%{transform:translateY(2px) scale(.96)}66%,to{transform:translateY(-6px)}}@keyframes kite{0%,12%{transform:translateY(22px) rotate(10deg)}58%{transform:translateY(-4px) rotate(-10deg)}to{transform:translateY(22px) rotate(10deg)}}@keyframes hline{0%,12%{d:path("M60 66 Q 52 86 60 96")}58%{d:path("M60 40 Q 59 70 60 96")}to{d:path("M60 66 Q 52 86 60 96")}}@keyframes ripple{0%,14%{opacity:0;transform:scale(.5)}18%{opacity:.9}46%{opacity:0;transform:scale(1.8)}to{opacity:0}}.cta{margin:6px 0 2px;font:700 20px/1.2 var(--font);letter-spacing:.04em;text-shadow:0 2px 0 rgba(20,12,40,.6)}.best-line{margin:0;font:600 15px/1.2 var(--font);opacity:.85;letter-spacing:.06em;text-transform:uppercase;text-shadow:0 1px 0 rgba(20,12,40,.6)}.best-line b{font-size:18px;color:var(--mustard);margin-left:4px}.over{position:absolute;inset:0;z-index:4;display:grid;place-items:center;padding:calc(20px + var(--safe-t)) 24px calc(20px + var(--safe-b));background:#140e2c61}.card{position:relative;width:min(300px,82vw);padding:30px 22px 22px;text-align:center;background:var(--paper);background-image:repeating-linear-gradient(0deg,rgba(43,32,64,.045) 0 1px,transparent 1px 26px);transform:rotate(-2deg);box-shadow:6px 8px #0f0a2373;clip-path:polygon(0 1%,4% 0,30% 1%,62% 0,100% 1%,99% 40%,100% 100%,60% 99%,25% 100%,0 99%,1% 50%);animation:drop .55s cubic-bezier(.3,1.5,.5,1) both}@keyframes drop{0%{transform:translateY(-40px) rotate(-8deg) scale(.9);opacity:0}to{transform:rotate(-2deg);opacity:1}}.tape{position:absolute;top:-2px;left:50%;width:92px;height:22px;margin-left:-46px;background:#f3b23abf;transform:rotate(3deg)}.reason{margin:0 0 6px;font:600 15px/1.3 var(--font);color:var(--plum);letter-spacing:.02em}.final{font:900 72px/1 var(--display);color:var(--ink);font-variant-numeric:tabular-nums}.best-row{margin:4px 0 14px;font:700 14px/1.2 var(--font);letter-spacing:.1em;text-transform:uppercase;color:#6d6080}.best-row b{font-size:20px;color:var(--ink);margin-left:6px;letter-spacing:0}.stamp{display:inline-block;margin:2px 0 8px;padding:6px 12px;transform:rotate(-5deg);border:3px solid var(--coral);color:var(--coral);border-radius:6px;font:900 16px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;background:#ffffff59;animation:stamp .5s .25s cubic-bezier(.2,1.8,.4,1) both}@keyframes stamp{0%{transform:rotate(-20deg) scale(2.2);opacity:0}to{transform:rotate(-5deg) scale(1);opacity:1}}.retry{width:64px;height:64px;border-radius:50%;border:0;display:inline-grid;place-items:center;background:var(--coral);color:var(--paper);box-shadow:0 4px #b44a3b;transition:transform .15s cubic-bezier(.3,1.6,.5,1)}.retry svg{width:30px;height:30px}.retry:active{transform:translateY(3px) scale(.95);box-shadow:0 1px #b44a3b}.retry.ready{animation:nudge 1.6s ease-in-out .8s infinite}@keyframes nudge{0%,to{transform:rotate(0)}50%{transform:rotate(-25deg)}}.paused{position:absolute;inset:0;z-index:6;display:grid;place-items:center;background:#140e2c80;color:var(--paper)}.paused svg{width:76px;height:76px;padding:18px;border-radius:50%;background:var(--coral);box-shadow:0 4px #b44a3b}@media(prefers-reduced-motion:reduce){.logo span,.retry.ready{animation:none}.card{animation-duration:.01s}}.tag.gold{background:var(--mustard)}.tag.gold .hole{background:#6b3f1f}:root{--fibre: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75 0.035' numOctaves='3' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 0.98 0 0 0 0 0.92 0 0 0 0.75 -0.42'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23f)'/%3E%3C/svg%3E");--mottle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.035' numOctaves='3' seed='9'/%3E%3CfeColorMatrix values='0 0 0 0 0.45 0 0 0 0 0.3 0 0 0 0 0.2 0 0 0 0.3 -0.1'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23m)'/%3E%3C/svg%3E");--vermilion: #d8402f}.stage{background:#23336f}.logo span{background-color:color-mix(in srgb,var(--c) 88%,transparent);background-image:radial-gradient(120% 90% at 85% 15%,#ffecb48c,#ffdca000 60%),var(--fibre),var(--mottle);background-size:auto,180px 180px,220px 220px;box-shadow:3px 5px #140c2861,inset 0 0 0 1.5px #fff6e159,inset -6px -8px 14px #3c142838;text-shadow:0 1px 0 rgba(255,255,255,.18)}.logo span:after{content:"";position:absolute;left:50%;top:4%;bottom:4%;width:2px;margin-left:-1px;background:#5a321e38;pointer-events:none}.logo span{position:relative}.logo-line path{stroke:#fff1d8}.title{background:linear-gradient(180deg,#14163c80,#14163c00 34% 64%,#10142c8c)}.tag{background-color:#f6ead4;background-image:var(--fibre),var(--mottle),linear-gradient(180deg,#fbf3e4,#ecdcc0);background-size:180px 180px,220px 220px,auto}.tag.gold{background-color:#f0b444;background-image:var(--fibre),var(--mottle),linear-gradient(180deg,#ffd27a,#e6a033)}.card{background-color:#f6ead4;background-image:var(--fibre),var(--mottle),radial-gradient(130% 90% at 80% 0%,#fff8ea,#f3e3c8 60%,#e8d3b0);background-size:180px 180px,220px 220px,auto;box-shadow:none;filter:drop-shadow(5px 8px 0 rgba(15,10,35,.38)) drop-shadow(0 0 1px rgba(120,80,40,.4));clip-path:polygon(0 1.5%,3% .4%,7% 1.2%,12% 0,18% .9%,25% .2%,31% 1.1%,38% .3%,46% 1%,53% 0,61% .9%,68% .2%,76% 1.2%,83% .3%,90% 1%,96% .1%,100% 1.4%,99.3% 12%,100% 25%,99.2% 38%,100% 52%,99.4% 66%,100% 80%,99.2% 92%,100% 99%,94% 99.6%,86% 98.9%,77% 100%,68% 99.2%,58% 100%,47% 99.1%,37% 99.9%,27% 99.2%,17% 100%,8% 99.3%,0 100%,.7% 86%,0 72%,.8% 58%,0 44%,.6% 30%,0 16%)}.tape{width:104px;height:24px;margin-left:-52px;top:-1px;opacity:.92;background:repeating-linear-gradient(135deg,#17807cd1 0 7px,#f4e2bed9 7px 14px);-webkit-mask:linear-gradient(90deg,transparent 0,#000 4px,#000 calc(100% - 4px),transparent 100%);mask:linear-gradient(90deg,transparent 0,#000 4px,#000 calc(100% - 4px),transparent 100%)}.reason{color:#7a3a46}.stamp{border:0;border-radius:8px;padding:7px 12px 6px;color:#fff4e4;background:var(--vermilion);background-image:var(--mottle);box-shadow:inset 0 0 0 2px #ffe6d28c,inset 0 0 0 4px var(--vermilion)}.final{color:#241a30;text-shadow:0 1px 0 rgba(255,255,255,.4)}.retry{background:radial-gradient(90% 80% at 35% 25%,#f0765c,#d8402f 55%,#a82a20);box-shadow:0 4px #7e2018,inset 0 2px 1px #ffdcc88c,inset 0 -3px 6px #3c0a0a59}.retry:active{box-shadow:0 1px #7e2018,inset 0 2px 1px #ffdcc880}.over{background:radial-gradient(120% 80% at 50% 45%,#140e2c33,#140e2c8c)}.title .hint,.title .cta,.title .best-line{position:relative;left:-22%}.practice-tag{margin:4px 0 6px;font:700 11px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:#2c8c87}.practice-tag[hidden]{display:none}
