:root{font-family:DM Sans,system-ui,-apple-system,sans-serif;color:#e9edf5;background:#090e1a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer}a{color:inherit}.app-shell{position:relative;overflow:hidden;min-height:100vh;background:radial-gradient(ellipse at 52% -3%,#1c2848 0,#10192b 25%,#090e1a 55%)}.sky-glow{pointer-events:none;position:absolute;top:26px;left:50%;width:950px;height:500px;transform:translate(-50%);opacity:.38;background:radial-gradient(ellipse,#47588a 0,transparent 65%);filter:blur(85px)}.container{position:relative;width:min(1120px,calc(100% - 48px));margin-inline:auto}.site-header{display:flex;justify-content:space-between;align-items:center;padding:32px 0 24px;border-bottom:1px solid rgba(194,211,247,.11)}.brand{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;text-decoration:none;font-family:Manrope,sans-serif;font-size:15px;font-weight:800;letter-spacing:.2em}.brand-icon{display:block;flex:none;width:26px;height:26px;color:#c6d8ff}.header-tag{color:#8e9ab0;font-size:12px;letter-spacing:.05em}.intro{min-height:240px;padding:53px 0 32px;display:flex;align-items:center;justify-content:space-between}.intro-copy{position:relative;z-index:1}.eyebrow{margin:0;color:#9cb4df;font-size:11px;font-weight:800;letter-spacing:.18em}.tiny-star{font-size:16px;vertical-align:-1px;margin-right:7px}.intro h1{font-family:Manrope,sans-serif;font-weight:700;font-size:clamp(35px,5.2vw,60px);line-height:1.13;letter-spacing:-.055em;margin:16px 0 15px}.intro h1 em{font-style:normal;color:#b5c9f4}.intro-text{color:#aab6c9;font-size:16px;line-height:1.6;margin:0}.intro-ornament{position:relative;width:210px;height:115px;margin-right:55px;color:#aabce8}.intro-ornament span{position:absolute}.intro-ornament span:first-child{top:10px;left:15px;font-size:25px}.intro-ornament span:nth-child(2){top:60px;right:5px;font-size:34px}.intro-ornament span:last-child{right:65px;bottom:0;font-size:17px}.location-tools{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap;margin-bottom:22px}.search-wrap{position:relative;flex:1 1 460px;min-width:0}.search-wrap input{width:100%;height:54px;border:1px solid #33405c;background:#141e31;color:#f1f4fb;border-radius:12px;padding:0 20px 0 49px;outline:none}.search-wrap input::placeholder{color:#8190a8}.search-wrap input:focus{border-color:#9db9ef;box-shadow:0 0 0 3px #8aaef529}.search-icon{position:absolute;left:17px;top:10px;font-size:31px;line-height:1;color:#afc4e8;pointer-events:none}.gps-button{height:54px;border:1px solid #40506e;background:#202e47;color:#e9f0ff;border-radius:12px;padding:0 21px;font-weight:700;white-space:nowrap}.gps-button:hover{background:#2b3b59}.gps-button:disabled{opacity:.65}.gps-button span{font-size:21px;margin-right:7px;vertical-align:-1px}.search-results{position:absolute;z-index:20;top:60px;left:0;right:0;max-height:360px;overflow:auto;border:1px solid #425373;border-radius:12px;background:#172338;box-shadow:0 22px 44px #030711a8;padding:6px}.search-result{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 14px;border:0;border-radius:8px;background:transparent;color:#f0f3f9}.search-result small{color:#9eacc5}.search-result span,.search-result small{min-width:0;overflow-wrap:anywhere}.search-result:hover,.search-result.active{background:#293954}.search-message{color:#b1bed2;padding:14px}.location-error,.location-hint{width:100%;margin:0;color:#f4b6b6;font-size:13px}.location-hint{color:#9cacc4}.preview-banner{padding:13px 17px;border:1px solid #4a4561;border-radius:11px;background:#27253780;color:#c8c5d7;font-size:12px;line-height:1.5;margin-bottom:21px}.preview-banner strong{color:#f2d6b7}.preview-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#edc493;margin-right:7px;vertical-align:1px}.summary-card{border:1px solid #576683;background:linear-gradient(145deg,#253450,#1d2b45 38%,#172338);border-radius:22px;padding:30px 36px 0;box-shadow:0 28px 80px #03060e5e;overflow:hidden}.summary-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.summary-top h2{font-family:Manrope,sans-serif;font-size:26px;line-height:1.2;letter-spacing:-.035em;margin:8px 0 3px}.subdued{color:#aab8d0;margin:0;font-size:13px}.summary-date{font-size:10px;font-weight:800;letter-spacing:.15em;color:#a3b6d8;white-space:nowrap}.summary-date span{margin-left:10px;font-size:15px}.summary-main{display:flex;align-items:center;gap:42px;padding:34px 0 37px}.score-ring{width:198px;height:198px;flex:none;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;background:radial-gradient(circle at center,#23334d 57%,transparent 58%),conic-gradient(#c9dafb 0deg 302deg,#536780 303deg 360deg);box-shadow:0 0 50px #98b9ff1b}.score-ring:before{content:"";position:absolute;inset:9px;border:1px solid #9bb6e64d;border-radius:50%}.score-ring.is-disagreement{background:radial-gradient(circle at center,#23334d 57%,transparent 58%),#7893b9}.score-pair{position:relative;display:flex;flex-direction:column;gap:8px;text-align:center;font-size:12px;line-height:1.2;letter-spacing:0}.score-pair span{display:flex;align-items:baseline;justify-content:center;gap:6px;white-space:nowrap}.score-pair strong{font-family:Manrope,sans-serif;font-size:24px}.score-number{font-family:Manrope,sans-serif;font-size:69px;line-height:1;font-weight:700;letter-spacing:-.075em}.score-denom{color:#a7b8d2;font-size:14px;letter-spacing:.06em}.summary-verdict h3{font-family:Manrope,sans-serif;font-size:clamp(29px,4vw,45px);letter-spacing:-.045em;line-height:1.13;margin:13px 0}.summary-verdict>p:last-child{color:#bdc9dc;font-size:15px;margin:0}.best-strip{display:flex;align-items:center;gap:16px;border-top:1px solid #9bafd142;padding:20px 0}.best-icon{width:40px;height:40px;border:1px solid #9db7e260;border-radius:10px;display:grid;place-items:center;color:#d6e3ff;font-size:28px}.best-strip>div:nth-child(2){display:flex;flex-direction:column;gap:5px}.best-strip strong{font-size:20px;font-family:Manrope,sans-serif}.detail-panel{border-top:1px solid #8fa0ba31}.detail-panel summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:50px;color:#b6cff9;font-weight:700;font-size:13px;cursor:pointer}.detail-panel summary::-webkit-details-marker{display:none}.detail-panel summary span{font-size:20px;font-weight:400;transition:transform .2s}.detail-panel[open] summary span{transform:rotate(45deg)}.detail-content{padding:0 0 18px;color:#bfcbdd;font-size:13px;line-height:1.6}.detail-content>p{margin:0 0 16px}.data-row{display:flex;justify-content:space-between;gap:15px;padding:7px 0;border-top:1px solid #a1b4d01e}.data-row strong{color:#e9f0fb;text-align:right;font-weight:600}.section{margin-top:66px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.section h2{font-family:Manrope,sans-serif;font-size:28px;letter-spacing:-.04em;line-height:1.15;margin:8px 0 0}.section-note{font-size:12px;color:#8d9bb0;text-align:right}.factor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.factor-card{display:flex;flex-direction:column;min-height:251px;padding:22px 20px 0;border:1px solid #2d3a50;border-radius:16px;background:#151e2e}.factor-icon{width:41px;height:41px;display:grid;place-items:center;border-radius:11px;font-size:24px;margin-bottom:22px}.cloud-icon{color:#bed9f6;background:#32465e}.moon-icon{color:#e9d8a0;background:#494332}.darkness-icon{color:#c9c5fa;background:#39395f}.wind-icon{color:#a8dcd8;background:#2b4c4e}.factor-label{font-size:10px;letter-spacing:.15em;color:#8295b0;font-weight:800;margin:0 0 9px}.factor-card h3{font-family:Manrope,sans-serif;font-size:16px;letter-spacing:-.025em;margin:0 0 7px}.factor-sub{font-size:12px;color:#a1aec2;margin:0 0 20px}.factor-card .detail-panel{margin-top:auto}.factor-card .detail-panel summary{font-size:12px}.timeline-section{margin-top:68px}.timeline-scroll{overflow-x:auto;scrollbar-color:#4b6385 transparent}.timeline-grid{min-width:640px;border:1px solid #30405a;border-radius:15px;background:#141e2e;padding:17px 15px 14px}.timeline-row{display:grid;grid-template-columns:100px repeat(8,minmax(50px,1fr));align-items:center;text-align:center;min-height:54px;color:#b3c0d3;font-size:13px}.timeline-row>span:first-child{text-align:left;color:#9aabc2;font-weight:700}.timeline-row:not(:first-child){border-top:1px solid #99b0d019}.timeline-hours{min-height:40px;color:#8297b5;font-weight:700}.timeline-score{font-weight:800;color:#d8e6fc;font-family:Manrope,sans-serif;font-size:17px}.timeline-row span[role=cell]{min-height:42px;display:grid;place-items:center;align-content:center}.timeline-value{display:flex;align-items:baseline;justify-content:center;gap:4px;white-space:nowrap;line-height:1.4}.timeline-provider{color:#8da1bd;font-size:10px;font-weight:700}.timeline-legend{margin:0 0 10px;color:#aebed3;font-size:12px}.timeline-row small{font-size:9px;color:#8da1bd}.timeline-row .best-hour{background:#30547b;border-radius:7px;color:#eaf4ff}.timeline-caption{font-size:12px;color:#94a4bc;margin:13px 0 0}.legend-swatch{display:inline-block;width:10px;height:10px;border-radius:2px;background:#30547b;margin-right:5px}.objects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.object-card{grid-row:var(--object-grid-row);grid-column:var(--object-grid-column);border:1px solid #304058;border-radius:15px;background:#151e2e;padding:21px;min-height:137px}.object-card-top{display:flex;align-items:flex-start;gap:18px}.object-card-content{flex:1;min-width:0}.object-glyph{display:grid;place-items:center;flex:none;width:49px;height:49px;border-radius:50%;background:#2b3954;color:#d3dfff;font-size:27px}.object-glyph.jupiter{color:#d8ba9a;background:#413a3f}.object-glyph.andromeda{color:#d4b8d7;background:#43364e}.object-glyph.milkyway{color:#c8d4ed;background:#33445d}.object-card h3{font-family:Manrope,sans-serif;font-size:16px;margin:0 0 7px}.object-card p{font-size:12px;color:#a8b6ca;line-height:1.55;margin:0 0 10px}.equipment{display:inline-block;color:#bad2f5;font-size:11px;font-weight:700}.object-card .object-weather-warning{margin:10px 0 0;padding:8px 10px;border-left:3px solid #c5a56d;border-radius:0 6px 6px 0;background:#292a30;color:#e8d5ae;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.find-button{display:block;margin-top:15px;padding:9px 12px;border:1px solid #607da4;border-radius:9px;background:#253a59;color:#f0f5ff;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.find-button:hover{background:#304b70}.astronomy-warning{padding:13px 16px;border:1px solid #756341;border-radius:10px;background:#322b24;color:#f1d9ac;font-size:13px;line-height:1.5}.find-panel{margin-top:15px;padding:24px;border:1px solid #546d8b;border-radius:15px;background:#1a2940;min-width:0;max-width:100%}.object-guidance-panel{grid-row:var(--object-grid-row);grid-column:1/-1;margin-top:0}.find-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:start;gap:16px}.find-heading h3{margin:3px 0 0;font:700 21px Manrope,sans-serif}.find-heading>span{color:#b5c6dc;font-size:12px;text-align:right}.find-lead{margin:23px 0 9px;color:#f1e4c8;font-size:18px;line-height:1.45}.find-explanation,.find-landmark,.local-caveat{color:#c2d0e1;font-size:13px;line-height:1.6}.find-landmark{color:#e3cd9b}.time-control{display:grid;grid-template-columns:1fr auto;gap:9px 15px;margin:22px 0;max-width:520px}.time-control label{grid-column:1/-1;color:#e6effb;font-size:13px;font-weight:700}.time-control input{width:100%;accent-color:#d8b976}.time-control output{color:#e6effb;font-variant-numeric:tabular-nums;font-size:13px}.constellation-figure{margin:14px 0 18px;max-width:min(580px,100%)}.constellation-svg{display:block;width:100%;height:auto;border:1px solid #415878;border-radius:12px}.constellation-figure figcaption{margin-top:8px;color:#aebed3;font-size:12px;line-height:1.5}.local-caveat{max-width:620px}.object-facts{margin:20px 0;padding:15px 18px;max-width:520px;border-left:2px solid #647f9b;background:#17243a;border-radius:0 9px 9px 0}.object-facts .eyebrow{margin:0 0 10px}.object-facts dl{display:flex;flex-wrap:wrap;gap:12px 28px;margin:0}.object-facts dt{color:#94a9c1;font-size:11px}.object-facts dd{margin:3px 0 0;color:#d6e2f2;font-size:13px;line-height:1.45}.milky-way-card{display:flex;gap:18px;margin-top:15px;padding:21px;border:1px solid #304058;border-radius:15px;background:#151e2e}.milky-way-card h3{margin:0 0 7px;font:700 16px Manrope,sans-serif}.milky-way-card p{margin:0 0 8px;color:#c3d0e2;font-size:13px;line-height:1.5}.milky-way-card small{color:#91a5bf;line-height:1.5}.satellite-status{color:#a8b6ca;font-size:13px;line-height:1.5}.satellite-pass-list{display:grid;align-items:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.satellite-pass-card{min-width:0;padding:21px;border:1px solid #304058;border-radius:15px;background:#151e2e}.satellite-pass-card h3{margin:0 0 7px;font:700 16px Manrope,sans-serif}.satellite-pass-card p{margin:0 0 8px;color:#c3d0e2;font-size:13px;line-height:1.5}.satellite-pass-card .satellite-pass-time{color:#eaf2ff;font:700 20px Manrope,sans-serif}.satellite-pass-card .satellite-weather{color:#9fb4ce;font-size:12px}.satellite-pass-entry+.satellite-pass-entry{margin-top:18px;padding-top:18px;border-top:1px solid #304058}.satellite-pass-card .satellite-pass-active{color:#e7bd74;font-weight:600}.satellite-pass-card .detail-panel{margin-top:14px}.aurora-card{min-height:235px;position:relative;overflow:hidden;border:1px solid #385d62;border-radius:18px;background:linear-gradient(115deg,#183c3e,#172d3b 56%,#18253b);padding:29px 32px}.aurora-art{position:absolute;right:0;top:-80px;width:50%;height:310px;background:radial-gradient(ellipse at 55% 50%,#48bf9263,transparent 55%);filter:blur(27px);transform:rotate(-15deg)}.aurora-main{position:relative;max-width:660px}.aurora-main h2{margin-bottom:19px}.aurora-status{display:flex;align-items:center;gap:8px;color:#e2edea;font-size:20px;font-family:Manrope,sans-serif;font-weight:800}.aurora-main>p:not(.eyebrow){font-size:13px;line-height:1.6;color:#bfd3d8;max-width:550px}.aurora-card .detail-panel{max-width:600px;margin-top:22px}.future-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.future-card{min-height:164px;padding:20px;border:1px solid #304058;border-radius:15px;background:#151e2e}.future-day{font-weight:700;margin:0 0 15px;font-size:14px}.future-rating{display:inline-block;font-family:Manrope,sans-serif;font-weight:800;font-size:16px}.future-card>p:nth-of-type(2){color:#a3b1c5;font-size:12px;line-height:1.5;min-height:36px}.future-cloud{font-size:11px;color:#93a5bf}.future-caveat{font-size:12px;color:#8e9fb6;margin:18px 0}.future-toggle{display:block;margin:18px auto 0;padding:10px 18px;border:1px solid #61758e;border-radius:10px;background:#1d2a3b;color:#e8f1fb;font:inherit;font-weight:700;cursor:pointer}.future-toggle:hover{background:#283950}.future-toggle:focus-visible{outline:2px solid #c7e8ff;outline-offset:3px}.site-footer{border-top:1px solid #2a3546;margin-top:82px;padding:30px 0 45px;display:flex;justify-content:space-between;gap:18px;align-items:flex-start;color:#aab9cf;font-size:11px}.footer-brand{color:#d9e4f5;font-weight:800;letter-spacing:.1em;white-space:nowrap}.site-footer p{margin:0;max-width:310px;line-height:1.5}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.detail-panel summary span{transition:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:3px solid #c5dcff;outline-offset:3px}@media(max-width:900px){.factor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.factor-card{min-height:225px}.site-footer{flex-wrap:wrap}.site-footer p{max-width:350px}}@media(max-width:640px){.container{width:min(100% - 32px,520px)}.site-header{padding:22px 0 19px}.brand{font-size:12px;gap:5px}.header-tag{display:none}.intro{min-height:auto;padding:44px 0 27px}.intro h1{font-size:39px;margin:13px 0}.intro-text{font-size:14px;max-width:290px}.intro-ornament{position:absolute;right:-43px;top:34px;width:90px;opacity:.45;margin:0}.intro-ornament span:nth-child(2){display:none}.location-tools{gap:10px;margin-bottom:16px}.search-wrap{flex-basis:100%}.gps-button{width:100%}.search-results{max-height:300px}.preview-banner{font-size:11px}.summary-card{border-radius:18px;padding:23px 22px 0}.summary-date{font-size:9px}.summary-top h2{font-size:23px}.summary-main{gap:20px;padding:30px 0}.score-ring{width:133px;height:133px}.score-number{font-size:50px}.score-denom{font-size:11px}.score-pair{gap:5px;font-size:10px}.score-pair strong{font-size:18px}.summary-verdict h3{font-size:25px}.summary-verdict>p:last-child{font-size:12px}.best-strip{align-items:flex-start;flex-wrap:wrap}.section{margin-top:54px}.section h2{font-size:24px}.section-heading{align-items:start}.section-note{display:none}.factor-grid{gap:10px}.factor-card{min-height:215px;padding:17px 15px 0}.factor-icon{margin-bottom:15px;width:37px;height:37px}.factor-card h3{font-size:14px}.factor-sub{font-size:11px}.factor-card .detail-panel summary{font-size:11px}.objects-grid,.satellite-pass-list{grid-template-columns:1fr}.object-card{min-height:115px}.object-card,.object-guidance-panel{grid-row:auto;grid-column:auto}.object-guidance-panel{padding:18px 14px}.future-grid{grid-template-columns:1fr}.future-card{min-height:0}.future-card>p:nth-of-type(2){min-height:0}.aurora-card{padding:25px 21px}.site-footer{margin-top:55px;padding-bottom:34px;display:block}.site-footer p{margin-top:13px}}@media(max-width:390px){.summary-main{gap:13px}.score-ring{width:113px;height:113px}.score-number{font-size:42px}.score-pair{font-size:9px}.score-pair span{gap:3px}.score-pair strong{font-size:16px}.summary-verdict h3{font-size:21px}.factor-grid{grid-template-columns:1fr}.factor-card{min-height:0}}@media(max-width:350px){.summary-main{flex-direction:column;align-items:flex-start}.summary-verdict{min-width:0}}.satellite-track-summary{padding-left:22px;color:#c3d0e2;font-size:12px;line-height:1.7}.satellite-guidance{margin-top:18px;min-width:0}.satellite-guidance .find-heading{flex-wrap:wrap;gap:8px}
