@font-face{font-family:Caveat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e44cdba7d0878bc5-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Caveat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/07fccecd6728972a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/486fce9f36bc8f45-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Caveat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/46bdd75a3ff56824-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e44cdba7d0878bc5-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/07fccecd6728972a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/486fce9f36bc8f45-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Caveat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/46bdd75a3ff56824-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Caveat Fallback;src:local("Arial");ascent-override:124.77%;descent-override:38.99%;line-gap-override:0.00%;size-adjust:76.94%}.__className_5d185b{font-family:Caveat,Caveat Fallback;font-style:normal}.__variable_5d185b{--font-caveat:"Caveat","Caveat Fallback"}@font-face{font-family:Parisienne;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/9d00dc56ce28f385-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Parisienne;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4ae51a0f72b23085-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Parisienne Fallback;src:local("Arial");ascent-override:108.70%;descent-override:53.04%;line-gap-override:0.00%;size-adjust:84.23%}.__className_485d34{font-family:Parisienne,Parisienne Fallback;font-weight:400;font-style:normal}.__variable_485d34{--font-romance-display:"Parisienne","Parisienne Fallback"}@font-face{font-family:Marcellus;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6a2830ad50e93808-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Marcellus;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/5924d7180a413da6-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Marcellus Fallback;src:local("Times New Roman");ascent-override:86.59%;descent-override:24.87%;line-gap-override:0.00%;size-adjust:112.50%}.__className_0ccb75{font-family:Marcellus,Marcellus Fallback;font-weight:400;font-style:normal}.__variable_0ccb75{--font-romance-body:"Marcellus","Marcellus Fallback"}

/*! tailwindcss v4.2.4 | 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)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--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{:host,:root{--font-sans:var(--font-ui);--font-serif:var(--font-body);--font-mono:var(--font-code);--color-zinc-50:oklch(98.5% 0 0);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-600:oklch(44.2% .017 285.786);--color-zinc-950:oklch(14.1% .005 285.823);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-3xl:48rem;--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-ui);--default-mono-font-family:var(--font-code);--color-background:var(--birthday-cream);--color-foreground:var(--birthday-ink);--font-cursive:var(--font-display)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-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}.start{inset-inline-start:var(--spacing)}.block{display:block}.flex{display:flex}.inline{display:inline}.h-12{height:calc(var(--spacing) * 12)}.h-full{height:100%}.min-h-full{min-height:100%}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-md{max-width:var(--container-md)}.max-w-xs{max-width:var(--container-xs)}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.rounded-full{border-radius:3.40282e+38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-solid{--tw-border-style:solid;border-style:solid}.border-black\/\[\.08\]{border-color:#00000014}@supports (color:color-mix(in lab,red,red)){.border-black\/\[\.08\]{border-color:color-mix(in oklab,var(--color-black) 8%,transparent)}}.bg-foreground{background-color:var(--birthday-ink)}.bg-white{background-color:var(--color-white)}.bg-zinc-50{background-color:var(--color-zinc-50)}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-16{padding-inline:calc(var(--spacing) * 16)}.py-32{padding-block:calc(var(--spacing) * 32)}.text-center{text-align:center}.font-sans{font-family:var(--font-ui)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.leading-10{--tw-leading:calc(var(--spacing) * 10);line-height:calc(var(--spacing) * 10)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-wrap{text-wrap:wrap}.text-background{color:var(--birthday-cream)}.text-black{color:var(--color-black)}.text-zinc-600{color:var(--color-zinc-600)}.text-zinc-950{color:var(--color-zinc-950)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{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))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:border-transparent:hover{border-color:#0000}.hover\:bg-\[\#383838\]:hover{background-color:#383838}.hover\:bg-black\/\[\.04\]:hover{background-color:#0000000a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/\[\.04\]:hover{background-color:color-mix(in oklab,var(--color-black) 4%,transparent)}}}@media (min-width:40rem){.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:text-left{text-align:left}}@media (min-width:48rem){.md\:w-\[158px\]{width:158px}}@media (prefers-color-scheme:dark){.dark\:border-white\/\[\.145\]{border-color:#ffffff25}@supports (color:color-mix(in lab,red,red)){.dark\:border-white\/\[\.145\]{border-color:color-mix(in oklab,var(--color-white) 14.5%,transparent)}}.dark\:bg-black{background-color:var(--color-black)}.dark\:text-zinc-50{color:var(--color-zinc-50)}.dark\:text-zinc-400{color:var(--color-zinc-400)}.dark\:invert{--tw-invert:invert(100%);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,)}@media (hover:hover){.dark\:hover\:bg-\[\#1a1a1a\]:hover{background-color:#1a1a1a}.dark\:hover\:bg-\[\#ccc\]:hover{background-color:#ccc}}}}:root{color-scheme:light;--birthday-cream:oklch(97.6% .022 45);--birthday-blush:oklch(95.8% .033 20);--birthday-panel:oklch(99% .013 52);--birthday-panel-soft:oklch(97.7% .018 39);--birthday-ink:oklch(25% .022 37);--birthday-muted:oklch(42% .026 35);--birthday-placeholder:oklch(58% .034 32);--birthday-rose:oklch(68% .17 8);--birthday-rose-deep:oklch(54% .19 9);--birthday-coral:oklch(75% .16 25);--birthday-gold:oklch(73% .125 75);--birthday-gold-soft:oklch(92% .058 77);--birthday-violet:oklch(58% .125 294);--birthday-violet-soft:oklch(94% .036 296);--birthday-ring:oklch(87% .078 15);--birthday-line:oklch(91% .047 34);--birthday-success:oklch(49% .102 150);--birthday-error:oklch(54% .172 22);--screen-edge:clamp(.7rem,3.2vw,1rem);--screen-block-start:clamp(.65rem,2.5svh,1rem);--touch-target:2.75rem;--font-handwriting:var(--font-caveat),"Segoe Print","Bradley Hand ITC",cursive;--font-display:var(--font-romance-display),"Brush Script MT","Apple Chancery","Segoe Script",cursive;--font-body:var(--font-romance-body),Georgia,"Times New Roman",serif;--font-ui:var(--font-romance-body),Georgia,"Times New Roman",serif;--font-code:"SFMono-Regular",Consolas,"Liberation Mono",monospace}*{box-sizing:border-box}body,html{background:var(--birthday-cream);min-height:100%}body{color:var(--birthday-ink);font-family:var(--font-body);font-kerning:normal;text-rendering:optimizelegibility;margin:0}button,input{font:inherit;font-family:var(--font-body)}button{cursor:pointer;touch-action:manipulation}button:disabled,input:disabled{opacity:1}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.birthday-gate{isolation:isolate;width:100%;min-height:100svh;padding:max(var(--screen-block-start),env(safe-area-inset-top)) var(--screen-edge) max(1.25rem,env(safe-area-inset-bottom));background:linear-gradient(180deg,var(--birthday-blush),var(--birthday-cream) 54%),var(--birthday-cream);justify-content:center;display:flex;position:relative;overflow-x:hidden}.birthday-gate__background{z-index:-3;object-fit:cover;object-position:top center}.birthday-gate__veil{z-index:-2;pointer-events:none;background:linear-gradient(oklch(99% .012 50/.12),oklch(98% .02 27/.38) 64%,oklch(95% .06 15/.32));position:fixed;inset:0}.birthday-shell{z-index:1;flex-direction:column;align-items:center;gap:clamp(.78rem,2.5svh,1rem);width:min(100%,42rem);padding-top:clamp(.2rem,1.3svh,.5rem);display:flex;position:relative}.birthday-header{justify-items:center;gap:.15rem;width:100%;padding-top:.35rem;display:grid}.birthday-header__crown{color:var(--birthday-gold);filter:drop-shadow(0 .08rem .05rem oklch(64% .11 66/.35));align-items:center;gap:.7rem;display:inline-flex}.birthday-footer span,.birthday-header__crown span{border-top:.11rem solid;border-radius:50%;width:2.2rem;height:.7rem}.birthday-header__crown b{font-family:var(--font-body);font-size:1.65rem;line-height:1}.birthday-header h1{color:var(--birthday-rose);font-family:var(--font-display);letter-spacing:0;text-align:center;text-shadow:0 .08rem oklch(99.4% .008 52/.92),0 .22rem .45rem oklch(63% .16 12/.32);text-wrap:balance;margin:0;font-size:3.85rem;font-weight:400;line-height:.88}.gate-panel{background:linear-gradient(180deg,var(--birthday-panel),var(--birthday-panel-soft)),var(--birthday-panel);border:.09rem solid oklch(98% .017 50);border-radius:2.15rem;flex-direction:column;align-items:center;width:min(100%,39rem);padding:1.2rem 1rem 1.5rem;display:flex;position:relative;overflow:hidden;box-shadow:0 1.35rem 3rem oklch(71% .124 19/.22),inset 0 0 1.1rem oklch(99.4% .008 55/.7)}.gate-panel__inner-line{border:.08rem solid var(--birthday-line);pointer-events:none;border-radius:1.75rem;position:absolute;inset:.5rem}.gate-panel:before{content:"";pointer-events:none;border:.08rem solid oklch(99.4% .008 53/.72);border-radius:1.38rem;position:absolute;inset:.95rem}.gate-hero{aspect-ratio:1.46;filter:drop-shadow(0 1rem 1.1rem oklch(68% .09 47/.14));width:min(100%,32rem);margin-top:.2rem;position:relative;overflow:hidden}.gate-hero__image{width:100%;height:auto;display:block}.gate-copy{z-index:1;text-align:center;justify-items:center;gap:.18rem;width:100%;margin-top:-.2rem;display:grid;position:relative}.mini-crown{color:var(--birthday-gold);filter:drop-shadow(0 .08rem .04rem oklch(67% .11 68/.25));font-size:1.45rem;line-height:1}.gate-copy h2{max-width:14ch;color:var(--birthday-ink);font-family:var(--font-body);letter-spacing:0;text-wrap:balance;margin:0;font-size:2rem;font-weight:400;line-height:1.12}.gate-copy h2 span{color:var(--birthday-rose)}.gate-copy p{max-width:28ch;color:var(--birthday-muted);font-family:var(--font-body);text-wrap:balance;margin:0;font-size:1.05rem;line-height:1.45}.gate-copy__line{align-items:center;gap:.45rem;display:inline-flex}.inline-heart{color:oklch(76% .14 9);width:1rem}.gate-form{z-index:1;gap:.9rem;width:min(100%,29rem);margin-top:1.6rem;display:grid;position:relative}.password-field{min-height:max(3.85rem,var(--touch-target));border:.08rem solid var(--birthday-ring);background:oklch(99.3% .009 53);border-radius:999rem;grid-template-columns:2.7rem minmax(0,1fr) 2.7rem;align-items:center;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;box-shadow:0 .55rem 1.35rem oklch(71% .13 10/.12),inset 0 0 .8rem oklch(99.4% .008 55/.74)}.password-field:focus-within{border-color:var(--birthday-rose);box-shadow:0 0 0 .22rem oklch(82% .095 10/.28),0 .55rem 1.35rem oklch(71% .13 10/.15)}.password-field__icon,.password-field__toggle svg{width:1.25rem;height:1.25rem;color:var(--birthday-rose)}.password-field__icon{grid-column:1;justify-self:end}.password-field input{z-index:1;width:100%;min-width:0;color:var(--birthday-ink);font-family:var(--font-body);background:0 0;border:0;outline:0;grid-column:2;padding:0 .85rem;font-size:1rem;line-height:1.4;position:relative}.password-field input::placeholder{color:var(--birthday-placeholder)}.password-field__toggle{z-index:2;width:var(--touch-target);height:var(--touch-target);color:var(--birthday-rose);pointer-events:auto;background:0 0;border:0;border-radius:999rem;grid-column:3;justify-self:start;place-items:center;transition:color .18s,transform .18s;display:inline-grid;position:relative}.password-field__toggle:disabled{cursor:default}.password-field__toggle:focus-visible,.password-field__toggle:hover:not(:disabled){color:var(--birthday-rose-deep);transform:translateY(-.05rem)}.gate-submit:focus-visible,.password-field__toggle:focus-visible{outline-offset:.2rem;outline:.18rem solid oklch(84% .108 11)}.gate-submit{min-height:max(3.85rem,var(--touch-target));isolation:isolate;color:oklch(99% .013 52);background:linear-gradient(135deg,var(--birthday-rose-deep),var(--birthday-coral) 58%,oklch(79% .13 32)),var(--birthday-rose);font-family:var(--font-body);text-align:center;overflow-wrap:anywhere;text-wrap:balance;border:.08rem solid oklch(93% .067 20);border-radius:999rem;flex-wrap:wrap;justify-content:center;align-items:center;gap:.78rem;padding:.85rem 2.9rem;font-size:1.1rem;font-weight:400;line-height:1.12;transition:box-shadow .18s,transform .18s,filter .18s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 .7rem 1.45rem oklch(62% .17 9/.32),inset 0 .15rem .18rem oklch(99.4% .009 55/.44)}.gate-submit:before{content:"";z-index:1;opacity:0;pointer-events:none;background:linear-gradient(90deg,#0000,oklch(99.4% .012 52/.4),#0000);width:35%;position:absolute;inset:-45% auto -45% -35%;transform:translate(-140%)rotate(18deg)}.gate-submit:hover:not(:disabled){transform:translateY(-.08rem);box-shadow:0 .9rem 1.7rem oklch(62% .17 9/.36),inset 0 .15rem .18rem oklch(99.4% .009 55/.5)}.gate-submit:active:not(:disabled){transform:translateY(.02rem)}.gate-submit:disabled{cursor:default}.gate-submit--success{filter:saturate(1.08)}.gate-submit__lock{z-index:2;border:.12rem solid;border-radius:50%;place-items:center;width:1.85rem;height:1.85rem;display:inline-grid;position:relative}.gate-submit__lock svg{width:.98rem}.gate-submit__sparkle{z-index:2;opacity:.92;pointer-events:none;font-size:1.05rem;position:absolute;top:1rem;right:2.15rem}.gate-feedback{min-height:1.45rem;color:var(--birthday-muted);font-family:var(--font-body);text-align:center;overflow-wrap:anywhere;margin:-.25rem 0 0;font-size:.95rem;line-height:1.35}.gate-feedback--success{color:var(--birthday-success)}.gate-feedback--error{color:var(--birthday-error)}.hint-block{z-index:1;gap:1rem;width:min(100%,29rem);margin-top:.55rem;display:grid;position:relative}.hint-block__title{grid-template-columns:1fr auto 1fr;align-items:center;gap:.8rem;display:grid}.hint-block__title>span{border-top:.08rem dashed oklch(85% .082 12);height:.08rem}.hint-block__title p{color:var(--birthday-rose);font-family:var(--font-body);text-align:center;text-wrap:balance;align-items:center;gap:.52rem;margin:0;font-size:.96rem;font-weight:400;line-height:1.2;display:inline-flex}.hint-block__title svg{flex:none;width:.86rem}.hint-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.hint-item{border:.08rem solid var(--hint-border);background:var(--hint-bg);border-radius:1rem;grid-template-columns:2.5rem minmax(0,1fr);align-items:center;gap:.85rem;min-height:3.75rem;padding:.78rem 1rem;display:grid;box-shadow:0 .4rem 1rem oklch(66% .09 20/.09),inset 0 .08rem .18rem oklch(99.4% .008 55/.72)}.hint-item svg{width:2rem;height:2rem;color:var(--hint-icon);filter:drop-shadow(0 .08rem .08rem oklch(58% .08 40/.22))}.hint-item p{min-width:0;color:var(--birthday-ink);font-family:var(--font-body);overflow-wrap:anywhere;margin:0;font-size:1rem;line-height:1.35}.hint-item strong{color:var(--hint-strong);font-size:1.08rem;font-weight:400}.hint-item--gold{--hint-bg:oklch(98.3% .012 75);--hint-border:oklch(88% .058 78);--hint-icon:var(--birthday-gold);--hint-strong:oklch(62% .098 74)}.hint-item--rose{--hint-bg:oklch(98% .018 18);--hint-border:oklch(88% .063 15);--hint-icon:var(--birthday-rose);--hint-strong:var(--birthday-rose)}.hint-item--violet{--hint-bg:var(--birthday-violet-soft);--hint-border:oklch(86% .051 294);--hint-icon:var(--birthday-violet);--hint-strong:var(--birthday-violet)}.birthday-footer{color:oklch(48% .029 60);text-align:center;justify-content:center;align-items:center;gap:.75rem;padding:.1rem 0 .4rem;display:inline-flex}.birthday-footer p{font-family:var(--font-display);text-wrap:balance;margin:0;font-size:1.72rem;line-height:1}.birthday-footer svg{width:1rem;color:var(--birthday-rose)}.wish-screen{background:linear-gradient(90deg,var(--birthday-blush),var(--birthday-cream) 50%,var(--birthday-blush)),var(--birthday-cream);justify-content:center;width:100%;display:flex;overflow:hidden auto}.wish-card,.wish-screen{isolation:isolate;min-height:100svh;position:relative}.wish-card{background:var(--birthday-cream);width:min(100vw,max(20rem,56.3svh));overflow:hidden;box-shadow:0 0 3rem oklch(70% .11 18/.2),0 0 0 .06rem oklch(96% .025 42/.72)}.wish-screen__background{z-index:-2;object-fit:cover;object-position:top center}.wish-screen__content{z-index:1;width:100%;min-height:100svh;padding:0 var(--screen-edge);flex-direction:column;align-items:center;display:flex;position:relative}.cake-placeholder{filter:drop-shadow(0 1.1rem 1.3rem oklch(59% .1 34/.18));width:min(88%,31rem);height:clamp(15.5rem,35svh,28rem);margin-bottom:clamp(.85rem,2.6svh,2rem);position:relative}.cake-placeholder__candles{z-index:5;width:min(70%,22rem);height:33%;position:absolute;top:0;left:50%;transform:translate(-50%)}.cake-placeholder__candles i{background:repeating-linear-gradient(-34deg,oklch(98% .013 51) 0 .34rem,oklch(78% .13 19) .34rem .58rem);border:.07rem solid oklch(87% .058 19);border-radius:999rem;width:.78rem;height:62%;position:absolute;bottom:0;box-shadow:inset 0 .12rem .18rem oklch(99.4% .008 52/.68)}.cake-placeholder__candles i:before{content:"";background:linear-gradient(180deg,oklch(99% .085 92),oklch(78% .16 67)),var(--birthday-gold);border-radius:50% 50% 45% 45%;width:.5rem;height:.9rem;position:absolute;top:-.82rem;left:50%;transform:translate(-50%);box-shadow:0 0 .75rem oklch(89% .142 79/.7)}.cake-placeholder__candles i:first-child{height:50%;left:3%}.cake-placeholder__candles i:nth-child(2){height:72%;left:19%}.cake-placeholder__candles i:nth-child(3){height:54%;left:36%}.cake-placeholder__candles i:nth-child(4){height:80%;left:50%}.cake-placeholder__candles i:nth-child(5){height:57%;left:64%}.cake-placeholder__candles i:nth-child(6){height:71%;left:79%}.cake-placeholder__candles i:nth-child(7){height:52%;left:94%}.cake-placeholder__bottom,.cake-placeholder__top{background:linear-gradient(180deg,oklch(98% .024 46),oklch(93% .047 33)),var(--birthday-panel);border:.1rem solid oklch(88% .08 67);position:absolute;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:inset 0 .35rem .4rem oklch(99.4% .008 52/.82),inset 0 -.4rem .65rem oklch(73% .1 20/.12)}.cake-placeholder__top{z-index:3;border-radius:48% 48% 1.3rem 1.3rem/34% 34% 1rem 1rem;width:74%;height:31%;top:25%}.cake-placeholder__bottom{z-index:2;background:linear-gradient(180deg,oklch(94% .047 16),oklch(86% .087 18)),var(--birthday-rose);border-radius:50% 50% 1.65rem 1.65rem/27% 27% 1.25rem 1.25rem;width:96%;height:34%;top:48%}.cake-placeholder__bottom:before,.cake-placeholder__top:before{content:"";background:linear-gradient(180deg,oklch(99% .012 50),oklch(96% .028 48)),var(--birthday-panel);border-bottom:.08rem solid oklch(85% .072 73);border-radius:0 0 50% 50%/0 0 78% 78%;height:42%;position:absolute;inset:0 0 auto}.cake-placeholder__top span{aspect-ratio:1;background:linear-gradient(145deg,oklch(98% .026 46),oklch(80% .117 17)),var(--birthday-rose);border-radius:50%;width:15%;position:absolute;bottom:20%;box-shadow:inset .12rem .14rem .16rem oklch(99.4% .008 53/.78)}.cake-placeholder__top span:first-child{left:11%}.cake-placeholder__top span:nth-child(2){left:28%}.cake-placeholder__top span:nth-child(3){left:45%}.cake-placeholder__top span:nth-child(4){left:62%}.cake-placeholder__top span:nth-child(5){left:79%}.cake-placeholder__bottom b{background:linear-gradient(135deg,oklch(89% .11 79),oklch(62% .13 72)),var(--birthday-gold);border-radius:50%;width:.9rem;height:.9rem;position:absolute;top:48%;box-shadow:0 .16rem .24rem oklch(55% .11 59/.22)}.cake-placeholder__bottom b:first-child{left:14%}.cake-placeholder__bottom b:nth-child(2){left:31%}.cake-placeholder__bottom b:nth-child(3){left:49%}.cake-placeholder__bottom b:nth-child(4){left:67%}.cake-placeholder__bottom b:nth-child(5){left:84%}.cake-placeholder__bow{z-index:4;justify-content:center;align-items:center;width:13rem;max-width:42%;height:5rem;display:flex;position:absolute;top:66%;left:50%;transform:translate(-50%)}.cake-placeholder__bow span{background:linear-gradient(135deg,oklch(97% .031 19),oklch(72% .14 17)),var(--birthday-rose);border:.08rem solid oklch(88% .071 68);width:46%;height:68%;box-shadow:inset 0 .18rem .28rem oklch(99.4% .008 52/.68)}.cake-placeholder__bow span:first-child{border-radius:80% 18%;transform:rotate(8deg)}.cake-placeholder__bow span:last-child{border-radius:18% 80%;transform:rotate(-8deg)}.cake-placeholder__bow svg{z-index:2;color:oklch(78% .16 13);filter:drop-shadow(0 .14rem .12rem oklch(55% .12 20/.24));width:3.1rem;height:3.1rem;margin:0 -.45rem;position:relative}.cake-placeholder__plate{z-index:1;background:linear-gradient(180deg,oklch(99% .012 48),oklch(88% .044 52)),var(--birthday-panel);border:.12rem solid oklch(82% .092 70);border-radius:50%;width:104%;height:13%;position:absolute;bottom:4%;left:50%;transform:translate(-50%);box-shadow:0 .35rem .65rem oklch(63% .1 37/.2)}.wish-button{z-index:10;width:min(82%,29rem);min-height:max(4rem,var(--touch-target));isolation:isolate;color:oklch(99% .012 52);background:linear-gradient(135deg,oklch(70% .16 8),oklch(77% .15 20) 55%,oklch(82% .12 32)),var(--birthday-rose);font-family:var(--font-display);text-align:center;overflow-wrap:anywhere;text-wrap:balance;border:.11rem solid oklch(83% .1 61);border-radius:999rem;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;padding:.82rem 3.1rem;font-size:2.25rem;font-weight:400;line-height:1;transition:transform .18s,box-shadow .18s,filter .18s;display:inline-flex;position:fixed;bottom:10%;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 .8rem 1.6rem oklch(61% .15 10/.3),inset 0 .18rem .22rem oklch(99.4% .008 52/.5)}.wish-button:before{content:"";z-index:1;opacity:0;pointer-events:none;background:linear-gradient(90deg,#0000,oklch(99.4% .012 52/.42),#0000);width:35%;position:absolute;inset:-45% auto -45% -35%;transform:translate(-140%)rotate(18deg)}.wish-button svg{z-index:2;flex:none;width:2.5rem;position:relative}.wish-button span{z-index:2;pointer-events:none;font-size:1.15rem;position:absolute;top:1rem;right:2.2rem}.wish-button:hover:not(:disabled){transform:translateY(-.08rem);box-shadow:0 1rem 1.85rem oklch(61% .15 10/.35),inset 0 .18rem .22rem oklch(99.4% .008 52/.54)}.wish-button:active:not(:disabled){transform:translateY(.02rem)}.wish-button:disabled{cursor:default;filter:saturate(.92)}.wish-button--active{filter:saturate(1.08)}.wish-button:focus-visible{outline-offset:.25rem;outline:.18rem solid oklch(84% .108 11)}.wish-screen__flourish{color:var(--birthday-gold);justify-content:center;align-items:center;gap:.9rem;margin-top:clamp(.8rem,2svh,1.3rem);display:inline-flex}.wish-screen__flourish span{border-top:.1rem solid;border-radius:50%;width:3.2rem;height:.8rem}.wish-screen__flourish svg{width:1.6rem;color:var(--birthday-rose)}.wish-modal{z-index:20;padding:max(.75rem,env(safe-area-inset-top)) var(--screen-edge) max(.75rem,env(safe-area-inset-bottom));background:oklch(13% .02 12/.68);place-items:center;display:grid;position:fixed;inset:0}.wish-modal__panel{width:min(100%,31rem);color:var(--birthday-ink);background:linear-gradient(180deg,oklch(98% .018 44),oklch(95% .032 24)),var(--birthday-panel);text-align:center;overflow-wrap:anywhere;border:.1rem solid oklch(88% .08 65);border-radius:1.75rem;justify-items:center;gap:.9rem;padding:clamp(2rem,8vw,3.6rem) clamp(1.25rem,6vw,2.5rem);display:grid;position:relative;box-shadow:0 1.2rem 3rem oklch(6% .02 12/.32),inset 0 .16rem .2rem oklch(99.4% .008 52/.7)}.wish-modal__panel--message{aspect-ratio:1535/1025;isolation:isolate;background:oklch(92% .025 28);align-content:end;width:min(94vw,54rem);padding:clamp(1rem,3vw,1.4rem);overflow:hidden}.wish-modal__panel--message:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0000 54%,oklch(15% .022 15/.42));position:absolute;inset:0}.wish-modal__message-image{z-index:0;object-fit:cover;object-position:center}.wish-modal__copy,.wish-modal__eyebrow{color:var(--birthday-muted);font-family:var(--font-body);margin:0}.wish-modal__eyebrow{color:var(--birthday-rose-deep);letter-spacing:.08em;text-transform:uppercase;font-size:.86rem;font-weight:400;line-height:1.2}.wish-modal__panel h2{color:var(--birthday-ink);font-family:var(--font-display);letter-spacing:0;text-wrap:balance;margin:0;font-size:2.35rem;font-weight:400;line-height:1.02}.wish-modal__countdown{color:var(--birthday-rose-deep);font-family:var(--font-body);font-size:5.2rem;line-height:.9}.wish-modal__copy{max-width:26ch;font-size:1.05rem;line-height:1.45}.wish-modal__heart{width:3rem;color:var(--birthday-rose);filter:drop-shadow(0 .18rem .16rem oklch(60% .14 11/.25))}.wish-modal__love-column{gap:.2rem;margin:0;font-size:1.85rem;line-height:1;display:grid}.wish-modal__more{color:var(--birthday-rose-deep);margin:.1rem 0 0;font-size:1rem;line-height:1.3}.wish-modal__cta,.wish-modal__more{font-family:var(--font-body);text-wrap:balance;font-weight:400}.wish-modal__cta{z-index:2;isolation:isolate;color:oklch(99% .012 52);background:linear-gradient(135deg,var(--birthday-rose-deep),var(--birthday-coral)),var(--birthday-rose);max-width:100%;min-height:3.25rem;overflow-wrap:anywhere;border:.09rem solid oklch(90% .068 62);border-radius:999rem;justify-content:center;align-items:center;padding:.78rem 1.55rem;font-size:1.05rem;line-height:1.15;text-decoration:none;transition:transform .18s,box-shadow .18s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 .6rem 1.25rem oklch(17% .025 15/.26),inset 0 .12rem .15rem oklch(99.4% .008 52/.45)}.wish-modal__cta:before{content:"";z-index:1;opacity:0;pointer-events:none;background:linear-gradient(90deg,#0000,oklch(99.4% .012 52/.4),#0000);width:35%;position:absolute;inset:-45% auto -45% -35%;transform:translate(-140%)rotate(18deg)}.wish-modal__cta:focus-visible,.wish-modal__cta:hover{transform:translateY(-.06rem);box-shadow:0 .8rem 1.45rem oklch(17% .025 15/.3),inset 0 .12rem .15rem oklch(99.4% .008 52/.5)}.wish-modal__cta:focus-visible{outline-offset:.2rem;outline:.18rem solid oklch(84% .108 11)}.letter-screen{background:linear-gradient(90deg,var(--birthday-blush),var(--birthday-cream) 50%,var(--birthday-blush)),var(--birthday-cream);justify-content:center;width:100%;display:flex;overflow:hidden auto}.letter-card,.letter-screen{isolation:isolate;min-height:100svh;position:relative}.letter-card{background:var(--birthday-cream);width:min(100vw,max(20rem,56.3svh));overflow:hidden;box-shadow:0 0 3rem oklch(70% .11 18/.2),0 0 0 .06rem oklch(96% .025 42/.72)}.letter-screen__background{z-index:-2;object-fit:cover;object-position:top center}.letter-paper{-webkit-overflow-scrolling:touch;filter:drop-shadow(0 .8rem 1.6rem oklch(62% .1 19/.22));border-radius:1rem;width:70.4%;height:66.2%;position:absolute;top:17.4%;left:50%;overflow:auto;transform:translate(-50%)}.letter-paper:before{content:"";border-radius:inherit;background:repeating-linear-gradient(to bottom,transparent 0 2.72rem,oklch(84% .048 18/.3) 2.72rem 2.78rem),linear-gradient(180deg,oklch(99% .012 50),oklch(96.5% .017 48)),var(--birthday-panel);z-index:-1;position:absolute;inset:0;box-shadow:inset 0 .22rem .35rem oklch(99.4% .008 53/.82);-webkit-mask-image:radial-gradient(circle at 1.1rem 1.39rem,#0000 .32rem,#000 .38rem),linear-gradient(#000,#000);mask-image:radial-gradient(circle at 1.1rem 1.39rem,#0000 .32rem,#000 .38rem),linear-gradient(#000,#000);-webkit-mask-position:0 0,2.2rem 0;mask-position:0 0,2.2rem 0;-webkit-mask-size:2.2rem 2.78rem,100% 100%;mask-size:2.2rem 2.78rem,100% 100%;-webkit-mask-repeat:repeat-y,no-repeat;mask-repeat:repeat-y,no-repeat}.letter-paper__copy{color:oklch(22% .015 45);font-family:var(--font-handwriting);font-size:1.52rem;font-weight:400;line-height:2.2rem;position:absolute;top:10.8%;left:15%;right:7%}.letter-paper__copy h1{letter-spacing:0;margin:0 0 1.65rem;font-size:1.9rem;font-weight:500;line-height:2.2rem}.letter-paper__copy p{margin:0}.letter-paper__copy span{color:var(--birthday-rose)}.letter-paper__signoff{margin-top:1.4rem}.letter-paper__signoff strong{font-size:2.25rem;font-weight:500}@media (min-width:42rem){.birthday-gate{padding-top:1.7rem;padding-bottom:1.7rem}.birthday-shell{gap:1.2rem}.birthday-header h1{font-size:5.25rem}.gate-panel{border-radius:2.75rem;padding:1.45rem 1.6rem 1.75rem}.gate-panel__inner-line{border-radius:2.25rem}.gate-panel:before{border-radius:1.8rem}.gate-copy h2{font-size:2.45rem}.gate-copy p{font-size:1.3rem}.hint-item p{font-size:1.08rem}.wish-button{font-size:2.55rem}.wish-modal__panel h2{font-size:2.7rem}.wish-modal__countdown{font-size:5.75rem}}@media (max-width:27rem){:root{--screen-edge:clamp(.55rem,3vw,.7rem)}.birthday-gate{padding-left:var(--screen-edge);padding-right:var(--screen-edge)}.birthday-shell{gap:.68rem;padding-top:.1rem}.birthday-header{gap:.05rem;padding-top:.1rem}.birthday-header__crown{gap:.5rem}.birthday-header__crown span{width:1.75rem}.birthday-header h1{font-size:3.15rem}.birthday-header__crown b{font-size:1.38rem}.gate-panel{border-radius:1.65rem;padding:.9rem .65rem 1.05rem}.gate-panel__inner-line{border-radius:1.3rem;inset:.4rem}.gate-panel:before{border-radius:1.05rem;inset:.78rem}.gate-hero{aspect-ratio:1.55;width:min(96%,24rem);margin-top:.05rem}.mini-crown{font-size:1.22rem}.gate-copy{gap:.1rem}.gate-copy h2{font-size:1.68rem}.gate-copy p{font-size:.96rem}.gate-form,.hint-block{width:min(100%,23rem)}.gate-form{gap:.65rem;margin-top:1rem}.password-field{grid-template-columns:2.35rem minmax(0,1fr) 2.85rem;min-height:3.65rem}.password-field input{padding:0 .55rem;font-size:1rem}.gate-submit{gap:.62rem;min-height:3.65rem;padding:.72rem 2.35rem;font-size:1.06rem}.gate-submit__lock{width:1.58rem;height:1.58rem}.gate-submit__sparkle{top:.82rem;right:1.25rem}.gate-feedback{min-height:1.2rem;font-size:.86rem}.hint-block{gap:.65rem;margin-top:.35rem}.hint-block__title{gap:.5rem}.hint-block__title p{font-size:.82rem}.hint-list{gap:.55rem}.hint-item{grid-template-columns:2.15rem minmax(0,1fr);gap:.65rem;padding:.7rem .75rem}.hint-item svg{width:1.72rem;height:1.72rem}.hint-item p{font-size:.9rem}.hint-item strong{font-size:.98rem}.birthday-footer{gap:.45rem}.birthday-footer span{display:none}.birthday-footer p{font-size:1.34rem}.wish-screen__content{padding-top:clamp(14.25rem,34svh,18.75rem);padding-left:var(--screen-edge);padding-right:var(--screen-edge)}.cake-placeholder{width:min(84%,22rem);height:clamp(13.75rem,34svh,18.5rem);margin-bottom:.75rem}.cake-placeholder__candles i{width:.62rem}.cake-placeholder__bow{height:4rem}.cake-placeholder__bow svg{width:2.45rem;height:2.45rem}.wish-button{gap:.75rem;min-height:3.85rem;padding-inline:2.55rem;font-size:1.88rem}.wish-button svg{width:2.05rem}.wish-button span{top:.85rem;right:1.45rem}.wish-screen__flourish{gap:.6rem;margin-top:1rem}.wish-screen__flourish span{width:2.2rem}.wish-modal__panel{border-radius:1.35rem;padding:1.55rem 1rem}.wish-modal__panel h2{font-size:1.95rem}.wish-modal__countdown{font-size:4.35rem}.letter-paper{background:linear-gradient(90deg,transparent 0 13.5%,oklch(86% .055 14/.52) 13.5% 13.8%,transparent 13.8%),repeating-linear-gradient(to bottom,transparent 0 2.72rem,oklch(84% .048 18/.3) 2.72rem 2.78rem),linear-gradient(180deg,oklch(99% .012 50),oklch(96.5% .017 48)),var(--birthday-panel);border-radius:1.05rem;width:78%;height:73%;top:14.7%}.letter-paper__copy{font-size:1.52rem;line-height:2.2rem;top:8.5%;left:15%;right:6%}.letter-paper__copy h1{margin-bottom:1.65rem;font-size:1.9rem;line-height:2.2rem}.letter-paper__copy p{margin-bottom:0}.letter-paper__signoff{margin-top:1.4rem}.letter-paper__signoff strong{font-size:2.25rem}}@media (max-height:46rem) and (orientation:portrait){.birthday-shell{gap:.55rem}.birthday-header h1{font-size:2.95rem}.birthday-header__crown{transform-origin:50%;transform:scale(.9)}.gate-panel{padding-top:.72rem;padding-bottom:.85rem}.gate-hero{aspect-ratio:1.68;width:min(94%,23rem);margin-top:-.05rem}.mini-crown{display:none}.gate-copy{gap:.08rem}.gate-copy h2{font-size:1.54rem}.gate-copy p{font-size:.9rem;line-height:1.3}.gate-form{gap:.55rem;margin-top:.78rem}.gate-submit,.password-field{min-height:3.35rem}.hint-block{gap:.45rem;margin-top:.28rem}.hint-block__title{display:none}.hint-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.hint-item{text-align:center;border-radius:.78rem;grid-template-columns:1fr;justify-items:center;gap:.3rem;min-height:4.1rem;padding:.5rem .32rem}.hint-item svg{width:1.25rem;height:1.25rem}.hint-item p{font-size:.78rem;line-height:1.15}.hint-item strong{font-size:.8rem;display:block}.birthday-footer{padding:0}.birthday-footer p{font-size:1.18rem}.wish-screen__content{padding-top:clamp(12.5rem,31svh,15rem);padding-bottom:max(.75rem,env(safe-area-inset-bottom))}.cake-placeholder{width:min(80%,21rem);height:clamp(12.25rem,31svh,15rem);margin-bottom:.55rem}.wish-button{width:min(86%,22rem);min-height:3.35rem;padding-inline:2.15rem;font-size:1.72rem}.wish-button svg{width:1.8rem}.wish-button span{top:.72rem}.wish-screen__flourish{display:none}.letter-paper{height:75.5%;top:13.6%}.letter-paper__copy{font-size:1.52rem;line-height:2.2rem;top:8.5%}.letter-paper__copy h1{margin-bottom:1.65rem;font-size:1.9rem;line-height:2.2rem}.letter-paper__signoff{margin-top:1.4rem}.letter-paper__signoff strong{font-size:2.25rem}}@media (max-height:32rem) and (orientation:landscape){:root{--screen-edge:clamp(.65rem,2vw,.85rem)}.birthday-gate{padding-top:max(.55rem,env(safe-area-inset-top));padding-bottom:max(.65rem,env(safe-area-inset-bottom))}.birthday-shell{gap:.45rem;width:min(100%,56rem);padding-top:0}.birthday-header{padding-top:0}.birthday-header__crown{display:none}.birthday-header h1{font-size:3rem}.gate-panel{border-radius:1.35rem;grid-template-columns:minmax(10rem,.85fr) minmax(14rem,1fr);grid-template-areas:"hero copy""hero form""hints hints";align-items:center;gap:.5rem .85rem;width:min(100%,54rem);padding:.72rem .88rem .78rem;display:grid}.gate-panel__inner-line{border-radius:1.05rem;inset:.34rem}.gate-panel:before{border-radius:.82rem;inset:.62rem}.gate-hero{aspect-ratio:1.35;grid-area:hero;width:100%;margin-top:0}.gate-copy{grid-area:copy;align-self:end;gap:.05rem;margin-top:0}.mini-crown{display:none}.gate-copy h2{font-size:1.5rem}.gate-copy p{font-size:.88rem;line-height:1.22}.gate-form{grid-area:form;gap:.42rem;width:100%;margin-top:0}.password-field{grid-template-columns:2.25rem minmax(0,1fr) 2.85rem;min-height:3rem}.gate-submit,.password-field input{font-size:1rem}.gate-submit{gap:.55rem;min-height:3rem;padding:.55rem 2.25rem}.gate-submit__lock{width:1.42rem;height:1.42rem}.gate-submit__sparkle{top:.68rem;right:1.1rem}.gate-feedback{min-height:1rem;font-size:.76rem;line-height:1.2}.hint-block{grid-area:hints;gap:.35rem;width:100%;margin-top:0}.hint-block__title{display:none}.hint-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.hint-item{border-radius:.72rem;grid-template-columns:1.35rem minmax(0,1fr);gap:.38rem;min-height:2.8rem;padding:.42rem .55rem}.hint-item svg{width:1.25rem;height:1.25rem}.hint-item p{font-size:.78rem;line-height:1.12}.hint-item strong{font-size:.82rem}.birthday-footer{display:none}.letter-card,.wish-card{width:min(100vw,36rem)}.wish-screen__content{min-height:100svh;padding:max(.65rem,env(safe-area-inset-top)) var(--screen-edge) max(.65rem,env(safe-area-inset-bottom));justify-content:center}.cake-placeholder{width:min(64%,24rem);height:clamp(9.5rem,48svh,14rem);margin-bottom:.5rem}.wish-button{width:min(72%,24rem);min-height:3.2rem;font-size:1.85rem}.wish-screen__flourish{display:none}.wish-modal__panel{gap:.55rem;max-height:calc(100svh - 1.4rem);padding:1rem 1.25rem;overflow:auto}.wish-modal__panel h2{font-size:2rem}.wish-modal__countdown{font-size:4rem}.wish-modal__love-column{gap:.5rem;display:flex}.wish-modal__panel--message{width:min(90vw,32rem);overflow:hidden}.letter-paper{width:64%;height:84%;top:8%}.letter-paper__copy{font-size:1.52rem;line-height:2.2rem;top:8.5%;left:14%;right:6%}.letter-paper__copy h1{margin-bottom:1.65rem;font-size:1.9rem;line-height:2.2rem}.letter-paper__signoff{margin-top:1.4rem}.letter-paper__signoff strong{font-size:2.25rem}}@media (prefers-reduced-motion:no-preference){.birthday-footer,.birthday-header,.gate-panel{animation:birthday-rise .62s cubic-bezier(.22,1,.36,1) both}.gate-panel{animation-delay:80ms}.birthday-footer{animation-delay:.15s}.gate-submit:hover:not(:disabled):before,.wish-button:hover:not(:disabled):before,.wish-modal__cta:focus-visible:before,.wish-modal__cta:hover:before{animation:button-shimmer .92s cubic-bezier(.22,1,.36,1) both}.gate-submit--success .gate-submit__lock,.wish-button--active svg,.wish-modal__heart{animation:soft-heart-pop .68s cubic-bezier(.22,1,.36,1) both}.gate-submit--success .gate-submit__sparkle{animation:tiny-sparkle .62s cubic-bezier(.22,1,.36,1) both}.wish-modal{animation:modal-fade .22s cubic-bezier(.22,1,.36,1) both}.wish-modal__panel{animation:modal-panel-in .36s cubic-bezier(.22,1,.36,1) both}.wish-modal__love-column span{animation:love-rise .78s cubic-bezier(.22,1,.36,1) both}.wish-modal__love-column span:nth-child(2){animation-delay:70ms}.wish-modal__love-column span:nth-child(3){animation-delay:.14s}.wish-modal__more{animation:modal-fade .52s cubic-bezier(.22,1,.36,1) .26s both}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@keyframes birthday-rise{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}@keyframes button-shimmer{0%{opacity:0;transform:translate(-140%)rotate(18deg)}24%{opacity:.9}to{opacity:0;transform:translate(420%)rotate(18deg)}}@keyframes soft-heart-pop{0%{opacity:.72;transform:scale(.9)}58%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes tiny-sparkle{0%{opacity:0;transform:translateY(.25rem)scale(.65)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-panel-in{0%{opacity:0;transform:translateY(.45rem)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes love-rise{0%{opacity:0;transform:translateY(.45rem)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}@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}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@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}