@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500&display=swap";@import "https://fonts.googleapis.com/css2?family=Ballet&display=swap";.countdown-universe,.blackout-universe{background:#000;width:100%;height:100%;position:fixed;inset:0;overflow:hidden}.countdown-scene{isolation:isolate;background:#03040a;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.countdown-starfield,.countdown-vignette{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.countdown-content{text-align:center;width:min(900px,100%);padding:32px 24px;animation:1.8s ease-out both countdown-arrive}.countdown-eyebrow,.countdown-date{color:#cdd6ef91;letter-spacing:clamp(3px,.7vw,7px);font-size:9px;font-weight:400}.countdown-eyebrow{margin:0 0 28px}.countdown-clock{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:clamp(18px,5vw,64px);display:flex}.countdown-unit{gap:11px;min-width:clamp(50px,8vw,90px);display:grid}.countdown-value{color:#f1eff8;text-shadow:0 0 24px #b1c6ff33;font-family:Georgia,Times New Roman,serif;font-size:clamp(34px,7vw,68px);font-weight:400;line-height:1}.countdown-label{color:#c3cadf7a;letter-spacing:2px;text-transform:uppercase;font-size:8px}.countdown-date{letter-spacing:4px;margin:40px 0 0;font-size:8px}.countdown-date span{color:#d8c2e7b8;padding:0 8px}.blackout-universe{background:#000}.portrait-universe{isolation:isolate}.particle-portrait,.particle-portrait canvas{width:100%;height:100%;position:absolute;inset:0}.particle-portrait{background:#000;overflow:hidden}.particle-portrait canvas{pointer-events:none;display:block}.dev-preview-controls{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#05080fc7;border:1px solid #dae3f433;border-radius:10px;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:min(440px,100vw - 28px);padding:7px;display:flex;position:fixed;top:14px;right:14px;box-shadow:0 5px 24px #00000052}.dev-preview-controls button{color:#ebf0fadb;letter-spacing:.02em;cursor:pointer;background:#dae3f412;border:1px solid #dae3f433;border-radius:6px;padding:7px 10px;font-family:DM Sans,sans-serif;font-size:11px}.dev-preview-controls button:hover{background:#dae3f426}.dev-preview-controls button:focus-visible{outline-offset:2px;outline:2px solid #dae3f4cc}@keyframes countdown-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=520px){.countdown-eyebrow{margin-bottom:22px}.countdown-clock{gap:12px}.countdown-unit{min-width:48px}.countdown-label{letter-spacing:1px;font-size:7px}.countdown-date{letter-spacing:2px;margin-top:34px}}@media (prefers-reduced-motion:reduce){.countdown-content{animation:none}}:root{color:#f1f0f4;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#020204;font-family:DM Sans,sans-serif}html{scroll-behavior:smooth;scrollbar-color:#41434a #020204;background:#020204}body{background:#020204;min-width:320px;margin:0;overflow-x:hidden}button,a{font:inherit}.universe{background:#020204;width:100%;overflow:clip}.chapter-label{color:#dce0ee87;letter-spacing:7px;text-transform:uppercase;margin-bottom:30px;font-size:9px;font-weight:500;display:block}.story-chapter h2,.tide-heading h2,.heart-content h2,.finale-content h2{letter-spacing:-2.5px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,6vw,78px);font-weight:400;line-height:1.12}.story-chapter p,.heart-content p,.finale-content p{color:#dce0ee8c;letter-spacing:2px;margin-top:26px;font-size:12px;line-height:2}.opening-section{background:radial-gradient(at 50% 46%,#090c13 0%,#020204 65%);justify-content:center;align-items:center;height:100svh;min-height:620px;display:flex;position:relative;overflow:hidden}.opening-stars{opacity:.6;background-image:radial-gradient(1px 1px at 10% 20%,#fff 80%,#0000),radial-gradient(1px 1px at 40% 60%,#fff 80%,#0000),radial-gradient(1px 1px at 75% 30%,#fff 80%,#0000),radial-gradient(1px 1px at 90% 80%,#fff 80%,#0000),radial-gradient(1px 1px at 20% 90%,#fff 80%,#0000),radial-gradient(1px 1px at 65% 75%,#fff 80%,#0000);background-size:250px 220px;animation:45s linear infinite star-drift;position:absolute;inset:0}.opening-content{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex}.opening-eyebrow{color:#e4e7f1a3;letter-spacing:8px;margin-bottom:40px;font-size:10px}.anchor-symbol{stroke:#e6e5f0c7;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 10px #c5d7f233);width:min(250px,48vw);height:auto;animation:5s ease-in-out infinite anchor-float;overflow:visible}.opening-instruction{color:#dde1ee80;letter-spacing:4px;margin-top:48px;font-size:9px;font-weight:500}.opening-arrow{color:#f0f0ffbf;margin-top:8px;font-size:24px;animation:2s ease-in-out infinite arrow-float}.story-chapter{text-align:center;background:radial-gradient(#131d3040,#0000 65%),#020204;justify-content:center;align-items:center;min-height:100svh;padding:50px 24px;display:flex;position:relative;overflow:hidden}.story-chapter:before{content:"";opacity:.35;pointer-events:none;background-image:radial-gradient(1px 1px,#dce7facc,#0000);background-size:115px 105px;position:absolute;inset:0}.chapter-content{z-index:1;max-width:1000px}.story-chapter h2{color:#eeedf4}.story-chapter p{max-width:540px;margin-left:auto;margin-right:auto}.chapter-three{background:radial-gradient(at 50% 70%,#20314930,#0000 60%),#020204}.night-tide-section{background:#02050a;height:230svh;min-height:1500px;position:relative}.tide-sticky{isolation:isolate;background:#02050a;height:100svh;min-height:600px;position:sticky;top:0;overflow:hidden}.tide-canvas{z-index:0;width:100%;height:100%;display:block;position:absolute;inset:0}.tide-heading{z-index:2;text-align:center;pointer-events:none;padding:0 20px;position:absolute;top:13%;left:0;right:0}.tide-heading .chapter-label{margin-bottom:25px}.tide-heading h2{color:#eff3fa;text-shadow:0 2px 30px #0006}.tide-subtitle{color:#c9dcf68c;letter-spacing:8px;margin-top:25px;font-size:9px}.tide-caption{text-align:center;pointer-events:none;position:absolute;bottom:17%;left:0;right:0}.tide-caption p{color:#dae7f9a8;letter-spacing:1px;font-family:Georgia,serif;font-size:clamp(15px,2vw,20px);font-style:italic}.tide-scroll{text-align:center;color:#d3e1f366;letter-spacing:4px;font-size:8px;font-weight:500;position:absolute;bottom:5%;left:0;right:0}.tide-scroll span{color:#e6eefbcc;margin-top:12px;font-size:20px;animation:2s ease-in-out infinite arrow-float;display:block}.heart-section{text-align:center;background:radial-gradient(#6940681f,#0000 65%),#030207;justify-content:center;align-items:center;min-height:110svh;padding:80px 24px;display:flex}.heart-content{flex-direction:column;align-items:center;max-width:850px;display:flex}.universe-heart{filter:drop-shadow(0 0 18px #e3b1d84d);width:clamp(120px,24vw,220px);margin:10px 0 40px;animation:4s ease-in-out infinite heart-pulse;overflow:visible}.heart-content h2{color:#f4eaf3}.finale-section{text-align:center;background:radial-gradient(#71518129,#0000 65%),#020204;justify-content:center;align-items:center;min-height:110svh;padding:100px 25px;display:flex;position:relative}.finale-content{max-width:850px}.finale-content h2{color:#f5eaf4;letter-spacing:-5px;text-shadow:0 0 45px #d8b4dd29;font-size:clamp(65px,11vw,135px)}.finale-line{background:#e2c4e48c;width:50px;height:1px;margin:45px auto}.finale-content p{color:#efdeefb8;letter-spacing:.5px;max-width:470px;margin:0 auto;font-family:Georgia,serif;font-size:17px}.finale-signature{color:#e2c9e473;letter-spacing:5px;margin-top:85px;font-size:8px;display:block}@keyframes anchor-float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes arrow-float{0%,to{opacity:.55;transform:translateY(0)}50%{opacity:1;transform:translateY(9px)}}@keyframes star-drift{0%{transform:translateY(0)}to{transform:translateY(-220px)}}@keyframes heart-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@media (width<=768px){.chapter-label{letter-spacing:5px;font-size:8px}.story-chapter h2,.tide-heading h2,.heart-content h2{letter-spacing:-1.5px}.opening-eyebrow{letter-spacing:5px}.tide-heading{top:17%}.tide-subtitle{letter-spacing:5px}.night-tide-section{min-height:1200px}.finale-content h2{letter-spacing:-3px}.finale-signature{letter-spacing:3px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.tide-sticky{isolation:isolate}.tide-heading,.tide-caption,.tide-scroll{z-index:2;pointer-events:none}.countdown-scene{background:#03050c}.countdown-nebula{z-index:-2;pointer-events:none;opacity:.8;filter:blur(46px);background:radial-gradient(28% 17% at 19% 22%,#768cb818,#0000 78%),radial-gradient(25% 16% at 82% 26%,#a4b0c712,#0000 80%),radial-gradient(20% 15% at 12% 78%,#6d83ac11,#0000 80%),radial-gradient(25% 14% at 88% 82%,#b9bbb50b,#0000 82%);position:absolute;inset:-12%}.countdown-nebula:before,.countdown-nebula:after{content:"";filter:blur(38px);opacity:.62;border-radius:50%;width:36vw;max-width:620px;height:36vw;max-height:620px;position:absolute}.countdown-nebula:before{background:radial-gradient(circle,#b8c7e113,#718fc509 35%,#0000 72%);top:3%;left:1%}.countdown-nebula:after{background:radial-gradient(circle,#c3c5bf0f,#859cc108 38%,#0000 74%);width:31vw;height:31vw;bottom:1%;right:0}.countdown-starfield{z-index:-1}.countdown-vignette{z-index:0;background:radial-gradient(at 50% 48%,#03050c05 0%,#03050c17 52%,#000000ad 100%),linear-gradient(90deg,#0000002e,#0000 28% 72%,#0000002e)}.countdown-content{z-index:1;width:min(1100px,100%);position:relative}.countdown-heading{color:#dee6f5c7;letter-spacing:.35px;text-shadow:0 0 7px #dce6f630;white-space:nowrap;max-width:100%;margin:0 auto clamp(28px,3.2vh,36px);font-family:Ballet,Snell Roundhand,Segoe Script,cursive;font-size:clamp(34px,3vw,42px);font-weight:400;line-height:1.45;animation:4.2s cubic-bezier(.22,.61,.36,1) .25s both countdown-heading-arrive;display:block}.countdown-clock{gap:clamp(16px,4.2vw,58px);width:max-content;max-width:100%;margin-left:auto;margin-right:auto}.countdown-unit{gap:13px;min-width:0}.countdown-digits{filter:drop-shadow(0 0 3px #eff4fc4d)drop-shadow(0 0 10px #c7d7f22b);justify-content:center;align-items:center;gap:clamp(1px,.45vw,6px);height:clamp(48px,6.2vw,76px);display:flex}.constellation-digit{flex:none;width:clamp(25px,3.5vw,45px);height:100%;display:block;overflow:visible}.constellation-links polyline{fill:none;stroke:#dee6f5b3;stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px #e0eafb6b)}.constellation-node{opacity:.82;animation:constellation-twinkle var(--twinkle-duration) ease-in-out var(--twinkle-delay) infinite}.constellation-star{fill:#f3f6fc}.constellation-node.is-bright .constellation-star{fill:#fff;filter:drop-shadow(0 0 2.5px #ebf3fff5)drop-shadow(0 0 6px #c4dbff6b)}.constellation-halo{fill:#d1e1ff4a;filter:blur(3.5px)}.countdown-label{color:#d7deed94;letter-spacing:clamp(1.3px,.2vw,2.4px);font-family:DM Sans,sans-serif;font-size:8px;font-weight:400}.countdown-date{color:#e8ecf5d1;letter-spacing:4px;text-shadow:0 0 8px #e5ecf838,0 0 18px #becfec1f;font-size:9.5px}.countdown-date span{color:#e4ebf8b8}@keyframes constellation-twinkle{0%,to{opacity:.48}42%{opacity:.92}54%{opacity:.62}67%{opacity:1}}@keyframes countdown-heading-arrive{0%{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}@media (width>=601px) and (width<=760px){.countdown-heading{letter-spacing:.1px;font-size:clamp(26px,4.2vw,32px)}}@media (width<=600px){.countdown-content{padding:28px 16px}.countdown-clock{gap:clamp(7px,2.3vw,15px)}.countdown-heading{letter-spacing:.1px;margin-bottom:24px;font-size:clamp(16px,5vw,28px)}.countdown-digits{gap:1px;height:48px}.constellation-digit{width:clamp(23px,7vw,28px)}.countdown-unit{gap:10px}.countdown-label{letter-spacing:1px;font-size:7px}.countdown-date{letter-spacing:2.5px;margin-top:34px}}@media (prefers-reduced-motion:reduce){.constellation-node,.countdown-heading{animation:none}}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0;padding:0}html{scroll-behavior:smooth}body{overflow-x:hidden}#root{min-height:100vh}
