:root{--text:#6b6375;--text-h:#08060d;--code-bg:#f4f3ec;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px / 145% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--rose:#7b1a35;--rose-light:#c4536a;--rose-pale:#f7d6dc;--gold:#c9943a;--gold-light:#e8c46a;--cream:#fdf6ec;--cream-dark:#f2e8d9;--deep:#2a1018}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width>=480px){:root{font-size:18px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--code-bg:#1f2028}}body{width:100%;height:100%;margin:0;position:relative;overflow:hidden auto}@media (width>=769px){body{min-height:100%}}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code{font-family:var(--mono);color:var(--text-h);background:var(--code-bg);border-radius:4px;padding:4px 8px;font-size:15px;line-height:135%}.birthday-container{box-sizing:border-box;justify-content:center;align-items:center;width:100%;min-height:100dvh;padding:5.5rem 0 2rem;display:flex;position:relative;overflow:hidden}@media (width>=769px){.birthday-container{min-height:100vh;padding:5.25rem 1.5rem 2.5rem}}.bg-layer{background:radial-gradient(ellipse at 20% 20%, #c4536a1f 0%, transparent 55%), radial-gradient(ellipse at 80% 80%, #c9943a1a 0%, transparent 55%), radial-gradient(ellipse at 50% 50%, #f7d6dc40 0%, transparent 70%), var(--cream);z-index:0;position:fixed;inset:0}.corner{z-index:1;opacity:.35;width:80px;height:80px;position:fixed}.corner svg{width:100%;height:100%}.tl{top:12px;left:12px}.tr{top:12px;right:12px;transform:scaleX(-1)}.bl{bottom:12px;left:12px;transform:scaleY(-1)}.br{bottom:12px;right:12px;transform:scale(-1)}@media (width>=480px){.corner{width:100px;height:100px}.tl{top:18px;left:18px}.tr{top:18px;right:18px}.bl{bottom:18px;left:18px}.br{bottom:18px;right:18px}}@media (width>=769px){.corner{width:120px;height:120px}.tl{top:24px;left:24px}.tr{top:24px;right:24px}.bl{bottom:24px;left:24px}.br{bottom:24px;right:24px}}.card{z-index:10;text-align:center;-webkit-backdrop-filter:blur(12px);opacity:0;background:#fdf6ecb8;border:1px solid #c9943a4d;width:92vw;max-width:680px;margin:2rem auto;padding:2rem 1.5rem;animation:1.2s cubic-bezier(.22,1,.36,1) forwards cardReveal;position:relative;transform:translateY(30px)scale(.97);box-shadow:0 0 0 1px #c9943a1a,0 32px 80px #7b1a351f,0 8px 24px #7b1a3514}@media (width>=480px){.card{width:90vw;padding:3rem 2.5rem}}@media (width>=769px){.card{margin:0 auto;padding:3.5rem 4rem}}@keyframes cardReveal{to{opacity:1;transform:translateY(0)scale(1)}}.rule{align-items:center;gap:12px;margin-bottom:1.8rem;animation:1s .3s both fadeUp;display:flex}.rule-line{background:linear-gradient(90deg, transparent, var(--gold), transparent);flex:1;height:1px}.rule-diamond{background:var(--gold);flex-shrink:0;width:8px;height:8px;transform:rotate(45deg)}.happy{color:var(--gold);letter-spacing:.04em;margin-bottom:.5rem;font-family:Dancing Script,cursive;font-size:clamp(1.6rem,4vw,2.2rem);animation:1s .5s both fadeUp}.name{color:var(--rose);letter-spacing:-.01em;margin-bottom:.25rem;font-family:Playfair Display,serif;font-size:clamp(3rem,9vw,5.2rem);font-weight:900;line-height:1.05;animation:1s .65s both fadeUp}.floral{color:var(--rose-light);opacity:.7;margin:1rem 0;font-family:Dancing Script,cursive;font-size:1.5rem;animation:1s .8s both fadeUp}.message{color:var(--deep);opacity:.82;max-width:480px;margin-bottom:2rem;margin-left:auto;margin-right:auto;font-family:Cormorant Garamond,serif;font-size:clamp(1.1rem,2.5vw,1.4rem);font-style:italic;line-height:1.7;animation:1s .95s both fadeUp}.gallery-title{color:var(--rose);text-align:center;margin-bottom:1.5rem;font-family:Playfair Display,serif;font-size:1.2rem;font-style:italic;animation:1s 1s both fadeUp}.gallery{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin:1.5rem 0;animation:1s 1.1s both fadeUp;display:grid}.gallery img{aspect-ratio:1;object-fit:cover;border-radius:10px;width:100%;height:100%;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 12px #00000026}.gallery img:hover{transform:translateY(-5px)scale(1.02);box-shadow:0 8px 20px #0003}@media (width>=480px){.gallery{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:2rem 0}.gallery img{border-radius:12px}}.date-badge{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;background:#c9943a14;border:1px solid #c9943a66;align-items:center;gap:8px;margin-bottom:2rem;padding:.45rem 1.2rem;font-family:Playfair Display,serif;font-size:.85rem;animation:1s 1.1s both fadeUp;display:inline-flex}.bottom-rule{animation:1s 1.25s both fadeUp}.from-line{color:var(--rose-light);margin-top:1.4rem;font-family:Dancing Script,cursive;font-size:1.1rem;animation:1s 1.4s both fadeUp}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.sparkles{z-index:3;pointer-events:none;position:fixed;inset:0;overflow:hidden}.sparkle{background:var(--gold-light);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);width:6px;height:6px;animation:twinkle var(--dur) ease-in-out var(--delay) infinite;opacity:0;position:absolute}@keyframes twinkle{0%,to{opacity:0;transform:scale(.5)rotate(0)}50%{opacity:.7;transform:scale(1.2)rotate(180deg)}}.page-nav{z-index:20;-webkit-backdrop-filter:blur(14px);background:#fdf6ecc7;border:1px solid #c9943a47;border-radius:999px;gap:.5rem;padding:.35rem;display:inline-flex;position:fixed;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #7b1a351a}.page-nav button,.video-page-cta{color:var(--rose);font:700 .78rem / 1 var(--sans);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:999px;transition:transform .25s,box-shadow .25s,background .25s,color .25s}.page-nav button{white-space:nowrap;padding:.65rem .95rem}.page-nav button:hover,.page-nav button.active,.video-page-cta{color:var(--cream);background:linear-gradient(135deg, var(--rose), var(--rose-light));box-shadow:0 8px 20px #7b1a352e}.page-nav button:hover,.video-page-cta:hover{transform:translateY(-1px)}.video-page-cta{justify-content:center;align-items:center;margin:0 auto 1.75rem;padding:.85rem 1.25rem;display:inline-flex}.video-page-cta.secondary{background:linear-gradient(135deg, var(--gold), var(--gold-light));color:var(--deep);margin-top:2rem;margin-bottom:.5rem}.video-card{max-width:1040px}.video-name{font-size:clamp(2.5rem,7vw,4.6rem)}.video-intro{max-width:660px}.video-grid{grid-template-columns:1fr;gap:1.25rem;margin:1rem 0 0;animation:1s 1.05s both fadeUp;display:grid}.video-panel{text-align:left;background:#fffaf3ad;border:1px solid #c9943a42;border-radius:18px;padding:.9rem;box-shadow:0 14px 34px #7b1a351a}.video-panel video{aspect-ratio:16/9;background:var(--deep);border-radius:14px;width:100%;display:block;box-shadow:0 10px 28px #2a10182e}.video-panel h2{color:var(--rose);margin-top:1rem;font-family:Playfair Display,serif}.video-panel p{color:var(--deep);opacity:.76}@media (width>=900px){.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){:root{font-size:15px}.birthday-container{align-items:flex-start;padding:1rem .75rem 6rem;overflow:visible}.corner{opacity:.22;width:58px;height:58px}.card{border-radius:22px;width:100%;margin:0 auto;padding:1.5rem 1rem}.rule{margin-bottom:1rem}.name{word-break:normal;font-size:clamp(2.35rem,15vw,3.45rem)}.message{margin-bottom:1.35rem;font-size:1.02rem;line-height:1.55}.date-badge{margin-bottom:1.25rem;padding:.4rem .75rem;font-size:.72rem}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.page-nav{top:auto;bottom:calc(.75rem + env(safe-area-inset-bottom));background:#fdf6eceb;justify-content:center;width:calc(100vw - 1.5rem)}.page-nav button{flex:1;padding:.78rem .45rem;font-size:.68rem}.video-page-cta{box-sizing:border-box;width:100%;padding:.95rem 1rem}.video-grid{gap:1rem}.video-panel{border-radius:16px;padding:.65rem}.video-panel video{border-radius:12px}.video-panel h2{font-size:1.1rem}}@media (width>=561px) and (width<=768px){.birthday-container{align-items:flex-start;padding:5.25rem 1rem 2rem;overflow:visible}.card{width:min(92vw,680px)}.video-card{width:min(92vw,1040px)}}@media (width<=380px){.page-nav button{letter-spacing:.02em;font-size:.62rem}.card{padding:1.25rem .85rem}}
