/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, 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;--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,ui-sans-serif, system-ui, 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{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}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.\[ar\:Artist\]{ar:Artist}}@font-face{font-family:Bricolage;src:url(/fonts/bricolage-grotesque-latin.woff2)format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/dm-sans-latin.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--pink-50:#fff4f8;--pink-100:#ffd8e5;--pink-300:#f59abb;--pink-500:#d42c59;--pink-700:#a7153a;--button-pink-start:#b81943;--red-bow:#ba173b;--cream:#fffbfc;--ink:#532333;--paper-line:#e9bdcb;--display-font:"Bricolage", "Trebuchet MS", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{background:var(--pink-100);min-width:320px;min-height:100%}body{isolation:isolate;min-height:100svh;color:var(--ink);background:var(--pink-100);-webkit-font-smoothing:antialiased;margin:0;font-family:DM Sans,Trebuchet MS,sans-serif;font-size:1rem;line-height:1.5}button,input{font:inherit}button{min-height:44px;color:inherit}button:not(:disabled){cursor:pointer}button:focus-visible,a:focus-visible{outline-offset:2px;outline:2px solid #815768}input:focus-visible{border-color:#9a697b;outline:none;box-shadow:0 0 0 2px #a76e8526}button:disabled{cursor:not-allowed;opacity:.45}.quest-screen h1[tabindex="-1"]:focus{outline:none}::selection{color:#fff;background:var(--red-bow)}.site-header,.site-footer{z-index:10;justify-content:space-between;align-items:center;width:min(100% - 6rem,1134px);margin:auto;display:flex;position:relative}.site-header{justify-content:flex-end;min-height:128px}.site-dedication{font-size:.9375rem}.site-dedication span{vertical-align:middle;margin-left:.65rem;font-size:1.5rem;display:inline-block}.site-footer{z-index:5;pointer-events:none;gap:1rem;width:calc(100% - 6rem);min-height:76px;font-size:.875rem}.site-footer>:last-child{visibility:hidden}.gate-shell,.quest-shell{z-index:10;align-content:center;justify-items:center;min-height:calc(100svh - 204px);padding:2.75rem 2rem 5rem;display:grid;position:relative}.cover-layout{view-transition-name:quest-screen;grid-template-columns:minmax(0,1fr);place-items:center;gap:1.5rem;width:min(100%,1000px);display:grid}.cover-intro{text-align:center;min-width:0;position:relative}.cover-title{z-index:1;width:100%;color:var(--red-bow);font-family:var(--display-font);letter-spacing:-.045em;margin:0;font-size:clamp(5.5rem,10.1vw,9rem);font-weight:800;line-height:.98;position:relative}.cover-title>span{animation:.9s cubic-bezier(.2,.8,.2,1) both type-arrive;display:inline-block}.cover-title>span:last-child{animation-delay:.1s}.cover-caption{color:#731632;margin:.5rem 0 0;font-size:1.25rem;line-height:1.3}.gate-letter{width:min(100%,26.25rem);position:relative}.cover-art{z-index:2;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:30%;width:10rem;max-width:180px;padding:0;display:block;position:absolute;bottom:-2rem;right:-6.5rem;transform:rotate(7deg)}.kitty-guide{width:100%;animation:5.5s ease-in-out infinite kitty-drift}.kitty-guide img{-webkit-user-select:none;user-select:none;filter:drop-shadow(0 7px #73182f14);width:100%;height:auto;display:block}.cover-art .kitty-note{min-width:145px;color:var(--pink-700);background:var(--cream);border:1px solid var(--paper-line);white-space:nowrap;border-radius:4px;padding:.5rem .85rem;font-size:.9375rem;font-weight:600;transition:transform .22s,background .22s;position:absolute;bottom:0;right:-8%;transform:rotate(-15deg)}.cover-art.is-loved .kitty-note{color:#fff;background:var(--red-bow);transform:rotate(-8deg)scale(1.08)}.cover-art.is-loved .kitty-guide{animation:.65s cubic-bezier(.2,.8,.2,1) both kitty-love,5.5s ease-in-out .65s infinite kitty-drift}.love-card{text-align:left;background:#fffbf5;border:1px solid #ffffffb3;border-radius:10px;width:min(100%,38rem);padding:clamp(1.5rem,4.5vw,3rem);box-shadow:0 8px 35px #4c253021}.love-card h1{color:var(--red-bow);font-family:var(--display-font);letter-spacing:-.035em;text-wrap:balance;margin:0 0 1.25rem;font-size:clamp(2.1rem,5vw,3.15rem);font-weight:800;line-height:1.08}.love-card p{margin:0 0 1.25rem}.gate-card{width:100%;padding:1.75rem 2.4rem 1.6rem;animation:.9s cubic-bezier(.2,.8,.2,1) .12s backwards letter-arrive;position:relative}.gate-card:focus-within{box-shadow:0 10px 40px #4c25302b}.letter-to{border-bottom:1px dashed var(--paper-line);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.65rem;padding-bottom:1.25rem;font-size:.875rem;display:flex}.letter-to>:last-child{color:var(--red-bow);font-size:2rem;line-height:1}.gate-card h1{text-align:center;white-space:nowrap;max-width:none;margin-bottom:.4rem;font-size:1.75rem}.gate-card .gate-description{text-align:center;margin:0 0 .8rem;font-size:.8125rem}.gate-card .letter-signoff{margin:.8rem 0 0;font-size:.8125rem}.gate-card label{margin-top:.8rem;font-size:.8125rem}.gate-card .password-row .quiet-button{min-height:44px;padding:.6rem .75rem;font-size:.875rem}.gate-card .primary-button{min-height:48px;padding:.65rem 1rem;font-size:.875rem}.letter-signoff span{color:var(--red-bow)}.eyebrow{color:var(--pink-700);font-size:.9375rem;font-weight:600}label{margin:1rem 0 .5rem;font-size:.9375rem;font-weight:600;display:block}input{width:100%;min-width:0;min-height:46px;color:var(--ink);background:#ffffffad;border:1px solid #c78d9d;border-radius:5px;padding:.65rem .85rem;font-size:1rem;transition:border-color .16s}input:hover{border-color:var(--pink-700)}input::placeholder{color:#875367;opacity:1}.password-row{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;display:grid}.password-row .quiet-button{padding:.65rem .85rem}.primary-button,.quiet-button,.step-actions>button,.review-actions button{border:1px solid #0000;border-radius:5px;min-height:52px;padding:.85rem 1.25rem;font-weight:700;transition:transform .16s,background-color .16s,box-shadow .16s}.primary-button{color:#fff;background:var(--button-pink-start);box-shadow:0 3px 10px #80152f1f}.primary-button:not(:disabled):hover{background:var(--pink-700);transform:translateY(-2px);box-shadow:0 6px 16px #80152f38}.primary-button:not(:disabled):active{transform:translateY(1px)scale(.985)}.quiet-button,.step-actions>button:not(.primary-button),.review-actions button{color:var(--pink-700);background:var(--pink-50);border-color:var(--paper-line)}.quiet-button:hover,.step-actions>button:not(.primary-button):hover,.review-actions button:hover{background:var(--pink-100)}.gate-card .error-message{color:#982047;margin:.65rem 0 0;font-size:.9375rem}.gate-card .error-message:empty{margin:0}.gate-card>.primary-button,.quest-step>.primary-button{width:100%;margin-top:1rem}.motion-toggle{z-index:40;min-height:44px;color:var(--ink);background:#fffbf5e0;border:0;border-radius:4px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;display:inline-flex;position:fixed;bottom:1rem;right:max(6rem,50vw - 600px)}.motion-toggle:hover{background:#fff6}[data-motion=paused] .kitty-guide{animation-play-state:paused!important}[data-motion=paused] .quest-screen,[data-motion=paused] .cover-title>span,[data-motion=paused] .gate-card,[data-motion=paused] .sticker{animation:none!important}[data-motion=paused] .invitation-confetti{display:none}.quest-shell{gap:1.5rem;padding-top:2rem}.quest-screen{view-transition-name:quest-screen;justify-items:center;gap:1.5rem;width:100%;animation:.7s cubic-bezier(.2,.8,.2,1) both quest-screen-enter;display:grid}.welcome-card{text-align:center;background:#fffbf5;border:1px solid #ffffffb3;border-radius:10px;width:min(100%,34rem);padding:3.5rem 3rem;position:relative;box-shadow:0 8px 35px #4c253021}.welcome-copy{z-index:1;position:relative}.welcome-note{margin:0 0 1.5rem;font-size:.9375rem}.welcome-card h1{color:var(--red-bow);font-family:var(--display-font);letter-spacing:-.045em;text-wrap:balance;margin:0 0 1.5rem;font-size:clamp(2.5rem,4.5vw,3.8rem);font-weight:800;line-height:1.02}.welcome-card .primary-button{min-width:240px;margin-top:1.25rem}.sound-toggle{z-index:40;background:#fffbf5e0;border-radius:5px;align-items:center;gap:.5rem;min-width:48px;min-height:48px;padding:.5rem .65rem;display:flex;position:fixed;bottom:1rem;left:calc(100% - 5.5rem)}.sound-toggle__text{font-size:.875rem;font-weight:600}.scene-controls{z-index:40;background:#fffbf5e6;border-radius:6px;align-items:center;gap:.35rem;padding:.15rem .25rem;display:flex;position:fixed;bottom:1rem;right:2.5rem}.scene-controls .motion-toggle,.scene-controls .sound-toggle{white-space:nowrap;background:0 0;border:0;min-height:44px;padding:.5rem .65rem;font-size:.8125rem;position:static}.scene-controls button:hover{background:#ffe5eeb3}.scene-controls .sound-toggle__text{font-size:.8125rem;font-weight:500}.progress-hearts{color:#b57c8e;justify-content:center;align-items:center;gap:1.25rem;margin:0;padding:.3rem 1rem;list-style:none;display:flex}.progress-hearts li{font-size:1.25rem;line-height:1}.progress-hearts li[aria-label=Completed],.progress-hearts li[aria-current=step]{color:var(--red-bow)}.progress-hearts li[aria-current=step]{transform:scale(1.3)}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1.75rem 0;display:grid}.choice-card{border:1px solid var(--paper-line);text-align:left;background:#fff;border-radius:7px;align-items:center;gap:.85rem;min-height:86px;padding:.9rem;font-weight:600;transition:border-color .18s,background-color .18s,transform .18s,box-shadow .18s;display:flex}.choice-card:hover{border-color:var(--pink-700);transform:translateY(-3px);box-shadow:0 6px 16px #a7153a14}.choice-card.is-selected{border-color:var(--red-bow);box-shadow:inset 0 0 0 1px var(--red-bow), 0 4px 12px #a7153a14;background:#ffe9ef}.choice-card:last-child:nth-child(odd){grid-column:1/-1}.sticker{place-items:center;width:2.8rem;min-width:2.8rem;height:2.8rem;margin:0;font-size:2rem;line-height:1;display:inline-grid}.choice-card.is-selected .sticker{animation:.34s sticker-pop}.step-actions,.review-actions{gap:.75rem;margin-top:1.75rem;display:flex}.step-actions>button{min-width:100px}.step-actions>.primary-button{margin-left:auto}.review-actions{flex-wrap:wrap}.review-actions button{flex:40%;min-width:0;font-size:.9375rem}.invitation-actions{flex-direction:column}.invitation-actions>*{text-align:center;justify-content:center;align-items:center;width:100%;min-height:48px;text-decoration:none;display:inline-flex}.review-card{position:relative;overflow:hidden}.review-card dl{border-top:1px dashed var(--paper-line);border-bottom:1px dashed var(--paper-line);grid-template-columns:minmax(5rem,auto) minmax(0,1fr);gap:0;margin:1.5rem 0;display:grid}.review-card dt,.review-card dd{overflow-wrap:anywhere;border-bottom:1px solid var(--pink-100);min-width:0;margin:0;padding:.85rem .5rem}.review-card dt{color:var(--pink-700);font-weight:600}.review-card dd{text-align:right;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;font-weight:600;display:grid}.review-card dd .quiet-button{white-space:nowrap;min-height:44px;padding:.5rem .6rem;font-size:.875rem}.review-card .invitation-handoff-note{margin-top:1.15rem;margin-bottom:0;font-size:.875rem}.review-card dt:last-of-type,.review-card dd:last-of-type{border-bottom:0}.invitation-confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.invitation-confetti>span{z-index:1;opacity:0;animation:.76s cubic-bezier(.16,.78,.3,1) both confetti-pop;position:absolute;top:48%;left:50%}.invitation-confetti>span:first-child{--confetti-x:-15rem;--confetti-y:-7rem;--confetti-turn:-35deg}.invitation-confetti>span:nth-child(2){--confetti-x:-6rem;--confetti-y:-10rem;--confetti-turn:24deg;animation-delay:60ms}.invitation-confetti>span:nth-child(3){--confetti-x:7rem;--confetti-y:-9rem;--confetti-turn:-20deg;animation-delay:.11s}.invitation-confetti>span:nth-child(4){--confetti-x:15rem;--confetti-y:-5rem;--confetti-turn:38deg;animation-delay:.15s}.loading-card,.error-card{text-align:center;width:min(100%,32rem)}.loading-card .sticker,.error-card .sticker{margin:0 auto 1rem}.loading-card p:last-child{margin:0;font-size:1.5rem}.error-card .primary-button{width:100%;margin-top:1rem}@keyframes type-arrive{0%{opacity:0;transform:translateY(25px)rotate(3deg)}to{opacity:1;transform:none}}@keyframes letter-arrive{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:none}}@keyframes kitty-drift{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-13px)rotate(3deg)}}@keyframes kitty-love{0%,to{transform:scale(1)}35%{transform:scale(1.09)rotate(-8deg)}65%{transform:scale(1.03)rotate(5deg)}}@keyframes sticker-pop{50%{transform:rotate(-7deg)scale(1.15)}}@keyframes quest-screen-enter{0%{opacity:0;filter:blur(5px);transform:translateY(20px)scale(.975)}to{opacity:1;filter:blur();transform:none}}@keyframes quest-screen-exit{0%{opacity:1;transform:none}to{opacity:0;filter:blur(5px);transform:translateY(-12px)scale(1.015)}}@keyframes confetti-pop{0%{opacity:0;transform:translate(-50%,-25%)scale(.35)}22%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--confetti-x)),calc(-25% + var(--confetti-y))) scale(1.05) rotate(var(--confetti-turn))}}::view-transition-old(root){display:none}::view-transition-new(root){animation:none}::view-transition-group(quest-screen){animation-duration:.65s}::view-transition-old(quest-screen){animation:.28s ease-in both quest-screen-exit}::view-transition-new(quest-screen){animation:.65s cubic-bezier(.2,.8,.2,1) .1s both quest-screen-enter}@media (width<=960px){.cover-title{font-size:clamp(5.5rem,12vw,8rem)}.cover-art{width:8.5rem;right:-4rem}.gate-card h1{font-size:1.75rem}}@media (width<=680px){.site-header,.site-footer{width:calc(100% - 2.5rem)}.site-header{min-height:90px}.site-dedication{font-size:.8125rem}.site-dedication span{margin-left:.25rem}.site-footer{min-height:100px;padding-bottom:3rem;font-size:.75rem}.gate-shell,.quest-shell{min-height:calc(100svh - 190px);padding:1.5rem 1.25rem 5rem}.cover-layout{gap:1.75rem;max-width:420px}.cover-title{letter-spacing:-.055em;white-space:nowrap;font-size:clamp(3.9rem,16vw,6rem);line-height:1}.cover-caption{margin:.85rem 0 0;font-size:1rem;line-height:1.4}.cover-art{width:6.25rem;bottom:-4rem;right:-.15rem}.cover-art .kitty-note{min-width:0;padding:.35rem .45rem;font-size:.6875rem;bottom:.5rem;right:2.8rem}.gate-card{padding:1.6rem 1.4rem 1.3rem}.love-card.gate-card h1{white-space:normal;font-size:clamp(1.25rem,5.2vw,1.65rem)}.gate-card .gate-description{margin-bottom:1rem}.gate-card .letter-signoff{margin-top:1rem}.welcome-card{max-width:420px;padding:2.25rem 1.5rem}.welcome-note{margin-bottom:1.25rem}.welcome-card h1{margin-bottom:1.25rem;font-size:clamp(2.5rem,10vw,3.5rem)}.welcome-card .primary-button{width:100%;min-width:0}.quest-shell{padding-top:1.5rem}.motion-toggle{font-size:.8125rem;bottom:.5rem;right:5.5rem}.sound-toggle{min-height:44px;padding:.4rem .5rem;bottom:.5rem;left:calc(100% - 5rem)}.scene-controls{bottom:.65rem;right:.65rem}.quest-screen{gap:1.25rem}.love-card:not(.gate-card){padding:1.5rem}.love-card h1{font-size:2.15rem}.choice-grid{gap:.6rem;margin:1.5rem 0}.choice-card{flex-direction:column;align-items:flex-start;gap:.5rem;min-height:120px;padding:.85rem;font-size:.9375rem}.sticker{width:2.5rem;min-width:2.5rem;height:2.5rem}.step-actions{gap:.5rem}.step-actions>button{min-width:80px}.invitation-actions{flex-direction:column}.review-actions{gap:.5rem}.review-actions button{padding:.65rem .6rem}.review-card dl{grid-template-columns:minmax(0,1fr)}.review-card dt{border:0;padding:.9rem 0 0;font-size:.875rem}.review-card dd{text-align:left;padding:.4rem 0 .85rem}.choice-card:last-child:nth-child(odd){flex-direction:row;align-items:center;min-height:70px}}@media (width<=360px){.site-dedication{white-space:nowrap;font-size:.8125rem}.gate-card{padding:1.35rem 1.1rem}.cover-title{font-size:3.9rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@font-face{font-family:Libre Caslon;src:url(/fonts/libre-caslon-regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Libre Caslon;src:url(/fonts/libre-caslon-bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Libre Caslon;src:url(/fonts/libre-caslon-italic.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}:root{--display-font:"Libre Caslon", Georgia, serif;--ink:#532333;--red-bow:#920d32;--pink-700:#8b1236;--paper-line:#d6a3ae}body{position:relative}.ui-icon{vertical-align:middle;background:currentColor;flex:none;width:1.25em;height:1.25em;display:inline-block;-webkit-mask:none 50%/contain no-repeat;mask:none 50%/contain no-repeat}.site-header{width:auto;min-height:0;padding:4.25rem 5.5vw 1rem;position:absolute;top:0;right:0}.site-dedication{font-family:var(--display-font);color:#8d3c51;text-shadow:0 1px 12px #fff6ed;font-size:1.1rem;font-style:italic}.site-footer{color:#663448;text-shadow:0 1px 8px #fff;width:auto;min-height:65px;position:absolute;bottom:0;left:3rem}.gate-shell,.quest-shell{grid-template-columns:minmax(0,1fr);min-height:100svh;padding:5.5rem 2rem 7rem}.quest-shell{align-content:start}.quest-screen{grid-template-columns:minmax(0,1fr);gap:2.5rem;min-width:0;max-width:1340px}.quest-screen[data-step=welcome]{align-self:center;margin:auto}.quest-shell:has([data-step=welcome]){align-content:center}.journey-step{text-align:center;width:100%;min-width:0}.journey-step h1{max-width:900px;color:var(--red-bow);font-family:var(--display-font);letter-spacing:-.045em;text-wrap:balance;text-shadow:0 2px 22px #fff7ef;margin:0 auto;font-size:clamp(2.8rem,4vw,4rem);font-weight:700;line-height:1.09}.journey-step--time h1{max-width:760px}.journey-caption{font-family:var(--display-font);text-shadow:0 1px 16px #fff7ed;margin:1rem 0 0;font-size:clamp(1.1rem,1.8vw,1.65rem)}.progress-hearts{justify-content:space-between;gap:0;width:480px;max-width:100%;margin:0 auto;padding:0;position:relative}.progress-hearts:before{content:"";opacity:.65;background:#a86175;height:1px;position:absolute;top:25px;left:42px;right:42px}.progress-hearts li{flex-direction:column;align-items:center;width:82px;font-size:1rem;display:flex;transform:none!important}.progress-jewel{width:58px;height:48px;animation:5.8s ease-in-out infinite jewel-float;display:block;position:relative}.progress-hearts li:nth-child(2) .progress-jewel{animation-delay:-1.4s}.progress-hearts li:nth-child(3) .progress-jewel{animation-delay:-2.8s}.progress-hearts li:nth-child(4) .progress-jewel{animation-delay:-4.2s}.progress-jewel>img{object-fit:contain;width:100%;height:100%;transition:filter .35s,opacity .35s;display:block}.progress-hearts li[aria-label=Completed] img,.progress-hearts li[aria-current=step] img{opacity:1;filter:none}.progress-hearts li[aria-current=step] img{filter:drop-shadow(0 0 8px #ff788b)}.progress-label{font-family:var(--display-font);color:#613047;text-shadow:0 1px 10px #fff;margin-top:.4rem;font-size:1.2rem;line-height:1.4}.progress-hearts li[aria-current=step] .progress-label{color:var(--red-bow);font-weight:700}.progress-check,.choice-check{color:#fff;background:#b41b43;border:2px solid #fff0ec;border-radius:50%;place-items:center;display:grid}.progress-check{width:23px;height:23px;position:absolute;bottom:0;right:-1px}.progress-check .ui-icon{width:15px;height:15px}.choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:2.5rem;margin:2rem 0 1.75rem;padding:0 2.6rem;position:relative}.choice-strand{z-index:-1;pointer-events:none;object-fit:fill;width:84%;height:300px;position:absolute;top:-15px;left:8%}.choice-card,.choice-card:last-child:nth-child(odd){--orb-offset:0px;color:#4d1428;text-align:center;min-height:0;box-shadow:none;transform:translateY(var(--orb-offset));-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:20px;flex-direction:column;grid-column:auto;align-items:center;gap:0;padding:0 0 .6rem;font-weight:400;transition:transform .26s;display:flex;position:relative}.choice-card:nth-of-type(2),.choice-card:nth-of-type(3){--orb-offset:26px}.choice-card:hover{box-shadow:none;transform:translateY(calc(var(--orb-offset) - 6px));background:0 0}.choice-card:active{transform:translateY(var(--orb-offset)) scale(.97)}.choice-card.is-selected{box-shadow:none;background:0 0}.choice-orb{aspect-ratio:1;border-radius:50%;width:min(100%,205px);margin:0 auto;display:block;position:relative}.choice-orb>img{object-fit:contain;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 9px 9px #5025391f);width:100%;height:100%;transition:filter .3s,transform .3s;animation:7s ease-in-out infinite orb-breathe;display:block}.choice-card:nth-of-type(2) img{animation-delay:-1.5s}.choice-card:nth-of-type(3) img{animation-delay:-3s}.choice-card:nth-of-type(4) img{animation-delay:-4.5s}.choice-card:hover .choice-orb>img{filter:drop-shadow(0 5px 13px #ffe7e9e6)}.choice-card.is-selected .choice-orb>img{filter:drop-shadow(0 0 3px #fff)drop-shadow(0 0 12px #ff627e)drop-shadow(0 0 22px #ef547966)}.choice-check{z-index:1;opacity:0;width:34px;height:34px;transition:opacity .22s,transform .3s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:22px;left:calc(50% - 17px);transform:scale(.6)}.choice-card.is-selected .choice-check{opacity:1;transform:scale(1)}.choice-label,.choice-detail{font-family:var(--display-font);text-shadow:0 1px 5px #fff8ed,0 0 18px #fff4e8,0 0 35px #fff5e9;line-height:1.28;position:relative}.choice-label{max-width:230px;margin-top:-12px;font-size:clamp(1.1rem,1.5vw,1.35rem);font-weight:400}.choice-detail{margin-top:.2rem;font-size:1.25rem}.choice-grid--time .choice-card:last-child .choice-label{max-width:185px}.choice-grid--time{min-height:270px}.choice-grid--place{grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin-top:3.25rem}.choice-grid--food{grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;margin-top:3.25rem}.choice-grid--place .choice-card:nth-of-type(3){--orb-offset:40px}.choice-grid--place .choice-card:nth-of-type(4){--orb-offset:26px}.choice-grid--food .choice-card:nth-of-type(3),.choice-grid--food .choice-card:nth-of-type(4){--orb-offset:40px}.choice-grid--food .choice-card:nth-of-type(5){--orb-offset:26px}.choice-grid--place,.choice-grid--food{padding-bottom:3rem}.choice-grid--food .choice-strand{top:45px}.journey-field{width:min(100%,344px);margin:1.5rem auto 0}.journey-field label{font-family:var(--display-font);text-shadow:0 0 12px #fff5ec,0 0 25px #fff3e3;margin:0 0 .4rem;font-size:1.2rem;font-weight:400}.journey-field input{min-height:60px;font-family:var(--display-font);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fff7f0c2;border:2px solid #fffaf2;border-radius:15px;padding:.65rem 1.6rem;font-size:1.3rem;box-shadow:0 3px 12px #5e1e3314,inset 0 1px 9px #ffffff73}.journey-step .step-actions{justify-content:center;gap:1.5rem;width:min(100%,544px);margin:1.85rem auto 0}.journey-step .step-actions>button{min-width:0;min-height:66px;font-family:var(--display-font);flex:1;font-size:1.35rem;font-weight:400}.journey-step .step-actions>.primary-button{flex:1.3;margin-left:0}.step-actions .ui-icon{margin-left:.45rem}.primary-button,.quiet-button,.step-actions>button,.review-actions button{border:1px solid #fff2e9;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.primary-button{background:linear-gradient(165deg, #cb2858 0%, var(--button-pink-start) 55%, #a91340 100%);box-shadow:inset 0 2px 5px #ff93a480,0 5px 19px #b31a3c33,0 0 0 1px #df6985}.quiet-button,.step-actions>button:not(.primary-button),.review-actions button{color:#78162f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fff7f1c4;border:1px solid #fff5ef;box-shadow:0 0 0 1px #c9667e,inset 0 0 14px #fff}.journey-step--date .date-orb{object-fit:contain;width:230px;height:230px;margin:1.8rem auto 0;animation:7s ease-in-out infinite orb-breathe}.journey-step--date .journey-field{margin-top:0}.journey-step--date .step-actions{max-width:344px}.cover-title{font-family:var(--display-font);letter-spacing:-.07em;text-shadow:0 3px 24px #fff6eb;padding-bottom:.08em;font-size:clamp(5.5rem,9vw,8rem);font-style:italic;font-weight:400;line-height:1.2}.cover-title>span{animation-name:cover-title-arrive}.cover-caption{color:#673348;font-family:var(--display-font);text-shadow:0 1px 14px #fff4e8;margin:.8rem 0 0;font-size:1.15rem;line-height:1.55}.cover-layout{gap:2.5rem}.gate-letter{width:min(100%,29rem)}.love-card.gate-card,.review-card{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#fff8f2c9;border:1px solid #fff7ed;border-radius:28px;box-shadow:inset 0 1px 22px #ffffff80,0 15px 50px #61313e21}.love-card.gate-card h1{letter-spacing:-.04em;white-space:normal;font-size:1.6rem;font-weight:400}.gate-card{padding:2rem 2.5rem}.gate-card input{background:#ffffffa6;border-color:#d29aa8;border-radius:12px}.gate-card .primary-button{margin-top:1.3rem}.gate-card .password-row .quiet-button{box-shadow:none;border-radius:12px}.cover-art{width:10rem;bottom:-1.5rem;right:-6.5rem}.cover-art .kitty-note{border-radius:10px}.welcome-card{width:min(100%,850px);box-shadow:none;background:0 0;border:none;padding:2.5rem 2rem}.welcome-card h1{font-family:var(--display-font);text-shadow:0 1px 20px #fff7eb;font-size:clamp(3rem,5.2vw,5rem);font-weight:700;line-height:1.1}.welcome-card p{font-family:var(--display-font);text-shadow:0 0 14px #fff8eb;font-size:1.15rem}.welcome-card .primary-button{min-height:60px;padding-inline:2rem}.review-card{width:min(100%,650px)}.review-card h1{font-family:var(--display-font);letter-spacing:-.04em;text-align:center;font-size:clamp(2rem,4vw,3rem);font-weight:400}.review-card dd .quiet-button{box-shadow:none;background:#fff5ee;border-color:#ddb4bc}.review-card dl{border-top-style:solid;border-bottom-style:solid}.invitation-confetti img{object-fit:contain;width:32px;height:44px}.scene-controls{background:0 0;border:0;border-radius:999px;gap:.35rem;padding:.25rem .5rem;bottom:3rem;right:2rem}.scene-controls button{box-shadow:none;color:#fff7ed;text-shadow:0 1px 3px #34101b,0 0 12px #34101b;border-radius:999px}.scene-controls button .ui-icon{filter:drop-shadow(0 1px 2px #34101b)}.scene-controls .sound-toggle{border-left:1px solid #fff7edaa;border-radius:0 999px 999px 0}.scene-controls .motion-toggle,.scene-controls .sound-toggle{font-family:var(--display-font);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;gap:.5rem;font-size:1rem}.scene-controls .sound-toggle__text{font-size:1rem}@keyframes cover-title-arrive{0%{opacity:0;transform:translateY(-12px)rotate(-2deg)}to{opacity:1;transform:none}}@keyframes orb-breathe{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-12px)rotate(2deg)}}@keyframes jewel-float{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-4px)scale(1.07)}}[data-motion=paused] .choice-orb>img,[data-motion=paused] .date-orb,[data-motion=paused] .progress-jewel{animation-play-state:paused}[data-motion=paused] .choice-card,[data-motion=paused] .choice-orb>img,[data-motion=paused] .choice-check{transition:none}@media (width>=1100px) and (height>=950px){.quest-shell{padding-top:5.5rem}.quest-screen{gap:2.1rem}.choice-grid--time{min-height:270px;margin-top:1rem}.journey-step--time .journey-field{margin-top:0}.choice-grid--time{margin-bottom:.7rem}}@media (width>=1100px) and (height<=850px){.quest-shell{padding-top:2.5rem}.quest-screen{gap:1.5rem}.journey-step h1{font-size:3rem}.choice-grid{margin-top:1rem}.choice-orb{width:180px}.choice-grid--time{min-height:253px;margin-bottom:.25rem}.journey-field{margin-top:.75rem}.journey-step .step-actions>button{min-height:56px}.journey-step .step-actions{margin-top:1.25rem}.site-header{padding-top:2rem}}@media (width<=1099px){.cover-art{width:8rem;right:-4.5rem}.site-header{padding:1.5rem 2rem 0}.site-dedication{font-size:.9rem}.quest-shell{padding-top:5rem}.quest-screen{gap:2rem}.journey-step h1{font-size:clamp(2.4rem,5.7vw,3.4rem)}.choice-grid{gap:1rem;padding-inline:0}.choice-grid--time{min-height:240px}.choice-label{font-size:1.1rem}.choice-detail{font-size:1rem}.choice-strand{height:125px;top:50px}.choice-grid--food{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:1.5rem;max-width:660px;margin-inline:auto}.choice-grid--food .choice-card{--orb-offset:0px!important}.choice-grid--food .choice-strand{display:none}.choice-grid--food .choice-orb{width:170px}}@media (width<=680px){.site-header{padding:1.3rem 1.3rem 0}.site-dedication{font-size:.82rem}.site-footer{width:100%;min-height:80px;margin-top:-80px;padding:0 1.25rem 3rem;font-size:.7rem;position:relative;left:0}.gate-shell,.quest-shell{padding:5rem 1.25rem 8rem}.gate-shell{align-content:center}.quest-screen{gap:2rem}.progress-hearts{width:320px}.progress-hearts:before{top:20px;left:34px;right:34px}.progress-jewel{width:46px;height:42px}.progress-hearts li{width:65px}.progress-label{margin-top:.2rem;font-size:.95rem}.progress-check{border-width:1px;width:19px;height:19px;right:-1px}.progress-check .ui-icon{width:13px;height:13px}.journey-step h1{letter-spacing:-.045em;font-size:clamp(2rem,8.5vw,2.8rem);line-height:1.15}.journey-step--time h1{max-width:370px}.journey-caption{margin-top:.75rem;font-size:1rem;line-height:1.5}.choice-grid,.choice-grid--place,.choice-grid--food{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem .9rem;max-width:440px;min-height:0;margin:1.75rem auto 1.5rem;padding:0}.choice-card,.choice-card:last-child:nth-child(odd){flex-direction:column;align-items:center;gap:0;min-height:0;padding:0;--orb-offset:0px!important}.choice-grid--place .choice-card:last-child{grid-column:1/-1;justify-self:center;width:calc(50% - .45rem)}.choice-orb,.choice-grid--food .choice-orb{width:min(100%,180px)}.choice-label{max-width:165px;font-size:1rem}.choice-detail{font-size:.95rem}.choice-check{width:26px;height:26px;bottom:5px;left:calc(50% - 13px)}.choice-check .ui-icon{width:17px;height:17px}.choice-strand{display:none}.journey-field{margin-top:1.5rem}.journey-field label{font-size:1rem}.journey-field input{min-height:54px;padding-inline:1.1rem;font-size:1.15rem}.journey-step .step-actions{gap:.85rem;margin-top:1.4rem}.journey-step .step-actions>button{min-height:54px;padding:.75rem .85rem;font-size:1.05rem}.journey-step--food .step-actions>.primary-button{flex:2;font-size:.95rem}.journey-step--date .date-orb{width:210px;height:210px;margin-top:1.5rem}.cover-layout{gap:1.8rem}.cover-title{letter-spacing:-.065em;font-size:clamp(4.8rem,20vw,6rem)}.cover-caption{font-size:1rem}.gate-card{padding:1.7rem 1.35rem}.love-card.gate-card h1{font-size:clamp(1.35rem,5.8vw,1.7rem);line-height:1.3}.gate-card .gate-description{margin-top:.6rem}.cover-art{width:6.25rem;bottom:-3.6rem;right:-.15rem}.cover-art .kitty-note{bottom:.5rem;right:2.8rem}.welcome-card{padding:1.5rem 0}.welcome-card h1{letter-spacing:-.045em;font-size:clamp(2.6rem,10.5vw,3.8rem)}.welcome-card p{font-size:1rem}.welcome-card .primary-button{width:auto;min-width:230px}.love-card.review-card{padding:1.5rem}.review-card dd .quiet-button{min-height:44px}.scene-controls{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#411d29bf;padding:.1rem .25rem;position:absolute;bottom:.65rem;right:.7rem}.scene-controls .motion-toggle,.scene-controls .sound-toggle,.scene-controls .sound-toggle__text{font-size:.75rem}}@media (prefers-reduced-motion:reduce){.choice-orb>img,.date-orb,.progress-jewel{animation:none!important}}
