@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400&family=Inter:wght@300;400;500;600&family=Manrope:wght@300;400;500&display=swap');
:root{color-scheme:dark;--bg:#05070b;--ink:#eef2f5;--muted:#89919c;--line:rgba(214,226,238,.13);--soft:#0b1017;--blue:#a9c0d5;font-family:Inter,system-ui,sans-serif;font-synthesis:none;background:var(--bg);color:var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 50% 12%,#101722 0,#070a10 33rem,#05070b 75rem);min-width:320px;overflow-x:hidden}button,input{font:inherit}button{color:inherit}#stars{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;opacity:.7;z-index:-1}header{position:absolute;z-index:5;top:0;left:0;width:100%;padding:30px clamp(22px,4vw,70px);display:flex;align-items:center;justify-content:space-between}.brand{font-size:20px;letter-spacing:-.04em;color:#fff;text-decoration:none;font-weight:500;display:flex;align-items:baseline}.brand span{color:#8da7be}.brand small{font-size:9px;letter-spacing:.17em;color:#7e8792;margin-left:6px;text-transform:uppercase}.head-actions{display:flex;align-items:center;gap:18px}.quiet{border:0;background:none;color:#8f98a4;font-size:12px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.location-button{border:1px solid var(--line);background:rgba(9,13,19,.55);backdrop-filter:blur(12px);padding:11px 15px;border-radius:50px;color:#cbd2da;font-size:12px;cursor:pointer}.pin{color:#91a9be;margin-right:6px}.hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px 20px 32px;position:relative}.eyebrow{font:400 10px/1.4 DM Mono,monospace;letter-spacing:.24em;color:#778390;margin:0 0 20px;text-transform:uppercase}.hero>.eyebrow{position:absolute;top:98px}.moon-wrap{position:relative;width:min(51vh,560px);aspect-ratio:1;margin-top:-5vh}.moon-canvas{position:relative;width:100%;height:100%;z-index:2;filter:drop-shadow(0 0 3px rgba(231,239,246,.23));animation:moon-in 2.4s cubic-bezier(.2,.7,.2,1) both}.moon-glow{position:absolute;width:82%;height:82%;left:9%;top:9%;border-radius:50%;background:rgba(177,203,225,.1);filter:blur(55px);z-index:1}.hero-copy{margin-top:-3vh;position:relative;z-index:3}.hero h1{font:300 clamp(48px,7vw,82px)/.95 Manrope,sans-serif;letter-spacing:-.06em;margin:0}.unit{font:10px DM Mono,monospace;letter-spacing:.25em;color:#727c88;margin:12px 0 21px}.hero h2{font:300 clamp(19px,2vw,27px) Manrope,sans-serif;margin:0 0 7px}.hero-copy>p:not(.unit){color:#78828d;font-size:13px;margin:0}.scroll-cue{border:0;background:none;color:#77818c;margin-top:28px;font-size:11px;letter-spacing:.08em;cursor:pointer}.scroll-cue span{display:block;margin-top:7px}.section{width:min(1320px,calc(100% - 48px));margin:0 auto;border-top:1px solid var(--line);padding:clamp(90px,11vw,160px) clamp(0px,4vw,55px)}.section h2{font:300 clamp(30px,4vw,53px)/1.12 Manrope,sans-serif;letter-spacing:-.045em;margin:0}.section p{color:var(--muted);line-height:1.7}.overview .section-intro{max-width:600px}.primary-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:90px}.primary-stats article{border-left:1px solid var(--line);padding-left:25px;display:flex;flex-direction:column}.primary-stats span,.inline-data span,.sun-times span,.window span,.apsis-data span{font:10px DM Mono,monospace;letter-spacing:.17em;color:#78838f}.primary-stats strong{font:300 clamp(26px,3vw,43px) Manrope,sans-serif;margin:18px 0 8px;letter-spacing:-.04em}.primary-stats small,.apsis-data small{color:#68727d;font-size:11px}.position-section{display:grid;grid-template-columns:.75fr 1.25fr;align-items:center;gap:7vw}.position-copy>p{margin-top:20px}.inline-data{display:flex;gap:52px;margin-top:42px}.inline-data div{display:flex;flex-direction:column;gap:10px}.inline-data b{font:300 19px DM Mono,monospace}.horizon-viz{height:340px;position:relative;overflow:hidden}.arc{position:absolute;border:1px solid rgba(176,196,213,.13);border-bottom:0;border-radius:50% 50% 0 0;width:90%;height:280px;bottom:43px;left:5%}.horizon-line{position:absolute;bottom:42px;left:0;width:100%;border-top:1px solid rgba(197,214,229,.38);display:flex;justify-content:space-between;padding-top:12px;font:9px DM Mono,monospace;color:#687681}.position-moon{width:46px;height:46px;border-radius:50%;position:absolute;background:radial-gradient(circle at 35% 35%,#f3f5ee,#959996);box-shadow:0 0 30px rgba(210,224,234,.34);left:50%;bottom:55%;transition:1s ease}.alt-line{position:absolute;border-left:1px dashed rgba(176,196,213,.2);left:calc(50% + 22px);bottom:43px;height:42%;transition:1s ease}.tonight{display:grid;grid-template-columns:1.1fr .8fr 1fr;gap:6vw;align-items:center}.muted{font-size:12px;max-width:460px}.window{display:flex;flex-direction:column}.window strong{font:300 clamp(24px,3vw,35px) DM Mono,monospace;margin:17px 0 12px;white-space:nowrap}.window small{color:#64707b;font-size:10px}.sun-times{display:flex;align-items:center;gap:15px}.sun-times div:not(.night-line){display:flex;flex-direction:column;gap:12px}.sun-times b{font:300 18px DM Mono,monospace}.night-line{height:1px;background:#27313c;flex:1;position:relative}.night-line i{position:absolute;width:6px;height:6px;border-radius:50%;background:#b8cbd9;box-shadow:0 0 8px #b8cbd9;left:60%;top:-3px}.events-hero{display:grid;grid-template-columns:1fr 1fr;padding-left:0;padding-right:0}.event-feature{min-height:430px;display:flex;align-items:center;gap:clamp(28px,5vw,75px);padding:60px clamp(25px,5vw,70px);background:radial-gradient(circle at 20% 50%,rgba(151,171,186,.12),transparent 40%)}.event-feature.dark{border-left:1px solid var(--line);background:radial-gradient(circle at 22% 50%,rgba(78,92,107,.08),transparent 40%)}.mini-moon{width:clamp(105px,13vw,175px);aspect-ratio:1;border-radius:50%;flex:0 0 auto}.mini-moon.full{background:url('/assets/moon.jpg') center/200% 100%;box-shadow:inset -15px -8px 22px rgba(0,0,0,.23),0 0 38px rgba(192,209,220,.15)}.mini-moon.new{background:#080b0f;box-shadow:inset 4px 0 10px rgba(146,173,194,.12),0 0 20px rgba(125,151,171,.05)}.event-feature h2{font-size:clamp(25px,3vw,40px)}.event-feature>div>p:not(.eyebrow){font-size:12px}.countdown{font:300 12px DM Mono,monospace;color:#aab4bd;margin-top:25px;letter-spacing:.08em}.calendar-section{max-width:1150px}.calendar-head{display:flex;justify-content:space-between;align-items:end}.calendar-head button{width:45px;height:45px;border:1px solid var(--line);background:transparent;border-radius:50%;cursor:pointer;margin-left:8px}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr)}.weekdays{margin:70px 0 14px}.weekdays span{text-align:center;font:9px DM Mono,monospace;color:#59636e;letter-spacing:.15em}.day{aspect-ratio:1;min-height:100px;border:0;border-top:1px solid rgba(205,218,229,.08);background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#9da6ae;cursor:pointer;position:relative}.day:hover{background:rgba(255,255,255,.025)}.day.today:after,.day.selected:after{content:"";position:absolute;inset:7px;border:1px solid rgba(182,205,222,.24);border-radius:50%}.day.today{color:#fff}.day.blank{pointer-events:none}.day-moon{width:34px;height:34px;border-radius:50%;background:#bac2c5;box-shadow:inset var(--shadow-x,0) 0 0 var(--shadow-size,0) #070a0e}.day>span:last-child{font:10px DM Mono,monospace}.calendar-hint{text-align:center;font-size:11px}.apsis{display:grid;grid-template-columns:1fr .8fr 1fr;align-items:center;gap:5vw}.orbit{height:250px;position:relative}.orbit-line{position:absolute;inset:25px 5px;border:1px solid rgba(173,194,210,.18);border-radius:50%}.earth{position:absolute;width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#a8bdca,#253543 70%);left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 25px rgba(110,150,175,.2)}.orbit-moon{position:absolute;width:20px;height:20px;border-radius:50%;background:#c1c5c3;right:3%;top:27%;box-shadow:0 0 10px rgba(255,255,255,.15)}.apsis-data{display:flex;flex-direction:column;gap:25px}.apsis-data>div{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px}.apsis-data b{font:300 15px DM Mono,monospace}.apsis-data small{grid-column:2;margin-top:5px}.travel{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:10vw}.travel form label{display:block;font:9px DM Mono,monospace;letter-spacing:.18em;color:#68737e;margin-bottom:12px}.travel form>div,.birthday form{display:flex}.travel input,.birthday input,dialog input{border:1px solid var(--line);background:#080b10;color:#d8dde2;padding:17px;width:100%;color-scheme:dark}.travel button,.birthday button,.dialog-card>button:not(.close),.geo-button{border:1px solid #b9c4cc;background:#cbd4da;color:#0a0d11;padding:0 25px;white-space:nowrap;cursor:pointer}.birthday{display:grid;grid-template-columns:.85fr 1fr;align-items:center;gap:10vw}.birthday-moon canvas{width:min(100%,420px);aspect-ratio:1}.birthday p{max-width:560px}.birthday form{margin-top:32px;max-width:480px}.birthday-result{margin-top:25px;font:300 14px DM Mono,monospace;line-height:1.9;color:#aeb8c0}.text-button{padding:12px 0!important;border:0!important;border-bottom:1px solid #778794!important;background:none!important;color:#aab8c2!important;margin-top:12px}footer{min-height:230px;border-top:1px solid var(--line);margin:0 clamp(24px,4vw,70px);display:flex;align-items:center;justify-content:space-between;color:#626d77;font-size:10px;line-height:1.6}footer a:last-child{color:#82909b;text-decoration:none}dialog{border:1px solid var(--line);padding:0;background:#090d13;color:var(--ink);width:min(520px,calc(100% - 30px));box-shadow:0 30px 100px #000}dialog::backdrop{background:rgba(1,3,6,.8);backdrop-filter:blur(8px)}.dialog-card{padding:45px;position:relative}.dialog-card h2{font:300 30px Manrope;margin:0}.dialog-card p{color:#89939c;font-size:12px;line-height:1.6}.close{position:absolute;right:20px;top:15px;border:0;background:none;color:#929da5;font-size:24px}.geo-button{width:100%;height:52px;margin:22px 0}.divider{text-align:center;font:9px DM Mono;color:#5e6973;letter-spacing:.13em;margin:5px 0 20px}.dialog-card label{font:9px DM Mono;color:#6d7882;letter-spacing:.15em}.dialog-card label input{display:block;margin-top:8px}.coord-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.dialog-card #saveLocation{height:50px;width:100%}.dialog-card small{display:block;color:#84909a;margin-top:15px}@keyframes moon-in{from{opacity:0;transform:scale(.94);filter:blur(8px)}to{opacity:1;transform:none}}@media(max-width:800px){header{padding:22px}.quiet{display:none}.brand small{display:none}.hero{padding-top:80px}.hero>.eyebrow{top:86px}.moon-wrap{width:min(92vw,51vh);margin-top:-2vh}.hero-copy{margin-top:-1vh}.section{width:calc(100% - 36px);padding:85px 4px}.primary-stats{grid-template-columns:1fr 1fr;gap:45px 0;margin-top:60px}.primary-stats article:nth-child(odd){border-left:0}.position-section,.tonight,.apsis,.travel,.birthday{grid-template-columns:1fr;gap:55px}.horizon-viz{height:280px}.events-hero{grid-template-columns:1fr}.event-feature{min-height:330px;padding:45px 20px}.event-feature.dark{border-left:0;border-top:1px solid var(--line)}.weekdays{margin-top:50px}.day{min-height:65px;aspect-ratio:auto;padding:10px 0}.day-moon{width:24px;height:24px}.day.today:after,.day.selected:after{inset:3px;border-radius:4px}.apsis .orbit{order:3}.calendar-section{width:100%;padding-left:15px;padding-right:15px}.calendar-head{padding:0 8px}.travel form>div,.birthday form{flex-direction:column}.travel button,.birthday button{height:52px}.birthday-moon{text-align:center}.head-actions{gap:4px}footer{padding:60px 0;align-items:flex-start;gap:30px;flex-direction:column}.dialog-card{padding:38px 24px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
