:root{--bg:#080e17;--panel:#101d2b;--white:#f4f8fc;--muted:#a9b8c9;--blue:#42bdff;--copper:#d9a278;--line:#293748;color-scheme:dark;font-size:16px}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{overflow-x:clip;margin:0;background:var(--bg);color:var(--white);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;min-width:320px}button,input,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}h1,h2,h3,p{margin:0}h1:focus,h2:focus{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--copper);outline-offset:4px}[hidden]{display:none!important}.shell{width:min(1240px,calc(100% - 80px));margin:auto;position:relative}.ambience{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 78% 40%,#17477555,transparent 50%),radial-gradient(ellipse at 4% 95%,#57362430,transparent 40%)}.ambience:after{content:"";position:absolute;inset:0;background-image:radial-gradient(#78a5ca28 .8px,transparent .8px);background-size:38px 38px;mask-image:linear-gradient(90deg,transparent,#000)}.header{height:94px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.logo{font-size:1.8rem;font-weight:950;letter-spacing:-.07em;text-decoration:none;white-space:nowrap}.logo span{color:var(--blue)}.logo sup{font-size:.7rem;letter-spacing:0;vertical-align:top;display:inline-block;margin:8px 0 0 7px;color:var(--blue)}.edition,.eyebrow,.steps,.readout>span,.mascot-label,.badge small,.footer,.wheel-caption,.receipt-head{font-family:"Courier New",monospace;font-weight:600;letter-spacing:.06em}.edition{font-size:.75rem;color:var(--muted)}.text-btn{border:0;background:none;color:var(--muted);padding:12px 0;font-size:.85rem;text-underline-offset:4px}.text-btn:hover{color:var(--blue)}#sound{font-size:.72rem;font-weight:700;white-space:nowrap}#sound[aria-pressed=true]{color:var(--blue)}.steps{list-style:none;padding:0;display:flex;gap:34px;margin:29px 0 0;font-size:.75rem;color:#96a7b9}.steps li{display:flex;align-items:center;gap:8px}.steps b{width:24px;height:24px;display:grid;place-items:center;border:1px solid #4b5b6b;border-radius:50%;font-size:.62rem}.steps li.active{color:var(--blue)}.steps li.active b{border-color:var(--blue);background:#42bdff18}.steps li.complete{color:var(--copper)}.steps li.complete b{border-color:var(--copper)}.screen{animation:appear .5s ease both}.welcome{display:grid;grid-template-columns:1fr 1.05fr;gap:10px;align-items:center;padding:48px 0 52px;min-height:690px}.eyebrow{font-size:.75rem;color:var(--copper);margin-bottom:24px}h1,h2{font-family:"Arial Black","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:950;font-size:clamp(3.7rem,6.9vw,6.2rem);letter-spacing:-.065em;line-height:.99}h1 em,h2 em{color:var(--blue);font-style:normal}.lede{font-size:1.06rem;line-height:1.65;color:#bcc9d6;margin-top:24px}.console{margin-top:29px;max-width:440px}.readout{display:flex;align-items:center;justify-content:space-between}.readout>span{font-size:.72rem;color:var(--muted)}.readout strong{font-size:1.8rem;line-height:1;letter-spacing:-.06em;color:var(--blue)}.readout small{font-size:1rem;margin-left:2px}.battery{height:24px;border:1px solid #417293;position:relative;padding:4px;margin:12px 6px 18px 0;border-radius:4px;background:#112737}.battery:after{content:"";width:5px;height:12px;background:#417293;position:absolute;right:-6px;top:5px;border-radius:0 2px 2px 0}.battery>div{height:100%;width:0%;background:linear-gradient(90deg,#167ee2,var(--blue));box-shadow:0 0 16px #42bdff70;transition:width .16s}.battery>span{position:absolute;inset:4px;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(12.5% - 3px),#112737 calc(12.5% - 3px),#112737 12.5%)}.btn{border:1px solid transparent;min-height:58px;padding:17px 24px;border-radius:7px;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;font-size:.9rem;font-weight:800;line-height:1.4;transition:transform .15s,background .15s,box-shadow .15s}.primary{background:var(--blue);color:#051421;box-shadow:0 5px 0 #17638e}.primary:hover:not(:disabled){background:#79d1ff;transform:translateY(-2px);box-shadow:0 7px 0 #17638e}.primary:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px 0 #17638e}.btn:disabled{opacity:.5;cursor:default}#charge{width:100%;justify-content:flex-start}#charge>span:first-child{font-size:1.8rem;line-height:.7}#charge b{margin-left:auto;font-size:1.4rem}.hint{font-size:.8rem;color:var(--muted);margin-top:15px;min-height:1.5em}.mascot-stage{position:relative;aspect-ratio:1/1.06;min-width:0;isolation:isolate;display:grid;place-items:center}.mascot{width:111%;margin-left:-3%;animation:float 5s ease-in-out infinite;position:relative;z-index:2;pointer-events:none}.mascot img{display:block;width:100%;height:auto;filter:drop-shadow(0 20px 35px #0008)}.mascot.bump{animation:bump .27s ease}.orbit{position:absolute;width:94%;aspect-ratio:1;border:1px solid #4599c344;border-radius:50%;transform:rotate(-24deg) scaleY(.76);z-index:-1;box-shadow:0 0 100px #146cb512}.orbit.second{width:103%;transform:rotate(29deg) scaleY(.74);border-style:dashed;opacity:.6}.mascot-label{position:absolute;top:0;right:6px;color:var(--copper);font-size:.68rem;transform:rotate(7deg);line-height:1.5}.badge{position:absolute;bottom:4%;right:0;padding:14px 18px;border:1px solid #547086;border-radius:8px;background:#101d2bf2;transform:rotate(-6deg);z-index:3;box-shadow:0 12px 25px #0005}.badge small{display:block;font-size:.62rem;color:var(--muted)}.badge strong{font-size:2.8rem;letter-spacing:-.08em;line-height:1.25;font-weight:950}.badge strong span{color:var(--blue)}#particles{position:absolute;inset:0;z-index:4;pointer-events:none}.tap-particle{position:absolute;top:30%;left:40%;font-size:2.2rem;font-weight:900;color:var(--blue);animation:fly .7s ease-out forwards}.footer{border-top:1px solid var(--line);padding:22px 0;min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.7rem;color:var(--muted)}.footer>span:nth-child(2){color:var(--white)}.footer b{font-size:1.5rem;vertical-align:middle;color:var(--blue);margin-left:8px}.wheel-screen{display:grid;grid-template-columns:.87fr 1.13fr;gap:38px;align-items:center;min-height:720px;padding:62px 0 76px}.wheel-copy h2{font-size:clamp(3.4rem,6vw,5.5rem)}.spin-controls{margin-top:32px}.spin-controls>.btn{min-width:280px}.wheel-stage{min-width:0;position:relative}.wheel-frame{position:relative;aspect-ratio:1;padding:24px;border:1px solid #c09776;border-radius:50%;background:linear-gradient(135deg,#4d3527,#bd916e 24%,#513825 50%,#ba855d 80%,#392a20);box-shadow:0 25px 70px #000b,0 0 0 9px #101d2b,0 0 0 10px #34506a;isolation:isolate}.wheel-frame.winner{box-shadow:0 25px 70px #000b,0 0 0 9px #101d2b,0 0 0 10px #56c1fa,0 0 65px #42bdff45}.disk{height:100%;width:100%;border-radius:50%;overflow:hidden;border:3px solid #112030;will-change:transform}.disk svg{display:block;width:100%;height:100%}.pointer{position:absolute;width:34px;height:47px;left:50%;top:-15px;transform:translateX(-50%);background:#f23c42;clip-path:polygon(0 0,100% 0,100% 45%,50% 100%,0 45%);z-index:5}.hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:19%;aspect-ratio:1;border-radius:50%;background:#0b1725;border:4px solid #d8a27b;box-shadow:0 6px 15px #0009;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:950;letter-spacing:-.06em;z-index:3}.hub span{color:var(--blue);font-size:.6em}.wheel-caption{text-align:center;margin-top:33px;color:var(--copper);font-size:.72rem}#lights{position:absolute;inset:0;pointer-events:none;z-index:3}.light{position:absolute;width:6px;height:6px;background:#fff2d8;box-shadow:0 0 7px #ffe0ac;border-radius:50%;transform:translate(-50%,-50%)}.win{margin-top:25px;padding:22px 24px;border-left:3px solid var(--copper);background:linear-gradient(90deg,#c49c791e,transparent);animation:appear .5s ease}.win>small{font-size:.7rem;color:var(--copper);font-weight:800;letter-spacing:.06em}.win h3{font-size:2rem;letter-spacing:-.04em;line-height:1.1;margin:9px 0 13px}.win p{color:#bcc9d6}.win .btn{margin-top:23px}.shoes-screen{padding:50px 0 60px;min-height:700px}.selection-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:34px}.selection-head h2{font-size:clamp(3.3rem,5.5vw,5rem)}.selection-head>.lede{max-width:310px;font-size:1rem}fieldset{border:0;padding:0;margin:0;min-width:0}.shoe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.shoe-card{max-width:none;border:1px solid #354b60;background:#101d2b;border-radius:11px;overflow:hidden;transition:box-shadow .2s}.shoe-card.selected{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue)}.shoe-option{display:block;position:relative;cursor:pointer}.shoe-option input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;z-index:3;cursor:pointer}.shoe-option:has(input:focus-visible){outline:3px solid var(--copper);outline-offset:-4px}.shoe-image{aspect-ratio:1;width:100%;position:relative;background:#fff;overflow:hidden}.shoe-image img{position:absolute;inset:0;width:100%;height:100%;padding:18px;object-fit:contain;object-position:center;display:block}.check{position:absolute;right:10px;top:10px;width:26px;height:26px;border:1px solid transparent;color:transparent;border-radius:50%;display:grid;place-items:center;z-index:2}.selected .check{background:var(--blue);color:#092035;border-color:var(--blue)}.custom{margin-top:22px;max-width:600px}.custom>.text-btn{text-decoration:underline}.custom label{display:block;font-size:.9rem;margin:12px 0 7px}.custom input{width:100%;padding:12px;background:#0d1926;border:1px solid #526d84;border-radius:5px;color:var(--white)}.custom .hint{margin-top:8px}.pick-bar{margin-top:28px;border:1px solid #304c62;border-radius:9px;background:#111f2f;padding:24px;display:flex;align-items:center;gap:25px}.pick-summary{flex:1;min-width:0}.pick-summary small{display:block;color:var(--muted);font-size:.68rem;letter-spacing:.07em;margin-bottom:7px}.pick-summary strong{font-size:1rem;overflow-wrap:anywhere}.size{font-size:.8rem;display:grid;gap:7px;width:135px;flex-shrink:0;color:var(--muted)}.size input{width:100%;border:1px solid #516b80;padding:9px 12px;border-radius:5px;background:#081321;color:var(--white);font-size:1rem}.pick-bar .btn{flex-shrink:0}.done{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center;min-height:735px;padding:48px 0 55px}.done h2{font-size:clamp(3.6rem,6vw,5.7rem)}.signature{font-size:.95rem;color:var(--copper);margin-top:14px}.receipt{margin-top:25px;padding:22px 23px;background:#122234;border:1px solid #466782;border-radius:8px}.receipt-head{display:flex;justify-content:space-between;gap:15px;font-size:.65rem;color:var(--blue);border-bottom:1px dashed #465e74;padding-bottom:13px;margin-bottom:13px}.receipt h3{font-size:1.2rem;overflow-wrap:anywhere}.receipt p{font-size:.9rem;color:var(--muted);margin-top:5px}.receipt a{display:inline-block;color:var(--blue);margin-top:10px;font-size:.87rem;text-underline-offset:4px}.handoff{font-size:.85rem;color:var(--muted);margin:16px 0}.done-actions{display:flex;align-items:center;gap:24px}.done-actions .text-btn{text-decoration:underline}.done-art{position:relative;min-width:0}.done-art img{width:112%;height:auto;margin-left:-7%;animation:float 5s ease-in-out infinite}.stamp{position:absolute;bottom:0;right:0;padding:17px 22px;transform:rotate(-7deg);background:#101c2a;border:1px solid #be9174;color:var(--copper);font-size:.78rem;font-weight:800}.stamp strong{display:block;font-size:2.2rem;letter-spacing:-.06em;color:var(--white)}#fallback{width:100%;min-height:140px;padding:16px;background:#122234;color:var(--white);border:1px solid var(--blue);margin-top:20px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);max-width:calc(100% - 35px);width:max-content;background:var(--white);color:var(--bg);padding:13px 20px;border-radius:7px;font-size:.87rem;opacity:0;transition:.2s;z-index:40;pointer-events:none}.toast.visible{opacity:1;transform:translate(-50%,0)}#confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:30}.confetti-piece{position:absolute;top:-20px;width:8px;height:15px;animation:confetti 3s ease-out forwards}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.noscript{position:fixed;bottom:20px;left:20px;right:20px;background:var(--blue);color:var(--bg);padding:25px;z-index:50}@keyframes float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1deg)}}@keyframes bump{40%{transform:scale(1.04) rotate(-2deg)}}@keyframes fly{to{transform:translateY(-110px) rotate(10deg);opacity:0}}@keyframes appear{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}@keyframes confetti{to{transform:translate3d(var(--drift),110vh,0) rotate(var(--turn));opacity:.3}}
@media(max-width:1050px){.shell{width:calc(100% - 48px)}.edition{display:none}h1{font-size:clamp(3.5rem,7.3vw,5.5rem)}.badge{transform:rotate(-6deg) scale(.85);transform-origin:bottom right}.wheel-screen{gap:25px;min-height:630px}.wheel-frame{padding:18px}.hub{font-size:2.4rem}.wheel-copy h2{font-size:3.7rem}.pick-bar{flex-wrap:wrap}.pick-summary{flex-basis:45%}.selection-head>.lede{min-width:220px}}
@media(max-width:760px){.header{height:76px}.logo{font-size:1.5rem}.steps{gap:8px;justify-content:space-between;margin-top:22px;font-size:.61rem;letter-spacing:0}.steps li{gap:5px}.steps b{width:21px;height:21px;font-size:.59rem}.welcome{display:grid;grid-template-columns:1fr;min-height:0;padding:32px 0 35px}.intro{display:contents}.welcome .eyebrow{order:0;font-size:.67rem;margin-bottom:15px}.welcome h1{order:1;font-size:clamp(3.45rem,12.5vw,5.7rem);letter-spacing:-.06em;line-height:1}.desktop{display:none}.welcome .lede{order:2;font-size:1rem;margin-top:17px}.mascot-stage{order:3;height:280px;aspect-ratio:auto;margin-top:6px}.mascot{width:330px;max-width:100%;margin-left:0}.orbit{width:285px;height:250px;max-width:100%}.orbit.second{width:330px;max-width:100%;height:260px}.mascot-label{top:30px;right:0;font-size:.6rem}.badge{transform:rotate(-6deg) scale(.72);bottom:0;right:0}.console{order:4;max-width:none;margin-top:10px}.hint{font-size:.78rem}.footer{flex-wrap:wrap;justify-content:center;gap:12px;text-align:center;font-size:.6rem;min-height:80px}.footer>.text-btn{flex-basis:100%;font-size:.78rem}.wheel-screen{grid-template-columns:1fr;min-height:0;padding:35px 0 40px;gap:31px}.wheel-copy{display:contents}.wheel-copy>.eyebrow{order:0;margin-bottom:-13px}.wheel-copy h2{order:1;font-size:clamp(3.6rem,12.5vw,5.4rem)}.wheel-copy>.lede{order:2;margin-top:-15px;font-size:1rem}.wheel-stage{order:3;width:min(100% - 22px,470px);margin:8px auto 0}.spin-controls,.win{order:4;margin-top:0}.spin-controls>.btn,.win>.btn{width:100%}.spin-controls>.hint{text-align:center}.wheel-caption{font-size:.61rem;margin-top:25px}.wheel-frame{padding:17px}.pointer{width:27px;height:40px;top:-12px}.hub{font-size:2rem;border-width:3px}.light{width:5px;height:5px}.win{padding:19px 20px}.shoes-screen{padding:33px 0 42px;min-height:0}.selection-head{display:block;margin-bottom:25px}.selection-head h2{font-size:clamp(3.1rem,10.6vw,4.6rem)}.selection-head>.lede{margin-top:18px}.shoe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.shoe-grid:has(.shoe-card:only-child){grid-template-columns:1fr;max-width:420px;margin:auto}.shoe-card{max-width:none}.check{width:23px;height:23px;right:10px;top:10px}.pick-bar{padding:19px;gap:17px}.pick-summary{flex:1;min-width:120px}.size{width:128px}.pick-bar>.btn{width:100%}#sizeNote{font-size:.75rem}.done{grid-template-columns:1fr;gap:27px;min-height:0;padding:35px 0 40px}.done h2{font-size:clamp(3.7rem,13vw,5rem)}.done-art{grid-row:1;height:200px;width:100%;max-width:340px;justify-self:center}.done-art img{width:250px;display:block;margin:-25px auto 0}.stamp{right:0;bottom:-8px;padding:9px 13px;font-size:.6rem}.stamp strong{font-size:1.55rem}.done-actions{justify-content:space-between;gap:16px}.done-actions>.btn{font-size:.8rem}.receipt-head{font-size:.6rem}#sound{font-size:.65rem}.eyebrow{font-size:.7rem}}
@media(max-width:370px){.shell{width:calc(100% - 32px)}.steps{font-size:.57rem}.welcome h1{font-size:3.1rem}.mascot-stage{height:250px}.mascot{width:295px}.mascot-label{display:none}.shoe-grid{grid-template-columns:1fr}.pick-summary{flex-basis:100%}.done-actions{flex-direction:column;align-items:stretch}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.tap-particle,.confetti-piece{display:none}}

/* A little birthday chaos. */
#power{font-variant-numeric:tabular-nums;min-width:4ch;text-align:right}
.overcharging .mascot{animation:overcharge-jitter .22s ease-in-out 10}
.overcharging .ambience{animation:power-flicker 1.2s ease-in-out 2}
.overcharging .battery{box-shadow:0 0 28px #42bdff66;border-color:var(--blue)}
.overcharging #fill{background:linear-gradient(90deg,#42bdff,#d3efff)}
.overcharging #power{color:#d3efff;text-shadow:0 0 24px #42bdff90}
.overcharging #chargeHint{color:var(--copper)}
@keyframes overcharge-jitter{0%,100%{transform:translate(0,0) rotate(0)}25%{transform:translate(-3px,1px) rotate(-1deg)}75%{transform:translate(3px,-1px) rotate(1deg)}}
@keyframes power-flicker{0%,100%{opacity:1}50%{opacity:.5}}
.spin-result{margin:0 0 18px;padding:17px 20px;background:#bb825e19;border-left:3px solid var(--copper);animation:appear .35s ease both}
.spin-result small{display:block;font-family:"Courier New",monospace;font-size:.66rem;letter-spacing:.07em;color:var(--copper);margin-bottom:8px}
.spin-result strong{display:block;font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.2;letter-spacing:-.025em}
.intervention{position:absolute;z-index:7;left:-6%;bottom:5%;width:clamp(145px,21vw,240px);pointer-events:none;animation:bunny-arrival .55s cubic-bezier(.2,.8,.3,1) both;filter:drop-shadow(0 8px 15px #0009)}
.intervention img{display:block;width:100%;height:auto}
.bunny-verdict{position:absolute;top:0;left:16%;z-index:2;padding:8px 15px;background:#f33738;color:white;border:2px solid #ffd2d3;border-radius:13px 13px 13px 2px;font-weight:950;font-size:clamp(1.15rem,2vw,1.65rem);letter-spacing:-.05em;transform:rotate(-8deg)}
.bunny-glove{position:absolute;top:42%;right:6%;font-size:clamp(2.4rem,5vw,4rem);opacity:0}
.intervention.punch{animation:bunny-jab .6s ease both}
.intervention.punch .bunny-glove{animation:glove-jab .6s ease both}
.wheel-frame.bopped{animation:wheel-bop .5s ease both}
@keyframes bunny-arrival{from{opacity:0;transform:translate(-35px,25px) rotate(-12deg)}to{opacity:1;transform:translate(0,0) rotate(0)}}
@keyframes bunny-jab{0%,100%{transform:translateX(0) rotate(0)}35%{transform:translateX(28px) rotate(10deg)}}
@keyframes glove-jab{0%{opacity:0;transform:translateX(-15px) scale(.75)}35%{opacity:1;transform:translateX(45px) scale(1.3)}100%{opacity:0;transform:translateX(0) scale(1)}}
@keyframes wheel-bop{0%,100%{transform:translateX(0)}25%{transform:translateX(8px) rotate(1deg)}60%{transform:translateX(-3px) rotate(-.5deg)}}
.match-art{width:100%;max-width:580px;justify-self:center;padding:65px 0 100px;height:auto}
.match-rating{text-align:center;font-family:"Courier New",monospace;font-size:.68rem;letter-spacing:.1em;color:var(--copper);margin-bottom:30px}
.match-pair{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:center}
.match-card{position:relative;aspect-ratio:1;border:2px solid #3b536b;border-radius:22px;overflow:hidden;box-shadow:0 12px 40px #0005}
.match-bunny{background:radial-gradient(ellipse at 50% 45%,#245675,#122338 70%);transform:rotate(-7deg)}
.match-shoe{background:white;transform:rotate(7deg);border-color:#d9a278}
.match-art .match-card img{display:block;width:100%;height:100%;margin:0;padding:12px;object-fit:contain;object-position:center;animation:none}
.match-art .match-card img[hidden]{display:none}
.match-heart{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-8deg);z-index:3;display:grid;place-items:center;width:65px;height:65px;border-radius:50%;background:#f33738;border:5px solid #080e17;color:#fff;font-size:2rem;box-shadow:0 0 40px #f3373840}
.match-custom{height:100%;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#142337;text-align:center;font-weight:900;font-size:.85rem}
.match-custom[hidden]{display:none}
.match-custom>span{font-size:3rem}
.match-art .stamp{right:8%;bottom:0;transform:rotate(-5deg)}
.match-sparks{position:absolute;inset:0;pointer-events:none}
.match-sparks>span{position:absolute;font-size:1.8rem;color:#f33738;transform:rotate(-15deg)}
.match-sparks>span:nth-child(1){left:12%;top:4%}
.match-sparks>span:nth-child(2){right:5%;top:16%;transform:rotate(18deg)}
.match-sparks>span:nth-child(3){left:1%;bottom:13%;font-size:1.1rem}
.match-sparks>span:nth-child(4){left:29%;bottom:5%;transform:rotate(-18deg)}
.match-sparks>span:nth-child(5){right:14%;top:0;font-size:1rem}
.new-match .match-pair{animation:match-reveal .65s cubic-bezier(.2,.9,.35,1.15) both}
.new-match .match-heart{animation:match-heartbeat .9s ease 3 .6s}
.new-match .match-sparks>span{animation:match-spark 1.5s ease-in-out 2}
@keyframes match-reveal{from{opacity:0;transform:scale(.8) translateY(18px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes match-heartbeat{0%,100%{transform:translate(-50%,-50%) rotate(-8deg) scale(1)}35%{transform:translate(-50%,-50%) rotate(-8deg) scale(1.17)}}
@keyframes match-spark{0%,100%{translate:0 0}50%{translate:0 -12px}}
@media(max-width:760px){
 .intervention{left:-5%;bottom:5%;width:160px}
 .spin-result{text-align:center}
 .match-art{height:auto;max-width:430px;padding:45px 6px 75px;margin:0 auto 10px}
 .match-rating{font-size:.56rem;margin-bottom:23px}
 .match-pair{gap:12px}
 .match-card{border-radius:17px}
 .match-art .match-card img{width:100%;height:100%;margin:0;padding:9px}
 .match-heart{width:54px;height:54px;font-size:1.65rem;border-width:4px}
 .match-art .stamp{bottom:0;right:9%}
 .match-sparks>span{font-size:1.5rem}
 .done-copy .signature{margin-top:18px}
}
@media(prefers-reduced-motion:reduce){.intervention,.match-pair{animation:none!important}.overcharging .mascot,.overcharging .ambience,.bopped,.bunny-glove,.match-heart,.match-sparks>span{animation:none!important}}

/* Three glove boops unlock a little extra love. */
.glove-trigger{position:absolute;z-index:4;display:block;border:0;background:transparent;padding:0;min-width:44px;min-height:44px;pointer-events:auto;cursor:pointer;touch-action:manipulation;border-radius:42%;-webkit-tap-highlight-color:transparent}
.glove-left{left:15%;top:21%;width:25%;height:24%}
.glove-right{left:63%;top:42%;width:18%;height:21%}
.glove-trigger:focus-visible{outline:2px dashed var(--blue);outline-offset:3px;background:#42bdff15}
.match-bunny .glove-left{left:19%;top:25%;width:23%;height:22%}
.match-bunny .glove-right{left:62%;top:43%;width:18%;height:21%}
.hug-ticket{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:17px 18px;margin-top:16px;border:1px dashed #d9a27888;border-radius:8px;background:#d9a2780c;color:var(--copper);text-align:left}
.hug-ticket>span{font-size:.8rem;font-weight:800}
.hug-ticket>small{font-size:.75rem;color:var(--muted)}
.hug-ticket:hover{background:#d9a27818;border-color:var(--copper)}
.hug-dialog{position:fixed;inset:0;margin:auto;width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #d9a27877;border-radius:22px;background:radial-gradient(ellipse at 50% 15%,#4c263933,transparent 70%),#101c2a;color:var(--white);padding:34px 28px;text-align:center;box-shadow:0 25px 100px #000b}
.hug-dialog:not([open]){display:none}
.hug-dialog[open]{animation:appear .3s ease both}
.hug-dialog::backdrop{background:#040a14bb;backdrop-filter:blur(6px)}
.hug-dialog .eyebrow{font-size:.75rem;margin:0}
.hug-heart{display:block;color:#f33738;font-size:4.5rem;line-height:1;margin:22px 0 18px;filter:drop-shadow(0 6px 20px #f3373833)}
.hug-dialog h2{font-size:clamp(2.1rem,8vw,2.8rem);letter-spacing:-.055em;line-height:1.06;margin:0 0 19px}
.hug-dialog h2 em{font-style:normal;color:var(--blue)}
#hugDescription{font-size:1rem;color:#c2cedb;line-height:1.6}
.hug-code{font-family:"Courier New",monospace;font-size:.75rem;letter-spacing:.025em;color:var(--copper);margin:23px 0}
.hug-dialog .btn{width:100%}
@media(max-width:420px){.hug-ticket{align-items:flex-start;flex-direction:column;gap:8px}.hug-dialog{padding:28px 20px}.hug-heart{font-size:3.5rem;margin:20px 0 16px}}

.date-note{margin:24px 0 12px;line-height:1.65;color:#c2cedb}.date-note strong{display:inline-block;color:var(--blue);font-size:1.05rem;margin-bottom:4px}
