/*! 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{.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--ink:#4b3033;--muted:#8c7174;--pink:#ec7591;--pink-dark:#d95878;--pink-soft:#ffe2e9;--cream:#fffaf5}*{box-sizing:border-box}html{background:#f9edf0;min-width:320px}body{color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Trebuchet MS,Segoe UI,sans-serif}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.page-shell{isolation:isolate;background:radial-gradient(circle at 20% 10%,#fffffff2 0 3px,#0000 4px),radial-gradient(circle at 78% 22%,#fffc 0 2px,#0000 3px),linear-gradient(145deg,#fff8f4 0%,#fae8ed 48%,#f8dfe8 100%);place-items:center;min-height:100svh;padding:34px 18px 58px;display:grid;position:relative;overflow:hidden}.page-shell:before{content:"";z-index:-1;opacity:.24;pointer-events:none;background-image:radial-gradient(circle at 20% 30%,#74465029 0 .6px,#0000 .8px),radial-gradient(circle at 70% 80%,#74465021 0 .5px,#0000 .8px);background-size:9px 11px,13px 15px;position:absolute;inset:0}.ambient{z-index:-1;filter:blur(2px);opacity:.7;border-radius:50%;position:absolute}.ambient--one{background:#ffd7dd;width:360px;height:360px;top:-130px;left:-170px}.ambient--two{background:#f6c9d7;width:430px;height:430px;bottom:-210px;right:-220px}.floating-hearts i{color:#e669892e;font-style:normal;animation:8s ease-in-out infinite drift;position:absolute}.floating-hearts i:first-child{font-size:28px;animation-delay:-1s;top:17%;left:7%}.floating-hearts i:nth-child(2){font-size:19px;animation-delay:-4s;top:12%;right:9%}.floating-hearts i:nth-child(3){font-size:34px;animation-delay:-2s;top:57%;right:6%}.floating-hearts i:nth-child(4){font-size:20px;animation-delay:-6s;bottom:13%;left:9%}.floating-hearts i:nth-child(5){font-size:13px;animation-delay:-3s;top:68%;left:20%}.floating-hearts i:nth-child(6){font-size:14px;animation-delay:-7s;bottom:9%;right:19%}.card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf9e0;border:1px solid #ffffffe6;border-radius:36px;flex-direction:column;width:min(100%,460px);min-height:650px;padding:26px 38px 24px;display:flex;position:relative;overflow:hidden;box-shadow:0 28px 80px #7542502b,inset 0 1px #fff}.card:after{content:"";background:#f9c2cc61;border-radius:2px;width:110px;height:18px;position:absolute;top:9px;left:50%;transform:translate(-50%)rotate(-1deg)}.eyebrow{color:#b98d94;text-align:center;letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:12px;font:600 10px/1.2 Trebuchet MS,sans-serif;display:flex}.eyebrow:before,.eyebrow:after{content:"";background:#f0dadd;flex:1;height:1px}.eyebrow span{white-space:nowrap}.screen{flex-direction:column;flex:1;align-items:center;animation:.55s cubic-bezier(.22,.85,.3,1) both screen-in;display:flex}.kicker{color:var(--pink-dark);letter-spacing:.13em;text-transform:uppercase;margin:4px 0 8px;font-size:11px;font-weight:800}h1{letter-spacing:-.04em;text-align:center;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(32px,7.5vw,41px);font-weight:500;line-height:1.05}.subtitle{color:var(--muted);text-align:center;margin:14px 0 21px;font-size:14px;line-height:1.6}.button-row{justify-content:center;gap:10px;width:100%;display:flex}.button-row--answer{align-items:stretch}.button{cursor:pointer;border:0;border-radius:17px;min-height:49px;padding:0 22px;font-size:14px;font-weight:800;transition:transform .28s,box-shadow .28s,background .28s}.button:hover{transform:translateY(-3px)}.button:active{transform:translateY(0)scale(.98)}.button:focus-visible,input:focus-visible,.back-button:focus-visible{outline-offset:3px;outline:3px solid #e05b7c40}.button--primary{color:#fff;background:linear-gradient(135deg,#f186a0,#df5e7e);box-shadow:0 11px 24px #d24d6f40}.button--primary:hover{box-shadow:0 15px 29px #d24d6f52}.button--primary span{margin-left:4px;animation:1.5s ease-in-out infinite heartbeat;display:inline-block}.button--soft{color:#8f626a;background:#f6e9ec}.button--wide{width:100%}.button--yes{flex:auto}.button--no{color:#8f7479;background:#eee9ed;flex:0 0 84px;width:84px;padding:0;transition:width .48s cubic-bezier(.22,.85,.3,1),flex-basis .48s cubic-bezier(.22,.85,.3,1),border-radius .48s,transform .28s,background .35s,box-shadow .35s;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #8969720a}.button--no:hover{background:#e9e3e8}.button--kiss{background:#fff0f4;border-radius:50%;flex-basis:52px;width:52px;box-shadow:inset 0 0 0 1px #f4d6df,0 8px 20px #cd607e21}.button--kiss:hover{background:#ffebf1;transform:translateY(-2px)rotate(-5deg)}.no-label{animation:.3s both no-appear;display:inline-block}.kiss-mark{margin:0;font-size:25px;line-height:1;animation:.58s cubic-bezier(.2,1.35,.35,1) both kiss-pop;display:inline-block}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.microcopy{color:#bfa7aa;text-align:center;margin:13px 0 0;font-size:10px}.back-button{color:#a8878d;cursor:pointer;background:0 0;border:0;margin:14px 0 0;font-size:11px}.submit-error{color:#c24f69;text-align:center;margin:10px 0 -2px;font-size:11px}.saved-badge{color:#b54e69;text-align:center;background:#fff2f5;border:1px solid #efcdd6;border-radius:15px;width:100%;padding:13px 18px;font-size:13px;font-weight:800}.steps{justify-content:center;gap:6px;margin-top:20px;display:flex}.steps i{background:#eadadd;border-radius:99px;width:6px;height:6px;transition:width .5s,background .5s}.steps i.active{background:var(--pink);width:19px}.signature{color:#7e57608a;margin:0;font:italic 11px Georgia,serif;position:absolute;bottom:19px}.cat-scene{aspect-ratio:940/690;background:#fffaf7;border-radius:30px;flex:none;width:min(100%,330px);margin:25px auto 13px;animation:4.8s cubic-bezier(.45,0,.55,1) infinite illustration-float;position:relative;overflow:hidden;box-shadow:0 16px 38px #683f4613}.cat-scene img{object-fit:cover;width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.75,.25,1);display:block;transform:scale(1.015)}.cat-scene:hover img{transform:scale(1.035)}.scene-heart{z-index:2;color:#df6d89;filter:drop-shadow(0 2px 3px #d259781f);font-family:Georgia,serif;line-height:1;animation:3.2s ease-in-out infinite scene-heart-rise;position:absolute}.scene-heart--one{font-size:22px;top:24%;left:50%}.scene-heart--two{font-size:13px;animation-delay:-1.6s;top:17%;left:57%}.screen--hello .kicker{margin-top:2px}.screen--hello h1{margin-bottom:22px}.time-heart{color:#dd6a86;background:linear-gradient(145deg,#ffe8ed,#fbd7e0);border-radius:38% 46% 40% 48%;place-items:center;width:98px;height:98px;margin:42px 0 23px;animation:4s ease-in-out infinite time-heart-float;display:grid;transform:rotate(-4deg);box-shadow:0 14px 32px #ad5e711c}.time-heart span{font:52px/1 Georgia,serif;animation:1.8s ease-in-out infinite heartbeat}.title-heart{color:var(--pink-dark);white-space:nowrap}.cats{width:255px;height:214px;margin:17px auto -1px;animation:3.4s ease-in-out infinite cats-float;position:relative}.cat{transform-origin:50% 100%;width:112px;height:146px;position:absolute;top:40px}.cat--orange{--fur:#e8954d;--fur-dark:#9f5c34;--ear:#f5b28b;animation:1.15s ease-in-out infinite cat-step;left:19px}.cat--cream{--fur:#f8eee0;--fur-dark:#aa8173;--ear:#efb5b5;animation:1.15s ease-in-out -.57s infinite cat-step;right:14px}.body{z-index:2;border:3px solid var(--fur-dark);background:var(--fur);border-radius:52% 52% 40% 40%;width:72px;height:84px;position:absolute;top:58px;left:23px;transform:rotate(-2deg)}.head{z-index:4;border:3px solid var(--fur-dark);background:var(--fur);border-radius:46% 46% 48% 48%;width:85px;height:70px;position:absolute;top:8px;left:13px}.ear{z-index:-1;border:3px solid var(--fur-dark);background:var(--ear);border-radius:6px 15px 4px;width:28px;height:30px;animation:4s ease-in-out infinite ear-twitch;position:absolute;top:-15px;transform:rotate(45deg)}.ear--left{left:5px}.ear--right{animation-delay:-1.2s;right:5px;transform:rotate(45deg)scale(-1)}.face{display:block;position:absolute}.eye{background:#51393a;border-radius:50%;width:6px;height:8px;animation:4.6s infinite blink;top:30px}.eye--left{left:22px}.eye--right{right:22px}.nose{background:#b86770;border-radius:50% 50% 65% 65%;width:7px;height:5px;top:41px;left:50%;transform:translate(-50%)}.cheek{background:#e7687e47;border-radius:50%;width:13px;height:7px;top:43px}.cheek--left{left:9px}.cheek--right{right:9px}.tail{border:11px solid var(--fur-dark);transform-origin:13px 65px;border-bottom-color:#0000;border-left-color:#0000;border-radius:50%;width:64px;height:77px;animation:2.2s ease-in-out infinite tail-wave;position:absolute;top:64px}.cat--orange .tail{left:-23px;transform:rotate(-42deg)}.cat--cream .tail{animation-delay:-1.1s;right:-25px;transform:rotate(42deg)scaleX(-1)}.paw{z-index:5;border:3px solid var(--fur-dark);background:var(--fur);transform-origin:50% 5px;border-radius:15px;width:25px;height:48px;animation:.9s ease-in-out infinite paw-step;position:absolute;top:113px}.paw--front{left:28px}.paw--back{animation-delay:-.45s;right:24px}.stripe{background:#bf6e39;border-radius:10px 0 0 10px;width:25px;height:7px;position:absolute;right:-2px;transform:rotate(-8deg)}.stripe--one{top:18px}.stripe--two{width:20px;top:35px}.ground-shadow{z-index:0;background:#57343b17;border-radius:50%;width:205px;height:17px;animation:3.4s ease-in-out infinite shadow-pulse;position:absolute;bottom:11px;left:24px}.tiny-heart{z-index:7;color:var(--pink);font-size:22px;animation:2.6s ease-in-out infinite heart-rise;position:absolute}.tiny-heart--one{top:13px;left:119px}.tiny-heart--two{font-size:11px;animation-delay:-1.3s;top:25px;left:143px}.mini-sticker{background:#ffe4e9;border-radius:38% 44% 37% 47%;place-items:center;width:108px;height:108px;margin:42px 0 21px;animation:3s ease-in-out infinite sticker-wiggle;display:grid;transform:rotate(-5deg)}.mini-sticker:before{content:"";background:#f8eee0;border:3px solid #aa8173;border-radius:50% 50% 42% 42%;width:56px;height:49px}.mini-sticker span{color:var(--pink);margin:-7px 0 0 51px;font-size:32px;animation:1.4s ease-in-out infinite heartbeat;position:absolute}.time-field{width:100%;margin:9px 0 17px}.time-field label{color:#a27c82;letter-spacing:.06em;text-transform:uppercase;flex-direction:column;gap:7px;font-size:11px;font-weight:800;display:flex}.time-field input{width:100%;height:58px;color:var(--ink);text-align:center;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fffdfb;border:1px solid #ecdadd;border-radius:17px;padding:0 18px;font:600 18px/1 Georgia,serif;transition:border-color .2s,box-shadow .2s}.time-field input:focus{border-color:#e58aa0;outline:0;box-shadow:0 0 0 4px #e58aa01a}.screen--done .cats{transform-origin:bottom;height:170px;margin-top:3px;margin-bottom:-5px;transform:scale(.78)}.screen--done .cat-scene{width:255px;box-shadow:none;border-radius:24px;margin:4px auto 8px}.screen--done .kicker{margin-top:1px}.screen--done h1{font-size:41px}.ticket{background:#fff3f5;border:1px dashed #e9b2bf;border-radius:16px;flex-direction:column;align-items:center;width:100%;margin:14px 0 0;padding:15px 18px;display:flex;position:relative}.ticket:before,.ticket:after{content:"";background:#fffaf6;border-radius:50%;width:15px;height:15px;position:absolute;top:50%;transform:translateY(-50%)}.ticket:before{left:-8px}.ticket:after{right:-8px}.ticket span{color:#bc8d95;letter-spacing:.17em;text-transform:uppercase;font-size:9px;font-weight:800}.ticket strong{margin-top:3px;font-family:Georgia,serif;font-size:21px;font-weight:600}.ticket em{color:var(--pink-dark);margin-top:5px;font-size:11px;font-style:normal}.screen--done .subtitle{margin:12px 0 14px;font-size:12px}.confetti{pointer-events:none;position:absolute;inset:0}.confetti i{background:var(--pink);opacity:0;border-radius:3px;width:7px;height:12px;animation:2.3s ease-out infinite confetti-pop;position:absolute;top:33%;left:50%}.confetti i:nth-child(3n){background:#efb750}.confetti i:nth-child(3n+1){background:#d89baa}.confetti i:first-child{--x:-160px;--y:-110px;animation-delay:50ms}.confetti i:nth-child(2){--x:-125px;--y:-145px;animation-delay:.1s}.confetti i:nth-child(3){--x:-85px;--y:-120px;animation-delay:.15s}.confetti i:nth-child(4){--x:-45px;--y:-150px;animation-delay:.22s}.confetti i:nth-child(5){--x:5px;--y:-130px;animation-delay:.28s}.confetti i:nth-child(6){--x:50px;--y:-158px;animation-delay:.12s}.confetti i:nth-child(7){--x:90px;--y:-118px;animation-delay:.2s}.confetti i:nth-child(8){--x:135px;--y:-145px;animation-delay:.3s}.confetti i:nth-child(9){--x:165px;--y:-95px;animation-delay:80ms}.confetti i:nth-child(10){--x:-145px;--y:-55px;animation-delay:.35s}.confetti i:nth-child(11){--x:-100px;--y:-72px;animation-delay:.4s}.confetti i:nth-child(12){--x:105px;--y:-65px;animation-delay:.38s}.confetti i:nth-child(13){--x:145px;--y:-45px;animation-delay:.44s}.confetti i:nth-child(14){--x:25px;--y:-95px;animation-delay:.32s}@keyframes screen-in{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:none}}@keyframes drift{0%,to{transform:translate(0)rotate(-7deg)}50%{transform:translate(8px,-20px)rotate(9deg)}}@keyframes cats-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes cat-step{0%,to{transform:rotate(-1deg)translateY(0)}50%{transform:rotate(1deg)translateY(-4px)}}@keyframes paw-step{0%,to{transform:rotate(8deg)}50%{transform:rotate(-11deg)}}@keyframes tail-wave{0%,to{rotate:-5deg}50%{rotate:8deg}}@keyframes ear-twitch{0%,86%,to{translate:0}91%{translate:0 2px}95%{translate:1px}}@keyframes blink{0%,44%,48%,to{transform:scaleY(1)}46%{transform:scaleY(.12)}}@keyframes shadow-pulse{0%,to{opacity:.8;transform:scaleX(1)}50%{opacity:.55;transform:scaleX(.9)}}@keyframes heart-rise{0%,to{opacity:.6;transform:translateY(2px)scale(.92)rotate(-8deg)}50%{opacity:1;transform:translateY(-8px)scale(1.08)rotate(7deg)}}@keyframes heartbeat{0%,to{transform:scale(1)}12%{transform:scale(1.18)}24%{transform:scale(1)}36%{transform:scale(1.12)}}@keyframes sticker-wiggle{0%,to{transform:rotate(-5deg)translateY(0)}50%{transform:rotate(3deg)translateY(-5px)}}@keyframes confetti-pop{0%{opacity:0;transform:translate(0)rotate(0)}15%{opacity:1}70%{opacity:.9}to{transform:translate(var(--x), var(--y)) rotate(250deg);opacity:0}}@keyframes illustration-float{0%,to{transform:translate(0)rotate(-.25deg)}50%{transform:translateY(-6px)rotate(.25deg)}}@keyframes scene-heart-rise{0%,to{opacity:.35;transform:translateY(5px)scale(.88)rotate(-7deg)}50%{opacity:.9;transform:translate(4px,-8px)scale(1.08)rotate(6deg)}}@keyframes time-heart-float{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-7px)rotate(3deg)}}@keyframes no-appear{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes kiss-pop{0%{opacity:0;transform:scale(.25)rotate(-18deg)}65%{opacity:1;transform:scale(1.2)rotate(8deg)}to{opacity:1;transform:scale(1)rotate(-3deg)}}@media (width<=560px){.page-shell{align-items:center;padding:14px 12px 45px}.card{border-radius:29px;min-height:min(650px,100svh - 58px);padding:23px 23px 21px}.cat-scene{border-radius:26px;width:min(100%,310px);margin-top:20px}.cats{transform-origin:bottom;margin-top:8px;transform:scale(.92)}.screen--done .cats{margin-top:-7px;transform:scale(.7)}.screen--done .cat-scene{width:235px;margin-top:0}.button-row{flex-direction:column}.button{width:100%}.button-row--answer{flex-direction:row}.button-row--answer .button--yes{width:auto}.button-row--answer .button--no{width:84px}.button-row--answer .button--kiss{width:52px}.subtitle{margin-bottom:20px}.floating-hearts i:nth-child(3),.floating-hearts i:nth-child(5){display:none}}@media (height<=720px){.card{min-height:615px}.cats{transform-origin:bottom;height:187px;margin-top:0;transform:scale(.88)}.mini-sticker{margin-top:25px}.cat-scene{width:min(100%,285px);margin-top:13px}.time-heart{width:82px;height:82px;margin-top:26px;margin-bottom:18px}.subtitle{margin:11px 0 17px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
