/*! 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{box-sizing:border-box;border:0 solid;margin:0;padding:0}::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;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;appearance:button}::file-selector-button{-webkit-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{.start{inset-inline-start:var(--spacing)}}:root{--ink:#54293a;--berry:#7d3b53;--coral:#d86170;--cream:#fffaf0;--gold:#c7923e}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--ink);font-family:var(--font-body), Georgia, serif;background:#f7ded7;margin:0}button,input{font:inherit}.birthday-scene{isolation:isolate;background:radial-gradient(circle at 48% 38%,#ffffffbf,#0000 31%),linear-gradient(145deg,#f7ddd5 0%,#f1c9c7 44%,#eabfc3 100%);place-items:center;min-height:100svh;padding:38px 20px 30px;display:grid;position:relative;overflow:hidden}.birthday-scene:before{content:"";z-index:-2;opacity:.32;mix-blend-mode:soft-light;background-image:radial-gradient(circle at 25% 30%,#ffffffb3 0 1px,#0000 1.5px),radial-gradient(circle at 70% 75%,#7d3b5340 0 1px,#0000 1.5px);background-size:21px 23px,27px 25px;position:absolute;inset:0}.ambient{z-index:-1;filter:blur(2px);opacity:.56;border-radius:50%;position:absolute}.ambient-one{aspect-ratio:1;border:1px solid #7d3b5330;width:min(34vw,440px);top:-15vw;left:-12vw;box-shadow:0 0 0 34px #ffffff14,0 0 0 70px #7d3b530a}.ambient-two{aspect-ratio:1;border:1px solid #7d3b532b;width:min(30vw,380px);bottom:-14vw;right:-10vw;box-shadow:0 0 0 32px #ffffff14,0 0 0 68px #7d3b530a}.card-stage{text-align:center;width:min(100%,620px)}.eyebrow{color:#54293ac2;font-family:var(--font-sans), Arial, sans-serif;letter-spacing:.25em;text-transform:uppercase;justify-content:center;align-items:center;gap:13px;margin:0 0 18px;font-size:10px;font-weight:700;display:flex}.eyebrow span{color:var(--gold);font-size:9px}.card-shell{perspective:1400px;width:min(100%,532px);margin:0 auto;position:relative}.paper-card{transform-origin:bottom;background:linear-gradient(105deg,#d3ab7614,#0000 22%,#ffffff73 48%,#0000 72%),#fffaf0;border:1px solid #9562402e;border-radius:4px;min-height:min(60vh,510px);transition:transform .75s cubic-bezier(.2,.75,.25,1),box-shadow .75s;position:relative;overflow:hidden;box-shadow:0 28px 70px #552a3933,0 4px 14px #552a391a}.paper-card:before{content:"";pointer-events:none;border:1px solid #c7923e57;position:absolute;inset:12px}.paper-card:after{content:"";opacity:.22;pointer-events:none;mix-blend-mode:multiply;background-image:repeating-linear-gradient(0deg,#0000 0 3px,#7e5b3c09 3px 4px),repeating-linear-gradient(90deg,#0000 0 5px,#fff3 5px 6px);position:absolute;inset:0}.is-open .paper-card{transform:rotateX(1deg)translateY(-4px);box-shadow:0 35px 85px #552a393b,0 5px 16px #552a391c}.card-shadow{z-index:-1;filter:blur(18px);background:#5e28392e;border-radius:50%;height:35px;position:absolute;bottom:-19px;left:8%;right:8%}.card-front,.card-message{z-index:2;flex-direction:column;justify-content:center;align-items:center;padding:54px 52px;transition:opacity .55s,transform .7s cubic-bezier(.2,.75,.25,1);display:flex;position:absolute;inset:0}.small-script{color:var(--coral);font-family:var(--font-script), cursive;margin:0 0 3px;font-size:clamp(23px,4vw,31px);line-height:1.2;transform:rotate(-2deg)}.card-front h1,.card-message h2{color:var(--berry);font-family:var(--font-display), Georgia, serif;letter-spacing:-.065em;margin:0;font-size:clamp(75px,15vw,120px);font-weight:500;line-height:.95}.gold-line{width:min(90%,310px);color:var(--gold);font-family:var(--font-display), Georgia, serif;align-items:center;gap:12px;margin:25px 0 15px;font-size:28px;display:flex}.gold-line:before,.gold-line:after{content:"";background:linear-gradient(90deg, transparent, var(--gold));flex:1;height:1px}.gold-line:after{background:linear-gradient(90deg, var(--gold), transparent)}.front-note{color:#54293ab8;font-family:var(--font-sans), Arial, sans-serif;letter-spacing:.19em;text-transform:uppercase;margin:0;font-size:11px;font-weight:700;line-height:1.6}.card-message{opacity:0;pointer-events:none;transform:translateY(20px)scale(.97)}.card-message .small-script{margin-bottom:0;font-size:clamp(20px,3.5vw,28px)}.card-message h2{font-size:clamp(54px,10vw,78px)}.message-rule{width:110px;color:var(--coral);align-items:center;gap:9px;margin:13px 0 18px;font-size:10px;display:flex}.message-rule:before,.message-rule:after{content:"";background:#c7923ea3;flex:1;height:1px}.message-copy,.wish-copy{color:#54293ae6;max-width:385px;font-family:var(--font-body), Georgia, serif;margin:0;font-size:clamp(15px,2.5vw,17px);line-height:1.62}.wish-copy{margin-top:12px}.signature{color:var(--coral);font-family:var(--font-script), cursive;margin:20px 0 0;font-size:28px;transform:rotate(-2deg)}.is-open .card-front{opacity:0;pointer-events:none;transform:translateY(-18px)scale(.97)}.is-open .card-message{opacity:1;pointer-events:auto;transition-delay:.15s;transform:translateY(0)scale(1)}.corner-flower{z-index:3;pointer-events:none;width:92px;height:92px;transition:transform .8s;position:absolute}.corner-flower-left{bottom:18px;left:19px;transform:rotate(-16deg)}.corner-flower-right{top:18px;right:19px;transform:rotate(164deg)}.is-open .corner-flower-left{transform:rotate(-11deg)scale(1.06)}.is-open .corner-flower-right{transform:rotate(169deg)scale(1.06)}.corner-flower i{transform-origin:12px 29px;background:linear-gradient(150deg,#ea8e91,#bd5266);border-radius:70% 15% 70% 25%;width:23px;height:38px;position:absolute;top:18px;left:35px;box-shadow:inset 5px 5px 9px #ffffff3b}.corner-flower i:nth-child(2){transform:rotate(90deg)}.corner-flower i:nth-child(3){transform:rotate(180deg)}.corner-flower i:nth-child(4){transform:rotate(270deg)}.corner-flower b{background:#d5a34c;border-radius:50%;width:19px;height:19px;position:absolute;top:42px;left:37px;box-shadow:0 0 0 5px #fffaf061,inset 2px 2px 3px #ffffff59}.open-button{background:var(--berry);color:#fff9ee;cursor:pointer;min-width:216px;font-family:var(--font-sans), Arial, sans-serif;letter-spacing:.1em;text-transform:uppercase;border:1px solid #54293a24;border-radius:999px;justify-content:center;align-items:center;gap:20px;margin-top:34px;padding:14px 18px 14px 23px;font-size:12px;font-weight:700;transition:transform .2s,background .2s,box-shadow .2s;display:inline-flex;position:relative;box-shadow:0 10px 26px #54293a33}.open-button i{background:#ffffff24;border-radius:50%;place-items:center;width:27px;height:27px;font-size:16px;font-style:normal;display:grid}.open-button:hover{background:#6f3148;transform:translateY(-2px);box-shadow:0 14px 30px #54293a3d}.open-button:active{transform:translateY(0)}.open-button:focus-visible{outline-offset:3px;outline:3px solid #ffffffe6}.tiny-note{color:#54293aab;font-family:var(--font-script), cursive;margin:13px 0 0;font-size:18px}.confetti{z-index:4;pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti i{left:var(--left);top:var(--top);opacity:0;background:var(--color);width:8px;height:14px;transform:translateY(-90px) rotate(var(--rotate));border-radius:2px;position:absolute}.is-open .confetti i{animation:fall 2.5s var(--delay) cubic-bezier(.16,.7,.3,1) both}@keyframes fall{0%{opacity:0;transform:translateY(-80px) rotate(var(--rotate))}12%{opacity:1}to{opacity:0;transform:translate(18px,82vh)rotate(540deg)}}@media (max-width:620px){.birthday-scene{padding:25px 15px 22px}.eyebrow{letter-spacing:.18em;margin-bottom:14px;font-size:9px}.paper-card{min-height:min(61vh,480px)}.card-front,.card-message{padding:48px 34px}.card-message{padding-inline:39px}.corner-flower{transform-origin:0 100%;transform:scale(.76)rotate(-16deg)}.corner-flower-right{transform-origin:100% 0;transform:scale(.76)rotate(164deg)}.is-open .corner-flower-left{transform:scale(.8)rotate(-11deg)}.is-open .corner-flower-right{transform:scale(.8)rotate(169deg)}.open-button{margin-top:27px}}@media (max-height:680px){.birthday-scene{padding-block:18px}.paper-card{min-height:420px}.eyebrow{margin-bottom:10px}.open-button{margin-top:20px}.tiny-note{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
