
.astro-visibility-container{
  width:100%;
  max-width:none !important;
  margin:0 !important;
  padding:0;
  clear:both;
  position:relative;
  transform:none;
  will-change:transform;
}
.astro-visibility{position:relative;isolation:isolate;overflow:hidden;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.4}
.astro-visibility,.astro-visibility *{box-sizing:border-box}
.astro-visibility button,.astro-visibility input,.astro-visibility select,.astro-visibility textarea{font:inherit}
.astro-visibility img,.astro-visibility svg,.astro-visibility canvas{max-width:none}
.astro-visibility{
  --bg:#06111d; --panel:rgba(8,22,35,.86); --panel2:rgba(12,29,46,.9);
  --line:#213b52; --text:#eaf4ff; --muted:#9fb3c7; --cyan:#66c8ff;
  --blue:#1f7dff; --green:#78c98d; --gold:#f5c451; --danger:#ff8a6b;
}.astro-visibility, .astro-visibility *{box-sizing:border-box}.astro-visibility{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:
 radial-gradient(circle at 10% 8%,rgba(83,129,255,.18),transparent 18%),
 radial-gradient(circle at 72% 0%,rgba(101,192,255,.10),transparent 20%),
 linear-gradient(#06101b,#08131e 42%,#04101a);min-height:100vh;overflow-x:hidden}.astro-visibility:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;background-image:
 radial-gradient(#fff 1px,transparent 1px),radial-gradient(#fff 1px,transparent 1px),radial-gradient(#8fcfff 1px,transparent 1px);
 background-size:137px 137px,203px 203px,311px 311px;background-position:15px 27px,71px 113px,173px 39px}.astro-visibility .hero{position:relative;min-height:142px;padding:18px 3vw 28px;border-bottom:1px solid rgba(130,180,220,.12);background:linear-gradient(to bottom,rgba(5,14,24,.15),rgba(3,12,20,.78))}.astro-visibility .hero:after{content:"";position:absolute;left:-5%;right:-5%;bottom:-1px;height:66px;background:linear-gradient(160deg,transparent 0 43%,#07111b 44% 52%,transparent 53%),linear-gradient(200deg,transparent 0 46%,#07111b 47% 56%,transparent 57%);opacity:.9}.astro-visibility .nav{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:2}.astro-visibility .brand{display:flex;align-items:center;gap:14px}.astro-visibility .logo{width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#c4efff 0 5%,#4b8cff 6% 18%,#11264c 19% 40%,#4b72ff 41% 45%,#0c1627 46%);box-shadow:0 0 28px rgba(71,126,255,.38)}.astro-visibility .brand h1{margin:0;font-size:31px;letter-spacing:-.03em}.astro-visibility .brand h1 span{color:#8ed7ff}.astro-visibility .brand p{margin:2px 0 0;color:var(--muted);font-size:14px}.astro-visibility .navlinks{display:flex;gap:24px;color:#c2d0df;font-size:14px}.astro-visibility .navlinks a{color:inherit;text-decoration:none}.astro-visibility .navlinks a.active{color:#fff;border-bottom:2px solid var(--cyan);padding-bottom:8px}.astro-visibility .navlinks a{cursor:pointer}.astro-visibility .navlinks a:hover{color:#fff}.astro-visibility .dialog{width:min(860px,94vw);border:1px solid #294861;border-radius:14px;background:#071522;color:var(--text);padding:0;box-shadow:0 24px 80px rgba(0,0,0,.55)}.astro-visibility .dialog::backdrop{background:rgba(0,7,14,.72);backdrop-filter:blur(3px)}.astro-visibility .dialog-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid #1d374d}.astro-visibility .dialog-head h2{margin:0;font-size:20px;color:#8bd5ff}.astro-visibility .icon-btn{width:38px;height:38px;border:1px solid #2b4961;border-radius:8px;background:#0a1c2b;color:#d8e8f5;font-size:20px;cursor:pointer}.astro-visibility .dialog-body{padding:18px}.astro-visibility .site-editor{display:grid;grid-template-columns:240px 1fr;gap:18px}.astro-visibility .site-list{display:flex;flex-direction:column;gap:8px}.astro-visibility .site-list button{width:100%;text-align:left;border:1px solid #28445b;border-radius:9px;background:#0a1a29;color:#c8d8e6;padding:10px 12px;cursor:pointer}.astro-visibility .site-list button.active{border-color:#68c8ff;background:#10283a;color:#fff}.astro-visibility .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.astro-visibility .form-grid .wide{grid-column:1/-1}.astro-visibility .form-grid label{display:block;color:#a9bfd1;font-size:12px;margin-bottom:5px}.astro-visibility .form-grid input{width:100%;height:42px;border-radius:8px;border:1px solid #35516b;background:#0b1826;color:#f3f8ff;padding:0 11px;font-size:15px}.astro-visibility .dialog-actions{display:flex;gap:9px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}.astro-visibility .secondary-btn, .astro-visibility .danger-btn{height:40px;border-radius:8px;padding:0 14px;cursor:pointer;font-weight:650}.astro-visibility .secondary-btn{border:1px solid #35516b;background:#0c2030;color:#d6e5f1}.astro-visibility .danger-btn{border:1px solid #764336;background:#2a1715;color:#ffb29e}.astro-visibility .form-help{font-size:12px;color:#91a8bb;line-height:1.45;margin-top:6px}.astro-visibility .tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.astro-visibility .tool-tile{border:1px solid #294861;background:#0b1d2c;border-radius:10px;padding:15px;color:#d7e7f4;cursor:pointer;text-align:left}.astro-visibility .tool-tile strong{display:block;color:#8bd5ff;margin-bottom:5px}.astro-visibility .about-copy{color:#b6c8d7;line-height:1.6}.astro-visibility .menu-note{color:#8fa6b8;font-size:12px;margin-top:10px}.astro-visibility #imageOverlay{position:fixed;inset:0;z-index:9999;background:rgba(0,7,14,.86);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;padding:18px}.astro-visibility #imageOverlay.open{display:flex}.astro-visibility .image-viewer-panel{width:min(1180px,96vw);max-height:94vh;border:1px solid #294861;border-radius:14px;background:#071522;color:var(--text);box-shadow:0 24px 80px rgba(0,0,0,.55);overflow:hidden}.astro-visibility .image-viewer-panel .dialog-body{padding:12px}.astro-visibility .viewer-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:300px;max-height:76vh;overflow:auto;background:#020912;border:1px solid #1f3a50;border-radius:10px}.astro-visibility .viewer-stage img{display:block;max-width:100%;max-height:74vh;width:auto;height:auto}.astro-visibility .viewer-stage.loading img{display:none}.astro-visibility .viewer-status{position:absolute;inset:0;display:none;align-items:center;justify-content:center;padding:20px;color:#a9cbe3;font-size:15px;text-align:center;background:linear-gradient(180deg,rgba(2,9,18,.72),rgba(2,9,18,.88))}.astro-visibility .viewer-stage.loading .viewer-status{display:flex}.astro-visibility .viewer-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:10px}.astro-visibility .viewer-toolbar .secondary-btn{min-width:44px}.astro-visibility .viewer-fov{color:#a9bfd1;font-size:13px;margin-right:auto}.astro-visibility .viewer-hint{color:#7f98ad;font-size:12px;width:100%}.astro-visibility .wrap{position:relative;z-index:3;width:min(1480px,98.5%);margin:-10px auto 28px}.astro-visibility .panel{background:linear-gradient(180deg,rgba(9,24,38,.96),rgba(5,17,29,.95));border:1px solid #173149;border-radius:13px;box-shadow:0 10px 35px rgba(0,0,0,.24)}.astro-visibility .controls{display:grid;grid-template-columns:1.35fr 1fr .78fr;gap:14px;padding:13px 15px;align-items:end}.astro-visibility .field label{display:block;font-weight:650;font-size:14px;margin-bottom:7px}.astro-visibility .input, .astro-visibility .select, .astro-visibility .date{width:100%;height:46px;border-radius:8px;border:1px solid #35516b;background:#0b1826;color:#f3f8ff;padding:0 14px;font-size:16px;outline:none}.astro-visibility .input:focus, .astro-visibility .select:focus, .astro-visibility .date:focus{border-color:#5faeea;box-shadow:0 0 0 3px rgba(67,157,226,.1)}.astro-visibility .hint{font-size:12px;color:#93a7bc;margin-top:6px;min-height:16px}.astro-visibility .btn{height:46px;border:0;border-radius:9px;background:linear-gradient(180deg,#2586ff,#1269dc);color:white;font-weight:750;font-size:16px;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 8px 20px rgba(23,103,218,.25)}.astro-visibility .btn:hover{filter:brightness(1.07)}.astro-visibility .grid{display:grid;grid-template-columns:minmax(0,3.25fr) minmax(250px,1fr);gap:12px;margin-top:12px}.astro-visibility .card{padding:12px 14px}.astro-visibility .title{display:flex;align-items:center;gap:9px;font-size:17px;font-weight:750;color:#83d3ff;margin-bottom:6px}.astro-visibility .subtitle{color:#9eb2c6;font-size:12px;margin:0 0 7px}.astro-visibility .chartbox{height:330px;position:relative}.astro-visibility .chartbox canvas{width:100%;height:100%;display:block}.astro-visibility .skybox{height:330px;display:flex;align-items:center;justify-content:center}.astro-visibility .skybox svg{width:min(100%,310px);height:auto}.astro-visibility .bottom{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1.25fr) minmax(270px,.9fr);gap:12px;margin-top:12px}.astro-visibility .metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.astro-visibility .metric{padding:11px;border-radius:10px;background:#0d1d2d;border:1px solid #1c3a53;min-height:82px}.astro-visibility .metric .lab{font-size:12px;color:#a5b8ca}.astro-visibility .metric .val{font-size:21px;font-weight:800;margin-top:3px}.astro-visibility .metric .small{font-size:12px;color:#adc0d2;margin-top:2px}.astro-visibility .good{color:var(--green)}.astro-visibility .gold{color:var(--gold)}.astro-visibility .object{display:grid;grid-template-columns:118px 1fr;gap:12px}.astro-visibility .object-image-wrap{position:relative;width:118px;height:106px;border-radius:9px;overflow:hidden;border:1px solid #38506a;background:#101522}.astro-visibility .object-image-wrap{display:block;text-decoration:none;color:inherit}.astro-visibility .object-image-wrap.zoomable{cursor:zoom-in}.astro-visibility .image-open-label{position:absolute;left:5px;top:5px;padding:3px 6px;border-radius:5px;background:rgba(2,8,14,.78);border:1px solid rgba(139,213,255,.28);color:#dff4ff;font-size:10px;line-height:1.2;display:none;pointer-events:none}.astro-visibility .object-image-wrap.zoomable .image-open-label{display:block}.astro-visibility .object-image-wrap.zoomable:after{content:"⌕";position:absolute;left:6px;bottom:5px;width:24px;height:24px;border-radius:6px;display:grid;place-items:center;background:rgba(2,8,14,.72);border:1px solid rgba(139,213,255,.35);color:#dff4ff;font-size:17px;pointer-events:none}.astro-visibility .object-image{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .25s ease}.astro-visibility .object-image.loaded{opacity:1}.astro-visibility .object-image-fallback{position:absolute;inset:0;background:radial-gradient(circle at 35% 42%,#fff 0 1%,#a3c7ff 2% 4%,transparent 5%),radial-gradient(circle at 58% 52%,rgba(255,95,189,.95),rgba(119,40,134,.6) 25%,rgba(20,23,49,.2) 55%),radial-gradient(circle at 42% 38%,rgba(93,168,255,.6),transparent 42%),#101522;box-shadow:inset 0 0 45px rgba(244,85,189,.16)}.astro-visibility .object-image.loaded + .object-image-fallback{display:none}.astro-visibility .image-credit{position:absolute;right:5px;bottom:4px;padding:2px 5px;border-radius:4px;background:rgba(2,8,14,.72);color:#c9d8e6;font-size:9px;line-height:1.2}.astro-visibility .object-image:not(.loaded) ~ .image-credit{display:none}.astro-visibility .object h3{margin:0 0 4px}.astro-visibility .data{display:flex;gap:22px;flex-wrap:wrap;color:#cbd8e4;font-size:12px;margin-top:9px}.astro-visibility .best{margin-top:10px;padding:9px 11px;border:1px solid #63572b;background:rgba(128,100,24,.14);border-radius:8px;color:#ffe188;font-weight:700}.astro-visibility .desc{font-size:12px;color:#a9bbcb;line-height:1.45;margin-top:8px}.astro-visibility .summary{display:grid;gap:0}.astro-visibility .row{display:grid;grid-template-columns:1fr;gap:2px;padding:7px 0 8px;border-bottom:1px solid rgba(113,150,180,.15);font-size:13px}.astro-visibility .row:last-child{border-bottom:0}.astro-visibility .row span:first-child{color:#b3c4d4}.astro-visibility .row strong{justify-self:end;text-align:right;font-size:12.5px;line-height:1.25}.astro-visibility .status{margin-top:10px;color:#9fb2c4;font-size:12px}.astro-visibility .error{color:#ffad98}.astro-visibility .footer{text-align:center;color:#70859a;font-size:12px;margin:18px 0 0}.astro-visibility .badge{display:inline-flex;align-items:center;gap:6px;border:1px solid #27445c;border-radius:999px;padding:4px 8px;color:#9fc7e8;background:#0a1c2a;font-size:11px}.astro-visibility .quick{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.astro-visibility .quick button{border:1px solid #294761;background:#0b1c2b;color:#a9cae4;border-radius:999px;padding:4px 9px;font-size:11px;cursor:pointer}.astro-visibility .quick button:hover{border-color:#69bde8;color:white}.astro-visibility .loading{color:#82d4ff}@media (max-width:1200px){.astro-visibility .controls{grid-template-columns:1fr 1fr}.astro-visibility .grid{grid-template-columns:1fr}.astro-visibility .bottom{grid-template-columns:1fr}.astro-visibility .navlinks{gap:13px;font-size:12px}.astro-visibility .chartbox, .astro-visibility .skybox{height:320px}.astro-visibility .site-editor{grid-template-columns:1fr}.astro-visibility .site-list{display:grid;grid-template-columns:repeat(2,1fr)}}@media (max-width:680px){.astro-visibility .controls{grid-template-columns:1fr}.astro-visibility .brand h1{font-size:27px}.astro-visibility .hero{padding-inline:18px}.astro-visibility .wrap{width:calc(100vw - 12px)}.astro-visibility .metrics{grid-template-columns:1fr 1fr}.astro-visibility .object{grid-template-columns:1fr}.astro-visibility .nebula{min-height:150px}.astro-visibility .nav{align-items:flex-start;flex-direction:column}.astro-visibility .navlinks{flex-wrap:wrap;gap:10px 16px}.astro-visibility .form-grid, .astro-visibility .tools-grid{grid-template-columns:1fr}.astro-visibility .form-grid .wide{grid-column:auto}.astro-visibility .site-list{grid-template-columns:1fr}}.astro-visibility textarea.horizon-text{width:100%;min-height:132px;border-radius:8px;border:1px solid #35516b;background:#0b1826;color:#f3f8ff;padding:10px 11px;font-size:13px;line-height:1.45;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;resize:vertical}.astro-visibility .horizon-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.astro-visibility .horizon-tools input[type=file]{max-width:100%;color:#cfe2f1;font-size:13px}.astro-visibility .legend-note{color:#8fa8ba;font-size:12px;margin-top:8px}.astro-visibility .coord-preview{font-size:12px;color:#8fb1c9;margin-top:5px}.astro-visibility .coord-preview.bad{color:#ff9f8d}.astro-visibility .form-grid input.invalid{border-color:#c95a4a;box-shadow:0 0 0 1px rgba(201,90,74,.25)}.astro-visibility .tz-warning{margin-top:7px;font-size:12px;line-height:1.4;color:#8fb1c9}.astro-visibility .tz-warning.warn{color:#ffd08a}.astro-visibility .copy-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.astro-visibility .copy-btn{height:32px;border:1px solid #35516b;border-radius:7px;background:#0c2030;color:#d6e5f1;padding:0 10px;cursor:pointer;font-size:12px}.astro-visibility .copy-btn:hover{border-color:#66c8ff;color:#fff}.astro-visibility .minor-box{margin-top:10px;padding:10px 12px;border:1px solid #294861;border-radius:8px;background:#081827;display:none}.astro-visibility .minor-box.show{display:block}.astro-visibility .minor-box textarea{width:100%;min-height:72px;background:#06121e;color:#dcecff;border:1px solid #294861;border-radius:7px;padding:8px;font:12px ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}.astro-visibility .object-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.astro-visibility .object-pick{border:1px solid #294861;background:#0a1a29;color:#d6e5f1;border-radius:9px;padding:10px 12px;text-align:left;cursor:pointer}.astro-visibility .object-pick:hover{border-color:#66c8ff}.astro-visibility .object-pick small{display:block;color:#8fa6b8;margin-top:3px}.astro-visibility .site-list-row{display:grid;grid-template-columns:1fr 34px;gap:6px}.astro-visibility .site-list-row .site-delete-mini{border:1px solid #633f36;background:#251512;color:#ffb39e;border-radius:8px;cursor:pointer}.astro-visibility .tz-tag{font-size:11px;color:#90a7ba;margin-left:5px}.astro-visibility .field-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.astro-visibility .summary-note{margin-top:8px;color:#8fa6b8;font-size:11px}.astro-visibility .moon-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.astro-visibility .moon-metrics>div{border:1px solid #1c3a53;background:#0b1b2a;border-radius:8px;padding:8px}.astro-visibility .moon-metrics span{display:block;color:#94aabd;font-size:11px}.astro-visibility .moon-metrics strong{display:block;margin-top:3px;font-size:13px}@media (max-width:680px){.astro-visibility .object-list{grid-template-columns:1fr}.astro-visibility .field-pair, .astro-visibility .moon-metrics{grid-template-columns:1fr}}.astro-visibility .mpc-match{margin-top:8px;font-size:12px;color:#9fd3ff;min-height:1em}.astro-visibility .mpc-match:empty{display:none}
.astro-visibility .rotator-choice{display:flex;flex-direction:column;justify-content:center}
.astro-visibility .check-label{display:flex;align-items:center;gap:8px;font-weight:650;cursor:pointer}
.astro-visibility .check-label input{width:18px;height:18px}
.astro-visibility .viewer-image-box{position:relative;display:inline-block;line-height:0;max-width:100%;max-height:74vh}
.astro-visibility .viewer-image-box img{display:block;max-width:100%;max-height:74vh;width:auto;height:auto}
.astro-visibility .viewer-fov-frame{position:absolute;left:50%;top:50%;border:2px solid #65c8ff;box-shadow:0 0 0 1px rgba(2,8,14,.85),0 0 12px rgba(101,200,255,.35);pointer-events:none;transform-origin:center;display:none}
.astro-visibility .viewer-fov-frame:before{content:"";position:absolute;left:50%;top:-7px;width:1px;height:12px;background:#65c8ff}
.astro-visibility .viewer-north,.astro-visibility .viewer-east{position:absolute;color:#dff4ff;background:rgba(2,8,14,.68);border:1px solid rgba(101,200,255,.35);border-radius:4px;padding:2px 5px;font-size:11px;line-height:1.1;pointer-events:none}
.astro-visibility .viewer-north{left:50%;top:6px;transform:translateX(-50%)}
.astro-visibility .viewer-east{left:6px;top:50%;transform:translateY(-50%)}
.astro-visibility .viewer-pa-status{color:#a9bfd1;font-size:13px}
.astro-visibility .viewer-rotation{display:none;align-items:center;gap:8px;flex-basis:100%;padding-top:4px}
.astro-visibility .viewer-rotation label{font-size:12px;color:#b9ccdc;font-weight:650}
.astro-visibility .viewer-rotation input[type=range]{flex:1;min-width:180px}
.astro-visibility .viewer-rotation input[type=number]{width:82px;height:34px;border-radius:7px;border:1px solid #35516b;background:#0b1826;color:#f3f8ff;padding:0 8px}
.astro-visibility .viewer-stage.loading .viewer-image-box{visibility:hidden}

.astro-visibility .controls>.field{align-self:start}
.astro-visibility .controls .field:first-child{min-width:0}
.astro-visibility .copy-row .copy-btn{min-width:84px}

@media (min-width:1201px){
  .astro-visibility .panel{min-width:0}
  .astro-visibility .grid>*,.astro-visibility .bottom>*{min-width:0}
}

.astro-visibility .twilight-legend{margin:-1px 0 7px}
.astro-visibility .twilight-legend-title{color:#a9bfd1;font-size:10.5px;font-weight:650;margin-bottom:4px}
.astro-visibility .twilight-key{display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:#9fb5c8;font-size:10.5px;line-height:1.25}
.astro-visibility .twilight-key span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.astro-visibility .twilight-key b{font-weight:550;color:#aebfd0}
.astro-visibility .twilight-swatch{display:inline-flex;align-items:center;justify-content:center;min-width:68px;height:18px;padding:0 6px;border-radius:3px;border:1px solid rgba(170,205,230,.24);color:#d7e8f6;font-style:normal;font-size:9.5px;font-weight:650;letter-spacing:.01em}
.astro-visibility .twilight-swatch.tw12{background:rgba(31,89,137,.78)}
.astro-visibility .twilight-swatch.tw15{background:rgba(13,55,96,.88)}
.astro-visibility .twilight-swatch.tw18{background:rgba(5,23,42,.95)}
@media(max-width:700px){.astro-visibility .twilight-key{gap:6px 10px;font-size:10px}.astro-visibility .twilight-key span{white-space:normal}.astro-visibility .twilight-swatch{min-width:65px}}
