@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-outline-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.inline-flex{display:inline-flex}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md), 10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md), 12px)}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-transparent{border-color:#0000}.bg-clip-padding{background-clip:padding-box}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:ring-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius-lg)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}:root{--ink:#321d1b;--cream:#fff9e8;--pink:#ffd0bd;--yellow:#ffd447;--blue:#c6e9e2;--red:#c9362f;--purple:#a24a3b;--sun:#f5a623}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,a{font:inherit}button{cursor:pointer}.birthday-page{background:radial-gradient(circle at 88% 8%,#ffe27a 0,transparent 22%),radial-gradient(circle at 8% 88%,#ffd7b0 0,transparent 24%),var(--cream);min-height:100vh;position:relative;overflow:hidden}.grain{pointer-events:none;opacity:.045;z-index:20;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.topbar{z-index:3;border-bottom:1px solid #2d243025;justify-content:space-between;align-items:center;width:min(1160px,100% - 48px);margin:auto;padding:24px 0;display:flex;position:relative}.brand{color:var(--ink);align-items:center;gap:5px;font:700 22px Georgia,serif;text-decoration:none;display:flex}.brand span{text-transform:uppercase;letter-spacing:.18em;font:400 10px Arial}.brand svg{color:var(--red);margin-left:3px}.chapter-tracker{letter-spacing:.15em;align-items:center;gap:14px;font-size:10px;display:flex}.progress{background:#2d243022;border-radius:9px;width:130px;height:4px}.progress i{background:var(--red);border-radius:9px;height:100%;transition:width .5s;display:block}.music-toggle{color:var(--ink);text-transform:uppercase;letter-spacing:.08em;background:0 0;border:1px solid #2d243044;align-items:center;gap:7px;padding:8px 11px;font-size:10px;display:flex}.music-toggle[aria-pressed=true]{background:var(--red);color:var(--cream);border-color:var(--red);box-shadow:0 0 0 5px #c9362f18}.music-player{z-index:12;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf2f2;border:1px solid #e7ad2e99;align-items:center;gap:11px;padding:9px 13px 9px 9px;animation:.4s both rise;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 30px #56374224}.music-player iframe{border:0;border-radius:50%;width:52px;height:52px}.music-player div{text-align:left;flex-direction:column;gap:3px;display:flex}.music-live{color:var(--red);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:5px;font-size:9px;display:flex}.music-live i{background:var(--red);border-radius:50%;width:6px;height:6px;animation:1.2s infinite pulse}.music-player strong{font:16px Georgia,serif}.music-player small{color:#806f7a;font-size:10px}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:8%;width:min(1160px,100% - 48px);min-height:calc(100vh - 76px);margin:auto;padding:45px 0 80px;display:grid;position:relative}.hero-copy{max-width:530px;animation:.8s both rise}.eyebrow{color:var(--red);text-transform:uppercase;letter-spacing:.16em;align-items:center;gap:8px;margin-bottom:22px;font-size:10px;font-weight:700;display:flex}.hero h1{letter-spacing:-.07em;margin:0 0 30px;font:400 clamp(58px,8vw,102px)/.86 Georgia,serif}.hero h1 em{color:var(--red);font-style:italic}.hero-intro{color:#655967;max-width:390px;margin-bottom:30px;font-size:15px;line-height:1.7}.primary-button,.next-button,.wish-button{background:var(--ink);color:var(--cream);border:0;align-items:center;gap:10px;padding:15px 20px;font-size:12px;font-weight:700;transition:all .25s;display:inline-flex}.primary-button:hover,.next-button:hover,.wish-button:hover{background:var(--red);transform:translateY(-3px)rotate(-1deg)}.microcopy{color:#95858e;align-items:center;gap:6px;margin-top:15px;font-size:11px;display:flex}.hero-art{place-items:center;height:580px;display:grid;position:relative}.photo-card{z-index:1;background:#fff;width:min(350px,70%);padding:13px 13px 48px;position:relative;transform:rotate(5deg);box-shadow:0 22px 60px #5637422b}.photo-card img{aspect-ratio:4/5;object-fit:cover;filter:saturate(.9)sepia(.06);width:100%;display:block}.photo-caption{text-align:center;font:13px/1.05 Georgia,serif;position:absolute;bottom:12px;left:0;right:0}.photo-caption strong{color:var(--red);font-size:21px;font-style:italic}.orbit{border:1px solid #d95d7255;border-radius:50%;position:absolute}.orbit-one{width:470px;height:280px;transform:rotate(-18deg)}.orbit-two{border-color:#2d24302e;width:370px;height:520px;transform:rotate(32deg)}.sun-glow{filter:blur(5px);background:#f9d86e55;border-radius:50%;width:230px;height:230px;position:absolute}.sticker,.flower{z-index:2;position:absolute}.sticker-star{color:var(--red);animation:1.8s infinite alternate twinkle;top:14%;right:8%;transform:rotate(14deg)}.sticker-note{background:var(--yellow);padding:12px 16px;font:13px/.95 Georgia,serif;bottom:14%;left:1%;transform:rotate(-10deg);box-shadow:4px 5px #2d24301f}.sticker-note strong{font-size:24px;font-style:italic}.stamp{border:1px solid var(--red);color:var(--red);text-align:center;border-radius:50%;place-content:center;width:82px;height:82px;font-size:8px;line-height:1.1;display:grid;position:absolute;bottom:8%;right:0;transform:rotate(12deg)}.stamp strong{font-size:25px}.flower{filter:drop-shadow(0 7px 5px #8c6aa833);font-size:30px;animation:4s ease-in-out infinite float}.flower-a{top:8%;left:4%}.flower-b{animation-delay:1s;bottom:25%;right:2%}.scroll-hint{text-transform:uppercase;letter-spacing:.15em;color:#95858e;font-size:10px;position:absolute;bottom:25px}.scroll-hint span{color:var(--red);margin-left:8px;font-size:16px}.journey{text-align:center;width:min(1000px,100% - 48px);min-height:calc(100vh - 76px);margin:auto;padding:85px 0 125px;animation:.6s both rise}.journey-heading h2{letter-spacing:-.06em;max-width:750px;margin:0 auto 18px;font:400 clamp(39px,6vw,70px)/.94 Georgia,serif}.journey-sub{color:#806f7a;margin:0 auto 44px;font-size:14px}.map-card{background:linear-gradient(135deg,#e5f2db,#fff4ca);border:1px solid #698c5c44;max-width:800px;height:365px;margin:auto;position:relative;overflow:hidden}.map-card:before,.map-card:after{content:"✦";color:#698c5c77;font-size:20px;position:absolute}.map-card:before{top:28px;left:40px}.map-card:after{bottom:25px;right:50px}.map-line{border:2px dashed #698c5c88;border-radius:48% 52% 44% 56%;position:absolute;inset:70px 130px;transform:rotate(-12deg)}.map-pin{color:var(--red);flex-direction:column;align-items:center;gap:6px;font:italic 13px Georgia,serif;display:flex;position:absolute}.pin-one{top:54px;left:14%}.pin-two{top:43%;right:14%}.pin-three{bottom:33px;left:39%}.map-center{color:var(--red);place-items:center;gap:2px;font:20px Georgia,serif;display:grid;position:absolute;top:42%;left:45%}.notes-grid{text-align:left;grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.love-note{background:#fff;min-height:230px;padding:25px;transition:all .25s;transform:rotate(-1deg);box-shadow:0 10px 30px #56374212}.love-note:nth-child(2n){background:#fff2bb;transform:rotate(1.5deg)}.love-note:hover{transform:translateY(-8px)rotate(0)}.love-note>span{color:var(--red);text-transform:uppercase;letter-spacing:.15em;font-size:10px}.love-note svg{float:right;color:var(--red)}.love-note p{letter-spacing:-.03em;max-width:360px;margin:45px 0 20px;font:27px/1.05 Georgia,serif}.love-note small{color:#806f7a;font-size:12px}.sunflower-scene{background:linear-gradient(#b8e2dc 0 48%,#9fbd6a 48%);border-radius:2px;min-height:360px;position:relative;overflow:hidden}.sun{color:#f5bd3c;animation:14s linear infinite spin;position:absolute;top:24px;right:48px}.field-title{color:#365344;align-items:center;gap:7px;font:italic 20px Georgia,serif;display:flex;position:absolute;top:35px;left:35px}.sunflowers{flex-wrap:wrap;justify-content:space-around;align-items:end;gap:0 5px;display:flex;position:absolute;bottom:12px;left:0;right:0}.sunflowers span{transform:translateY(calc((var(--i) % 4) * 7px)) rotate(calc((var(--i) % 5 - 2) * 5deg));font-size:28px}.wish-bubble{color:#665337;white-space:nowrap;background:#fffdf2dd;padding:13px 18px;font:italic 16px Georgia,serif;position:absolute;top:43%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 20px #51623824}.wish-button{background:var(--purple);margin-top:25px}.wish-button:disabled{opacity:.65;cursor:default;transform:none}.quiz-card,.finale{max-width:620px;margin:auto}.quiz-illustration{background:var(--yellow);place-items:center;width:132px;height:132px;margin:0 auto 27px;display:grid;position:relative;transform:rotate(-4deg)}.quiz-illustration span{color:var(--red);font:28px Georgia,serif;position:absolute;top:10px;right:19px}.quiz-kicker,.letter-date{color:var(--red);letter-spacing:.17em;font-size:10px;font-weight:700}.quiz-card h3,.finale h3{letter-spacing:-.04em;margin:15px 0 28px;font:400 39px/.98 Georgia,serif}.answers{flex-direction:column;gap:10px;max-width:315px;margin:auto;display:flex}.answer{background:0 0;border:1px solid #2d243044;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:13px;transition:all .2s;display:flex}.answer:hover,.answer.selected{background:var(--pink);border-color:var(--pink)}.answer-note{color:#806f7a;margin-top:18px;font-size:12px}.next-button{margin-top:43px}.finale-ring{width:108px;height:108px;color:var(--red);background:#f6b6c866;border-radius:50%;place-items:center;margin:0 auto 25px;animation:1.8s infinite pulse;display:grid}.finale h3{font-size:58px}.finale-copy{color:#806f7a;max-width:400px;margin:0 auto 27px;line-height:1.65}.letter{text-align:left;border:1px solid #e7ad2e66;border-top:7px solid var(--red);background:linear-gradient(135deg,#fffdf2,#fff1a8);max-width:650px;margin:25px auto 0;padding:42px 44px;animation:.5s both rise;box-shadow:0 18px 45px #8f3b251f}.letter p:not(.letter-date):not(.signature){font:18px/1.55 Georgia,serif}.signature{margin-top:28px;font:20px Georgia,serif}.signature em{color:var(--red)}.final-note{color:var(--red);justify-content:center;align-items:center;gap:9px;margin-top:30px;font:italic 17px Georgia,serif;display:flex}.tiktok-link{color:var(--red);border-bottom:1px solid #d95d7266;align-items:center;gap:8px;margin-top:36px;padding-bottom:4px;font-size:11px;text-decoration:none;display:inline-flex}.floating-hearts{pointer-events:none;z-index:1;color:#d95d7222;position:fixed;inset:0}.floating-hearts svg{left:calc((var(--i) * 17%) % 100%);top:calc((var(--i) * 29%) % 100%);animation:6s ease-in-out infinite float;animation-delay:calc(var(--i) * -.35s);position:absolute}.confetti{top:-20px;left:calc((var(--i) * 3.3%) % 100%);background:hsl(calc(var(--i) * 35),70%,65%);width:8px;height:15px;transform:rotate(calc(var(--i) * 37deg));animation:3.5s linear infinite fall;animation-delay:calc(var(--i) * -.1s);z-index:10;position:fixed}footer{color:#95858e;text-transform:uppercase;letter-spacing:.15em;border-top:1px solid #2d243022;justify-content:space-between;width:min(1160px,100% - 48px);margin:auto;padding:25px 0;font-size:10px;display:flex}@keyframes rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-15px)rotate(5deg)}}@keyframes twinkle{0%{transform:scale(.8)rotate(0)}to{transform:scale(1.2)rotate(25deg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes fall{to{transform:translateY(110vh)rotate(500deg)}}@media (max-width:700px){.topbar,.hero,.journey,footer{width:calc(100% - 32px)}.chapter-tracker{display:none}.music-toggle{font-size:9px}.hero{flex-direction:column;align-items:stretch;padding-top:60px;display:flex}.hero h1{font-size:61px}.hero-art{height:430px}.photo-card{width:245px}.orbit-one{width:340px;height:210px}.orbit-two{width:280px;height:380px}.sticker-star{right:10%}.stamp{bottom:3%;right:2%}.sticker-note{bottom:8%;left:3%}.scroll-hint{display:none}.journey{padding-top:62px}.journey-heading h2{font-size:47px}.map-card{height:320px}.map-line{inset:70px 50px}.notes-grid{grid-template-columns:1fr}.love-note p{font-size:24px}.sunflower-scene{min-height:330px}.field-title{font-size:16px;left:18px}.sun{right:20px}.wish-bubble{font-size:13px}.finale h3{font-size:46px}.letter{padding:26px 22px}.letter p:not(.letter-date):not(.signature){font-size:16px}footer{gap:20px;line-height:1.4}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.lock-screen{background:radial-gradient(circle at 50% 10%,#fff4b9 0 16%,#0000 36%),linear-gradient(135deg,#fffaf1,#fff2b8);place-items:center;min-height:100vh;display:grid}.secret-gate{text-align:center;z-index:2;width:min(650px,100% - 34px);padding:58px 28px;position:relative}.secret-gate h1{letter-spacing:-.06em;margin:10px 0 20px;font:400 clamp(45px,7vw,76px)/.92 Georgia,serif}.secret-gate h1 em{color:#d95d72}.type-line{color:#806f7a;min-height:25px;font:italic 16px Georgia,serif}.cursor{vertical-align:-3px;background:#d95d72;width:2px;height:18px;margin-left:3px;animation:.7s step-end infinite blink;display:inline-block}.secret-gate label{color:#665337;letter-spacing:.12em;text-transform:uppercase;margin:30px 0 9px;font-size:11px;display:block}.password-row{justify-content:center;gap:8px;display:flex}.password-row input{background:#fffdf2;border:1px solid #2d243044;outline:none;width:min(285px,58vw);padding:15px}.password-row input:focus{border-color:#d95d72;box-shadow:0 0 0 4px #d95d7220}.password-error{color:#d95d72;opacity:0;height:18px;font-size:12px}.password-error.visible{opacity:1}.gate-sun{font-size:48px;animation:3s ease-in-out infinite float}.gate-footer{color:#95858e;letter-spacing:.12em;text-transform:uppercase;margin-top:35px;font-size:10px}.balloon-cloud{pointer-events:none}.balloon-cloud span{animation:7s ease-in-out infinite balloonFloat;animation-delay:calc(var(--i) * -.6s);font-size:34px;position:absolute}.balloon-cloud span:first-child{--i:1;top:18%;left:5%}.balloon-cloud span:nth-child(2){--i:2;top:68%;left:15%}.balloon-cloud span:nth-child(3){--i:3;top:8%;left:28%}.balloon-cloud span:nth-child(4){--i:4;top:20%;right:14%}.balloon-cloud span:nth-child(5){--i:5;top:70%;right:4%}.balloon-cloud span:nth-child(6){--i:6;top:8%;right:28%}.balloon-cloud span:nth-child(7){--i:7;top:76%;left:42%}.balloon-cloud span:nth-child(8){--i:8;top:62%;right:40%}.balloon-cloud span:nth-child(9){--i:9;top:42%;left:2%}.page-balloons{z-index:0;opacity:.4;position:fixed;inset:0}.journey-controls{justify-content:center;gap:9px;margin:-3px 0 22px;display:flex}.back-button,.home-button{color:#806f7a;text-transform:uppercase;letter-spacing:.08em;background:#fffdf255;border:1px solid #2d243033;padding:8px 11px;font-size:10px}.back-button:hover,.home-button:hover{color:#d95d72;border-color:#d95d72}.cake{justify-content:center;align-items:flex-end;gap:6px;height:94px;margin:0 auto 9px;display:flex;position:relative}.cake strong{filter:drop-shadow(0 7px 9px #d95d7230);font-size:78px;line-height:.8}.cake span{font-size:24px;animation:1.2s infinite alternate flicker;transform:translateY(-42px)}.cake span:nth-child(2){animation-delay:.3s}.cake span:nth-child(3){animation-delay:.6s}@keyframes blink{50%{opacity:0}}@keyframes balloonFloat{0%,to{transform:translateY(0)rotate(-7deg)}50%{transform:translateY(-25px)rotate(7deg)}}@keyframes flicker{0%{transform:translateY(-42px)scale(.9)}to{transform:translateY(-45px)scale(1.1)}}@media (max-width:700px){.password-row{flex-direction:column;align-items:center}.password-row input{width:100%}.password-row .primary-button{justify-content:center;width:100%}.journey-controls{flex-wrap:wrap}.page-balloons{opacity:.25}}.memory-instructions{color:#806f7a;text-align:center;max-width:680px;margin:0 auto 24px}.memory-hunt{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:760px;margin:0 auto;display:grid}.memory-card{width:100%}.memory-card:focus-visible{outline:3px solid var(--red);outline-offset:6px}.memory-card.found .memory-front{box-shadow:inset 0 0 0 3px #f5a623}.memory-instructions p{margin:10px auto 0;font-size:13px;line-height:1.6}.memory-count{color:var(--red);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:7px;font-size:10px;font-weight:700;display:inline-flex}.memory-flip{perspective:1000px;text-align:left;background:0 0;border:0;min-height:330px;padding:0}.memory-inner{width:100%;height:100%;min-height:330px;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.2,.8,.2,1);display:block;position:relative}.memory-flip.is-flipped .memory-inner{transform:rotateY(180deg)}.memory-front,.memory-back{backface-visibility:hidden;border:1px solid #e7ad2e55;border-radius:24px;position:absolute;inset:0;overflow:hidden;box-shadow:0 14px 32px #56374218}.memory-front{background:#fff;position:relative}.memory-front img{object-fit:cover;border-radius:20px 20px 0 0;width:100%;height:275px;display:block}.card-number{z-index:1;color:var(--red);letter-spacing:.12em;background:#fffdf2dd;padding:6px 8px;font-size:9px;font-weight:700;position:absolute;top:12px;left:12px;box-shadow:0 3px 10px #56374220}.turn-back{color:var(--red);text-transform:uppercase;letter-spacing:.1em;font-size:10px}.memory-front b{height:90px;color:var(--red);text-align:center;justify-content:center;align-items:center;gap:8px;font:italic 17px Georgia,serif;display:flex}.memory-back{text-align:center;color:var(--red);background:linear-gradient(145deg,#fff6bd,#ffd2c6);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:28px;display:flex;transform:rotateY(180deg)}.memory-back strong{color:var(--ink);font:italic 27px/1.05 Georgia,serif}.memory-back small{color:#806f7a;line-height:1.5}.memory-back i{letter-spacing:8px;font-size:18px;font-style:normal}.universe-card{color:#fff9e8;background:radial-gradient(circle at 50% 48%,#73435f 0,#311e3b 43%,#17182d 100%);border:1px solid #e7ad2e77;place-items:center;min-height:430px;display:grid;position:relative;overflow:hidden;box-shadow:0 22px 55px #56374228}.universe-stars{color:#ffe79a;position:absolute;inset:0}.universe-stars i{left:calc((var(--i) * 31%) % 100%);top:calc((var(--i) * 47%) % 100%);animation:2.4s ease-in-out infinite starShimmer;animation-delay:calc(var(--i) * -.12s);font-style:normal;position:absolute}.planet{filter:drop-shadow(0 0 16px #ffd47b99);font-size:42px;animation:5s ease-in-out infinite float;position:absolute}.planet-one{top:16%;left:10%}.planet-two{animation-delay:1s;bottom:16%;right:13%}.orbit-universe{border-color:#f6c96888;width:430px;height:205px;transform:rotate(-16deg)}.universe-copy{z-index:1;max-width:570px;padding:44px 25px;position:relative}.universe-copy>span{color:#f8ce77;letter-spacing:.2em;font-size:10px}.universe-copy strong{letter-spacing:-.05em;margin:20px 0 18px;font:400 clamp(37px,5vw,62px)/.92 Georgia,serif;display:block}.universe-copy em{color:#ffd47b}.universe-copy p{color:#f9dfcf;min-height:24px;font:italic 18px Georgia,serif}.quote-button,.surprise-button{color:#fff9e8;background:#fff9e81c;border:1px solid #f6c96888;align-items:center;gap:8px;padding:11px 14px;font-size:11px;transition:all .2s;display:inline-flex}.quote-button:hover,.surprise-button:hover{background:#c9362f;transform:translateY(-2px)}.universe-badge{color:#ffd47b;text-align:center;font:38px Georgia,serif;position:absolute;top:25px;right:25px}.universe-badge small{letter-spacing:.13em;text-transform:uppercase;font:9px Arial,sans-serif;display:block}.surprise-row{justify-content:center;align-items:center;gap:16px;min-height:60px;margin-top:20px;display:flex}.surprise-button{background:var(--red);border-color:var(--red)}.surprise-note{color:var(--red);font:italic 16px Georgia,serif;animation:.4s both rise}@keyframes starShimmer{50%{opacity:.25;transform:scale(.65)rotate(45deg)}}@media (max-width:700px){.universe-card{min-height:470px}.orbit-universe{width:310px;height:190px}.universe-copy strong{font-size:44px}.universe-copy p{font-size:16px}.surprise-row{flex-direction:column;gap:10px}.memory-flip,.memory-inner{min-height:310px}.memory-front img{height:220px}}@media (prefers-reduced-motion:reduce){.memory-inner{transition:none}.universe-stars i{animation:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
