/*! tailwindcss v4.3.3 | 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{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--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;--tw-ease:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--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;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--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}::-webkit-file-upload-button{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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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}::-webkit-file-upload-button{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:-webkit-any([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:-webkit-any([multiple],[size])) optgroup option{padding-inline-start:20px}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::-webkit-file-upload-button{margin-inline-end:4px}::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-start:0;padding-block-end:0}::-webkit-datetime-edit-year-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-month-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-day-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-hour-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-minute-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-second-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-millisecond-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-meridiem-field{padding-block-start:0;padding-block-end:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button{-webkit-appearance:button;appearance:button}input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::-webkit-file-upload-button{-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{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.flex{display:flex}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.italic{font-style:italic}.blur{--tw-blur:blur(8px);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,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);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,)}.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))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--paper:#fff8f2;--paper-deep:#f7f2eb;--ink:#7a0d23;--rose:#c03a5b;--rose-soft:#d85c7d;--rose-dark:#a22045;--grid:#735c4a30;--serif:"DM Serif Display", "Noto Nastaliq Urdu", Georgia, serif;--round:"Nunito", "Noto Nastaliq Urdu", "Segoe UI", sans-serif;--script:"Pacifico", "Noto Nastaliq Urdu", cursive;--urdu:"Noto Nastaliq Urdu", "Segoe UI", Tahoma, sans-serif;color:var(--ink);background:var(--paper);font-family:var(--round);font-synthesis:none;text-rendering:optimizespeed}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html,body,#root{width:100%;max-width:100%;min-height:100%}body{-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button{font:inherit}.scrapbook-stage{contain:layout style;width:100%;min-height:100svh;position:relative;overflow:hidden}.page-transition,.paper-layout{width:100%;min-height:100svh}.page-transition{contain:layout style;-webkit-backface-visibility:hidden;backface-visibility:hidden}.paper-layout{isolation:isolate;contain:paint;background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px), radial-gradient(circle at 40% 30%, #fffc, transparent 45%), repeating-radial-gradient(circle at 0 0, #5e422b06 0 1px, transparent 1px 4px);background-position:50%;background-size:44px 44px,44px 44px,100% 100%,7px 7px;position:relative;overflow:hidden;box-shadow:inset 0 0 55px #6037261f}.paper-layout:after{content:"";z-index:5;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;box-shadow:inset 0 0 35px #4b2e1c29}.paper-content{z-index:4;width:100%;min-height:100svh;position:relative}.decorations{z-index:2;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.torn-paper{color:#4c192794;font:14px/1.45 var(--script);opacity:0;background-color:#d983a3;background-image:repeating-linear-gradient(0deg,#0000 0 21px,#6e163729 22px),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:auto;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;animation:.55s ease-in-out forwards decor-appear;position:absolute;overflow:hidden;box-shadow:2px 4px 12px #461a2440}.torn-paper span{width:360px;padding:30px;display:block;transform:rotate(-8deg)}.torn-paper--top{clip-path:polygon(0 0,100% 0,92% 16%,84% 17%,75% 32%,67% 35%,59% 55%,49% 61%,40% 80%,29% 84%,20% 100%,0 94%);width:34%;height:min(39%,300px);top:-28px;left:-35px;transform:rotate(-3deg)}.torn-paper--bottom{clip-path:polygon(50% 0,65% 12%,83% 10%,100% 20%,100% 100%,0 100%,8% 74%,17% 66%,21% 45%,37% 36%);width:25%;height:min(33%,270px);bottom:-40px;right:-35px;transform:rotate(4deg)}.star-cluster{width:200px;height:225px;position:absolute;top:-17px;right:-2px}.star{filter:drop-shadow(2px 3px 2px #4b14263b);opacity:0;animation:.55s ease-in-out forwards decor-appear,4.8s ease-in-out .55s infinite decor-star-wiggle;position:absolute}.star--one{width:100px;top:-10px;left:15px}.star--two{width:105px;animation-delay:.35s,.9s;top:46px;right:-9px}.star--three{width:120px;animation-delay:.7s,1.25s;top:126px;left:58px}.flower-sticker{filter:drop-shadow(0 3px 2px #3f131f33)drop-shadow(0 0 2px #fff);animation:decor-appear .55s ease-in-out var(--decor-delay,0s) forwards, decor-float-y 5s ease-in-out var(--decor-delay,0s) infinite, decor-wiggle 5s ease-in-out var(--decor-delay,0s) infinite}.flower-sticker svg{width:100%;height:100%;display:block;overflow:visible}.flower{position:absolute}.flowers-left{width:255px;height:280px;position:absolute;bottom:-32px;left:-30px}.flower--a{width:145px;top:-5px;left:-5px;transform:rotate(-18deg)}.flower--b{width:155px;top:104px;left:60px}.flower--c{width:120px;top:145px;left:2px}.flower--right{width:190px;bottom:-25px;right:28px}.heart-doodle{opacity:0;transform-origin:50%;animation:.55s ease-in-out forwards decor-appear,2.4s ease-in-out .55s infinite decor-heart-pulse}@keyframes decor-appear{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translate(0)}}@keyframes decor-float-y{0%,to{translate:0}50%{translate:0 -3px}}@keyframes decor-wiggle{0%,to{rotate:-2deg}50%{rotate:2deg}}@keyframes decor-star-wiggle{0%,to{rotate:-4deg}50%{rotate:4deg}}@keyframes decor-heart-pulse{0%,to{scale:1}50%{scale:1.1}}@keyframes decor-soft-bob{0%,to{translate:0}50%{translate:0 -4px}}@keyframes lock-floater-drift{0%,to{translate:0;rotate:0deg}35%{translate:0 -10px;rotate:8deg}70%{translate:0 -4px;rotate:-6deg}}.page-fallback{background:linear-gradient(110deg,#fff8f233 25%,#fff8f28c 37%,#fff8f233 63%) 0 0/200% 100%;width:100%;min-height:60svh;animation:1.1s ease-in-out infinite page-fallback-shimmer}@keyframes page-fallback-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.corner-heart{color:var(--rose);width:58px;position:absolute}.corner-heart--one{bottom:3px;left:202px;transform:rotate(-17deg)}.corner-heart--two{top:40px;right:198px;transform:rotate(11deg)}.tape{opacity:0;background:#f3d6c2ad;border:1px solid #97684f33;width:90px;height:25px;animation:.55s ease-in-out .2s forwards decor-appear;position:absolute}.tape--left{top:245px;left:18px;rotate:-42deg}.tape--right{bottom:170px;right:56px;rotate:-24deg}.scribble{color:#97224599;font:20px var(--script);opacity:0;animation:.55s ease-in-out .28s forwards decor-appear;position:absolute}.scribble--left{top:44%;left:30px;rotate:-12deg}.scribble--right{top:48%;right:33px;rotate:8deg}.home-page,.inner-page{z-index:4;flex-direction:column;justify-content:center;align-items:center;width:min(760px,72%);min-height:100svh;margin:0 auto;display:flex;position:relative}.home-page{gap:42px;padding-top:14px}.home-page--birthday{justify-content:flex-start;gap:0;width:min(920px,94%);padding:clamp(24px,4vh,48px) clamp(16px,3vw,28px) clamp(32px,5vh,56px);position:relative}.home-page--birthday.home-page--countdown{justify-content:center;min-height:100svh;padding-block-start:0;padding-block-end:0}.paper-layout:has(.home-page--birthday){overflow:clip visible}.scrapbook-stage:has(.home-page--birthday){overflow:clip visible}.birthday-countdown-stage{z-index:3;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;display:flex;position:relative}.birthday-countdown__eyebrow{color:var(--rose);font:22px var(--script);letter-spacing:.04em;margin:0}.birthday-countdown__stage{justify-content:center;align-items:center;width:100%;height:160px;display:flex}.birthday-countdown__number{color:var(--ink);font-family:var(--serif);letter-spacing:.02em;text-shadow:1px 3px #6f12281f;font-size:clamp(96px,17vw,148px);font-weight:400;line-height:1;animation:.48s cubic-bezier(.22,1,.36,1) both countdown-enter;display:inline-block}@keyframes countdown-enter{0%{opacity:0;transform:translateY(12px)scale(.86)}to{opacity:1;transform:translate(0)scale(1)}}.birthday-content{flex-direction:column;align-items:center;gap:22px;width:100%;display:flex}.birthday-layout{z-index:1;flex-direction:row;justify-content:center;align-items:center;gap:0;width:-moz-fit-content;width:fit-content;max-width:100%;margin:0 auto;display:flex;position:relative}.birthday-layout:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(#fff8f2b8 0%,#fff8f200 72%);border-radius:40px;position:absolute;top:10%;bottom:10%;left:-18px;right:-18px;box-shadow:0 18px 36px #5a1c2a14}.birthday-column{z-index:1;flex-direction:column;flex:none;width:auto;max-width:100%;display:flex;position:relative}.birthday-column--cake{justify-content:center;align-items:center;gap:14px}.birthday-column--calendar{justify-content:center;align-items:center}.birthday-layout .birthday-reveal{width:auto}.birthday-layout__join{z-index:1;pointer-events:none;flex-direction:column;flex:0 0 72px;justify-content:center;align-items:center;gap:14px;width:72px;height:210px;display:flex;position:relative}.birthday-layout__join:before{content:"";border-left:1.5px dashed #c03a5b47;width:0;position:absolute;top:18px;bottom:18px;left:50%}.birthday-layout__join-heart,.birthday-layout__join-spark{z-index:1;color:#e08aa3;text-shadow:0 1px #ffffffb3;line-height:1;position:relative}.birthday-layout__join-heart{font-size:16px;animation:2.8s ease-in-out infinite birthday-heart-idle}.birthday-layout__join-spark{color:#c03a5b;opacity:.7;font-size:11px;animation:2.8s ease-in-out .4s infinite birthday-heart-idle}.birthday-reveal{justify-content:center;width:100%;animation:.55s ease-in-out both birthday-reveal-in;display:flex}.birthday-reveal--hero{animation:none}.birthday-reveal--cake{animation-delay:.24s}.birthday-reveal--blow{align-items:center;min-height:52px;animation-delay:.38s}.birthday-reveal--calendar{align-items:center;animation-name:birthday-reveal-right;animation-delay:.46s}.birthday-reveal--continue{animation-delay:.56s}@keyframes birthday-reveal-in{0%{opacity:0;visibility:hidden;transform:translateY(22px)scale(.96)}to{opacity:1;visibility:visible;transform:translate(0)scale(1)}}.birthday-reveal--cake{animation-name:cake-reveal-in}@keyframes birthday-reveal-right{0%{opacity:0;visibility:hidden;transform:translate(24px,18px)scale(.97)}to{opacity:1;visibility:visible;transform:translate(0)scale(1)}}@keyframes cake-reveal-in{0%{opacity:0;visibility:hidden;transform:translateY(35px)scale(.92)}to{opacity:1;visibility:visible;transform:translate(0)scale(1)}}.birthday-cake{filter:drop-shadow(0 10px 14px #5a1c2a24);width:min(100%,410px);transition:transform .45s ease-in-out,filter .45s ease-in-out}.birthday-cake.is-blowing{filter:drop-shadow(0 14px 18px #5a1c2a2e);transform:translateY(-4px)scale(1.01)}.birthday-cake__svg{width:100%;height:auto;display:block}.birthday-cake__candle{opacity:0;animation:candle-enter .4s cubic-bezier(.22, 1, .36, 1) var(--candle-delay,.2s) both}@keyframes candle-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.birthday-cake__flame-outer,.birthday-cake__flame-inner{opacity:0;transform-origin:bottom;transform-box:fill-box}.birthday-cake__flame.is-lit .birthday-cake__flame-outer,.birthday-cake__flame.is-lit .birthday-cake__flame-inner{opacity:.95;animation:1.15s ease-in-out infinite cake-flame-flicker}.birthday-cake__flame.is-lit .birthday-cake__flame-inner{animation-duration:.9s;animation-delay:calc(var(--flame-delay) + 80ms)}.birthday-cake__flame.is-lit .birthday-cake__flame-outer{animation-delay:var(--flame-delay)}.birthday-cake__flame.is-gust .birthday-cake__flame-outer,.birthday-cake__flame.is-gust .birthday-cake__flame-inner{animation:.34s ease-in-out infinite cake-flame-gust}.birthday-cake.is-blown .birthday-cake__flame-outer,.birthday-cake.is-blown .birthday-cake__flame-inner{animation:.56s ease-in-out forwards cake-flame-out}.birthday-cake__smoke{opacity:0}.birthday-cake__smoke.is-active{animation:cake-smoke-rise 1.8s ease-out var(--smoke-delay) both}@keyframes cake-flame-flicker{0%,to{opacity:.95;transform:scale(1)translateY(0)}40%{opacity:1;transform:scale(1.06,.94)translateY(-1px)}70%{opacity:.88;transform:scale(.95,1.05)translateY(1px)}}@keyframes cake-flame-gust{0%,to{opacity:1;transform:translate(0)scale(1.08,.9)}35%{opacity:.88;transform:translate(2px)scale(.98,1.02)}70%{opacity:.45;transform:translate(4px)scale(.78,1.16)}}@keyframes cake-flame-out{0%{opacity:.95;transform:translateY(0)scale(1)}35%{opacity:.72;transform:translate(2px)translateY(2px)scale(.82,.7)}to{opacity:0;transform:translate(5px)translateY(8px)scale(.16,.12)}}@keyframes cake-smoke-rise{0%{opacity:0;transform:translateY(4px)}25%{opacity:.55}to{opacity:0;transform:translateY(-16px)}}.birthday-blow-button{cursor:pointer}.confetti-burst{z-index:20;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.confetti-burst__piece{top:-20px;left:var(--cb-left);width:var(--cb-size);height:calc(var(--cb-size) * 1.4);background:var(--cb-color);animation:confetti-burst-fall var(--cb-duration) cubic-bezier(.22, .61, .36, 1) var(--cb-delay) forwards;position:absolute}.confetti-burst__piece--circle{height:var(--cb-size);border-radius:50%}.confetti-burst__piece--heart{width:var(--cb-size);height:var(--cb-size);background:0 0}.confetti-burst__piece--heart:before{content:"â™¥";color:var(--cb-color);font-size:var(--cb-size);line-height:1;position:absolute;top:0;bottom:0;left:0;right:0}.confetti-burst__piece--strip{width:calc(var(--cb-size) * .4);height:calc(var(--cb-size) * 1.7);border-radius:999px}@keyframes confetti-burst-fall{0%{opacity:0;transform:translateY(-4vh)rotate(0)}12%{opacity:1}to{transform:translate3d(var(--cb-drift), 105vh, 0) rotate(var(--cb-rotate));opacity:.1}}.september-calendar{width:min(100%,300px);color:var(--ink);background:linear-gradient(#ffffff80,#0000 30%),repeating-linear-gradient(0deg,#0000 0 21px,#6e16370b 22px),#fff8f2;border:2px solid #c48a9a;border-radius:20px;margin-top:0;padding:18px 14px 14px;position:relative;overflow:visible;box-shadow:0 10px 22px #5a1c2a1f,inset 0 0 0 1px #ffffffa6}.september-calendar__tape{background:#f3d6c2c7;border:1px solid #97684f38;width:68px;height:20px;position:absolute;top:-9px}.september-calendar__tape--left{left:16px;transform:rotate(-8deg)}.september-calendar__tape--right{right:16px;transform:rotate(7deg)}.september-calendar__deco{color:var(--rose);position:absolute}.september-calendar__deco--heart{width:24px;top:14px;right:14px;transform:rotate(12deg)}.september-calendar__header{text-align:center;margin-bottom:12px}.september-calendar__title{font-family:var(--serif);letter-spacing:.03em;margin:0;font-size:clamp(30px,5.5vw,38px);font-weight:400}.september-calendar__eyebrow{color:var(--rose);font:14px var(--script);margin:4px 0 0}.september-calendar__weekdays,.september-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.september-calendar__weekdays{margin-bottom:6px}.september-calendar__weekdays span{color:#a9707e;letter-spacing:.03em;text-align:center;text-transform:uppercase;font-size:10px;font-weight:800}.september-calendar__cell{aspect-ratio:1;color:var(--ink);background:#ffffff52;border-radius:10px;place-items:center;font-size:13px;font-weight:700;display:grid}.september-calendar__cell.is-empty{background:0 0}.september-calendar__cell.is-birthday{background:0 0;overflow:visible}.september-calendar__birthday{place-items:center;width:100%;height:100%;display:grid;position:relative}.september-calendar__birthday-heart{color:#f0a0b4;opacity:.92;place-items:center;font-size:clamp(26px,6.5vw,32px);line-height:1;animation:2.6s ease-in-out infinite birthday-heart-idle;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.september-calendar__sparkle{color:#c03a5b;opacity:0;pointer-events:none;font-size:8px;position:absolute;top:0;right:2px}.september-calendar__birthday.is-celebrating .september-calendar__birthday-heart{animation:1s cubic-bezier(.22,1,.36,1) forwards birthday-heart-pop}.september-calendar__birthday.is-celebrating .september-calendar__sparkle{animation:1s ease-out forwards birthday-sparkle}.september-calendar__birthday-day{z-index:1;color:var(--ink);font-family:var(--serif);font-size:14px;font-weight:400;position:relative}@keyframes birthday-heart-pop{0%{opacity:.85;transform:scale(.94)}40%{opacity:1;transform:scale(1.16)}to{opacity:.95;transform:scale(1)}}@keyframes birthday-heart-idle{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-2px)scale(1.08)}}@keyframes birthday-sparkle{0%{opacity:0;transform:scale(.5)}35%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:translateY(-5px)scale(.8)}}@media (prefers-reduced-motion:reduce){.birthday-reveal,.birthday-reveal--cake{opacity:1;visibility:visible;transform:none}}.title-section{text-align:center;width:100%}.title-row{justify-content:center;align-items:center;gap:clamp(24px,4vw,66px);display:flex}.title-section h1{color:var(--ink);font-family:var(--serif);letter-spacing:.02em;text-shadow:1px 2px #6f122821;margin:0;font-size:clamp(58px,7.2vw,88px);font-weight:400;line-height:1.06}.recipient-name{font-family:var(--urdu);letter-spacing:0;direction:rtl;unicode-bidi:isolate;font-weight:700;line-height:1.35;display:inline-block}.title-section h1 .recipient-name{margin-top:.08em;font-size:.9em;display:block}.heart-trio{height:110px;color:var(--rose);flex:0 0 70px;position:relative}.heart-trio .heart-doodle{width:38px;position:absolute}.heart-trio .heart-doodle:first-child{top:2px;left:24px}.heart-trio .heart-doodle:nth-child(2){animation-delay:.2s;top:36px;left:6px}.heart-trio .heart-doodle:nth-child(3){animation-delay:.4s;top:69px;left:28px}.heart-trio--right{transform:scaleX(-1)}.eyebrow{color:var(--rose);font:18px var(--script);letter-spacing:.04em;margin:0 0 7px}.subtitle{color:#8d5260;max-width:580px;margin:12px auto 0;font-size:16px;font-weight:700}.title-section--compact h1{font-size:clamp(38px,4.5vw,57px);line-height:1.08}.title-section--compact .heart-trio{display:none}.continue-button{cursor:pointer;min-width:258px;min-height:44px;color:var(--ink);background:#fffdfb;border:2px solid #9c6275;border-radius:999px;padding:5px;position:relative;box-shadow:0 5px 9px #49192740}.button-stitch{border-radius:inherit;letter-spacing:.04em;border:1.5px dashed #ad7184;justify-content:center;align-items:center;gap:13px;padding:8px 20px;font-size:16px;font-weight:800;display:flex}.inner-page{gap:22px;width:min(790px,74%);padding:28px 0 20px}.page-number{z-index:4;color:#a9707e;font:13px var(--round);position:absolute;bottom:12px;right:24px}.polaroid-row{justify-content:center;gap:22px;width:100%;display:flex}.polaroid{text-align:center;background:#fffdfa;border:1px solid #e6d5c8;width:30%;padding:9px 9px 14px;box-shadow:2px 5px 10px #522a2d2e}.photo-placeholder{color:#fff1f5;background:radial-gradient(circle at 28% 25%,#ffffff47 0 3px,#0000 4px),#c76b87;place-items:center;height:150px;display:grid;position:relative}.photo-placeholder>span{font:64px var(--serif)}.photo-placeholder svg{position:absolute;top:12px;right:12px}.polaroid p{color:#875565;font:14px var(--script);margin:10px 0 0}.bouquet{width:440px;height:245px;position:relative}.bouquet-bloom{text-align:center;width:155px;position:absolute}.bouquet-bloom .flower-sticker{width:125px;height:125px;margin:auto}.bouquet-bloom span{color:#8c4e5f;font:13px var(--script)}.bouquet-bloom--1{top:35px;left:20px;rotate:-9deg}.bouquet-bloom--2{top:0;left:142px}.bouquet-bloom--3{top:38px;right:15px;rotate:9deg}.bouquet:before,.bouquet:after{content:"";z-index:-1;transform-origin:top;background:#76935a;width:5px;height:125px;position:absolute;top:105px;left:50%;rotate:17deg}.bouquet:after{rotate:-17deg}.bouquet-ribbon{color:#fff;background:var(--rose);font:13px var(--script);padding:7px 24px;position:absolute;bottom:6px;left:50%;translate:-50%;rotate:-2deg}.gift-box{color:#8f2546;background:repeating-linear-gradient(45deg,#e28ba2 0 13px,#d97996 13px 26px);border:3px solid #9e3352;place-items:center;width:220px;height:180px;display:grid;position:relative;box-shadow:7px 9px #75213924}.gift-lid{background:#c94f72;border:3px solid #9e3352;width:240px;height:34px;position:absolute;top:-20px;left:-13px}.gift-ribbon{z-index:1;background:#f5d1c9;position:absolute}.gift-ribbon--vertical{width:35px;top:-20px;bottom:0}.gift-ribbon--horizontal{height:30px;left:0;right:0}.gift-box>svg{z-index:2;color:#fff3ee;position:relative}.gift-bow{z-index:4;color:var(--rose-dark);font:76px var(--serif);position:absolute;top:-65px}.gift-heart{bottom:14px;right:15px;color:var(--rose-dark)!important;position:absolute!important}.hand-note{color:#8a4a59;font:17px var(--script);margin:-5px 0 0;transform:rotate(-1deg)}.music-player{background:#f0d8cf;border:1px solid #cfa9a2;justify-content:center;align-items:center;gap:38px;width:min(590px,100%);padding:19px 32px;display:flex;transform:rotate(-1deg);box-shadow:5px 6px #783c4221}.vinyl{background:repeating-radial-gradient(circle,#241a1d 0 4px,#3c2b30 5px 7px);border-radius:50%;flex:0 0 175px;place-items:center;width:175px;height:175px;display:grid;box-shadow:4px 5px 7px #321e2340}.vinyl-label{color:#fff;background:var(--rose);width:66px;height:66px;font:14px/1.2 var(--script);text-align:center;border-radius:50%;place-items:center;display:grid}.track-details{color:#7f4252;flex:1}.track-details h2{color:var(--ink);font:28px var(--serif);margin:4px 0}.track-details p{margin:0;font-size:13px}.now-playing{letter-spacing:.2em;font-weight:800}.track-line{background:#cba8a4;height:4px;margin:17px 0;overflow:hidden}.track-line span{background:var(--rose-dark);height:100%;transition:width .5s;display:block}.play-button{cursor:pointer;color:#fff;background:var(--rose-dark);border:0;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 3px 5px #50142633}.love-letter{color:#6f3a46;width:min(580px,95%);font:15px/30px var(--round);background:#fffdf6 repeating-linear-gradient(#0000 0 29px,#b76f7e38 30px);border:1px solid #ddcfc1;padding:26px 42px 22px;position:relative;box-shadow:4px 7px 12px #5a322b2b}.love-letter p{margin:0 0 9px}.letter-dear,.letter-signature{color:var(--ink);font-family:var(--script)}.letter-signature{text-align:right}.letter-tape{background:#e8b5b794;width:100px;height:27px;position:absolute;top:-12px;left:50%;translate:-50%;rotate:2deg}.final-page{gap:28px}.final-stars{width:44px;height:44px;color:var(--rose);position:absolute;top:70px;right:80px}.final-heart{color:var(--rose-dark);place-items:center;display:grid;position:relative}.final-heart span{color:#fff6f3;font:10px var(--round);font-weight:800;position:absolute}.accept-gift-page{z-index:4;flex-direction:column;justify-content:flex-start;align-items:center;width:min(760px,74%);min-height:100svh;margin:0 auto;padding:clamp(64px,9vh,90px) 0 38px;display:flex;position:relative}.accept-gift-page h1{color:#171313;font-family:var(--round);letter-spacing:.015em;text-align:center;margin:0;font-size:clamp(34px,4.2vw,54px);font-weight:800;line-height:1.1}.gift-character{object-fit:contain;filter:drop-shadow(0 5px 3px #56273029);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:clamp(220px,27vw,310px);height:auto;margin:clamp(24px,5vh,46px) auto 18px;display:block}.gift-choice-buttons{justify-content:center;align-items:center;gap:24px;display:flex}.gift-choice-buttons button{cursor:pointer;color:#fff;background:var(--rose-dark);letter-spacing:.08em;border:1px solid #77132e;border-radius:9px;width:118px;min-height:44px;padding:11px 18px;font-size:15px;font-weight:800;transition:transform .18s,box-shadow .18s;box-shadow:0 3px 5px #4a122329}.gift-choice-buttons button:hover{transform:scale(1.04);box-shadow:0 5px 9px #4a122340}.try-again-button{cursor:pointer;color:#fff;background:var(--rose-dark);letter-spacing:.08em;border:1px solid #77132e;border-radius:999px;min-width:168px;min-height:44px;padding:12px 36px;font-size:15px;font-weight:800;transition:transform .18s,box-shadow .18s;box-shadow:0 3px 5px #4a122329}.try-again-button:hover{transform:scale(1.05);box-shadow:0 5px 9px #4a122340}.confetti{z-index:3;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.confetti span{top:-20px;left:var(--confetti-left);opacity:.32;background:var(--confetti-color);width:6px;height:11px;animation:confetti-fall var(--confetti-duration) linear var(--confetti-delay) 5;animation-fill-mode:both;position:absolute}.confetti span:nth-child(3n){border-radius:50%;width:8px;height:4px}.confetti span:nth-child(2n){rotate:25deg}@keyframes confetti-fall{0%{translate:0 -5vh;rotate:0deg}50%{translate:18px 52vh;rotate:180deg}to{translate:-10px 108vh;rotate:360deg}}.choose-gifts-page{z-index:4;flex-direction:column;justify-content:flex-start;align-items:center;width:min(1100px,94%);min-height:100svh;margin:0 auto;padding:clamp(64px,9vh,90px) 0 48px;display:flex;position:relative}.choose-gifts-page h1{color:var(--ink);font-family:var(--serif);letter-spacing:.02em;text-align:center;text-shadow:1px 2px #6f122821;margin:0 0 clamp(30px,5vh,48px);font-size:clamp(40px,5vw,64px);font-weight:400;line-height:1.1}.gift-options-row{justify-content:center;align-items:center;gap:clamp(20px,4vw,56px);width:100%;display:flex}.gift-option{cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;width:min(290px,27vw);padding:0;display:flex;position:relative}.gift-option-visual{place-items:center;width:100%;height:clamp(220px,25vw,280px);display:grid;position:relative}.gift-option-visual:after{content:"";z-index:-1;opacity:0;border-radius:50%;width:60%;height:4px;transition:opacity .25s;position:absolute;bottom:3%;left:20%;box-shadow:0 9px 13px #4a122347}.gift-option:hover .gift-option-visual:after{opacity:1}.gift-option-art{object-fit:contain;width:100%;max-width:280px;height:100%;max-height:280px;display:block}.gift-option-art--bouquet{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:280px}.gift-sparkles{pointer-events:none;position:absolute;top:8%;bottom:8%;left:10%;right:10%}.gift-sparkles span{opacity:.7;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:#f4c95f;width:6px;height:6px;animation:1.1s ease-in-out infinite gift-sparkle;position:absolute}.gift-sparkles span:first-child{animation-delay:0s;top:8%;left:12%}.gift-sparkles span:nth-child(2){width:5px;height:5px;animation-delay:.2s;top:4%;right:16%}.gift-sparkles span:nth-child(3){width:4px;height:4px;animation-delay:.35s;bottom:18%;left:6%}.gift-sparkles span:nth-child(4){animation-delay:.5s;bottom:12%;right:8%}@keyframes gift-sparkle{0%,to{opacity:.25;transform:scale(.7)}50%{opacity:.85;transform:scale(1.15)}}.letter-back-button{top:max(16px, calc(env(safe-area-inset-top,0px) + 12px));left:max(16px, calc(env(safe-area-inset-left,0px) + 12px));z-index:60;cursor:pointer;min-width:102px;min-height:44px;color:var(--ink);background:#fffdfb;border:2px solid #9c6275;border-radius:999px;padding:4px;position:fixed;box-shadow:0 4px 8px #49192733}.letter-back-button>span{border-radius:inherit;border:1.5px dashed #ad7184;justify-content:center;align-items:center;gap:8px;padding:6px 14px;font-size:13px;font-weight:800;display:flex}.love-letter-page{z-index:4;grid-template-rows:repeat(2,minmax(235px,1fr));grid-template-columns:minmax(150px,1fr) minmax(330px,450px) minmax(150px,1fr);place-items:center;gap:18px 34px;width:min(1080px,91%);min-height:100svh;margin:0 auto;padding:54px 42px 38px;display:grid;position:relative}.vintage-letter{color:#563a2d;clip-path:polygon(1% 0,12% .6%,24% 0,37% .5%,49% 0,62% .6%,75% 0,88% .5%,100% 0,99.4% 13%,100% 27%,99.5% 42%,100% 58%,99.4% 73%,100% 88%,99% 100%,84% 99.5%,69% 100%,53% 99.4%,38% 100%,21% 99.5%,1% 100%,.6% 84%,1% 68%,.4% 51%,1% 34%,.5% 17%);background-color:#e8d0a8;background-image:radial-gradient(circle at 15% 12%,#ffffff4d,#0000 22%),repeating-radial-gradient(circle at 0 0,#66452a0d 0 1px,#0000 1px 5px);border:1px solid #70482a57;grid-area:1/2/3;width:100%;min-height:420px;max-height:min(78svh,720px);padding:48px 40px 36px;font-family:Georgia,Times New Roman,serif;font-size:15px;line-height:1.72;position:relative;overflow:hidden auto;box-shadow:5px 9px 17px #4c2b1e3d}.vintage-letter p{margin:0 0 14px}.vintage-letter .letter-decor{color:#8d5260;text-align:center;word-break:break-word;margin-bottom:10px;font-size:13px;line-height:1.5}.vintage-letter .letter-heading-block{text-align:center;margin:0 0 18px}.vintage-letter .letter-heading-line{color:#6f1f31;font-family:var(--script);word-break:break-word;margin:0 0 6px;font-size:clamp(16px,2.2vw,20px);line-height:1.55}.vintage-letter .letter-body{color:#563a2d;word-break:break-word;font-size:14px;line-height:1.78}.vintage-letter .letter-wish{color:#6a3f48;font-family:var(--round);font-size:14px;font-weight:600;line-height:1.7}.vintage-letter .letter-title{color:var(--ink);font-family:var(--serif);text-align:center;letter-spacing:.03em;margin:18px 0 12px;font-size:clamp(24px,3.4vw,30px)}.vintage-letter .letter-finale{text-align:center;margin-top:8px}.vintage-letter .letter-finale-line{color:#6f1f31;word-break:break-word;margin:0 0 10px;font-size:14px;line-height:1.65}.vintage-letter .letter-greeting{color:#6f1f31;font-family:var(--urdu);margin-bottom:22px;font-size:28px;line-height:1.5}.vintage-letter .letter-closing{font-family:var(--script);margin:24px 0 8px;font-size:17px}.vintage-letter .letter-closing strong{color:#6f1f31;font-weight:800}.vintage-letter .letter-celebration{color:var(--ink);font-family:var(--serif);text-align:center;margin:18px 0 8px;font-size:clamp(18px,2.4vw,22px);line-height:1.45}.vintage-letter .letter-finale-line strong{color:#6f1f31;font-weight:700}.vintage-letter .letter-wish strong{color:#6f1f31}.vintage-letter .letter-body .recipient-name,.vintage-letter .letter-wish .recipient-name,.vintage-letter .letter-celebration .recipient-name,.vintage-letter .letter-finale-line .recipient-name{font-size:1.05em}.letter-tape--top{width:96px;height:26px;top:-10px;left:50%;translate:-50%;rotate:-2deg}.letter-paperclip{color:#8c725d;position:absolute;top:21px;right:20px;rotate:13deg}.letter-heart-doodle{color:#a020457a;position:absolute;bottom:24px;right:25px;rotate:9deg}.letter-sparkle{color:#a0204573;position:absolute;bottom:25px;left:22px}.letter-gift{z-index:5;width:clamp(150px,19vw,190px);transform:rotate(var(--gift-tilt,0deg));flex-direction:column;align-items:center;display:flex;position:relative;overflow:visible}.letter-gift:has(.gift-note){z-index:14}.letter-gift--top-left{grid-area:1/1;align-self:end}.letter-gift--bottom-left{grid-area:2/1;align-self:start}.letter-gift--top-right{grid-area:1/3;align-self:end}.letter-gift--bottom-right{grid-area:2/3;align-self:start}.present-box{cursor:pointer;background:0 0;border:none;width:150px;height:168px;padding:0;animation:5s ease-in-out infinite present-idle;position:relative}.letter-gift--top-right .present-box{animation-delay:.7s}.letter-gift--bottom-left .present-box{animation-delay:1.3s}.letter-gift--bottom-right .present-box{animation-delay:1.9s}@keyframes present-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.present-box.is-wiggling{animation:.34s present-wiggle}@keyframes present-wiggle{0%,to{transform:rotate(0)}20%{transform:rotate(-6deg)}45%{transform:rotate(6deg)}70%{transform:rotate(-3deg)}}.present-art{width:100%;height:auto;display:block;overflow:visible}.present-art__lid{transform-origin:80px 66px;transition:transform .5s cubic-bezier(.22,1,.36,1)}.present-box.is-opened .present-art__lid{transform:translate(-6px,-22px)rotate(-14deg)}.present-art__bow{transform-origin:80px 44px;transition:transform .5s cubic-bezier(.22,1,.36,1)}.present-box.is-opened .present-art__bow{transform:translate(-4px,-18px)rotate(-10deg)}.present-art__glow{transition:opacity .35s}.present-tag{z-index:4;color:#6f1f31;max-width:88px;font:700 10px/1.25 var(--round);letter-spacing:.01em;text-align:center;transform:rotate(var(--tag-tilt,8deg));pointer-events:none;background:linear-gradient(#ffffff80,#0000 40%),#fff8f2;border:1px solid #c9a090;border-radius:3px 8px 8px 3px;padding:5px 8px;transition:transform .35s cubic-bezier(.22,1,.36,1);position:absolute;top:58px;right:-6px;box-shadow:1px 3px 8px #5a1c2a29}.present-tag:before{content:"";background:#a9707e;width:10px;height:1.5px;position:absolute;top:50%;left:-7px;transform:translateY(-50%)}.present-box:hover .present-tag{transform:rotate(calc(var(--tag-tilt,8deg) + 4deg)) translateY(-2px)}.present-box.is-opened .present-tag{top:42px}.present-spark{color:#c03a5b;pointer-events:none;font-size:12px;animation:.7s cubic-bezier(.22,1,.36,1) both present-spark-pop;position:absolute}.present-spark--one{top:8px;left:18px}.present-spark--two{animation-delay:80ms;top:2px;right:22px}.present-spark--three{font-size:10px;animation-delay:.14s;top:28px;right:8px}@keyframes present-spark-pop{0%{opacity:0;transform:scale(.4)translateY(8px)}40%{opacity:1;transform:scale(1.1)translateY(0)}to{opacity:.85;transform:scale(1)}}.gift-note{z-index:8;box-sizing:border-box;width:min(230px,72vw);max-width:calc(100vw - 24px);translate:calc(-50% + var(--note-shift-x,0px)) 0;color:#6f1f31;text-align:center;background:linear-gradient(#ffffff73,#0000 35%),#fff8f2;border:1.5px solid #c48a9a;border-radius:16px;padding:16px 14px 14px;position:absolute;bottom:calc(100% + 12px);left:50%;box-shadow:0 12px 24px #5a1c2a2e}.gift-note__text{font-family:var(--round);white-space:normal;overflow-wrap:break-word;word-break:normal;max-width:100%;margin:0;font-size:13px;font-weight:650;line-height:1.55}.gift-note__close{color:#a9707e;font:11px/1 var(--round);letter-spacing:.04em;cursor:pointer;background:0 0;border:none;margin:0 0 8px auto;padding:0;font-weight:800;display:block}.gift-note__sparkle{color:#d85c7d;pointer-events:none;font-size:11px;position:absolute}.gift-note__sparkle--one{top:8px;left:10px}.gift-note__sparkle--two{bottom:8px;right:10px}.letter-polaroid{z-index:5;cursor:default;content-visibility:auto;contain-intrinsic-size:180px 230px;background:#fffdf8;border:1px solid #6f4e3429;width:clamp(148px,18vw,210px);margin:0;padding:9px 9px 28px;transition:box-shadow .3s;position:relative;box-shadow:4px 8px 16px #4b2b232e}.letter-polaroid:hover{z-index:8;box-shadow:6px 14px 22px #4b2b233d}.letter-polaroid img{object-fit:contain;object-position:center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;background:#f3e6d8;width:100%;height:100%;display:block}.letter-polaroid__photo{aspect-ratio:4/5;background:#f3e6d8;place-items:center;width:100%;display:grid;overflow:hidden}.letter-polaroid__tape{z-index:2;width:62px;height:20px;rotate:var(--tape-rotate,-8deg);pointer-events:none;background:#f3d6c2d1;border:1px solid #97684f38;position:absolute;top:-11px;left:18%}.letter-polaroid--top-left{grid-area:1/1;place-self:end;margin:0 -8px 8px 0}.letter-polaroid--bottom-left{grid-area:2/1;place-self:start center;margin:-18px 12px 0 0}.letter-polaroid--top-right{grid-area:1/3;place-self:end start;margin:0 0 4px -6px}.letter-polaroid--bottom-right{grid-area:2/3;place-self:start end;margin:-12px 8px 0 0}.bouquet-builder-page{z-index:4;flex-direction:column;align-items:center;width:min(1120px,92%);min-height:100svh;margin:0 auto;padding:46px 34px 34px;display:flex;position:relative}.bouquet-builder-header{text-align:center}.bouquet-builder-header h1{color:var(--ink);font:400 clamp(38px, 4.5vw, 56px)/1.08 var(--serif);letter-spacing:.015em;text-shadow:1px 2px #6f122821;margin:0}.bouquet-builder-header p{color:#7e4d58;margin:5px 0 19px;font:14px Georgia,Times New Roman,serif}.bouquet-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 18px;width:100%;display:grid}.bouquet-card{cursor:pointer;min-width:0;height:216px;color:var(--ink);content-visibility:auto;contain-intrinsic-size:180px 216px;background:repeating-radial-gradient(circle at 0 0,#6c4b2f09 0 1px,#0000 1px 4px),#fffaf2b8;border:2px solid #0000;border-radius:5px;padding:8px 9px 10px;transition:border-color .25s,box-shadow .25s;position:relative;overflow:visible;box-shadow:1px 4px 8px #4b2b231a}.bouquet-card:hover{box-shadow:3px 9px 15px #4b2b2333}.bouquet-card--selected{border-color:#d85c7dad;box-shadow:3px 8px 14px #97304d33}.bouquet-card-image{place-items:center;width:100%;height:170px;display:grid;position:relative;overflow:hidden}.bouquet-card-image img{object-fit:contain;width:100%;max-width:100%;max-height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0;height:100%!important}.bouquet-card-name{color:#6f2338;font:15px/1.2 var(--serif);text-align:center;margin-top:2px;display:block}.selection-badge{z-index:4;color:#fff;background:var(--rose);border:2px solid #fff8f2;border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:absolute;top:-8px;right:-8px;box-shadow:0 3px 6px #6a16303d}.bouquet-card-sparkle{clip-path:polygon(50% 0,61% 36%,100% 50%,61% 64%,50% 100%,39% 64%,0 50%,39% 36%);background:#d6aa4e;width:7px;height:7px;animation:1.2s ease-in-out infinite gift-sparkle;position:absolute}.bouquet-card-sparkle--one{top:13%;left:12%}.bouquet-card-sparkle--two{animation-delay:.35s;bottom:20%;right:12%}.bouquet-next-button{cursor:pointer;color:#fff;background:var(--rose-dark);border:1px solid #76132e;border-radius:999px;min-width:116px;min-height:44px;margin-top:20px;padding:10px 28px;font-size:14px;font-weight:800;transition:opacity .25s,box-shadow .25s;box-shadow:0 4px 8px #4a122338}.bouquet-next-button:disabled{cursor:not-allowed;opacity:.42;box-shadow:none}.bouquet-reveal-layout{z-index:4;grid-template-columns:minmax(190px,.78fr) minmax(390px,1.35fr) minmax(220px,.9fr);place-items:center;gap:clamp(12px,2.5vw,34px);width:min(1180px,94%);min-height:100svh;margin:0 auto;padding:35px 28px;display:grid;position:relative}.bouquet-admirer{text-align:center;align-self:center;width:100%}.bouquet-admirer--float{animation:4s ease-in-out infinite decor-soft-bob}.bouquet-admirer .mascot-character{object-fit:contain;filter:drop-shadow(0 5px 3px #56273024);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:min(240px,100%);height:auto;margin:0 auto;display:block}.bouquet-admirer p{color:#33252a;font:25px/1.25 var(--script);letter-spacing:.02em;margin:-6px 0 0;rotate:-3deg}.mascot-blinking-eyes{transform-box:fill-box;transform-origin:50%;animation:5.2s ease-in-out infinite mascot-blink}@keyframes mascot-blink{0%,44%,48%,to{transform:scaleY(1)}46%{transform:scaleY(.08)}}.bouquet-reveal-center{text-align:center;width:100%}.final-mix{width:min(310px,74vw);height:min(370px,68vw);margin:0 auto;position:relative;overflow:hidden}.final-mix--canvas{display:block}.final-mix__canvas{width:100%;height:100%;display:block}.personalized-bouquet{width:min(455px,100%);height:560px;margin:0 auto;transition:filter .25s;position:relative}.personalized-bouquet:hover{filter:drop-shadow(0 9px 8px #45271e26)}.personalized-bouquet-base{z-index:1;object-fit:contain;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.personalized-bouquet-accent{object-fit:contain;object-position:top center;clip-path:inset(0 0 50%);width:210px;height:330px;transform:translateX(calc(-50% + var(--accent-x))) rotate(var(--accent-rotation));transform-origin:50% 40%;position:absolute;top:58px;left:50%}.personalized-ribbon{display:none}.bouquet-flower-list{color:#875565;text-transform:capitalize;max-width:470px;margin:-20px auto 0;font:13px/1.5 Georgia,Times New Roman,serif}.compliment-stickers{flex-direction:column;align-items:center;gap:12px;width:min(245px,100%);display:flex;position:relative}.compliment-sticker{color:#5f245f;text-align:center;background:#ddabdab8;border:2px solid #6d337280;border-radius:48% 52% 46% 54%/52% 43% 57% 48%;justify-content:center;align-items:center;gap:7px;width:-moz-fit-content;width:fit-content;min-width:165px;max-width:235px;padding:8px 20px 8px 13px;font:13px/1.25 Georgia,Times New Roman,serif;display:flex;position:relative;box-shadow:2px 4px 7px #4f234921}.compliment-sticker--float{animation:decor-float-y 3.6s ease-in-out var(--float-delay,0s) infinite}.compliment-sticker:nth-child(2n){color:#7d274b;background:#efb4cab8;border-color:#ab3e6773}.compliment-sticker--1{align-self:flex-start;rotate:-3deg}.compliment-sticker--2{align-self:flex-end;rotate:2deg}.compliment-sticker--3{rotate:-2deg}.compliment-sticker--4{align-self:flex-start;rotate:3deg}.compliment-sticker--5{align-self:flex-end;rotate:-2deg}.compliment-sticker--6{rotate:2deg}.compliment-sparkle{color:#8b3d88;position:absolute;top:-8px;right:-7px}.compliment-arrow{color:#662d5ea3;stroke-width:1.7px;position:absolute;top:43%;left:-40px;rotate:-18deg}.gift-page-layout{z-index:4;grid-template-columns:repeat(2,minmax(0,1fr));place-items:center;gap:clamp(45px,8vw,105px);width:min(990px,88%);min-height:100svh;margin:0 auto;padding:62px 24px 36px;display:grid;position:relative}.gift-music-section{flex-direction:column;align-items:center;gap:18px;width:min(390px,100%);display:flex;position:relative}.vinyl-art-card{aspect-ratio:1.3;color:#f8ece8;background:#72051f;border:8px solid #956b45;width:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #d4b788,4px 7px 13px #42191f38}.vinyl-record{aspect-ratio:1;width:47%;position:absolute;top:22%;left:12%}.vinyl-disc{background:repeating-radial-gradient(circle,#161315 0 4px,#30272b 5px 7px);border-radius:50%;place-items:center;width:100%;height:100%;display:grid;box-shadow:3px 5px 7px #1e0f124d}.vinyl-record.is-spinning .vinyl-disc{animation:4s linear infinite vinyl-spin}@keyframes vinyl-spin{to{transform:rotate(360deg)}}.vinyl-record:after{content:"";background:#181518;border-radius:6px;width:9px;height:73%;position:absolute;top:-9%;right:-20%;rotate:28deg;box-shadow:1px 2px #594951}.vinyl-disc>span{aspect-ratio:1;width:46%;color:var(--rose-dark);background:#f6eee7;border-radius:50%;place-items:center;display:grid}.vinyl-message{text-align:center;width:37%;position:absolute;top:38%;right:7%;rotate:-2deg}.vinyl-message p{font:10px/1.2 var(--round);letter-spacing:.11em;margin:0 0 4px}.vinyl-message strong{font:25px/1.35 var(--urdu);margin-top:2px;display:block}.vinyl-art-sparkles{font:14px var(--script);letter-spacing:1.5em;opacity:.8;position:absolute;top:7%;left:10%;right:9%}.vinyl-note{opacity:.55;position:absolute;bottom:9%;right:8%;rotate:13deg}.album-preview-card{color:#fff;background:#790923;border-radius:14px;grid-template-columns:50px minmax(0,1fr) 44px;align-items:center;gap:10px;width:82%;min-height:70px;padding:8px 11px 10px;display:grid;box-shadow:2px 5px 9px #4e122638}.album-preview-card--player{gap:8px 10px;width:92%}.album-thumbnail{object-fit:cover;color:#fff3ef;background:linear-gradient(145deg,#b94d6b,#4d0c1d);border-radius:5px;width:48px;height:48px;display:block;box-shadow:0 2px 6px #1e060e47}.album-thumbnail--icon{place-items:center;display:grid}.album-copy{text-align:left;min-width:0}.album-copy strong,.album-copy span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.album-copy strong{font:15px/1.2 var(--serif)}.album-copy span{opacity:.75;margin-top:3px;font-size:10px}.album-play-button{cursor:pointer;width:44px;height:44px;color:var(--rose-dark);background:#fffdf9;border:0;border-radius:50%;place-items:center;display:grid}.album-play-button:disabled{opacity:.6;cursor:not-allowed}.audio-controls{flex-direction:column;grid-column:1/-1;gap:8px;padding-top:2px;display:flex}.audio-progress-row{opacity:.9;grid-template-columns:34px 1fr 40px;align-items:center;gap:8px;font-size:10px;display:grid}.audio-seek{-webkit-appearance:none;appearance:none;cursor:pointer;background:linear-gradient(#fff4ef47,#fff4ef47) 50%/100% 4px no-repeat;border-radius:999px;width:100%;height:20px;padding:8px 0}.audio-seek::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff8f2;border-radius:50%;width:12px;height:12px;box-shadow:0 1px 3px #00000040}.audio-seek::-moz-range-thumb{background:#fff8f2;border:0;border-radius:50%;width:12px;height:12px}.audio-actions{justify-content:center;align-items:center;gap:10px;display:flex}.audio-actions>button{cursor:pointer;color:#fff8f2;background:#ffffff1f;border:0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.audio-play-toggle{width:48px!important;height:48px!important;color:var(--rose-dark)!important;background:#fff8f2!important}.audio-equalizer{align-items:flex-end;gap:3px;height:16px;margin-left:4px;display:flex}.audio-equalizer span{opacity:.55;background:#f3c9d4;border-radius:2px;width:3px;height:4px}.audio-equalizer.is-playing span{animation:.85s ease-in-out infinite eq-bounce}.audio-equalizer.is-playing span:first-child{animation-delay:0s}.audio-equalizer.is-playing span:nth-child(2){animation-delay:.15s}.audio-equalizer.is-playing span:nth-child(3){animation-delay:.28s}.audio-equalizer.is-playing span:nth-child(4){animation-delay:80ms}@keyframes eq-bounce{0%,to{height:4px}50%{height:15px}}.dedication-overlay{z-index:80;background:#4a1c2657;place-items:center;padding:24px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.dedication-popup{color:#5c2d3a;text-align:center;background:repeating-radial-gradient(circle at 0 0,#66452a0a 0 1px,#0000 1px 4px),#fff8f0;border:1px solid #7a3c4a47;width:min(390px,100%);padding:34px 28px 26px;position:relative;box-shadow:0 16px 34px #44182447}.dedication-tape{background:#e2b5b79e;border:1px solid #975e6d33;width:98px;height:24px;position:absolute;top:-11px;left:50%;translate:-50%;rotate:-2deg}.dedication-message{white-space:pre-line;margin:0 0 22px;font:17px/1.65 Georgia,Times New Roman,serif}.dedication-play-button{cursor:pointer;color:#fff;background:var(--rose-dark);border:1px solid #76132e;border-radius:999px;min-width:180px;min-height:44px;padding:11px 22px;font-size:14px;font-weight:800;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 10px #4a122338}.dedication-play-button:hover{transform:scale(1.04);box-shadow:0 6px 14px #4a122347}.gift-card-stage{perspective:1100px;place-items:center;width:min(380px,100%);min-height:470px;display:grid}.greeting-card-cover{aspect-ratio:1.2;cursor:pointer;width:360px;max-width:100%;transform-style:preserve-3d;background:#690018;border:0;place-items:center;display:grid;position:relative;box-shadow:8px 12px 18px #48132240}.greeting-card-cover svg{width:64%;height:72%}.greeting-card-cover>span{color:#171214;font:800 26px/1 var(--round);letter-spacing:.02em;position:absolute;rotate:-3deg}.greeting-card-inside{color:#171214;width:320px;max-width:92%;min-height:440px;transform-style:preserve-3d;background:repeating-radial-gradient(circle at 0 0,#50362b09 0 1px,#0000 1px 4px),#fffdf8;border:13px solid #690018;flex-direction:column;justify-content:space-between;align-items:center;padding:19px 17px 14px;display:flex;box-shadow:8px 12px 18px #4813223d}.greeting-card-inside--flower-only,.greeting-card-inside--hug{justify-content:center;gap:10px;padding:16px 16px 18px}.greeting-card-inside h2{font:800 30px/1.05 var(--round);letter-spacing:.04em;margin:0}.greeting-card-love{color:var(--ink);font-family:var(--serif);letter-spacing:.02em;text-align:center;text-shadow:1px 2px #6f12281f;margin:0;font-size:clamp(30px,5.4vw,40px);font-weight:400;line-height:1.15}.greeting-card-love .recipient-name{font-size:1.05em}.greeting-card-much{color:var(--ink);font-family:var(--script);letter-spacing:.03em;text-align:center;margin:2px 0 0;font-size:clamp(22px,4.2vw,28px);line-height:1.1}.hug-mascot{width:275px;max-width:112%;margin:-7px 0 -18px}.hug-mascot .mascot-character{width:100%;height:auto;display:block}.hug-mascot--flower,.hug-mascot--panda{width:min(280px,100%);margin:0}.hug-mascot--panda .gift-panda-image{animation:2.8s ease-in-out .7s infinite hug-mascot-bob}.gift-flower-image,.gift-panda-image{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:14px;width:100%;height:auto;max-height:300px;display:block;box-shadow:0 8px 18px #4813222e}@keyframes hug-mascot-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.youtube-player-shell{z-index:-1;opacity:.01;pointer-events:none;width:1px;height:1px;position:fixed;bottom:0;right:0;overflow:hidden}.youtube-player-host,.youtube-player-shell iframe{border:0;width:320px!important;height:180px!important}.music-player-error{color:#ffe3ea;text-align:left;opacity:.95;grid-column:1/-1;margin:2px 0 0;font-size:10px;line-height:1.35}.greeting-card-message{text-align:center}.greeting-card-message span,.greeting-card-message strong{display:block}.greeting-card-message span{font:24px/1.05 var(--script)}.greeting-card-message strong{font:800 28px/1 var(--round);margin-top:4px}@media (max-width:1024px){.paper-layout{background-size:34px 34px,34px 34px,100% 100%,7px 7px}.home-page,.inner-page{width:80%}.title-section h1{font-size:clamp(54px,12vw,78px)}.title-section--compact h1{font-size:clamp(36px,7vw,52px)}.title-row{gap:18px}.heart-trio{flex-basis:45px;transform:scale(.8)}.heart-trio--right{transform:scaleX(-1)scale(.8)}.torn-paper--top{width:39%;height:30%}.star-cluster{transform-origin:100% 0;scale:.8}.flowers-left{transform-origin:0 100%;scale:.8}.flower--right{width:145px;right:10px}.accept-gift-page{width:82%}.choose-gifts-page{width:88%}.gift-options-row{gap:24px}.love-letter-page{grid-template-columns:minmax(125px,1fr) minmax(300px,400px) minmax(125px,1fr);gap:14px 20px;width:96%;padding-inline-start:26px;padding-inline-end:26px}.vintage-letter{min-height:400px;padding:48px 34px 34px;font-size:14px}.letter-polaroid{width:clamp(120px,16vw,170px)}.present-box{width:132px;height:148px}.present-tag{max-width:76px;font-size:9px}.bouquet-builder-page{width:94%;padding-inline-start:20px;padding-inline-end:20px}.bouquet-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bouquet-card{height:210px}.bouquet-card-image{height:164px}.bouquet-reveal-layout{grid-template-columns:minmax(135px,.7fr) minmax(300px,1.3fr) minmax(160px,.8fr);gap:8px;width:98%;padding-inline-start:12px;padding-inline-end:12px}.bouquet-admirer .mascot-character{width:175px}.bouquet-admirer p{font-size:19px}.personalized-bouquet,.final-mix{width:min(370px,100%);height:500px}.personalized-bouquet-accent{width:180px;height:290px;top:58px}.compliment-stickers{gap:10px;width:min(190px,100%)}.compliment-sticker{min-width:150px;max-width:190px;padding:7px 12px;font-size:11px}.gift-page-layout{gap:25px;width:95%;padding-inline-start:16px;padding-inline-end:16px}.gift-music-section,.gift-card-stage{width:min(340px,100%)}.greeting-card-cover{width:325px}.home-page--birthday{width:min(900px,94%)}.birthday-cake{width:min(100%,380px)}.september-calendar{width:min(100%,290px)}.birthday-layout__join{flex-basis:64px;width:64px;height:190px}}@media (max-width:860px){.birthday-layout{flex-direction:column;gap:16px}.birthday-layout:before{border-radius:32px;top:2%;bottom:2%;left:0;right:0}.birthday-layout__join{display:none}.birthday-column--cake{gap:12px}.birthday-cake{width:min(100%,340px)}.september-calendar{width:min(100%,300px)}}@media (max-width:700px){.home-page{gap:46px;width:92%}.home-page--birthday{width:min(94%,520px);padding-top:max(24px, env(safe-area-inset-top,0px));gap:22px}.birthday-layout{flex-direction:column;gap:16px}.birthday-layout:before{top:4%;bottom:4%;left:0;right:0}.birthday-layout__join{display:none}.birthday-column--cake{gap:12px}.birthday-cake{width:min(100%,320px)}.september-calendar{width:min(100%,300px);padding:16px 12px 14px}.september-calendar__weekdays,.september-calendar__grid{gap:4px}.september-calendar__weekdays span{font-size:10px}.september-calendar__cell{border-radius:10px;font-size:13px}.september-calendar__birthday-heart{font-size:30px}.birthday-countdown__number{font-size:clamp(84px,22vw,120px)}.inner-page{gap:18px;width:88%;padding-top:22px}.title-section h1{font-size:clamp(50px,16vw,67px)}.title-section--compact h1{font-size:34px}.subtitle{font-size:13px}.heart-trio{display:none}.continue-button{min-width:215px}.button-stitch{padding:7px 16px;font-size:14px}.torn-paper--top{opacity:.9;width:42%;height:min(25%,190px)}.torn-paper--bottom{width:35%;height:min(24%,180px)}.star-cluster,.flowers-left{scale:.58}.flower--right{width:112px;bottom:-12px;right:-8px}.corner-heart,.scribble,.tape{opacity:.55}.polaroid-row{gap:7px}.polaroid{width:32%;padding:5px 5px 9px}.photo-placeholder{height:96px}.polaroid p{font-size:10px;line-height:1.3}.bouquet{margin:-25px 0;scale:.74}.music-player{gap:14px;padding:14px}.vinyl{flex-basis:112px;width:112px;height:112px}.vinyl-label{width:45px;height:45px;font-size:10px}.track-details h2{font-size:20px}.love-letter{background-image:repeating-linear-gradient(#0000 0 23px,#b76f7e38 24px);padding:20px 24px 15px;font-size:12px;line-height:24px}.final-stars{top:70px;right:15px}.accept-gift-page{width:92%;padding-top:76px}.accept-gift-page h1{font-size:clamp(28px,8vw,38px)}.gift-character{width:min(235px,66vw);margin-top:38px}.gift-choice-buttons{gap:16px}.gift-choice-buttons button{width:102px}.try-again-button{min-width:148px;padding:11px 28px;font-size:14px}.choose-gifts-page{width:92%;padding-top:72px}.choose-gifts-page h1{margin-bottom:36px;font-size:clamp(32px,9vw,44px)}.gift-options-row{flex-direction:column;align-items:center;gap:28px}.gift-option{width:min(280px,78vw)}.gift-option-visual{height:min(270px,74vw)}.letter-back-button{top:max(12px, calc(env(safe-area-inset-top,0px) + 8px));left:max(12px, calc(env(safe-area-inset-left,0px) + 8px))}.love-letter-page{flex-flow:wrap;justify-content:center;align-items:center;gap:18px 16px;width:100%;padding:74px 20px 54px;display:flex;overflow:visible}.vintage-letter{flex:100%;order:1;width:min(100%,430px);min-height:0;max-height:none;padding:46px 28px 32px;font-size:14px}.letter-polaroid{width:min(42vw,168px);margin:0;padding:8px 8px 22px}.letter-polaroid--top-left,.letter-polaroid--top-right,.letter-polaroid--bottom-left,.letter-polaroid--bottom-right{place-self:center;margin:0}.letter-polaroid--top-left{order:2}.letter-polaroid--top-right{order:3}.letter-polaroid--bottom-left{order:4}.letter-polaroid--bottom-right{order:5}.present-box{width:148px;height:166px}.present-tag{max-width:86px;font-size:10px;right:0}.gift-note{box-sizing:border-box;width:min(300px,100vw - 24px);max-width:calc(100vw - 24px);translate:calc(-50% + var(--note-shift-x,0px)) 0;z-index:40;padding:14px 12px 12px;position:absolute;top:auto;bottom:calc(100% + 12px);left:50%;right:auto}.gift-note__text{white-space:normal;overflow-wrap:break-word;font-size:clamp(12px,3.6vw,14px)}.paper-layout:has(.love-letter-page){overflow:clip visible}.scrapbook-stage:has(.love-letter-page){overflow:clip visible}.paper-content:has(.love-letter-page){overflow:visible}.bouquet-builder-page{width:100%;padding:72px 15px 36px}.bouquet-builder-header h1{font-size:clamp(31px,9vw,42px)}.bouquet-builder-header p{margin-bottom:17px;font-size:13px}.bouquet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}.bouquet-card{height:205px;padding:6px 6px 9px}.bouquet-card-image{height:146px}.bouquet-card-name{font-size:13px}.bouquet-next-button{margin-top:22px}.bouquet-reveal-layout{flex-direction:column;gap:28px;width:100%;padding:70px 18px 58px;display:flex}.bouquet-admirer{order:1}.bouquet-admirer .mascot-character{width:220px}.bouquet-admirer p{font-size:23px}.bouquet-reveal-center{order:2}.personalized-bouquet,.final-mix{width:min(390px,92vw);height:clamp(420px,62vw,485px)}.personalized-bouquet-accent{width:175px;height:275px;transform:translateX(calc(-50% + var(--accent-mobile-x))) rotate(var(--accent-rotation));top:58px}.bouquet-flower-list{margin-top:-16px;font-size:12px}.compliment-stickers{order:3;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 10px;width:min(380px,92vw);display:grid}.compliment-sticker,.compliment-sticker:nth-child(n){align-self:center;width:100%;min-width:0;max-width:none;font-size:11px}.compliment-arrow{display:none}.gift-page-layout{flex-direction:column;gap:38px;width:100%;padding:76px 20px 58px;display:flex}.gift-music-section{width:min(375px,94vw)}.dedication-popup{padding:30px 22px 24px}.dedication-message{font-size:15px}.gift-card-stage{width:min(370px,94vw);min-height:420px}.greeting-card-cover{width:min(350px,90vw)}.greeting-card-inside{width:min(320px,88vw)}}@media (max-width:430px){.paper-layout{background-size:30px 30px,30px 30px,100% 100%,7px 7px}.star-cluster{top:-30px;right:-28px;scale:.5}.flowers-left{bottom:-48px;left:-42px;scale:.48}.flower--right{width:98px;bottom:-18px;right:-16px}.corner-heart{opacity:.38;width:44px}.corner-heart--one{left:110px}.corner-heart--two{top:105px;right:72px}.tape,.scribble{opacity:.28}.home-page{gap:36px}.home-page--birthday{gap:18px}.title-section h1{font-size:clamp(49px,15.5vw,62px)}.birthday-blow-button,.home-page--birthday .continue-button{min-width:min(260px,86vw)}.birthday-cake,.september-calendar{width:min(100%,280px)}.accept-gift-page,.choose-gifts-page,.love-letter-page,.bouquet-builder-page,.bouquet-reveal-layout,.gift-page-layout{padding-top:max(76px, calc(env(safe-area-inset-top,0px) + 64px))}.gift-choice-buttons{gap:12px}.gift-option{width:min(280px,82vw)}.letter-polaroid{width:min(44vw,150px)}.personalized-bouquet,.final-mix{height:clamp(380px,115vw,485px)}.dedication-overlay{padding:max(16px, env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) max(16px, env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px))}.dedication-popup{max-height:calc(100svh - 32px);overflow-y:auto}}.birthday-gate{z-index:50;color:#6f2038;background:radial-gradient(circle at 20% 18%,#ffd6e2e6,#0000 42%),radial-gradient(circle at 82% 78%,#e295af73,#0000 40%),linear-gradient(165deg,#fff7f2 0%,#ffe4ec 48%,#f7c8d8 100%);place-items:center;width:100%;min-height:100svh;padding:28px 18px;display:grid;position:relative;overflow:hidden}.birthday-gate__glow{pointer-events:none;background:radial-gradient(circle,#ffffff8c,#0000 68%);border-radius:50%;position:absolute;top:12%;bottom:12%;left:18%;right:18%}.birthday-gate__card{z-index:1;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffbf7c7;border:1px solid #b8335a2e;border-radius:28px;width:min(560px,100%);padding:clamp(28px,5vw,42px) clamp(20px,4vw,34px);position:relative;box-shadow:0 18px 40px #6f203829}.birthday-gate__eyebrow{color:#b8335a;font:600 13px/1.3 var(--round);letter-spacing:.14em;text-transform:uppercase;margin:0 0 28px}.birthday-gate__timer{justify-content:center;align-items:stretch;gap:clamp(6px,2vw,12px);margin:0 auto;display:flex}.birthday-gate__unit{background:linear-gradient(#fff 0%,#ffe9f0 100%);border:1px solid #b8335a29;border-radius:16px;min-width:clamp(58px,16vw,86px);padding:14px 8px 12px;box-shadow:0 8px 16px #6f20381a}.birthday-gate__value{color:#7a0d23;font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:clamp(28px,7vw,42px);line-height:1;display:block}.birthday-gate__label{color:#a04d68;font:700 10px/1 var(--round);letter-spacing:.08em;text-transform:uppercase;margin-top:8px;display:block}.birthday-gate__sep{color:#c03a5b;font:700 28px/1 var(--serif);opacity:.7;align-self:center;padding-bottom:18px}@media (max-width:520px){.birthday-gate__timer{gap:4px}.birthday-gate__sep{padding-bottom:16px;font-size:22px}.birthday-gate__unit{min-width:56px;padding:12px 4px 10px}}.lock-screen{--lock-cream:#fff7f2;--lock-blush:#ffd6e2;--lock-pink:#f28aa8;--lock-rose:#e45f86;--lock-deep:#b8335a;--lock-ink:#6f2038;z-index:40;background:radial-gradient(ellipse at 18% 22%, #ffd6e28c, transparent 42%), radial-gradient(ellipse at 78% 78%, #ffc0d247, transparent 40%), linear-gradient(145deg, #fffaf7 0%, var(--lock-cream) 48%, #ffe8ef 100%);grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);width:100%;min-height:100svh;display:grid;position:relative;overflow:hidden}.lock-screen__glow{pointer-events:none;background:radial-gradient(circle at 30% 45%,#ffffff8c,#0000 35%),radial-gradient(circle at 70% 20%,#f28aa81f,#0000 28%);position:absolute;top:0;bottom:0;left:0;right:0}.lock-screen__art{z-index:1;justify-content:center;align-items:center;min-height:100%;padding:clamp(28px,5vw,64px);display:flex;position:relative}.lock-screen__art-frame{background:linear-gradient(160deg,#ffffffeb,#ffecf3c7);border-radius:36px;width:min(100%,520px);padding:clamp(10px,1.6vw,18px);position:relative;box-shadow:0 18px 40px #8c304e1f,inset 0 2px #fffc}.lock-screen__art-frame:before{content:"";pointer-events:none;border:1.5px dashed #e45f8647;border-radius:28px;position:absolute;top:10px;bottom:10px;left:10px;right:10px}.lock-screen__illustration{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:26px;width:100%;height:auto;display:block}.lock-floater{color:var(--lock-rose);filter:drop-shadow(0 4px 8px #9e2a4e2e);pointer-events:none;animation:4.2s ease-in-out infinite lock-floater-drift;animation-delay:var(--floater-delay,0s);position:absolute}.lock-floater svg{width:100%;height:100%;display:block}.lock-floater--heart-1{color:#f06d93;opacity:.78;width:28px;top:14%;left:10%}.lock-floater--heart-2{color:#ff8fb0;opacity:.7;width:22px;bottom:22%;left:16%}.lock-floater--heart-3{color:#e45f86;opacity:.65;width:18px;top:28%;right:12%}.lock-floater--star-1{color:#ffb4c8;opacity:.85;width:24px;top:18%;right:18%}.lock-floater--star-2{color:#f28aa8;opacity:.75;width:20px;bottom:18%;right:22%}.lock-floater--star-3{color:#ffc0d2;opacity:.7;width:16px;top:62%;left:8%}.lock-screen__panel{z-index:2;background:linear-gradient(165deg, #ff9fba 0%, var(--lock-pink) 42%, var(--lock-rose) 100%);justify-content:center;align-items:center;padding:clamp(24px,4vw,48px) clamp(20px,3vw,40px);display:flex;position:relative;box-shadow:-18px 0 40px #92284a2e}.lock-screen__panel-inner{flex-direction:column;align-items:center;gap:18px;width:min(100%,340px);display:flex}.lock-screen__heading{color:#fff;font-family:var(--script);letter-spacing:.02em;text-align:center;text-shadow:0 2px 10px #781c3a38;margin:0;font-size:clamp(28px,3.4vw,36px);font-weight:400}.lock-screen__digits{justify-content:center;gap:12px;margin-top:4px;display:flex}.lock-screen__digit{background:#ffffff2e;border:2px solid #ffffffc7;border-radius:14px;place-items:center;width:52px;height:56px;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;display:grid;box-shadow:0 6px 14px #781c3a29,inset 0 1px #ffffff59}.lock-screen__digit.is-filled{background:#ffffff52;border-color:#fff;transform:translateY(-1px);box-shadow:0 8px 16px #781c3a33,inset 0 1px #ffffff73}.lock-screen__digits.is-error .lock-screen__digit{background:#ffe6ec47;border-color:#fff0f4}.lock-screen__mask{color:#fff;text-shadow:0 2px 6px #781c3a40;font-size:22px;line-height:1}.lock-screen__feedback{color:#fff6f8;min-height:1.2em;font-family:var(--round);letter-spacing:.02em;text-align:center;opacity:0;margin:-4px 0 0;font-size:14px;font-weight:700;transition:opacity .2s}.lock-screen__feedback.is-visible{opacity:1}.lock-screen__keypad{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px;width:min(100%,280px);margin-top:2px;display:grid}.lock-screen__key{cursor:pointer;width:68px;height:68px;color:var(--lock-ink);background:radial-gradient(circle at 35% 30%,#fffefb,#ffe8ef 70%,#ffd5e2);border:none;border-radius:999px;place-items:center;margin:0 auto;transition:box-shadow .2s;display:grid;box-shadow:0 8px 16px #781c3a33,inset 0 1px #fffffff2}.lock-screen__key span{font-family:var(--round);font-size:24px;font-weight:800;line-height:1;display:inline-block;position:relative}.lock-screen__key span:after{content:"";background:#6f203873;border-radius:999px;width:14px;height:1.5px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}.lock-screen__key:hover{box-shadow:0 12px 22px #781c3a3d,inset 0 1px #fff}.lock-screen__key:focus-visible{outline-offset:3px;outline:3px solid #ffffffd9}.lock-screen__key--special{color:var(--lock-deep);background:radial-gradient(circle at 35% 30%,#fff8fb,#ffd0df 72%,#ffb9cd)}.lock-screen__unlock{cursor:pointer;min-width:168px;color:var(--lock-ink);font-family:var(--round);letter-spacing:.16em;background:linear-gradient(#fffdfb 0%,#ffe8ef 100%);border:none;border-radius:999px;margin-top:8px;padding:14px 34px;font-size:15px;font-weight:800;transition:box-shadow .2s;box-shadow:0 10px 22px #781c3a38,inset 0 1px #fffffff2}.lock-screen__unlock:hover{box-shadow:0 14px 28px #781c3a47,inset 0 1px #fff}.lock-screen__unlock:focus-visible{outline-offset:3px;outline:3px solid #ffffffe6}@media (max-width:920px){.lock-screen{grid-template-rows:auto auto;grid-template-columns:1fr;height:auto;min-height:100svh;overflow:hidden auto}.lock-screen__art{min-height:auto;padding:clamp(16px,4vw,28px) clamp(20px,5vw,36px) 8px}.lock-screen__art-frame{width:min(100%,280px)}.lock-floater--heart-1{width:22px;top:8%;left:8%}.lock-floater--heart-2{width:18px;bottom:8%;left:12%}.lock-floater--heart-3{width:16px;top:16%;right:10%}.lock-floater--star-1{width:18px;top:10%;right:14%}.lock-floater--star-2{width:16px;bottom:6%;right:18%}.lock-floater--star-3{display:none}.lock-screen__panel{padding:24px max(20px, env(safe-area-inset-right,0px)) max(24px, env(safe-area-inset-bottom,0px)) max(20px, env(safe-area-inset-left,0px));border-radius:32px 32px 0 0;box-shadow:0 -12px 30px #92284a29}.lock-screen__panel-inner{gap:12px}.lock-screen__heading{font-size:clamp(26px,7vw,32px)}.lock-screen__digit{width:48px;height:52px}.lock-screen__key{width:62px;height:62px}.lock-screen__key span{font-size:22px}.lock-screen__keypad{gap:12px 16px}}@media (max-width:420px){.lock-screen__art-frame{width:min(100%,280px);padding:8px}.lock-screen__digits{gap:9px}.lock-screen__digit{border-radius:12px;width:44px;height:48px}.lock-screen__keypad{gap:12px 14px;width:min(100%,240px)}.lock-screen__key{width:56px;height:56px}.lock-screen__unlock{min-width:148px;padding:12px 28px;font-size:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.page-fallback{background:0 0;animation:none!important}.birthday-reveal,.birthday-reveal--cake{opacity:1!important;visibility:visible!important;transform:none!important}.gift-box,.present-box,.flower-sticker,.star,.heart-doodle,.lock-floater,.compliment-sticker,.bouquet-admirer,.hug-mascot--panda .gift-panda-image,.confetti span{animation:none!important}}@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-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}@property --tw-ease{syntax:"*";inherits:false}
