:root{--bg-1: #faf6f0;--bg-2: #eef6ff;--bg-3: #fff0f5;--bg-4: #fef9f0;--ink: #1e1726;--ink-soft: rgba(30, 23, 38, .68);--ink-muted: rgba(30, 23, 38, .46);--rose: #e04b6f;--rose-2: #ff85a5;--sun: #f0c060;--mint: #5ecbb8;--sky: #7dbfef;--lavender: #a8a4ff;--card: rgba(255, 255, 255, .72);--card-border: rgba(30, 23, 38, .08);--shadow-sm: 0 8px 32px rgba(30, 23, 38, .08), 0 2px 8px rgba(30, 23, 38, .04);--shadow-md: 0 16px 48px rgba(30, 23, 38, .12), 0 4px 16px rgba(30, 23, 38, .06);--shadow-lg: 0 32px 80px rgba(30, 23, 38, .18), 0 8px 24px rgba(30, 23, 38, .08);--radius-lg: 28px;--radius-md: 18px;--radius-sm: 12px;--ring: rgba(224, 75, 111, .45);--font-body: "Space Grotesk", sans-serif;--font-title: "Cormorant Garamond", serif;--font-script: "Marck Script", cursive;--accent: linear-gradient(135deg, var(--rose), var(--sun), var(--mint));--accent-soft: linear-gradient(135deg, rgba(224, 75, 111, .22), rgba(240, 192, 96, .18), rgba(94, 203, 184, .18));--fx-speed: .4s;--mx: 50%;--my: 44%;--scroll-p: 0;--spot-x: 50%;--spot-y: 50%}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:var(--font-body);color:var(--ink);background:linear-gradient(152deg,var(--bg-1) 0%,var(--bg-2) 32%,var(--bg-3) 68%,var(--bg-4) 100%);background-attachment:fixed;line-height:1.65;letter-spacing:.015em;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-title);line-height:1.04;letter-spacing:-.02em}.cinematic-mask{display:block;overflow:hidden}.cinematic-line{display:block;will-change:transform,opacity,filter}.title,.quote-text,.cake-title,.birthday-title,.march8-title,.footer-text{font-kerning:none;text-wrap:balance}.lead,.hero-note,.media-story-hint,.march8-text,.cake-instruction,.footer-sub,.mood-message{text-wrap:pretty}img,video{display:block;max-width:100%}button,input{color:inherit;font-family:inherit}::-moz-selection{background:#e4527333}::selection{background:#e4527333}*:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:1200;background:#ffffff2e;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.scroll-progress-fill{display:block;height:100%;width:100%;transform-origin:left center;transform:scaleX(var(--scroll-p));background:linear-gradient(90deg,var(--rose),var(--sun),var(--mint),var(--sky));background-size:240% 100%;animation:progressFlow 5s linear infinite;box-shadow:0 0 18px #e4527361}body:before,body:after{content:"";position:fixed;pointer-events:none;z-index:-2}body:before{top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at var(--mx) var(--my),rgba(255,245,210,.35),transparent 36%),radial-gradient(circle at 10% 15%,rgba(228,82,115,.22),transparent 42%),radial-gradient(circle at 85% 10%,rgba(115,209,193,.2),transparent 42%),radial-gradient(circle at 70% 82%,rgba(142,200,243,.3),transparent 46%);transition:background .25s linear}body:after{inset:8% 12% auto;height:280px;border-radius:999px;background:linear-gradient(90deg,#fff0,#ffffff8c,#fff0);filter:blur(30px)}body::-webkit-scrollbar{width:12px}body::-webkit-scrollbar-track{background:#ffffff61}body::-webkit-scrollbar-thumb{border-radius:999px;background:linear-gradient(var(--rose),var(--sun),var(--mint));border:2px solid rgba(255,255,255,.65)}body[data-theme=dark]::-webkit-scrollbar-track{background:#09111ddb}body[data-theme=dark]::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#799ccef0,#61b2a7f0,#d092b0eb);border-color:#080f1ae6}body[data-theme=dark]{--ink: #ecf2ff;--ink-soft: rgba(207, 220, 242, .9);--ink-muted: rgba(171, 190, 217, .86);--card: rgba(14, 22, 34, .92);--card-border: rgba(126, 156, 198, .28);--shadow-sm: 0 14px 32px rgba(0, 0, 0, .48);--shadow-md: 0 24px 60px rgba(0, 0, 0, .58);--shadow-lg: 0 38px 92px rgba(0, 0, 0, .66);--ring: rgba(152, 193, 255, .72);--bs-body-color: #ecf2ff;--bs-secondary-color: rgba(188, 205, 230, .9);--bs-card-color: #ecf2ff;--bs-list-group-color: #e5eeff;--bs-list-group-bg: rgba(10, 18, 30, .92);--bs-border-color: rgba(117, 149, 194, .3);background:linear-gradient(156deg,#060d18,#0b1422 45%,#101d30);color-scheme:dark}body[data-theme=dark]:before{background:radial-gradient(circle at var(--mx) var(--my),rgba(112,155,221,.28),transparent 38%),radial-gradient(circle at 12% 18%,rgba(63,109,181,.28),transparent 44%),radial-gradient(circle at 84% 10%,rgba(78,152,147,.2),transparent 42%),radial-gradient(circle at 68% 86%,rgba(116,133,186,.24),transparent 48%)}body[data-theme=dark]:after{background:linear-gradient(90deg,#fff0,#6382b433,#fff0)}body[data-theme=dark] .gridlines{opacity:.11;background-image:linear-gradient(rgba(210,227,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(210,227,255,.08) 1px,transparent 1px)}body[data-theme=dark] .theme-label,body[data-theme=dark] .small-label,body[data-theme=dark] .lead,body[data-theme=dark] .hero-note,body[data-theme=dark] .eyebrow{color:var(--ink-soft)}body[data-theme=dark] .card{background:linear-gradient(165deg,#0d1521f0,#131e30e6);border-color:#7e9cc64d;color:var(--ink)}body[data-theme=dark] .hero-copy,body[data-theme=dark] .hero-stage{background:linear-gradient(165deg,#0c1522f2,#141f32e6);border-color:#819ec952;box-shadow:var(--shadow-md);color:var(--ink)}body[data-theme=dark] .hero-copy:before{background:radial-gradient(circle,rgba(198,171,123,.18),transparent 68%)}body[data-theme=dark] .top-ribbon,body[data-theme=dark] .theme-toggle,body[data-theme=dark] .hero-note{background:#0b1320c7;border-color:#7e9eca57;color:var(--ink)}body[data-theme=dark] .section-head h3,body[data-theme=dark] .title,body[data-theme=dark] .hero-card h2,body[data-theme=dark] .card-kicker,body[data-theme=dark] .birthday-today,body[data-theme=dark] a{color:var(--ink)}body[data-theme=dark] .ribbon-title{color:#ffc6da}body[data-theme=dark] .tag,body[data-theme=dark] .date-chip,body[data-theme=dark] .mood-message,body[data-theme=dark] .rel-sub-text{background:#0d1725e6;color:#e3eeffed;border-color:#7a9ac557}body[data-theme=dark] .date-chip,body[data-theme=dark] .tag{color:#ecf3fff0}body[data-theme=dark] .orbit-line,body[data-theme=dark] .love-wave{stroke:#c4ddff9e}body[data-theme=dark] .orbit-line-main,body[data-theme=dark] .love-wave-soft{stroke:#9fe0cd94}body[data-theme=dark] .orbit-heart,body[data-theme=dark] .orbit-dot{fill:#ffd9c8}body[data-theme=dark] .countdown-item,body[data-theme=dark] .list-group-item,body[data-theme=dark] .mood-btn,body[data-theme=dark] .media-tile,body[data-theme=dark] .photo-item{background:#0a121eeb;border-color:#7595c24d}body[data-theme=dark] .period-tile{background:linear-gradient(160deg,#0e1826eb,#121f32e0);border-color:#7b9dc961;box-shadow:0 10px 22px #0000004d}body[data-theme=dark] .period-number{color:#ffd5c8}body[data-theme=dark] .period-label{color:#c0d1e8db}body[data-theme=dark] .timeline-chip{background:linear-gradient(130deg,#0d1827f0,#142337e0);border-color:#7c9fcb6b;color:#ecf3fff2}body[data-theme=dark] .countdown-item{background:linear-gradient(160deg,#0c1523f0,#121f32e6)}body[data-theme=dark] .countdown-item-days{background:linear-gradient(155deg,#131f30f2,#162638e6);border-color:#7ea1ce70}body[data-theme=dark] .countdown-target-chip,body[data-theme=dark] .countdown-live-chip{background:#0c1623eb;border-color:#7a9cc861;color:#cedff7eb}body[data-theme=dark] .live-dot{background:#ffd5c8;box-shadow:0 0 #ffd5c85c}body[data-theme=dark] .heart-btn{border-color:#7ea0cc8f;background:radial-gradient(circle at 32% 24%,#233651fa,#1a273df0 56%,#121d2ff0);box-shadow:0 18px 34px #00000057,inset 0 -10px 22px #789dd233}body[data-theme=dark] .heart-btn svg{fill:#ffd8c9;filter:drop-shadow(0 8px 12px rgba(255,196,179,.2))}body[data-theme=dark] .heart-btn:before{border-color:#82a5d27a;box-shadow:0 0 #7ea5d95c}body[data-theme=dark] .heart-btn:after{background:conic-gradient(from 0deg,transparent 0 35%,rgba(167,205,255,.54) 48%,transparent 62%)}body[data-theme=dark] .countdown-number,body[data-theme=dark] .rel-main-text{color:#ffd5c8}body[data-theme=dark] .countdown-label,body[data-theme=dark] .mood-history-date,body[data-theme=dark] .mood-history-empty,body[data-theme=dark] .mood-message{color:#bccde6e6!important}body[data-theme=dark] .list-group-item,body[data-theme=dark] .countdown-item,body[data-theme=dark] .mood-btn{color:var(--ink)}body[data-theme=dark] .spark-track,body[data-theme=dark] .divider-wave,body[data-theme=dark] .mood-arc,body[data-theme=dark] .media-loop{stroke:#b0daff9e}body[data-theme=dark] .spark-track-soft,body[data-theme=dark] .divider-wave-soft{stroke:#9bd7c699}body[data-theme=dark] .spark-dot,body[data-theme=dark] .mood-star,body[data-theme=dark] .media-orb{fill:#ffd8b8}body[data-theme=dark] .mood-ripple{stroke:#a7dcff94}body[data-theme=dark] .mood-ripple-b{stroke:#a8dace94}body[data-theme=dark] .media-lattice-line{stroke:#a2d6ff8a}body[data-theme=dark] .media-lattice-line-b{stroke:#9bd2c68a}body[data-theme=dark] .media-lattice-dot{fill:#ffd0af}body[data-theme=dark] .ring-line{stroke:#9dd2ff75}body[data-theme=dark] .ring-line-b{stroke:#a1d8cb6b}body[data-theme=dark] .comet-trace{stroke:#a3d7ffa8}body[data-theme=dark] .comet-dot{fill:#ffd7ba}body[data-theme=dark] .slider{--background: #16253a}body[data-theme=dark] .switch input:checked+.slider{background:#3a6da9}body[data-theme=dark] .switch input:checked~.decoration{background:#dbe9ff;box-shadow:-12px 0 #dbe9ff,-6px 0 0 1.6px #dbe9ff,5px 15px 0 1px #dbe9ff,1px 17px #dbe9ff,10px 17px #dbe9ff}body[data-theme=dark] .page:before{background:linear-gradient(90deg,#95c4ff2e,#8ad0c033,#f7c5a424);opacity:.44}body[data-theme=dark] .title span{background:linear-gradient(120deg,#ffc7da,#f3d8a5,#9ec8ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}body[data-theme=dark] .hero-pulse-line,body[data-theme=dark] .mini-pill{background:#0e1928d6;border-color:#7c9cc957;color:#d5e3f7eb}body[data-theme=dark] .pulse-dot{background:#ffc4d4;box-shadow:0 0 #ffc4d466}body[data-theme=dark] .constellation-line{stroke:#a8d8ff85}body[data-theme=dark] .constellation-line-soft{stroke:#9ed8c785}body[data-theme=dark] .constellation-star{fill:#ffd8b8}body[data-theme=dark] .hero-copy-sigil-line{stroke:#a5d6ff80}body[data-theme=dark] .hero-copy-sigil-dot{fill:#ffd5baeb}body[data-theme=dark] .stage-spotlight{background:radial-gradient(circle at var(--spot-x) var(--spot-y),rgba(150,194,255,.24),rgba(108,151,217,.12) 26%,transparent 48%);mix-blend-mode:screen}body[data-theme=dark] .hero-sparkle-line{stroke:#addcff94}body[data-theme=dark] .hero-sparkle-line-b{stroke:#a0d8c98a}body[data-theme=dark] .hero-sparkle-dot{fill:#ffd7b8}body[data-theme=dark] .aurora{opacity:.24}body[data-theme=dark] .aurora-1{background:linear-gradient(95deg,#5d91dc61,#5dab9e3d,#dca8bb2e)}body[data-theme=dark] .aurora-2{background:linear-gradient(102deg,#7eb6f542,#6a92d638,#dcb79d29)}body[data-theme=dark] .noise-layer{opacity:.07;background-image:radial-gradient(rgba(155,189,236,.15) .8px,transparent .8px),radial-gradient(rgba(255,255,255,.1) .8px,transparent .8px)}body[data-theme=dark] .scroll-progress{background:#040a12d1}body[data-theme=dark] .scroll-progress-fill{background:linear-gradient(90deg,#f8b8cb,#efd9ad,#9dd7c8,#8fb9f4);box-shadow:0 0 16px #85b5eb61}.ambient{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-1;overflow:hidden}.gridlines{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.24;background-image:linear-gradient(rgba(33,26,42,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(33,26,42,.05) 1px,transparent 1px);background-size:120px 120px}.orb{position:absolute;border-radius:50%;filter:blur(36px);opacity:.68;animation:orbFloat 14s ease-in-out infinite alternate}.orb-1{width:300px;height:300px;left:-90px;top:-70px;background:#e452735c}.orb-2{width:380px;height:380px;right:-120px;bottom:10px;background:#73d1c152;animation-delay:-4s}.orb-3{width:260px;height:260px;right:18%;top:34%;background:#8ec8f35c;animation-delay:-8s}.aurora{position:absolute;pointer-events:none;filter:blur(54px);mix-blend-mode:screen;opacity:.42}.aurora-1{width:58vw;height:24vw;min-width:540px;min-height:240px;left:-14vw;top:8vh;background:linear-gradient(95deg,#e4527373,#f2c56752,#73d1c157);transform:rotate(-9deg);animation:auroraFloat 19s ease-in-out infinite alternate}.aurora-2{width:54vw;height:22vw;min-width:520px;min-height:220px;right:-18vw;bottom:4vh;background:linear-gradient(105deg,#8ec8f357,#b9b6ff42,#e4527342);transform:rotate(8deg);animation:auroraFloatAlt 23s ease-in-out infinite alternate-reverse}.noise-layer{position:absolute;top:-18%;right:-18%;bottom:-18%;left:-18%;pointer-events:none;opacity:.12;mix-blend-mode:soft-light;background-image:radial-gradient(rgba(33,26,42,.16) .8px,transparent .8px),radial-gradient(rgba(255,255,255,.2) .8px,transparent .8px);background-size:3px 3px,4px 4px;background-position:0 0,1px 1px;animation:noiseShift .8s steps(2) infinite}.ambient-rings-svg,.ambient-comets-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.65;pointer-events:none}.ring-line{fill:none;stroke:#e4527347;stroke-width:2.1;stroke-linecap:round;stroke-dasharray:8 11}.ring-line-a{animation:ambientRingRotate 24s linear infinite}.ring-line-b{stroke:#73d1c157;animation:ambientRingRotate 32s linear infinite reverse}.ring-line-c{stroke:#f2c5674d;animation:ambientRingRotate 28s linear infinite}.comet-trace{fill:none;stroke:#e452737a;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:7 14}.comet-trace-a{animation:cometFlow 10s linear infinite}.comet-trace-b{stroke:#73d1c18f;animation:cometFlow 13s linear infinite reverse}.comet-dot{fill:#f2c567f2}.comet-dot-a{animation:cometDotPulse 4.2s ease-in-out infinite}.comet-dot-b{animation:cometDotPulse 3.4s ease-in-out infinite reverse}.cursor-glow{position:fixed;top:0;left:0;width:220px;height:220px;margin-left:-110px;margin-top:-110px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.55) 0%,rgba(242,197,103,.18) 30%,rgba(228,82,115,.08) 52%,transparent 72%);filter:blur(2px);opacity:0;z-index:6;transition:opacity .24s ease;mix-blend-mode:screen}body.has-pointer .cursor-glow{opacity:.7}body[data-theme=dark] .cursor-glow{background:radial-gradient(circle,rgba(165,206,255,.5) 0%,rgba(109,148,212,.22) 38%,rgba(255,175,205,.16) 56%,transparent 72%);mix-blend-mode:plus-lighter}.page{max-width:1640px;margin:0 auto;padding:28px 24px 100px;display:grid;gap:18px;position:relative;z-index:2;isolation:isolate;opacity:1;transition:opacity .28s ease}.js .page.is-loading{opacity:0}.page:before{content:"";position:absolute;inset:-40px 10% auto;height:180px;border-radius:999px;background:linear-gradient(90deg,#e452732e,#f2c56733,#73d1c12e);filter:blur(30px);opacity:.45;z-index:-1;animation:pageAuraShift 8s ease-in-out infinite alternate}.fx-reveal{opacity:0;filter:blur(10px) saturate(.85);transition:opacity .8s ease,filter .8s ease;transition-delay:var(--reveal-delay, 0ms)}.fx-reveal.is-visible{opacity:1;filter:blur(0) saturate(1)}.card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);backdrop-filter:blur(24px) saturate(1.3);-webkit-backdrop-filter:blur(24px) saturate(1.3);position:relative;overflow:hidden;transition:transform var(--fx-speed) cubic-bezier(.23,1,.32,1),box-shadow var(--fx-speed) cubic-bezier(.23,1,.32,1),border-color var(--fx-speed) ease;transform-style:preserve-3d;--card-rx: 0deg;--card-ry: 0deg;--card-raise: 0px;--card-scale: 1;transform:perspective(1200px) rotateX(var(--card-rx)) rotateY(var(--card-ry)) translateY(var(--card-raise)) scale(var(--card-scale))}.card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--accent);opacity:.85;background-size:200% 100%;animation:accentSweep 9s linear infinite}.card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 85% 18%,rgba(228,82,115,.11),transparent 45%),radial-gradient(circle at 12% 82%,rgba(115,209,193,.11),transparent 45%);opacity:0;transition:opacity .35s ease;pointer-events:none}.card:hover{--card-raise: -8px;--card-scale: 1.012;box-shadow:var(--shadow-lg);border-color:#e04b6f47}.card:hover:after{opacity:1}.top-ribbon{padding:20px 26px;display:flex;align-items:center;justify-content:space-between;gap:18px;position:relative;isolation:isolate;overflow:hidden;min-height:92px;background:linear-gradient(160deg,#ffffffd6,#fff3f8c7,#eff9ffbd);box-shadow:0 20px 48px #1e17261a,inset 0 1px #ffffffb8}.top-ribbon:after{content:"";position:absolute;inset:auto 22px 0;height:1px;background:linear-gradient(90deg,#e4527300,#e4527347,#73d1c13d,#73d1c100);opacity:.92;pointer-events:none}.ribbon-meta{display:grid;gap:4px;position:relative;z-index:2}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.22em;font-size:.68rem;color:var(--ink-soft)}.ribbon-title{margin:0;font-family:var(--font-script);font-size:clamp(2.2rem,4.5vw,3rem);line-height:.95;letter-spacing:-.015em;color:var(--rose);text-shadow:0 2px 20px rgba(224,75,111,.15)}.ribbon-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;position:relative;z-index:2}.ribbon-spark-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.75;z-index:1}.spark-track{fill:none;stroke:#e4527373;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:10 14;animation:sparkFlow 10s linear infinite}.spark-track-soft{stroke:#73d1c17a;stroke-width:2;stroke-dasharray:6 12;animation-duration:13s}.spark-dot{fill:#f2c567f2}.spark-dot-main{animation:sparkDot 4s ease-in-out infinite}.spark-dot-secondary{animation:sparkDot 3.4s ease-in-out infinite reverse}.hero-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:24px;align-items:stretch}.hero-copy{padding:clamp(28px,4.5vw,50px);border-radius:var(--radius-lg);background:linear-gradient(160deg,#ffffffeb,#fff2f7d1,#f8fbffbd);border:1px solid rgba(30,23,38,.08);box-shadow:0 24px 56px #1e17261f,0 10px 24px #e04b6f14;display:grid;align-content:center;gap:18px;position:relative;overflow:hidden;transform:translateZ(0)}.hero-copy:before{content:"";position:absolute;width:240px;height:240px;right:-90px;top:-120px;background:radial-gradient(circle,rgba(242,197,103,.35),transparent 68%);pointer-events:none}.hero-copy:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.38) 48%,transparent 66%);transform:translate(-120%);animation:heroShine 8s ease-in-out infinite;pointer-events:none}.hero-copy-sigil-svg{position:absolute;right:-36px;top:-28px;width:220px;height:118px;pointer-events:none;opacity:.8}.hero-copy-sigil-line{fill:none;stroke:#e4527359;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:8 12;animation:sigilFlow 10s linear infinite}.hero-copy-sigil-dot{fill:#f2c567f2;transform-origin:center;animation:sigilPulse 2.8s ease-in-out infinite}.hero-copy-sigil-dot.dot-b{animation-duration:2.2s;animation-direction:reverse}.hero-copy-sigil-dot.dot-c{animation-duration:3.2s}.title{font-size:clamp(3rem,6.5vw,5rem);line-height:.88;text-wrap:balance;letter-spacing:-.03em;perspective:1200px}.title span{background:var(--accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:180% 180%;animation:gradientShift 6s ease-in-out infinite}.hero-pulse-line{display:inline-flex;align-items:center;gap:10px;width:-moz-fit-content;width:fit-content;padding:5px 12px;border-radius:999px;border:1px solid rgba(228,82,115,.22);background:#ffffffbd;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--rose);box-shadow:0 0 #e4527361;animation:pulseWave 2s ease-out infinite}.hero-mini-grid{display:flex;flex-wrap:wrap;gap:8px}.mini-pill{padding:5px 10px;border-radius:999px;border:1px solid rgba(33,26,42,.1);background:#ffffffb8;font-size:.72rem;letter-spacing:.06em;color:var(--ink-soft);animation:miniFloat 4.8s ease-in-out infinite}.mini-pill:nth-child(2){animation-delay:-1.6s}.mini-pill:nth-child(3){animation-delay:-2.9s}.lead{margin:0;max-width:48ch;color:var(--ink-soft);font-size:1.02rem;line-height:1.7;letter-spacing:.01em}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hero-note{margin:0;padding:10px 16px;border-radius:999px;background:#ffffffb8;border:1px solid rgba(33,26,42,.1);color:var(--ink-soft);font-size:.9rem}.hero-stage{--spot-x: 50%;--spot-y: 50%;position:relative;display:grid;place-items:center;min-height:440px;border-radius:var(--radius-lg);padding:28px;background:linear-gradient(165deg,#fffffff0,#f4faffd1,#fff0f5b8);border:1px solid rgba(30,23,38,.07);box-shadow:0 24px 56px #1e17261f,0 12px 26px #73d1c114;overflow:hidden;isolation:isolate}.hero-stage:before{content:"";position:absolute;width:78%;height:78%;border-radius:50%;background:radial-gradient(circle at 50% 45%,rgba(228,82,115,.23),rgba(242,197,103,.12) 58%,transparent 74%);filter:blur(10px);z-index:0;animation:haloPulse 5.8s ease-in-out infinite}.stage-spotlight{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;pointer-events:none;z-index:1;background:radial-gradient(circle at var(--spot-x) var(--spot-y),rgba(255,255,255,.36),rgba(242,197,103,.14) 24%,transparent 46%);mix-blend-mode:soft-light;opacity:.92;transition:background .16s ease-out}.hero-orbit-svg,.hero-wave-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.hero-constellation-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.78}.hero-sparkle-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.72}.hero-orbit-svg{animation:orbitDrift 8s ease-in-out infinite alternate}.orbit-line{fill:none;stroke:#e4527366;stroke-width:2;stroke-linecap:round}.orbit-line-main{stroke:#73d1c170;stroke-dasharray:10 16;animation:orbitStroke 8s linear infinite}.orbit-line-secondary{stroke-dasharray:8 12;animation:orbitStroke 10s linear infinite reverse}.orbit-heart{fill:#e45273e6;filter:drop-shadow(0 0 10px rgba(228,82,115,.38));transform-origin:310px 230px;animation:heartBeatGlow 2.6s ease-in-out infinite}.orbit-dot{fill:#f2c567f2}.orbit-dot-main{animation:orbitDot 6.6s ease-in-out infinite}.orbit-dot-secondary{animation:orbitDot 5.2s ease-in-out infinite reverse}.hero-wave-svg{inset:auto 8% 10px;width:auto;height:46%;opacity:.75}.love-wave{fill:none;stroke:#e4527373;stroke-width:3;stroke-dasharray:11 14;stroke-linecap:round;animation:waveFlow 8s linear infinite}.love-wave-soft{stroke:#73d1c180;stroke-width:2;stroke-dasharray:6 12;animation-duration:12s}.constellation-line{fill:none;stroke:#e4527357;stroke-width:1.8;stroke-dasharray:5 8;animation:constellationFlow 6.6s linear infinite}.constellation-line-soft{stroke:#73d1c161;animation-duration:8.9s}.constellation-star{fill:#f2c567f5}.star-a{animation:twinkle 2.4s ease-in-out infinite}.star-b{animation:twinkle 2s ease-in-out infinite reverse}.star-c{animation:twinkle 2.8s ease-in-out infinite}.star-d{animation:twinkle 2.2s ease-in-out infinite reverse}.star-e{animation:twinkle 1.9s ease-in-out infinite}.star-f{animation:twinkle 2.6s ease-in-out infinite reverse}.hero-sparkle-line{fill:none;stroke:#ffffff8c;stroke-width:1.8;stroke-linecap:round;stroke-dasharray:7 12}.hero-sparkle-line-a{animation:sparkleFlow 7.8s linear infinite}.hero-sparkle-line-b{stroke:#73d1c19e;animation:sparkleFlow 9.6s linear infinite reverse}.hero-sparkle-dot{fill:#ffe59ff2}.hero-sparkle-dot-a{animation:sparkleDot 2.6s ease-in-out infinite}.hero-sparkle-dot-b{animation:sparkleDot 2.2s ease-in-out infinite reverse}.hero-card{position:relative;z-index:2;width:min(100%,380px);padding:28px;border-radius:26px;background:linear-gradient(155deg,#fffffff7,#ffe6f0e6);border:1px solid rgba(224,75,111,.16);box-shadow:var(--shadow-lg);display:grid;gap:14px}.hero-card h2{font-size:clamp(2.2rem,4.5vw,2.8rem);letter-spacing:-.02em}.card-kicker{margin:0;font-size:.66rem;text-transform:uppercase;letter-spacing:.25em;color:var(--ink-soft)}.rel-stats{display:grid;gap:10px}.period-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.period-tile{position:relative;overflow:hidden;display:grid;justify-items:center;gap:4px;padding:12px 8px;border-radius:16px;border:1px solid rgba(224,75,111,.16);background:linear-gradient(160deg,#ffffffeb,#ffecf4db);box-shadow:0 8px 24px #e04b6f1a;transition:transform .35s cubic-bezier(.23,1,.32,1),box-shadow .35s ease}.period-tile:hover{transform:translateY(-3px);box-shadow:0 14px 32px #e04b6f29}.period-tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 32%,rgba(255,255,255,.52) 50%,transparent 68%);transform:translate(-130%);transition:transform .7s ease}.hero-card:hover .period-tile:after{transform:translate(130%)}.period-number{font-size:clamp(1.25rem,3vw,1.65rem);line-height:1;font-weight:700;letter-spacing:.04em;color:var(--rose)}.period-label{font-size:.62rem;line-height:1.05;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}.rel-main-text{font-size:clamp(1.15rem,2.8vw,1.55rem);font-family:var(--font-title);color:var(--rose);line-height:1.12}.rel-sub-text{display:inline-flex;width:-moz-fit-content;width:fit-content;padding:7px 13px;border-radius:999px;border:1px solid rgba(33,26,42,.12);background:linear-gradient(130deg,#ffffffd6,#fff4f8c2);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;grid-template-areas:"birth mine" "gallery gallery";align-items:start}.info-grid>*,.content-grid>*{min-width:0}.countdown-card,.gallery-card,.mood-card,.media-card,.map-card{padding:24px}.countdown-card{display:grid;align-content:start;gap:18px}.birthday-card{grid-area:birth;background:linear-gradient(160deg,#fff7fbf5,#ffeff5e0,#fff8eed6)}.my-birthday-card{grid-area:mine;background:linear-gradient(160deg,#f4fafff5,#ecf7ffe0,#eefcf7d1)}.gallery-card{grid-area:gallery;display:grid;align-content:start;gap:10px;background:linear-gradient(160deg,#fffcf6f2,#fff3e7d1,#f2faffbd)}.mood-card{background:linear-gradient(160deg,#fffffff0,#f4fbffd6,#fff1f7c2)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:14px;position:relative}.section-head:after{content:"";position:absolute;left:0;bottom:-8px;width:74px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--rose),rgba(115,209,193,.28),transparent);transition:width .3s ease}.card:hover .section-head:after{width:118px}.section-head h3{font-size:clamp(1.4rem,2.5vw,2rem);letter-spacing:-.015em;line-height:1.08;text-wrap:balance}.tag{padding:5px 12px;border-radius:999px;border:1px solid rgba(228,82,115,.2);background:#ffffffbf;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:#211a2ac7}.date-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;border:1px solid rgba(228,82,115,.24);background:#fffc;color:var(--rose);text-decoration:none;font-size:.82rem;font-weight:600}.timeline-chip{justify-self:start;letter-spacing:.08em;text-transform:uppercase;padding:7px 12px;border-color:#e4527357;background:linear-gradient(130deg,#ffffffdb,#ffeef6d1)}.timeline-chip:before{content:"❤";font-size:.78rem;opacity:.86}.secret-link{--mag-x: 0px;--mag-y: 0px;transform:translate(var(--mag-x),var(--mag-y));transition:transform .25s ease,box-shadow .25s ease}.secret-link:hover,.secret-link:focus-visible{transform:translate(var(--mag-x),calc(var(--mag-y) - 2px));box-shadow:0 12px 24px #e4527333}.birthday-countdown{text-align:center;display:grid;gap:10px}.countdown-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.countdown-grid-premium{gap:10px}.countdown-item{position:relative;overflow:hidden;border-radius:var(--radius-sm);border:1px solid rgba(30,23,38,.06);background:linear-gradient(160deg,#ffffffe0,#f5faffc7);box-shadow:var(--shadow-sm);padding:14px 8px;transition:transform .35s cubic-bezier(.23,1,.32,1),border-color .3s ease,box-shadow .35s ease}.countdown-item:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 32%,rgba(255,255,255,.52) 50%,transparent 68%);transform:translate(-130%);transition:transform .7s ease}.countdown-item:hover{transform:translateY(-4px);border-color:#e04b6f3d;box-shadow:0 18px 40px #e04b6f29}.countdown-item:hover:after{transform:translate(130%)}.countdown-item-days{border-color:#e4527352;background:linear-gradient(155deg,#fff1f7eb,#fffbf0cc)}.countdown-number{display:block;font-size:clamp(1.5rem,3vw,2rem);line-height:1;color:var(--rose);font-weight:700}.countdown-label{margin-top:4px;display:block;font-size:.63rem;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-soft)}.countdown-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.countdown-target-chip,.countdown-live-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;border:1px solid rgba(33,26,42,.12);background:#ffffffbd;font-size:.64rem;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft)}.countdown-target-chip{border-color:#e452733d}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--rose);box-shadow:0 0 #e4527366;animation:liveDotPulse 2.2s ease-out infinite}.birthday-today{font-family:var(--font-title);font-size:clamp(1.5rem,3vw,2rem);color:var(--rose);animation:celebratePulse 1.2s ease-in-out infinite}.carousel-shell{display:grid;gap:8px}.carousel-topbar{display:flex;align-items:center;justify-content:flex-end;gap:12px}.carousel-kicker{margin:0;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--rose)}.carousel-controls{display:inline-flex;align-items:center;gap:8px}.carousel-btn{width:38px;height:38px;border-radius:999px;border:1px solid rgba(30,23,38,.1);background:#ffffffe0;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;font:inherit;font-size:1.2rem;line-height:1;cursor:pointer;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,opacity .24s ease}.carousel-btn:hover,.carousel-btn:focus-visible{transform:translateY(-1px);border-color:#e04b6f47;box-shadow:0 10px 20px #1e172614}.carousel-btn:disabled{opacity:.38;cursor:not-allowed;transform:none;box-shadow:none}.carousel-viewport{overflow:hidden}.carousel-track{display:flex;align-items:stretch;gap:16px;will-change:transform}.carousel-slide{min-width:0}.carousel-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px}.carousel-meter{display:flex;align-items:center;gap:12px;width:min(100%,460px);min-width:0}.carousel-meter-track{position:relative;flex:1;height:4px;border-radius:999px;background:#1e17261a;overflow:hidden}.carousel-meter-fill{position:absolute;inset:0 auto 0 0;width:100%;border-radius:inherit;background:linear-gradient(90deg,var(--rose),var(--sun),var(--mint));transform-origin:left center;transform:scaleX(.25)}.carousel-count{min-width:52px;text-align:right;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}.photo-gallery{display:flex;gap:16px;align-items:stretch}.gallery-carousel .carousel-slide{flex:0 0 100%}.photo-item{margin:0;aspect-ratio:16 / 11;min-height:clamp(220px,20vw,320px);overflow:hidden;border-radius:var(--radius-md);border:1px solid rgba(30,23,38,.06);background:#ffffffd1;box-shadow:0 18px 38px #1e17261f,0 8px 18px #e04b6f14;position:relative;transition:transform .45s cubic-bezier(.23,1,.32,1),box-shadow .4s ease;transform-origin:center center;pointer-events:auto}.photo-item:first-child,.photo-item:last-child{transform:none}.photo-item:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(130deg,transparent 34%,rgba(255,255,255,.5) 48%,transparent 68%);transform:translate(-120%);transition:transform .65s ease}.photo-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .55s cubic-bezier(.23,1,.32,1)}.gallery-link{position:relative;display:block;width:100%;height:100%;color:inherit;text-decoration:none;cursor:zoom-in}.gallery-link:before{content:"Open";position:absolute;right:12px;bottom:12px;z-index:2;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.44);background:#1214228c;color:#ffffffe6;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;opacity:0;transform:translateY(6px);transition:opacity .28s ease,transform .28s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);pointer-events:none}.photo-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.photo-item:hover img{transform:scale(1.08)}.photo-item:hover .gallery-link:before,.media-tile:hover .gallery-link:before,.gallery-link:focus-visible:before{opacity:1;transform:translateY(0)}.photo-item:hover:after{transform:translate(120%)}.section-wave-divider{pointer-events:none;height:56px;margin:-4px 2px 0}.section-wave-svg{width:100%;height:100%}.divider-wave{fill:none;stroke:#e4527366;stroke-width:3;stroke-linecap:round;stroke-dasharray:10 14;animation:dividerFlow 11s linear infinite}.divider-wave-soft{stroke:#73d1c173;stroke-width:2.2;stroke-dasharray:6 12;animation-duration:14s}.content-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:18px;align-items:start;grid-template-areas:"media media" "mood map" "fridge fridge"}.info-grid,.content-grid,.quote-card,.site-footer{content-visibility:auto;contain-intrinsic-size:720px}.mood-card{grid-area:mood;display:grid;gap:14px;position:relative;overflow:hidden}.mood-card .section-head,.mood-row,.mood-message,.mood-history{position:relative;z-index:2}.mood-sky-svg{position:absolute;left:0;right:0;top:0;width:100%;height:96px;pointer-events:none;opacity:.7}.mood-ripple-svg{position:absolute;inset:auto 0 0;width:100%;height:116px;pointer-events:none;opacity:.72}.mood-arc{fill:none;stroke:#e4527366;stroke-width:3;stroke-linecap:round;stroke-dasharray:10 14;animation:moodArcFlow 9s linear infinite}.mood-star{fill:#f2c567f2}.mood-star-a{animation:moodStarPulse 2.8s ease-in-out infinite}.mood-star-b{animation:moodStarPulse 2.3s ease-in-out infinite reverse}.mood-star-c{animation:moodStarPulse 3.1s ease-in-out infinite}.mood-ripple{fill:none;stroke:#73d1c170;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:8 12}.mood-ripple-a{animation:moodRippleFlow 7.8s linear infinite}.mood-ripple-b{stroke:#e4527361;animation:moodRippleFlow 9.4s linear infinite reverse}.mood-row{display:flex;flex-wrap:wrap;gap:8px}.mood-btn{--mag-x: 0px;--mag-y: 0px;border:1px solid rgba(30,23,38,.08);background:#ffffffd9;border-radius:999px;font-size:1.6rem;padding:12px 16px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .35s cubic-bezier(.23,1,.32,1),border-color .3s ease,background .3s ease,box-shadow .35s ease;transform:translate(var(--mag-x),var(--mag-y))}.mood-btn:hover{transform:translate(var(--mag-x),calc(var(--mag-y) - 4px));border-color:#e04b6f40;box-shadow:var(--shadow-md)}.mood-btn.active{border-color:#e04b6f66;background:linear-gradient(135deg,#e04b6f26,#f0c0602e);box-shadow:0 16px 38px #e04b6f33,inset 0 0 0 1px #e04b6f14}.mood-btn:active{transform:translate(var(--mag-x),var(--mag-y)) scale(.95)}.mood-message{margin:0;padding:14px 18px;border-radius:var(--radius-sm);border:1px solid rgba(30,23,38,.08);background:#ffffffc7;color:var(--ink-soft);min-height:76px;display:grid;align-content:center;line-height:1.6;font-size:.95rem}.small-label{margin:0 0 8px;text-transform:uppercase;letter-spacing:.17em;font-size:.66rem;color:#211a2a94}.list-group{margin:0;padding:0;list-style:none;display:grid;gap:8px}.list-group-item{border-radius:14px;border:1px solid rgba(30,23,38,.06);background:#ffffffd9;box-shadow:var(--shadow-sm);padding:10px 14px;transition:transform .35s cubic-bezier(.23,1,.32,1)}.list-group-item:hover{transform:translateY(-2px)}.list-group-item{position:relative;overflow:hidden}.mood-history-item{display:flex;align-items:center;justify-content:space-between;gap:12px}.mood-history-date,.mood-history-empty{color:#211a2a94;font-size:.84rem}.list-group-item:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 36%,rgba(255,255,255,.5) 50%,transparent 68%);transform:translate(-120%);transition:transform .8s ease;pointer-events:none}.list-group-item:hover:after{transform:translate(120%)}.media-card{grid-area:media;background:linear-gradient(160deg,#fffffff2,#fff0f6d6,#f1f9ffcc);position:relative;overflow:hidden;display:grid;align-content:start;gap:10px}.gallery-card .section-head,.media-card .section-head{margin-bottom:6px}.gallery-card .carousel-meter,.media-card .carousel-meter{width:100%}.gallery-card .carousel-shell,.gallery-card .carousel-viewport,.gallery-card .photo-gallery{height:auto;min-height:0}.gallery-card .carousel-shell{width:min(100%,680px);margin-inline:auto}.media-card .section-head,.media-story-meta,.media-story-shell,.carousel-shell,.carousel-topbar,.carousel-footer,.media-grid{position:relative;z-index:2}.media-story-shell{position:relative}.media-glow-svg{position:absolute;top:0;right:0;width:180px;height:110px;pointer-events:none;opacity:.72}.media-lattice-svg{position:absolute;left:10px;bottom:6px;width:56%;height:34%;pointer-events:none;opacity:.54;z-index:1}.media-loop{fill:none;stroke:#e452736b;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:10 13;animation:mediaLoopFlow 8.5s linear infinite}.media-orb{fill:#f2c567e6;animation:mediaOrbFloat 3.4s ease-in-out infinite}.media-orb-soft{animation-duration:2.8s;animation-direction:reverse}.media-lattice-line{fill:none;stroke:#e452734d;stroke-width:1.8;stroke-linecap:round;stroke-dasharray:6 9}.media-lattice-line-a{animation:latticeFlow 8.8s linear infinite}.media-lattice-line-b{stroke:#73d1c15c;animation:latticeFlow 10.4s linear infinite reverse}.media-lattice-dot{fill:#f2c567e0;animation:latticeDotPulse 3s ease-in-out infinite}.media-lattice-dot.dot-b{animation-duration:2.2s;animation-direction:reverse}.media-lattice-dot.dot-c{animation-duration:2.6s}.media-grid{display:flex;gap:16px;align-items:start}.media-carousel .carousel-slide{flex:0 0 clamp(260px,28vw,360px)}.media-tile{display:block;width:100%;margin:0;aspect-ratio:10 / 13;min-height:clamp(280px,24vw,380px);border-radius:var(--radius-md);overflow:hidden;border:1px solid rgba(30,23,38,.06);background:#fffc;box-shadow:var(--shadow-sm);transition:transform .4s cubic-bezier(.23,1,.32,1),border-color .3s ease,box-shadow .4s ease;position:relative}.media-tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 32%,rgba(255,255,255,.46) 48%,transparent 70%);transform:translate(-120%);transition:transform .7s ease;pointer-events:none}.media-tile img,.media-tile video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.media-tile:hover{transform:translateY(-4px) scale(1.01);border-color:#e04b6f38;box-shadow:var(--shadow-md)}.media-tile:hover:after{transform:translate(120%)}.video-tile{aspect-ratio:4 / 5;min-height:clamp(280px,24vw,380px)}.video-tile video{background:#0c101ae0}.theme-toggle{--mag-x: 0px;--mag-y: 0px;display:inline-flex;align-items:center;gap:10px;padding:7px 12px;border-radius:999px;border:1px solid rgba(33,26,42,.12);background:#ffffffa8;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;transform:translate(var(--mag-x),var(--mag-y))}.theme-toggle:hover{transform:translate(var(--mag-x),calc(var(--mag-y) - 2px));box-shadow:0 16px 30px #e4527324;border-color:#e4527338}.theme-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-soft)}.switch{position:relative;width:3.5em;height:2em;display:inline-block;cursor:pointer;font-size:17px}.switch input{width:0;height:0;opacity:0}.slider{--background: #242833;position:absolute;top:0;right:0;bottom:0;left:0;border-radius:30px;background:var(--background);transition:.45s}.slider:before{content:"";position:absolute;left:10%;bottom:14%;width:1.4em;height:1.4em;border-radius:50%;box-shadow:inset 8px -4px #eeefd7,-4px 1px 4px #dadada;background:var(--background);transition:.45s}.decoration{position:absolute;right:20%;top:15%;width:2px;height:2px;border-radius:50%;background:#e8ee65;box-shadow:-8px 10px #e8ee65,9px 14px #e8ee65,-18px 1px #e8ee65,-20px 10px #e8ee65,-8px 23px #e8ee65,-15px 25px #e8ee65;transition:all .45s}.switch input:focus-visible+.slider{box-shadow:0 0 0 3px var(--ring)}.switch input:checked+.slider{background:#4d89d3}.switch input:checked+.slider:before{transform:translate(100%);box-shadow:inset 15px -4px 0 15px #efdf2b,0 0 10px #efdf2b}.switch input:checked~.decoration{transform:translate(-20px);width:10px;height:10px;background:#fff;box-shadow:-12px 0 #fff,-6px 0 0 1.6px #fff,5px 15px 0 1px #fff,1px 17px #fff,10px 17px #fff}.heart-btn{--mag-x: 0px;--mag-y: 0px;width:70px;height:70px;border:1px solid rgba(255,255,255,.9);border-radius:50%;background:radial-gradient(circle at 32% 24%,#fff,#ffe3ee 54%,#ffd0e2);box-shadow:0 20px 40px #e04b6f38,0 8px 16px #e04b6f1f,inset 0 -10px 22px #e04b6f1a;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .35s cubic-bezier(.23,1,.32,1),box-shadow .35s ease;position:relative;overflow:visible;transform:translate(var(--mag-x),var(--mag-y))}.heart-btn svg{width:34px;height:34px;fill:var(--rose);position:relative;z-index:2;filter:drop-shadow(0 6px 8px rgba(228,82,115,.3))}.heart-btn:before{content:"";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;border-radius:50%;border:1px solid rgba(228,82,115,.28);box-shadow:0 0 #e4527357;animation:heartHaloPulse 2.8s ease-out infinite}.heart-btn:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 35%,rgba(255,255,255,.62) 48%,transparent 62%);opacity:.7;mix-blend-mode:soft-light;z-index:1;animation:heartSheenSpin 5.2s linear infinite;pointer-events:none}.heart-btn:hover{transform:translate(var(--mag-x),calc(var(--mag-y) - 6px)) scale(1.08);box-shadow:0 28px 52px #e04b6f47,0 12px 20px #e04b6f29,inset 0 -12px 20px #e04b6f2e}.heart-btn:hover:after{opacity:.95}.heart-btn.clicked{animation:heartPop .55s ease}.heart-burst{position:fixed;width:10px;height:10px;border-radius:50%;pointer-events:none;z-index:7;background:radial-gradient(circle,#fffffff2,#e45273e6);box-shadow:0 0 10px #e4527373;animation:burstFly .85s ease-out forwards}.hearts-container{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.falling-heart{position:absolute;color:#e452738c;text-shadow:0 3px 8px rgba(228,82,115,.26);animation:fall linear forwards}.falling-heart.wobble{animation:fall linear forwards,wobble 2.1s ease-in-out infinite}#loader-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 30% 20%,rgba(255,179,208,.28),transparent 50%),radial-gradient(ellipse at 75% 80%,rgba(133,216,229,.22),transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(240,192,96,.1),transparent 60%),linear-gradient(152deg,#fdf6ef,#edf5ff,#fff0f6,#fef8ef);display:none;place-items:center;justify-content:center;align-content:center;box-sizing:border-box;padding:clamp(10px,2.8vw,24px);transition:opacity .9s cubic-bezier(.23,1,.32,1),visibility .9s cubic-bezier(.23,1,.32,1),transform .9s cubic-bezier(.23,1,.32,1),filter .9s cubic-bezier(.23,1,.32,1)}.js #loader-overlay{display:grid}#loader-overlay.loader-exit{opacity:0;transform:scale(1.04);filter:blur(8px);visibility:hidden;pointer-events:none}#loader-overlay:before,#loader-overlay:after{content:"";position:absolute;pointer-events:none}#loader-overlay:before{inset:8% -10% auto;height:200px;border-radius:999px;background:linear-gradient(90deg,#fff0,#fff9,#fff0);filter:blur(28px);animation:loaderDrift 7s ease-in-out infinite alternate}#loader-overlay:after{width:480px;height:480px;right:-140px;bottom:-160px;border-radius:50%;background:radial-gradient(circle,rgba(224,75,111,.15),rgba(240,192,96,.08) 40%,transparent 70%);filter:blur(20px);animation:loaderBloom 10s ease-in-out infinite}body[data-theme=dark] #loader-overlay{background:radial-gradient(ellipse at 30% 20%,rgba(108,151,214,.22),transparent 50%),radial-gradient(ellipse at 75% 80%,rgba(85,156,147,.18),transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(180,140,100,.08),transparent 60%),linear-gradient(152deg,#060e1a,#0a1320,#0f1c30,#0b1524)}body[data-theme=dark] #loader-overlay:before{background:linear-gradient(90deg,#fff0,#7393c93d,#fff0)}body[data-theme=dark] #loader-overlay:after{background:radial-gradient(circle,rgba(122,173,236,.18),rgba(128,198,185,.08) 40%,transparent 70%)}.loader-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.loader-glow{position:absolute;border-radius:50%;filter:blur(50px);opacity:.55}.loader-glow-a{width:50vw;height:50vw;max-width:500px;max-height:500px;left:-12vw;top:-8vh;background:radial-gradient(circle,rgba(224,75,111,.4),rgba(240,192,96,.2) 50%,transparent 70%);animation:loaderGlowA 8s ease-in-out infinite alternate}.loader-glow-b{width:45vw;height:45vw;max-width:460px;max-height:460px;right:-10vw;bottom:-6vh;background:radial-gradient(circle,rgba(94,203,184,.35),rgba(125,191,239,.15) 50%,transparent 70%);animation:loaderGlowB 10s ease-in-out infinite alternate-reverse}.loader-glow-c{width:30vw;height:30vw;max-width:320px;max-height:320px;left:50%;top:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(168,164,255,.25),rgba(255,133,165,.1) 50%,transparent 70%);animation:loaderGlowC 12s ease-in-out infinite}.loader-noise{position:absolute;top:-15%;right:-15%;bottom:-15%;left:-15%;opacity:.1;background-image:radial-gradient(rgba(30,23,38,.14) .6px,transparent .6px),radial-gradient(rgba(255,255,255,.18) .6px,transparent .6px);background-size:3px 3px,4px 4px;background-position:0 0,1.5px 1.5px;mix-blend-mode:soft-light;animation:noiseShift .8s steps(2) infinite}body[data-theme=dark] .loader-glow{opacity:.4}body[data-theme=dark] .loader-glow-a{background:radial-gradient(circle,rgba(95,147,220,.36),rgba(85,164,154,.14) 50%,transparent 70%)}body[data-theme=dark] .loader-glow-b{background:radial-gradient(circle,rgba(126,182,245,.28),rgba(106,146,214,.1) 50%,transparent 70%)}body[data-theme=dark] .loader-glow-c{background:radial-gradient(circle,rgba(168,164,255,.2),rgba(215,168,191,.08) 50%,transparent 70%)}body[data-theme=dark] .loader-noise{opacity:.06;background-image:radial-gradient(rgba(155,189,236,.12) .6px,transparent .6px),radial-gradient(rgba(255,255,255,.08) .6px,transparent .6px)}.loader-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.loader-particle{position:absolute;border-radius:50%;opacity:0;animation:loaderParticleFloat 6s ease-in-out infinite}.loader-particle.p1{width:6px;height:6px;background:#e04b6fb3;left:15%;top:20%;animation-delay:0s;box-shadow:0 0 12px #e04b6f66}.loader-particle.p2{width:4px;height:4px;background:#f0c060cc;left:78%;top:15%;animation-delay:.8s;box-shadow:0 0 10px #f0c06066}.loader-particle.p3{width:5px;height:5px;background:#5ecbb8b3;left:85%;top:65%;animation-delay:1.5s;box-shadow:0 0 12px #5ecbb866}.loader-particle.p4{width:3px;height:3px;background:#a8a4ffcc;left:10%;top:75%;animation-delay:2.2s;box-shadow:0 0 8px #a8a4ff66}.loader-particle.p5{width:5px;height:5px;background:#ff85a5b3;left:45%;top:10%;animation-delay:.4s;box-shadow:0 0 10px #ff85a566}.loader-particle.p6{width:4px;height:4px;background:#7dbfefb3;left:65%;top:85%;animation-delay:1.8s;box-shadow:0 0 10px #7dbfef66}.loader-particle.p7{width:3px;height:3px;background:#f0c060b3;left:30%;top:88%;animation-delay:2.8s;box-shadow:0 0 8px #f0c0604d}.loader-particle.p8{width:4px;height:4px;background:#e04b6f99;left:92%;top:40%;animation-delay:3.4s;box-shadow:0 0 10px #e04b6f4d}.loader-stack{position:relative;z-index:2;width:min(440px,88vw);display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;align-items:center;gap:16px;padding:40px 32px 28px;border-radius:34px;border:1px solid rgba(224,75,111,.12);background:linear-gradient(165deg,#fffffff0,#fff0f6d1,#fff8f0c2);box-shadow:0 48px 120px #1e17262e,0 16px 40px #e04b6f1a,0 2px 4px #1e17260a,inset 0 1px #ffffffe6;backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);overflow:hidden;animation:loaderCardEntrance 1s cubic-bezier(.16,1,.3,1) both}.loader-stack:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 34%,rgba(255,255,255,.45) 50%,transparent 66%);transform:translate(-120%);animation:loaderSheen 5s ease-in-out infinite;animation-delay:1s}.loader-stack:after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--rose),var(--sun),var(--mint),var(--sky),var(--lavender));background-size:300% 100%;animation:loaderTopBar 3s linear infinite}body[data-theme=dark] .loader-stack{border-color:#7da0cd3d;background:linear-gradient(165deg,#0a131ff5,#101c2deb,#0e1624e6);box-shadow:0 52px 120px #0000008c,0 18px 40px #00000040,0 2px 4px #0000001a,inset 0 1px #95b8ec1f}.loader-heart-wrapper{position:relative;width:130px;height:130px;display:grid;place-items:center;margin-bottom:4px}.loader-heart-wrapper:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;background:radial-gradient(circle,rgba(224,75,111,.12),transparent 70%);filter:blur(12px);animation:loaderHeartGlow 2.8s ease-in-out infinite}.loader-heart-svg{width:56px;height:56px;position:relative;z-index:2;filter:drop-shadow(0 8px 20px rgba(224,75,111,.35))}.loader-heart-path{fill:var(--rose);animation:loaderHeartBeat 1.4s cubic-bezier(.215,.61,.355,1) infinite;transform-origin:center}.loader-heart-pulse{position:absolute;top:50%;left:50%;width:100%;height:100%;border-radius:50%;border:2px solid rgba(224,75,111,.18);animation:loaderHeartRing 2.4s ease-out infinite}.loader-heart-pulse-2{animation-delay:.8s;border-color:#f0c06024}body[data-theme=dark] .loader-heart-path{fill:#ffc4d8}body[data-theme=dark] .loader-heart-pulse{border-color:#8bb3e62e}body[data-theme=dark] .loader-heart-pulse-2{border-color:#80c6b924}body[data-theme=dark] .loader-heart-svg{filter:drop-shadow(0 8px 20px rgba(136,182,238,.3))}body[data-theme=dark] .loader-heart-wrapper:before{background:radial-gradient(circle,rgba(136,182,238,.14),transparent 70%)}.loader-logo{width:min(320px,72vw)}.logo-svg{width:100%;height:auto}.logo-text{font-family:var(--font-script);font-size:95px;fill:none;stroke:var(--rose);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke;filter:drop-shadow(0 6px 20px rgba(224,75,111,.2));stroke-dasharray:1200;stroke-dashoffset:1200;animation:strokeDraw 3.2s ease-in-out forwards,logoFillIn .8s ease 1.6s forwards}body[data-theme=dark] .logo-text{stroke:#ffc7da;filter:drop-shadow(0 6px 20px rgba(136,182,238,.2));animation:strokeDraw 3.2s ease-in-out forwards,logoFillInDark .8s ease 1.6s forwards}.loader-status-wrap{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 18px;width:min(360px,100%);margin-inline:auto;border-radius:999px;background:#ffffff8c;border:1px solid rgba(224,75,111,.1);box-shadow:0 4px 16px #1e17260a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.loader-status-dot{width:7px;height:7px;border-radius:50%;background:var(--rose);flex-shrink:0;animation:loaderStatusDotPulse 1.5s ease-out infinite}.loader-status{margin:0;max-width:34ch;text-align:center;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:#1e172694;transition:opacity .3s ease}body[data-theme=dark] .loader-status-wrap{background:#0e1826a6;border-color:#7da0cd29;box-shadow:0 4px 16px #00000026}body[data-theme=dark] .loader-status-dot{background:#ffc4d8}body[data-theme=dark] .loader-status{color:#c4d5eed1}.loader-progress-track{width:min(320px,76vw);height:10px;border-radius:999px;border:1px solid rgba(224,75,111,.14);background:#ffffffa6;box-shadow:inset 0 1px 4px #1e17260f,0 2px 8px #1e172608;position:relative;overflow:hidden;margin-inline:auto}.loader-progress-fill{display:block;height:100%;border-radius:999px;transform-origin:left center;transform:scaleX(0);background:linear-gradient(90deg,var(--rose),var(--sun),var(--mint),var(--sky));background-size:250% 100%;animation:loaderBarShift 3s linear infinite;position:relative;box-shadow:0 0 12px #e04b6f4d}.loader-progress-glow{position:absolute;top:-3px;bottom:-3px;left:0;right:0;border-radius:999px;background:linear-gradient(90deg,transparent 40%,rgba(224,75,111,.35),rgba(240,192,96,.25));filter:blur(6px);pointer-events:none;transform-origin:left center;transform:scaleX(0);transition:transform .08s linear}.loader-progress-meta{width:min(320px,76vw);display:flex;align-items:center;justify-content:space-between;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:#1e17267a;margin-inline:auto}.loader-progress-value{font-variant-numeric:tabular-nums;font-weight:600;font-size:.72rem;color:var(--rose);text-shadow:0 1px 8px rgba(224,75,111,.15)}.loader-progress-label{letter-spacing:.2em;opacity:.7}body[data-theme=dark] .loader-progress-track{border-color:#7b9dc947;background:#0b1420e6;box-shadow:inset 0 1px 4px #00000040,0 2px 8px #0000001a}body[data-theme=dark] .loader-progress-fill{background:linear-gradient(90deg,#ffc3d7,#f3d7a5,#9ed2c6,#9bc4f7)}body[data-theme=dark] .loader-progress-glow{background:linear-gradient(90deg,transparent,rgba(139,179,230,.3),rgba(128,198,185,.2))}body[data-theme=dark] .loader-progress-meta{color:#bed0e8b3}body[data-theme=dark] .loader-progress-value{color:#ffc4d8;text-shadow:0 1px 8px rgba(136,182,238,.2)}.loader-hearts{display:flex;justify-content:center;width:100%;gap:6px;font-size:.95rem;margin-top:6px}.loader-hearts span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(224,75,111,.12);background:#fff9;animation:loaderHeartBubble 2s ease-in-out infinite;transition:transform .2s ease}.loader-hearts span:hover{transform:scale(1.15)}body[data-theme=dark] .loader-hearts span{color:#ffd9c6;border-color:#7ea0cc47;background:#0d1726d1}.loader-hearts span:nth-child(1){animation-delay:0s}.loader-hearts span:nth-child(2){animation-delay:.15s}.loader-hearts span:nth-child(3){animation-delay:.3s}.loader-hearts span:nth-child(4){animation-delay:.45s}.loader-hearts span:nth-child(5){animation-delay:.6s}@keyframes loaderBloom{0%,to{transform:scale(.9);opacity:.38}50%{transform:scale(1.1);opacity:.62}}@keyframes loaderDrift{0%{transform:translate3d(-3%,0,0)}to{transform:translate3d(3%,-4%,0)}}@keyframes loaderGlowA{0%{transform:translate(0) scale(1);opacity:.5}50%{transform:translate(5vw,3vh) scale(1.15);opacity:.7}to{transform:translate(-3vw,-2vh) scale(.95);opacity:.45}}@keyframes loaderGlowB{0%{transform:translate(0) scale(1);opacity:.45}50%{transform:translate(-4vw,-3vh) scale(1.1);opacity:.6}to{transform:translate(3vw,2vh) scale(.9);opacity:.4}}@keyframes loaderGlowC{0%,to{transform:translate(-50%,-50%) scale(.85);opacity:.3}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.5}}@keyframes loaderSheen{0%,30%{transform:translate(-120%)}60%{transform:translate(120%)}to{transform:translate(120%)}}@keyframes loaderTopBar{0%{background-position:0% 50%}to{background-position:300% 50%}}@keyframes loaderCardEntrance{0%{opacity:0;transform:translateY(40px) scale(.92);filter:blur(12px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes loaderHeartBeat{0%{transform:scale(1)}15%{transform:scale(1.22)}30%{transform:scale(1)}45%{transform:scale(1.14)}60%{transform:scale(1)}to{transform:scale(1)}}@keyframes loaderHeartGlow{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:.8;transform:scale(1.1)}}@keyframes loaderHeartRing{0%{transform:translate(-50%,-50%) scale(.6);opacity:.6}to{transform:translate(-50%,-50%) scale(1.6);opacity:0}}@keyframes loaderStatusDotPulse{0%{transform:scale(.9);box-shadow:0 0 #e04b6f66}70%{transform:scale(1.1);box-shadow:0 0 0 8px #e04b6f00}to{transform:scale(.9);box-shadow:0 0 #e04b6f00}}@keyframes loaderParticleFloat{0%{opacity:0;transform:translateY(0) scale(.5)}15%{opacity:.9}50%{transform:translateY(-30px) scale(1.2);opacity:.7}85%{opacity:.3}to{opacity:0;transform:translateY(-60px) scale(.4)}}@keyframes loaderHeartBubble{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.06)}}@keyframes loaderBarShift{0%{background-position:0% 50%}to{background-position:250% 50%}}@keyframes pageAuraShift{0%{transform:translate(-2%) scale(.98);opacity:.38}to{transform:translate(2%) scale(1.02);opacity:.58}}@keyframes progressFlow{0%{background-position:0% 50%}to{background-position:240% 50%}}@keyframes auroraFloat{0%{transform:translateZ(0) rotate(-8deg) scale(1)}to{transform:translate3d(4vw,-3vh,0) rotate(8deg) scale(1.08)}}@keyframes auroraFloatAlt{0%{transform:translateZ(0) rotate(7deg) scale(1)}to{transform:translate3d(-3vw,3vh,0) rotate(-7deg) scale(1.07)}}@keyframes noiseShift{0%{transform:translate(0)}to{transform:translate(-1.5%,1.5%)}}@keyframes accentSweep{0%{background-position:0% 50%}to{background-position:200% 50%}}@keyframes heroShine{0%,30%{transform:translate(-120%)}50%{transform:translate(120%)}to{transform:translate(120%)}}@keyframes sigilFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-220}}@keyframes sigilPulse{0%,to{transform:scale(.9);opacity:.72}50%{transform:scale(1.25);opacity:1}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes pulseWave{0%{transform:scale(.95);box-shadow:0 0 #e4527373}70%{transform:scale(1);box-shadow:0 0 0 12px #e4527300}to{box-shadow:0 0 #e4527300}}@keyframes miniFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes haloPulse{0%,to{transform:scale(.94);opacity:.72}50%{transform:scale(1.05);opacity:.92}}@keyframes ambientRingRotate{0%{stroke-dashoffset:0}to{stroke-dashoffset:-360}}@keyframes cometFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-240}}@keyframes cometDotPulse{0%,to{transform:scale(1);opacity:.86}50%{transform:scale(1.24);opacity:1}}@keyframes constellationFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-110}}@keyframes twinkle{0%,to{transform:scale(.9);opacity:.7}50%{transform:scale(1.28);opacity:1}}@keyframes orbFloat{0%{transform:translate(0) scale(1)}to{transform:translate(24px,-28px) scale(1.08)}}@keyframes orbitDrift{0%{transform:translateY(5px) rotate(-1deg)}to{transform:translateY(-5px) rotate(1deg)}}@keyframes orbitStroke{0%{stroke-dashoffset:0}to{stroke-dashoffset:-240}}@keyframes orbitDot{0%,to{transform:translateY(0) scale(1);opacity:.95}50%{transform:translateY(-8px) scale(1.12);opacity:1}}@keyframes heartBeatGlow{0%,to{transform:scale(1);opacity:.9}45%{transform:scale(1.12);opacity:1}65%{transform:scale(.96);opacity:.93}}@keyframes waveFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-260}}@keyframes sparkleFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-180}}@keyframes sparkleDot{0%,to{transform:scale(.9);opacity:.75}50%{transform:scale(1.3);opacity:1}}@keyframes sparkFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-240}}@keyframes sparkDot{0%,to{transform:translateY(0) scale(1);opacity:.9}50%{transform:translateY(-6px) scale(1.12);opacity:1}}@keyframes dividerFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-230}}@keyframes moodArcFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-220}}@keyframes moodRippleFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-160}}@keyframes moodStarPulse{0%,to{transform:scale(.95);opacity:.8}50%{transform:scale(1.25);opacity:1}}@keyframes mediaLoopFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-180}}@keyframes latticeFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-120}}@keyframes latticeDotPulse{0%,to{transform:scale(.95);opacity:.8}50%{transform:scale(1.2);opacity:1}}@keyframes mediaOrbFloat{0%,to{transform:translateY(0);opacity:.9}50%{transform:translateY(-5px);opacity:1}}@keyframes celebratePulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes liveDotPulse{0%{transform:scale(.95);box-shadow:0 0 #e4527366}70%{transform:scale(1.1);box-shadow:0 0 0 10px #e4527300}to{box-shadow:0 0 #e4527300}}@keyframes heartHaloPulse{0%{transform:scale(.92);opacity:.74}70%{transform:scale(1.08);opacity:.14}to{transform:scale(1.12);opacity:0}}@keyframes heartSheenSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes heartPop{0%{transform:translate(var(--mag-x),var(--mag-y)) scale(1)}40%{transform:translate(var(--mag-x),var(--mag-y)) scale(1.16)}to{transform:translate(var(--mag-x),var(--mag-y)) scale(1)}}@keyframes burstFly{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--dx, 0px),var(--dy, -50px)) scale(.2)}}@keyframes fall{0%{transform:translateY(-10vh) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(110vh) rotate(360deg);opacity:0}}@keyframes wobble{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}@keyframes strokeDraw{0%{stroke-dashoffset:1200;opacity:.3}50%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:1}}@keyframes logoFillIn{0%{fill:transparent}to{fill:var(--rose);stroke-width:1.5}}@keyframes logoFillInDark{0%{fill:transparent}to{fill:#ffc7da;stroke-width:1.5}}@keyframes heartFloat{0%,to{transform:translateY(0) scale(1);opacity:.82}50%{transform:translateY(-9px) scale(1.08);opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .8s ease both}.love-quote-section{margin:2px 0}.quote-card{padding:30px 28px;text-align:center;background:linear-gradient(155deg,#ffffffe0,#ffebf4c2,#fff8eeb8);border:1px solid rgba(224,75,111,.12);position:relative;overflow:hidden}.quote-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 30%,rgba(224,75,111,.1),transparent 50%),radial-gradient(circle at 80% 70%,rgba(94,203,184,.08),transparent 50%);pointer-events:none}.quote-deco-svg{position:absolute;left:20px;top:8px;width:60px;height:60px;color:var(--rose);pointer-events:none}.quote-text{margin:0;padding:0;font-family:var(--font-title);font-size:clamp(1.25rem,2.8vw,1.7rem);font-weight:500;font-style:italic;line-height:1.46;letter-spacing:-.01em;color:var(--ink);max-width:52ch;margin-inline:auto;position:relative;z-index:2}.quote-author{display:block;margin-top:16px;font-family:var(--font-script);font-size:1.1rem;color:var(--rose);font-style:normal;position:relative;z-index:2}body[data-theme=dark] .quote-card{background:linear-gradient(155deg,#0c1421f0,#121c2ce6,#0e1826e0);border-color:#7e9ec947}body[data-theme=dark] .quote-glow{background:radial-gradient(circle at 20% 30%,rgba(139,179,230,.12),transparent 50%),radial-gradient(circle at 80% 70%,rgba(128,198,185,.08),transparent 50%)}body[data-theme=dark] .quote-text{color:var(--ink)}body[data-theme=dark] .quote-author,body[data-theme=dark] .quote-deco-svg{color:#ffc7da}.site-footer{margin-top:8px;padding:32px 24px 26px;text-align:center;background:linear-gradient(160deg,#ffffffd1,#ffeef6b3,#fff8eea8);border:1px solid rgba(224,75,111,.1);position:relative;overflow:hidden}.footer-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 50%,rgba(224,75,111,.08),transparent 60%);pointer-events:none}.footer-content{position:relative;z-index:2}.footer-heart-icon{margin:0 0 10px;font-size:2rem;line-height:1;animation:heartBeatGlow 2.6s ease-in-out infinite}.footer-text{margin:0;font-family:var(--font-title);font-size:clamp(1.3rem,3vw,1.8rem);font-weight:600;color:var(--ink);letter-spacing:-.01em}.footer-sub{margin:6px 0 0;font-size:.82rem;color:var(--ink-muted);letter-spacing:.1em;text-transform:uppercase}.footer-divider{width:60px;height:2px;margin:18px auto;border-radius:999px;background:var(--accent);opacity:.6}.footer-copy{margin:0;font-size:.72rem;color:var(--ink-muted);letter-spacing:.16em;text-transform:uppercase}body[data-theme=dark] .site-footer{background:linear-gradient(165deg,#0a121ff0,#101a2ae6);border-color:#7e9ec947}body[data-theme=dark] .footer-glow{background:radial-gradient(circle at 50% 50%,rgba(139,179,230,.1),transparent 60%)}body[data-theme=dark] .footer-text{color:var(--ink)}body[data-theme=dark] .footer-sub,body[data-theme=dark] .footer-copy{color:#bccde6b3}body[data-theme=dark] .media-story-kicker{color:#ffbfd8}body[data-theme=dark] .gallery-link:before{background:#09101cad;border-color:#95b8ec47;color:#e8f0ffe0}body[data-theme=dark] .carousel-btn{background:#0c1424e0;color:#ecf2ffeb;border-color:#7697c538}body[data-theme=dark] .carousel-meter-track{background:#ecf2ff1f}body[data-theme=dark] .carousel-count{color:#ecf2ffb8}body[data-theme=dark] .top-ribbon{background:linear-gradient(165deg,#0b1320f5,#111c2ceb,#0d1623e6);border-color:#7e9eca57;box-shadow:0 24px 56px #00000070,inset 0 1px #99bdee14}body[data-theme=dark] .birthday-card{background:linear-gradient(160deg,#230f1cf5,#2c1423eb,#1e1614e0)}body[data-theme=dark] .my-birthday-card{background:linear-gradient(160deg,#0e1a28f5,#122232eb,#0d1d20e0)}body[data-theme=dark] .gallery-card{background:linear-gradient(160deg,#171612f0,#121927eb,#1c121be6)}body[data-theme=dark] .mood-card{background:linear-gradient(160deg,#0d1522f5,#101d2feb,#181221e0)}body[data-theme=dark] .media-card{background:linear-gradient(160deg,#0c1421f5,#171221eb,#101c2de0)}body[data-theme=dark] .photo-item{box-shadow:0 18px 38px #00000057,0 8px 18px #7098d71f}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}.cursor-glow{display:none!important}}@media (pointer: coarse){.cursor-glow{display:none}}@media (max-width: 1024px){.hero-layout{grid-template-columns:1fr}.media-carousel .carousel-slide{flex-basis:56%}.birthday-card{grid-area:birth}.my-birthday-card{grid-area:mine}.gallery-card{grid-area:gallery}.info-grid{grid-template-columns:1fr 1fr;grid-template-areas:"birth mine" "gallery gallery"}.content-grid{grid-template-columns:1fr;grid-template-areas:"media" "mood" "map" "fridge"}.hero-stage{min-height:360px}.quote-text{font-size:clamp(1.15rem,2.5vw,1.5rem)}}@media (max-width: 760px){body{background-attachment:scroll}.ambient,.cursor-glow,.hero-copy-sigil-svg,.hero-orbit-svg,.hero-sparkle-svg,.hero-wave-svg,.hero-constellation-svg,.media-lattice-svg,.loader-particles,.loader-glow,.noise-layer{display:none!important}.scroll-progress,.card,.top-ribbon,.theme-toggle,.secret-link,.loader-stack{backdrop-filter:none;-webkit-backdrop-filter:none}.card,.top-ribbon,.hero-copy,.hero-stage,.photo-item,.media-tile,.loader-stack{box-shadow:0 10px 24px #1e17261f}.card:before,.card:after,.top-ribbon:before,.heart-btn:before,.heart-btn:after,.scroll-progress-fill{animation:none!important}.fx-reveal,.fx-reveal.is-visible{opacity:1;filter:none}.scroll-progress{height:2px}.loader-stack{width:min(370px,90vw);padding:26px 20px 18px;border-radius:26px;gap:10px}.loader-heart-wrapper{width:100px;height:100px}.loader-heart-svg{width:44px;height:44px}.loader-particles{transform:scale(.75)}.loader-logo{width:min(290px,78vw)}.logo-text{font-size:78px}.loader-status{font-size:.68rem;letter-spacing:.11em}.loader-status-wrap{padding:5px 12px}.loader-progress-track,.loader-progress-meta{width:min(300px,100%)}.loader-hearts span{width:24px;height:24px;font-size:.84rem}.page{padding:16px 14px 60px;gap:18px}.top-ribbon{padding:14px 16px;display:grid;grid-template-columns:1fr auto;row-gap:10px;align-items:center;position:sticky;top:10px;z-index:15}body[data-theme=dark] .top-ribbon{background:#080f19e0;border-color:#799ac861;box-shadow:0 14px 32px #00000080;backdrop-filter:none;-webkit-backdrop-filter:none}.ribbon-meta{grid-column:1 / -1}.ribbon-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.theme-toggle{grid-column:1 / -1;justify-self:stretch;justify-content:space-between}body[data-theme=dark] .theme-toggle{background:#0c1624eb;border-color:#7697c55c}.secret-link{justify-self:stretch;justify-content:center}body[data-theme=dark] .secret-link{background:#0c1624e6;border-color:#7697c55c;color:#e9f1fff0}.hero-copy,.hero-stage,.countdown-card,.gallery-card,.mood-card,.media-card{padding:22px;border-radius:22px}.hero-layout{grid-template-columns:1fr;gap:14px}.hero-stage{order:1;min-height:260px}.hero-copy{order:2;text-align:center;justify-items:center;gap:16px}.hero-pulse-line,.hero-mini-grid{justify-content:center}.title{font-size:clamp(2.55rem,11vw,3.2rem);line-height:.92}.ribbon-title{font-size:clamp(2rem,10vw,2.75rem);line-height:.9}.lead,.march8-text,.cake-instruction,.media-story-hint{font-size:.96rem;line-height:1.62}.section-head{align-items:flex-start}.section-head h3{font-size:clamp(1.3rem,5.8vw,1.68rem)}.hero-wave-svg{inset:auto 4% 10px;height:40%}.hero-copy-sigil-svg{width:170px;height:92px;right:-30px;top:-24px}.hero-constellation-svg{opacity:.58}.hero-actions{justify-content:center;width:100%}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"gallery gallery" "birth mine";gap:14px}.tamagotchi-status{grid-template-columns:1fr}.countdown-card .countdown-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.countdown-card .countdown-number{font-size:1.45rem}.countdown-meta{gap:6px}.countdown-target-chip,.countdown-live-chip{padding:6px 9px;font-size:.58rem;letter-spacing:.12em}.period-grid{gap:6px}.period-number{font-size:1.1rem}.period-label{font-size:.56rem;letter-spacing:.12em}.heart-btn{width:64px;height:64px}.section-wave-divider{height:68px;margin-top:-2px}.content-grid{grid-template-columns:1fr;gap:14px;grid-template-areas:"media" "mood" "map" "fridge"}.media-card{order:1}.mood-card{order:2}.carousel-topbar,.carousel-footer{gap:10px}.carousel-footer{align-items:center;flex-direction:row}.carousel-meter{width:100%;min-width:0}.media-carousel .carousel-slide{flex-basis:78%}.media-lattice-svg{width:76%;opacity:.4}.mood-row{display:grid;width:100%;grid-template-columns:repeat(5,minmax(0,1fr))}.mood-btn{width:100%;justify-content:center;padding:10px 0;font-size:1.4rem}.theme-label{display:none}.quote-card{padding:28px 22px}.quote-text{font-size:clamp(1.14rem,4.6vw,1.34rem);line-height:1.48}.quote-author{font-size:1rem}.site-footer{padding:32px 20px 24px}.footer-text{font-size:clamp(1.15rem,4vw,1.5rem)}}@media (max-width: 480px){.loader-heart-wrapper{width:78px;height:78px}.loader-heart-svg{width:36px;height:36px}.loader-heart-pulse{border-width:1.5px}.loader-particles{transform:scale(.55);opacity:.5}.loader-logo{width:min(260px,80vw)}.logo-text{font-size:66px}.loader-status{font-size:.62rem}.loader-status-wrap{padding:4px 10px}.loader-progress-track{height:9px}.loader-progress-meta{font-size:.58rem}.top-ribbon{top:6px;padding:10px 12px}.ribbon-actions{grid-template-columns:1fr}.secret-link{justify-self:stretch;width:100%;justify-content:center}body[data-theme=dark] .secret-link{width:100%;justify-content:center}.hero-actions{flex-direction:column;align-items:center}.hero-note{width:100%;text-align:center}.hero-mini-grid{gap:6px}.countdown-meta{display:grid;grid-template-columns:1fr}.countdown-target-chip,.countdown-live-chip{justify-content:center;width:100%}.heart-btn{width:60px;height:60px}.hero-copy-sigil-svg,.media-lattice-svg{display:none}.info-grid{grid-template-columns:1fr;grid-template-areas:"gallery" "birth" "mine"}.tamagotchi-actions{grid-template-columns:1fr}.photo-item,.photo-item:first-child,.photo-item:last-child{transform:none}.carousel-btn{width:36px;height:36px}.media-carousel .carousel-slide{flex-basis:84%}.mood-btn{font-size:1.3rem}.quote-card{padding:24px 18px}.quote-text{font-size:1.1rem;line-height:1.5}.quote-deco-svg{width:44px;height:44px;left:12px;top:4px}.site-footer{padding:28px 16px 20px}.footer-heart-icon{font-size:1.6rem}.media-story-kicker{font-size:.58rem}.media-story-hint{font-size:.84rem}.footer-sub{font-size:.74rem;letter-spacing:.06em}}.page-transition{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0}.page-transition.active{pointer-events:all;opacity:1}.page-transition-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,#1a1232,#0f0e17);transform:scale(0);border-radius:50%;transition:transform .6s cubic-bezier(.4,0,.2,1)}.page-transition.active .page-transition-bg{transform:scale(3);border-radius:0}.page-transition-emoji{position:relative;z-index:1;font-size:4rem;opacity:0;transform:scale(.3) rotate(-20deg);transition:opacity .3s .25s,transform .5s .25s cubic-bezier(.34,1.56,.64,1)}.page-transition.active .page-transition-emoji{opacity:1;transform:scale(1) rotate(0)}.tama-open-link{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:10px 22px;border-radius:999px;background:linear-gradient(135deg,#e452731f,#a78bfa1f);border:1px solid rgba(228,82,115,.25);color:var(--rose, #e45273);text-decoration:none;font-size:.88rem;font-weight:600;transition:all .3s ease;cursor:pointer}.tama-open-link:hover{background:linear-gradient(135deg,#e4527338,#a78bfa38);border-color:#e4527373;transform:translateY(-2px);box-shadow:0 8px 24px #e4527333}body[data-theme=dark] .tama-open-link{background:linear-gradient(135deg,#ff6b9d26,#a78bfa26);border-color:#ff6b9d4d;color:#ff6b9d}body[data-theme=dark] .tama-open-link:hover{background:linear-gradient(135deg,#ff6b9d40,#a78bfa40);box-shadow:0 8px 24px #ff6b9d40}.tama-link{border-color:#a78bfa4d!important;background:linear-gradient(130deg,#ffffffdb,#eeebffd1)!important}body[data-theme=dark] .tama-link{background:#a78bfa1f!important;border-color:#a78bfa4d!important;color:#a78bfa!important}body.spring-holiday{--rose: #e8598c;--rose-2: #ff8ab5;--sun: #f5c842;--mint: #78d4a6;--bg-3: #fff2f6}body.spring-holiday:before{background:radial-gradient(circle at var(--mx) var(--my),rgba(255,220,240,.4),transparent 36%),radial-gradient(circle at 10% 15%,rgba(232,89,140,.2),transparent 42%),radial-gradient(circle at 85% 10%,rgba(120,212,166,.22),transparent 42%),radial-gradient(circle at 70% 82%,rgba(245,200,66,.18),transparent 46%)}body.spring-holiday .scroll-progress-fill{background:linear-gradient(90deg,#e8598c,#f5c842,#78d4a6,#ff8ab5);background-size:240% 100%}body.spring-holiday .falling-heart{color:#e8598c80;text-shadow:0 3px 10px rgba(232,89,140,.2)}body[data-theme=dark].spring-holiday:before{background:radial-gradient(circle at var(--mx) var(--my),rgba(232,89,140,.18),transparent 38%),radial-gradient(circle at 12% 18%,rgba(200,80,130,.2),transparent 44%),radial-gradient(circle at 84% 10%,rgba(120,212,166,.15),transparent 42%),radial-gradient(circle at 68% 86%,rgba(245,200,66,.12),transparent 48%)}.march8-banner{position:relative;overflow:hidden;padding:44px 36px 40px;text-align:center;background:linear-gradient(155deg,#fff0f5f2,#fff8ebe6,#f0fff5e0);border:1.5px solid rgba(232,89,140,.2);margin-bottom:22px;animation:march8FadeIn 1s ease-out forwards}@keyframes march8FadeIn{0%{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.march8-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 20%,rgba(232,89,140,.12),transparent 50%),radial-gradient(circle at 70% 80%,rgba(120,212,166,.1),transparent 50%),radial-gradient(circle at 50% 50%,rgba(245,200,66,.08),transparent 40%);pointer-events:none}.march8-flowers{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.march8-flower{position:absolute;font-size:1.6rem;opacity:.2;animation:march8Float 6s ease-in-out infinite}.m8f-1{top:10%;left:5%;animation-delay:0s;font-size:2rem}.m8f-2{top:15%;right:8%;animation-delay:1s;font-size:1.4rem}.m8f-3{bottom:15%;left:10%;animation-delay:2s}.m8f-4{bottom:10%;right:12%;animation-delay:.5s;font-size:1.8rem}.m8f-5{top:50%;left:2%;animation-delay:3s;font-size:1.3rem}.m8f-6{top:40%;right:3%;animation-delay:1.5s;font-size:1.5rem}@keyframes march8Float{0%,to{transform:translateY(0) rotate(0);opacity:.2}50%{transform:translateY(-12px) rotate(8deg);opacity:.35}}.march8-content{position:relative;z-index:2}.march8-badge{display:inline-block;padding:6px 20px;border-radius:999px;background:linear-gradient(135deg,#e8598c,#f5c842);color:#fff;font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px;box-shadow:0 4px 18px #e8598c4d}.march8-title{font-family:var(--font-title);font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:700;line-height:1.15;color:var(--ink);margin-bottom:14px;letter-spacing:-.02em}.march8-text{font-size:clamp(.95rem,1.6vw,1.1rem);line-height:1.7;color:var(--ink-soft);max-width:56ch;margin:0 auto 20px}.march8-emoji-row{display:flex;justify-content:center;gap:12px;font-size:1.5rem}.march8-emoji-row span{animation:march8Bounce 2s ease-in-out infinite}.march8-emoji-row span:nth-child(1){animation-delay:0s}.march8-emoji-row span:nth-child(2){animation-delay:.15s}.march8-emoji-row span:nth-child(3){animation-delay:.3s}.march8-emoji-row span:nth-child(4){animation-delay:.45s}.march8-emoji-row span:nth-child(5){animation-delay:.6s}.march8-emoji-row span:nth-child(6){animation-delay:.75s}@keyframes march8Bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}body[data-theme=dark] .march8-banner{background:linear-gradient(155deg,#280f1cf2,#1e190ce6,#0e1e16e0);border-color:#e8598c4d}body[data-theme=dark] .march8-glow{background:radial-gradient(circle at 30% 20%,rgba(232,89,140,.15),transparent 50%),radial-gradient(circle at 70% 80%,rgba(120,212,166,.1),transparent 50%),radial-gradient(circle at 50% 50%,rgba(245,200,66,.06),transparent 40%)}body[data-theme=dark] .march8-title{color:var(--ink)}body[data-theme=dark] .march8-badge{background:linear-gradient(135deg,#d4508a,#ddb33e);box-shadow:0 4px 18px #d4508a59}body[data-theme=dark] .march8-text{color:var(--ink-soft)}body.spring-holiday .quote-card{background:linear-gradient(155deg,#fff2f6eb,#fffaebd1,#f0fff8c2);border-color:#e8598c2e}body.spring-holiday .quote-author{color:#e8598c}body[data-theme=dark].spring-holiday .quote-card{background:linear-gradient(155deg,#230e18f0,#19160ae6,#0c1c14e0);border-color:#e8598c40}body[data-theme=dark].spring-holiday .quote-author{color:#ff9ec0}.flower-burst{font-size:16px;background:none;width:auto;height:auto;border-radius:0;box-shadow:none;animation:flowerBurstFly 1.1s ease-out forwards}@keyframes flowerBurstFly{0%{opacity:1;transform:translate(0) scale(.5) rotate(0)}60%{opacity:1}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1.2) rotate(180deg)}}body.birthday-holiday:before{background:radial-gradient(circle at var(--mx) var(--my),rgba(255,220,240,.4),transparent 36%),radial-gradient(circle at 10% 15%,rgba(220,150,255,.2),transparent 42%),radial-gradient(circle at 85% 10%,rgba(255,180,100,.22),transparent 42%),radial-gradient(circle at 70% 82%,rgba(100,200,255,.18),transparent 46%)}body.birthday-holiday .scroll-progress-fill{background:linear-gradient(90deg,#d88ced,#ffd666,#ff94b8,#8ce6ff);background-size:240% 100%}body.birthday-holiday .falling-heart{text-shadow:0 4px 12px rgba(230,120,255,.3)}body[data-theme=dark].birthday-holiday:before{background:radial-gradient(circle at var(--mx) var(--my),rgba(230,120,255,.18),transparent 38%),radial-gradient(circle at 12% 18%,rgba(200,100,200,.2),transparent 44%),radial-gradient(circle at 84% 10%,rgba(255,200,120,.15),transparent 42%),radial-gradient(circle at 68% 86%,rgba(100,180,255,.12),transparent 48%)}.birthday-banner{background:linear-gradient(155deg,#fff0fff2,#fffaebe6,#f0faffe0);border:1.5px solid rgba(220,150,255,.25)}.birthday-glow{background:radial-gradient(circle at 30% 20%,rgba(220,150,255,.12),transparent 50%),radial-gradient(circle at 70% 80%,rgba(100,200,255,.1),transparent 50%),radial-gradient(circle at 50% 50%,rgba(255,180,100,.08),transparent 40%)}.birthday-badge{background:linear-gradient(135deg,#d88ced,#ffb84d);box-shadow:0 4px 18px #dc96ff4d}body[data-theme=dark] .birthday-banner{background:linear-gradient(155deg,#230f23f2,#1e190fe6,#0f1923e0);border-color:#dc96ff4d}body[data-theme=dark] .birthday-glow{background:radial-gradient(circle at 30% 20%,rgba(220,150,255,.15),transparent 50%),radial-gradient(circle at 70% 80%,rgba(100,200,255,.1),transparent 50%),radial-gradient(circle at 50% 50%,rgba(255,180,100,.06),transparent 40%)}body[data-theme=dark] .birthday-badge{background:linear-gradient(135deg,#c06fd6,#df9b30);box-shadow:0 4px 18px #be6edc59}body.birthday-holiday .quote-card{background:linear-gradient(155deg,#fff0ffeb,#fffaebd1,#f0faffc2);border-color:#dc96ff2e}body.birthday-holiday .quote-author{color:#d88ced}body[data-theme=dark].birthday-holiday .quote-card{background:linear-gradient(155deg,#231423f0,#19160ce6,#0f191ee0);border-color:#dc96ff40}body[data-theme=dark].birthday-holiday .quote-author{color:#df9beb}.cake-card{position:relative;overflow:hidden;isolation:isolate;padding:clamp(28px,4vw,40px);text-align:left;background:linear-gradient(155deg,#fff7fcf5,#fff4eceb,#f2f9ffe0);border:1.5px solid rgba(220,150,255,.3);box-shadow:0 28px 64px #1e172624,0 12px 32px #dc96ff29,inset 0 1px #ffffffb8}.cake-card-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 16% 28%,rgba(232,163,255,.16),transparent 30%),radial-gradient(circle at 72% 68%,rgba(255,186,119,.12),transparent 34%),radial-gradient(circle at 54% 44%,rgba(131,190,255,.16),transparent 26%);pointer-events:none;z-index:0}.cake-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:32px;align-items:center}.cake-copy{display:grid;gap:16px;align-content:center;justify-items:start;text-align:left}.cake-kicker{margin:0;font-size:.68rem;text-transform:uppercase;letter-spacing:.24em;color:var(--ink-soft)}.cake-title{font-size:clamp(2.25rem,5vw,3.65rem);line-height:.94;letter-spacing:-.03em}.cake-title span{display:inline-block;transform:translateY(-.04em)}.cake-instruction{margin:0;max-width:44ch;font-size:1.02rem;line-height:1.72;color:var(--ink-soft)}.cake-steps{display:flex;flex-wrap:wrap;gap:10px}.cake-step{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;border:1px solid rgba(33,26,42,.11);background:#ffffffb3;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}.cake-progress{display:grid;gap:8px;justify-items:start}.cake-progress-pill{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:8px 14px;border-radius:999px;border:1px solid rgba(220,150,255,.34);background:linear-gradient(130deg,#ffffffdb,#ffeef8cc);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#a153be}.cake-progress-text{margin:0;max-width:40ch;font-size:.9rem;color:var(--ink-muted);text-align:left}.cake-stage{position:relative;display:grid;justify-items:center;align-items:center;gap:18px;width:min(100%,420px);justify-self:end;margin-inline:auto}.cake-stage-aura{position:absolute;top:16%;right:12%;bottom:24%;left:12%;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(141,167,255,.3),rgba(232,163,255,.18) 32%,transparent 62%);filter:blur(40px);pointer-events:none;z-index:0}.cake-stage-panel{position:relative;z-index:1;display:grid;justify-items:center;gap:12px;width:min(100%,360px);max-width:360px;padding:0;border-radius:0;border:0;background:transparent;box-shadow:none;overflow:visible;margin-inline:auto}.cake-stage-panel:before{content:none}.cake-stage-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.cake-stage-badge{padding:6px 10px;border-radius:999px;border:1px solid rgba(160,187,255,.24);background:#10111f61;color:#ebefffd1;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase}body[data-theme=dark] .cake-card{background:linear-gradient(155deg,#230f1ef7,#19140fed,#0f1923eb);border-color:#dc96ff4d;box-shadow:0 30px 70px #00000080,inset 0 1px #ffffff0d}body[data-theme=dark] .cake-progress-pill{background:linear-gradient(130deg,#1d1226eb,#281321e0);border-color:#dc96ff47;color:#f0b9ff}body[data-theme=dark] .cake-step{background:#131423bd;border-color:#7e9eca3d;color:#dfe8fcd6}body[data-theme=dark] .cake-stage-panel{background:transparent;border-color:transparent;box-shadow:none}.cake-container{position:relative;width:min(100%,320px);max-width:320px;margin:0 auto;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1}.cake-container:before{content:"";position:absolute;top:14%;right:12%;bottom:10%;left:12%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),rgba(255,179,213,.08) 34%,transparent 68%);filter:blur(18px);pointer-events:none}.cake-stage-note{margin:0;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:#eceeffb8}.cake-message{position:relative;z-index:1;width:min(100%,430px);margin:0 auto;padding:16px 18px;border-radius:22px;border:1px solid rgba(220,150,255,.26);background:linear-gradient(135deg,#fff8ffd1,#ffeff5c7,#fff7e3bd);font-weight:700;font-size:1.4rem;font-family:var(--font-title);animation:cakeMsgGrow 1s cubic-bezier(.175,.885,.32,1.275) forwards;opacity:0}.cake-message p{margin:0;background:linear-gradient(120deg,#e04b6f,#f5c842,#e04b6f);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 4px 16px rgba(224,75,111,.25);animation:cakeMsgShine 3s linear infinite}@keyframes cakeMsgGrow{0%{transform:scale(.6) translateY(20px);opacity:0;filter:blur(10px)}to{transform:scale(1) translateY(0);opacity:1;filter:blur(0)}}@keyframes cakeMsgShine{to{background-position:200% center}}body[data-theme=dark] .cake-message{background:linear-gradient(135deg,#1e1328e0,#2b1421d6,#2c2111cc);border-color:#dc96ff38}body[data-theme=dark] .cake-message p{background:linear-gradient(120deg,#ffb8cc,#ffd54f,#ffb8cc);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 4px 24px rgba(255,184,204,.3)}.svg-cake{width:100%;height:auto;overflow:visible;filter:drop-shadow(0 15px 25px rgba(220,150,255,.15));animation:cakeFloat 4s ease-in-out infinite}@keyframes cakeFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.candle-wrapper{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><text y="20" font-size="20">💨</text></svg>') 16 16,pointer;transition:transform .2s}.candle-wrapper:not(.blown-out):hover{transform:scale(1.05) translateY(-2px)}.candle-wrapper.blown-out{cursor:default!important;pointer-events:none}.candle-wrapper.blown-out .flame{opacity:0;animation:none}.flame{transform-origin:center bottom;animation:flicker 1s infinite alternate ease-in-out;transition:opacity .35s ease}@keyframes flicker{0%{transform:translate(0) scaleX(.96);opacity:.92}50%{transform:translate(-.6px) scale(1.04,.95);opacity:1}to{transform:translate(.8px) scale(.98,1.08);opacity:.9}}@media (max-width: 980px){.cake-layout{grid-template-columns:1fr}.cake-copy{justify-items:center;text-align:center}.cake-instruction,.cake-progress-text{max-width:42ch}.cake-progress-pill{margin-inline:auto}.cake-stage-panel{width:min(100%,340px);max-width:340px}}@media (max-width: 760px){.cake-card{padding:24px 20px}.cake-title{font-size:clamp(2rem,10vw,2.7rem)}.cake-stage-panel{width:min(100%,300px);max-width:300px;padding:0;border-radius:0}.cake-container{width:min(100%,280px)}.cake-stage-note{font-size:.72rem;letter-spacing:.13em}}@media (max-width: 480px){.media-grid{grid-template-columns:1fr}.cake-steps{justify-content:center}.cake-stage-meta{gap:6px}.cake-stage-badge{font-size:.56rem;letter-spacing:.14em}.cake-container{width:min(100%,250px)}.cake-message{font-size:1.15rem}}body.birthday-holiday{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><text y="20" font-size="20">🪄</text></svg>') 4 20,auto}body.birthday-holiday a,body.birthday-holiday button,body.birthday-holiday .theme-toggle,body.birthday-holiday .mood-btn,body.birthday-holiday .candle-wrapper{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><text y="20" font-size="20">✨</text></svg>') 16 16,pointer}.map-card{grid-area:map}.map-window{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,290px);gap:18px;padding:20px;background:#fff6;border-radius:var(--radius-md);margin:0;align-items:stretch}body[data-theme=dark] .map-window{background:#0a121e66}.map-visual{position:relative;width:100%;height:340px;min-height:340px;border-radius:var(--radius-sm);border:1px solid rgba(255,148,181,.24);box-shadow:inset 0 1px #ffffffa6;overflow:hidden}body[data-theme=dark] .map-visual{border-color:#ffb7cf38;box-shadow:inset 0 1px #ffffff14}.map-visual .leaflet-container{width:100%;height:100%;min-height:340px;background:#eef3f8;font-family:var(--font-body)}body[data-theme=dark] .map-visual .leaflet-container{background:#101a28}.map-visual .leaflet-control-zoom{border:none;box-shadow:0 16px 34px #14172624;overflow:hidden;border-radius:16px}.map-visual .leaflet-control-zoom a{width:34px;height:34px;line-height:34px;color:var(--ink);background:#ffffffeb;border-bottom:1px solid rgba(22,30,44,.08)}body[data-theme=dark] .map-visual .leaflet-control-zoom a{color:#f7f0f4;background:#141b28f0;border-bottom-color:#ffffff14}.map-visual .leaflet-control-attribution{padding:4px 8px;color:#2d3647b3;background:#ffffffd1;border-top-left-radius:12px}body[data-theme=dark] .map-visual .leaflet-control-attribution{color:#e6ecf7b8;background:#0f1420d6}.map-visual .leaflet-popup-content-wrapper,.map-visual .leaflet-popup-tip{background:#fffcfef5;color:var(--ink);box-shadow:0 18px 40px #14172629}body[data-theme=dark] .map-visual .leaflet-popup-content-wrapper,body[data-theme=dark] .map-visual .leaflet-popup-tip{background:#121824f5;color:#f8eef3}.map-marker-shell{background:transparent;border:none}.map-pin-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:999px;background:radial-gradient(circle at 30% 30%,#ffffffeb,#fff0 46%),linear-gradient(145deg,#ff9ab7,#ff5f8c);box-shadow:0 12px 20px #e6557d57,inset 0 1px #fff9;transform-origin:center bottom;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}body[data-theme=dark] .map-pin-icon{background:radial-gradient(circle at 30% 30%,#fff4f7f2,#fff0 40%),linear-gradient(145deg,#ff92b0,#f14a7d);box-shadow:0 14px 24px #ff60913d,inset 0 1px #ffffff57}.map-pin-icon svg{width:18px;height:18px;fill:#fff8fb;filter:drop-shadow(0 1px 1px rgba(116,17,48,.18))}.map-marker-shell:hover .map-pin-icon,.map-marker-shell.is-active .map-pin-icon{transform:translateY(-3px) scale(1.08);box-shadow:0 16px 28px #e6557d6b,inset 0 1px #ffffffad}.map-info-panel{background:var(--card);padding:20px;border-radius:var(--radius-sm);border:1px dashed var(--rose-2);min-height:140px;display:flex;align-items:center;justify-content:flex-start;text-align:left}body[data-theme=dark] .map-info-panel{border-color:#ffafcd4d}.map-empty{color:var(--ink-muted);font-style:italic}.map-content{width:100%;text-align:left;animation:fade-in-up .4s ease-out forwards}.map-location{margin:0 0 10px;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted)}.map-title{color:var(--rose);margin-bottom:8px;font-size:1.4rem;line-height:1.05}body[data-theme=dark] .map-title{color:#ffc7da}.map-desc{font-size:.98rem;line-height:1.62;margin:0}@media (max-width: 900px){.map-window{grid-template-columns:1fr}.map-visual,.map-visual .leaflet-container{height:300px;min-height:300px}}.fridge-card{grid-area:fridge;display:grid;grid-template-columns:minmax(320px,380px) minmax(0,1fr);gap:18px 22px;padding:24px;align-items:start;transform:none;transform-style:flat;transition:border-color var(--fx-speed) ease,box-shadow var(--fx-speed) ease}.fridge-card:after{display:none}.fridge-card:hover{--card-raise: 0px;--card-scale: 1;box-shadow:var(--shadow-sm);border-color:var(--card-border)}.fridge-card>.section-head:after,.fridge-card:hover>.section-head:after{width:74px}.fridge-hint{grid-column:1 / -1;margin:0;color:var(--ink-muted);max-width:68ch;font-size:.98rem;line-height:1.6;letter-spacing:0}.fridge-card>.section-head{grid-column:1 / -1}.fridge-card .section-head h3{font-size:clamp(1.38rem,2vw,1.82rem);letter-spacing:-.02em;line-height:1.06}.fridge-customizer{margin:0;padding:16px;border-radius:20px;background:#ffffffeb;border:1px solid rgba(30,23,38,.08);box-shadow:0 12px 28px #1e17260f;display:grid;gap:14px;align-self:start;position:sticky;top:24px}.fridge-toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.fridge-action{border:1px solid rgba(30,23,38,.12);background:#fff;color:var(--ink);border-radius:12px;min-height:42px;padding:10px 12px;font:inherit;font-size:.88rem;font-weight:600;line-height:1.15;letter-spacing:0;cursor:pointer;transition:border-color var(--fx-speed),box-shadow var(--fx-speed),background var(--fx-speed),color var(--fx-speed)}.fridge-action:hover,.fridge-action:focus-visible{border-color:#e04b6f47;box-shadow:0 0 0 3px #e04b6f14}.fridge-action:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.fridge-action.primary{background:var(--rose);color:#fff;border-color:var(--rose)}.fridge-action.danger{background:#fff5f7;color:#a23550}.fridge-selection-status{grid-column:1 / -1;padding:10px 12px;border-radius:12px;background:#1e17260a;color:var(--ink-soft);font-size:.84rem;line-height:1.4;letter-spacing:0;border:1px solid rgba(30,23,38,.06)}.fridge-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fridge-field{display:grid;gap:10px;min-width:0}.fridge-field-wide{grid-column:1 / -1}.fridge-field-label{color:var(--ink-muted);font-size:.83rem;line-height:1.2;letter-spacing:0;font-weight:600}.fridge-textarea{width:100%;min-height:132px;resize:vertical;border:1px solid rgba(30,23,38,.1);border-radius:14px;background:#fff;padding:14px 16px;font:inherit;font-size:1rem;line-height:1.6;letter-spacing:0;color:var(--ink);transition:border-color var(--fx-speed),box-shadow var(--fx-speed),background var(--fx-speed);text-wrap:pretty}.fridge-textarea:focus{border-color:#e04b6f52;box-shadow:0 0 0 4px #e04b6f14}.fridge-field-meta{display:flex;justify-content:space-between;gap:12px;color:var(--ink-muted);font-size:.79rem;line-height:1.35;letter-spacing:0}.fridge-swatch-row,.fridge-chip-row{display:flex;flex-wrap:wrap;gap:8px}.fridge-swatch,.fridge-chip{transition:transform var(--fx-speed),box-shadow var(--fx-speed),border-color var(--fx-speed),opacity var(--fx-speed)}.fridge-swatch{width:40px;height:40px;padding:0;border-radius:12px;border:1px solid rgba(30,23,38,.12);cursor:pointer;box-shadow:none}.fridge-swatch:hover,.fridge-swatch:focus-visible,.fridge-chip:hover,.fridge-chip:focus-visible{border-color:#e04b6f47}.fridge-swatch.is-active,.fridge-chip.is-active{border-color:#e04b6f59;box-shadow:0 0 0 3px #e04b6f1f}.fridge-swatch.is-yellow{background:linear-gradient(135deg,#fff7cc,#ffe68f)}.fridge-swatch.is-pink{background:linear-gradient(135deg,#ffe2ec,#ffc6d8)}.fridge-swatch.is-green{background:linear-gradient(135deg,#e5fff0,#bff4ce)}.fridge-swatch.is-blue{background:linear-gradient(135deg,#e5f6ff,#bfdcf7)}.fridge-swatch.is-lavender{background:linear-gradient(135deg,#ece8ff,#cdc3ff)}.fridge-swatch-magnet{border-radius:999px}.fridge-swatch-magnet.is-red{background:linear-gradient(135deg,#ff7a86,#d93d57)}.fridge-swatch-magnet.is-blue{background:linear-gradient(135deg,#7bc8ff,#2f76da)}.fridge-swatch-magnet.is-yellow{background:linear-gradient(135deg,#ffe98a,#f3bf14)}.fridge-swatch-magnet.is-purple{background:linear-gradient(135deg,#c4abff,#7351d8)}.fridge-swatch-magnet.is-mint{background:linear-gradient(135deg,#8ef2da,#34bfa6)}.fridge-chip{border:1px solid rgba(30,23,38,.12);background:#fff;color:var(--ink);border-radius:12px;padding:9px 13px;font:inherit;font-size:.84rem;font-weight:600;line-height:1.15;letter-spacing:0;cursor:pointer}.fridge-range-wrap{display:flex;align-items:center;gap:12px}.fridge-range{flex:1;accent-color:var(--rose)}.fridge-range-value{min-width:52px;text-align:right;color:var(--ink-soft);font-size:.92rem;font-weight:600;letter-spacing:0}.fridge-board{position:relative;width:100%;height:560px;margin:0;background:linear-gradient(180deg,#f7f8fa,#eef2f5);border-radius:20px;border:1px solid rgba(30,23,38,.08);box-shadow:inset 0 1px #ffffffb3;overflow:hidden}body[data-theme=dark] .fridge-board{background:linear-gradient(180deg,#182133,#11192a);border-color:#7dbfef24;box-shadow:inset 0 1px #ffffff0a}.fridge-board.is-empty:after{content:"Добавь первую записку и оформи её как хочешь";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:32px;color:var(--ink-muted);font-size:1rem;letter-spacing:.02em;text-align:center;pointer-events:none}.fridge-note{position:absolute;width:188px;min-height:148px;padding:22px 16px 20px;background:#fffae6;color:#333;border-radius:14px;border:1px solid rgba(30,23,38,.08);box-shadow:0 8px 18px #1e172614;transform-origin:top center;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;z-index:10}.fridge-note:focus-visible{outline:2px solid var(--ring);outline-offset:4px}.fridge-note:active{cursor:grabbing;z-index:100;box-shadow:0 12px 24px #1e172624}.fridge-note.is-selected{box-shadow:0 0 0 3px #e04b6f29,0 12px 24px #1e17261f;border-color:#e04b6f47}.note-text{position:relative;z-index:1;white-space:pre-wrap;overflow-wrap:anywhere;min-height:100%;letter-spacing:0;text-wrap:pretty;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.fridge-note[data-font=script] .note-text{font-family:var(--font-script);font-size:1.28rem;line-height:1.28;letter-spacing:.005em}.fridge-note[data-font=title] .note-text{font-family:var(--font-title);font-size:1.38rem;line-height:1.12;letter-spacing:-.015em}.fridge-note[data-font=body] .note-text{font-family:var(--font-body);font-size:.98rem;line-height:1.52;font-weight:500}.fridge-note[data-size=sm]{width:156px;min-height:126px;padding:20px 14px 18px}.fridge-note[data-size=md]{width:188px;min-height:148px}.fridge-note[data-size=lg]{width:228px;min-height:184px;padding:24px 18px 28px}.magnet-dot{position:absolute;top:6px;left:50%;transform:translate(-50%);width:14px;height:14px;border-radius:50%;box-shadow:inset -2px -2px 4px #0000004d,1px 2px 4px #0003}.fridge-note[data-size=lg] .magnet-dot{width:16px;height:16px}.note-bg-yellow{background:linear-gradient(180deg,#fff7cc,#ffe59a);color:#444}.note-bg-pink{background:linear-gradient(180deg,#ffe4ec,#ffc8d9);color:#444}.note-bg-blue{background:linear-gradient(180deg,#e6f5ff,#cde5fb);color:#384154}.note-bg-green{background:linear-gradient(180deg,#e4ffef,#c7f3d4);color:#34483c}.note-bg-lavender{background:linear-gradient(180deg,#efeaff,#d9d0ff);color:#403d57}.magnet-red{background:#ff4d4f}.magnet-blue{background:#1890ff}.magnet-yellow{background:#fadb14}.magnet-purple{background:#722ed1}.magnet-mint{background:#2fc4ab}body[data-theme=dark] .fridge-customizer{background:#11192af0;border-color:#7dbfef29}body[data-theme=dark] .fridge-action,body[data-theme=dark] .fridge-chip,body[data-theme=dark] .fridge-selection-status,body[data-theme=dark] .fridge-textarea{background:#0d1424f5;color:#ffffffe0;border-color:#7dbfef29}body[data-theme=dark] .fridge-action.primary{background:var(--rose);color:#fff;border-color:var(--rose)}body[data-theme=dark] .fridge-action.danger{background:#40151fcc;color:#ffb9c5}body[data-theme=dark] .fridge-field-label,body[data-theme=dark] .fridge-field-meta,body[data-theme=dark] .fridge-range-value,body[data-theme=dark] .fridge-hint{color:#ebf0ffb3}body[data-theme=dark] .fridge-selection-status{color:#ebf0ffb8;background:#ffffff0a}@media (max-width: 760px){.fridge-card{grid-template-columns:1fr;padding:20px;gap:16px}.fridge-customizer{position:static}.fridge-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.fridge-selection-status{grid-column:1 / -1}.fridge-editor{grid-template-columns:1fr;gap:14px}.fridge-board{height:520px}.fridge-note[data-size=lg]{width:204px;min-height:172px}}
