.sky-scene{position:relative;isolation:isolate;overflow:hidden}
.sky-scene::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--scene-image,none);background-size:cover;background-position:center;background-repeat:no-repeat;filter:var(--picture-filter)}
#visibleTonightCard::before{background-position:72% center}
#visibleTonightCard{min-height:270px;padding:30px}
.sky-score,.iss-card{position:relative;overflow:hidden;isolation:isolate;background-color:#0d0c31;background-image:none!important}
.sky-score::before,.iss-card::before{content:"";position:absolute;inset:0;z-index:-1;background-repeat:no-repeat;background-position:center;background-size:cover;transform:scale(1.06);filter:var(--picture-filter)}
.sky-score::before{background-image:url('/api/sky-image?name=conditions&v=3&w=1280&f=webp')}
@media (min-width:0px) and (max-width:480.98px) and (max-resolution:1.875dppx),(min-width:481px) and (max-width:720.98px) and (max-resolution:1.25dppx),(min-width:721px) and (max-width:1000.98px) and (max-resolution:1.5dppx),(min-width:1001px) and (max-width:1280.98px) and (max-resolution:1.172dppx),(min-width:1281px) and (max-width:1600.98px) and (max-resolution:0.938dppx),(min-width:1601px) and (max-width:2000.98px) and (max-resolution:0.75dppx),(min-width:2001px) and (max-width:4000.98px) and (max-resolution:0.375dppx){.sky-score::before{background-image:url('/api/sky-image?name=conditions&v=3&w=800&f=webp')}}
@media (min-width:0px) and (max-width:480.98px) and (min-resolution:2.918dppx),(min-width:481px) and (max-width:720.98px) and (min-resolution:1.945dppx),(min-width:721px) and (max-width:1000.98px) and (min-resolution:2.334dppx),(min-width:1001px) and (max-width:1280.98px) and (min-resolution:1.824dppx),(min-width:1281px) and (max-width:1600.98px) and (min-resolution:1.459dppx),(min-width:1601px) and (max-width:2000.98px) and (min-resolution:1.168dppx),(min-width:2001px) and (max-width:4000.98px) and (min-resolution:0.584dppx){.sky-score::before{background-image:url('/api/sky-image?name=conditions&v=3&w=1920&f=webp')}}
.iss-card::before{background-image:url('/api/sky-image?name=iss&v=1&w=1280&f=webp')}
@media (min-width:0px) and (max-width:480.98px) and (max-resolution:1.875dppx),(min-width:481px) and (max-width:720.98px) and (max-resolution:1.25dppx),(min-width:721px) and (max-width:1000.98px) and (max-resolution:1.8dppx),(min-width:1001px) and (max-width:1280.98px) and (max-resolution:1.406dppx),(min-width:1281px) and (max-width:1600.98px) and (max-resolution:1.125dppx),(min-width:1601px) and (max-width:2000.98px) and (max-resolution:0.9dppx),(min-width:2001px) and (max-width:4000.98px) and (max-resolution:0.45dppx){.iss-card::before{background-image:url('/api/sky-image?name=iss&v=1&w=800&f=webp')}}
@media (min-width:0px) and (max-width:480.98px) and (min-resolution:2.918dppx),(min-width:481px) and (max-width:720.98px) and (min-resolution:1.945dppx),(min-width:721px) and (max-width:1000.98px) and (min-resolution:2.801dppx),(min-width:1001px) and (max-width:1280.98px) and (min-resolution:2.189dppx),(min-width:1281px) and (max-width:1600.98px) and (min-resolution:1.751dppx),(min-width:1601px) and (max-width:2000.98px) and (min-resolution:1.401dppx),(min-width:2001px) and (max-width:4000.98px) and (min-resolution:0.701dppx){.iss-card::before{background-image:url('/api/sky-image?name=iss&v=1&w=1920&f=webp')}}
.iss-card::before{filter:brightness(.6) var(--picture-filter)}
.iss-card{min-height:clamp(170px,20vw,240px)}
#planetBars:empty{display:none}
.pbars{margin-top:14px}.pbar-rows{display:grid;gap:8px}
.pbar{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;font-size:1rem;font-weight:700;color:var(--ink)}
.pbar-track{position:relative;display:block;height:14px;border-radius:7px;background:var(--track-soft);overflow:hidden}
.pbar-track:before{content:"";position:absolute;top:0;bottom:0;left:var(--bl);width:var(--bw);background:rgba(var(--accent-rgb),.16)}
.pbars-now .pbar-track:after{content:"";position:absolute;top:-1px;bottom:-1px;left:var(--now);width:2px;background:var(--focus);box-shadow:0 0 2px #000}
.pbar-track i{position:absolute;top:2px;bottom:2px;border-radius:5px;background:var(--sky)}
.pbar-axis{display:flex;justify-content:space-between;margin:6px 0 0 82px;font-size:1rem;color:var(--ink-soft)}
.pbar-key{display:block;margin-top:4px;color:var(--muted);font-size:1rem}
.moon-row{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:12px;align-items:center}.moon-row-icon{grid-row:span 2;color:#f1edff;filter:drop-shadow(0 0 1px #000) drop-shadow(0 0 3px rgba(0,0,0,.8))}
.iss-graphic{list-style:none;color:#f1edff;padding:6px 0 10px}.iss-graphic svg{display:block;width:min(240px,70%);height:auto;filter:drop-shadow(0 0 1px #000) drop-shadow(0 0 3px rgba(0,0,0,.8))}
.sky-hero{padding:30px;margin-top:16px;background:linear-gradient(135deg,rgba(72,38,112,.74),rgba(20,28,66,.7))}
.sky-hero h2{font-size:clamp(2rem,5vw,3.6rem);letter-spacing:-.06em;margin:8px 0}
.sky-hero p{max-width:620px;color:#ddd4ee;line-height:1.55;margin:0}
.sky-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-top:18px}
.sky-score{padding:25px}
.sky-score b{display:block;font-size:2rem;letter-spacing:-.05em;margin:10px 0}
.sky-score p{color:#d4cae6;line-height:1.5;margin:0}
.sky-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sky-fact{min-width:0}
.sky-fact{padding:18px}
.sky-fact{position:relative}
.sky-fact>span{padding-right:44px}
.fact-icon{position:absolute;top:16px;right:16px;width:28px;height:28px;color:var(--ink)}
.sky-data-row,.tonight-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;align-items:start}.data-col{display:flex;flex-direction:column;gap:18px;min-width:0}
.tonight-row{align-items:stretch}.tonight-row>section{margin-top:0;min-width:0;display:flex;flex-direction:column}.tonight-row>section>.card{flex:1}
.data-tile{padding:20px}
.data-tile>b,.iss-card .on-picture>b{display:block;font-size:1.05rem;margin-bottom:6px}
.data-tile p+p{margin-top:8px}.viz-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,44%);gap:16px;align-items:center}.viz{min-width:0}.viz-svg{display:block;width:100%;height:auto;color:var(--ink)}.viz-wide{margin-top:14px}.viz-grid{fill:none;stroke:var(--muted);stroke-width:1;opacity:.55}.viz-tick{fill:currentColor;font-size:11px}
.viz-band{fill:rgba(255,255,255,.14)}.viz-bar{fill:rgb(var(--accent-rgb))}.viz-track{fill:rgba(255,255,255,.1)}.viz-tw1{fill:rgba(241,237,255,.55)}.viz-tw2{fill:rgba(241,237,255,.75)}.viz-tw3{fill:rgba(241,237,255,.9)}.viz-dark{fill:#f1edff}.viz-moonup{fill:rgb(var(--accent-rgb))}.viz-now-halo{stroke:#f1edff;stroke-width:5;stroke-linecap:round}
.viz-now{stroke:#0d0c31;stroke-width:2;stroke-linecap:round}.viz-nowhead{fill:var(--ink)}@media(max-width:720px){.viz-body{grid-template-columns:1fr}.viz-body .viz-svg{max-width:300px;margin:0 auto}}.data-tile p+.times-list{margin-top:12px}
.data-tile p{color:var(--muted);margin:0;font-size:1rem;line-height:1.5}
.data-note{display:block;color:var(--muted);font-size:1rem;margin-top:10px;line-height:1.4}
.times-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.times-list li{display:grid;gap:2px;font-size:1rem}
.times-list strong{font-size:1rem}
.times-list span{color:var(--muted)}
.clear-hours-more{margin-top:8px}.clear-hours-more>summary{cursor:pointer;font-size:1rem;padding:10px 0;color:var(--link)}#clearHoursList{gap:4px;margin-bottom:6px}#clearHoursList li{grid-template-columns:5.6em 1fr;column-gap:10px;align-items:baseline}
@media(max-width:720px){.sky-data-row,.tonight-row{grid-template-columns:1fr}}
@media(min-width:721px) and (max-width:900px){.tonight-row .section-title{flex-direction:column;align-items:flex-start;gap:4px}}
#nightConditionsCard .viz-body{display:flex;flex-direction:column;align-items:stretch;gap:16px}
#nightConditionsList{grid-template-columns:repeat(2,minmax(0,1fr))}
#nightConditionsList>:last-child:nth-child(odd){grid-column:1/-1}
@media(min-width:1025px){#nightConditionsList{grid-template-columns:repeat(3,minmax(0,1fr))}#nightConditionsList>:last-child:nth-child(odd){grid-column:auto}#nightConditionsList>:last-child:nth-child(3n+1){grid-column:1/-1}}
#nightConditionsCard .viz{width:100%}
.sky-fact span{display:block;color:var(--muted);font-size:1rem;margin-bottom:8px}
.sky-fact b{font-size:1rem}
@media(max-width:720px){.sky-grid{grid-template-columns:1fr}.sky-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sky-hero h2,.sky-score b{font-family:Orbitron,"Segoe UI",sans-serif}
.sky-hero h2{font-size:clamp(1.85rem,4.5vw,3.2rem);letter-spacing:-.04em}
.sky-score b{font-size:1.55rem}
.sky-score-layout{display:flex;justify-content:space-between;gap:20px;align-items:center}
.condition-visual{text-align:center;min-width:120px}
.condition-ring{--clarity:50%;width:90px;height:90px;border-radius:50%;display:grid;place-items:center;margin:auto;background:radial-gradient(circle at center,#1a1d50 57%,transparent 59%),conic-gradient(#d3adff var(--clarity),rgba(216,198,255,.16) 0);box-shadow:0 0 24px rgba(194,136,255,.18)}
.condition-ring span{font-family:Orbitron,"Segoe UI",sans-serif;font-size:1.05rem}
.condition-visual small{display:block;margin-top:8px;color:var(--muted);font-size:1rem}
.planet-list{display:grid;grid-template-columns:repeat(5,1fr);overflow:auto}
.planet{padding:18px;min-width:190px;border-right:1px solid var(--line)}
.planet:last-child{border:0}
.planet strong{font-family:Orbitron,"Segoe UI",sans-serif;font-size:1rem}
.planet b{display:block;font-size:1rem;margin:10px 0 4px}
.planet small{color:var(--muted);font-size:1rem}
@media(max-width:720px){.sky-grid{grid-template-columns:1fr}.sky-score-layout{align-items:flex-start}.condition-visual{min-width:95px}.condition-ring{width:76px;height:76px}}
.sky-score-layout{position:relative;z-index:1}
:where(.on-picture){position:relative}
.on-picture{isolation:isolate;paint-order:stroke fill;-webkit-text-stroke:3px rgba(0,0,0,.6);text-shadow:var(--ink-shadow)}
#skyView .tile-text,#skyView .sky-score-layout>div:first-child,#skyView .condition-visual>small,#skyView #visibleTonightCard>div,#skyView .iss-card>.on-picture{background:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;padding:0}
.condition-ring{position:relative;overflow:hidden;isolation:isolate}
.condition-ring img{position:absolute;inset:11%;width:78%;height:78%;border-radius:50%;object-fit:cover;z-index:-1;filter:var(--picture-filter)}
.condition-ring::after{content:"";position:absolute;inset:11%;border-radius:50%;background:rgba(6,8,30,.68);z-index:0}
.condition-ring span{position:relative;z-index:1;text-shadow:0 1px 8px #08051d}
.sky-scene{min-height:clamp(170px,20vw,240px)}
#visibleTonightCard>div{display:inline-block;max-width:min(100%,560px);padding:14px 16px}
.tile-text,.sky-score-layout>div:first-child,.iss-card>.on-picture{background:rgba(6,8,30,var(--panel-alpha,.8));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:14px 16px}
.condition-visual>small{background:rgba(6,8,30,var(--panel-alpha,.8));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;padding:3px 10px}
.tile-text{display:inline-block;max-width:min(100%,440px)}
.sky-score-layout>div:first-child{max-width:340px}
#visibleTonightCard>div{background:rgba(6,8,30,var(--panel-alpha,.8));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px}
.sky-status{margin:0 0 14px;padding:12px 16px;font-size:1rem;line-height:1.4}
.cams-credit{margin:10px 0 0;font-size:1rem;line-height:1.45;color:var(--ink-soft)}.cams-credit a{display:inline-flex;align-items:center;min-height:44px;color:var(--link);text-decoration:underline}
#nightConditionsSources a,#clearHoursSource a{display:inline-flex;align-items:center;min-height:44px;color:var(--link);text-decoration:underline}
#skyHero{min-height:240px}
.sky-facts{min-height:270px}
#darkWindowCard{min-height:310px}
#planetTimesCard{min-height:640px}
@media(min-width:721px) and (max-width:1100px){.sky-facts{min-height:306px}#darkWindowCard{min-height:338px}}
.sky-compass{padding:18px;display:grid;gap:12px}
.sc-wrap{position:relative;width:100%;max-width:420px;aspect-ratio:1;margin:0 auto}
.sc-rose,.sc-svg,.sc-marks{position:absolute;inset:0;width:100%;height:100%}
.sc-svg{color:var(--ink)}
.sc-ring{fill:none;stroke:currentColor;stroke-opacity:.55;stroke-width:.7}
.sc-ring-in{stroke-opacity:.28;stroke-width:.5;stroke-dasharray:1.5 1.5}
.sc-spoke{stroke:currentColor;stroke-opacity:.25;stroke-width:.5}
.sc-arc{fill:none;stroke:rgb(var(--accent-rgb));stroke-width:1.1;stroke-dasharray:2.4 1.6;stroke-linecap:round}
.sc-arc-dot{fill:rgb(var(--accent-rgb))}
.sc-leader{stroke:currentColor;stroke-width:.5;opacity:.7}
.sc-facing{fill:rgb(var(--accent-rgb))}
.sc-live{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.sc-btn{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:var(--chip-bg);color:var(--ink);font:inherit;font-size:1rem;font-weight:700;cursor:pointer}
.sc-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.sc-badge{margin:0;font-size:1rem;font-weight:700;color:var(--ink)}
.sc-debug{margin:0;padding:10px;border:1px dashed var(--line);border-radius:10px;font:14px/1.4 ui-monospace,Menlo,Consolas,monospace;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}
.sc-lab{position:absolute;font-size:1rem;line-height:20px;color:var(--ink);white-space:nowrap}
.sc-card-l{font-weight:800;width:18px;text-align:center}
.sc-ring-l{opacity:.8}
.sc-pt{position:absolute;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;border:1px solid rgba(0,0,0,.6)}
.sc-key{flex:none;width:12px;height:12px;border-radius:50%;border:1px solid rgba(0,0,0,.6);align-self:center}
.sc-moon{background:#e8e4d0}.sc-mercury{background:#b9b9c4}.sc-venus{background:#f3e3a0}.sc-mars{background:#e5694b}.sc-jupiter{background:#d9a56b}.sc-saturn{background:#d8c07a}
.sc-iss{background:transparent;border:2px dashed rgb(var(--accent-rgb))}
.sc-day .sc-planet{opacity:.45}
.sc-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.sc-list li{display:flex;gap:8px;align-items:baseline;font-size:1rem}
.sc-note{margin:0;color:var(--muted);font-size:1rem}
#planetTimesCard .viz-body{display:block}
#planetBars:not(:empty)+.viz-body{margin-top:16px}.pbar-key{text-wrap:balance}
.sky-retry{display:block;margin-top:10px;min-height:44px;padding:0 18px;border:1px solid var(--line);border-radius:22px;background:transparent;color:inherit;font:inherit;cursor:pointer}
