.after-birthday-body{background:#061116}.after-birthday{--after-ink: #fffaf0;--after-muted: rgba(255, 250, 240, .7);--after-gold: #e2b85f;--after-rose: #e16b8f;--after-green: #91c7ad;--after-blue: #8fb8d8;position:relative;min-height:100vh;overflow:hidden;color:var(--after-ink);background:radial-gradient(circle at 72% 14%,rgba(226,184,95,.18),transparent 28%),radial-gradient(circle at 18% 64%,rgba(145,199,173,.14),transparent 30%),linear-gradient(180deg,#061116,#101b26 46%,#f5e8c7)}.after-birthday *,.after-birthday *:before,.after-birthday *:after{box-sizing:border-box}.after-birthday a{color:inherit;text-decoration:none}.after-birthday button{font:inherit}.after-sky{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.after-star{position:absolute;border-radius:50%;background:#fff4cb;box-shadow:0 0 18px #fff4cbad;animation:afterStar 3.4s ease-in-out infinite}.after-nav{position:fixed;top:18px;left:50%;z-index:20;display:flex;align-items:center;justify-content:space-between;width:min(calc(100% - 40px),1160px);min-height:54px;padding:8px 10px 8px 16px;border:1px solid rgba(255,244,203,.22);border-radius:8px;background:#050e139e;box-shadow:0 18px 58px #0000003d;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);transform:translate(-50%)}.after-nav a,.after-nav nav{display:flex;align-items:center}.after-nav>a{gap:9px;font-weight:900}.after-nav svg{color:var(--after-gold)}.after-nav nav{gap:4px}.after-nav nav a{min-height:34px;padding:0 12px;border-radius:8px;color:#fffaf0bd;font-size:.86rem;font-weight:900}.after-nav nav a:hover{color:#fff;background:#ffffff1a}.after-birthday main{position:relative;z-index:1}.after-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.36fr);align-items:center;gap:clamp(24px,5vw,76px);min-height:100svh;padding:clamp(120px,14vh,160px) clamp(22px,6vw,82px) clamp(72px,8vh,96px);overflow:hidden}.after-hero:before{position:absolute;inset:0;z-index:-1;content:"";background:radial-gradient(ellipse at 50% 100%,rgba(245,232,199,.34),transparent 46%),linear-gradient(90deg,#061116f5,#0a161fbd 48%,#0a161f38)}.after-aurora{position:absolute;inset:0;z-index:-1;pointer-events:none}.after-aurora span{position:absolute;top:12%;left:50%;width:40vw;height:90vh;border-radius:50%;background:linear-gradient(180deg,rgba(226,184,95,.18),transparent 70%);filter:blur(18px);mix-blend-mode:screen;transform-origin:50% 0;animation:auroraSweep 9s ease-in-out infinite}.after-aurora:after{position:absolute;top:6%;right:6%;width:clamp(260px,34vw,520px);aspect-ratio:1;content:"";border-radius:50%;background:radial-gradient(circle,rgba(255,244,203,.2),transparent 62%),conic-gradient(from 120deg,transparent,rgba(226,184,95,.16),transparent,rgba(145,199,173,.12),transparent);filter:blur(1px);opacity:.66;animation:dawnHalo 18s linear infinite}.after-aurora span:nth-child(1){transform:translate(-86%) rotate(-20deg)}.after-aurora span:nth-child(2){background:linear-gradient(180deg,rgba(145,199,173,.16),transparent 72%);transform:translate(-24%) rotate(8deg);animation-delay:1s}.after-aurora span:nth-child(3){background:linear-gradient(180deg,rgba(143,184,216,.14),transparent 72%);transform:translate(20%) rotate(24deg);animation-delay:2s}.after-hero-copy{max-width:860px}.after-kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;color:#ffd98d;font-size:.82rem;font-weight:900;text-transform:uppercase}.after-kicker:before{width:36px;height:1px;content:"";background:linear-gradient(90deg,var(--after-rose),var(--after-gold))}.after-hero h1,.future-road h2,.future-letter h2,.future-sunrise h2{margin:0;letter-spacing:0}.after-hero h1{display:grid;gap:8px;color:#fff8e4;font-family:Georgia,Times New Roman,serif;font-size:clamp(4.2rem,8.4vw,8.8rem);line-height:.94;text-shadow:0 30px 86px rgba(0,0,0,.42)}.after-hero h1 span:last-child{color:transparent;background:linear-gradient(92deg,#fff4c7,#f7b6ca 34%,#e2b85f 66%,#b9e4cf);background-clip:text;-webkit-background-clip:text}.after-hero-copy>p:not(.after-kicker),.future-road-copy p:not(.after-kicker),.future-letter-card p,.future-sunrise p{max-width:660px;color:var(--after-muted);font-size:clamp(1.04rem,1.55vw,1.2rem);line-height:1.95}.after-hero-copy>p:not(.after-kicker){margin:28px 0 0}.after-primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;margin-top:34px;padding:0 22px;border:0;border-radius:8px;color:#fff;font-weight:900;background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 38%),linear-gradient(135deg,#2f7d6b,var(--after-green) 50%,var(--after-gold));box-shadow:0 22px 54px #2f7d6b47}.future-panel{position:relative;min-height:420px;padding:clamp(24px,4vw,36px);border:1px solid rgba(255,244,203,.28);border-radius:8px;background:radial-gradient(circle at 82% 14%,rgba(226,184,95,.2),transparent 34%),linear-gradient(135deg,#ffffff21,#ffffff0a),#0710169e;box-shadow:0 34px 110px #00000047;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.future-panel:before{position:absolute;inset:14px;content:"";border:1px solid rgba(255,244,203,.18);border-radius:8px;pointer-events:none}.future-panel span{color:#ffdd90;font-family:Georgia,serif;font-size:clamp(5rem,9vw,8rem);font-weight:700;line-height:.9}.future-panel strong{display:block;margin-top:22px;color:#fffaf0e6;font-size:.9rem;text-transform:uppercase}.future-panel p{margin:20px 0 0;color:var(--after-muted);line-height:1.9}.after-scroll{position:absolute;left:50%;bottom:24px;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,244,203,.24);border-radius:50%;color:var(--after-ink);background:#ffffff14;transform:translate(-50%);animation:afterFloat 1.8s ease-in-out infinite}.future-road,.future-letter,.future-sunrise{position:relative;z-index:1;width:min(100%,1240px);margin:0 auto;padding:clamp(82px,10vw,126px) clamp(22px,5vw,54px)}.future-road h2,.future-letter h2,.future-sunrise h2{max-width:820px;color:#fff8e4;font-size:clamp(2.5rem,4.9vw,4.8rem);line-height:1.08}.road-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:38px}.road-card{min-height:330px;padding:28px;border:1px solid rgba(255,244,203,.18);border-radius:8px;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent 44%),#ffffff0e;box-shadow:0 24px 70px #0000002e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.road-card svg{color:var(--after-gold)}.road-card h3{margin:42px 0 14px;color:#fff8e4;font-size:1.45rem}.road-card p{margin:0;color:var(--after-muted);line-height:1.85}.future-letter-card{position:relative;max-width:980px;min-height:440px;padding:clamp(34px,6vw,76px);overflow:hidden;border:1px solid rgba(87,108,93,.18);border-radius:8px;color:#24352f;background:linear-gradient(90deg,rgba(145,199,173,.08) 1px,transparent 1px),linear-gradient(180deg,transparent 0 31px,rgba(226,184,95,.14) 32px,transparent 33px),radial-gradient(circle at 94% 10%,rgba(145,199,173,.22),transparent 28%),#fffaecf5;background-size:100% 100%,100% 32px,100% 100%;box-shadow:0 30px 96px #1e2f293d}.future-letter-card:after{position:absolute;right:-42px;bottom:-34px;content:"Future";color:#2f7d6b12;font-family:Georgia,serif;font-size:clamp(6rem,12vw,12rem);font-weight:700}.future-letter-card .after-kicker{color:#2f7d6b}.future-letter-card h2{color:#24352f}.future-letter-card p{position:relative;z-index:1;color:#46564f}.future-sunrise{width:100%;min-height:86vh;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at 50% 40%,rgba(255,244,203,.32),transparent 26%),linear-gradient(180deg,#101b2600,#f5e8c7ad)}.future-sunrise .after-kicker,.future-sunrise h2,.future-sunrise p{margin-inline:auto}.future-sunrise .after-kicker:before{display:none}.future-sunrise h2,.future-sunrise p{color:#24352f}.sun-orbit{display:grid;place-items:center;width:150px;height:150px;margin-bottom:26px;border:1px solid rgba(226,184,95,.28);border-radius:50%;color:#d99a2b;background:radial-gradient(circle,#fff4cbcc,#fff4cb1a);box-shadow:0 0 70px #e2b85f47;animation:sunRisePulse 3.4s ease-in-out infinite}.future-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:900px;margin:34px auto 0}.future-tags span{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid rgba(47,125,107,.18);border-radius:8px;color:#24352f;font-weight:900;background:#ffffff75}@keyframes afterStar{0%,to{opacity:.24;transform:scale(.8)}50%{opacity:1;transform:scale(1.18)}}@keyframes auroraSweep{0%,to{opacity:.24;filter:blur(18px)}50%{opacity:.58;filter:blur(12px)}}@keyframes dawnHalo{0%{opacity:.46;transform:translateZ(0) rotate(0) scale(.96)}50%{opacity:.76;transform:translate3d(-4%,3%,0) rotate(180deg) scale(1.05)}to{opacity:.46;transform:translateZ(0) rotate(360deg) scale(.96)}}@keyframes afterFloat{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-8px)}}@keyframes sunRisePulse{0%,to{transform:translateY(0) scale(.98)}50%{transform:translateY(-6px) scale(1.04)}}@media(max-width:980px){.after-hero,.road-grid{grid-template-columns:1fr}.future-panel{width:min(100%,620px);min-height:auto}}@media(max-width:720px){.after-nav{top:10px;width:calc(100% - 24px);padding:8px;-webkit-backdrop-filter:none;backdrop-filter:none}.after-nav>a span{display:none}.after-nav nav{flex:1;justify-content:space-between}.after-nav nav a{padding:0 8px;font-size:.76rem}.after-hero{min-height:auto;padding:104px 18px 68px}.after-hero h1{font-size:clamp(3.2rem,14vw,5rem)}.after-primary{width:100%}.future-road,.future-letter,.future-sunrise{padding-inline:18px}.road-card{min-height:260px}.future-letter-card{padding:28px 22px}.future-tags{align-items:stretch;flex-direction:column}.future-tags span{justify-content:center}}.birthday-day-body{background:#07050a}.birthday-day{--day-ink: #fff7ed;--day-muted: rgba(255, 247, 237, .68);--day-soft: rgba(255, 247, 237, .1);--day-border: rgba(255, 236, 191, .2);--day-rose: #d9547f;--day-coral: #ef846d;--day-gold: #d9a84d;--day-jade: #7fb49e;--day-night: #07050a;--day-wine: #2a0917;position:relative;min-height:100vh;overflow:hidden;color:var(--day-ink);background:radial-gradient(circle at 50% 18%,rgba(255,236,191,.24),transparent 22%),radial-gradient(circle at 72% 36%,rgba(217,84,127,.3),transparent 32%),radial-gradient(circle at 18% 62%,rgba(127,180,158,.16),transparent 28%),linear-gradient(180deg,#080714,#26101d 46%,#08040c);isolation:isolate}.birthday-day:before{position:fixed;inset:0;z-index:0;pointer-events:none;content:"";background:linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:120px 120px;-webkit-mask-image:radial-gradient(circle at 50% 34%,#000 0 48%,transparent 78%);mask-image:radial-gradient(circle at 50% 34%,#000 0 48%,transparent 78%)}.birthday-day:after{position:fixed;inset:0;z-index:0;pointer-events:none;content:"";opacity:.5;background:radial-gradient(circle at 50% 18%,rgba(255,236,191,.16),transparent 18%),linear-gradient(180deg,rgba(255,236,191,.06),transparent 42%,rgba(0,0,0,.34));mix-blend-mode:screen}.birthday-day.is-lit,.birthday-day.is-wish,.birthday-day.is-blown{background:radial-gradient(circle at 50% 18%,rgba(255,236,191,.24),transparent 23%),radial-gradient(circle at 72% 36%,rgba(217,84,127,.28),transparent 30%),radial-gradient(circle at 18% 62%,rgba(127,180,158,.16),transparent 28%),linear-gradient(180deg,#020413,#1a0715 44%,#030207)}.birthday-day *,.birthday-day *:before,.birthday-day *:after{box-sizing:border-box}.birthday-day a{color:inherit;text-decoration:none}.birthday-day button,.birthday-day textarea{font:inherit}.day-sky{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.day-petal-layer{position:fixed;inset:0;z-index:3;overflow:hidden;pointer-events:none}.day-petal{position:absolute;top:-12vh;left:var(--petal-x);width:var(--petal-size);height:calc(var(--petal-size) * 1.78);border-radius:80% 20% 78% 24%;background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.92),transparent 34%),linear-gradient(155deg,#ffb7c7b8,#ffeed66b);box-shadow:0 8px 18px #d9547f1f;opacity:.5;transform-origin:50% 100%;animation:dayPetalDrift var(--petal-duration) linear infinite;animation-delay:var(--petal-delay)}.day-star{position:absolute;border-radius:50%;background:#fff5d1;box-shadow:0 0 18px #ffecbfb8;animation:dayStarPulse 3.2s ease-in-out infinite}.day-comet{position:absolute;left:-18vw;width:180px;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,247,237,.92),transparent);box-shadow:0 0 22px #ffecbf85;opacity:0;transform:rotate(-16deg);animation:cometSweep 7s linear infinite}.day-nav{position:fixed;top:18px;left:50%;z-index:30;display:flex;align-items:center;justify-content:space-between;width:min(calc(100% - 40px),1180px);min-height:54px;padding:8px 10px 8px 16px;border:1px solid var(--day-border);border-radius:8px;background:#0b060c9e;box-shadow:0 18px 56px #00000042;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);transform:translate(-50%)}.day-nav a,.day-nav nav{display:flex;align-items:center}.day-nav>a{gap:9px;font-weight:900}.day-nav svg{color:var(--day-gold)}.day-nav nav{gap:4px}.day-nav nav a{min-height:34px;padding:0 12px;border-radius:8px;color:#fff7edbd;font-size:.86rem;font-weight:900}.day-nav nav a:hover{color:#fff;background:#ffffff1a}.day-hero{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,.52fr);align-items:center;gap:clamp(24px,5vw,74px);min-height:100svh;padding:clamp(120px,14vh,154px) clamp(24px,6vw,80px) clamp(54px,8vh,82px);overflow:hidden}.day-stage-backdrop,.day-hero-shade{position:absolute;inset:0;z-index:-2}.day-stage-backdrop{overflow:hidden;background:radial-gradient(ellipse at 50% 88%,rgba(255,236,191,.18),transparent 40%),radial-gradient(circle at 66% 42%,rgba(217,84,127,.16),transparent 30%),linear-gradient(180deg,#020411fa,#150512f5 48%,#040309fa)}.day-stage-backdrop:before{position:absolute;inset:0;content:"";background:linear-gradient(90deg,transparent 0 9%,rgba(255,236,191,.08) 9.5%,transparent 10% 90%,rgba(255,236,191,.08) 90.5%,transparent 91%),repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 48px);opacity:.42;pointer-events:none}.day-stage-backdrop:after{position:absolute;inset:auto -10% -26%;height:48%;content:"";background:radial-gradient(ellipse at 50% 0%,rgba(255,236,191,.2),transparent 50%);filter:blur(18px);pointer-events:none}.stage-curtain,.stage-floor,.stage-beam{position:absolute;pointer-events:none}.stage-curtain{top:-8%;bottom:-8%;width:42%;opacity:.82;background:radial-gradient(ellipse at 50% 18%,rgba(255,236,191,.12),transparent 36%),repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 2px,transparent 2px 18px),linear-gradient(90deg,#5a0929e6,#1a041752);filter:blur(.4px);transition:transform 1.4s cubic-bezier(.2,.9,.12,1),opacity 1.1s ease}.stage-curtain-left{left:-6%;transform:skew(-8deg);animation:curtainBreatheLeft 9s ease-in-out infinite}.stage-curtain-right{right:-6%;transform:skew(8deg) scaleX(-1);animation:curtainBreatheRight 9s ease-in-out infinite}.stage-floor{right:8%;bottom:-18%;left:8%;height:42%;border-radius:50% 50% 0 0;background:radial-gradient(ellipse at 50% 18%,rgba(255,236,191,.18),transparent 38%),repeating-radial-gradient(ellipse at 50% 100%,rgba(255,236,191,.12) 0 1px,transparent 1px 34px);transform:perspective(680px) rotateX(66deg);transform-origin:50% 100%}.stage-beam{top:-12%;left:50%;width:26vw;height:122vh;background:linear-gradient(180deg,rgba(255,236,191,.22),transparent 74%);filter:blur(16px);opacity:.38;mix-blend-mode:screen;transform-origin:50% 0;transition:opacity .7s ease,filter .7s ease}.birthday-day.is-lit .stage-curtain-left,.birthday-day.is-wish .stage-curtain-left,.birthday-day.is-blown .stage-curtain-left{opacity:.38;transform:translate(-64%) skew(-8deg)}.birthday-day.is-lit .stage-curtain-right,.birthday-day.is-wish .stage-curtain-right,.birthday-day.is-blown .stage-curtain-right{opacity:.38;transform:translate(64%) skew(8deg) scaleX(-1)}.birthday-day.is-lit .stage-beam,.birthday-day.is-wish .stage-beam,.birthday-day.is-blown .stage-beam{opacity:.58;filter:blur(12px)}.ceremony-scene,.ceremony-scene-fallback{position:absolute;inset:0;z-index:-1;pointer-events:none}.ceremony-scene{opacity:.72;transition:opacity .9s ease,transform 1.4s cubic-bezier(.2,.9,.12,1),filter .9s ease}.ceremony-scene-fallback{background:radial-gradient(circle at 68% 44%,rgba(255,236,191,.16),transparent 28%)}.birthday-day.is-sealed .ceremony-scene{opacity:.44;filter:saturate(.8);transform:scale(.96)}.birthday-day.is-lit .ceremony-scene,.birthday-day.is-wish .ceremony-scene,.birthday-day.is-blown .ceremony-scene{opacity:.95;transform:scale(1.02)}.stage-beam-one{transform:translate(-50%) rotate(-22deg);animation:beamSweepOne 7.8s ease-in-out infinite}.stage-beam-two{width:18vw;transform:translate(-50%) rotate(18deg);animation:beamSweepTwo 8.8s ease-in-out infinite}.stage-beam-three{width:14vw;background:linear-gradient(180deg,rgba(127,180,158,.18),transparent 76%);transform:translate(-50%) rotate(2deg);animation:beamPulse 5.8s ease-in-out infinite}.day-stargate{position:absolute;top:50%;right:clamp(66px,13vw,180px);z-index:-1;width:clamp(310px,34vw,520px);aspect-ratio:1;opacity:.78;transform:translateY(-50%);transition:opacity .9s ease,transform 1.2s cubic-bezier(.2,.9,.12,1)}.birthday-day.is-sealed .day-stargate{opacity:.36;transform:translateY(-50%) scale(.86)}.birthday-day.is-lit .day-stargate,.birthday-day.is-wish .day-stargate,.birthday-day.is-blown .day-stargate{opacity:.96;transform:translateY(-50%) scale(1.06)}.gate-ring{position:absolute;inset:0;border:1px solid rgba(255,236,191,.22);border-radius:50%;box-shadow:inset 0 0 42px #ffecbf14,0 0 68px #d9547f1f}.gate-ring-one{animation:gateSpin 26s linear infinite}.gate-ring-two{inset:10%;border-color:#d9547f3d;border-style:dashed;animation:gateSpin 18s linear infinite reverse}.gate-ring-three{inset:22%;border-color:#7fb49e33;animation:gatePulse 4.2s ease-in-out infinite}.gate-core{position:absolute;inset:31%;display:grid;place-items:center;border-radius:50%;color:#fff7ede0;font-family:Georgia,serif;font-size:clamp(5rem,9vw,8rem);font-weight:700;background:radial-gradient(circle,rgba(255,236,191,.24),transparent 64%),#ffffff09;text-shadow:0 0 46px rgba(255,236,191,.34)}.day-hero-shade{z-index:-1;background:radial-gradient(circle at 68% 50%,rgba(255,236,191,.18),transparent 26%),linear-gradient(90deg,#03040df5,#120514c7 43%,#06040a47),linear-gradient(180deg,rgba(3,4,13,.24),transparent 42%,#040309 100%)}.day-countdown-signal{position:absolute;right:clamp(26px,5vw,74px);bottom:clamp(112px,15vh,148px);z-index:2;display:grid;grid-template-columns:repeat(4,auto);align-items:end;gap:10px;pointer-events:none}.day-countdown-signal span,.day-countdown-signal strong{display:grid;place-items:center;min-width:52px;height:52px;border:1px solid rgba(255,236,191,.22);border-radius:50%;color:#fff7edc2;font-family:Georgia,serif;font-weight:700;background:#ffffff0e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.day-countdown-signal strong{min-width:82px;border-radius:8px;color:#fff7d6;font-size:.76rem;letter-spacing:0}.birthday-day.is-sealed .day-countdown-signal span:nth-child(1){animation:signalPulse 3.2s ease-in-out infinite}.birthday-day.is-sealed .day-countdown-signal span:nth-child(2){animation:signalPulse 3.2s .32s ease-in-out infinite}.birthday-day.is-sealed .day-countdown-signal span:nth-child(3){animation:signalPulse 3.2s .64s ease-in-out infinite}.birthday-day.is-lit .day-countdown-signal strong,.birthday-day.is-wish .day-countdown-signal strong,.birthday-day.is-blown .day-countdown-signal strong{border-color:#ffecbf94;color:#2a0917;background:linear-gradient(135deg,#fff2c7,#ffb7c7 54%,#d8a848);box-shadow:0 0 42px #ffecbf3d}.day-hero-copy{max-width:900px}.day-kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;color:#ffcf8a;font-size:.82rem;font-weight:900;text-transform:uppercase}.day-kicker:before{width:36px;height:1px;content:"";background:linear-gradient(90deg,var(--day-rose),var(--day-gold))}.day-hero h1,.day-cake-section h2,.day-letter-card h2,.day-stars-section h2,.day-finale h2{margin:0;letter-spacing:0}.day-hero h1{display:grid;gap:8px;max-width:980px;color:#fff9eb;font-family:Georgia,Times New Roman,serif;font-size:clamp(4.6rem,8vw,8.8rem);line-height:.92;text-shadow:0 34px 100px rgba(0,0,0,.5)}.day-hero h1 span:last-child{color:transparent;background:linear-gradient(92deg,#fff7db,#ffb5c7 38%,#e7b65d 72%,#bfe4d5);background-clip:text;-webkit-background-clip:text}.day-hero-copy>p:not(.day-kicker){max-width:650px;margin:28px 0 0;color:var(--day-muted);font-size:clamp(1.04rem,1.6vw,1.22rem);line-height:1.95}.day-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:34px}.day-primary,.day-secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border-radius:8px;font-weight:900}.day-primary{min-width:174px;border:0;color:#fff;background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 38%),linear-gradient(135deg,#a92e55,var(--day-rose) 50%,var(--day-gold));box-shadow:0 22px 54px #d9547f47}.day-secondary{min-width:154px;padding:0 20px;border:1px solid var(--day-border);color:var(--day-ink);background:#ffffff17;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.day-premiere-panel{position:relative;display:grid;gap:18px;align-self:center;min-height:440px;padding:clamp(24px,4vw,36px);border:1px solid rgba(255,236,191,.34);border-radius:8px;background:linear-gradient(120deg,rgba(255,236,191,.12),transparent 26%,rgba(255,255,255,.08) 48%,transparent 66%),radial-gradient(circle at 78% 12%,rgba(255,236,191,.18),transparent 34%),radial-gradient(circle at 16% 82%,rgba(127,180,158,.14),transparent 34%),linear-gradient(135deg,#ffffff24,#ffffff0a),#0b050ab8;box-shadow:0 34px 110px #00000052;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);overflow:hidden}.day-premiere-panel:before{position:absolute;inset:14px;content:"";border:1px solid rgba(255,236,191,.24);border-radius:8px;pointer-events:none}.day-premiere-panel:after{position:absolute;inset:0;content:"";background:linear-gradient(105deg,transparent 0 36%,rgba(255,255,255,.18) 44%,transparent 52% 100%);transform:translate(-120%);animation:panelScan 5.6s ease-in-out infinite;pointer-events:none}.panel-date{color:#ffcf8a;font-family:Georgia,serif;font-size:clamp(3.4rem,6vw,5.4rem);font-weight:700;line-height:.9}.day-premiere-panel>strong{color:#fff7ede6;font-size:.9rem;text-transform:uppercase}.day-live-meter{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.day-live-meter span{height:7px;border-radius:999px;background:#ffecbf29;transform-origin:left center;animation:meterWake 1.4s ease-in-out infinite}.day-live-meter span:nth-child(2){animation-delay:.14s}.day-live-meter span:nth-child(3){animation-delay:.28s}.day-live-meter span:nth-child(4){animation-delay:.42s}.premiere-beats{display:grid;gap:12px;margin-top:auto}.premiere-beat{position:relative;z-index:1;display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start;padding:14px;border:1px solid rgba(255,236,191,.14);border-radius:8px;background:#ffffff0f}.premiere-beat>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#fff;font-family:Georgia,serif;font-weight:700;background:linear-gradient(135deg,var(--day-rose),var(--day-gold));box-shadow:0 12px 30px #d9547f38}.premiere-beat strong{color:#fff9eb;font-size:1rem}.premiere-beat p{margin:5px 0 0;color:var(--day-muted);font-size:.86rem;line-height:1.6}.day-scroll{position:absolute;left:50%;bottom:22px;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--day-border);border-radius:50%;color:var(--day-ink);background:#ffffff14;transform:translate(-50%);animation:dayFloat 1.8s ease-in-out infinite}.day-cake-section,.day-letter-section,.day-stars-section,.day-memory-section,.day-finale{position:relative;z-index:1;width:min(100%,1240px);margin:0 auto;padding:clamp(82px,10vw,126px) clamp(22px,5vw,54px)}.day-cake-section{display:grid;grid-template-columns:minmax(280px,.34fr) minmax(660px,1fr);align-items:center;gap:clamp(34px,5vw,72px)}.day-cake-marquee{grid-column:1 / -1;width:100%;overflow:hidden;padding:12px 0;border-block:1px solid rgba(255,236,191,.18);opacity:.86}.day-cake-marquee-track{display:flex;width:max-content;min-width:200%;gap:14px;animation:orbitCopyMove 30s linear infinite}.day-cake-marquee span{display:inline-flex;align-items:center;min-height:34px;padding:0 18px;border:1px solid rgba(255,236,191,.18);border-radius:8px;color:#fff7edc7;font-size:.86rem;font-weight:900;white-space:nowrap;background:#fff1}.day-section-copy h2,.day-letter-card h2,.day-stars-section h2,.day-finale h2{max-width:760px;color:#fff9eb;font-size:clamp(2.4rem,4.4vw,4.4rem);line-height:1.08}.day-section-copy p:not(.day-kicker),.day-finale p{max-width:560px;margin:24px 0 0;color:var(--day-muted);font-size:1.06rem;line-height:1.9}.day-cake-stage{position:relative;display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,.74fr);align-items:center;gap:clamp(24px,4vw,46px);min-height:700px;padding:clamp(24px,4vw,42px);border:1px solid var(--day-border);border-radius:8px;background:radial-gradient(ellipse at 36% 42%,rgba(255,236,191,.3),transparent 36%),radial-gradient(ellipse at 45% 96%,rgba(217,84,127,.2),transparent 42%),radial-gradient(circle at 92% 12%,rgba(127,180,158,.16),transparent 34%),linear-gradient(180deg,#ffffff0e,#ffffff05),#ffffff0e;box-shadow:0 34px 110px #00000038;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow:hidden;scroll-margin-top:92px}.day-cake-stage:before{position:absolute;inset:22px;content:"";border:1px solid rgba(255,236,191,.12);border-radius:8px;pointer-events:none}.day-cake-stage:after{position:absolute;right:8%;bottom:8%;left:8%;height:24%;content:"";border-radius:50%;background:radial-gradient(ellipse at 50% 20%,rgba(255,236,191,.2),transparent 46%),repeating-radial-gradient(ellipse at 50% 80%,rgba(255,236,191,.1) 0 1px,transparent 1px 28px);opacity:.72;transform:perspective(620px) rotateX(68deg);pointer-events:none}.cake-stage-rig{position:absolute;inset:0;z-index:0;pointer-events:none}.cake-stage-rig span{position:absolute;top:-16%;left:50%;width:clamp(150px,19vw,240px);height:116%;background:linear-gradient(180deg,rgba(255,236,191,.2),transparent 72%);filter:blur(12px);opacity:.28;mix-blend-mode:screen;transform-origin:50% 0;animation:cakeRigSweep 7s ease-in-out infinite}.cake-stage-rig span:nth-child(1){transform:translate(-70%) rotate(-18deg)}.cake-stage-rig span:nth-child(2){background:linear-gradient(180deg,rgba(255,183,199,.22),transparent 72%);transform:translate(-50%) rotate(3deg);animation-delay:.8s}.cake-stage-rig span:nth-child(3){background:linear-gradient(180deg,rgba(127,180,158,.18),transparent 72%);transform:translate(-30%) rotate(18deg);animation-delay:1.6s}.day-cake{position:relative;z-index:1;min-height:520px;filter:drop-shadow(0 30px 44px rgba(0,0,0,.34));animation:cakeEntrance .9s ease-out both}.cake-aura{position:absolute;inset:2% 1% 10%;z-index:0;border-radius:50%;background:radial-gradient(ellipse at 50% 36%,rgba(255,236,191,.26),transparent 40%),conic-gradient(from 120deg,transparent,rgba(255,236,191,.18),transparent,rgba(217,84,127,.18),transparent);filter:blur(1px);opacity:.76;animation:cakeAuraSpin 18s linear infinite}.day-cake:before{position:absolute;inset:4% -8% 0;z-index:0;content:"";border-radius:50%;background:radial-gradient(ellipse at 50% 26%,rgba(255,236,191,.7),transparent 34%),radial-gradient(ellipse at 50% 78%,rgba(217,84,127,.26),transparent 62%);filter:blur(8px);animation:daySpotlight 3.4s ease-in-out infinite}.day-candle{position:absolute;top:25%;left:50%;z-index:4;width:18px;height:94px;border-radius:8px;background:linear-gradient(90deg,rgba(255,255,255,.5),transparent 34% 70%,rgba(115,42,74,.12)),repeating-linear-gradient(135deg,#fff7ee 0 9px,#f19bad 9px 17px),#fff7ee;box-shadow:inset 0 -8px #74304d14,0 10px 22px #74304d2e;transform:translate(-50%)}.day-candle:after{position:absolute;right:-7px;bottom:-10px;left:-7px;height:17px;content:"";border:1px solid rgba(255,255,255,.54);border-radius:50%;background:linear-gradient(180deg,#fff7edf5,#ffced6db);box-shadow:inset 0 -5px #74304d14}.day-flame{position:absolute;top:-44px;left:50%;width:30px;height:44px;border-radius:60% 38% 58% 40%;background:radial-gradient(circle at 48% 68%,#fff9ca 0 19%,transparent 20%),linear-gradient(180deg,#fff1a8,#f0a545 48%,#dc5a54);box-shadow:0 0 22px #ffc554d1,0 0 72px #d9547f70;opacity:0;transform:translate(-50%) translateY(10px) scale(.62) rotate(8deg);transition:opacity .22s ease,transform .22s ease}.day-cake.is-lit .day-flame{opacity:1;transform:translate(-50%) translateY(0) scale(1) rotate(8deg);animation:dayFlame 1.1s ease-in-out infinite}.day-smoke{position:absolute;top:-32px;left:50%;width:48px;height:48px;border-radius:50%;background:radial-gradient(circle,rgba(255,247,237,.68),transparent 62%);filter:blur(6px);opacity:0;transform:translate(-50%) scale(.6)}.day-cake.is-blown .day-smoke{animation:daySmoke 1.8s ease-out infinite}.day-cake-top{position:absolute;top:42%;left:50%;z-index:3;width:min(84%,390px);height:100px;border:1px solid rgba(255,255,255,.64);border-radius:50% 50% 24px 24px;background:linear-gradient(180deg,#fff7edf5,#ffced6e6);transform:translate(-50%)}.day-cake-top i{position:absolute;top:28px;width:36px;height:8px;border-radius:999px;background:var(--day-gold);transform:rotate(-14deg)}.day-cake-top i:nth-child(1){left:23%;background:var(--day-rose)}.day-cake-top i:nth-child(2){left:49%;background:var(--day-jade);transform:rotate(15deg)}.day-cake-top i:nth-child(3){right:20%}.day-cake-body{position:absolute;top:54%;left:50%;z-index:2;display:grid;place-items:center;width:min(74%,346px);height:184px;border-radius:24px 24px 42px 42px;background:linear-gradient(180deg,#fff4ebfa,#e2786329),linear-gradient(135deg,#fff7ef,#f7bdc5 58%,#f3d99b);box-shadow:inset 0 -20px #74304d14,0 28px 58px #0000003d;transform:translate(-50%)}.day-cake-body strong{color:#74304d80;font-family:Georgia,serif;font-size:clamp(5.4rem,9vw,8rem);line-height:.9}.day-cake-body span{color:#74304d8a;font-weight:900}.day-cake-plate{position:absolute;left:50%;bottom:13%;z-index:1;width:min(84%,410px);height:34px;border-radius:50%;background:#0000005c;filter:blur(14px);transform:translate(-50%)}.day-wish-panel{position:relative;z-index:1;display:grid;gap:16px;padding:clamp(22px,4vw,34px);border:1px solid rgba(255,236,191,.3);border-radius:8px;color:#fff7ed;background:radial-gradient(circle at 88% 12%,rgba(255,236,191,.18),transparent 36%),linear-gradient(135deg,#ffffff24,#ffffff0b),#0b050cb8;box-shadow:0 26px 76px #00000038;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.day-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.day-steps span{display:grid;place-items:center;min-height:34px;border:1px solid rgba(255,236,191,.14);border-radius:8px;color:#fff7eda8;font-size:.8rem;font-weight:900;background:#fff1}.day-steps span.is-active{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--day-rose),var(--day-coral))}.day-wish-panel label{color:#ffcf8a;font-size:.92rem;font-weight:900}.day-wish-panel textarea{width:100%;min-height:128px;resize:vertical;border:1px solid rgba(255,236,191,.2);border-radius:8px;padding:14px 15px;color:#fff7ed;background:#ffffff14;line-height:1.7;outline:0}.day-wish-panel textarea::placeholder{color:#fff7ed7a}.day-wish-panel textarea:focus{border-color:#d9547f6b;box-shadow:0 0 0 4px #d9547f1a}.day-wish-actions{display:flex;flex-wrap:wrap;gap:10px}.button-reset{color:#fff7ed}.day-wish-note{min-height:48px;margin:0;color:var(--day-muted);line-height:1.7}.day-envelope{position:relative;display:grid;place-items:center;width:min(100%,920px);max-width:920px;min-height:530px;margin-inline:auto;perspective:1200px}.day-envelope:before,.day-envelope:after{position:absolute;content:"";border:1px solid rgba(255,236,191,.24);border-radius:8px;background:radial-gradient(circle at 18% 22%,rgba(255,255,255,.7) 0 1px,transparent 1.5px),radial-gradient(circle at 74% 64%,rgba(116,48,77,.08) 0 1px,transparent 1.5px),repeating-linear-gradient(105deg,rgba(116,48,77,.035) 0 1px,transparent 1px 18px),linear-gradient(145deg,#fff9eefa,#ffdadcdb),#fff7ede6;background-size:22px 22px,30px 30px,100% 100%,100% 100%;box-shadow:0 28px 90px #0003;transition:opacity .52s ease,transform .72s ease,filter .52s ease}.day-envelope:before{inset:50px 22px 34px;clip-path:polygon(0 0,50% 52%,100% 0,100% 100%,0 100%);z-index:1}.day-envelope:after{top:48px;right:22px;left:22px;height:184px;clip-path:polygon(0 0,100% 0,50% 100%);z-index:3;box-shadow:0 20px 56px #74304d1f,inset 0 -1px #74304d1a;transform-origin:50% 0}.day-envelope.is-open:before{opacity:.22;transform:translateY(42px) scale(1.03)}.day-envelope.is-open:after{opacity:.18;transform:rotateX(58deg) translateY(-42px)}.envelope-address{position:absolute;top:232px;left:clamp(66px,12vw,168px);z-index:5;display:grid;gap:7px;width:min(42%,360px);color:#43232dd1;pointer-events:none;transform:rotate(-3deg);transition:opacity .36s ease,transform .52s ease}.envelope-address:before{position:absolute;inset:-14px -22px -12px -18px;z-index:-1;content:"";border-radius:999px 12px;background:radial-gradient(ellipse at 36% 50%,rgba(255,249,238,.78),rgba(255,249,238,.34) 58%,transparent 76%);filter:blur(1px)}.envelope-address span{color:#a63f5fb8;font-family:Georgia,Times New Roman,serif;font-size:1.06rem;font-style:italic}.envelope-address strong{color:#3d1828;font-family:Kaiti SC,STKaiti,KaiTi,Songti SC,serif;font-size:clamp(2.3rem,5vw,4.2rem);font-weight:500;line-height:.95;text-shadow:0 1px 0 rgba(255,247,237,.86),0 8px 20px rgba(116,48,77,.12)}.envelope-address em{color:#74304d94;font-family:Georgia,Times New Roman,serif;font-size:.86rem}.envelope-stamp{position:absolute;top:108px;right:clamp(54px,10vw,136px);z-index:5;display:grid;place-items:center;width:92px;height:112px;border:1px solid rgba(166,63,95,.34);border-radius:6px;color:#8f3855;background:radial-gradient(circle at 50% 50%,rgba(255,247,237,.68),transparent 54%),linear-gradient(135deg,#ffffff94,#ffb7c76b);box-shadow:inset 0 0 0 6px #fff7ed75,inset 0 0 0 8px #a63f5f29,0 18px 34px #74304d1f;pointer-events:none;transform:rotate(5deg);transition:opacity .36s ease,transform .52s ease}.envelope-stamp:before,.envelope-stamp:after{position:absolute;content:"";border-radius:50%;pointer-events:none}.envelope-stamp:before{inset:20px 12px;border:1px dashed rgba(143,56,85,.45)}.envelope-stamp:after{right:-36px;top:44px;width:92px;height:40px;border-top:1px solid rgba(143,56,85,.38);border-bottom:1px solid rgba(143,56,85,.18);transform:rotate(-12deg)}.envelope-stamp span{font-family:Georgia,Times New Roman,serif;font-size:1.2rem;font-weight:700}.envelope-feather{position:absolute;right:clamp(100px,17vw,230px);bottom:92px;z-index:5;width:178px;height:24px;pointer-events:none;background:linear-gradient(90deg,#52323938,#5c2c3d 42%,#5232391f);border-radius:999px;box-shadow:0 16px 24px #74304d1a;transform:rotate(-24deg);transform-origin:88% 50%;transition:opacity .36s ease,transform .52s ease}.envelope-feather:before{position:absolute;right:38px;bottom:8px;width:96px;height:70px;content:"";border-radius:78% 12% 78% 14%;background:repeating-linear-gradient(105deg,rgba(166,63,95,.22) 0 1px,transparent 1px 10px),linear-gradient(135deg,#fff7edeb,#ffb7c75c);box-shadow:inset -10px -10px #74304d0f;transform:rotate(18deg)}.envelope-feather:after{position:absolute;right:-18px;top:6px;width:42px;height:7px;content:"";border-radius:999px;background:#5c2c3d;transform:rotate(8deg)}.day-envelope.is-open .envelope-address,.day-envelope.is-open .envelope-stamp,.day-envelope.is-open .envelope-feather{opacity:0;transform:translateY(-20px) scale(.96)}.day-envelope-seal{position:absolute;top:50%;left:50%;z-index:6;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 20px;border:1px solid rgba(255,236,191,.34);border-radius:8px;color:#fff7ed;font-weight:900;background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 42%),linear-gradient(135deg,#a92e55,var(--day-rose) 56%,var(--day-gold));box-shadow:0 20px 54px #d9547f47,inset 0 0 0 1px #fff7ed2e;transition:opacity .28s ease,transform .28s ease;transform:translate(-50%,-50%)}.day-envelope-seal:hover{transform:translate(-50%,calc(-50% - 2px))}.day-envelope.is-open .day-envelope-seal{opacity:0;pointer-events:none;transform:translate(-50%,calc(-50% - 14px)) scale(.92)}.day-letter-card{position:relative;max-width:900px;min-height:470px;padding:clamp(34px,6vw,76px);overflow:hidden;border:1px solid rgba(255,236,191,.24);border-radius:8px;background:radial-gradient(circle at 8% 12%,rgba(116,48,77,.08),transparent 20%),radial-gradient(circle at 88% 16%,rgba(217,84,127,.14),transparent 24%),repeating-linear-gradient(90deg,rgba(116,48,77,.035) 0 1px,transparent 1px 34px),linear-gradient(90deg,rgba(255,236,191,.06) 1px,transparent 1px),linear-gradient(180deg,transparent 0 31px,rgba(255,236,191,.13) 32px,transparent 33px),radial-gradient(circle at 92% 10%,rgba(217,84,127,.18),transparent 26%),#fff7edf5;background-size:100% 100%,100% 100%,34px 34px,100% 100%,100% 32px,100% 100%;box-shadow:0 30px 96px #0000003d,inset 0 0 0 12px #ffffff38,inset 0 0 0 13px #74304d0f;opacity:0;transform:translateY(54px) scale(.96);transition:opacity .62s ease,transform .76s cubic-bezier(.22,1,.36,1);z-index:2}.day-envelope.is-open .day-letter-card{opacity:1;transform:translateY(0) scale(1)}.day-letter-card:after{position:absolute;right:-54px;bottom:-38px;content:attr(data-age);color:#d9547f12;font-family:Georgia,serif;font-size:13rem;font-weight:700}.day-letter-card:before{position:absolute;inset:22px;content:"";border:1px solid rgba(166,63,95,.12);border-radius:6px;pointer-events:none}.letter-flourish{position:absolute;z-index:0;width:160px;height:160px;border:1px solid rgba(166,63,95,.18);border-radius:50%;pointer-events:none}.letter-flourish:before,.letter-flourish:after{position:absolute;content:"";border:1px solid rgba(166,63,95,.14);border-radius:50%}.letter-flourish:before{inset:18px}.letter-flourish:after{inset:38px}.letter-flourish-left{top:-84px;left:-72px}.letter-flourish-right{right:-72px;bottom:-84px}.day-letter-card .day-kicker{color:#a63f5f}.day-letter-card h2{color:#28131d;font-family:Kaiti SC,STKaiti,KaiTi,Songti SC,serif;font-weight:500;margin-bottom:28px}.day-letter-card p:not(.day-kicker){position:relative;z-index:1;max-width:820px;margin:0 0 18px;color:#503842;font-family:Kaiti SC,STKaiti,KaiTi,Songti SC,serif;font-size:clamp(1.08rem,2vw,1.3rem);line-height:2}.day-letter-card .letter-to{margin-bottom:12px;color:#7c2f4ad1;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.18rem,2vw,1.5rem);font-style:italic;line-height:1.3}.day-signature{position:relative;z-index:1;display:grid;gap:6px;margin-top:36px;color:#7c2f4a;font-family:Kaiti SC,STKaiti,KaiTi,Songti SC,serif}.day-signature span{color:#6d9b8a;font-size:.9rem;font-weight:900;text-transform:uppercase}.day-signature strong{color:#6d2741;font-size:clamp(1.38rem,2.5vw,2rem);font-weight:500}.letter-to-stars{position:relative;z-index:1;margin-top:28px;color:#7c2f4a;background:#ffffff9e}.day-stars-section{display:grid;grid-template-columns:minmax(280px,.42fr) minmax(520px,1fr);align-items:center;gap:clamp(34px,5vw,74px)}.galaxy-unlock{margin-top:28px}.day-galaxy{position:relative;min-height:620px;border:1px solid var(--day-border);border-radius:8px;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(255,236,191,.2),transparent 18%),radial-gradient(circle at 30% 30%,rgba(217,84,127,.18),transparent 24%),radial-gradient(circle at 70% 72%,rgba(127,180,158,.14),transparent 26%),#ffffff0b;transition:filter .52s ease,opacity .52s ease,transform .52s ease}.day-stars-section:not(.is-awake) .day-galaxy{filter:saturate(.64) brightness(.62) blur(1px);opacity:.68;transform:scale(.98)}.day-stars-section:not(.is-awake) .galaxy-wish,.day-stars-section:not(.is-awake) .galaxy-core{pointer-events:none;opacity:.34}.day-stars-section:not(.is-awake) .day-galaxy:before,.day-stars-section:not(.is-awake) .day-galaxy:after{animation-play-state:paused}.day-galaxy:before{position:absolute;inset:9%;content:"";border:1px solid rgba(255,236,191,.16);border-radius:50%;animation:galaxySpin 28s linear infinite}.day-galaxy:after{position:absolute;inset:20%;content:"";border:1px solid rgba(255,236,191,.1);border-radius:50%;animation:galaxySpin 22s linear infinite reverse}.galaxy-core{position:absolute;top:50%;left:50%;z-index:2;display:grid;place-items:center;width:170px;height:170px;border:1px solid rgba(255,236,191,.3);border-radius:50%;background:radial-gradient(circle,rgba(255,236,191,.22),transparent 62%),#0c060cb8;box-shadow:0 0 70px #ffecbf1f;transform:translate(-50%,-50%)}.galaxy-core strong{color:#fff8dc;font-family:Georgia,serif;font-size:4.2rem;line-height:.8}.galaxy-core span{color:var(--day-muted);font-weight:900}.galaxy-wish{position:absolute;top:50%;left:50%;z-index:3;display:inline-flex;align-items:center;gap:8px;min-height:42px;max-width:188px;padding:0 13px;border:1px solid rgba(255,236,191,.24);border-radius:8px;color:var(--day-ink);font-size:.82rem;font-weight:900;background:#ffffff14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform:translate(-50%,-50%) rotate(var(--angle)) translate(clamp(170px,22vw,260px)) rotate(calc(var(--angle) * -1))}.galaxy-wish svg{color:var(--day-gold);flex:0 0 auto}.day-memory-section{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.memory-frame{min-height:280px;padding:28px;border:1px solid var(--day-border);border-radius:8px;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent 44%),#ffffff0e;box-shadow:0 24px 70px #0000002e}.memory-frame span{color:#ffecbf47;font-family:Georgia,serif;font-size:4rem;font-weight:700;line-height:.9}.memory-frame h3{margin:34px 0 14px;color:#fff9eb;font-size:1.45rem}.memory-frame p{margin:0;color:var(--day-muted);line-height:1.8}.day-finale{width:100%;min-height:86vh;display:grid;place-items:center;text-align:center;background:linear-gradient(180deg,#07050a00,#07050a6b 28%,#07050af5),url(../images/hero-birthday.png) center 54% / cover}.day-finale .day-kicker{justify-content:center}.day-finale .day-kicker:before{display:none}.day-finale h2,.day-finale p{margin-inline:auto}.day-finale .day-primary{margin-top:30px}.day-finale-signature{position:relative;display:inline-block;padding-bottom:18px;font-family:Kaiti SC,STKaiti,KaiTi,Georgia,serif;font-weight:500;text-shadow:0 0 34px rgba(255,236,191,.32),0 26px 80px rgba(0,0,0,.42)}.day-finale-signature:after{position:absolute;right:8%;bottom:0;left:10%;height:2px;content:"";border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,183,199,.9),rgba(255,236,191,.8),transparent);box-shadow:0 0 24px #ffecbf52}@keyframes dayStarPulse{0%,to{opacity:.28;transform:scale(.8)}50%{opacity:1;transform:scale(1.18)}}@keyframes cometSweep{0%{opacity:0;transform:translateZ(0) rotate(-16deg)}12%{opacity:.72}38%{opacity:0;transform:translate3d(142vw,-32vh,0) rotate(-16deg)}to{opacity:0;transform:translate3d(142vw,-32vh,0) rotate(-16deg)}}@keyframes dayPetalDrift{0%{transform:translate3d(0,-12vh,0) rotate(0)}50%{transform:translate3d(var(--petal-sway),54vh,0) rotate(190deg)}to{transform:translate3d(calc(var(--petal-sway) * -.35),112vh,0) rotate(360deg)}}@keyframes curtainBreatheLeft{0%,to{transform:translate(0) skew(-8deg)}50%{transform:translate(-4%) skew(-6deg)}}@keyframes curtainBreatheRight{0%,to{transform:translate(0) skew(8deg) scaleX(-1)}50%{transform:translate(4%) skew(6deg) scaleX(-1)}}@keyframes beamSweepOne{0%,to{opacity:.24;transform:translate(-50%) rotate(-28deg)}50%{opacity:.5;transform:translate(-50%) rotate(-10deg)}}@keyframes beamSweepTwo{0%,to{opacity:.2;transform:translate(-50%) rotate(26deg)}50%{opacity:.44;transform:translate(-50%) rotate(8deg)}}@keyframes beamPulse{0%,to{opacity:.2;transform:translate(-50%) rotate(2deg) scaleX(.82)}50%{opacity:.44;transform:translate(-50%) rotate(-4deg) scaleX(1.1)}}@keyframes gateSpin{to{transform:rotate(360deg)}}@keyframes gatePulse{0%,to{opacity:.36;transform:scale(.94)}50%{opacity:.86;transform:scale(1.04)}}@keyframes signalPulse{0%,to{opacity:.36;transform:translateY(0) scale(.92)}45%{opacity:1;transform:translateY(-6px) scale(1.08);box-shadow:0 0 34px #ffecbf47}}@keyframes panelScan{0%,46%{transform:translate(-120%)}72%,to{transform:translate(120%)}}@keyframes meterWake{0%,to{opacity:.36;transform:scaleX(.34);background:#ffecbf29}50%{opacity:1;transform:scaleX(1);background:linear-gradient(90deg,var(--day-rose),var(--day-gold))}}@keyframes cakeRigSweep{0%,to{opacity:.2;filter:blur(14px)}50%{opacity:.48;filter:blur(9px)}}@keyframes cakeAuraSpin{to{transform:rotate(360deg)}}@keyframes dayFloat{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-8px)}}@keyframes daySpotlight{0%,to{opacity:.74;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}@keyframes cakeEntrance{0%{opacity:0;transform:translateY(34px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dayFlame{0%,to{border-radius:60% 38% 58% 40%;transform:translate(-50%) translateY(0) scale(1) rotate(8deg)}48%{border-radius:48% 52% 44% 56%;transform:translate(-50%) translateY(-2px) scale(.92,1.08) rotate(-5deg)}}@keyframes daySmoke{0%{opacity:0;transform:translate(-50%) translateY(0) scale(.7)}40%{opacity:.7}to{opacity:0;transform:translate(-50%) translateY(-38px) scale(1.4)}}@keyframes galaxySpin{to{transform:rotate(360deg)}}@keyframes orbitCopyMove{to{transform:translate(-50%)}}@media(max-width:1080px){.day-hero,.day-cake-section,.day-stars-section{grid-template-columns:1fr}.day-stargate{right:50%;opacity:.38;transform:translate(50%,-50%)}.birthday-day.is-sealed .day-stargate{transform:translate(50%,-50%) scale(.82)}.birthday-day.is-lit .day-stargate,.birthday-day.is-wish .day-stargate,.birthday-day.is-blown .day-stargate{transform:translate(50%,-50%) scale(1.02)}.day-premiere-panel{width:min(100%,620px);min-height:auto}.day-cake-stage,.day-memory-section{grid-template-columns:1fr}}@media(max-width:720px){.day-nav{top:10px;width:calc(100% - 24px);padding:8px;background:#0b060cd1;-webkit-backdrop-filter:none;backdrop-filter:none}.day-nav>a span{display:none}.day-nav nav{flex:1;justify-content:space-between}.day-nav nav a{padding:0 6px;font-size:.74rem}.day-hero{min-height:auto;padding:104px 18px 60px}.stage-curtain{width:52%}.stage-beam{width:42vw}.ceremony-scene{opacity:.52}.day-stargate{top:42%;width:min(88vw,420px)}.day-countdown-signal{right:18px;bottom:18px;grid-template-columns:repeat(4,auto);gap:6px}.day-countdown-signal span,.day-countdown-signal strong{min-width:38px;height:38px;font-size:.72rem}.day-countdown-signal strong{min-width:58px}.day-hero h1{font-size:clamp(3.36rem,15vw,5rem)}.day-hero-copy>p:not(.day-kicker){font-size:1rem}.day-hero-actions{align-items:stretch}.day-primary,.day-secondary{flex:1 1 100%}.day-premiere-panel{padding:22px}.panel-date{font-size:clamp(3.2rem,16vw,4.8rem)}.day-cake-section,.day-letter-section,.day-stars-section,.day-memory-section,.day-finale{padding-inline:18px}.day-cake-stage{min-height:auto;padding:18px;-webkit-backdrop-filter:none;backdrop-filter:none}.cake-stage-rig span{width:38vw}.day-cake{min-height:420px}.day-cake-body{height:132px}.day-wish-panel{padding:18px}.day-envelope{min-height:520px}.day-envelope:before{inset:54px 0 30px}.day-envelope:after{right:0;left:0;height:168px}.envelope-address{top:224px;left:32px;width:min(52%,260px)}.envelope-address strong{font-size:clamp(2.15rem,12vw,3.6rem)}.envelope-address em{font-size:.76rem}.envelope-stamp{top:94px;right:26px;width:76px;height:94px}.envelope-stamp span{font-size:1rem}.envelope-stamp:after{right:-28px;width:70px}.envelope-feather{right:72px;bottom:84px;width:132px}.envelope-feather:before{right:28px;width:78px;height:58px}.day-letter-card{min-height:500px;padding:34px 24px}.day-letter-card:before{inset:14px}.day-galaxy{min-height:540px}.galaxy-core{width:138px;height:138px}.galaxy-wish{max-width:146px;font-size:.74rem;transform:translate(-50%,-50%) rotate(var(--angle)) translate(154px) rotate(calc(var(--angle) * -1))}.memory-frame{min-height:230px}}@media(max-width:440px){.day-hero h1{font-size:clamp(3rem,14vw,4.3rem)}.day-hero{padding-inline:16px}.day-premiere-panel{min-height:auto}.premiere-beat{grid-template-columns:38px minmax(0,1fr);padding:12px}.premiere-beat>span{width:38px;height:38px}.day-cake{min-height:330px}.day-cake-top{width:90%}.day-cake-body{width:82%}.galaxy-wish{position:static;transform:none;width:100%;max-width:none;justify-content:center}.day-galaxy{display:grid;gap:10px;min-height:auto;padding:180px 18px 20px}.galaxy-core{top:24px;transform:translate(-50%)}.day-galaxy:before,.day-galaxy:after{display:none}}:root{color-scheme:light;--ink: #24181d;--ink-soft: #523b41;--muted: #7f6870;--rose: #c84b6f;--coral: #e27863;--wine: #6e2b45;--gold: #c99a42;--champagne: #fff0cc;--jade: #6f9d8d;--plum: #2a101d;--plum-soft: #5b3043;--night: #150b11;--paper: #fffaf2;--sage-mist: #e6f1ea;--peony: #efadb8;--ivory: #fff8ee;--pearl: rgba(255, 255, 255, .76);--glass: rgba(255, 249, 240, .72);--border: rgba(112, 68, 80, .16);--shadow: 0 24px 72px rgba(74, 38, 48, .16);--shadow-deep: 0 34px 110px rgba(24, 10, 17, .4)}*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth;background:#fff7ef}body{min-width:320px;min-height:100%;margin:0;color:var(--ink);font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,sans-serif;background:linear-gradient(180deg,#fff8f0,#f8edf0 31%,#eaf5ee 61%,#fff9ef),#fff7ef;overflow-x:hidden}body.countdown-body{background:#06060f}body::selection{color:#fff;background:var(--rose)}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.app{position:relative;min-height:100vh;isolation:isolate}.countdown-app{color:#fffaf4;background:radial-gradient(circle at 72% 20%,rgba(201,154,66,.14),transparent 28%),radial-gradient(circle at 18% 68%,rgba(111,157,141,.1),transparent 30%),linear-gradient(180deg,#03040d,#160818 56%,#06060f)}.countdown-app .scene-shell{opacity:.28;filter:saturate(.82) brightness(.72)}.scene-shell{position:fixed;inset:0;z-index:0;pointer-events:none;background:linear-gradient(115deg,#fffcf6f2,#ffece1bd 46%,#e6f3ecc7),#fff6ec}.scene-shell:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,#ffffffad,#fff5ed2e 42%,#fff8f0e0),repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 1px,transparent 1px 74px)}.scene-shell canvas{display:block;width:100%!important;height:100%!important}.scene-fallback{background:linear-gradient(115deg,#fffcf6f0,#ffede4c7 44%,#e8f5eebd),#fff6ec}.texture-layer{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.12;mix-blend-mode:multiply;background-image:linear-gradient(0deg,rgba(60,31,42,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(60,31,42,.035) 1px,transparent 1px);background-size:36px 36px,36px 36px;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 84%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 84%,transparent 100%)}.petal-layer{position:fixed;inset:0;z-index:3;overflow:hidden;pointer-events:none}.petal{position:absolute;top:-12vh;left:var(--x);width:var(--size);height:calc(var(--size) * 1.8);border-radius:80% 20% 78% 24%;background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.92),transparent 34%),linear-gradient(155deg,#f8b3beb8,#ffeed66b);box-shadow:0 8px 18px #d94f761a;opacity:.46;transform-origin:50% 100%;animation:driftPetal var(--duration) linear infinite;animation-delay:var(--delay)}.sound-aura{position:fixed;inset:0;z-index:1;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .6s ease}.sound-aura span{position:absolute;left:-14%;width:128%;height:24%;border-block:1px solid rgba(255,255,255,.18);background:linear-gradient(90deg,transparent 0%,rgba(217,79,118,.18) 22%,rgba(255,240,207,.3) 48%,rgba(122,169,151,.16) 74%,transparent 100%);filter:blur(14px);mix-blend-mode:screen;transform:translateY(0) skewY(-7deg);animation:soundCurtain 7.4s ease-in-out infinite}.sound-aura span:nth-child(1){top:12%}.sound-aura span:nth-child(2){top:42%;animation-delay:-2.2s;animation-duration:8.6s}.sound-aura span:nth-child(3){top:68%;animation-delay:-4.6s;animation-duration:9.2s}.app.is-music-on .sound-aura{opacity:.58}.music-toggle{position:fixed;right:24px;bottom:24px;z-index:30;display:inline-grid;grid-template-columns:38px minmax(92px,auto) 34px;align-items:center;gap:10px;min-height:60px;max-width:calc(100vw - 32px);padding:8px 12px 8px 10px;border:1px solid rgba(116,48,77,.16);border-radius:8px;color:var(--wine);background:linear-gradient(135deg,#fffffff0,#fff7ebc7),#ffffffb8;box-shadow:0 18px 44px #49232a24;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);transition:transform .19s ease,box-shadow .19s ease,border-color .19s ease,background .19s ease}.music-toggle:hover{transform:translateY(-2px);border-color:#d94f7657;box-shadow:0 24px 58px #59313638}.music-toggle:active{transform:translateY(0) scale(.98)}.music-toggle:disabled{cursor:not-allowed;opacity:.68}.page-music{position:fixed;right:24px;bottom:24px;z-index:35;display:inline-grid;grid-template-columns:38px minmax(102px,auto) 28px;align-items:center;gap:10px;min-height:58px;max-width:calc(100vw - 32px);padding:8px 12px 8px 10px;border:1px solid rgba(255,240,207,.24);border-radius:8px;color:#fffaf4;background:linear-gradient(135deg,rgba(255,255,255,.13),transparent 46%),#0a070ead;box-shadow:0 18px 54px #00000042;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:transform .19s ease,box-shadow .19s ease,border-color .19s ease}.page-music:hover{transform:translateY(-2px);border-color:#fff0cf6b;box-shadow:0 24px 68px #00000057}.page-music:active{transform:translateY(0) scale(.98)}.page-music:disabled{cursor:not-allowed;opacity:.6}.page-music-birthday.is-playing{background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 42%),linear-gradient(135deg,#a92e55,#d9547f 52%,#d9a84d)}.page-music-after.is-playing{background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 42%),linear-gradient(135deg,#2f7d6b,#91c7ad 52%,#e2b85f)}.page-music-countdown.is-playing{background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 42%),linear-gradient(135deg,#6e2b45,#c84b6f 52%,#c99a42)}.page-music-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:#27151d;background:#fff0cfe0}.page-music-copy{display:grid;gap:2px;min-width:0;text-align:left}.page-music-copy strong{font-size:.88rem;line-height:1.15;white-space:nowrap}.page-music-copy span{color:currentColor;font-size:.68rem;font-weight:900;line-height:1.1;opacity:.62;text-transform:uppercase;white-space:nowrap}.page-music-bars{display:grid;grid-template-columns:repeat(3,4px);align-items:end;justify-content:center;gap:3px;width:28px;height:24px}.page-music-bars i{display:block;height:8px;border-radius:999px;background:currentColor;opacity:.48}.page-music.is-playing .page-music-bars i{opacity:.86;animation:equalizerBeat .82s ease-in-out infinite}.page-music.is-playing .page-music-bars i:nth-child(2){animation-delay:-.18s}.page-music.is-playing .page-music-bars i:nth-child(3){animation-delay:-.34s}.music-toggle.is-playing{color:#fff;border-color:#ffffff5c;background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 40%),linear-gradient(135deg,#9e3154,var(--rose) 48%,var(--gold));box-shadow:0 24px 64px #d94f7657}.music-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:var(--rose);background:#ffffffbd}.music-toggle.is-playing .music-icon{color:var(--rose)}.music-copy{display:grid;gap:2px;min-width:0;text-align:left}.music-copy strong{font-size:.9rem;line-height:1.15;white-space:nowrap}.music-copy span{color:currentColor;font-size:.68rem;font-weight:800;line-height:1.1;opacity:.66;text-transform:uppercase;white-space:nowrap}.equalizer{display:grid;grid-template-columns:repeat(4,4px);align-items:end;justify-content:center;gap:3px;width:34px;height:28px}.equalizer i{display:block;height:8px;border-radius:999px;background:currentColor;opacity:.54}.music-toggle.is-playing .equalizer i{opacity:.86;animation:equalizerBeat .78s ease-in-out infinite}.music-toggle.is-playing .equalizer i:nth-child(2){animation-delay:-.18s}.music-toggle.is-playing .equalizer i:nth-child(3){animation-delay:-.34s}.music-toggle.is-playing .equalizer i:nth-child(4){animation-delay:-.52s}.topbar{position:fixed;top:18px;left:50%;z-index:20;display:flex;align-items:center;justify-content:space-between;width:min(calc(100% - 40px),1160px);min-height:54px;padding:8px 10px 8px 16px;border:1px solid rgba(255,240,207,.24);border-radius:8px;color:#fffaf6f0;background:linear-gradient(135deg,rgba(255,255,255,.16),transparent 48%),#1f0d16a3;box-shadow:0 16px 44px #1e0c142e;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);transform:translate(-50%)}.brand-mark,.topbar nav,.topbar nav a{display:flex;align-items:center}.brand-mark{gap:9px;color:inherit;font-weight:800;letter-spacing:0}.brand-mark svg{color:var(--champagne)}.topbar nav{gap:6px}.topbar nav a{min-height:34px;padding:0 12px;border-radius:8px;color:#fffaf6c7;font-size:.88rem;font-weight:700;transition:color .18s ease,background .18s ease}.topbar nav a:hover{color:#fff;background:#ffffff1f}main{position:relative;z-index:2}#ceremony,#letter,#wishes,#ritual,#finale{scroll-margin-top:96px}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.38fr);align-items:center;gap:clamp(24px,5vw,80px);width:100%;min-height:100svh;margin:0 auto;padding:clamp(108px,12vh,150px) clamp(22px,5vw,76px) clamp(46px,7vh,72px);overflow:hidden;color:#fffaf4}.countdown-app .hero{grid-template-columns:minmax(0,.9fr) minmax(360px,.42fr);background:linear-gradient(90deg,rgba(3,4,13,.4),transparent 52%),radial-gradient(circle at 65% 42%,rgba(255,240,207,.12),transparent 28%)}.hero-scroll-cue{position:absolute;left:50%;bottom:22px;z-index:4;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,240,207,.28);border-radius:50%;color:#fffaf4;background:#ffffff1a;box-shadow:0 18px 44px #14080e38;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform:translate(-50%);animation:heroCueFloat 1.8s ease-in-out infinite}.hero:after{position:absolute;right:0;bottom:0;left:0;z-index:1;height:2px;content:"";background:linear-gradient(90deg,transparent,rgba(255,240,207,.72),rgba(111,157,141,.38),transparent)}.hero-backdrop{position:absolute;inset:0;z-index:0;overflow:hidden;background:var(--night)}.countdown-app .hero-backdrop{background:radial-gradient(ellipse at 72% 28%,rgba(255,240,207,.32),transparent 28%),radial-gradient(ellipse at 28% 74%,rgba(111,157,141,.12),transparent 32%),linear-gradient(92deg,#300318fa 0 10%,#80143685 28%,#12051247,#80143670 72%,#18020efa),repeating-linear-gradient(92deg,rgba(255,224,197,.12) 0 2px,transparent 2px 36px),linear-gradient(90deg,rgba(255,240,207,.055) 1px,transparent 1px),linear-gradient(180deg,rgba(255,240,207,.04) 1px,transparent 1px),linear-gradient(180deg,#02030b,#170817,#05050d);background-size:auto,auto,auto,160px 100%,90px 90px,90px 90px,auto}.countdown-app .hero-backdrop:before,.countdown-app .hero-backdrop:after{position:absolute;inset:0;content:"";pointer-events:none}.countdown-app .hero-backdrop:before{background:linear-gradient(72deg,transparent 0 12%,rgba(255,240,207,.42) 29%,rgba(255,240,207,.1) 43%,transparent 55% 100%),linear-gradient(104deg,transparent 0 51%,rgba(249,181,193,.34) 70%,rgba(255,240,207,.08) 82%,transparent 94% 100%),radial-gradient(ellipse at 62% 0%,rgba(255,240,207,.42),transparent 42%);filter:blur(1px);mix-blend-mode:screen;transform-origin:50% 0;animation:openingBeams 7.8s ease-in-out infinite}.countdown-app .hero-backdrop:after{background:radial-gradient(ellipse at 66% 86%,rgba(255,240,207,.28),transparent 42%),linear-gradient(90deg,rgba(0,0,0,.62) 0 9%,transparent 22% 78%,rgba(0,0,0,.64) 91% 100%),repeating-linear-gradient(90deg,rgba(255,240,207,.08) 0 2px,transparent 2px 58px);opacity:.92;animation:stageLightPulse 6.4s ease-in-out infinite}.hero-backdrop img{width:100%;height:100%;object-fit:cover;object-position:62% 50%;filter:saturate(.82) contrast(1.12) brightness(.54);transform:scale(1.03);animation:imageBreath 10s ease-in-out infinite alternate}.hero-vignette{position:absolute;inset:0;background:linear-gradient(90deg,#0c0509eb,#1f0d15d1 36%,#2512196b 66%,#0e070a80),linear-gradient(180deg,#0c05099e,#0c050914 42%,#0c0509db)}.countdown-app .hero-vignette{background:linear-gradient(90deg,#03040dfa,#130815e0 44%,#0b060d75),linear-gradient(180deg,#03040dc7,#03040d2e 42%,#03040deb)}.countdown-app .hero-sheen{background:linear-gradient(105deg,transparent 0 22%,rgba(255,240,207,.22) 42%,transparent 62%),radial-gradient(ellipse at 70% 18%,rgba(255,240,207,.34),transparent 32%),radial-gradient(ellipse at 70% 82%,rgba(111,157,141,.1),transparent 36%);animation:preludeSheen 7s ease-in-out infinite}.hero-vignette:after{position:absolute;inset:0;content:"";opacity:.16;background-image:linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:96px 96px,96px 96px;-webkit-mask-image:linear-gradient(90deg,#000 0%,transparent 72%);mask-image:linear-gradient(90deg,#000 0%,transparent 72%)}.hero-sheen{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0 34%,rgba(255,240,207,.1) 46%,transparent 60%),linear-gradient(180deg,transparent 0 72%,rgba(255,240,207,.12) 100%);mix-blend-mode:screen}.ribbon-marquee{position:relative;z-index:2;width:100%;overflow:hidden;padding:14px 0;border-block:1px solid rgba(215,165,69,.2);background:linear-gradient(90deg,#fff7ebd1,#ffffff80,#ebf8f1ad),#ffffff61;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.ribbon-track{display:flex;width:max-content;min-width:200%;gap:14px;animation:ribbonMove 28s linear infinite}.ribbon-track span{display:inline-flex;align-items:center;min-height:32px;padding:0 18px;border:1px solid rgba(217,79,118,.16);border-radius:8px;color:#5f2c3e;font-size:.92rem;font-weight:900;white-space:nowrap;background:#ffffffa3;box-shadow:0 10px 24px #59313612}.hero-copy,.hero-art{position:relative;z-index:2}.hero-copy{max-width:940px}.hero-crest{display:inline-grid;grid-template-columns:auto auto;align-items:center;gap:10px;min-height:42px;margin-bottom:20px;padding:0 12px 0 14px;border:1px solid rgba(255,240,207,.36);border-radius:8px;color:var(--champagne);background:#ffffff17;box-shadow:inset 0 0 0 1px #ffffff14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hero-crest span{font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.hero-crest strong{color:#fff;font-family:Georgia,serif;font-size:1.68rem;line-height:1}.eyebrow{display:inline-flex;align-items:center;gap:9px;margin:0 0 18px;color:var(--rose);font-size:.84rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.eyebrow:before{width:34px;height:1px;content:"";background:linear-gradient(90deg,var(--rose),var(--gold))}h1,h2,h3,p{margin-top:0}h1{display:grid;gap:8px;margin-bottom:26px;color:#21131a;font-size:clamp(4.5rem,10vw,8.6rem);line-height:.92;letter-spacing:0;text-wrap:balance}h1 span{display:block;max-width:100%}.hero h1{max-width:960px;margin-bottom:22px;color:#fffaf4;font-family:Georgia,Times New Roman,serif;font-size:clamp(4.1rem,8.8vw,8.6rem);line-height:.96;text-shadow:0 24px 70px rgba(0,0,0,.34)}.countdown-app .hero h1{font-size:clamp(4.8rem,9vw,9.4rem)}h1 span:last-child{color:transparent;background:linear-gradient(92deg,#fff7df,#f4b4bd 38%,#e7b65d 70%,#bce0d2);background-clip:text;-webkit-background-clip:text}.hero-date-strip{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:22px;color:#fffaf6c7;font-size:.88rem;font-weight:900;text-transform:uppercase}.hero-date-strip i{width:5px;height:5px;border-radius:1px;background:var(--champagne);transform:rotate(45deg)}.hero-subtitle{max-width:640px;margin-bottom:30px;color:#fffaf6d6;font-size:clamp(1.05rem,1.45vw,1.2rem);line-height:1.95;text-shadow:0 12px 34px rgba(0,0,0,.28)}.countdown-app .hero-subtitle{max-width:700px;color:#fffaf6c7}.hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.hero-music-note{display:inline-flex;align-items:center;gap:8px;max-width:100%;margin-top:18px;color:#fffaf6ad;font-size:.92rem;font-weight:800;text-shadow:0 10px 28px rgba(0,0,0,.24)}.hero-music-note svg{color:var(--champagne)}.primary-button,.secondary-button,.icon-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;border:0;transition:transform .19s ease,box-shadow .19s ease,filter .19s ease,background .19s ease}.primary-button{gap:10px;min-width:158px;min-height:52px;padding:0 23px;border-radius:8px;color:#fff;font-weight:900;background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 38%),linear-gradient(135deg,#9e3154,var(--rose) 52%,var(--gold));box-shadow:0 18px 42px #9b325247}.hero-open-button{min-width:178px}.secondary-button{gap:10px;min-width:148px;min-height:52px;padding:0 20px;border:1px solid rgba(217,79,118,.18);border-radius:8px;color:var(--wine);font-weight:900;background:linear-gradient(135deg,#ffffffd1,#fff4eb9e),#ffffff8a;box-shadow:0 14px 34px #5931361f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.icon-button{width:50px;height:50px;border:1px solid rgba(116,89,104,.18);border-radius:8px;color:var(--wine);background:#ffffffa3;box-shadow:0 14px 34px #5931361f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hero .secondary-button{color:#fffaf4;background:linear-gradient(135deg,#ffffff2e,#fff4eb14),#ffffff1c;box-shadow:0 14px 34px #14080e33}.hero .icon-button{color:#fffaf4;background:#ffffff1f;box-shadow:0 14px 34px #14080e2e}.ghost-button{gap:8px;min-height:46px;padding:0 16px;border:1px solid rgba(122,169,151,.28);border-radius:8px;color:var(--wine);font-weight:900;background:#ffffff94}.primary-button:hover,.secondary-button:hover,.ghost-button:hover,.icon-button:hover{transform:translateY(-2px);filter:brightness(1.03)}.primary-button:active,.secondary-button:active,.ghost-button:active,.icon-button:active{transform:translateY(0) scale(.98)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled,.icon-button:disabled{cursor:not-allowed;filter:grayscale(.14);opacity:.58;transform:none}.primary-button:focus-visible,.secondary-button:focus-visible,.ghost-button:focus-visible,.icon-button:focus-visible,.music-toggle:focus-visible,.wish-card:focus-visible,.topbar a:focus-visible{outline:3px solid rgba(122,169,151,.56);outline-offset:4px}.cake-plate:focus-visible{outline:0}.cake-plate:focus-visible:before{box-shadow:0 0 0 3px #7aa9976b}.hero-art{align-self:center;display:grid;gap:16px;min-width:0;justify-items:end}.birthday-ticket{position:relative;display:grid;gap:15px;width:min(100%,408px);padding:clamp(24px,4vw,36px);color:#fffaf4;border-color:#fff0cf5c;background:radial-gradient(circle at 86% 10%,rgba(255,240,207,.18),transparent 38%),linear-gradient(135deg,#ffffff29,#ffffff0d),#200d16c7;box-shadow:var(--shadow-deep);-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px)}.countdown-app .birthday-ticket{background:radial-gradient(circle at 86% 10%,rgba(255,240,207,.2),transparent 38%),linear-gradient(135deg,#ffffff21,#ffffff0a),#09070fc2}.birthday-ticket:before,.birthday-ticket:after{position:absolute;top:50%;width:22px;height:46px;content:"";border:1px solid rgba(255,240,207,.24);background:#1c0b12bd;transform:translateY(-50%)}.birthday-ticket:before{left:-1px;border-radius:0 22px 22px 0;border-left:0}.birthday-ticket:after{right:-1px;border-radius:22px 0 0 22px;border-right:0}.ticket-label{color:#fff0cfe6;font-size:.76rem;font-weight:900;text-transform:uppercase}.birthday-ticket strong{color:#fff;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.1rem,5.6vw,4.9rem);line-height:.96}.birthday-ticket p{max-width:320px;margin:0;color:#fffaf6db;line-height:1.85}.ticket-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:12px;border-top:1px solid rgba(255,240,207,.16)}.ticket-meta span{display:grid;place-items:center;min-height:32px;border:1px solid rgba(255,240,207,.16);border-radius:8px;color:#fffaf6c7;font-size:.76rem;font-weight:900;background:#ffffff14}.image-frame{position:relative;overflow:hidden;aspect-ratio:.86;border:1px solid rgba(255,255,255,.64);border-radius:8px;background:#fff2e7;box-shadow:0 38px 90px #63353e3d,inset 0 0 0 1px #ffffff7a}.image-frame:before,.image-frame:after{position:absolute;inset:0;z-index:2;pointer-events:none;content:""}.image-frame:before{background:linear-gradient(180deg,#26131c0a,#26131c33),linear-gradient(110deg,rgba(255,255,255,.5) 0 12%,transparent 28% 100%);mix-blend-mode:screen}.image-frame:after{border:12px solid rgba(255,255,255,.26);border-radius:8px}.image-frame img{width:100%;height:100%;object-fit:cover;object-position:57% 50%;transform:scale(1.03);animation:imageBreath 8s ease-in-out infinite alternate}.glass-panel{border:1px solid var(--border);border-radius:8px;background:linear-gradient(135deg,#ffffffd6,#fff6ed94),var(--glass);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.birthday-ticket.glass-panel{border-color:#fff0cf5c;background:radial-gradient(circle at 86% 10%,rgba(255,240,207,.18),transparent 38%),linear-gradient(135deg,#ffffff29,#ffffff0d),#200d16d1;box-shadow:var(--shadow-deep)}.countdown-panel{position:relative;z-index:4;width:min(100%,408px);padding:18px;color:#fffaf4;border-color:#fff0cf57;background:linear-gradient(135deg,#ffffff26,#ffffff0d),#200d16b8;box-shadow:0 22px 64px #13080d4d}.countdown-app .countdown-panel{background:linear-gradient(135deg,#ffffff1f,#ffffff0a),#09070fa8}.panel-label{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#fffaf6db;font-weight:900}.panel-label svg{color:var(--champagne)}.countdown-grid{display:grid;grid-template-columns:repeat(4,minmax(58px,1fr));gap:10px}.countdown-cell{display:grid;place-items:center;min-height:76px;border:1px solid rgba(255,240,207,.2);border-radius:8px;background:#ffffff1c}.countdown-cell strong{color:#fff;font-size:clamp(1.42rem,3.1vw,2rem);line-height:1;font-variant-numeric:tabular-nums}.countdown-cell span{color:#fffaf69e;font-size:.78rem;font-weight:800}.hero-mini-note{display:inline-flex;align-items:center;gap:9px;width:fit-content;max-width:100%;min-height:38px;padding:0 12px;border:1px solid rgba(255,240,207,.22);border-radius:8px;color:#fffaf6c2;font-size:.9rem;font-weight:800;background:#ffffff14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.opening-preview-section,.opening-steps-section,.letter-section,.wish-section,.ceremony-section,.ritual-section,.moment-section,.finale{position:relative;width:min(100%,1200px);margin:0 auto;padding:clamp(82px,10vw,122px) clamp(24px,5vw,54px)}.opening-preview-section,.opening-steps-section{color:#fffaf4}.opening-preview-section .section-heading .eyebrow,.opening-steps-section .section-heading .eyebrow{color:#ffd28cd1}.opening-preview-section .section-heading h2,.opening-steps-section .section-heading h2{color:#fff8e8;text-shadow:0 18px 48px rgba(0,0,0,.3)}.opening-preview-grid,.opening-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.opening-preview-card,.opening-step{position:relative;min-height:260px;padding:28px;overflow:hidden;border:1px solid rgba(255,240,207,.18);border-radius:8px;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent 44%),#ffffff0b;box-shadow:0 24px 70px #0000002e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.opening-preview-card:before,.opening-step:before{position:absolute;inset:0;content:"";background:linear-gradient(105deg,transparent 0 36%,rgba(255,255,255,.12) 44%,transparent 54% 100%);transform:translate(-120%);animation:preludeScan 6.2s ease-in-out infinite}.opening-preview-card span,.opening-step span{position:relative;z-index:1;color:#fff0cf57;font-family:Georgia,serif;font-size:clamp(2.6rem,5vw,4.8rem);font-weight:700;line-height:.9}.opening-preview-card h3,.opening-step h3{position:relative;z-index:1;margin:38px 0 14px;color:#fff8e8;font-size:1.42rem}.opening-preview-card p,.opening-step p{position:relative;z-index:1;margin:0;color:#fffaf6ad;line-height:1.82}.ceremony-section{width:min(calc(100% - 48px),1240px);margin-top:clamp(58px,7vw,92px);border:1px solid rgba(255,240,207,.24);border-radius:8px;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(520px,1fr);align-items:center;gap:clamp(34px,5vw,76px);padding:clamp(44px,7vw,82px);color:#fffaf4;background:linear-gradient(135deg,rgba(255,255,255,.09),transparent 38%),radial-gradient(circle at 16% 18%,rgba(200,75,111,.26),transparent 32%),radial-gradient(circle at 88% 82%,rgba(111,157,141,.18),transparent 36%),linear-gradient(135deg,#24101a,#4b2034 52%,#22131a);box-shadow:0 36px 104px #30162042;overflow:hidden}.ceremony-section:before{position:absolute;inset:18px;content:"";border:1px solid rgba(255,240,207,.18);border-radius:8px;pointer-events:none}.ceremony-section:after{position:absolute;right:-96px;bottom:-118px;content:"MAKE A WISH";color:#fff0cf0f;font-family:Georgia,serif;font-size:clamp(4.8rem,10vw,8.2rem);font-weight:700;line-height:1;pointer-events:none;white-space:nowrap}.ceremony-copy,.ceremony-stage{position:relative;z-index:1}.ceremony-copy .eyebrow{color:var(--champagne)}.ceremony-copy .eyebrow:before{background:linear-gradient(90deg,var(--champagne),var(--peony))}.ceremony-copy h2{color:#fffaf4;text-shadow:0 18px 48px rgba(0,0,0,.26)}.ceremony-copy p{max-width:560px;margin-top:24px;margin-bottom:0;color:#fffaf6bf;font-size:1.08rem;line-height:1.85}.ceremony-stage{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(320px,.92fr);align-items:center;gap:clamp(24px,4vw,44px);min-width:0}.cake-plate{position:relative;display:grid;place-items:center;min-height:430px;min-width:0;padding:0;border:0;color:inherit;background:transparent;transform-origin:center bottom}.cake-plate:before{position:absolute;inset:14% 3% 6%;content:"";border-radius:50%;background:radial-gradient(ellipse at 50% 48%,#fff0cf99,#fff0cf00 58%),radial-gradient(ellipse at 50% 88%,rgba(122,169,151,.28),transparent 58%);filter:blur(2px);transition:opacity .22s ease,transform .22s ease}.cake-plate:hover:before{opacity:.86;transform:translateY(-3px) scale(1.02)}.cake-plate:disabled{cursor:not-allowed}.cake-candle{position:absolute;top:16%;left:50%;z-index:4;width:18px;height:92px;border-radius:8px;background:repeating-linear-gradient(135deg,#fff7ee 0 9px,#f1a1ad 9px 17px),#fff7ee;box-shadow:0 10px 28px #74304d29;transform:translate(-50%)}.cake-candle:after{position:absolute;top:-30px;left:50%;width:46px;height:46px;content:"";border-radius:50%;background:radial-gradient(circle at 44% 48%,rgba(255,255,255,.72),transparent 24%),radial-gradient(circle,rgba(122,169,151,.22),transparent 62%);opacity:0;filter:blur(5px);transform:translate(-50%) scale(.5);transition:opacity .26s ease,transform .26s ease}.ceremony-section.is-complete .cake-candle:after{opacity:.72;transform:translate(-50%) translateY(-14px) scale(1.1);animation:smokeLift 1.6s ease-out infinite}.wick{position:absolute;top:-9px;left:50%;width:2px;height:14px;border-radius:999px;background:#4b2a31;transform:translate(-50%)}.flame-core{position:absolute;top:-44px;left:50%;width:28px;height:42px;border-radius:60% 38% 58% 40%;background:radial-gradient(circle at 48% 68%,#fff9ca 0 19%,transparent 20%),linear-gradient(180deg,#fff1a8,#f0a545 48%,#dc5a54);box-shadow:0 0 18px #ffc554b8,0 0 42px #d94f7647;opacity:0;transform:translate(-50%) translateY(10px) scale(.64) rotate(8deg);transition:opacity .22s ease,transform .22s ease}.cake-candle.is-lit .flame-core{opacity:1;transform:translate(-50%) translateY(0) scale(1) rotate(8deg);animation:flameFlicker 1.18s ease-in-out infinite}.cake-top{position:absolute;top:41%;left:50%;z-index:3;width:min(82%,326px);height:78px;border:1px solid rgba(255,255,255,.72);border-radius:50% 50% 22px 22px;background:linear-gradient(180deg,#ffffffeb,#ffdbdceb),#ffd8dc;box-shadow:0 18px 38px #74304d29;transform:translate(-50%)}.cake-top span{position:absolute;top:22px;width:34px;height:7px;border-radius:999px;background:var(--gold);transform:rotate(-16deg)}.cake-top span:nth-child(1){left:22%;background:var(--rose)}.cake-top span:nth-child(2){left:48%;background:var(--jade);transform:rotate(14deg)}.cake-top span:nth-child(3){right:20%}.cake-body{position:absolute;top:52%;left:50%;z-index:2;display:grid;place-items:center;width:min(74%,288px);height:148px;border-radius:22px 22px 38px 38px;background:linear-gradient(180deg,#fff4ebf5,#e2786326),linear-gradient(135deg,#fff7ef,#f7bdc5 58%,#f3d99b);box-shadow:inset 0 -18px #74304d14,0 28px 58px #54303633;transform:translate(-50%)}.cake-body span{color:#74304d80;font-family:Georgia,serif;font-size:clamp(4.2rem,9vw,6.8rem);font-weight:700;line-height:1}.cake-shadow{position:absolute;left:50%;bottom:14%;z-index:1;width:min(78%,320px);height:34px;border-radius:50%;background:#00000042;filter:blur(14px);transform:translate(-50%)}.ceremony-panel{display:grid;gap:16px;padding:clamp(22px,4vw,34px);color:var(--ink);border-color:#fff0cf38;background:linear-gradient(135deg,#fffffff0,#fff7edc7),#ffffffc7;box-shadow:0 26px 72px #10070c33}.ceremony-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ceremony-steps span{display:grid;place-items:center;min-height:34px;border:1px solid rgba(116,48,77,.12);border-radius:8px;color:var(--muted);font-size:.8rem;font-weight:900;background:#ffffff80}.ceremony-steps span.is-current{color:var(--wine);border-color:#d94f7647;background:#ffe8e0ad}.ceremony-steps span.is-done{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--rose),var(--coral))}.wish-input-label{color:var(--wine);font-size:.9rem;font-weight:900}.ceremony-panel textarea{width:100%;min-height:118px;resize:vertical;border:1px solid rgba(116,48,77,.16);border-radius:8px;padding:14px 15px;color:var(--ink);background:#ffffffa8;box-shadow:inset 0 1px #ffffffbd;line-height:1.7;outline:0}.ceremony-panel textarea:focus{border-color:#d94f766b;box-shadow:0 0 0 4px #d94f761a}.ceremony-panel textarea:disabled{color:var(--muted);background:#ffffff5c}.ceremony-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.soft-icon-button{width:46px;height:46px;box-shadow:none}.ceremony-note{min-height:44px;margin:0;color:var(--muted);font-size:.92rem;line-height:1.65}.section-heading{margin-bottom:34px}.section-heading .eyebrow,.ritual-copy .eyebrow,.moment-copy .eyebrow,.finale .eyebrow{color:var(--plum-soft)}.section-heading h2,.ritual-copy h2,.moment-copy h2,.finale h2{max-width:760px;margin-bottom:0;color:#26161e;font-size:clamp(2.32rem,4.8vw,4.5rem);line-height:1.08;letter-spacing:0;text-wrap:balance}.letter-card{position:relative;max-width:920px;min-height:420px;padding:clamp(30px,6vw,70px);border:1px solid rgba(121,78,79,.16);border-radius:8px;overflow:hidden;background:linear-gradient(90deg,rgba(120,74,88,.052) 1px,transparent 1px),linear-gradient(180deg,transparent 0 31px,rgba(201,154,66,.17) 32px,transparent 33px),radial-gradient(circle at 92% 10%,rgba(239,173,184,.24),transparent 26%),linear-gradient(135deg,#fffdf7fc,#fff5eaf5);background-size:100% 100%,100% 32px,100% 100%;box-shadow:0 26px 76px #4d2b3121,inset 0 1px #ffffffd1;transform:rotate(-.45deg)}.letter-card:before{position:absolute;inset:12px;content:"";border:1px solid rgba(201,154,66,.24);border-radius:8px;pointer-events:none}.letter-card:after{position:absolute;right:-64px;bottom:-44px;width:240px;height:240px;content:attr(data-birthday-age);color:#c84b6f12;font-family:Georgia,serif;font-size:13rem;font-weight:700;line-height:1}.letter-card p{position:relative;z-index:1;max-width:780px;margin-bottom:18px;color:#4d383f;font-size:clamp(1.08rem,2vw,1.32rem);line-height:2}.letter-spark{position:absolute;top:34px;right:38px;color:var(--gold)}.signature{position:relative;z-index:1;display:grid;gap:4px;margin-top:34px;color:var(--wine)}.signature span{color:var(--jade);font-size:.9rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.signature strong{font-size:1.35rem}.wish-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;counter-reset:wish-card}.wish-card{position:relative;min-height:330px;padding:28px 26px 72px;border:1px solid rgba(117,70,84,.16);border-radius:8px;overflow:hidden;background:radial-gradient(circle at 84% 12%,rgba(255,240,204,.28),transparent 30%),linear-gradient(180deg,#ffffffe0,#fff7efc2),#ffffff9e;box-shadow:0 22px 54px #5430361a,inset 0 1px #ffffffd1;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.wish-card:nth-child(2){transform:translateY(18px)}.wish-card:nth-child(3){transform:translateY(-10px)}.wish-card:nth-child(4){transform:translateY(12px)}.wish-card[role=button]{cursor:pointer}.wish-card:after{position:absolute;inset:0 auto 0 0;width:4px;height:auto;content:"";background:linear-gradient(180deg,var(--rose),var(--gold),var(--jade));opacity:.84}.wish-card:hover{transform:translateY(-6px) rotate(-.4deg);border-color:#7aa99766;box-shadow:0 28px 66px #54303629}.wish-card:nth-child(2):hover,.wish-card:nth-child(3):hover,.wish-card:nth-child(4):hover{transform:translateY(-6px) rotate(-.4deg)}.wish-card.is-open{border-color:#d94f7652;background:linear-gradient(145deg,#ffffffe0,#ffeee5c7),radial-gradient(circle at 82% 12%,rgba(201,154,66,.22),transparent 34%),#ffffff75;box-shadow:0 28px 72px #d94f7629}.wish-card.is-open .wish-index{color:#d94f7633}.wish-card.is-open svg{color:var(--gold)}.wish-index{margin-bottom:42px;color:#74304d3d;font-family:Georgia,serif;font-size:3.4rem;font-weight:900;line-height:.88}.wish-card svg{color:var(--rose)}.wish-card h3{margin:18px 0 13px;color:#2b1821;font-size:1.45rem;line-height:1.2}.wish-card p,.ritual-copy p,.moment-copy p,.finale p{margin-bottom:0;color:var(--muted);line-height:1.85}.card-click-hint{position:absolute;right:18px;bottom:18px;display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border:1px solid rgba(217,79,118,.14);border-radius:8px;color:var(--wine);font-size:.74rem;font-weight:900;background:#ffffff9e}.card-click-hint svg{color:var(--rose)}.ritual-section{width:min(calc(100% - 48px),1240px);border-radius:8px;display:grid;grid-template-columns:minmax(280px,.74fr) minmax(360px,1fr);align-items:center;gap:clamp(28px,5vw,70px);background:radial-gradient(circle at 8% 18%,rgba(111,157,141,.2),transparent 30%),linear-gradient(135deg,#ffffff7a,#fff6ed2e)}.ritual-copy p{max-width:560px;margin-top:24px;font-size:1.08rem}.ritual-card{position:relative;min-height:440px;padding:clamp(28px,5vw,54px);border:1px solid rgba(215,165,69,.28);border-radius:8px;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.24),transparent 42%),radial-gradient(circle at 80% 14%,rgba(111,157,141,.24),transparent 34%),radial-gradient(circle at 18% 88%,rgba(200,75,111,.18),transparent 36%),linear-gradient(135deg,#fffdf8,#fff0e8 58%,#edf7f1);box-shadow:0 32px 84px #54303629;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.ritual-card:after{position:absolute;inset:14px;content:"";border:1px solid rgba(255,255,255,.58);border-radius:8px;pointer-events:none}.wish-orbit{position:absolute;inset:-30% -12% auto auto;width:360px;aspect-ratio:1;border:1px solid rgba(201,154,66,.2);border-radius:50%;animation:orbitSpin 18s linear infinite}.wish-orbit span{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--gold);box-shadow:0 0 24px #d7a54585}.wish-orbit span:nth-child(1){top:16%;left:28%}.wish-orbit span:nth-child(2){right:8%;bottom:36%;background:var(--rose)}.wish-orbit span:nth-child(3){left:38%;bottom:4%;background:var(--jade)}.gift-emblem{position:relative;z-index:1;display:grid;place-items:center;width:76px;height:76px;margin-bottom:46px;border:1px solid rgba(217,79,118,.18);border-radius:50%;color:#fff;background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 44%),linear-gradient(135deg,#9e3154,var(--rose) 58%,var(--gold));box-shadow:0 18px 42px #9b325238}.wish-reveal{position:relative;z-index:1;display:grid;gap:12px;min-height:138px}.wish-reveal span{color:var(--jade);font-size:.9rem;font-weight:900;text-transform:uppercase}.wish-reveal strong{max-width:620px;color:#24141c;font-size:clamp(1.52rem,3vw,2.38rem);line-height:1.32;text-wrap:balance}.gift-button{position:relative;z-index:1;margin-top:30px}.moment-section{width:min(calc(100% - 48px),1240px);display:grid;grid-template-columns:minmax(280px,.78fr) minmax(360px,1fr);align-items:center;gap:clamp(28px,5vw,68px)}.moment-copy p{max-width:560px;margin-top:24px;font-size:1.08rem}.moment-gallery{position:relative}.gallery-main{overflow:hidden;aspect-ratio:1.05;border:1px solid rgba(255,255,255,.58);border-radius:8px;background:#fff1e4;box-shadow:0 30px 76px #5430362e,-18px 18px #6f9d8d1f}.gallery-main img{width:100%;height:100%;object-fit:cover;object-position:50% 54%;transform:scale(1.04)}.gallery-note{position:absolute;right:18px;bottom:18px;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 15px;color:var(--wine);font-weight:900}.gallery-note svg{color:var(--rose)}.finale{width:100%;min-height:82vh;display:grid;place-items:center;text-align:center;margin-top:40px;background:linear-gradient(180deg,#fffaf400,#190a1129 24%,#14080ef0),url(../images/hero-birthday.png) center 54% / cover}.finale-inner{width:min(100%,880px);padding:clamp(34px,7vw,76px);border:1px solid rgba(255,240,207,.28);border-radius:8px;color:#fffaf4;background:linear-gradient(135deg,#ffffff29,#fff4eb0f),#1b0c13a3;box-shadow:0 30px 90px #0e060a57;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.finale .eyebrow{justify-content:center;color:var(--champagne)}.finale .eyebrow:before{background:linear-gradient(90deg,var(--champagne),var(--peony))}.finale h2{margin-inline:auto;color:#fffaf4}.finale p{max-width:620px;margin:24px auto 30px;color:#fffaf6c2;font-size:1.08rem}.final-button{margin-inline:auto}@keyframes imageBreath{0%{filter:saturate(1.03) brightness(1);transform:scale(1.03)}to{filter:saturate(1.12) brightness(1.04);transform:scale(1.07)}}@keyframes preludeSheen{0%,to{opacity:.38;transform:translate(-3%)}50%{opacity:.82;transform:translate(3%)}}@keyframes openingBeams{0%,to{opacity:.62;transform:translate3d(-4%,0,0) skew(-6deg) scaleX(.92)}50%{opacity:1;transform:translate3d(4%,-14px,0) skew(5deg) scaleX(1.08)}}@keyframes stageLightPulse{0%,to{opacity:.72;filter:saturate(.96) brightness(.96)}50%{opacity:1;filter:saturate(1.16) brightness(1.12)}}@keyframes preludeScan{0%,46%{transform:translate(-120%)}72%,to{transform:translate(120%)}}@keyframes driftPetal{0%{transform:translate3d(0,-12vh,0) rotate(0)}50%{transform:translate3d(var(--sway),54vh,0) rotate(190deg)}to{transform:translate3d(calc(var(--sway) * -.35),112vh,0) rotate(360deg)}}@keyframes soundCurtain{0%,to{transform:translate3d(-2%,0,0) skewY(-7deg) scaleX(1);opacity:.5}50%{transform:translate3d(2%,-18px,0) skewY(-7deg) scaleX(1.04);opacity:.84}}@keyframes equalizerBeat{0%,to{height:8px}45%{height:24px}}@keyframes ribbonMove{to{transform:translate(-50%)}}@keyframes heroCueFloat{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-8px)}}@keyframes orbitSpin{to{transform:rotate(360deg)}}@keyframes flameFlicker{0%,to{border-radius:60% 38% 58% 40%;transform:translate(-50%) translateY(0) scale(1) rotate(8deg)}45%{border-radius:48% 52% 44% 56%;transform:translate(-50%) translateY(-2px) scale(.92,1.08) rotate(-5deg)}72%{transform:translate(-50%) translateY(1px) scale(1.06,.96) rotate(12deg)}}@keyframes smokeLift{0%{opacity:0;transform:translate(-50%) translateY(0) scale(.7)}45%{opacity:.72}to{opacity:0;transform:translate(-50%) translateY(-34px) scale(1.36)}}@media(max-width:1080px){.hero{grid-template-columns:1fr;align-items:end;min-height:auto;padding-top:128px}.hero-copy{max-width:840px}.hero-art{width:min(100%,720px);justify-items:start}.birthday-ticket,.countdown-panel{width:min(100%,620px)}.wish-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.moment-section{grid-template-columns:1fr}.ceremony-section,.ritual-section{width:min(calc(100% - 40px),980px);grid-template-columns:1fr}.ceremony-stage{grid-template-columns:minmax(260px,.82fr) minmax(320px,1fr)}}@media(min-width:721px)and (max-width:1080px){.hero{grid-template-columns:minmax(0,1fr) minmax(250px,.44fr);align-items:center;gap:clamp(20px,3vw,32px);min-height:92svh;padding:104px clamp(24px,4vw,42px) 44px}.hero-copy{max-width:560px}.hero-crest{min-height:40px;margin-bottom:16px}.hero .eyebrow{margin-bottom:14px;font-size:.78rem}.hero h1{max-width:560px;margin-bottom:22px;font-size:clamp(3.9rem,7.4vw,5.2rem);line-height:1}.hero-date-strip{margin-bottom:18px;font-size:.78rem}.hero-subtitle{max-width:500px;margin-bottom:24px;font-size:1rem;line-height:1.78}.hero-actions{gap:10px}.hero .primary-button,.hero .secondary-button{min-width:132px;min-height:46px;padding-inline:16px}.hero .icon-button{width:46px;height:46px}.hero-art{width:100%;align-self:center;gap:12px;justify-items:stretch}.birthday-ticket,.countdown-panel{width:100%}.birthday-ticket{padding:22px}.birthday-ticket strong{font-size:clamp(3.1rem,6.2vw,4.6rem)}.countdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.countdown-cell{min-height:66px}.hero-mini-note{font-size:.82rem}}@media(max-width:720px){html{scroll-behavior:auto}.scene-shell{position:absolute;min-height:100%}.texture-layer{display:none}.topbar{top:10px;width:calc(100% - 24px);color:var(--wine);border-color:#784a5824;background:#fffaf6f0;box-shadow:0 10px 28px #5931361a;-webkit-backdrop-filter:none;backdrop-filter:none}.countdown-app .topbar{color:#fffaf6f0;border-color:#fff0cf2e;background:#07060eb8;box-shadow:0 12px 34px #00000038}.brand-mark svg{color:var(--rose)}.countdown-app .brand-mark svg{color:var(--champagne)}.brand-mark span{display:none}.topbar nav a{color:var(--muted);padding-inline:8px;font-size:.8rem}.countdown-app .topbar nav a{color:#fffaf6bd}.music-toggle{right:14px;bottom:14px;grid-template-columns:36px;min-height:52px;width:52px;padding:8px;background:#fffaf6f0;box-shadow:0 12px 32px #59313624;-webkit-backdrop-filter:none;backdrop-filter:none}.music-toggle.is-playing{box-shadow:0 14px 34px #d94f763d}.music-icon{width:36px;height:36px}.music-copy,.equalizer{display:none}.music-copy strong{font-size:.84rem}.music-copy span{font-size:.62rem}.page-music{right:14px;bottom:14px;grid-template-columns:36px;width:52px;min-height:52px;padding:8px;-webkit-backdrop-filter:none;backdrop-filter:none}.page-music-icon{width:36px;height:36px}.page-music-copy,.page-music-bars{display:none}.hero,.opening-preview-section,.opening-steps-section,.letter-section,.wish-section,.ceremony-section,.ritual-section,.moment-section,.finale{padding-inline:20px}.hero{grid-template-columns:minmax(0,1fr);gap:26px;padding-top:100px;padding-bottom:72px}.countdown-app .hero{grid-template-columns:minmax(0,1fr);gap:22px;padding-top:96px}.opening-preview-grid,.opening-step-grid{grid-template-columns:1fr}.hero-backdrop img{object-position:64% 50%}.hero-vignette{background:linear-gradient(180deg,#10070cc7,#10070c75 38%,#10070ce0),linear-gradient(90deg,#10070cd6,#10070c66)}.hero-crest{min-height:40px;margin-bottom:18px}.hero-crest span{font-size:.68rem}.ribbon-marquee,.glass-panel,.secondary-button,.icon-button,.letter-card,.wish-card,.ritual-card,.finale-inner{-webkit-backdrop-filter:none;backdrop-filter:none}.wish-orbit,.hero-backdrop img{animation:none}.ribbon-track{min-width:max-content;animation:ribbonMove 24s linear infinite;will-change:transform}.wish-card,.primary-button,.secondary-button,.ghost-button,.icon-button{transition:background .16s ease,border-color .16s ease,opacity .16s ease}.primary-button:hover,.secondary-button:hover,.ghost-button:hover,.icon-button:hover,.wish-card:hover{transform:none}h1{font-size:clamp(3.68rem,18vw,5.6rem)}.hero h1{font-size:clamp(3.6rem,16vw,5.3rem)}.countdown-app .hero h1{max-width:100%;font-size:clamp(3.08rem,12.2vw,4.7rem);line-height:1.02}.countdown-app .hero h1 span:last-child{max-width:min(100%,340px)}.hero-date-strip{gap:8px;font-size:.76rem}.hero-subtitle{font-size:1rem}.hero-music-note{font-size:.84rem}.birthday-ticket{padding:22px;background:radial-gradient(circle at 86% 10%,rgba(255,240,207,.14),transparent 38%),linear-gradient(135deg,#ffffff21,#ffffff0d),#200d16d6}.countdown-app .birthday-ticket{margin-top:0}.birthday-ticket strong{font-size:clamp(3.35rem,16vw,5rem)}.countdown-panel{width:100%;margin-top:14px}.countdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.countdown-cell{min-height:74px}.ceremony-stage{grid-template-columns:1fr}.ceremony-section,.ritual-section,.moment-section{width:calc(100% - 24px)}.ceremony-section{margin-top:34px;padding-block:44px;gap:30px}.ceremony-section:before{inset:10px}.ceremony-section:after{display:none}.cake-plate{min-height:360px}.cake-shadow{filter:blur(8px)}.ceremony-panel{padding:20px}.ceremony-actions .primary-button{flex:1 1 100%}.ceremony-actions .ghost-button{flex:1 1 auto}.wish-grid{grid-template-columns:1fr}.wish-card:nth-child(2),.wish-card:nth-child(3),.wish-card:nth-child(4){transform:none}.wish-card{min-height:282px;padding-bottom:70px;box-shadow:0 16px 38px #5430361a}.wish-index{margin-bottom:34px}.ritual-card{min-height:360px;box-shadow:0 18px 46px #5430361f}.wish-orbit{width:270px}.letter-card{min-height:auto;transform:none}.letter-spark{display:none}}@media(max-width:460px){.topbar{align-items:stretch;padding:8px}.topbar nav{flex:1;justify-content:space-between;gap:2px}.topbar nav a{padding-inline:5px;font-size:.72rem}.hero{padding-inline:16px}.hero h1{font-size:clamp(3.05rem,15.4vw,4.25rem)}.countdown-app .hero h1{font-size:clamp(2.72rem,11.4vw,3.65rem)}.countdown-app .hero h1 span:last-child{max-width:min(100%,310px)}.hero-subtitle{line-height:1.82}.hero-date-strip span:last-child{display:none}.hero-actions{align-items:stretch}.primary-button{flex:1 1 auto}.hero-actions .primary-button{flex-basis:100%}.secondary-button{flex:1 1 100%}.icon-button{flex:0 0 50px}.birthday-ticket,.countdown-panel{width:100%}.ticket-meta{grid-template-columns:1fr}.birthday-ticket:before,.birthday-ticket:after{display:none}.countdown-grid{gap:8px}.hero-mini-note{width:100%;justify-content:center}.cake-plate{min-height:318px}.cake-candle{top:12%}.cake-top{width:88%}.cake-body{width:80%;height:126px}.card-click-hint{right:14px;bottom:14px;font-size:.68rem}.gallery-note{position:static;margin-top:12px;width:100%;justify-content:center}.music-toggle{right:12px;bottom:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.scene-shell,.petal-layer,.sound-aura{display:none}.music-toggle.is-playing .equalizer i{animation:none;height:16px}}
