:root{--font-bubble:"Cherry Bomb One", cursive;--font-script:"Sacramento", cursive;--font-hand:"Caveat", cursive;--font-sans:"Quicksand", system-ui, sans-serif;--ink:#4a0e2e;--ink-deep:#3d0a26;--plum:#7a2c52;--rose:#b0124f;--rose-deep:#a3114a;--berry:#c81d6a;--paper:#fffaf4;--blush:#f6c9dc;--stars-base:radial-gradient(1.5px 1.5px at 6% 14%, #fff 0%, transparent 100%), radial-gradient(1px 1px at 14% 62%, #fff 0%, transparent 100%), radial-gradient(2px 2px at 22% 30%, #ffe7a3 0%, transparent 100%), radial-gradient(1px 1px at 31% 82%, #fff 0%, transparent 100%), radial-gradient(1.5px 1.5px at 38% 12%, #fff 0%, transparent 100%), radial-gradient(1px 1px at 47% 48%, #fff 0%, transparent 100%), radial-gradient(2px 2px at 55% 22%, #ffd0e3 0%, transparent 100%), radial-gradient(1px 1px at 63% 70%, #fff 0%, transparent 100%), radial-gradient(1.5px 1.5px at 71% 9%, #fff 0%, transparent 100%), radial-gradient(1px 1px at 78% 40%, #fff 0%, transparent 100%), radial-gradient(2px 2px at 86% 64%, #ffe7a3 0%, transparent 100%), radial-gradient(1px 1px at 93% 18%, #fff 0%, transparent 100%), radial-gradient(1.5px 1.5px at 10% 90%, #fff 0%, transparent 100%)}html,body{background:#fff1f6;margin:0;padding:0}body{-webkit-tap-highlight-color:transparent;overflow-x:hidden}@keyframes bd-rise{0%{transform:translateY(0)}to{transform:translateY(-170vh)}}@keyframes bd-sway{0%{transform:rotate(-7deg)}to{transform:rotate(7deg)}}.app{font-family:var(--font-sans);color:var(--ink);position:relative;overflow-x:hidden}.intro{z-index:1000;box-sizing:border-box;cursor:pointer;background:radial-gradient(120% 90% at 50% 20%,#fff7fa 0%,#ffe1ee 45%,#ffbfd8 100%);flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:24px;transition:opacity 1s;display:flex;position:fixed;inset:0;overflow:hidden}.intro--leaving{opacity:0;pointer-events:none}.intro-glow{pointer-events:none;border-radius:50%;position:absolute}.intro-glow--light{background:radial-gradient(circle,#fffffff2 0%,#fff0 70%);width:560px;height:560px;top:-160px;left:-180px}.intro-glow--pink{background:radial-gradient(circle,#ff78b459 0%,#ff78b400 70%);width:640px;height:640px;bottom:-220px;right:-220px}.intro-eyebrow{letter-spacing:.34em;text-transform:uppercase;color:var(--plum);text-align:center;font:700 12px/1.4 Quicksand,sans-serif;position:relative}.intro-float{margin-bottom:190px;position:relative}.intro-balloon{aspect-ratio:5/6;width:clamp(170px,44vw,230px);position:relative}.intro-balloon-body{background:radial-gradient(circle at 32% 26%,#ffffffeb 0,#ffffff80 7%,#fff0 22%),radial-gradient(circle at 45% 40%,#ff5c9d 0%,#ff4f9a 45%,#c2185b 100%);border-radius:50%/56% 56% 44% 44%;position:absolute;inset:0;box-shadow:inset -18px -26px 50px #6e002d40,0 30px 60px -20px #c2185b80}.intro-balloon-age{font-family:var(--font-bubble);color:#fff3f8;text-shadow:0 3px #8c003c40;place-items:center;font-size:clamp(64px,16vw,86px);display:grid;position:absolute;inset:0;transform:rotate(-6deg)}.intro-balloon-knot{clip-path:polygon(50% 0,100% 100%,0 100%);background:#c2185b;width:16px;height:12px;margin-left:-8px;position:absolute;top:98%;left:50%}.intro-balloon-string{box-sizing:border-box;width:10px;height:70px;position:absolute;top:100%;left:50%}.intro-balloon-string--upper{border-right:1.5px solid #b0124f80;border-radius:0 50% 50% 0;margin-top:10px}.intro-balloon-string--lower{border-left:1.5px solid #b0124f80;border-radius:50% 0 0 50%;margin-top:79px;margin-left:-8px}.intro-balloon-tag{background:var(--paper);font-family:var(--font-hand);color:var(--rose-deep);white-space:nowrap;border-radius:6px;padding:8px 16px 9px;font-size:24px;font-weight:700;position:absolute;top:calc(100% + 146px);left:50%;transform:translate(-50%)rotate(6deg);box-shadow:0 8px 16px -6px #7a144659}.intro-hint{font-family:var(--font-hand);color:var(--plum);font-size:25px;font-weight:600;position:relative}.hero{box-sizing:border-box;background:linear-gradient(#fff3f7 0%,#ffe0ec 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:96px 16px 150px;display:flex;position:relative;overflow:hidden}.hero-glow{pointer-events:none;border-radius:50%;position:absolute}.hero-glow--light{background:radial-gradient(circle,#ffffffe0 0%,#fff0 70%);width:46vw;max-width:560px;height:46vw;max-height:560px;top:6%;left:-12%}.hero-glow--pink{background:radial-gradient(circle,#ffa0c866 0%,#ffa0c800 70%);width:52vw;max-width:640px;height:52vw;max-height:640px;top:34%;right:-14%}.hero-balloons{z-index:1;position:absolute;inset:0}.balloon{cursor:pointer;position:absolute}.balloon-sway{transform-origin:50% 170%;position:absolute;inset:0}.balloon-body{border-radius:50%/56% 56% 44% 44%;position:absolute;inset:0}.balloon-knot{clip-path:polygon(50% 0,100% 100%,0 100%);width:10px;height:8px;margin-left:-5px;position:absolute;top:97%;left:50%}.balloon-string{margin-top:6px;margin-left:-10px;position:absolute;top:100%;left:50%;overflow:visible}.hero-content{z-index:2;text-align:center;pointer-events:none;flex-direction:column;align-items:center;display:flex;position:relative}.hero-greeting{font-family:var(--font-script);color:var(--rose);font-size:clamp(46px,8.6vw,108px);line-height:1.1}.hero-name{pointer-events:auto;justify-content:center;align-items:flex-start;gap:clamp(0px,.5vw,8px);margin-top:clamp(4px,1vw,12px);display:flex}.hero-letter-slot,.hero-letter-tap,.hero-letter-wobble{position:relative}.hero-letter-tap{cursor:pointer}.hero-letter{font-family:var(--font-bubble);background:linear-gradient(172deg,#ffe3f0 0%,#ff97c6 20%,#ff3d8b 40%,#ffc0dc 54%,#ff5aa0 66%,#d81b6a 84%,#9c0f4c 100%);color:#0000;-webkit-text-stroke:1.5px #fff9;filter:drop-shadow(0 14px 14px #b0124f47);-webkit-background-clip:text;background-clip:text;font-size:clamp(64px,15vw,200px);line-height:1.08;display:block}.hero-letter--shine{background:linear-gradient(160deg,#fffffff2 6%,#fff0 28% 58%,#ffffff8c 64%,#fff0 72%);-webkit-text-stroke:0;filter:none;pointer-events:none;-webkit-background-clip:text;background-clip:text;position:absolute;top:0;left:0}.hero-letter-string{background:linear-gradient(#b0124f80,#b0124f00);width:1.5px;height:clamp(46px,8vw,100px);position:absolute;top:90%;left:50%}.hero-meta{flex-direction:column;align-items:center;gap:10px;margin-top:clamp(70px,10vw,130px);display:flex}.hero-date{letter-spacing:.34em;text-transform:uppercase;color:var(--plum);font:700 12px/1 Quicksand,sans-serif}.hero-hint{font-family:var(--font-hand);color:var(--plum);font-size:clamp(22px,2.6vw,28px);font-weight:600}.scroll-cue{z-index:2;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.scroll-cue-label{letter-spacing:.3em;text-transform:uppercase;color:var(--plum);font:700 11px/1 Quicksand,sans-serif}.scroll-cue-line{background:linear-gradient(180deg, var(--rose), #b0124f00);border-radius:2px;width:2px;height:30px}.section{padding:clamp(80px,11vw,140px) clamp(16px,4vw,48px);position:relative}.section--photos{background:linear-gradient(#ffe0ec 0%,#ffd3e4 100%)}.section--story{background:linear-gradient(#ffd3e4 0%,#ffc4da 100%)}.section--reasons{background:linear-gradient(#ffc4da 0%,#ffa9ca 100%)}.section--letter{background:linear-gradient(#ffa9ca 0%,#e8739f 60%,#6b2160 100%);padding-bottom:clamp(90px,12vw,150px)}.section-head{text-align:center;margin:0 auto clamp(40px,6vw,72px);position:relative}.section-head--reasons{margin-bottom:clamp(36px,5vw,60px)}.section-head--letter{margin-bottom:clamp(36px,5vw,56px)}.section-title{font-family:var(--font-script);color:var(--rose);margin:0;font-size:clamp(58px,9vw,110px);font-weight:400;line-height:1}.section-hint{font-family:var(--font-hand);color:var(--plum);margin-top:10px;font-size:clamp(22px,2.6vw,27px);font-weight:600}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,48px) clamp(14px,3vw,36px);max-width:760px;margin:0 auto;display:grid;position:relative}.polaroid{transform:rotate(var(--tilt));background:#fffdfb;border-radius:4px;padding:12px 12px 0;transition:transform .45s cubic-bezier(.2,.8,.2,1.3),box-shadow .45s;position:relative;box-shadow:0 22px 34px -16px #7a144666,0 2px 6px #7a14461a}.polaroid:hover{z-index:3;transform:rotate(0)scale(1.04)translateY(-6px);box-shadow:0 30px 46px -16px #7a144680,0 2px 6px #7a14461a}.polaroid-tape{z-index:2;width:92px;height:26px;margin-left:-46px;position:absolute;top:-13px;left:50%}.polaroid-frame{aspect-ratio:3/4;background:#fffdfb;width:100%;position:relative;overflow:hidden}.polaroid-frame--landscape{aspect-ratio:4/3}.photo-img{object-fit:contain;width:100%;height:100%;display:block}.photo-empty{box-sizing:border-box;text-align:center;color:#4a0e2e99;border:1.5px dashed #4a0e2e33;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px;font:500 13px/1.3 system-ui,-apple-system,sans-serif;display:flex;position:absolute;inset:0}.polaroid-caption{font-family:var(--font-hand);color:var(--ink-deep);text-align:center;padding:12px 6px 16px;font-size:clamp(21px,2.4vw,27px);font-weight:600;line-height:1.2}.timeline{max-width:640px;margin:0 auto;padding-left:64px;position:relative}.timeline:before{content:"";border-left:2px dashed #b0124f59;position:absolute;top:10px;bottom:10px;left:23px}.timeline-list{flex-direction:column;gap:clamp(22px,4vw,34px);display:flex}.moment{background:#fff6f9;border-radius:22px;padding:20px 24px 22px;position:relative;box-shadow:0 18px 30px -22px #7a144673}.moment-pin{background:#fff7fa;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:18px;left:-57px;box-shadow:0 4px 10px -2px #b0124f59}.moment-date{letter-spacing:.22em;text-transform:uppercase;color:var(--berry);margin-bottom:10px;font:700 12px/1 Quicksand,sans-serif}.moment-title{font-family:var(--font-bubble);color:var(--ink);font-size:clamp(24px,3.2vw,32px);line-height:1.15}.moment-text{font-family:var(--font-hand);color:var(--plum);margin-top:6px;font-size:clamp(21px,2.5vw,25px);font-weight:500;line-height:1.3}.moment--upcoming{border:2px dashed #e8357f59;padding:18px 22px 20px}.moment--upcoming .moment-pin{top:16px;left:-59px}.moment-countdown{letter-spacing:.06em;color:var(--berry);background:#ffe1ee;border-radius:999px;margin-top:14px;padding:7px 14px;font:700 13px/1 Quicksand,sans-serif;display:inline-block}.moment-photo{box-sizing:border-box;width:auto;max-width:100%;height:auto;max-height:min(560px,75vh);transform:rotate(var(--tilt));background:#fffdfb;border-radius:6px;margin:16px auto 0;padding:8px;display:block;box-shadow:0 14px 24px -14px #7a144666,0 1px 4px #7a144614}.moment-photo--empty{aspect-ratio:4/3;width:100%;position:relative}.reason-grid{grid-template-columns:repeat(auto-fit,minmax(min(200px,40vw),1fr));gap:clamp(12px,2.4vw,24px);max-width:1000px;margin:0 auto;display:grid;position:relative}.reason{aspect-ratio:4/5;perspective:1000px;cursor:pointer;position:relative}.reason-inner{transform-style:preserve-3d;transition:transform .8s cubic-bezier(.3,1.25,.5,1);position:absolute;inset:0;transform:rotateY(0)}.reason-inner--flipped{transform:rotateY(180deg)}.reason-face{backface-visibility:hidden;border-radius:24px;position:absolute;inset:0}.reason-front{flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;box-shadow:0 20px 32px -18px #8c0a4699,inset 0 0 0 6px #ffffff29}.reason-front--pink{color:#fff;background:linear-gradient(155deg,#ef4b8c 0%,#c81d6a 100%)}.reason-front--pale{color:var(--rose);background:linear-gradient(155deg,#fff0f5 0%,#ffd6e6 100%)}.reason-number{font-family:var(--font-bubble);font-size:34px;line-height:1}.reason-tap{letter-spacing:.3em;text-transform:uppercase;font:700 11px/1 Quicksand,sans-serif}.reason-back{background:var(--paper);box-sizing:border-box;text-align:center;font-family:var(--font-hand);color:var(--ink-deep);text-wrap:balance;justify-content:center;align-items:center;padding:20px;font-size:clamp(22px,2.4vw,27px);font-weight:600;line-height:1.2;display:flex;transform:rotateY(180deg);box-shadow:0 20px 32px -18px #8c0a4673}.letter-stage{max-width:620px;margin:0 auto;position:relative}.envelope-wrap{padding-top:40px}.envelope{aspect-ratio:8/5;cursor:pointer;perspective:1400px;width:min(100%,500px);margin:0 auto;position:relative}.envelope-back{background:#f2a7c4;border-radius:14px;position:absolute;inset:0;box-shadow:0 34px 60px -24px #4a0e2e99}.envelope-peek{z-index:2;background:var(--paper);box-sizing:border-box;border-radius:8px;height:82%;padding:18px 22px;position:absolute;top:7%;left:7%;right:7%;box-shadow:0 2px 10px #4a0e2e26}.envelope-peek-greeting{font-family:var(--font-hand);color:var(--rose-deep);font-size:26px;font-weight:700}.envelope-peek-line{background:#b0124f24;border-radius:2px;height:2px;margin-top:16px}.envelope-peek-greeting+.envelope-peek-line{margin-top:14px}.envelope-pocket{z-index:3;clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%);background:linear-gradient(165deg,#ffe4ee 0%,#ffc9dd 100%);border-radius:14px;position:absolute;inset:0}.envelope-label{z-index:4;text-align:center;font-family:var(--font-script);color:#a8124d;font-size:clamp(34px,7vw,50px);line-height:1;position:absolute;bottom:13%;left:0;right:0}.envelope-flap{z-index:5;transform-origin:50% 0;clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(#ffd6e6 0%,#ffb9d3 100%);border-radius:14px 14px 0 0;width:100%;height:60%;position:absolute;top:0;left:0}.wax-seal{font-family:var(--font-bubble);color:#ffb0c2;background:radial-gradient(circle at 35% 30%,#f0476f 0%,#c1123f 55%,#8e0a2c 100%);border-radius:46% 54% 50% 50%/52% 48%;place-items:center;display:grid;box-shadow:0 5px 12px #6e082873,inset 0 -3px 6px #0003}.envelope-seal{z-index:6;width:62px;height:62px;font-size:28px;position:absolute;top:56%;left:50%;transform:translate(-50%,-50%)}.envelope-hint{text-align:center;font-family:var(--font-hand);color:var(--ink);margin-top:28px;font-size:25px;font-weight:600}.letter-card{background:var(--paper);font-family:var(--font-hand);color:var(--ink-deep);border-radius:12px;margin:20px auto 0;padding:clamp(34px,6vw,56px) clamp(24px,6vw,60px) clamp(34px,6vw,52px);font-size:clamp(23px,2.8vw,28px);font-weight:500;line-height:1.45;position:relative;box-shadow:0 44px 80px -34px #28061eb3}.letter-seal{width:52px;height:52px;font-size:24px;position:absolute;top:-24px;right:30px}.letter-greeting{color:var(--rose-deep);margin-bottom:14px;font-size:clamp(28px,3.4vw,34px);font-weight:700}.letter-body{text-wrap:pretty;flex-direction:column;gap:16px;display:flex}.letter-body p{margin:0}.letter-closing{text-align:right;margin-top:26px}.letter-signature{text-align:right;font-family:var(--font-script);color:var(--rose-deep);font-size:clamp(46px,6vw,60px);line-height:1.1}.cake-section{text-align:center;color:#fff4f8;background:linear-gradient(#6b2160 0%,#3a0f38 100%);padding:clamp(80px,11vw,140px) 16px clamp(90px,11vw,150px);position:relative;overflow:hidden}.stars{pointer-events:none;position:absolute;inset:0}.stars--cake{opacity:.7;background-image:var(--stars-base), radial-gradient(1.5px 1.5px at 96% 86%, #fff 0%, transparent 100%)}.stars--finale{background-image:var(--stars-base), radial-gradient(1px 1px at 52% 92%, #fff 0%, transparent 100%), radial-gradient(1.5px 1.5px at 96% 86%, #fff 0%, transparent 100%), radial-gradient(1px 1px at 3% 44%, #fff 0%, transparent 100%), radial-gradient(1.5px 1.5px at 67% 36%, #fff 0%, transparent 100%), radial-gradient(1px 1px at 42% 70%, #fff 0%, transparent 100%)}.cake-head{position:relative}.cake-title{font-family:var(--font-script);color:#ffd0e3;margin:0;font-size:clamp(56px,9vw,108px);font-weight:400;line-height:1.05}.cake-prompt{max-width:460px;color:var(--blush);text-wrap:pretty;margin:14px auto 0;font-size:17px;font-weight:600;line-height:1.5}.cake{width:min(340px,82vw);margin:clamp(40px,6vw,64px) auto 0;position:relative}.candles{z-index:2;justify-content:center;gap:4px;margin-bottom:-22px;display:flex;position:relative}.candle{cursor:pointer;padding-top:64px;position:relative}.flame{opacity:1;transform-origin:50% 100%;pointer-events:none;width:40px;height:60px;margin-left:-20px;transition:opacity .35s,transform .35s;position:absolute;top:0;left:50%;transform:scale(1)}.flame--out{opacity:0;transform:scale(.15)}.flame-flicker{transform-origin:50% 100%;position:absolute;inset:0}.flame-glow{background:radial-gradient(circle at 50% 62%,#ffd2788c 0%,#ffaa5000 62%);border-radius:50%;position:absolute;inset:-16px -24px -18px}.flame-stretch{transform-origin:50% 100%;width:22px;height:22px;margin-left:-11px;position:absolute;bottom:4px;left:50%;transform:scaleY(1.55)}.flame-drop{background:radial-gradient(circle at 35% 65%,#fffbe6 0%,#ffe08a 30%,#ffad42 70%,#ff7a3d 100%);border-radius:50% 0 50% 50%;width:100%;height:100%;transform:rotate(-45deg);box-shadow:0 0 16px 4px #ffbe5a99}.candle-wick{background:#2e1424;border-radius:2px;width:3px;height:12px;margin-left:-1.5px;position:absolute;top:56px;left:50%}.candle-digit{font-family:var(--font-bubble);background:repeating-linear-gradient(135deg,#fff 0 11px,#ff8fc0 11px 22px);color:#0000;-webkit-text-stroke:2px #e0508f;filter:drop-shadow(0 6px 10px #1e001459);-webkit-background-clip:text;background-clip:text;font-size:clamp(84px,22vw,108px);line-height:.9}.tier{position:relative}.tier--top{z-index:1;background:linear-gradient(#ffd9e8 0%,#ffb8d3 100%);border-radius:16px 16px 8px 8px;width:64%;height:86px;margin:0 auto;box-shadow:inset 0 -10px 18px #b0124f2e}.tier--bottom{background:linear-gradient(#ff94c2 0%,#ef5f9d 100%);border-radius:18px 18px 10px 10px;width:88%;height:108px;margin:-2px auto 0;box-shadow:inset 0 -12px 22px #78003238}.tier-icing{background:#fffaf6;position:absolute;top:0;left:0;right:0}.tier--top .tier-icing{border-radius:16px 16px 0 0;height:24px}.tier--bottom .tier-icing{border-radius:18px 18px 0 0;height:26px}.tier-drips{position:absolute;left:0;right:0}.tier--top .tier-drips{background:radial-gradient(circle at 50% 0,#fffaf6 0 9px,#0000 10px) 0 0/22px 14px repeat-x;height:14px;top:23px}.tier--bottom .tier-drips{background:radial-gradient(circle at 50% 0,#fffaf6 0 11px,#0000 12px) 0 0/26px 16px repeat-x;height:16px;top:25px}.tier-sprinkles{position:absolute}.tier--top .tier-sprinkles{background-image:radial-gradient(circle,#e8357f 0 2px,#0000 2.5px),radial-gradient(circle,#ffd36b 0 2px,#0000 2.5px),radial-gradient(circle,#fff 0 2px,#0000 2.5px);background-position:0 0,11px 7px,19px 13px;background-size:30px 20px,26px 24px,38px 28px;inset:44px 10% 12px}.tier--bottom .tier-sprinkles{background-image:radial-gradient(circle,#fff 0 2px,#0000 2.5px),radial-gradient(circle,#ffd36b 0 2px,#0000 2.5px),radial-gradient(circle,#b0124f 0 2px,#0000 2.5px);background-position:0 0,13px 9px,21px 15px;background-size:28px 22px,34px 26px,40px 30px;inset:52px 8% 14px}.cake-plate{background:linear-gradient(#fff 0%,#f1d5e2 100%);border-radius:50%;width:104%;height:26px;margin:-10px 0 0 -2%;position:relative;box-shadow:0 18px 30px -10px #00000073}.cake-controls{flex-direction:column;align-items:center;gap:12px;margin-top:40px;display:flex;position:relative}.mic-button{appearance:none;cursor:pointer;color:#8e0e44;letter-spacing:.03em;background:#fff4f8;border:0;border-radius:999px;padding:14px 26px;font:700 15px/1 Quicksand,sans-serif;box-shadow:0 12px 26px -12px #00000080}.mic-button:hover{background:#fff}.mic-note{min-height:28px;font-family:var(--font-hand);color:var(--blush);font-size:23px;font-weight:600}.wish{flex-direction:column;align-items:center;gap:12px;margin-top:34px;display:flex;position:relative}.wish-title{font-family:var(--font-script);color:#ffd0e3;font-size:clamp(54px,8vw,84px);line-height:1}.wish-note{font-family:var(--font-hand);color:var(--blush);font-size:clamp(23px,2.8vw,28px);font-weight:600}.relight-button{appearance:none;cursor:pointer;color:#fff4f8;background:#ffffff24;border:0;border-radius:999px;margin-top:8px;padding:12px 22px;font:700 14px/1 Quicksand,sans-serif;box-shadow:inset 0 0 0 1.5px #ffd0e38c}.relight-button:hover{background:#ffffff38}.finale{box-sizing:border-box;text-align:center;color:#fff4f8;background:radial-gradient(120% 70% at 50% 100%,#5a1850 0%,#2a0a26 50%,#12040f 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:120px 20px;display:flex;position:relative;overflow:hidden}.finale-eyebrow{letter-spacing:.34em;text-transform:uppercase;color:var(--blush);font:700 12px/1 Quicksand,sans-serif;position:relative}.finale-title{font-family:var(--font-script);color:#ffe6f1;text-shadow:0 0 22px #ff5fa0bf,0 0 64px #ff5fa073;margin:22px 0 0;font-size:clamp(76px,15vw,180px);font-weight:400;line-height:1;position:relative}.finale-message{max-width:560px;font-family:var(--font-hand);color:#fbd9e7;text-wrap:balance;margin:18px auto 0;font-size:clamp(26px,3.4vw,34px);font-weight:600;line-height:1.3;position:relative}.finale-signature{font-family:var(--font-script);color:#ffb3d1;margin-top:14px;font-size:clamp(44px,6vw,58px);line-height:1.2;position:relative}.finale-actions{flex-direction:column;align-items:center;gap:16px;margin-top:48px;display:flex;position:relative}.finale-hint{letter-spacing:.06em;color:var(--blush);font:600 14px/1.4 Quicksand,sans-serif}.replay-button{appearance:none;cursor:pointer;color:#2a0a26;background:#ff5fa8;border:0;border-radius:999px;padding:14px 26px;font:700 15px/1 Quicksand,sans-serif;box-shadow:0 0 0 6px #ff5fa82e,0 14px 30px -10px #ff5fa899}.replay-button:hover{background:#ff7cb9}.music-toggle{z-index:900;cursor:pointer;color:#8e0e45;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffafceb;border:0;border-radius:999px;align-items:center;gap:8px;padding:8px 16px 8px 8px;font:700 13px/1 Quicksand,sans-serif;display:flex;position:fixed;bottom:16px;right:16px;box-shadow:0 10px 24px -10px #7a14468c}.music-toggle-note{background:var(--berry);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:15px;line-height:1;display:grid}
