:root{--ink:#000;--paper:#fff;--pop-red:#ff3131;--pop-green:#39ff14;--pop-yellow:#ff0;--garden-sky-top:#f2a5c2;--garden-sky-middle:#f7c6bd;--garden-sky-bottom:#fff1cf;--garden-sun:#ffd58a;--garden-glow:#fff4bd;--garden-cream:#fff9e8;--garden-pink:#ff84ad;--garden-peach:#ffb48d;--garden-lavender:#aa91d6;--garden-grass:#34764b;--garden-bark:#6e4c45;--shadow:.7rem .7rem 0 var(--ink);--shadow-small:.35rem .35rem 0 var(--ink);--border:.25rem solid var(--ink);--border-thick:.45rem solid var(--ink);--page-width:75rem;--font-display:"Bungee", cursive;--font-hand:"Permanent Marker", cursive;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:3rem;--space-6:5rem;--space-7:7rem;--duration-fast:.18s;--duration-normal:.5s;--duration-slow:.8s;--duration-entrance:1s;--duration-ambient:3.5s;--delay-short:.175s;--delay-medium:.4s;--delay-long:1s;--ease-pop:cubic-bezier(.175, .885, .32, 1.275)}@font-face{font-family:Bungee;font-style:normal;font-weight:400;font-display:block;src:url(/assets/bungee-regular-edNpEo0j.ttf)format("truetype")}@font-face{font-family:Permanent Marker;font-style:normal;font-weight:400;font-display:block;src:url(/assets/permanent-marker-regular-BSLtAvo5.ttf)format("truetype")}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{background-color:var(--pop-yellow);background-image:radial-gradient(var(--ink) 10%, transparent 11%);min-width:20rem;max-width:100%;color:var(--ink);font-family:var(--font-hand);background-size:1.25rem 1.25rem;margin:0;overflow-x:hidden}button,a{color:inherit;font:inherit}button,a[href]{cursor:pointer}a:focus-visible,button:focus-visible{outline:.25rem solid var(--pop-red);outline-offset:.25rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-shell{overflow:hidden}.skip-link{z-index:100;padding:var(--space-2);border:var(--border);background:var(--paper);font-family:var(--font-display);position:fixed;inset-block-start:-8rem;inset-inline-start:var(--space-2)}.skip-link:focus{inset-block-start:var(--space-2)}.emoji-sky{z-index:1;pointer-events:none;position:fixed;inset:0}.emoji-sky span{width:clamp(1.75rem,4vw,3rem);height:clamp(1.75rem,4vw,3rem);color:var(--pop-red);opacity:.42;backface-visibility:hidden;contain:layout paint;isolation:isolate;will-change:transform;place-items:center;animation:11s linear infinite drift;display:grid;position:absolute;inset-block-end:-10vh;transform:translate(0,0)}.emoji-sky span svg{width:100%;height:100%;filter:drop-shadow(.15rem .15rem 0 var(--paper));transform:translate(0,0)}.emoji-sky.is-scrolling span{animation-play-state:paused}.emoji-sky.is-paused{display:none}.emoji-sky.is-paused span{will-change:auto;animation:none}.emoji-sky span:first-child{animation-delay:-2s;inset-inline-start:5%}.emoji-sky span:nth-child(2){animation-delay:-8s;inset-inline-start:15%}.emoji-sky span:nth-child(3){animation-delay:-5s;inset-inline-start:28%}.emoji-sky span:nth-child(4){animation-delay:-10s;inset-inline-start:42%}.emoji-sky span:nth-child(5){animation-delay:-1s;inset-inline-start:55%}.emoji-sky span:nth-child(6){animation-delay:-7s;inset-inline-start:66%}.emoji-sky span:nth-child(7){animation-delay:-4s;inset-inline-start:76%}.emoji-sky span:nth-child(8){animation-delay:-9s;inset-inline-start:85%}.emoji-sky span:nth-child(9){animation-delay:-3s;inset-inline-start:92%}.emoji-sky span:nth-child(10){animation-delay:-6s;inset-inline-start:35%}.emoji-sky span:nth-child(2n){color:var(--pop-red)}.emoji-sky span:nth-child(3n){color:var(--pop-green)}.emoji-sky span:nth-child(5n){color:var(--paper);opacity:.58}.hero{z-index:auto;position:relative}main,.site-footer{z-index:1;position:relative}.hero{min-height:100vh;padding:calc(max(var(--space-3), env(safe-area-inset-top)) + 4.3rem + var(--space-4)) var(--space-4) var(--space-4);place-items:center;display:grid}.top-nav{z-index:1000;inset-block-start:max(var(--space-3), env(safe-area-inset-top));inset-inline:var(--space-3);max-width:var(--page-width);min-height:4.3rem;padding:var(--space-2) var(--space-3);border:var(--border);background:var(--paper);box-shadow:var(--shadow-small);justify-content:space-between;align-items:center;gap:var(--space-2);transition:transform var(--duration-normal) var(--ease-pop);margin-inline:auto;display:flex;position:fixed;transform:translateY(0)}.top-nav[data-visible=false]{transform:translateY(calc(-100% - var(--space-4)))}.site-shell.is-garden-active .top-nav{transform:translateY(calc(-100% - var(--space-4)));pointer-events:none}.site-shell.is-garden-active .top-nav[data-visible=true]{pointer-events:auto;transform:translateY(0)}.wordmark,.footer-mark{color:var(--pop-red);font-family:var(--font-display);font-size:clamp(1rem,2vw,1.45rem);text-decoration:none}.nav-links,.footer-links{gap:var(--space-3);display:flex}.nav-links a,.footer-links a{font-family:var(--font-display);font-size:1rem;text-decoration:none}.nav-links a{border:.15rem solid var(--ink);background:var(--paper);box-shadow:.2rem .2rem 0 var(--ink);transition:transform var(--duration-fast) ease, box-shadow var(--duration-fast) ease, background-color var(--duration-fast) ease;align-items:center;padding:.45rem .7rem;display:inline-flex}.nav-links a:hover{color:var(--ink);background:var(--pop-yellow);box-shadow:none;transform:translate(.2rem,.2rem)}.footer-links a:hover{color:var(--pop-red)}.jam-link{padding:.6rem var(--space-2);border:.15rem solid var(--ink);background:var(--pop-green);box-shadow:.25rem .25rem 0 var(--ink);font-family:var(--font-display);transition:transform var(--duration-fast) ease, box-shadow var(--duration-fast) ease;font-size:.85rem;text-decoration:none}.jam-link:hover{box-shadow:none;transform:translate(.25rem,.25rem)}.hero-copy{z-index:2;max-width:64rem;padding-block:var(--space-6);text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.hero-title{border:var(--border);background:var(--paper);box-shadow:.65rem .65rem 0 var(--pop-red);font-family:var(--font-display);animation:hero-title-enter var(--duration-entrance) var(--ease-pop) both, hero-title-breathe var(--duration-ambient) var(--delay-long) ease-in-out infinite;margin:0;padding:clamp(1rem,3vw,2rem);font-size:clamp(3rem,9vw,7rem);line-height:.95;transform:rotate(-2deg)}.hero-kicker{margin:var(--space-4) 0;padding:.55rem var(--space-2);border:.15rem solid var(--ink);background:var(--pop-yellow);color:var(--pop-red);animation:hero-kicker-enter var(--duration-slow) var(--delay-short) var(--ease-pop) both;font-size:clamp(1.6rem,4vw,3rem);line-height:1;transform:rotate(3deg)}.hero:before{z-index:0;aspect-ratio:1;background:radial-gradient(circle, var(--paper) 0 8%, transparent 62%);content:"";opacity:.45;width:min(80vw,52rem);animation:hero-aura var(--duration-ambient) ease-in-out infinite;pointer-events:none;border-radius:50%;position:absolute;inset-block-start:50%;inset-inline-start:50%}.hero-romance{z-index:1;pointer-events:none;position:absolute;inset:0}.hero-romance svg{width:clamp(2rem,5vw,4rem);height:clamp(2rem,5vw,4rem);color:var(--pop-red);filter:drop-shadow(var(--space-1) var(--space-1) 0 var(--paper));opacity:0;animation:hero-romance-float var(--duration-ambient) ease-in-out infinite;position:absolute}.hero-romance svg:first-child{animation-delay:var(--delay-short);inset-block-start:24%;inset-inline-start:8%}.hero-romance svg:nth-child(2){color:var(--pop-green);animation-delay:var(--duration-normal);inset-block-start:18%;inset-inline-end:10%}.hero-romance svg:nth-child(3){animation-delay:var(--delay-long);inset-block-end:20%;inset-inline-end:7%}.hero-romance svg:nth-child(4){color:var(--pop-green);animation-delay:var(--duration-entrance);inset-block-end:18%;inset-inline-start:10%}.hero-actions{justify-content:center;gap:var(--space-3);animation:hero-actions-enter var(--duration-slow) var(--delay-medium) var(--ease-pop) both;flex-wrap:wrap;display:flex}.hero-cta,.hero-music-button,.answer-buttons button{padding:var(--space-3) var(--space-5);border:var(--border);background:var(--pop-green);box-shadow:var(--shadow);font-family:var(--font-display);align-items:center;gap:var(--space-2);transition:transform var(--duration-fast) ease, box-shadow var(--duration-fast) ease;font-size:clamp(1rem,2vw,1.35rem);line-height:1;text-decoration:none;animation:.7s ease-in-out infinite bounce;display:inline-flex}.hero-music-button{background:var(--pop-red);color:var(--paper);animation-delay:-.35s}.hero-cta svg,.hero-music-button svg{width:2rem;height:2rem}.hero-cta svg{color:var(--pop-red)}.hero-cta:hover,.hero-music-button:hover,.answer-buttons button:hover{box-shadow:none;transform:translate(.5rem,.5rem)}.hero-sticker{border:var(--border);background:var(--paper);width:6rem;height:6rem;box-shadow:var(--shadow-small);place-items:center;display:grid;position:absolute}.hero-sticker svg{width:3.5rem;height:3.5rem}.sparkle-sticker{color:var(--pop-red);inset-block-start:25%;inset-inline-start:8%;transform:rotate(12deg)}.rocket-sticker{color:var(--pop-green);inset-block-end:22%;inset-inline-end:8%;transform:rotate(-12deg)}.vibe-check{z-index:20;padding:var(--space-2);border:var(--border);background:var(--paper);box-shadow:.5rem .5rem 0 var(--pop-green);font-family:var(--font-display);align-items:center;gap:var(--space-1);font-size:.7rem;display:flex;position:fixed;inset-block-end:var(--space-4);inset-inline-end:var(--space-4)}.vibe-check svg{color:var(--pop-red)}.section{width:min(calc(100% - 2rem), var(--page-width));padding-block:var(--space-6);margin-inline:auto}.confession-section,.finale-section{place-items:center;display:grid}.confession-card,.finale-card{border:var(--border-thick);background:var(--paper);width:min(100%,52rem);box-shadow:var(--shadow);text-align:center;border-radius:12% 3% 10% 4%/4% 12% 3% 10%;padding:clamp(2rem,6vw,5rem);position:relative}.confession-card p{text-transform:uppercase;margin:0;font-size:clamp(1.7rem,4vw,3rem);line-height:1.1}mark{background:var(--pop-yellow);color:inherit;padding-inline:.25em}.green-mark{background:var(--pop-green)}.boom-label{padding:var(--space-1) var(--space-2);border:var(--border);background:var(--pop-red);color:var(--paper);font-family:var(--font-display);font-size:clamp(1.5rem,4vw,2.5rem);position:absolute;inset-block-start:-2rem;inset-inline-start:-1rem;transform:rotate(-15deg)}.confession-card footer{color:var(--pop-red);font-family:var(--font-display);text-underline-offset:.3rem;margin-block-start:var(--space-4);font-size:clamp(1rem,2vw,1.5rem);text-decoration:underline;text-decoration-thickness:.2rem}.section-title{width:fit-content;margin:0 auto var(--space-6);padding:var(--space-2);border:var(--border);background:var(--paper);box-shadow:var(--shadow);font-family:var(--font-display);text-align:center;font-size:clamp(2rem,5vw,4rem);line-height:1;transform:rotate(1deg)}.memory-grid,.reasons-grid{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.memory-card,.reason-card{border:var(--border);background:var(--paper);box-shadow:var(--shadow)}.memory-card{padding:var(--space-2);transition:transform var(--duration-fast) var(--ease-pop)}.memory-card:hover{transform:scale(1.04)rotate(2deg)}.memory-card img{aspect-ratio:1;border:var(--border);object-fit:cover;filter:grayscale();width:100%;transition:filter var(--duration-normal) ease;display:block}.memory-card:hover img{filter:grayscale(0)}.memory-card p{margin:var(--space-2) 0 0;text-align:center;font-size:1.35rem;line-height:1}.tilt-right{transform:rotate(3deg)}.tilt-left{transform:rotate(-5deg)}.tilt-soft{transform:rotate(1deg)}.reasons-grid{justify-content:center}.reason-card{max-width:21rem;padding:var(--space-4);text-align:center;flex-direction:column;align-items:center;display:flex}.reason-card:first-child{transform:rotate(-2deg)}.reason-card:nth-child(2){transform:rotate(3deg)}.reason-card:nth-child(3){transform:rotate(-1deg)}.reason-icon{width:6rem;height:6rem;border:var(--border);background:var(--pop-yellow);box-shadow:var(--shadow-small);border-radius:50%;place-items:center;margin-block-end:var(--space-3);display:grid}.reason-icon svg{width:3rem;height:3rem}.reason-black .reason-icon{background:var(--pop-green)}.reason-yellow .reason-icon{background:var(--pop-red);color:var(--paper)}.reason-card h3{width:100%;padding:var(--space-1);background:var(--pop-red);color:var(--paper);font-family:var(--font-display);margin:0;font-size:1.2rem}.reason-black h3{background:var(--ink)}.reason-yellow h3{background:var(--pop-yellow);color:var(--ink)}.reason-card p{margin:var(--space-3) 0 0;text-transform:uppercase;font-size:1.35rem;line-height:1.1}.finale-card{border-width:.5rem;width:min(100%,62rem);padding:clamp(3rem,7vw,6rem)}.final-heart{width:clamp(4rem,10vw,8rem);height:clamp(4rem,10vw,8rem);color:var(--pop-red);animation:.7s ease-in-out infinite bounce}.finale-card h2{margin:var(--space-3) 0 var(--space-5);font-family:var(--font-display);font-size:clamp(2.5rem,6vw,5rem);line-height:.95}.answer-buttons{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.answer-buttons button{animation:none}.answer-buttons button:last-child{background:var(--paper)}.celebration-message{min-height:1.5em;margin:var(--space-3) 0 0;color:var(--pop-red);font-size:clamp(1.2rem,3vw,1.8rem)}.site-footer{min-height:15rem;padding:var(--space-5) var(--space-3);border-block-start:.5rem solid var(--pop-red);background:var(--ink);color:var(--paper);text-align:center;justify-content:center;align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.footer-mark{color:var(--pop-green);font-size:1.7rem}.site-footer p{font-family:var(--font-display);opacity:.6;margin:0;font-size:.7rem}.reveal-card{opacity:0;transition:opacity var(--duration-normal) ease, transform var(--duration-normal) var(--ease-pop);transform:scale(.65)rotate(-7deg)}.reveal-card.is-visible{opacity:1}.confession-card.is-visible,.finale-card.is-visible,.memory-card.is-visible,.reason-card.is-visible{transform:none}.memory-card.is-visible.tilt-right{transform:rotate(3deg)}.memory-card.is-visible.tilt-left{transform:rotate(-5deg)}.memory-card.is-visible.tilt-soft{transform:rotate(1deg)}.reason-card.is-visible:first-child{transform:rotate(-2deg)}.reason-card.is-visible:nth-child(2){transform:rotate(3deg)}.reason-card.is-visible:nth-child(3){transform:rotate(-1deg)}@keyframes bounce{0%,to{transform:translateY(-5%)scale(1)}50%{transform:translateY(0)scale(1.04)}}@keyframes drift{0%{transform:translateY(110vh)rotate(0)}to{transform:translate(3rem,-120vh)rotate(360deg)}}@keyframes hero-title-enter{0%{opacity:0;transform:translate3d(0, var(--space-5), 0) scale(.72) rotate(-8deg)}70%{opacity:1;transform:translate3d(0, calc(var(--space-1) * -1), 0) scale(1.04) rotate(1deg)}to{opacity:1;transform:translate(0,0)scale(1)rotate(-2deg)}}@keyframes hero-title-breathe{0%,to{box-shadow:.65rem .65rem 0 var(--pop-red);transform:translate(0,0)scale(1)rotate(-2deg)}50%{transform:translate3d(0, calc(var(--space-1) * -.4), 0) scale(1.015) rotate(-1deg);box-shadow:.8rem .8rem 0 var(--pop-red)}}@keyframes hero-kicker-enter{0%{opacity:0;transform:translate3d(0, var(--space-4), 0) scale(.8) rotate(8deg)}to{opacity:1;transform:translate(0,0)scale(1)rotate(3deg)}}@keyframes hero-actions-enter{0%{opacity:0;transform:translate3d(0, var(--space-4), 0) scale(.88)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes hero-aura{0%,to{opacity:.25;transform:translate(-50%,-50%)scale(.9)}50%{opacity:.55;transform:translate(-50%,-50%)scale(1.08)}}@keyframes hero-romance-float{0%{opacity:0;transform:translate3d(0, var(--space-4), 0) scale(.65) rotate(-12deg)}20%,75%{opacity:.7}50%{transform:translate3d(var(--space-2), calc(var(--space-3) * -1), 0) scale(1.08) rotate(8deg)}to{opacity:0;transform:translate3d(calc(var(--space-2) * -1), calc(var(--space-6) * -1), 0) scale(.8) rotate(18deg)}}@media (width>=48rem){.memory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reasons-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reason-card:nth-child(2){margin-block-start:var(--space-4)}}@media (width>=70rem){.memory-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=42rem){.hero{--hero-mobile-gap:calc(var(--space-6) + (var(--space-2) * 2));min-height:auto;padding:calc(max(var(--space-3), env(safe-area-inset-top)) + 3.8rem + var(--hero-mobile-gap)) var(--space-2) var(--hero-mobile-gap)}.hero-copy{padding-block:0}.top-nav{inset-block-start:max(var(--space-3), env(safe-area-inset-top));inset-inline:var(--space-1);gap:.35rem;min-height:3.8rem;padding-inline:.45rem}.top-nav[data-visible=false]{transform:translateY(calc(-100% - var(--space-3)))}.wordmark{white-space:nowrap;flex:none;font-size:clamp(.72rem,3.4vw,1rem)}.nav-links{flex:auto;justify-content:center;gap:clamp(.25rem,1.8vw,.65rem);min-width:0;display:flex}.nav-links a{padding:.3rem .42rem;font-size:clamp(.68rem,2.4vw,.92rem)}.jam-link{box-shadow:.18rem .18rem 0 var(--ink);white-space:nowrap;flex:none;padding:.42rem .5rem;font-size:clamp(.66rem,2.3vw,.9rem)}.hero-sticker{display:none}.vibe-check{inset-block-end:var(--space-2);inset-inline-end:var(--space-2)}.section{width:min(calc(100% - 1.25rem), var(--page-width))}}@media (width<=30rem){.top-nav{gap:.2rem;padding-inline:.3rem}.nav-links{gap:.2rem}.nav-links a{padding:.2rem .28rem;font-size:.64rem}.jam-link{padding-inline:.35rem;font-size:.63rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.emoji-sky{display:none}.reveal-card{opacity:1;transform:none}*,:before,:after{animation-iteration-count:1!important}}@media (height<=52rem) and (width>=43rem){.confession-card,.finale-card{padding:2rem 3rem}.confession-card p{font-size:clamp(1.4rem,3vw,2.2rem)}.finale-card h2{margin-block:var(--space-2) var(--space-4);font-size:clamp(2rem,5vw,3.5rem)}.final-heart{width:clamp(3rem,8vw,5rem);height:clamp(3rem,8vw,5rem)}.confession-card .letter-salutation{margin-block-start:3.5rem}}.letter-salutation{color:var(--ink);font-family:var(--font-hand);margin-block-end:var(--space-3)!important;font-size:clamp(1rem,2vw,1.5rem)!important}.confession-card footer{justify-content:center;align-items:flex-end;gap:var(--space-1);text-align:right;flex-direction:column;width:100%;display:flex}.confession-card footer strong{color:var(--ink);font-size:.85em;text-decoration:none!important}.letter-navigation{justify-content:center;align-items:center;gap:var(--space-2);margin-block-start:var(--space-4);display:flex}.letter-navigation button{padding:var(--space-1) var(--space-2);border:var(--border);background:var(--pop-green);box-shadow:var(--shadow-small);font-family:var(--font-display);transition:transform var(--duration-fast) ease, box-shadow var(--duration-fast) ease, background-color var(--duration-fast) ease;font-size:.75rem}.letter-navigation button:not(:disabled):hover{background:var(--pop-yellow);box-shadow:none;transform:translate(.2rem,.2rem)}.letter-navigation button:not(:disabled):active{box-shadow:none;transform:translate(.3rem,.3rem)}.letter-navigation button:disabled{cursor:not-allowed;opacity:.4}.letter-navigation span{font-family:var(--font-display);white-space:nowrap;font-size:.8rem}.letter-salutation{width:100%;color:var(--pop-red);font-family:var(--font-display);text-align:left;justify-content:flex-start;margin-block-start:var(--space-3);display:flex;margin-block-end:var(--space-3)!important;font-size:clamp(.9rem,1.8vw,1.35rem)!important}.letter-salutation strong{color:var(--ink)}.confession-card footer,.confession-card footer span,.confession-card footer strong{text-decoration:none!important}.letter-romance{width:clamp(1.7rem,4vw,3.2rem);height:clamp(1.7rem,4vw,3.2rem);filter:drop-shadow(var(--space-1) var(--space-1) 0 var(--paper));pointer-events:none;position:absolute}.letter-romance-top{color:var(--pop-red);inset-block-start:var(--space-3);inset-inline-end:var(--space-3);transform:rotate(12deg)}.letter-romance-bottom{color:var(--pop-green);inset-block-end:var(--space-3);inset-inline-start:var(--space-3);transform:rotate(-12deg)}.letter-message{color:var(--ink);font-family:var(--font-hand);letter-spacing:0;font-weight:400;line-height:1.28;display:grid;font-size:clamp(1rem,2.3vw,1.6rem)!important}.letter-message-reserve,.letter-message-written{white-space:pre-line;grid-area:1/1}.letter-message-reserve{visibility:hidden}.letter-message-written{align-self:start}.letter-writing-cursor{background:var(--pop-red);vertical-align:-.08em;width:.14em;height:.95em;animation:letter-cursor-blink var(--duration-slow) steps(1, end) infinite;margin-inline-start:.12em;display:inline-block}.memory-card{align-items:center;gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(12rem,.8fr);display:grid}.memory-grid .memory-card:only-child{grid-column:1/-1;justify-self:center;width:min(100%,52rem)}.memory-image-wrap{justify-content:center;min-width:0;display:flex}.memory-image-wrap img{width:clamp(14rem,28vw,25rem);max-width:100%}.memory-copy{padding:var(--space-3);border:var(--border);background:var(--pop-yellow);box-shadow:var(--shadow-small);text-align:center}.memory-copy h3{padding:var(--space-1);background:var(--pop-red);color:var(--paper);font-family:var(--font-display);margin:0;font-size:clamp(1.2rem,2.5vw,2rem);line-height:1}.memory-copy p{margin:var(--space-3) 0 0;font-family:var(--font-hand);font-size:clamp(1rem,2vw,1.35rem);line-height:1.15}@media (width<=42rem){.memory-card{gap:var(--space-3);grid-template-columns:1fr}.memory-copy{width:min(100%,22rem);margin-inline:auto}}.memory-card .memory-image-wrap img{aspect-ratio:1}@media (height<=52rem) and (width>=43rem){.memory-card{gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(11rem,.8fr)}.memory-image-wrap img{width:clamp(14rem,24vw,20rem)}.memory-copy{padding:var(--space-2)}.memory-copy h3{font-size:clamp(1rem,2vw,1.5rem)}.memory-copy p{margin-block-start:var(--space-2);font-size:clamp(.9rem,1.5vw,1.1rem)}}.letter-message{will-change:transform, opacity;animation-duration:.86s;animation-timing-function:cubic-bezier(.22,1,.36,1);animation-fill-mode:both;position:relative}.letter-message:after{color:var(--pop-red);content:"♥";font-family:var(--font-display);opacity:0;pointer-events:none;margin-inline-start:.35em;font-size:.45em;position:absolute;inset-block-start:50%;transform:translateY(-50%)scale(.5)rotate(-12deg)}.letter-message-next{animation-name:letter-next}.letter-message-prev{animation-name:letter-prev}.letter-message-next:after,.letter-message-prev:after{animation:.86s ease-out both letter-heart}@keyframes letter-next{0%{opacity:0;transform:translate(2rem)rotate(1.5deg)}55%{opacity:1}to{opacity:1;transform:translate(0,0)rotate(0)}}@keyframes letter-prev{0%{opacity:0;transform:translate(-2rem)rotate(-1.5deg)}55%{opacity:1}to{opacity:1;transform:translate(0,0)rotate(0)}}@keyframes letter-heart{0%{opacity:0;transform:translateY(-50%)scale(.5)rotate(-12deg)}35%{opacity:.9;transform:translateY(-90%)scale(1.15)rotate(8deg)}to{opacity:0;transform:translateY(-150%)scale(.8)rotate(18deg)}}@keyframes letter-cursor-blink{0%,45%{opacity:1}46%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.letter-message,.letter-message-next:after,.letter-message-prev:after{animation:none}.letter-writing-cursor,.letter-navigation button{animation:none!important}}@media (width<=42rem){.hero-title,.hero-kicker,.section-title,.memory-card,.memory-copy,.confession-card,.finale-card{max-width:100%}.hero-title,.hero-kicker,.section-title{overflow-wrap:anywhere}.memory-card{min-width:0}.hero-romance svg:nth-child(3),.hero-romance svg:nth-child(4){display:none}.hero-romance svg{width:var(--space-4);height:var(--space-4)}.hero:before{width:95vw}}@media (prefers-reduced-motion:reduce){.hero:before,.hero-title,.hero-kicker,.hero-actions,.hero-romance svg{animation:none!important}.hero:before,.hero-romance{display:none}}.finale-card{isolation:isolate;background-image:radial-gradient(color-mix(in srgb, var(--pop-red) 16%, transparent) 10%, transparent 11%);background-size:var(--space-4) var(--space-4);overflow:hidden}.reply-section{min-width:0;padding-block:clamp(var(--space-2), 4vh, var(--space-5));place-items:center;display:grid}.reply-card{width:min(100%,52rem);min-width:0;padding:clamp(var(--space-3), 4vw, var(--space-5));border:var(--border-thick);background:var(--paper);box-shadow:var(--shadow);text-align:center;margin-inline:auto;transform:rotate(1deg)}.reply-eyebrow{width:fit-content;margin:0 auto var(--space-2);padding:var(--space-1) var(--space-2);background:var(--pop-red);color:var(--paper);font-family:var(--font-display);font-size:clamp(.7rem,1.6vw,1rem)}.reply-card h2{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:clamp(1.6rem,4vw,3rem);line-height:1}.reply-intro{margin:0 auto var(--space-3);font-size:clamp(1rem,2vw,1.35rem)}.reply-form{gap:var(--space-1);text-align:center;width:100%;min-width:0;display:grid}.reply-form label{font-family:var(--font-display);font-size:clamp(.75rem,1.5vw,1rem)}.reply-form textarea{width:100%;min-width:0;max-width:100%;min-height:8rem;padding:var(--space-2);border:var(--border);border-radius:var(--space-1);background:var(--garden-cream);color:var(--ink);font:inherit;resize:vertical;text-align:start;font-size:clamp(1rem,2vw,1.25rem);line-height:1.25}.reply-form textarea:focus-visible{outline:.25rem solid var(--pop-red);outline-offset:.2rem}.reply-help{color:color-mix(in srgb, var(--ink) 70%, var(--paper));margin:0;font-size:.95rem}.reply-form button{width:fit-content;padding:var(--space-2) var(--space-3);border:var(--border);background:var(--pop-green);box-shadow:var(--shadow-small);font-family:var(--font-display);transition:background-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease, transform var(--duration-fast) ease;justify-self:center;margin-block-start:var(--space-1);font-size:clamp(.8rem,1.7vw,1rem)}.reply-form button:hover:not(:disabled){background:var(--pop-yellow);box-shadow:none;transform:translate(var(--space-1), var(--space-1))}.reply-form button:disabled{cursor:not-allowed;opacity:.5}.reply-status{min-height:1.4em;margin:var(--space-2) 0 0;color:var(--pop-red);font-family:var(--font-display);font-size:clamp(.75rem,1.6vw,1rem)}@media (height<=60rem) and (width>=43rem){.reply-section{padding-block:var(--space-2)}.reply-card{padding:var(--space-3) var(--space-4);transform:none}.reply-card h2{font-size:clamp(1.7rem,4vw,2.6rem)}.reply-intro{margin-block-end:var(--space-2)}.reply-form textarea{min-height:7rem}.reply-status{margin-block-start:var(--space-1)}}@media (width<=42rem){.reply-card{width:100%;padding:var(--space-3) var(--space-2);transform:none}.reply-card h2{overflow-wrap:anywhere;font-size:clamp(1.6rem,8vw,2.5rem)}.reply-form textarea{min-height:8rem}.reply-form button{width:min(100%,18rem)}}.finale-card>:not(.finale-sparkles){z-index:1;position:relative}.finale-card>.answer-buttons{position:static}.finale-eyebrow{width:fit-content;margin:0 auto var(--space-2);padding:var(--space-1) var(--space-2);background:var(--pop-red);color:var(--paper);font-family:var(--font-display);font-size:clamp(.75rem,1.5vw,1rem);transform:rotate(-2deg)}.finale-card h2{text-wrap:balance;max-width:14ch;margin-inline:auto}.finale-copy{max-width:38rem;margin:calc(var(--space-4) * -.5) auto var(--space-4);font-size:clamp(1.1rem,2.4vw,1.5rem);line-height:1.2}.finale-sparkles{z-index:0;pointer-events:none;position:absolute;inset:0}.finale-sparkles svg{opacity:.32;width:clamp(2rem,5vw,4rem);height:clamp(2rem,5vw,4rem);animation:finale-sparkle-float var(--duration-ambient) ease-in-out infinite;position:absolute}.finale-sparkles svg:first-child{color:var(--pop-green);inset-block-start:var(--space-4);inset-inline-start:var(--space-4)}.finale-sparkles svg:nth-child(2){color:var(--pop-red);animation-delay:var(--delay-medium);inset-block-start:35%;inset-inline-end:var(--space-4)}.finale-sparkles svg:nth-child(3){color:var(--pop-green);animation-delay:var(--delay-long);inset-block-end:var(--space-4);inset-inline-start:18%}.finale-card .final-heart{animation:finale-heartbeat var(--duration-ambient) ease-in-out infinite;filter:drop-shadow(var(--space-1) var(--space-1) 0 var(--pop-yellow))}.answer-buttons button{min-width:11rem;transition:background-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease, transform var(--duration-fast) var(--ease-pop)}.answer-buttons button:hover{background:var(--pop-yellow)}.answer-buttons button:active{box-shadow:none;transform:translate(var(--space-1), var(--space-1)) scale(.97)}.answer-buttons .no-answer-button{z-index:2;will-change:transform;width:auto;min-width:11rem;position:relative}.answer-buttons .no-answer-button.is-dodging,.answer-buttons .no-answer-button.is-dodging:hover,.answer-buttons .no-answer-button.is-dodging:focus-visible{box-shadow:var(--shadow);animation:no-button-to-corner var(--duration-normal) var(--ease-pop) both;position:absolute;inset-block-start:var(--space-3);inset-inline-end:var(--space-3);transform:rotate(5deg)}.answer-buttons .no-answer-button.is-returning{animation:no-button-return var(--duration-normal) var(--ease-pop)}.finale-card.has-yes{animation:finale-yes-pop var(--duration-entrance) var(--ease-pop)}.finale-card.has-yes .final-heart{color:var(--pop-green);animation-duration:var(--duration-slow)}.finale-card.is-rejected{background-image:radial-gradient(color-mix(in srgb, var(--pop-green) 20%, transparent) 10%, transparent 11%)}.rejection-content{text-align:center;min-height:30rem;animation:rejection-content-enter var(--duration-entrance) var(--ease-pop) both;flex-direction:column;justify-content:center;align-items:center;display:flex}.rejection-heart{width:clamp(4rem,9vw,6rem);height:clamp(4rem,9vw,6rem);color:var(--pop-red);filter:drop-shadow(var(--space-1) var(--space-1) 0 var(--pop-yellow))}.rejection-eyebrow{width:fit-content;margin:var(--space-3) auto;padding:var(--space-1) var(--space-2);background:var(--pop-green);font-family:var(--font-display);font-size:clamp(.75rem,1.5vw,1rem);transform:rotate(-2deg)}.rejection-content h2{max-width:18ch;margin:0 auto var(--space-3);color:var(--pop-red);font-size:clamp(1.65rem,4vw,2rem)}.rejection-copy{max-width:42rem;margin:0 auto var(--space-4);padding:var(--space-3);border:var(--border);background:var(--paper);box-shadow:var(--shadow-small);font-size:clamp(1rem,2.3vw,1.4rem);line-height:1.25}.change-mind-button{padding:var(--space-3) var(--space-5);border:var(--border);background:var(--pop-yellow);box-shadow:var(--shadow);font-family:var(--font-display);transition:background-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease, transform var(--duration-fast) ease;font-size:clamp(.9rem,2vw,1.15rem)}.change-mind-button:hover{background:var(--pop-green);box-shadow:none;transform:translate(var(--space-1), var(--space-1))}.answer-dialog-open,.answer-dialog-open body{overscroll-behavior:none;overflow:hidden}.answer-dialog{width:min(calc(100% - var(--space-4)), 34rem);color:var(--ink);background:0 0;border:0;padding:0;overflow:visible}.answer-dialog::backdrop{background:color-mix(in srgb, var(--ink) 72%, transparent)}.answer-confirm-panel{padding:var(--space-5);border:var(--border-thick);background-color:var(--pop-yellow);background-image:radial-gradient(var(--ink) 10%, transparent 11%);background-size:var(--space-3) var(--space-3);box-shadow:var(--shadow);text-align:center;animation:answer-confirm-enter var(--duration-normal) var(--ease-pop) both;position:relative}.answer-confirm-close{width:var(--space-5);height:var(--space-5);border:var(--border);background:var(--pop-red);color:var(--paper);box-shadow:var(--shadow-small);place-items:center;padding:0;display:grid;position:absolute;inset-block-start:var(--space-2);inset-inline-end:var(--space-2)}.answer-confirm-close:hover{box-shadow:none;transform:translate(var(--space-1), var(--space-1))}.answer-confirm-close svg{width:var(--space-3);height:var(--space-3)}.answer-confirm-heart{width:var(--space-6);height:var(--space-6);color:var(--pop-red)}.answer-confirm-eyebrow{width:fit-content;margin:var(--space-2) auto;padding:var(--space-1);background:var(--paper);font-family:var(--font-display);font-size:.75rem}.answer-confirm-panel h2{margin:var(--space-2) 0;font-family:var(--font-display);font-size:clamp(2rem,7vw,3.5rem);line-height:1}.answer-confirm-panel>p:not(.answer-confirm-eyebrow){margin:var(--space-3) auto;padding:var(--space-2);background:var(--paper);font-size:clamp(1rem,2.5vw,1.3rem);line-height:1.2}.answer-confirm-actions{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.answer-confirm-actions button{padding:var(--space-2) var(--space-3);border:var(--border);background:var(--pop-green);box-shadow:var(--shadow-small);font-family:var(--font-display);transition:background-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease, transform var(--duration-fast) ease;font-size:.8rem}.answer-confirm-actions button:last-child{background:var(--paper)}.answer-confirm-actions button:hover{background:var(--pop-yellow);box-shadow:none;transform:translate(var(--space-1), var(--space-1))}@keyframes finale-heartbeat{0%,to{transform:scale(1)rotate(-3deg)}20%{transform:scale(1.12)rotate(3deg)}35%{transform:scale(1.02)rotate(-2deg)}50%{transform:scale(1.16)rotate(2deg)}68%{transform:scale(1)rotate(-3deg)}}@keyframes finale-sparkle-float{0%,to{opacity:.2;transform:translate(0,0)rotate(-8deg)}50%{opacity:.55;transform:translate3d(var(--space-2), calc(var(--space-3) * -1), 0) scale(1.12) rotate(8deg)}}@keyframes finale-yes-pop{0%{transform:scale(1)}45%{transform:scale(1.035)rotate(1deg)}to{transform:scale(1)}}@keyframes answer-confirm-enter{0%{opacity:0;transform:translate3d(0, var(--space-4), 0) scale(.8) rotate(-3deg)}to{opacity:1;transform:translate(0,0)scale(1)rotate(0)}}@keyframes no-button-to-corner{0%{opacity:.5;transform:translate3d(calc(var(--space-7) * -1), var(--space-7), 0) scale(.75) rotate(-5deg)}to{opacity:1;transform:translate(0,0)scale(1)rotate(5deg)}}@keyframes no-button-return{0%{opacity:.65;transform:translate3d(var(--space-7), calc(var(--space-7) * -1), 0) rotate(5deg)}to{opacity:1;transform:translate(0,0)rotate(0)}}@keyframes rejection-content-enter{0%{opacity:0;transform:translate3d(0, var(--space-4), 0) scale(.82) rotate(-2deg)}to{opacity:1;transform:translate(0,0)scale(1)rotate(0)}}@media (width<=42rem){.finale-card{padding:var(--space-5) var(--space-3)}.finale-copy{margin-block-start:0}.answer-buttons{flex-direction:column}.answer-buttons button{width:min(100%,18rem)}.answer-confirm-panel{padding:var(--space-4) var(--space-3)}.answer-confirm-heart{width:var(--space-5);height:var(--space-5)}.answer-confirm-actions{flex-direction:column}.answer-confirm-actions button{width:100%}.answer-buttons .no-answer-button{touch-action:manipulation}.answer-buttons .no-answer-button:not(.is-dodging):not(.is-returning):hover,.answer-buttons .no-answer-button:not(.is-dodging):not(.is-returning):active{background:var(--paper);box-shadow:var(--shadow);transform:none}.rejection-content{min-height:26rem}.rejection-copy{padding:var(--space-2)}.change-mind-button{width:min(100%,18rem)}}@media (width<=26rem){.finale-card:not(.is-garden):not(.is-rejected){width:100%;padding:var(--space-3) var(--space-2);border-width:.35rem}.finale-card:not(.is-garden):not(.is-rejected) .final-heart{width:3.25rem;height:3.25rem}.finale-card:not(.is-garden):not(.is-rejected) h2{margin-block:var(--space-2) var(--space-3);font-size:clamp(1.7rem,9vw,2.35rem)}.finale-card:not(.is-garden):not(.is-rejected) .finale-copy{font-size:.92rem}.finale-card:not(.is-garden):not(.is-rejected) .answer-buttons{gap:var(--space-1)}.finale-card:not(.is-garden):not(.is-rejected) .answer-buttons button{width:100%;min-width:0;padding:var(--space-2);font-size:.86rem}}@media (prefers-reduced-motion:reduce){.finale-card,.final-heart,.finale-sparkles svg,.answer-confirm-panel,.no-answer-button,.rejection-content{animation:none!important}}.finale-section.has-garden,.finale-section.has-answer{min-height:100svh;padding-block:var(--space-2);align-content:center}.finale-card.is-garden{width:100%;height:min(calc(100svh - var(--space-4)), calc(var(--space-7) * 8));min-height:0;max-width:var(--page-width);border-radius:var(--space-3) var(--space-1) var(--space-4) var(--space-2);background:var(--garden-sky-bottom);box-shadow:var(--shadow);padding:0;overflow:hidden}.finale-card.is-rejected{width:100%;height:clamp(calc(var(--space-7) * 3.5), calc(100svh - var(--space-7)), calc(var(--space-7) * 5.2));max-width:62rem;padding:clamp(var(--space-3), 4vw, var(--space-5));place-items:center;display:grid;overflow:hidden}.finale-card.is-rejected .rejection-content{width:100%;min-height:0}.finale-card.is-garden>.garden-experience{z-index:1;position:absolute;inset:0}.garden-experience,.romantic-garden{width:100%;height:100%}.romantic-garden{--focus-x:300px;--focus-y:270px;--pointer-bend:0deg;--pointer-drift:0rem;min-height:0;padding:var(--space-2) var(--space-3);background:radial-gradient(circle at 50% 52%, color-mix(in srgb, var(--garden-glow) 92%, transparent), transparent 36%), radial-gradient(circle at 12% 28%, color-mix(in srgb, var(--garden-pink) 36%, transparent), transparent 30%), radial-gradient(circle at 88% 30%, color-mix(in srgb, var(--garden-lavender) 34%, transparent), transparent 32%), linear-gradient(155deg, var(--garden-sky-top), var(--garden-sky-middle) 46%, var(--garden-sky-bottom));color:var(--ink);isolation:isolate;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:relative;overflow:hidden}.romantic-garden:before,.romantic-garden:after{z-index:-1;aspect-ratio:1;background:color-mix(in srgb, var(--garden-cream) 48%, transparent);content:"";width:36%;filter:blur(var(--space-5));pointer-events:none;border-radius:50%;animation:8s ease-in-out infinite alternate bouquet-ambient-glow;position:absolute}.romantic-garden:before{inset-block-start:28%;inset-inline-start:-10%}.romantic-garden:after{animation-delay:-4s;inset-block-start:36%;inset-inline-end:-12%}.garden-love-note{z-index:3;width:min(100%,44rem);margin:var(--space-1) auto 0;padding:var(--space-1) var(--space-3);border:var(--border);border-radius:var(--space-2);background:color-mix(in srgb, var(--garden-cream) 92%, transparent);box-shadow:var(--shadow-small);-webkit-backdrop-filter:blur(var(--space-1));backdrop-filter:blur(var(--space-1));align-items:center;gap:calc(var(--space-1) * .35);text-align:center;animation:bouquet-note-enter var(--duration-entrance) var(--ease-pop) both;flex-direction:column;display:flex;transform:rotate(.6deg)}.garden-love-note>span{color:var(--pop-red);font-family:var(--font-display);font-size:clamp(.62rem,1.35vw,.88rem)}.garden-love-note strong{font-family:var(--font-display);font-size:clamp(.95rem,2.5vw,1.65rem);line-height:1}.bouquet-stage{z-index:1;place-items:center;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.bouquet-svg{width:100%;height:100%;max-width:calc(var(--space-7) * 6);touch-action:manipulation;min-height:0;display:block;overflow:visible}.bouquet-growth{transform:rotate(var(--pointer-bend));transform-box:view-box;transform-origin:300px 680px;transition:transform var(--duration-normal) ease-out}.bouquet-ground-shadow{fill:color-mix(in srgb, var(--ink) 28%, transparent);filter:blur(var(--space-1));opacity:0;animation:bouquet-shadow-enter var(--duration-slow) ease .2s forwards}.bouquet-ambient-sparkles circle{fill:var(--garden-cream);filter:drop-shadow(0 0 var(--space-1) var(--garden-glow));opacity:0;animation:bouquet-sparkle 4.8s ease-in-out calc(3s + var(--sparkle-order) * .23s) infinite}.color-gold{--flower-color:var(--garden-sun);--flower-edge:var(--garden-peach);--flower-light:var(--garden-glow)}.color-white{--flower-color:var(--garden-cream);--flower-edge:var(--garden-lavender);--flower-light:var(--paper)}.color-cream{--flower-color:color-mix(in srgb, var(--garden-cream) 80%, var(--garden-sun));--flower-edge:var(--garden-peach);--flower-light:var(--paper)}.color-blush{--flower-color:color-mix(in srgb, var(--garden-pink) 38%, var(--garden-cream));--flower-edge:var(--garden-lavender);--flower-light:var(--garden-cream)}.color-pink{--flower-color:var(--garden-pink);--flower-edge:var(--pop-red);--flower-light:var(--garden-cream)}.color-orange{--flower-color:var(--garden-peach);--flower-edge:var(--pop-red);--flower-light:var(--garden-sun)}.bouquet-flower{cursor:pointer;outline:none}.bouquet-flower:focus-visible .bouquet-head{filter:drop-shadow(0 0 var(--space-2) var(--pop-green))}.bouquet-stem,.eucalyptus-stem,.visitor-bud-stem{fill:none;stroke:color-mix(in srgb, var(--garden-grass) 78%, var(--ink));stroke-linecap:round;stroke-width:7px;vector-effect:non-scaling-stroke}.bouquet-stem{stroke-dasharray:720;stroke-dashoffset:720px;animation:bouquet-stem-grow 3.2s cubic-bezier(.2, .72, .24, 1) var(--flower-delay) forwards}.bouquet-leaf{fill:var(--garden-grass);opacity:0;transform-box:fill-box;transform-origin:0;animation:bouquet-leaf-open 1.35s var(--ease-pop) calc(var(--flower-delay) + 1.65s) forwards}.bouquet-leaf-two{animation-delay:calc(var(--flower-delay) + 2s)}.bouquet-leaf-vein{fill:none;stroke:color-mix(in srgb, var(--garden-glow) 48%, transparent);stroke-linecap:round;stroke-width:1.6px}.bouquet-head{opacity:0;transform:scale(calc(var(--flower-scale) * .06)) rotate(-14deg);transform-box:fill-box;transform-origin:50%;animation:bouquet-head-bloom 2s var(--ease-pop) calc(var(--flower-delay) + 3s) forwards}.bouquet-bloom{transform-box:fill-box;transform-origin:50%;transition:filter var(--duration-fast) ease, transform var(--duration-normal) var(--ease-pop)}.bouquet-flower:hover .bouquet-bloom,.bouquet-flower.is-active .bouquet-bloom{filter:brightness(1.14) saturate(1.18) drop-shadow(0 0 var(--space-1) var(--garden-glow));transform:scale(1.09)}.bouquet-sepals ellipse{fill:color-mix(in srgb, var(--garden-grass) 72%, var(--garden-glow));stroke:color-mix(in srgb, var(--garden-grass) 70%, var(--ink));stroke-width:1.5px}.bouquet-petal{fill:var(--flower-color);stroke:color-mix(in srgb, var(--flower-edge) 74%, var(--ink));stroke-width:1.25px;opacity:0;transform-box:fill-box;transform-origin:bottom;animation:bouquet-petal-open 1.1s cubic-bezier(.2, .72, .25, 1.18) calc(var(--flower-delay) + 3.2s + var(--petal-order) * 45ms) forwards}.flower-sunflower .bouquet-petal{fill:var(--garden-sun);stroke:var(--garden-peach)}.flower-pom .bouquet-petal{fill:color-mix(in srgb, var(--flower-color) 82%, var(--garden-glow))}.flower-mum .bouquet-petal{fill:color-mix(in srgb, var(--flower-color) 76%, var(--garden-cream))}.flower-carnation .bouquet-petal:nth-child(3n){fill:color-mix(in srgb, var(--flower-color) 72%, var(--flower-light))}.flower-rose .bouquet-petal:nth-child(2n){fill:color-mix(in srgb, var(--flower-color) 68%, var(--flower-light))}.bouquet-flower-center{fill:color-mix(in srgb, var(--flower-edge) 62%, var(--garden-bark));stroke:color-mix(in srgb, var(--garden-bark) 74%, var(--ink));stroke-width:2px}.flower-sunflower .bouquet-flower-center{fill:var(--garden-bark)}.flower-pom .bouquet-flower-center{fill:color-mix(in srgb, var(--flower-color) 82%, var(--garden-glow))}.bouquet-center-texture circle{fill:var(--garden-sun);opacity:.8}.flower-pom .bouquet-center-texture circle,.flower-mum .bouquet-center-texture circle{fill:var(--flower-edge);opacity:.45}.bouquet-dew{fill:color-mix(in srgb, var(--paper) 78%, transparent);filter:drop-shadow(0 0 var(--space-1) var(--garden-glow));opacity:0;animation:bouquet-dew-shimmer 3.2s ease-in-out calc(var(--flower-delay) + 4.8s) infinite}.flower-touch-sparkles circle{fill:var(--garden-glow);filter:drop-shadow(0 0 var(--space-1) var(--garden-glow));opacity:0;animation:1.4s ease-out forwards flower-touch-sparkle}.eucalyptus-stem{stroke-width:4px;stroke-dasharray:460;stroke-dashoffset:460px;animation:3.6s cubic-bezier(.2,.72,.24,1) .35s forwards bouquet-stem-grow}.eucalyptus-leaf-pair{fill:color-mix(in srgb, var(--garden-grass) 58%, var(--garden-lavender));opacity:0;transform-box:fill-box;transform-origin:50%;animation:eucalyptus-leaf-open 1.1s var(--ease-pop) calc(1.3s + var(--leaf-order) * .18s) forwards}.glass-vase{opacity:0;transform-box:fill-box;transform-origin:bottom;animation:glass-vase-enter 1.1s var(--ease-pop) forwards;transform:translateY(28px)scale(.88)}.vase-body{opacity:.72}.vase-body-outline{fill:none;stroke:var(--ink);stroke-width:5px;filter:drop-shadow(var(--space-1) var(--space-1) 0 color-mix(in srgb, var(--ink) 38%, transparent))}.vase-rim-flower{opacity:1;transform-box:fill-box;transform-origin:bottom}.vase-rim-flower .bouquet-petal{opacity:1;animation:none;scale:1}.vase-rim-flower .bouquet-dew{opacity:.72;animation:none}.vase-water{opacity:.76}.vase-highlight{fill:none;stroke:color-mix(in srgb, var(--paper) 78%, transparent);stroke-linecap:round;stroke-width:12px}.vase-highlight-small{stroke-width:6px}.submerged-stem{fill:none;stroke:color-mix(in srgb, var(--garden-grass) 82%, var(--ink));stroke-linecap:round;stroke-width:5px;opacity:.78}.yellow-ribbon{fill:var(--pop-yellow);stroke:color-mix(in srgb, var(--garden-sun) 72%, var(--ink));stroke-linejoin:round;stroke-width:3px;filter:drop-shadow(calc(var(--space-1) * .5) calc(var(--space-1) * .5) 0 color-mix(in srgb, var(--ink) 30%, transparent))}.ribbon-loop{fill:var(--garden-sun)}.ribbon-tail{fill:var(--pop-yellow)}.vase-for-you-text{fill:#0000;stroke:color-mix(in srgb, var(--garden-cream) 68%, transparent);stroke-width:1.4px;font-family:var(--font-display);letter-spacing:1.4px;opacity:.58;paint-order:stroke;pointer-events:none;font-size:17px}.visitor-bud{--bud-delay:0s;opacity:1;transition:opacity var(--duration-normal) ease, filter var(--duration-normal) ease}.visitor-bud.is-leaving{filter:saturate(.45);opacity:0}.visitor-bud-stem{stroke-dasharray:480;stroke-dashoffset:480px;stroke-width:5px;animation:1.8s ease-out forwards visitor-stem-grow}.visitor-bud-leaf{fill:var(--garden-grass);opacity:0;transform-box:fill-box;transform-origin:100%;animation:bouquet-leaf-open .8s var(--ease-pop) 1s forwards}.visitor-bud-head{fill:var(--flower-color);stroke:var(--flower-edge);stroke-width:2px;opacity:0;transform-box:fill-box;transform-origin:bottom;animation:visitor-bud-form 1.2s var(--ease-pop) 1.45s forwards;transform:scale(.15)}.visitor-bud-sepal{fill:var(--garden-grass);stroke:color-mix(in srgb, var(--garden-grass) 68%, var(--ink))}.svg-butterfly-flight,.svg-bee-flight{pointer-events:none;transform-box:view-box}.svg-butterfly-flight{animation:12s ease-in-out 4.6s infinite backwards svg-butterfly-flight}.svg-butterfly-flight.is-approaching{animation:1.8s ease-in-out both butterfly-approach}.svg-butterfly{transform-origin:50%;animation:1.8s ease-in-out infinite alternate insect-bob}.butterfly-wing-left,.butterfly-wing-right{fill:var(--garden-pink);stroke:var(--ink);stroke-width:2.5px}.butterfly-wing-left{transform-origin:0 10px;animation:butterfly-wing-left var(--duration-fast) ease-in-out infinite alternate}.butterfly-wing-right{transform-origin:0 10px;animation:butterfly-wing-right var(--duration-fast) ease-in-out infinite alternate}.butterfly-wings circle{fill:var(--garden-cream);stroke:var(--garden-lavender);stroke-width:1.5px}.butterfly-body,.butterfly-head{fill:var(--garden-bark);stroke:var(--ink);stroke-width:1.5px}.butterfly-antenna{fill:none;stroke:var(--ink);stroke-linecap:round;stroke-width:2px}.svg-bee-one{animation:8.8s ease-in-out 5.2s infinite backwards svg-bee-one-flight}.svg-bee-two{animation:10.4s ease-in-out 6s infinite backwards svg-bee-two-flight}.svg-bee-flight.is-approaching{animation:1.6s ease-in-out both bee-approach}.svg-bee{transform-origin:50%}.bee-body{fill:var(--garden-sun);stroke:var(--ink);stroke-width:2px}.bee-head{fill:var(--ink)}.bee-eye{fill:var(--paper)}.bee-stripes{fill:none;stroke:var(--ink);stroke-width:4px}.bee-wing{fill:color-mix(in srgb, var(--garden-cream) 72%, transparent);stroke:color-mix(in srgb, var(--ink) 62%, transparent);stroke-width:1.5px;transform-origin:bottom}.bee-wing-left{transform:rotate(-18deg)}.bee-wing-right{transform:rotate(18deg)}.garden-controls{z-index:4;justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.garden-for-you-label{color:color-mix(in srgb, var(--ink) 82%, transparent);font-family:var(--font-display);letter-spacing:.05em;padding:var(--space-1) var(--space-2);text-align:center;text-shadow:0 1px 0 var(--garden-cream), 0 0 .5rem color-mix(in srgb, var(--garden-glow) 72%, transparent);font-size:clamp(.7rem,1.8vw,.94rem);line-height:1}.garden-replay-button{min-height:2.75rem;padding:var(--space-1) var(--space-2);border:var(--border);background:var(--pop-green);box-shadow:var(--shadow-small);font-family:var(--font-display);transition:background-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease, transform var(--duration-fast) ease;font-size:clamp(.72rem,1.5vw,.9rem)}.garden-replay-button:hover{background:var(--pop-yellow);box-shadow:none;transform:translate(var(--space-1), var(--space-1))}.garden-replay-button:active{box-shadow:none;transform:translate(calc(var(--space-1) * .7), calc(var(--space-1) * .7))}@keyframes bouquet-ambient-glow{0%{opacity:.28;transform:scale(.9)}to{opacity:.72;transform:scale(1.08)}}@keyframes bouquet-note-enter{0%{opacity:0;transform:translateY(calc(var(--space-2) * -1)) scale(.9) rotate(-2deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(.6deg)}}@keyframes bouquet-shadow-enter{to{opacity:.55}}@keyframes bouquet-stem-grow{to{stroke-dashoffset:0}}@keyframes bouquet-leaf-open{0%{opacity:0;transform:scale(.1)rotate(-18deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes eucalyptus-leaf-open{0%{opacity:0;transform:scale(.1)rotate(-18deg)}to{opacity:.92;transform:scale(1)rotate(0)}}@keyframes bouquet-head-bloom{0%{opacity:0;transform:scale(calc(var(--flower-scale) * .06)) rotate(-14deg)}65%{opacity:1;transform:scale(calc(var(--flower-scale) * 1.12)) rotate(3deg)}to{opacity:1;transform:scale(var(--flower-scale)) rotate(0)}}@keyframes bouquet-petal-open{0%{opacity:0;scale:.12}72%{opacity:1;scale:1.08}to{opacity:1;scale:1}}@keyframes bouquet-dew-shimmer{0%,to{opacity:.18;transform:scale(.72)}50%{opacity:1;transform:scale(1.18)}}@keyframes bouquet-sparkle{0%,to{opacity:0;transform:translateY(var(--space-2)) scale(.45)}45%{opacity:.92;transform:translateY(calc(var(--space-3) * -1)) scale(1.15)}}@keyframes flower-touch-sparkle{0%{opacity:0;scale:.3}32%{opacity:1;scale:1.2}to{opacity:0;scale:.65}}@keyframes glass-vase-enter{to{opacity:1;transform:translateY(0)scale(1)}}@keyframes visitor-stem-grow{to{stroke-dashoffset:0}}@keyframes visitor-bud-form{0%{opacity:0;transform:scale(.15)}68%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}@keyframes insect-bob{0%{transform:translateY(-4px)rotate(-3deg)}to{transform:translateY(5px)rotate(4deg)}}@keyframes butterfly-wing-left{0%{transform:scaleX(.35)}to{transform:scaleX(1)}}@keyframes butterfly-wing-right{0%{transform:scaleX(.35)}to{transform:scaleX(1)}}@keyframes svg-butterfly-flight{0%,to{transform:translate(calc(90px + var(--pointer-drift)), 285px) rotate(-8deg)}28%{transform:translate(calc(190px + var(--pointer-drift)), 205px) rotate(10deg)}55%{transform:translate(calc(455px + var(--pointer-drift)), 250px) rotate(-5deg)}78%{transform:translate(calc(370px + var(--pointer-drift)), 390px) rotate(8deg)}}@keyframes svg-bee-one-flight{0%,to{transform:translate(calc(470px + var(--pointer-drift)), 330px) rotate(8deg)}32%{transform:translate(calc(350px + var(--pointer-drift)), 225px) rotate(-10deg)}65%{transform:translate(calc(220px + var(--pointer-drift)), 350px) rotate(6deg)}}@keyframes svg-bee-two-flight{0%,to{transform:translate(calc(135px + var(--pointer-drift)), 405px) scale(.82) rotate(-5deg)}38%{transform:translate(calc(260px + var(--pointer-drift)), 285px) scale(.82) rotate(8deg)}72%{transform:translate(calc(430px + var(--pointer-drift)), 410px) scale(.82) rotate(-7deg)}}@keyframes butterfly-approach{0%,to{transform:translate(90px,285px)scale(1)}55%{transform:translate(var(--focus-x), var(--focus-y)) scale(.82)}}@keyframes bee-approach{0%,to{transform:translate(470px,330px)scale(1)}55%{transform:translate(var(--focus-x), var(--focus-y)) scale(.72)}}@media (width<=42rem){.finale-section.has-garden,.finale-section.has-answer{padding-block:var(--space-2)}.finale-card.is-garden{height:min(calc(100svh - var(--space-4)), calc(var(--space-7) * 7.2));border-radius:var(--space-2) var(--space-1) var(--space-3) var(--space-1);min-height:0;box-shadow:var(--shadow-small)}.finale-card.is-rejected{height:clamp(calc(var(--space-7) * 3.4), calc(100svh - var(--space-4)), calc(var(--space-7) * 5.1));padding:var(--space-3) var(--space-2)}.romantic-garden{padding:var(--space-1)}.garden-love-note{padding:calc(var(--space-1) * .7) var(--space-1);-webkit-backdrop-filter:none;backdrop-filter:none}.garden-love-note strong{font-size:clamp(.8rem,3.6vw,1.05rem)}.garden-love-note>span{font-size:clamp(.54rem,2.35vw,.68rem)}.garden-controls{padding:var(--space-1) var(--space-1) var(--space-2);gap:var(--space-1);justify-items:center;display:grid}.garden-for-you-label{padding:calc(var(--space-1) * .7);font-size:.86rem}.garden-replay-button{width:min(100%,18rem)}}@media (width<=26rem){.garden-love-note{margin-block-start:calc(var(--space-1) * .5)}.bouquet-stage{margin-inline:calc(var(--space-1) * -.75)}.garden-controls{padding-block-end:var(--space-1);padding-inline:0}.garden-for-you-label{font-size:.78rem}.garden-replay-button{min-height:2.5rem;font-size:.68rem}}@media (height<=44rem) and (width>=43rem){.finale-card.is-garden{height:calc(100svh - var(--space-4));min-height:0}.romantic-garden{padding-block:var(--space-1)}.garden-love-note{padding-block:calc(var(--space-1) * .6)}.garden-love-note strong{font-size:1rem}.garden-love-note>span{font-size:.58rem}.garden-controls{gap:var(--space-1)}}@media (prefers-reduced-motion:reduce){.romantic-garden *,.romantic-garden :before,.romantic-garden :after{transition:none!important;animation:none!important}.garden-love-note,.bouquet-ground-shadow,.bouquet-head,.bouquet-petal,.bouquet-leaf,.eucalyptus-leaf-pair,.glass-vase,.visitor-bud,.visitor-bud-head,.visitor-bud-leaf{opacity:1}.bouquet-stem,.eucalyptus-stem,.visitor-bud-stem{stroke-dashoffset:0}.bouquet-head,.bouquet-petal,.bouquet-leaf,.eucalyptus-leaf-pair,.glass-vase,.visitor-bud-head{transform:scale(1)}.bouquet-head{transform:scale(var(--flower-scale))}.bouquet-ambient-sparkles{display:none}.svg-butterfly-flight{transform:translate(110px,285px)}.svg-bee-one{transform:translate(460px,330px)}.svg-bee-two{transform:translate(155px,410px)scale(.82)}.bouquet-flower:hover .bouquet-bloom,.bouquet-flower.is-active .bouquet-bloom{filter:brightness(1.14)saturate(1.18);transform:none}}.music-dialog-open,.music-dialog-open body{overscroll-behavior:none;overflow:hidden}.music-dialog{width:min(calc(100% - var(--space-4)), 38rem);max-height:88vh;color:var(--ink);background:0 0;border:0;padding:0;overflow:visible}.music-dialog::backdrop{background:color-mix(in srgb, var(--ink) 72%, transparent)}.music-panel{max-height:88vh;padding:var(--space-4);border:var(--border-thick);background:var(--pop-yellow);background-image:radial-gradient(var(--ink) 8%, transparent 9%);box-shadow:var(--shadow);background-size:1.25rem 1.25rem;position:relative;overflow-y:auto}.music-panel:before{z-index:-1;inset:var(--space-2);background:var(--paper);content:"";position:absolute}.music-close{border:var(--border);background:var(--pop-red);width:2.75rem;height:2.75rem;color:var(--paper);place-items:center;padding:0;display:grid;position:absolute;inset-block-start:var(--space-2);inset-inline-end:var(--space-2)}.music-close svg{width:var(--space-3);height:var(--space-3)}.music-heading{align-items:center;gap:var(--space-2);padding-inline-end:var(--space-5);display:flex}.music-heading-icon{border:var(--border);background:var(--pop-green);width:4rem;height:4rem;box-shadow:var(--shadow-small);flex:none;place-items:center;display:grid;transform:rotate(-6deg)}.music-heading-icon svg{width:var(--space-4);height:var(--space-4)}.music-eyebrow{color:var(--pop-red);font-family:var(--font-hand);margin:0;font-size:1rem}.music-heading h2{font-family:var(--font-display);margin:0;font-size:clamp(1.5rem,6vw,2.5rem);line-height:1}.music-panel>p{font-size:1.1rem}.now-playing{min-height:6rem;padding:var(--space-3);border:var(--border);background:var(--paper);box-shadow:var(--shadow-small);flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.now-playing span{color:var(--pop-red);font-family:var(--font-display);font-size:.65rem}.now-playing strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:clamp(1.35rem,5vw,2rem);overflow:hidden}.music-controls{margin-block:var(--space-3);justify-content:center;gap:var(--space-1);display:flex}.music-controls button{border:var(--border);background:var(--paper);width:3.5rem;height:3.5rem;box-shadow:var(--shadow-small);transition:transform var(--duration-fast) ease, box-shadow var(--duration-fast) ease;place-items:center;padding:0;display:grid}.music-controls button:hover{box-shadow:none;transform:translate(.25rem,.25rem)}.music-controls .music-play{background:var(--pop-red);width:4.5rem;height:4.5rem;color:var(--paper)}.music-controls svg{width:var(--space-4);height:var(--space-4)}.song-list{gap:var(--space-1);max-height:14rem;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.song-list button{width:100%;min-height:3rem;padding:var(--space-1) var(--space-2);border:.15rem solid var(--ink);background:var(--paper);text-align:start;align-items:center;gap:var(--space-2);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.song-list button[aria-current=true]{background:var(--pop-green);box-shadow:var(--shadow-small)}.song-list button span,.song-list button em{font-family:var(--font-display);font-size:.6rem;font-style:normal}.song-list button strong{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.music-empty{min-height:9rem;padding:var(--space-3);border:var(--border);background:var(--paper);text-align:center;place-items:center;display:grid}.music-empty svg{width:3rem;height:3rem;color:var(--pop-red)}.music-empty p{max-width:28ch;margin:0 auto;font-size:1.1rem}.music-error{padding:var(--space-2);border:var(--border);background:var(--pop-red);color:var(--paper)}.music-hint{text-align:center;margin-block-end:0;font-size:.9rem!important}.music-love-layer{z-index:2;pointer-events:none;position:fixed;inset:0;overflow:hidden}.music-love-layer span{color:var(--pop-red);animation:5s linear infinite music-love-rise;position:absolute;inset-block-end:-10%}.music-love-layer svg{width:clamp(2rem,6vw,4rem);height:clamp(2rem,6vw,4rem);filter:drop-shadow(.15rem .15rem 0 var(--paper))}.music-love-layer img{object-fit:contain;width:clamp(2.25rem,7vw,4.75rem);height:clamp(2.25rem,7vw,4.75rem);filter:drop-shadow(.15rem .15rem 0 var(--paper));display:block}.music-love-layer .music-love-asset{animation-duration:7s}.music-love-layer span:first-child{animation-delay:-1s;inset-inline-start:4%}.music-love-layer span:nth-child(2){color:var(--pop-green);animation-delay:-4s;inset-inline-start:18%}.music-love-layer span:nth-child(3){animation-delay:-2s;inset-inline-start:32%}.music-love-layer span:nth-child(4){animation-delay:-5s;inset-inline-start:47%}.music-love-layer span:nth-child(5){color:var(--pop-green);animation-delay:-3s;inset-inline-start:61%}.music-love-layer span:nth-child(6){animation-delay:-1.5s;inset-inline-start:74%}.music-love-layer span:nth-child(7){animation-delay:-4.5s;inset-inline-start:87%}.music-love-layer span:nth-child(8){animation-delay:-2.5s;inset-inline-start:95%}.music-love-layer span:nth-child(9){animation-delay:-6s;inset-inline-start:8%}.music-love-layer span:nth-child(10){animation-delay:-2s;inset-inline-start:21%}.music-love-layer span:nth-child(11){animation-delay:-5s;inset-inline-start:36%}.music-love-layer span:nth-child(12){animation-delay:-1s;inset-inline-start:51%}.music-love-layer span:nth-child(13){animation-delay:-4s;inset-inline-start:65%}.music-love-layer span:nth-child(14){animation-delay:-6.5s;inset-inline-start:79%}.music-love-layer span:nth-child(15){animation-delay:-3s;inset-inline-start:91%}.music-love-layer span:nth-child(16){animation-duration:9s;animation-delay:-7s;inset-inline-start:14%}.music-love-layer span:nth-child(17){animation-duration:9s;animation-delay:-7.5s;inset-inline-start:58%}.music-love-layer span:nth-child(18){animation-duration:9s;animation-delay:-8s;inset-inline-start:84%}@keyframes music-love-rise{0%{opacity:0;transform:translateY(0)rotate(-8deg)scale(.8)}15%{opacity:.8}to{opacity:0;transform:translateY(-115vh)rotate(18deg)scale(1.15)}}@media (width<=42rem){.music-dialog{width:min(calc(100% - var(--space-2)), 38rem)}.music-panel{padding:var(--space-3)}.music-heading{padding-inline-end:var(--space-4)}.music-heading-icon{width:3rem;height:3rem}.music-controls{gap:.25rem}.music-controls button{width:3rem;height:3rem}.music-controls .music-play{width:4rem;height:4rem}.song-list button{gap:var(--space-1)}.song-list button em,.music-love-layer span:nth-child(10),.music-love-layer span:nth-child(12),.music-love-layer span:nth-child(14),.music-love-layer span:nth-child(16),.music-love-layer span:nth-child(18){display:none}}@media (width<=26rem){.music-dialog{width:calc(100vw - .75rem);max-width:none;max-height:calc(100svh - .75rem);overflow:hidden}.music-panel{box-sizing:border-box;max-height:calc(100svh - .75rem);padding:.65rem;overflow:hidden}.music-close{width:2.2rem;height:2.2rem}.music-close svg{width:1.25rem;height:1.25rem}.music-heading{gap:.5rem;padding-inline-end:2.75rem}.music-heading-icon{width:2.4rem;height:2.4rem}.music-heading-icon svg{width:1.35rem;height:1.35rem}.music-eyebrow{font-size:.72rem}.music-heading h2{font-size:clamp(1.15rem,7vw,1.65rem)}.music-panel>p{margin-block:.45rem;font-size:.78rem;line-height:1.15}.now-playing{min-height:3.35rem;padding:.55rem}.now-playing strong{font-size:1rem}.music-controls{gap:.2rem;margin-block:.55rem}.music-controls button{width:2.45rem;height:2.45rem}.music-controls .music-play{width:3.15rem;height:3.15rem}.music-controls svg{width:1.25rem;height:1.25rem}.song-list{gap:.25rem;max-height:none;overflow:visible}.song-list button{gap:.4rem;min-height:2.15rem;padding:.3rem .45rem}.song-list button span{font-size:.52rem}.song-list button strong{font-size:.78rem}.music-error{padding:.45rem;font-size:.72rem}.music-hint{line-height:1.1;margin-block:.45rem 0!important;font-size:.68rem!important}}@media (height<=52rem) and (width>=43rem){.music-dialog{max-height:calc(100vh - 2rem)}.music-panel{max-height:none;padding:var(--space-3);overflow:visible}.music-heading-icon{width:3rem;height:3rem}.music-heading h2{font-size:2rem}.music-panel>p{margin-block:var(--space-2);font-size:.95rem}.now-playing{min-height:4.5rem;padding:var(--space-2)}.music-controls{margin-block:var(--space-2)}.music-controls button{width:3rem;height:3rem}.music-controls .music-play{width:3.75rem;height:3.75rem}.song-list{max-height:none;overflow:visible}.song-list button{min-height:2.5rem;padding-block:.35rem}.music-hint{margin-block:var(--space-2) 0}}@media (prefers-reduced-motion:reduce){.music-love-layer{display:none}}.password-gate{z-index:10000;min-width:0;max-width:100vw;height:100dvh;padding:clamp(var(--space-2), 5vw, var(--space-5));background-color:var(--pop-yellow);background-image:radial-gradient(var(--ink) 10%, transparent 11%);background-size:1.25rem 1.25rem;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.password-gate-card{width:min(100%,42rem);max-width:100%;padding:clamp(var(--space-4), 7vw, var(--space-6)) clamp(var(--space-2), 6vw, var(--space-5)) clamp(var(--space-3), 5vw, var(--space-5));border:var(--border-thick);background:var(--paper);box-shadow:var(--shadow);text-align:center;animation:password-gate-enter var(--duration-entrance) var(--ease-pop) both;position:relative;transform:rotate(-.75deg)}.password-gate-sticker{padding:var(--space-1) var(--space-2);border:var(--border);background:var(--pop-red);box-shadow:var(--shadow-small);color:var(--paper);font-family:var(--font-display);margin:0;font-size:clamp(.7rem,2.5vw,1rem);position:absolute;inset-block-start:calc(var(--space-3) * -1);inset-inline-start:clamp(var(--space-1), 4vw, var(--space-4));transform:rotate(-4deg)}.password-gate-icon{aspect-ratio:1;width:clamp(3.5rem,10vw,5.5rem);margin:0 auto var(--space-2);border:var(--border);background:var(--pop-green);box-shadow:var(--shadow-small);place-items:center;display:grid;transform:rotate(5deg)}.password-gate-icon svg{width:55%;height:55%}.password-gate-eyebrow{margin:0 0 var(--space-1);color:var(--pop-red);font-family:var(--font-display);font-size:clamp(.65rem,2vw,.9rem)}.password-gate-card h1{font-family:var(--font-display);margin:0;font-size:clamp(1.8rem,7vw,3.75rem);line-height:1}.password-gate-card>p:not(.password-gate-sticker,.password-gate-eyebrow,.password-gate-note){max-width:34rem;margin:var(--space-2) auto var(--space-3);font-size:clamp(1rem,3vw,1.3rem);line-height:1.35}.password-gate-clue{background:var(--pop-yellow);color:var(--pop-red);font-family:var(--font-display);padding:.1em .25em;font-size:.9em;display:inline-block;transform:rotate(-1deg)}.password-gate-recipient-note{margin:calc(var(--space-2) * -1) auto var(--space-3);color:var(--pop-red);font-family:var(--font-display);font-size:clamp(.72rem,2.2vw,1rem);transform:rotate(1deg)}.password-gate-form{gap:var(--space-1);text-align:start;display:grid}.password-gate-form label{font-family:var(--font-display);font-size:clamp(.72rem,2vw,.9rem)}.password-gate-input-wrap{min-width:0;display:flex;position:relative}.password-gate-input-wrap input{width:100%;min-width:0;min-height:3.5rem;padding:var(--space-1) calc(var(--space-5) + var(--space-1)) var(--space-1) var(--space-2);border:var(--border);background:var(--garden-cream);color:var(--ink);font:inherit;font-size:1rem}.password-gate-input-wrap input:focus-visible{outline:.25rem solid var(--pop-red);outline-offset:.2rem}.password-gate-visibility{width:var(--space-5);border:0;border-inline-start:var(--border);background:var(--paper);place-items:center;display:grid;position:absolute;inset-block:0;inset-inline-end:0}.password-gate-visibility svg{width:var(--space-3);height:var(--space-3)}.password-gate-error{min-height:2.6em;color:var(--pop-red);font-family:var(--font-display);margin:0;font-size:clamp(.68rem,2vw,.82rem);line-height:1.3}.password-gate-submit{justify-content:center;align-items:center;gap:var(--space-1);min-height:3.5rem;padding:var(--space-1) var(--space-2);border:var(--border);background:var(--pop-green);box-shadow:var(--shadow-small);font-family:var(--font-display);transition:background-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease, transform var(--duration-fast) ease;font-size:clamp(.8rem,2.5vw,1rem);display:flex}.password-gate-submit svg{width:var(--space-3);height:var(--space-3);color:var(--pop-red)}.password-gate-submit:hover:not(:disabled){background:var(--pop-yellow);box-shadow:none;transform:translate(var(--space-1), var(--space-1))}.password-gate-submit:disabled{cursor:not-allowed;opacity:.55}.password-gate-note{margin:var(--space-3) 0 0;font-size:clamp(.78rem,2vw,1rem)}.password-gate-shape{z-index:-1;color:var(--pop-red);pointer-events:none;animation:password-gate-float var(--duration-ambient) ease-in-out infinite alternate;position:fixed}.password-gate-shape svg{width:100%;height:100%}.password-gate-shape-left{width:clamp(3rem,9vw,7rem);inset-block-end:8%;inset-inline-start:5%;transform:rotate(-14deg)}.password-gate-shape-right{width:clamp(3rem,8vw,6rem);color:var(--pop-red);animation-delay:var(--delay-medium);inset-block-start:8%;inset-inline-end:5%}@keyframes password-gate-enter{0%{opacity:0;transform:translateY(var(--space-5)) rotate(-3deg) scale(.9)}to{opacity:1;transform:translateY(0)rotate(-.75deg)scale(1)}}@keyframes password-gate-float{0%{translate:0}to{translate:0 calc(var(--space-2) * -1)}}@media (width<=30rem){.password-gate{padding:var(--space-2)}.password-gate-card{padding:var(--space-5) var(--space-2) var(--space-2);box-shadow:var(--shadow-small);border-width:.3rem;transform:none}.password-gate-sticker{inset-inline:var(--space-1) auto;max-width:calc(100% - var(--space-2))}.password-gate-shape{opacity:.35}}@media (width<=30rem) and (height<=40rem){.password-gate{padding:var(--space-1)}.password-gate-card{padding:var(--space-4) var(--space-2) var(--space-1)}.password-gate-sticker{font-size:.62rem;inset-block-start:calc(var(--space-2) * -1)}.password-gate-icon{display:none}.password-gate-eyebrow{margin-block-end:0;font-size:.6rem}.password-gate-card h1{font-size:clamp(1.45rem,7vw,1.8rem)}.password-gate-card>p:not(.password-gate-sticker,.password-gate-eyebrow,.password-gate-note){margin-block:var(--space-1);font-size:.88rem;line-height:1.2}.password-gate-recipient-note{margin-block:0 var(--space-1);font-size:.65rem}.password-gate-form{gap:.25rem}.password-gate-form label,.password-gate-error{font-size:.62rem}.password-gate-error{min-height:1.3em}.password-gate-input-wrap input,.password-gate-submit{min-height:2.8rem}.password-gate-note{margin-block-start:var(--space-1);font-size:.65rem}.password-gate-shape{display:none}}@media (height<=42rem) and (width>=31rem){.password-gate{padding-block:var(--space-2)}.password-gate-card{padding-block:var(--space-4) var(--space-2)}.password-gate-icon{width:3.5rem;margin-block-end:var(--space-1)}.password-gate-card>p:not(.password-gate-sticker,.password-gate-eyebrow,.password-gate-note){margin-block:var(--space-1) var(--space-2)}.password-gate-note{margin-block-start:var(--space-2)}}@media (prefers-reduced-motion:reduce){.password-gate-card,.password-gate-shape{animation:none}}
