
:root{color-scheme:dark;--bg:#0c141b;--panel:#121e27;--line:#2b3944;--muted:#a2b3c0;--text:#f0f2eb;--accent:#d8f79a;--orange:#efba83;--blue:#92b9d9;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a:hover{color:var(--accent)}button:hover{filter:brightness(1.12)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.skip{position:absolute;top:-100px;left:20px;z-index:30;background:var(--accent);color:#0c141b;padding:12px}.skip:focus{top:10px}.wrap{max-width:var(--max);margin:auto;padding:0 34px}.masthead{border-bottom:1px solid var(--line);background:var(--bg)}.nav{height:92px;display:flex;align-items:center;gap:36px}.brand{font-size:22px;font-weight:700;letter-spacing:-1px;display:flex;align-items:center;gap:12px;white-space:nowrap}.brandmark{width:27px;height:27px;border:1px solid var(--accent);border-radius:50%;display:inline-block;position:relative}.brandmark:before{content:'';position:absolute;inset:5px;border:1px solid var(--accent);border-radius:50%}.brandmark:after{content:'';position:absolute;top:12px;left:-6px;width:37px;height:1px;background:var(--accent);transform:rotate(-35deg)}nav{display:flex;gap:28px;margin-left:auto;font-size:13px;color:#c3cfd8}.nav-button{background:transparent;border:1px solid var(--line);color:var(--muted);padding:8px 13px;font-size:12px;border-radius:4px}.eyebrow{font-family:monospace;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--accent);font-weight:400}.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:65px;padding-top:66px;padding-bottom:60px;align-items:center}.hero h1{font-size:clamp(52px,5.6vw,78px);line-height:1.01;letter-spacing:-4px;font-weight:500;margin:24px 0}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.hero p{color:var(--muted);max-width:450px;margin:24px 0 30px;font-size:16px}.button{display:inline-flex;gap:20px;align-items:center;border:1px solid var(--accent);background:var(--accent);color:#17221d;font-size:13px;font-weight:700;padding:13px 19px;border-radius:4px}.button:hover{color:#17221d}.button.secondary{background:transparent;color:var(--text);border-color:var(--line)}.hero-links{display:flex;gap:20px;align-items:center}.text-link{font-size:13px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:3px}.hero figure{margin:0;position:relative;height:400px;border:1px solid #45515a;border-radius:100px 4px 4px 4px;overflow:hidden;background:#010307}.hero img{width:100%;height:100%;object-fit:cover;object-position:55% center;filter:brightness(.85)}.hero figure:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.8));pointer-events:none}.hero figcaption{position:absolute;bottom:25px;left:26px;right:20px;z-index:1;font-size:12px;color:#d4dedf}.hero figcaption span{display:block;font-family:monospace;font-size:10px;color:#a1b2ba;margin-top:4px}.photo-tag{position:absolute;top:24px;right:22px;font-size:10px;font-family:monospace;letter-spacing:2px;color:white;background:#09171c99;padding:7px 10px;border:1px solid #a4b4bc66}.strip{display:flex;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;color:var(--muted);font-size:11px;letter-spacing:.9px}.strip b{color:var(--accent);margin-right:9px;font-weight:400}.section{padding-top:66px}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:26px}h2{font-size:34px;letter-spacing:-1.4px;font-weight:500;margin:10px 0 0;line-height:1.2}h3{font-size:20px;line-height:1.3;font-weight:500;margin:0 0 12px}.section-top p{font-size:13px;color:var(--muted);max-width:360px;margin:0}.planner-form{padding:26px;background:var(--panel);border:1px solid var(--line);border-radius:7px 7px 0 0}.form-main{display:grid;grid-template-columns:1.1fr 1fr 1.3fr auto;gap:16px;align-items:end}label{display:block;font-size:11px;color:var(--muted)}input,select{background:#0b151d;color:var(--text);border:1px solid #3b4a56;border-radius:4px;padding:11px 12px;width:100%;margin-top:7px;font-size:13px;min-height:43px}select{padding-right:25px}input[type=range]{padding:0;accent-color:var(--accent);min-height:32px;border:0;background:transparent;margin:0}.coordinate-details{margin-top:18px;font-size:12px;color:var(--muted)}summary{cursor:pointer;width:fit-content}.coordinate-grid{display:grid;grid-template-columns:1fr 1fr 2fr;gap:20px;margin-top:16px;align-items:end}.coordinate-grid p{font-size:11px;margin:0}.form-note{font-size:11px;color:var(--muted);margin:18px 0 0}.error{color:#ffd0c2;font-size:13px;margin:12px 0 0}.error:empty{display:none}.results{border:1px solid var(--line);border-top:0;border-radius:0 0 7px 7px;padding:28px}.result-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.result-title h3{margin:0;font-size:18px}.small{font-size:11px;color:var(--muted)}.pill{font-family:monospace;font-size:10px;color:var(--accent);padding:5px 9px;border:1px solid #456248;border-radius:20px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:25px 0 28px}.metric{border-right:1px solid var(--line);padding:0 20px 0 0}.metric:last-child{border:0}.metric span{display:block;font-size:10px;color:var(--muted);letter-spacing:.7px;text-transform:uppercase}.metric strong{display:block;font-size:29px;font-weight:400;letter-spacing:-1px;margin:4px 0;color:var(--text)}.metric small{color:var(--muted);font-size:10px}.chart-head{display:flex;justify-content:space-between;align-items:center}.chart-head h4{font-size:12px;font-weight:400}.legend{display:flex;gap:15px;color:var(--muted);font-size:10px;flex-wrap:wrap}.legend span:before{content:'';display:inline-block;width:7px;height:7px;margin-right:6px;background:var(--orange);border-radius:50%}.legend span:nth-child(2):before{background:var(--blue)}.legend span:nth-child(3):before{background:var(--accent)}.chart{width:100%;height:auto;display:block;overflow:visible}.chart text{font-family:Arial,sans-serif;fill:var(--muted);font-size:10px}.chart .axis{stroke:#354552;stroke-width:1}.chart .sun-path{stroke:var(--orange)}.chart .moon-path{stroke:var(--blue)}.scrub-row{display:grid;grid-template-columns:150px 1fr;gap:25px;align-items:center;margin-top:5px}.scrub-row label{color:var(--text);font-size:12px}.scrub-row output{display:block;font-family:monospace;color:var(--accent);font-size:13px;margin-top:4px}.chart-note{color:var(--muted);font-size:11px;margin:18px 0 0}.plan-bottom{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;border-top:1px solid var(--line);margin-top:25px;padding-top:25px}.window-card{padding:22px;background:#19291f;border:1px solid #3b533b;border-radius:5px}.window-card .eyebrow{font-size:10px;letter-spacing:1.6px}.window-card h3{margin:12px 0;font-size:23px}.window-card p{font-size:12px;color:#b7c7b8;margin:0}.window-card .text-link{margin-top:18px;display:inline-block;color:var(--accent)}.moon-now{display:flex;align-items:center;gap:22px;padding:8px}.moon-now canvas{width:100px;height:100px;flex-shrink:0}.moon-now h3{font-size:18px;margin:4px 0 10px}.moon-now p{font-size:11px;color:var(--muted);margin:5px 0}.events{margin-top:22px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.event{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px}.event strong{display:block;font-weight:400;font-size:14px;color:var(--text);margin-top:4px}.plan-actions{display:flex;gap:14px;align-items:center;margin-top:25px}.plan-actions .button{font-size:11px;padding:9px 14px}.plan-actions span{font-size:11px;color:var(--muted)}.station-panel{border:1px solid var(--line);border-radius:7px;padding:27px}.station-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center}.station-toolbar select{width:230px}.station-toolbar label{color:var(--text)}.status{color:var(--muted);font-size:12px;margin:20px 0}.pass-list{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.pass{background:var(--panel);border:1px solid var(--line);padding:20px;border-radius:5px}.pass-name{display:flex;align-items:center;justify-content:space-between;gap:10px}.pass-name h4{margin:0;font-size:14px}.pass time{font-size:26px;display:block;font-weight:400;letter-spacing:-.8px;margin:17px 0 3px}.pass p{font-size:11px;color:var(--muted);margin:5px 0}.pass .badge{display:inline-block;color:var(--accent);font-size:9px;border:1px solid #3d5345;padding:3px 6px}.pass-info{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:15px;padding-top:13px;font-size:11px;color:var(--muted)}.pass-info b{display:block;color:var(--text);font-weight:400;font-size:16px}.empty{padding:25px;background:var(--panel);border:1px solid var(--line);grid-column:1/-1;color:var(--muted);font-size:13px}.empty strong{color:var(--text);display:block;font-size:16px;margin-bottom:8px}.station-note{font-size:11px;color:var(--muted);margin-top:20px}.guides{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.guide-card{display:block}.guide-art{height:210px;border:1px solid var(--line);background:#132632;position:relative;overflow:hidden;border-radius:5px;margin-bottom:20px}.guide-art img{width:100%;height:100%;object-fit:cover}.guide-art.moon img{object-fit:contain;background:#000}.guide-card .eyebrow{font-size:9px;letter-spacing:1.8px;color:var(--muted)}.guide-card h3{font-size:22px;margin:10px 0}.guide-card p{font-size:12px;color:var(--muted);margin:0 0 14px}.guide-card .arrow{color:var(--accent);font-size:12px}.guide-art svg{width:100%;height:100%}.checklist-section{margin-top:65px;display:grid;grid-template-columns:1fr 1.2fr;gap:60px;background:#dbe7ce;color:#17231f;padding:43px;border-radius:6px}.checklist-section .eyebrow{color:#466144}.checklist-section h2{font-size:35px;margin:14px 0}.checklist-section p{font-size:13px;color:#4c6054}.checklist{display:grid;gap:12px}.checklist label{display:flex;gap:12px;align-items:flex-start;color:#223c2c;font-size:12px;padding-bottom:13px;border-bottom:1px solid #adbd9e}.checklist label:last-child{border-bottom:0}.checklist input{width:18px;height:18px;min-height:0;margin:1px 0;accent-color:#36503a}.checklist strong{display:block;font-weight:700;margin-bottom:2px}.checklist span{line-height:1.5}.footer{margin-top:65px;padding:35px 0;border-top:1px solid var(--line)}.footer-main{display:flex;justify-content:space-between;gap:35px;align-items:start}.footer .brand{font-size:20px}.footer p{font-size:11px;color:var(--muted);max-width:480px;margin-top:17px}.footer-links{display:flex;gap:24px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.footer-bottom{display:flex;justify-content:space-between;margin-top:25px;padding-top:20px;border-top:1px solid var(--line);font-size:10px;color:#8495a4}.article-head{max-width:850px;padding:70px 0 40px}.article-head h1{font-size:clamp(38px,5vw,64px);letter-spacing:-2.4px;line-height:1.08;font-weight:400;margin:24px 0}.article-head .lead{font-size:18px;color:var(--muted);max-width:720px}.article-layout{display:grid;grid-template-columns:200px minmax(0,760px);gap:50px}.article-toc{align-self:start;position:sticky;top:30px;font-size:12px}.article-toc a{display:block;color:var(--muted);border-top:1px solid var(--line);padding:13px 0}.article-body h2{font-size:28px;margin:36px 0 18px;scroll-margin-top:30px}.article-body p,.article-body li{color:#b6c4ce;font-size:15px;line-height:1.85}.article-body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.article-body figure{margin:0 0 30px}.article-body figure img{width:100%;max-height:420px;object-fit:contain;background:#000;border:1px solid var(--line)}.article-body figcaption{font-size:11px;color:var(--muted);padding-top:10px}.callout{padding:20px 25px;border-left:2px solid var(--accent);background:var(--panel);margin:28px 0}.callout p{font-size:13px;margin:0}.sources{border-top:1px solid var(--line);padding-top:20px;margin-top:35px}.sources p,.sources li{font-size:12px}.night{--accent:#ffaf91;--orange:#e9977b;--blue:#bb796b;--text:#e5b6a7;--muted:#bb8a7b;--bg:#150c0c;--panel:#201211;--line:#4a2925}.night img{filter:sepia(1) brightness(.35)}.night .checklist-section{background:#3a211a;color:var(--text)}.night .checklist-section :is(label,p,h2,.eyebrow){color:var(--text)}.night canvas{filter:sepia(1) brightness(.6)}@media(min-width:1500px){.hero{padding-top:80px}}@media(max-width:900px){.nav{gap:20px}nav{gap:18px}.hero{gap:30px}.hero h1{font-size:60px}.hero figure{height:370px}.hero-links{gap:12px}.form-main{grid-template-columns:1fr 1fr}.form-main .button{justify-content:center;min-height:44px}.coordinate-grid{grid-template-columns:1fr 1fr}.coordinate-grid p{grid-column:1/-1}.pass-list{grid-template-columns:repeat(2,1fr)}.guide-art{height:180px}.checklist-section{gap:30px;padding:30px}.article-layout{grid-template-columns:160px minmax(0,1fr);gap:30px}}@media(max-width:650px){.wrap{padding:0 20px}.nav{height:auto;padding-top:22px;padding-bottom:20px;flex-wrap:wrap;gap:18px}.brand{font-size:20px}.nav-button{margin-left:auto}nav{order:3;width:100%;margin:0;justify-content:space-between;font-size:12px;gap:12px}.hero{grid-template-columns:1fr;padding-top:38px;padding-bottom:30px;gap:32px}.hero h1{font-size:62px;letter-spacing:-3.5px}.hero p{font-size:15px;max-width:330px;margin:20px 0 25px}.hero figure{height:290px;border-radius:75px 4px 4px 4px}.strip{gap:10px;flex-wrap:wrap;font-size:9px;padding:15px 0}.strip span:last-child{display:none}.section{padding-top:44px}.section-top{display:block;margin-bottom:20px}.section-top h2{font-size:30px}.section-top p{font-size:12px;margin-top:13px}.planner-form{padding:20px 16px}.form-main{gap:14px 12px}input,select{font-size:13px;padding:10px 8px}.form-main label:nth-child(3){grid-column:1/-1}.form-main .button{grid-column:1/-1}.coordinate-grid{gap:12px}.results{padding:20px 15px}.result-title{align-items:start;gap:10px}.result-title h3{font-size:16px}.pill{font-size:8px;white-space:nowrap}.metrics{grid-template-columns:repeat(2,1fr);gap:20px}.metric:nth-child(2){border:0}.metric strong{font-size:27px}.chart-head{display:block}.chart-head h4{margin-bottom:8px}.legend{gap:12px;margin-bottom:16px}.chart text{font-size:15px}.chart-note{font-size:10px}.scrub-row{grid-template-columns:115px 1fr;gap:15px}.plan-bottom{grid-template-columns:1fr;gap:20px}.window-card{padding:18px}.moon-now{padding:0}.moon-now canvas{width:82px;height:82px}.events{grid-template-columns:repeat(2,1fr)}.plan-actions{flex-wrap:wrap}.plan-actions span{width:100%}.station-panel{padding:20px 16px}.station-toolbar{display:block}.station-toolbar select{width:100%;margin-top:10px}.station-toolbar .small{margin-top:14px;display:block}.pass-list{grid-template-columns:1fr}.guides{grid-template-columns:1fr;gap:32px}.guide-art{height:215px;margin-bottom:15px}.guide-card h3{font-size:23px}.guide-card p{max-width:350px}.checklist-section{margin-top:44px;grid-template-columns:1fr;gap:22px;padding:25px}.checklist-section h2{font-size:31px}.checklist-section p{margin-bottom:0}.footer{margin-top:44px}.footer-main{display:block}.footer-links{margin-top:25px;gap:20px}.footer-bottom{display:block;line-height:1.8}.article-head{padding:40px 0 25px}.article-head h1{font-size:44px}.article-head .lead{font-size:16px}.article-layout{display:block}.article-toc{position:static;display:flex;gap:15px;flex-wrap:wrap;margin-bottom:20px}.article-toc a{border:0;padding:4px 0}.article-body p,.article-body li{font-size:14px}.article-body h2{font-size:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.masthead,.hero,.strip,.planner-form,.section-top,.section:not(#planner),.checklist-section,.footer,.plan-actions,.scrub-row,.station-panel{display:none!important}body{background:white;color:black}.wrap{padding:0}.section{padding:0}.results{border:0;padding:0}.results *{color:black!important}.chart{max-height:200px}.window-card{background:#eee;border-color:#ccc}.pill{display:none}.metric span,.metric small,.chart-note{color:#333!important}}
