/*! tailwindcss v4.3.0 | 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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}@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;--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%;-moz-tab-size:4;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;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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance: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{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.flex{display:flex}.grid{display:grid}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}}:root{--pink-50:#fff5f8;--pink-100:#ffe6ef;--pink-200:#ffd1e0;--pink-300:#f7b6cf;--pink-400:#e89bb8;--pink-500:#d97aa0;--lilac-100:#f1e6ff;--lilac-200:#ddc7f4;--lilac-300:#c1a3e6;--mauve-300:#c9a3b8;--mauve-500:#8c5e74;--mauve-800:#4a2a3a;--rose-gold:#c9a07a;--rose-gold-lt:#e7c3a8;--bg-main:linear-gradient(135deg, #fff5f8 0%, #f6e8f8 45%, #fbe9f0 100%);--bg-sad:linear-gradient(135deg, #e8efff 0%, #efe6fb 100%);--gold-grad:linear-gradient(135deg, #f8d9c2, #e7c3a8, #d3a17f);--soft-shadow:0 20px 60px -20px #b46e8c59;--display:"Playfair Display", Georgia, serif;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Nunito", system-ui, sans-serif;--hand:"Caveat", cursive}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--serif);background:var(--bg-main);cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='M10 17s-7-4.35-7-8.5A4.5 4.5 0 0 1 10 5.06 4.5 4.5 0 0 1 17 8.5C17 12.65 10 17 10 17z' fill='%23f7b6cf' stroke='%23d97aa0' stroke-width='1'/%3E%3C/svg%3E") 10 10,auto;min-height:100dvh;overflow-x:hidden}a,button,[role=button],input,label{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath d='M14 24s-10-6.09-10-11.9A6.3 6.3 0 0 1 14 7.08 6.3 6.3 0 0 1 24 12.1C24 17.91 14 24 14 24z' fill='%23e89bb8' stroke='%23d97aa0' stroke-width='1.2'/%3E%3C/svg%3E") 14 14,pointer}@keyframes heartBeat{0%,to{transform:scale(1)}14%{transform:scale(1.18)}28%{transform:scale(1)}42%{transform:scale(1.12)}70%{transform:scale(1)}}@keyframes glowPulse{0%,to{filter:drop-shadow(0 0 6px #e99bb880)}50%{filter:drop-shadow(0 0 18px #e99bb8f2)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}15%{transform:translate(-8px)}30%{transform:translate(8px)}45%{transform:translate(-6px)}60%{transform:translate(6px)}75%{transform:translate(-3px)}90%{transform:translate(3px)}}@keyframes floatPetal{0%{opacity:0;transform:translateY(-60px)translate(0)rotate(0)}5%{opacity:.85}90%{opacity:.7}to{opacity:0;transform:translateY(110vh)translate(60px)rotate(720deg)}}@keyframes confettiFall{0%{opacity:1;transform:translateY(-20px)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}@keyframes cardShimmer{0%{transform:translate(-120%)skew(-15deg)}to{transform:translate(220%)skew(-15deg)}}@keyframes flipIn{0%{opacity:0;transform:perspective(600px)rotateY(90deg)}to{opacity:1;transform:perspective(600px)rotateY(0)}}@keyframes petalDrift{0%{transform:translate(0)rotate(0)}50%{transform:translate(30px)rotate(180deg)}to{transform:translate(-10px)rotate(360deg)}}.screen-enter{animation:.7s cubic-bezier(.22,1,.36,1) both fadeUp}.bg-main{background:var(--bg-main)}.bg-sad{background:var(--bg-sad)}.glass-card{-webkit-backdrop-filter:blur(14px);box-shadow:var(--soft-shadow);background:#fff5f8b8;border:1px solid #f7b6cf59;border-radius:28px}.title-serif{font-family:var(--display);background:linear-gradient(90deg,var(--mauve-800) 0%,var(--mauve-500) 30%,#f7b6cf 50%,var(--mauve-500) 70%,var(--mauve-800) 100%);-webkit-text-fill-color:transparent;background-size:400px 100%;-webkit-background-clip:text;background-clip:text;animation:3.5s linear infinite shimmer}.css-heart{width:80px;height:72px;animation:1.6s ease-in-out infinite heartBeat,2s ease-in-out infinite glowPulse;position:relative}.css-heart:before,.css-heart:after{content:"";background:linear-gradient(135deg,#f7b6cf,#d97aa0);border-radius:40px 40px 0 0;width:40px;height:64px;position:absolute}.css-heart:before{transform-origin:0 100%;top:0;left:20px;transform:rotate(-45deg)}.css-heart:after{transform-origin:100% 100%;top:0;left:20px;transform:rotate(45deg)}.btn{font-family:var(--sans);white-space:nowrap;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding:.65rem 1.9rem;font-size:1rem;font-weight:600;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.btn:hover{transform:translateY(-2px)scale(1.03)}.btn:active{transform:scale(.97)}.btn-pink{background:linear-gradient(135deg,var(--pink-400),var(--pink-500));color:#fff;box-shadow:0 6px 20px -6px #d97aa08c}.btn-pink:hover{box-shadow:0 10px 28px -6px #d97aa0b3}.btn-ghost{color:var(--pink-500);border:2px solid var(--pink-300);background:0 0}.btn-ghost:hover{border-color:var(--pink-400);background:#f7b6cf26}.btn-gold{background:var(--gold-grad);color:var(--mauve-800);box-shadow:0 6px 20px -6px #c9a07a8c}.btn-gold:hover{box-shadow:0 10px 28px -6px #c9a07ab3}.pass-input{border:2px solid var(--pink-200);width:100%;font-family:var(--serif);color:var(--mauve-800);text-align:center;background:#fffc;border-radius:999px;outline:none;padding:.7rem 1.4rem;font-size:1.05rem;transition:border-color .2s,box-shadow .2s}.pass-input::placeholder{color:var(--mauve-300);font-style:italic}.pass-input:focus{border-color:var(--pink-400);box-shadow:0 0 0 4px #e89bb82e}.shake{animation:.5s both shake}.petals-layer{pointer-events:none;z-index:0;position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.petal{opacity:0;border-radius:50% 0;animation:linear infinite floatPetal;position:absolute;top:-60px}.envelope-card{-webkit-backdrop-filter:blur(12px);cursor:pointer;background:#fff5f8bf;border:1px solid #f7b6cf66;border-radius:24px;padding:2rem 1.5rem;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s;position:relative;overflow:hidden;box-shadow:0 8px 32px -10px #b46e8c40}.envelope-card:hover{transform:translateY(-6px)rotate(.8deg);box-shadow:0 24px 48px -12px #b46e8c73}.envelope-card:after{content:"";background:linear-gradient(105deg,#0000 30%,#ffffff73,#0000 70%);transition:none;position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-120%)skew(-15deg)}.envelope-card:hover:after{animation:.55s forwards cardShimmer}.return-fab{z-index:50;font-family:var(--sans);color:var(--pink-500);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1.5px solid var(--pink-200);background:#fff5f8d9;border-radius:999px;padding:.45rem 1.1rem;font-size:.85rem;font-weight:600;transition:transform .18s,box-shadow .18s;position:fixed;top:1.2rem;left:1.2rem;box-shadow:0 4px 14px -4px #b46e8c40}.return-fab:hover{transform:translateY(-2px);box-shadow:0 8px 20px -4px #b46e8c59}.letter-body{font-family:var(--serif);color:var(--mauve-800);font-size:1.125rem;line-height:1.85}.letter-signoff{font-family:var(--hand);color:var(--pink-500);text-align:right;margin-top:1.5rem;font-size:1.4rem}.recipe-wrapper{background:linear-gradient(135deg,#fff9f4,#fdf0e8);border-radius:28px;position:relative;overflow:hidden}.recipe-wrapper:before{content:"";pointer-events:none;background:repeating-linear-gradient(#0000,#0000 30px,#c9a07a2e 30px,#c9a07a2e 31px);position:absolute;top:0;right:0;bottom:0;left:0}.recipe-card-inner{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffa6;border:2px dashed #c9a07a80;border-radius:18px;padding:1.5rem}.polaroid{background:#fff;border-radius:4px;padding:10px 10px 36px;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s;position:relative;box-shadow:0 8px 24px -8px #b46e8c4d}.polaroid:nth-child(odd){transform:rotate(-3deg)}.polaroid:nth-child(2n){transform:rotate(3deg)}.polaroid:hover{z-index:10;box-shadow:0 20px 40px -10px #b46e8c73;transform:rotate(0)scale(1.06)!important}.polaroid-photo{aspect-ratio:1;background:linear-gradient(135deg,var(--pink-100),var(--lilac-100));border-radius:2px;justify-content:center;align-items:center;width:100%;font-size:2.8rem;display:flex;overflow:hidden}.polaroid-photo img{object-fit:cover;width:100%;height:100%}.polaroid-caption{font-family:var(--hand);color:var(--mauve-500);text-align:center;margin-top:.5rem;font-size:1.05rem;position:absolute;bottom:8px;left:0;right:0}.filmstrip{scrollbar-width:thin;scrollbar-color:var(--pink-300) transparent;background:#1a1018;border-radius:10px;align-items:center;gap:8px;padding:10px 0;display:flex;overflow-x:auto}.filmstrip::-webkit-scrollbar{height:4px}.filmstrip::-webkit-scrollbar-thumb{background:var(--pink-300);border-radius:99px}.film-frame{background:linear-gradient(135deg,#2a1a28,#1a1018);border:3px solid #fff;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:320px;height:180px;font-size:3rem;display:flex;position:relative;overflow:hidden}.film-frame img{object-fit:cover;width:100%;height:100%}.film-sprocket{flex-direction:column;flex-shrink:0;gap:8px;width:18px;padding:2px 0;display:flex}.sprocket-hole{background:#333;border:1px solid #555;border-radius:2px;width:14px;height:10px}.flip-card{perspective:900px;height:170px}.flip-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.25,.46,.45,.94);position:relative}.flip-card:hover .flip-card-inner{transform:rotateY(180deg)}.flip-front,.flip-back{backface-visibility:hidden;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding:1rem;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.flip-front{box-shadow:0 6px 24px -8px #b46e8c4d}.flip-front-pink{background:linear-gradient(135deg,var(--pink-100),var(--pink-200))}.flip-front-lilac{background:linear-gradient(135deg,var(--lilac-100),var(--lilac-200))}.flip-front-peach{background:linear-gradient(135deg,#fff4ee,#ffe8d6)}.flip-back{background:linear-gradient(135deg,var(--mauve-800),var(--mauve-500));transform:rotateY(180deg);box-shadow:0 6px 24px -8px #4a2a3a66}.flip-back-word{font-family:var(--hand);color:#fff;text-align:center;font-size:1.35rem}.reason-card-enter{animation:.4s cubic-bezier(.22,1,.36,1) both fadeUp}.confetti-piece{pointer-events:none;z-index:999;border-radius:2px;animation:ease-in both confettiFall;position:fixed;top:-20px}.broken-heart-wrap{filter:drop-shadow(0 0 12px #9882dc8c);animation:2s ease-in-out infinite heartBeat}.mini-browser{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;background:#fff5f8e0;border:1px solid #f7b6cf80;border-radius:12px;width:190px;position:fixed;bottom:1.5rem;left:1.5rem;overflow:hidden;box-shadow:0 8px 24px -8px #b46e8c4d}.mini-browser-bar{background:#f7b6cf4d;align-items:center;gap:.35rem;padding:.35rem .6rem;display:flex}.mini-browser-dot{border-radius:50%;width:8px;height:8px}.mini-browser-body{font-family:var(--hand);color:var(--mauve-500);text-align:center;padding:.6rem .7rem;font-size:.85rem}.hub-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;display:grid}.polaroid-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;display:grid}.reasons-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.eyebrow{font-family:var(--hand);color:var(--mauve-300);letter-spacing:.08em;font-size:1.1rem}.font-display{font-family:var(--display)}.font-serif{font-family:var(--serif)}.font-sans{font-family:var(--sans)}.font-hand{font-family:var(--hand)}.text-mauve-800{color:var(--mauve-800)}.text-mauve-500{color:var(--mauve-500)}.text-mauve-300{color:var(--mauve-300)}.text-pink-500{color:var(--pink-500)}.text-pink-400{color:var(--pink-400)}.text-rose-gold{color:var(--rose-gold)}.full-center{justify-content:center;align-items:center;min-height:100dvh;display:flex}@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}
