/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@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-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}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.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}.inline{display:inline}.table{display:table}.rounded{border-radius:.25rem}}:root{--pink-50:#fff6fa;--pink-100:#ffe5f0;--pink-300:#ff9fc5;--pink-500:#f34f91;--pink-700:#ad245d;--button-pink-start:#c72f6d;--red-bow:#e73758;--cream:#fffdf8;--ink:#4c2637;--shadow:0 24px 70px #8927532e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{background:var(--pink-50);min-width:320px;min-height:100%}body{min-height:100svh;color:var(--ink);background:radial-gradient(circle at 12% 18%, #ffffffc7 0 5px, transparent 6px), radial-gradient(circle at 88% 22%, #f34f9129 0 4px, transparent 5px), radial-gradient(circle at 16% 82%, #e7375821 0 3px, transparent 4px), radial-gradient(circle at 78% 76%, #ffffffb3 0 6px, transparent 7px), linear-gradient(145deg, var(--pink-50) 0%, var(--pink-100) 54%, #ffd5e7 100%);isolation:isolate;background-size:120px 120px,150px 150px,105px 105px,175px 175px,auto;margin:0;font-family:ui-rounded,Arial Rounded MT Bold,Trebuchet MS,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;overflow-x:hidden}body:before,body:after{z-index:-1;color:#f34f9124;content:"♥";pointer-events:none;position:fixed}body:before{font-size:clamp(3rem,8vw,6.5rem);top:9%;left:5%;transform:rotate(-16deg)}body:after{font-size:clamp(4rem,10vw,8rem);bottom:7%;right:4%;transform:rotate(14deg)}button,input{font:inherit}button{min-height:44px;color:inherit}button:not(:disabled){cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid var(--pink-700);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.5}.gate-shell,.quest-shell{z-index:1;align-content:center;place-items:center;width:100%;min-height:100svh;padding:7.5rem 1rem 3rem;display:grid;position:relative}.quest-shell{gap:1rem}.quest-screen{view-transition-name:quest-screen;justify-items:center;gap:1rem;width:100%;animation:.22s cubic-bezier(.2,.75,.25,1) both quest-screen-enter;display:grid}.sound-toggle{z-index:20;place-items:center;gap:0;width:56px;min-width:48px;height:56px;min-height:48px;padding:.3rem;line-height:1;display:grid;position:fixed;top:.75rem;left:.75rem}.sound-toggle__text{letter-spacing:.02em;font-size:.62rem}.love-card{width:min(100%,46rem);box-shadow:var(--shadow);text-align:left;background:#fffdf8f5;border:2px solid #ffffffe0;border-radius:clamp(1.5rem,5vw,2.5rem);padding:clamp(1.5rem,6vw,3rem);overflow:hidden}.love-card h1{max-width:18ch;color:var(--pink-700);letter-spacing:-.035em;margin:0 0 .85rem;font-size:clamp(2rem,8vw,3.35rem);line-height:1.05}.love-card p{margin:0 0 1.25rem}.eyebrow{color:var(--pink-700);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:800}.gate-card{width:min(100%,34rem)}.welcome-card{text-align:center}.welcome-card h1{margin-left:auto;margin-right:auto}.welcome-card .primary-button{margin-top:.75rem}label{color:var(--pink-700);margin:1rem 0 .4rem;font-size:.92rem;font-weight:800;display:block}input{width:100%;min-width:0;min-height:48px;color:var(--ink);border:2px solid var(--pink-100);background:#fff;border-radius:.9rem;padding:.75rem .9rem;font-size:1rem;transition:border-color .16s,box-shadow .16s}input:hover{border-color:var(--pink-300)}.password-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.6rem;display:grid}.primary-button,.quiet-button,.step-actions>button,.review-actions button{border:0;border-radius:999px;min-height:48px;padding:.75rem 1.15rem;font-weight:800;transition:transform .16s,box-shadow .16s,background-color .16s}.primary-button{color:#fff;background:linear-gradient(135deg, var(--button-pink-start), var(--pink-700));box-shadow:0 10px 24px #ad245d3d}.primary-button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 13px 28px #ad245d4f}.quiet-button,.step-actions>button:not(.primary-button),.review-actions button{color:var(--pink-700);background:var(--pink-100)}.quiet-button:hover,.step-actions>button:not(.primary-button):hover,.review-actions button:hover{background:#ffd2e4}.error-message{color:#982047;min-height:1.5em;margin:.7rem 0;font-weight:750}.choice-grid{grid-template-columns:1fr;gap:.75rem;margin:1.5rem 0;display:grid}.choice-card{border:2px solid var(--pink-100);text-align:left;background:#fff;border-radius:1.2rem;align-items:center;gap:.8rem;min-height:72px;padding:.8rem 1rem;font-weight:800;transition:border-color .16s,background-color .16s,box-shadow .16s,transform .16s;display:flex;box-shadow:0 6px 15px #89275314}.choice-card:hover{border-color:var(--pink-300);transform:translateY(-2px)}.choice-card.is-selected{background:var(--pink-50);border-color:var(--pink-500);box-shadow:0 8px 22px #f34f912b}.sticker{background:var(--pink-50);border:2px solid #fff;border-radius:1rem;place-items:center;width:2.8rem;min-width:2.8rem;height:2.8rem;margin:0;font-size:1.55rem;line-height:1;display:inline-grid;box-shadow:0 5px 12px #89275321}.choice-card.is-selected .sticker{animation:.34s sticker-pop}.progress-hearts{color:#ad245d47;background:#fffdf8db;border:1px solid #ffffffd9;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;min-height:44px;margin:0;padding:.5rem 1rem;list-style:none;display:flex;box-shadow:0 8px 28px #8927531a}.progress-hearts li{font-size:1.35rem;line-height:1}.progress-hearts li[aria-label=Completed],.progress-hearts li[aria-current=step]{color:var(--pink-500)}.progress-hearts li[aria-current=step]{transform:scale(1.18)}.quest-step>.primary-button,.gate-card>.primary-button{width:100%;margin-top:1rem}.step-actions,.review-actions{flex-direction:column-reverse;gap:.75rem;margin-top:1.5rem;display:flex}.step-actions>button,.review-actions button{width:100%}.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 dl{border:1px solid var(--pink-100);background:#fff;border-radius:1.25rem;grid-template-columns:minmax(5rem,auto) minmax(0,1fr);gap:0;margin:1.5rem 0;display:grid;overflow:hidden}.review-card{position:relative}.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}.review-card dt,.review-card dd{overflow-wrap:anywhere;border-bottom:1px solid var(--pink-100);min-width:0;margin:0;padding:.85rem 1rem}.review-card dt{color:var(--pink-700);background:var(--pink-50);font-weight:800}.review-card dd{font-weight:700}.review-card dt:last-of-type,.review-card dd:last-of-type{border-bottom:0}.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{color:var(--pink-700);margin:0;font-size:clamp(1.2rem,5vw,1.6rem);font-weight:800}.error-card h1{margin-left:auto;margin-right:auto;font-size:clamp(1.9rem,7vw,2.7rem)}.error-card .primary-button{width:100%;margin-top:1rem}.site-kitty{z-index:0;pointer-events:none;transform-origin:100% 0;position:fixed;top:.7rem;right:.7rem;transform:scale(.82)}.kitty-guide{filter:drop-shadow(0 12px 18px #8927532b);width:132px;height:106px;position:relative}.kitty-guide__face{z-index:2;border:3px solid var(--ink);background:#fff;border-radius:48% 48% 45% 45%;width:112px;height:78px;position:absolute;top:20px;left:10px}.kitty-guide__ear{z-index:1;border:3px solid var(--ink);background:#fff;width:39px;height:43px;position:absolute;top:6px;transform:rotate(45deg)}.kitty-guide__ear--left{border-radius:10px 3px 14px;left:18px}.kitty-guide__ear--right{border-radius:3px 10px 3px 14px;right:18px}.kitty-guide__eye{background:var(--ink);border-radius:999px;width:7px;height:12px;transition:height .16s,transform .16s;position:absolute;top:34px}.kitty-guide__eye--left{left:32px}.kitty-guide__eye--right{right:32px}.kitty-guide--happy .kitty-guide__eye,.kitty-guide--celebrate .kitty-guide__eye{border-top:3px solid var(--ink);background:0 0;border-radius:50%;height:7px}.kitty-guide--thinking .kitty-guide__eye--right{height:5px;transform:translateY(3px)rotate(-12deg)}.kitty-guide__nose{border:2px solid var(--ink);background:#f2c94c;border-radius:50%;width:13px;height:9px;position:absolute;top:46px;left:50%;transform:translate(-50%)}.kitty-guide__blush{opacity:0;background:#ff9fc594;border-radius:50%;width:15px;height:7px;position:absolute;top:51px}.kitty-guide__blush--left{left:19px}.kitty-guide__blush--right{right:19px}.kitty-guide--happy .kitty-guide__blush,.kitty-guide--celebrate .kitty-guide__blush{opacity:1}.kitty-guide__whiskers{background:var(--ink);width:31px;height:2px;position:absolute;top:47px}.kitty-guide__whiskers:before,.kitty-guide__whiskers:after{background:var(--ink);content:"";transform-origin:50%;width:29px;height:2px;position:absolute}.kitty-guide__whiskers:before{transform:translateY(-9px)rotate(11deg)}.kitty-guide__whiskers:after{transform:translateY(9px)rotate(-11deg)}.kitty-guide__whiskers--left{left:-24px}.kitty-guide__whiskers--right{right:-24px}.kitty-guide__whiskers--right:before{transform:translateY(-9px)rotate(-11deg)}.kitty-guide__whiskers--right:after{transform:translateY(9px)rotate(11deg)}.kitty-guide__bow{z-index:4;width:51px;height:37px;position:absolute;top:6px;right:1px;transform:rotate(8deg)}.kitty-guide__bow-loop,.kitty-guide__bow-knot{background:var(--red-bow);border:3px solid var(--ink);position:absolute}.kitty-guide__bow-loop{width:25px;height:30px;top:4px}.kitty-guide__bow-loop--left{border-radius:65% 35% 50% 50%;left:1px;transform:rotate(-18deg)}.kitty-guide__bow-loop--right{border-radius:35% 65% 50% 50%;right:1px;transform:rotate(18deg)}.kitty-guide__bow-knot{z-index:1;border-radius:50%;width:17px;height:19px;top:9px;left:18px}.kitty-guide__heart{z-index:5;opacity:0;width:18px;height:18px;position:absolute;top:45px;right:-3px;transform:rotate(-45deg)}.kitty-guide__heart:before,.kitty-guide__heart:after{background:var(--pink-500);content:"";border-radius:10px 10px 0 0;width:10px;height:16px;position:absolute}.kitty-guide__heart:before{transform-origin:0 100%;left:9px;transform:rotate(45deg)}.kitty-guide__heart:after{transform-origin:100% 100%;left:0;transform:rotate(-45deg)}.kitty-guide--celebrate .kitty-guide__heart{opacity:1;animation:.9s ease-in-out infinite alternate heart-float}@keyframes sticker-pop{50%{transform:rotate(-7deg)scale(1.12)}}@keyframes quest-screen-enter{0%{opacity:0;transform:translateY(.65rem)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes quest-screen-exit{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-.45rem)scale(.99)}}@keyframes confetti-pop{0%{opacity:0;transform:translate(-50%,-25%)scale(.35)rotate(0)}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))}}@keyframes heart-float{to{transform:translateY(-8px)rotate(-45deg)scale(1.08)}}::view-transition-old(quest-screen){animation:.16s ease-in both quest-screen-exit}::view-transition-new(quest-screen){animation:.22s cubic-bezier(.2,.75,.25,1) both quest-screen-enter}@media (width>=560px){.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.step-actions{flex-direction:row;justify-content:space-between}.step-actions>button{width:auto;min-width:8.5rem}.step-actions>.primary-button{margin-left:auto}.review-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}@media (width>=780px){.gate-shell,.quest-shell{padding:3rem}.site-kitty{top:50%;right:clamp(1rem,4vw,4rem);transform:translateY(-50%)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
