@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Manrope:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";/*! 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,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:"Manrope", "Noto Sans SC", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-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;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}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.contents{display:contents}.hidden{display:none}.grow{flex-grow:1}.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}}@font-face{font-family:Dirtyline36Daysoftype2022;src:url(../Dirtyline-36daysoftype-2022.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{color:#fff;font-synthesis:none;background:#050806;font-family:Manrope,Noto Sans SC,sans-serif}*{box-sizing:border-box}html{scroll-behavior:auto;background:#050806}body{-webkit-font-smoothing:antialiased;background:#050806;min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,a{font:inherit}button{cursor:pointer}.birthday-site{background:#050806;min-height:100vh}.experience{height:580vh;position:relative}.video-stage{z-index:0;transform-origin:50%;pointer-events:none;will-change:transform;position:fixed;top:-3%;right:-3%;bottom:-3%;left:-3%;overflow:hidden;transform:scale(1.05)}.scroll-video,.video-poster{object-fit:cover;width:100%;height:100%;transform:scale(1.12)}.scroll-video{background:#0b120d url(../birthday-hero-optimized.jpg) 50%/cover no-repeat}.video-poster{z-index:1;pointer-events:none;will-change:opacity;position:absolute;top:0;right:0;bottom:0;left:0}.video-shade{z-index:2;background:#00050238;position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 -200px 180px #00000094,inset 0 120px 160px #0000003d}.loading-screen{z-index:500;color:#f5f1e8;background:#060907;place-content:center;justify-items:center;gap:16px;transition:opacity .8s,visibility .8s;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.loading-screen p{letter-spacing:.12em;margin:0;font-size:14px}.loading-screen svg{animation:2.5s linear infinite spin}.loading-screen.is-ready{opacity:0;visibility:hidden;pointer-events:none}@keyframes spin{to{transform:rotate(360deg)}}.pill-nav{z-index:100;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700;display:flex;position:fixed;top:22px;left:50%;transform:translate(-50%)}.logo-button{color:#fff;background:#050605;border:1px solid #ffffff1f;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;display:grid}.desktop-nav{white-space:nowrap;background:#070807;border:1px solid #070807;border-radius:30px;align-items:center;gap:4px;height:48px;padding:4px;display:flex;overflow:hidden}.nav-pill,.language-pill{color:#080b08;background:#f1efe9;border:0;border-radius:23px;height:38px;padding:0 20px;transition:color .25s,background .25s,transform .25s;position:relative;overflow:hidden}.nav-pill:before,.language-pill:before{content:"";background:#b8d83b;height:100%;transition:transform .28s;position:absolute;inset:100% 0 auto}.nav-pill:hover:before,.language-pill:hover:before{transform:translateY(-100%)}.nav-pill span,.language-pill>*{z-index:1;position:relative}.nav-pill:hover,.language-pill:hover{transform:translateY(-1px)}.language-pill{background:#b8d83b;align-items:center;gap:7px;display:flex}.mobile-nav{display:none}.hero-copy{z-index:10;pointer-events:none;flex-direction:column;justify-content:flex-end;padding:24px 24px 26px;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}.hero-meta{will-change:transform,opacity;justify-content:space-between;align-items:flex-end;margin-bottom:16px;display:flex}.eyebrow-lockup{text-shadow:0 2px 18px #000000bf;align-items:center;gap:11px;display:flex}.eyebrow-lockup>svg{color:#e5f886;filter:drop-shadow(0 0 10px #d7f15e57);flex:none}.eyebrow-rule{background:#ffffffb8;width:clamp(36px,5vw,74px);height:1px}.eyebrow{letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:clamp(16px,1.4vw,20px);font-weight:700}.twenty-mark{margin:0;font-family:Instrument Serif,serif;font-size:clamp(34px,5vw,70px);font-style:italic;line-height:.7}.hero-motes{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.hero-mote{color:#e2f682c2;filter:drop-shadow(0 0 12px #d7f15e6b);animation:4.5s ease-in-out infinite moteFloat;position:absolute}.mote-a{width:20px;bottom:30%;left:5%}.mote-b{width:24px;animation-delay:-1.4s;bottom:37%;right:12%}.mote-c{width:15px;animation-delay:-2.8s;bottom:22%;left:46%}@keyframes moteFloat{50%{opacity:.44;transform:translateY(-12px)rotate(9deg)}}.hero-copy h1{letter-spacing:-.012em;text-transform:uppercase;white-space:nowrap;text-shadow:0 2px 30px #00000038;max-width:min(94vw,1500px);margin:0;font-family:Dirtyline36Daysoftype2022,Arial Narrow,sans-serif;font-size:clamp(3.75rem,9.2vw,168px);font-weight:400;line-height:.82}.headline-line,.headline-word,.char{display:inline-block}.headline-line{display:block}.page-progress{z-index:120;background:#ffffff29;height:3px;position:fixed;bottom:0;left:0;right:0}.page-progress span{transform-origin:0;background:#d7f15e;width:100%;height:100%;display:block;transform:scaleX(0)}.scroll-hint{z-index:12;transform-origin:100%;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:9px;font-size:10px;font-weight:700;display:flex;position:fixed;top:50%;right:25px;transform:translateY(-50%)rotate(90deg)translate(50%)}.story-rail{z-index:8;pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0}.story-kicker{color:#ffffffe6;letter-spacing:.025em;text-shadow:0 2px 22px #00000080;max-width:460px;margin:0;font-family:Noto Sans SC,Instrument Serif,serif;font-size:clamp(26px,3.2vw,44px);font-style:normal;font-weight:500;line-height:1.3;position:absolute;top:25%;left:6vw}.wish-note{opacity:0;border-top:1px solid #ffffff94;width:min(390px,34vw);padding-top:12px;position:absolute}.wish-note span{color:#d7f15e;letter-spacing:.18em;margin-bottom:18px;font-size:12px;font-weight:700;display:block}.wish-note h2{margin:0 0 11px;font-family:Instrument Serif,Noto Sans SC,serif;font-size:clamp(34px,4.2vw,66px);font-weight:400;line-height:.94}.wish-note p{color:#ffffffb8;margin:0;font-size:13px;line-height:1.75}.note-1{top:24%;right:8vw}.note-2{top:48%;left:8vw}.note-3{top:65%;right:11vw}.panel-anchor{z-index:40;pointer-events:none;justify-content:center;align-items:flex-end;width:100%;height:100vh;padding:28px;display:flex;position:absolute;bottom:0;left:0}.glass-wrap{pointer-events:auto;perspective:1000px;width:min(1240px,100%);height:min(82vh,820px)}.glass-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:100%;height:100%;transform-style:preserve-3d;will-change:transform;contain:paint;background:#050806ad;border:1px solid #ffffff29;border-radius:28px;flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 70px #0000004d}.panel-number{color:#ffffff14;font-family:Instrument Serif,serif;font-size:min(34vw,450px);font-style:italic;line-height:1;position:absolute;top:-8%;right:2%}.panel-content{z-index:1;text-align:center;width:min(980px,100%);margin:auto;padding:52px;position:relative}.serif-kicker{color:#d7f15e;margin:0 0 20px;font-family:Instrument Serif,Noto Sans SC,serif;font-size:20px;font-style:italic}.panel-content h2{letter-spacing:-.03em;margin:0 auto;font-family:Instrument Serif,Noto Sans SC,serif;font-size:clamp(34px,5vw,74px);font-weight:400;line-height:1.08}.signature{color:#ffffffa8;letter-spacing:.05em;margin:24px auto 30px;font-size:13px}.reveal-button{color:#10150a;letter-spacing:.08em;background:#d7f15e;border:0;border-radius:30px;align-items:center;gap:10px;min-height:48px;padding:0 22px;font-size:12px;font-weight:700;transition:transform .25s,background .25s;display:inline-flex}.reveal-button:hover{background:#f4efb2;transform:translateY(-3px)}.marquee{z-index:1;border-top:1px solid #ffffff1f;padding:19px 0;position:relative;overflow:hidden}.marquee-track{width:max-content;animation:22s linear infinite marquee;display:flex}.marquee-track span{color:#ffffff7a;letter-spacing:.2em;flex:none;padding:0 30px;font-size:11px;font-weight:700}@keyframes marquee{to{transform:translate(-50%)}}.wish-modal{z-index:600;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto;background:#020503c2;place-items:center;padding:24px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.wish-card{color:#122013;text-align:center;background:#edf0d4;border:1px solid #fff3;border-radius:26px;width:min(520px,100%);padding:60px 54px 48px;animation:.55s cubic-bezier(.2,.8,.2,1) cardIn;position:relative;overflow:hidden;box-shadow:0 40px 120px #00000080}.wish-card svg{margin:0 auto 18px}.card-age{color:#12201314;font-family:Instrument Serif,serif;font-size:180px;font-style:italic;position:absolute;top:-40px;right:12px}.wish-card h3{margin:0 0 18px;font-family:Instrument Serif,Noto Sans SC,serif;font-size:44px;font-weight:400;position:relative}.wish-card p{margin:0 0 28px;font-size:15px;line-height:1.8;position:relative}.wish-card button{color:#122013;background:0 0;border:1px solid #122013;border-radius:24px;min-height:44px;padding:0 20px;font-weight:700}@keyframes cardIn{0%{opacity:0;transform:translateY(40px)scale(.95)}}.secret-garden{z-index:20;opacity:0;visibility:hidden;pointer-events:none;contain:strict;place-items:center;display:grid;position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.secret-veil{background:#020c06cc;position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 170px #000000b8,inset 0 -100px 140px #00000075}.secret-light{z-index:1;color:#dff477;opacity:.9;position:absolute}.secret-light:nth-of-type(3n){color:#f4e8ba}.secret-content{z-index:2;text-align:center;will-change:transform,opacity;width:min(850px,100% - 42px);padding:46px 30px;position:relative}.secret-content>p:first-child{color:#dff477;letter-spacing:.28em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:700}.secret-age{color:#ffffff1a;margin:-10px 0 -34px;font-family:Instrument Serif,serif;font-size:clamp(150px,26vw,360px);font-style:italic;line-height:1;display:block}.secret-content h2{letter-spacing:-.025em;text-shadow:0 5px 45px #000000b3;margin:0;font-family:Instrument Serif,Noto Sans SC,serif;font-size:clamp(42px,6.4vw,94px);font-weight:400;line-height:1.02}.secret-divider{color:#dff477;justify-content:center;align-items:center;gap:12px;width:96px;margin:26px auto 18px;display:flex}.secret-divider:before,.secret-divider:after{content:"";background:#dff477b3;width:30px;height:1px}.secret-body{color:#ffffffb8;letter-spacing:.05em;max-width:530px;margin:0 auto;font-size:14px;line-height:1.85}.garden-sound{pointer-events:auto;color:#eef7c9;letter-spacing:.08em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#040c0785;border:1px solid #dff4777a;border-radius:24px;align-items:center;gap:9px;min-height:44px;margin-top:24px;padding:0 17px;font-size:11px;font-weight:700;transition:color .25s,background .25s,transform .25s;display:inline-flex;box-shadow:0 8px 34px #00000038}.garden-sound:hover{background:#dff47721;transform:translateY(-2px)}.garden-sound.is-playing{color:#10150a;background:#dff477;border-color:#dff477}.gift-modal{z-index:700;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);pointer-events:auto;background:#010503e6;place-items:center;padding:24px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.celebration{text-align:center;place-content:center;justify-items:center;padding:30px;animation:2.35s both celebrationFade;display:grid;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.celebration-halo{color:#dff477;border:1px solid #dff4776b;border-radius:50%;place-items:center;width:158px;height:158px;margin-bottom:24px;animation:.75s cubic-bezier(.2,.8,.2,1) both haloIn;display:grid;position:relative;box-shadow:0 0 80px #d7f15e29}.celebration-halo span{color:#fff;font-family:Instrument Serif,serif;font-size:70px;font-style:italic;position:absolute}.celebration h2{letter-spacing:-.03em;max-width:900px;margin:0;font-family:Instrument Serif,Noto Sans SC,serif;font-size:clamp(46px,7.2vw,108px);font-weight:400;line-height:1;animation:.7s .2s both celebrationText}.celebration>p{color:#dff477;letter-spacing:.32em;margin:22px 0 0;font-size:10px;font-weight:700;animation:.7s .35s both celebrationText}.celebration-pieces{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.celebration-pieces span{color:#dff477;opacity:0;animation-name:bloomFall;animation-timing-function:cubic-bezier(.2,.65,.35,1);animation-fill-mode:both;position:absolute;top:-40px}.celebration-pieces span:nth-child(2n){color:#f4e8ba}@keyframes celebrationFade{0%,82%{opacity:1}to{opacity:0}}@keyframes haloIn{0%{opacity:0;transform:scale(.2)rotate(-90deg)}}@keyframes celebrationText{0%{opacity:0;transform:translateY(32px)}}@keyframes bloomFall{0%{opacity:0;transform:translateY(-10vh)rotate(0)}18%{opacity:1}to{opacity:0;transform:translateY(112vh) rotate(var(--spin))}}.gift-room{background:#0a120c;border:1px solid #ffffff2b;border-radius:28px;grid-template-rows:auto auto 1fr;width:min(1040px,100%);height:min(88vh,820px);display:grid;position:relative;overflow:hidden;box-shadow:0 40px 150px #000000b8}.gift-close{z-index:3;color:#fff;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:50%;place-items:center;width:43px;height:43px;transition:transform .2s,background .2s;display:grid;position:absolute;top:22px;right:22px}.gift-close:hover{color:#10150a;background:#dff477;transform:rotate(8deg)}.gift-header{border-bottom:1px solid #ffffff1a;align-items:center;gap:18px;padding:30px 78px 24px 32px;display:flex}.gift-seal{color:#10150a;background:#dff477;border-radius:50%;flex:none;place-items:center;width:52px;height:52px;display:grid}.gift-header p{color:#dff477;letter-spacing:.25em;margin:0 0 5px;font-size:9px;font-weight:700}.gift-header h2{margin:0;font-family:Instrument Serif,Noto Sans SC,serif;font-size:clamp(28px,3.4vw,46px);font-weight:400;line-height:1}.gift-header div>span{color:#ffffff8c;margin-top:8px;font-size:12px;display:block}.gift-tabs{border-bottom:1px solid #ffffff1a;gap:8px;padding:14px 30px;display:flex}.gift-tabs button{color:#ffffffb3;letter-spacing:.06em;background:0 0;border:1px solid #ffffff24;border-radius:22px;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:11px;font-weight:700;transition:background .2s,color .2s;display:flex}.gift-tabs button.active{color:#10150a;background:#dff477;border-color:#dff477}.gift-stage{min-height:0;padding:30px;overflow:auto}.letter-panel{color:#142016;text-align:center;background:#edf0d4;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;min-height:100%;padding:42px min(8vw,80px);display:flex;position:relative;overflow:hidden}.letter-panel>p:first-of-type{letter-spacing:.26em;margin:0;font-size:9px;font-weight:700}.letter-age{color:#14201612;font-family:Instrument Serif,serif;font-size:250px;font-style:italic;line-height:1;position:absolute;top:-64px;right:18px}.letter-panel h3{margin:22px 0 0;font-family:Instrument Serif,Noto Sans SC,serif;font-size:clamp(36px,5vw,70px);font-weight:400;line-height:1;position:relative}.letter-rule{justify-content:center;align-items:center;width:92px;margin:18px auto;display:flex}.letter-body,.letter-long{max-width:700px;margin:0;font-size:14px;line-height:1.85;position:relative}.letter-long{color:#142016b8;margin-top:13px;font-family:Instrument Serif,Noto Sans SC,serif;font-size:18px}.letter-panel footer{letter-spacing:.12em;margin-top:26px;font-size:10px;font-weight:700}.letter-panel>:not(.letter-petals):not(.letter-age){z-index:2;position:relative}.letter-age{z-index:0}.letter-petals{z-index:1;pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.letter-petals img{opacity:0;object-fit:contain;filter:drop-shadow(0 7px 7px #46482a1f);will-change:transform,opacity;height:auto;animation-name:petalSettle;animation-timing-function:cubic-bezier(.18,.66,.22,1);animation-fill-mode:forwards;position:absolute}@keyframes petalSettle{0%{opacity:0;transform:translate3d(115px,-145px,0) rotate(calc(var(--petal-rotate) - 90deg)) scale(.7)}16%{opacity:.2}58%{opacity:.48;transform:translate3d(-18px,14px,0) rotate(calc(var(--petal-rotate) + 12deg)) scale(1.03)}82%{opacity:.38;transform:translate3d(7px,-4px,0) rotate(calc(var(--petal-rotate) - 4deg)) scale(.99)}to{opacity:.34;transform:translateZ(0) rotate(var(--petal-rotate)) scale(1)}}.audio-panel{width:min(760px,100%);margin:0 auto}.audio-heading{align-items:center;gap:17px;margin-bottom:24px;display:flex}.audio-heading>svg{color:#dff477;background:#dff4771f;border-radius:50%;flex:none;width:54px;height:54px;padding:14px}.audio-heading h3{margin:0;font-family:Instrument Serif,Noto Sans SC,serif;font-size:clamp(28px,3.3vw,42px);font-weight:400}.audio-heading p{color:#ffffff85;margin:7px 0 0;font-size:12px;line-height:1.6}.audio-card{background:#ffffff09;border:1px solid #ffffff1f;border-radius:18px;align-items:center;gap:15px;margin-top:12px;padding:16px;transition:border .2s,transform .2s,background .2s;display:flex}.audio-card.is-playing{background:#dff47712;border-color:#dff477a6;transform:translate(4px)}.audio-play{color:#10150a;background:#dff477;border:0;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;padding-left:3px;display:grid}.audio-card.is-playing .audio-play{padding-left:0}.audio-copy{flex:1;min-width:0}.audio-copy strong{letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.audio-copy>span{color:#ffffff6b;margin-top:4px;font-size:10px;display:block}.audio-copy>span.audio-error{color:#f4e8ba}.audio-timeline{align-items:center;gap:12px;margin-top:11px;display:flex}.audio-timeline input{accent-color:#dff477;width:100%;min-width:0}.audio-timeline time{color:#ffffff75;font-variant-numeric:tabular-nums;flex:none;font-size:9px}.song-panel{text-align:center;align-content:center;justify-items:center;min-height:100%;display:grid}.song-panel .audio-heading{display:block}.song-panel .audio-card{text-align:left;width:min(620px,100%)}.record-mark{color:#dff477;border:1px solid #dff47766;border-radius:50%;place-items:center;width:108px;height:108px;margin-bottom:20px;display:grid;position:relative;box-shadow:0 0 60px #d7f15e1f}.record-mark span{color:#fff;font-family:Instrument Serif,serif;font-size:38px;font-style:italic;position:absolute;bottom:-3px;right:-8px}@media(max-width:768px){.birthday-site{touch-action:pan-y}.experience{height:var(--story-height,580vh)}.desktop-nav{display:none}.mobile-nav{display:block;position:relative}.mobile-toggle{color:#080b08;background:#f1efe9;border:1px solid #ffffff26;border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.mobile-popover{background:#080b08;border-radius:18px;gap:6px;width:170px;padding:10px;display:grid;position:absolute;top:58px;right:-24px;box-shadow:0 20px 60px #00000059}.mobile-popover button{color:#080b08;background:#eff0e8;border:0;border-radius:12px;padding:11px 12px;font-size:12px;font-weight:700}.hero-copy{padding:18px 14px 24px}.hero-meta{margin-bottom:12px}.hero-copy h1{white-space:normal;font-size:clamp(3rem,13.5vw,6.2rem);line-height:.84}.scroll-hint{white-space:nowrap;right:12px}.story-kicker{width:70%;top:20%;left:18px}.wish-note{width:calc(100% - 64px)}.note-1{top:33%;right:32px}.note-2{top:49%;left:32px}.note-3{top:64%;right:32px}.wish-note h2{font-size:42px}.panel-anchor{height:var(--app-height,100vh);padding:12px}.glass-wrap{height:var(--panel-height,88vh)}.glass-panel{border-radius:22px}.panel-content{padding:34px 22px}.panel-content h2{font-size:clamp(30px,8.5vw,46px)}.signature{line-height:1.65}.wish-card{padding:48px 24px 36px}.wish-card h3{font-size:38px}.eyebrow-lockup{gap:7px}.eyebrow{letter-spacing:.09em;font-size:clamp(14px,4vw,17px)}.eyebrow-rule{width:24px}.eyebrow-lockup>svg:last-child,.hero-motes{display:none}.secret-content{padding:30px 14px}.secret-age{margin-bottom:-22px;font-size:46vw}.secret-content h2{font-size:clamp(38px,11vw,58px)}.secret-body{font-size:12px}.gift-modal{padding:9px}.gift-room{border-radius:20px;height:min(95dvh,860px)}.gift-header{gap:12px;padding:22px 58px 18px 18px}.gift-seal{width:42px;height:42px}.gift-header h2{font-size:28px}.gift-header div>span{display:none}.gift-close{width:38px;height:38px;top:16px;right:14px}.gift-tabs{gap:5px;padding:10px 12px;overflow-x:auto}.gift-tabs button{min-width:max-content;padding:0 12px}.gift-stage{padding:13px}.letter-panel{padding:34px 20px}.letter-age{font-size:160px;top:-32px}.letter-petals img:nth-child(n+5){display:none}.letter-petals img{max-width:58px}.garden-sound{letter-spacing:.04em;max-width:calc(100vw - 48px);margin-top:19px;padding:0 14px}.letter-long{font-size:15px}.audio-heading{align-items:flex-start;margin-bottom:16px}.audio-heading h3{font-size:28px}.audio-card{gap:11px;padding:13px}.audio-timeline{gap:7px}.audio-timeline time{font-size:8px}.celebration-halo{width:126px;height:126px}.celebration h2{font-size:clamp(42px,13vw,66px)}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.letter-petals img{opacity:.3;transform:rotate(var(--petal-rotate))}}.panel-content h2{letter-spacing:-.018em;text-wrap:balance;max-width:860px;font-family:Noto Sans SC,Microsoft YaHei,sans-serif;font-size:clamp(30px,4.15vw,60px);font-weight:400;line-height:1.22}.signature{max-width:680px;margin:22px auto 28px;line-height:1.7}.global-music{z-index:160;pointer-events:auto;position:fixed;bottom:26px;left:28px}.global-music .garden-sound{margin-top:0}.celebration-halo>svg{opacity:.34;transform:scale(.68)}.celebration-halo span{font-size:62px;line-height:1}.celebration h2{letter-spacing:-.02em;text-wrap:balance;max-width:820px;font-family:Noto Sans SC,Microsoft YaHei,sans-serif;font-size:clamp(40px,5.7vw,86px);line-height:1.13}.celebration>p{margin-top:18px}.gift-stage{position:relative}.cyber-radio{z-index:5;color:#f3f7db;transform-origin:100% 100%;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#060d09f0;border:1px solid #dff47799;border-radius:16px;width:272px;padding:13px;transition:transform .25s,border-color .25s,box-shadow .25s;position:absolute;bottom:24px;right:24px;transform:rotate(-4deg);box-shadow:0 16px 42px #0000006b,inset 0 0 0 1px #7dffc214}.cyber-radio:hover,.cyber-radio:focus-within{border-color:#dff477;transform:rotate(-2deg)translateY(-3px);box-shadow:0 19px 48px #00000080,0 0 30px #dff47724}.cyber-radio.is-playing{border-color:#dff477;box-shadow:0 19px 48px #00000080,0 0 34px #dff4773d}.radio-topline{color:#dff477d6;letter-spacing:.14em;border-bottom:1px solid #dff4773b;grid-template-columns:9px 1fr auto;align-items:center;gap:7px;padding-bottom:9px;font-size:8px;font-weight:700;display:grid}.radio-led{background:#dff477;border-radius:50%;width:7px;height:7px;box-shadow:0 0 11px #dff477d9}.cyber-radio:not(.is-playing) .radio-led{opacity:.38;box-shadow:none}.radio-main{align-items:center;gap:10px;padding:11px 0 9px;display:flex}.radio-mark{color:#dff477;border:1px solid #dff47785;border-radius:10px;flex:none;place-items:center;width:46px;height:46px;display:grid;position:relative}.radio-mark span{color:#f3f7dbe6;font-family:Instrument Serif,serif;font-size:20px;font-style:italic;position:absolute;bottom:0;right:3px}.radio-copy{gap:4px;min-width:0;display:grid}.radio-copy strong{color:#f6f8e9;letter-spacing:.035em;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.radio-copy span{color:#d7f15eb3;font-variant-numeric:tabular-nums;letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.radio-progress{accent-color:#dff477;width:100%;margin:0}.radio-controls{justify-content:space-between;align-items:center;gap:9px;margin-top:8px;display:flex}.radio-controls button{color:#10150a;letter-spacing:.08em;background:#dff477;border:1px solid #dff477a6;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 13px;font-size:10px;font-weight:800;display:inline-flex}.radio-controls .radio-restart{color:#dff477;background:0 0;border-color:#dff47766;width:38px;padding:0}@media(max-width:768px){.panel-content{padding:34px 20px}.panel-content h2{letter-spacing:-.012em;max-width:600px;font-size:clamp(27px,7.2vw,42px);line-height:1.28}.global-music{z-index:160;bottom:14px;left:12px}.global-music .garden-sound{max-width:calc(100vw - 24px);min-height:42px;font-size:10px}.celebration h2{letter-spacing:-.012em;max-width:560px;font-size:clamp(38px,10.2vw,58px);line-height:1.16}.celebration-halo{margin-bottom:18px}.cyber-radio{width:min(236px,100% - 34px);padding:11px;bottom:17px;right:17px;transform:rotate(-2deg)}.cyber-radio:hover,.cyber-radio:focus-within{transform:rotate(-1deg)translateY(-2px)}.letter-panel{padding-bottom:170px}.radio-topline{letter-spacing:.1em;font-size:7px}.radio-copy strong{font-size:12px}}.global-music{bottom:26px;left:auto;right:28px}.celebration h2{gap:.04em;max-width:860px;display:grid}.celebration-line{white-space:nowrap;justify-content:center;align-items:center;gap:.16em;display:inline-flex}.celebration-name-flower{color:#dff477;filter:drop-shadow(0 0 12px #dff4775c);flex:none;animation:2.8s ease-in-out infinite nameFlowerFloat}@keyframes nameFlowerFloat{50%{transform:translateY(-5px)rotate(10deg)scale(1.08)}}.music-player{z-index:5;color:#172117;-webkit-backdrop-filter:blur(22px)saturate(1.1);backdrop-filter:blur(22px)saturate(1.1);background:#e8efda94;border:1px solid #ffffff85;border-radius:25px;width:min(382px,100% - 44px);padding:16px;transition:transform .25s,box-shadow .25s,background .25s;position:absolute;bottom:22px;right:22px;box-shadow:0 18px 52px #040b0647,inset 0 1px #ffffff8f}.music-player-top{align-items:center;gap:13px;display:flex}.music-cover{object-fit:cover;object-position:45% 28%;border:1px solid #ffffffb8;border-radius:16px;flex:none;width:72px;height:72px;box-shadow:0 9px 20px #0e190e2e}.music-copy{gap:5px;min-width:0;display:grid}.music-copy>span{color:#294221ad;letter-spacing:.16em;font-size:8px;font-weight:800}.music-copy strong{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-family:Noto Sans SC,Microsoft YaHei,sans-serif;font-size:16px;font-weight:700;overflow:hidden}.music-copy em{color:#1721179e;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-style:normal;overflow:hidden}.music-progress input{accent-color:#44613a;width:100%;margin:0}.music-progress div{color:#1721179e;font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:4px;font-size:9px;display:flex}.music-controls{justify-content:center;align-items:center;gap:22px;margin-top:7px;display:flex}.music-controls button{color:#1b2b1b;background:0 0;border:0;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.music-controls .music-primary{color:#eff5dc;background:#263c25;width:48px;height:48px;box-shadow:0 6px 14px #1b2b1b3d}@media(max-width:768px){.global-music{bottom:14px;left:auto;right:12px}.celebration-line{gap:.12em}.celebration-name-flower{width:27px;height:27px}.music-player{border-radius:22px;width:min(334px,100% - 26px);padding:13px;bottom:13px;right:13px}.music-cover{border-radius:14px;width:60px;height:60px}.music-copy strong{font-size:14px}.music-controls{gap:18px}.letter-panel{padding-bottom:186px}}.global-music-card{color:#182419;-webkit-backdrop-filter:blur(20px)saturate(1.08);backdrop-filter:blur(20px)saturate(1.08);text-align:left;background:#e8efda94;border:1px solid #ffffff75;border-radius:19px;align-items:center;gap:10px;max-width:min(330px,100vw - 56px);min-height:58px;padding:7px 10px 7px 7px;transition:transform .25s,background .25s,box-shadow .25s;display:flex;box-shadow:0 14px 38px #01090447,inset 0 1px #ffffff94}.global-music-card:hover,.global-music-card:focus-visible{background:#f0f4e4b8;transform:translateY(-3px);box-shadow:0 18px 44px #01090457,inset 0 1px #ffffffb3}.global-music-play{color:#f1f5de;background:#263c25;border-radius:14px;flex:none;place-items:center;width:43px;height:43px;display:grid}.global-music-copy{flex:1;gap:3px;min-width:0;display:grid}.global-music-copy small{color:#273e22a8;letter-spacing:.16em;font-size:8px;font-weight:800}.global-music-copy strong{color:#1c2b1d;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;font-family:Noto Sans SC,Microsoft YaHei,sans-serif;font-size:11px;font-weight:700;overflow:hidden}@media(max-width:768px){.global-music-card{border-radius:17px;max-width:min(280px,100vw - 24px);min-height:52px}.global-music-play{border-radius:12px;width:38px;height:38px}.global-music-copy strong{font-size:10px}}.celebration h2{letter-spacing:.012em;gap:.09em;max-width:980px;font-size:clamp(52px,8.2vw,112px);font-weight:500;line-height:1.08}.celebration-line{gap:.22em}.celebration-name-flower{width:40px;height:40px}.celebration>p{letter-spacing:.34em;margin-top:20px;font-size:11px}.music-player{color:#321b29;transform-origin:100% 100%;background:#dda7b6c7;border-color:#fff0f5a6;border-radius:20px;width:min(356px,100% - 40px);padding:11px 14px 9px;bottom:18px;right:20px;transform:rotate(-4deg);box-shadow:0 17px 42px #2c0e1b4d,inset 0 1px #fff4f78c}.music-player:hover,.music-player:focus-within{background:#e8b5c2db;transform:rotate(-2deg)translateY(-3px);box-shadow:0 20px 48px #2c0e1b59,inset 0 1px #fff4f7b8}.music-copy{gap:3px}.music-copy>span{color:#461d31ad;font-size:7px}.music-copy strong{color:#321b29;font-size:13px}.music-copy em{color:#321b299e;font-size:9px}.music-progress{margin-top:8px}.music-progress div{color:#321b299e;margin-top:2px;font-size:8px}.music-controls{gap:18px;margin-top:1px}.music-controls button{color:#432032;width:34px;height:34px}.music-controls .music-primary{color:#fff6f8;background:#472037;width:40px;height:40px}.memory-game{width:min(820px,100%);margin:0 auto;padding:4px 4px 142px}.memory-heading{color:#dff477;align-items:flex-start;gap:13px;margin:0 0 19px;display:flex}.memory-heading>svg{background:#dff47717;border:1px solid #dff47766;border-radius:15px;flex:none;width:46px;height:46px;padding:11px}.memory-heading p{letter-spacing:.19em;margin:0 0 4px;font-size:8px;font-weight:800}.memory-heading h3{color:#f1f6df;letter-spacing:.03em;margin:0;font-family:Noto Sans SC,Microsoft YaHei,sans-serif;font-size:clamp(24px,3.2vw,34px);font-weight:500}.memory-heading span{color:#ffffff9e;max-width:570px;margin-top:6px;font-size:12px;line-height:1.6;display:block}.memory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.memory-card{color:#f4f7e6;text-align:left;background:#0b160d;border:1px solid #fff3;border-radius:18px;min-height:240px;padding:0;transition:transform .28s,border-color .28s,box-shadow .28s;position:relative;overflow:hidden;box-shadow:0 14px 35px #00000038}.memory-card:not(:disabled):hover,.memory-card:not(:disabled):focus-visible{border-color:#dff477b3;transform:translateY(-7px)rotate(0);box-shadow:0 20px 42px #00000057}.memory-card img{object-fit:cover;opacity:.34;filter:blur(5px)saturate(.65);width:100%;height:100%;transition:opacity .35s,filter .35s,transform .45s;position:absolute;top:0;right:0;bottom:0;left:0}.memory-card.is-open img{opacity:.94;filter:none;transform:scale(1.03)}.memory-card-index{color:#dff477;letter-spacing:.13em;font-size:10px;font-weight:800;position:absolute;top:11px;left:12px}.memory-card-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#040c07b8;border:1px solid #ffffff2b;border-radius:13px;gap:4px;padding:11px;display:grid;position:absolute;inset:auto 10px 10px}.memory-card-overlay svg{color:#dff477}.memory-card-overlay strong{letter-spacing:.03em;font-size:12px}.memory-card-overlay small{color:#dff477bf;letter-spacing:.11em;font-size:8px;font-weight:800}.memory-card.is-locked{cursor:not-allowed;opacity:.58}.memory-egg{color:#f2f7de;background:#dff47714;border:1px solid #dff47766;border-radius:15px;align-items:flex-start;gap:10px;margin-top:17px;padding:13px 15px;animation:.35s both eggReveal;display:flex}.memory-egg>svg{color:#dff477;flex:none}.memory-egg span{color:#dff477;letter-spacing:.14em;font-size:8px;font-weight:800}.memory-egg p{margin:5px 0 0;font-size:13px;line-height:1.6}.memory-finale{color:#ffffffc2;align-items:flex-start;gap:9px;margin-top:12px;font-size:12px;line-height:1.65;display:flex}.memory-finale svg{color:#dff477;flex:none}@keyframes eggReveal{0%{opacity:0;transform:translateY(10px)}}@media(max-width:768px){.celebration h2{letter-spacing:.008em;max-width:94vw;font-size:clamp(44px,11.5vw,68px);line-height:1.13}.celebration-name-flower{width:29px;height:29px}.celebration-line{gap:.14em}.music-player{width:min(310px,100% - 28px);padding:10px 12px 8px;bottom:13px;right:14px;transform:rotate(-2deg)}.music-player:hover,.music-player:focus-within{transform:rotate(-1deg)translateY(-2px)}.letter-panel{padding-bottom:126px}.memory-game{padding:2px 0 132px}.memory-grid{grid-template-columns:1fr;gap:12px}.memory-card{min-height:205px}.memory-card:nth-child(2),.memory-card:nth-child(3){transform:none}.memory-heading span{font-size:11px}}.music-player{color:#243025;-webkit-backdrop-filter:blur(30px)saturate(1.18);backdrop-filter:blur(30px)saturate(1.18);background:#f6f9f538;border-color:#ffffff80;box-shadow:0 18px 46px #0d150e38,inset 0 1px #ffffff70}.music-player:hover,.music-player:focus-within{background:#fafcf94d;box-shadow:0 22px 52px #0d150e47,inset 0 1px #ffffff94}.music-player.is-playing{box-shadow:0 22px 52px #0d150e47,0 0 28px #ffffff29,inset 0 1px #ffffff94}.music-copy>span,.music-copy em,.music-progress div{color:#1d2b1ead}.music-copy strong{color:#1d2b1e}.music-controls button{color:#263728}.music-controls .music-primary{color:#f7faf3;background:#1d311fe0;box-shadow:0 5px 13px #0a140b38}.global-music-card{color:#eef5e5;-webkit-backdrop-filter:blur(24px)saturate(1.16);backdrop-filter:blur(24px)saturate(1.16);background:#0c180e47;border-color:#ffffff52;box-shadow:0 14px 38px #00000042,inset 0 1px #ffffff2e}.global-music-card:hover,.global-music-card:focus-visible{background:#12211461;box-shadow:0 18px 44px #00000052,inset 0 1px #ffffff42}.global-music-card.is-playing{box-shadow:0 18px 44px #00000052,0 0 26px #dff47721,inset 0 1px #ffffff42}.global-music-play{color:#1a321b;background:#e0f0cce0}.global-music-copy small{color:#e4f4cfad}.global-music-copy strong{color:#f2f7eb}.global-music-volume{color:#eff7e4b8}.music-player{transform-origin:100% 100%;grid-template-rows:48px 24px;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;width:min(318px,100% - 44px);height:94px;padding:9px 11px;display:grid;bottom:28px;right:22px;transform:rotate(-30deg)}.music-player-top{grid-area:1/1;gap:8px}.music-progress{grid-area:2/1;align-self:end;margin:0}.music-progress div{display:none}.music-controls{grid-area:1/2/span 2;gap:5px;margin:0}.memory-game{color:#493b2a;background-color:#fff8e4;background-position:50%;background-size:cover;border:1px solid #49372229;border-radius:23px;width:min(850px,100%);min-height:100%;margin:0 auto;padding:42px 40px 154px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff7a}.memory-heading{z-index:1;color:#8f7560;position:relative}.memory-heading>svg{background:#fffaec94;border-color:#8f75604d}.memory-heading p{color:#a16f68}.memory-heading h3{color:#493b2a;font-family:Instrument Serif,Noto Sans SC,serif;font-size:clamp(32px,4.2vw,48px);font-weight:400}.memory-heading span{color:#493b2ac7}.memory-grid{z-index:1;gap:20px;position:relative}.memory-card{min-height:270px;box-shadow:none;color:#493b2a;background:0 0;border:0;border-radius:0;overflow:visible}.memory-card:nth-child(2){transform:rotate(3deg)}.memory-card:nth-child(3){transform:rotate(-3deg)}.memory-card:not(:disabled):hover,.memory-card:not(:disabled):focus-visible{box-shadow:none;border:0;transform:translateY(-7px)rotate(0)}.memory-theme-sticker{object-fit:contain;opacity:.96;filter:none;width:calc(100% - 16px);height:calc(100% - 54px);position:absolute;top:18px;right:8px;bottom:36px;left:8px;transform:none}.memory-card.is-open .memory-theme-sticker{opacity:.6;transform:rotate(-5deg)scale(.93)}.memory-photo-sticker{object-fit:cover;border:7px solid #fffdf5f2;border-radius:12px;width:56%;height:57%;animation:.42s both photoStickerIn;display:block;position:absolute;bottom:44px;right:5%;transform:rotate(7deg);box-shadow:0 9px 19px #4931273d}.memory-card-index{z-index:2;color:#a16f68;font-size:11px;top:5px;left:8px}.memory-card-overlay{z-index:3;color:#493b2a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffaeea8;border:1px solid #8f75603b;border-radius:12px;grid-template-columns:18px 1fr;align-items:center;column-gap:6px;min-height:46px;padding:7px 9px;inset:auto 7px 0}.memory-card-overlay svg{color:#a16f68;grid-row:1/span 2}.memory-card-overlay strong{font-size:11px}.memory-card-overlay small{color:#684d3db8;letter-spacing:.07em;font-size:7px}.memory-card.is-locked{opacity:.58}.memory-card.is-open .memory-card-overlay{background:#fffaeebf}.memory-egg{z-index:1;color:#493b2a;background:#fff8e79e;border-color:#a16f684d;position:relative}.memory-egg>svg,.memory-egg span,.memory-finale svg{color:#b67973}.memory-finale{z-index:1;color:#493b2ae0;position:relative}@keyframes photoStickerIn{0%{opacity:0;transform:rotate(12deg)scale(.72)}}@media(max-width:768px){.music-player{width:min(270px,100% - 34px);height:90px;bottom:25px;right:17px;transform:rotate(-24deg)}.music-player:hover,.music-player:focus-within{transform:rotate(-24deg)translateY(-2px)}.memory-game{border-radius:18px;padding:28px 18px 132px}.memory-card{min-height:240px}.memory-card:nth-child(2),.memory-card:nth-child(3){transform:rotate(1.5deg)}.memory-heading h3{font-size:36px}}.music-player{transform-origin:100% 100%;grid-template-rows:74px 42px;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;width:min(342px,100% - 48px);height:166px;padding:14px 14px 12px;bottom:24px;right:24px;transform:rotate(-15deg)}.music-player:hover,.music-player:focus-within{transform:rotate(-15deg)translateY(-3px)}.music-player-top{gap:11px}.music-cover{border-radius:13px;width:64px;height:64px}.music-copy strong{font-size:13px}.music-copy em{font-size:9px}.music-copy>span{font-size:7px}.music-progress{align-self:end}.music-progress div{margin-top:2px;display:flex}.music-controls{gap:8px}.music-controls button{width:34px;height:34px}.music-controls .music-primary{width:42px;height:42px}.letter-panel{padding-bottom:178px}.memory-game{background-position:50%;background-size:100% 100%;grid-template-rows:auto minmax(0,1fr) auto auto;align-content:stretch;height:100%;min-height:0;padding:24px 28px 132px;display:grid}.memory-heading{margin-bottom:10px}.memory-heading>svg{width:38px;height:38px;padding:9px}.memory-heading h3{font-size:clamp(28px,3.5vw,39px)}.memory-heading span{margin-top:3px;font-size:11px}.memory-grid{align-items:center;gap:14px;min-height:0}.memory-card{height:min(100%,236px);min-height:198px}.memory-theme-sticker{width:calc(100% - 14px);height:calc(100% - 42px);top:9px;right:7px;bottom:33px;left:7px}.memory-photo-sticker{height:53%;bottom:37px}.memory-card-overlay{min-height:39px;padding:5px 8px}.memory-egg{margin-top:7px;padding:9px 11px}.memory-egg p{margin-top:3px;font-size:11px}.memory-finale{margin-top:6px;font-size:11px}@media(max-width:768px){.music-player{grid-template-rows:62px 34px;width:min(292px,100% - 32px);height:142px;padding:12px;bottom:19px;right:16px;transform:rotate(-15deg)}.music-player:hover,.music-player:focus-within{transform:rotate(-15deg)translateY(-2px)}.music-cover{width:54px;height:54px}.music-controls button{width:30px;height:30px}.music-controls .music-primary{width:37px;height:37px}.letter-panel{padding-bottom:150px}.memory-game{padding:18px 16px 116px}.memory-card{height:auto;min-height:176px}.memory-grid{gap:9px}.memory-heading h3{font-size:31px}}.letter-panel{isolation:isolate;background:radial-gradient(circle at 14% 18%,#ffffff85,#0000 26%),radial-gradient(circle at 86% 74%,#c9d29b33,#0000 32%),#edf0d4;border:1px solid #645c361f;padding:58px min(8vw,92px) 205px;box-shadow:inset 0 0 72px #5c623714,0 18px 40px #0008031f}.letter-panel>:not(.letter-petals):not(.letter-age):not(.letter-collage){z-index:3;position:relative}.letter-collage{z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 14px 18px #26201421);display:block;position:absolute}.letter-collage-note{opacity:.86;width:clamp(112px,16vw,184px);top:15px;left:18px;transform:rotate(-8deg)}.letter-collage-stamps{opacity:.78;width:clamp(145px,22vw,238px);bottom:10px;left:14px;transform:rotate(-6deg)}.letter-panel .music-player{z-index:5;transform-origin:100% 100%;width:min(332px,100% - 50px);height:154px;position:absolute;bottom:32px;right:18px;transform:rotate(-15deg)}.letter-panel .music-player:hover,.letter-panel .music-player:focus-within{transform:rotate(-15deg)translateY(-3px)}@media(max-width:768px){.letter-panel{padding:72px 20px 178px}.letter-collage-note{opacity:.72;width:104px;top:10px;left:8px}.letter-collage-stamps{opacity:.66;width:134px;bottom:10px;left:7px}.letter-panel .music-player{width:min(280px,100% - 26px);height:136px;bottom:24px;right:10px}}.panel-content{align-content:center;justify-items:center;gap:0;display:grid}.panel-content h2{max-width:760px}.panel-content .reveal-button{z-index:4;margin:0;position:relative;box-shadow:0 10px 24px #d7f15e29}@media(max-width:768px){.panel-content h2{max-width:520px}.panel-content .signature{margin:15px auto 18px;font-size:11px}}.panel-content{width:min(1100px,100%);padding:48px 54px}.panel-content h2{letter-spacing:-.028em;max-width:1040px;font-size:clamp(34px,4.35vw,62px);line-height:1.18}.panel-content .signature{margin:22px auto 26px}.letter-panel{background:radial-gradient(circle at 76% 14%,#ffffffb3,#0000 30%),radial-gradient(circle at 12% 84%,#d0bf9429,#0000 29%),#f3f0df;border-radius:30px;padding:72px min(9vw,118px) 198px;box-shadow:inset 0 0 0 1px #725e351a,inset 0 0 82px #584d2b12,0 24px 52px #00080333}.letter-panel>.letter-collage.letter-collage{z-index:2;margin:0;display:block;position:absolute}.letter-panel .letter-collage-note{opacity:.96;width:clamp(232px,23vw,340px);top:-86px;left:-56px;transform:rotate(-11deg)}.letter-panel .letter-collage-stamps{opacity:.96;width:clamp(310px,31vw,462px);bottom:-148px;left:-86px;transform:rotate(-10deg)}.letter-panel>p:first-of-type,.letter-panel h3,.letter-panel .letter-rule,.letter-panel .letter-body,.letter-panel .letter-long,.letter-panel footer{z-index:3}.letter-panel .music-player{z-index:5;bottom:26px;right:18px;box-shadow:0 24px 46px #1b1f1642,inset 0 1px #ffffffb3}@media(max-width:768px){.panel-content{width:min(660px,100%);padding:34px 20px}.panel-content h2{max-width:620px;font-size:clamp(30px,7.5vw,46px);line-height:1.22}.letter-panel{border-radius:22px;padding:82px 24px 172px}.letter-panel .letter-collage-note{width:205px;top:-52px;left:-47px}.letter-panel .letter-collage-stamps{width:280px;bottom:-97px;left:-72px}.letter-panel .music-player{bottom:17px;right:10px}}.gift-room{width:min(1040px,100%)}.gift-stage{padding:22px}.letter-panel{height:min(640px,100%);min-height:0;margin:0 auto}.letter-panel>.music-player.music-player.music-player{z-index:6;bottom:56px;right:-34px;position:absolute!important}.memory-game{width:100%;max-width:none}@media(max-width:768px){.gift-stage{padding:13px}.letter-panel{height:auto;min-height:560px}.letter-panel>.music-player.music-player.music-player{bottom:54px;right:-30px}}.letter-writing{z-index:3;color:#142016d1;text-align:left;width:min(700px,100%);margin:18px auto 0;position:relative}.letter-writing p{margin:0 0 10px;font-size:14px;line-height:1.72}.letter-writing .letter-salutation{color:#142016;letter-spacing:.02em;margin-bottom:7px;font-size:15px;font-weight:700}.letter-writing .letter-salutation+.letter-salutation{margin-bottom:16px}.letter-panel:has(.letter-writing){height:auto;min-height:700px;padding-bottom:206px}@media(max-width:768px){.letter-writing{margin-top:14px}.letter-writing p{font-size:13px;line-height:1.68}.letter-panel:has(.letter-writing){min-height:780px;padding-bottom:178px}}.video-stage,.video-poster{contain:paint}@media(prefers-reduced-motion:reduce){.video-stage,.video-poster{transform:none}}.gift-modal{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#010503eb}.celebration{contain:paint;will-change:opacity}.gift-modal{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.celebration-halo{box-shadow:0 0 76px #d7f15e29}.letter-panel .music-player{-webkit-backdrop-filter:blur(26px)saturate(1.16);backdrop-filter:blur(26px)saturate(1.16)}html.is-page-scrolling .glass-panel{-webkit-backdrop-filter:none;backdrop-filter:none;background:#050806c7}html.is-page-scrolling .global-music-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0a160db8}@media(max-width:768px){html,body{overscroll-behavior-y:none}.scroll-hint{display:none}.gift-room{height:min(92svh,820px);max-height:calc(100svh - 18px)}.gift-stage{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.memory-game{background-position:top;background-size:cover;height:auto;min-height:100%;padding:18px 14px 34px;display:block;overflow:visible}.memory-grid{grid-template-columns:1fr;align-items:stretch;gap:16px;min-height:auto}.memory-card,.memory-card:nth-child(2),.memory-card:nth-child(3){height:250px;min-height:250px;overflow:hidden;transform:none}.memory-card:not(:disabled):hover,.memory-card:not(:disabled):focus-visible{transform:none}.memory-egg,.memory-finale{z-index:2;position:relative}}@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}
