.map.svelte-1n4838d{width:100%}svg.svelte-1n4838d{display:block;width:100%;height:auto;background:var(--bg);border-radius:4px;cursor:crosshair;touch-action:none}svg.dragging.svelte-1n4838d{cursor:grabbing}.bldg.svelte-1n4838d{stroke:#ffffff0f;stroke-width:1}.rx-dot.svelte-1n4838d{fill:var(--accent)}.rx-cross.svelte-1n4838d{stroke:var(--accent);stroke-width:1.5;opacity:.7}.rx-pulse.svelte-1n4838d{fill:none;stroke:var(--accent);stroke-width:2;animation:svelte-1n4838d-rx-pulse 2s ease-out infinite}@keyframes svelte-1n4838d-rx-pulse{0%{transform:scale(.45);opacity:.9}to{transform:scale(1.6);opacity:0}}.north.svelte-1n4838d line:where(.svelte-1n4838d),.north.svelte-1n4838d path:where(.svelte-1n4838d){stroke:var(--text-secondary);stroke-width:2;fill:var(--text-secondary)}.north.svelte-1n4838d text:where(.svelte-1n4838d),.scale.svelte-1n4838d text:where(.svelte-1n4838d){font-family:var(--font-mono);font-size:13px;fill:var(--text-secondary)}.scale.svelte-1n4838d line:where(.svelte-1n4838d){stroke:var(--text-secondary);stroke-width:1.5}.city3d.svelte-1eegka7{width:100%;aspect-ratio:1 / 1;border-radius:4px;overflow:hidden;cursor:grab}.city3d.svelte-1eegka7 canvas{display:block}.error-chart.svelte-pifzpl{position:relative;width:100%}svg.svelte-pifzpl{display:block;width:100%;height:auto;cursor:ew-resize;touch-action:none}.nofix.svelte-pifzpl{fill:#ef444414}.grid.svelte-pifzpl{stroke:#ffffff0d;stroke-width:1}.tick.svelte-pifzpl{font-family:var(--font-mono);font-size:10px;fill:var(--text-secondary)}.err-line.svelte-pifzpl{fill:none;stroke:#f59e0b;stroke-width:2;stroke-linejoin:round}.hover-line.svelte-pifzpl{stroke:#fff3;stroke-width:1}.cursor.svelte-pifzpl{stroke:var(--accent);stroke-width:1.5}.cursor-dot.svelte-pifzpl{fill:var(--accent)}.tooltip.svelte-pifzpl{position:absolute;top:-6px;transform:translate(-50%,-100%);background:var(--bg-raised);border:1px solid var(--border);border-radius:4px;padding:.3rem .5rem;font-family:var(--font-mono);font-size:.68rem;color:var(--text-secondary);pointer-events:none;white-space:nowrap;z-index:2}.tooltip.svelte-pifzpl strong:where(.svelte-pifzpl){color:var(--text);margin-right:.35rem}.legend.svelte-pifzpl{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem;padding-left:34px}.key.svelte-pifzpl{font-family:var(--font-mono);font-size:.68rem;color:var(--text-secondary);display:inline-flex;align-items:center;gap:.4rem}.swatch.svelte-pifzpl{display:inline-block;width:16px;height:3px;border-radius:1px}.line-amber.svelte-pifzpl{background:#f59e0b}.band-red.svelte-pifzpl{height:10px;background:#ef444440}.skyplot.svelte-poqjj9{position:relative;width:100%}svg.svelte-poqjj9{display:block;width:100%;height:auto}.ring.svelte-poqjj9{fill:none;stroke:#ffffff12;stroke-width:1}.ring.outer.svelte-poqjj9{stroke:#ffffff2e}.ring-label.svelte-poqjj9{font-family:var(--font-mono);font-size:8px;fill:var(--text-secondary);opacity:.7}.compass.svelte-poqjj9{font-family:var(--font-mono);font-size:11px;fill:var(--text-secondary)}.mask-fill.svelte-poqjj9{fill:#7a7d9e47;stroke:#7a7d9e8c;stroke-width:1}.track.svelte-poqjj9{fill:none;stroke:#ffffff17;stroke-width:1}.sat-visible.svelte-poqjj9{fill:var(--accent-hover)}.sat-refl-ring.svelte-poqjj9{fill:none;stroke:#f59e0b;stroke-width:1.5;opacity:.9}.sat-nlos.svelte-poqjj9{fill:#f59e0b}.sat-blocked.svelte-poqjj9 line:where(.svelte-poqjj9){stroke:#ef4444;stroke-width:2;stroke-linecap:round}.sat-low.svelte-poqjj9{fill:var(--text-secondary);opacity:.45}.sat-label.svelte-poqjj9{font-family:var(--font-mono);font-size:8.5px;fill:var(--text-secondary)}.hit.svelte-poqjj9{fill:transparent;cursor:default}.tooltip.svelte-poqjj9{position:absolute;transform:translate(-50%,calc(-100% - 12px));background:var(--bg-raised);border:1px solid var(--border);border-radius:4px;padding:.35rem .55rem;font-family:var(--font-mono);font-size:.68rem;line-height:1.5;color:var(--text-secondary);pointer-events:none;white-space:nowrap;z-index:2}.tooltip.svelte-poqjj9 strong:where(.svelte-poqjj9){color:var(--text);margin-right:.35rem}.timeline.svelte-157kkci{position:relative;width:100%}svg.svelte-157kkci{display:block;width:100%;height:auto;cursor:ew-resize;touch-action:none}.outage.svelte-157kkci{fill:#ef444414}.grid.svelte-157kkci{stroke:#ffffff0d;stroke-width:1}.tick.svelte-157kkci{font-family:var(--font-mono);font-size:10px;fill:var(--text-secondary)}.threshold.svelte-157kkci{stroke:#ef4444;stroke-width:1;stroke-dasharray:5 4;opacity:.75}.threshold-label.svelte-157kkci{font-family:var(--font-mono);font-size:9.5px;fill:#ef4444;opacity:.85}.open-sky.svelte-157kkci{fill:none;stroke:var(--text-secondary);stroke-width:1.3;stroke-dasharray:2 4;stroke-linecap:round}.visible-line.svelte-157kkci{fill:none;stroke:var(--accent-hover);stroke-width:2;stroke-linejoin:round}.hover-line.svelte-157kkci{stroke:#fff3;stroke-width:1}.cursor.svelte-157kkci{stroke:var(--accent);stroke-width:1.5}.cursor-dot.svelte-157kkci{fill:var(--accent)}.tooltip.svelte-157kkci{position:absolute;top:-6px;transform:translate(-50%,-100%);background:var(--bg-raised);border:1px solid var(--border);border-radius:4px;padding:.3rem .5rem;font-family:var(--font-mono);font-size:.68rem;color:var(--text-secondary);pointer-events:none;white-space:nowrap;z-index:2}.tooltip.svelte-157kkci strong:where(.svelte-157kkci){color:var(--text);margin-right:.35rem}.legend.svelte-157kkci{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem;padding-left:30px}.key.svelte-157kkci{font-family:var(--font-mono);font-size:.68rem;color:var(--text-secondary);display:inline-flex;align-items:center;gap:.4rem}.swatch.svelte-157kkci{display:inline-block;width:16px;height:3px;border-radius:1px}.line-purple.svelte-157kkci{background:var(--accent-hover)}.line-gray.svelte-157kkci{background:repeating-linear-gradient(90deg,var(--text-secondary) 0 3px,transparent 3px 6px)}.band-red.svelte-157kkci{height:10px;background:#ef444440}.demo.svelte-yeejtk{display:flex;flex-direction:column;gap:1.25rem}.loading.svelte-yeejtk,.error.svelte-yeejtk{font-family:var(--font-mono);font-size:.85rem;color:var(--text-secondary);padding:3rem 0;text-align:center}.error.svelte-yeejtk{color:#ef4444}.controls.svelte-yeejtk{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;flex-wrap:wrap}.selector-group.svelte-yeejtk,.presets.svelte-yeejtk{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.ctrl-label.svelte-yeejtk{font-family:var(--font-mono);font-size:.72rem;color:var(--text-secondary);margin-right:.25rem}.seg.svelte-yeejtk{display:flex;border:1px solid var(--border);border-radius:4px;overflow:hidden}.seg-btn.svelte-yeejtk{font-family:var(--font-mono);font-size:.72rem;padding:.4rem .7rem;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .2s ease,background .2s ease}.seg.small.svelte-yeejtk .seg-btn:where(.svelte-yeejtk){padding:.25rem .55rem}.seg-btn.svelte-yeejtk:not(:last-child){border-right:1px solid var(--border)}.seg-btn.active.svelte-yeejtk{color:var(--text);background:var(--accent-dim, rgba(var(--accent-rgb), .12))}.seg-btn.svelte-yeejtk:hover:not(.active){color:var(--text)}.ctrl-btn.svelte-yeejtk{font-family:var(--font-mono);font-size:.72rem;padding:.4rem .7rem;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--text);cursor:pointer;transition:border-color .2s ease,background .2s ease}.ctrl-btn.svelte-yeejtk:hover{border-color:var(--accent);background:var(--accent-dim, rgba(var(--accent-rgb), .12))}.views.svelte-yeejtk{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.panel.svelte-yeejtk{border:1px solid var(--border);border-radius:6px;padding:1rem}.panel-head.svelte-yeejtk{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.panel-head.svelte-yeejtk .panel-title:where(.svelte-yeejtk){margin-bottom:0}.panel-title.svelte-yeejtk{font-family:var(--font-mono);font-size:.75rem;font-weight:400;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.75rem}.panel-note.svelte-yeejtk{font-size:.78rem;line-height:1.5;color:var(--text-secondary);margin-top:.75rem}.sky-legend.svelte-yeejtk{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-top:.75rem}.key.svelte-yeejtk{font-family:var(--font-mono);font-size:.68rem;color:var(--text-secondary);display:inline-flex;align-items:center;gap:.4rem}.dot.svelte-yeejtk{width:9px;height:9px;border-radius:50%;display:inline-block}.dot.purple.svelte-yeejtk{background:var(--accent-hover)}.dot.gray.svelte-yeejtk{background:var(--text-secondary);opacity:.45;width:6px;height:6px}.diamond.svelte-yeejtk{width:8px;height:8px;display:inline-block;background:#f59e0b;transform:rotate(45deg)}.x-mark.svelte-yeejtk{color:#ef4444;font-weight:700;font-size:.75rem}.mask-swatch.svelte-yeejtk{width:12px;height:12px;display:inline-block;background:#7a7d9e47;border:1px solid rgba(122,125,158,.55);border-radius:2px}.inside-note.svelte-yeejtk{font-family:var(--font-mono);font-size:.78rem;color:#ef4444;border:1px solid rgba(239,68,68,.35);border-radius:4px;padding:.6rem .8rem}.time-row.svelte-yeejtk{display:flex;align-items:center;gap:.9rem}.play-btn.svelte-yeejtk{font-size:.72rem;width:2.2rem;height:2.2rem;flex-shrink:0;border:1px solid var(--border);border-radius:4px;background:transparent;color:var(--text);cursor:pointer;transition:border-color .2s ease}.play-btn.svelte-yeejtk:hover{border-color:var(--accent)}.time-slider.svelte-yeejtk{flex:1;accent-color:var(--accent)}.time-label.svelte-yeejtk{font-family:var(--font-mono);font-size:.72rem;color:var(--text-secondary);white-space:nowrap}.stats.svelte-yeejtk{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}.stat.svelte-yeejtk{border:1px solid var(--border);border-radius:6px;padding:.8rem 1rem;display:flex;flex-direction:column;gap:.15rem}.stat-value.svelte-yeejtk{font-family:var(--font-mono);font-size:1.6rem;color:var(--text)}.stat.bad.svelte-yeejtk .stat-value:where(.svelte-yeejtk){color:#ef4444}.stat.warn.svelte-yeejtk .stat-value:where(.svelte-yeejtk){color:#f59e0b}.stat-label.svelte-yeejtk{font-size:.75rem;color:var(--text-secondary)}.stat-sub.svelte-yeejtk{font-family:var(--font-mono);font-size:.65rem;color:var(--text-secondary);opacity:.75}.stat.bad.svelte-yeejtk .stat-sub:where(.svelte-yeejtk){color:#ef4444;opacity:1}.sat-table-wrap.svelte-yeejtk{overflow-x:auto}.sat-table.svelte-yeejtk{width:100%;border-collapse:collapse;font-size:.78rem}.sat-table.svelte-yeejtk th:where(.svelte-yeejtk){font-family:var(--font-mono);font-size:.65rem;font-weight:400;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);text-align:left;padding:.3rem .75rem .3rem 0;border-bottom:1px solid var(--border)}.sat-table.svelte-yeejtk td:where(.svelte-yeejtk){padding:.32rem .75rem .32rem 0;border-bottom:1px solid var(--border);color:var(--text-secondary)}.sat-table.svelte-yeejtk .mono:where(.svelte-yeejtk){font-family:var(--font-mono);font-size:.72rem}.chip.svelte-yeejtk{font-family:var(--font-mono);font-size:.62rem;padding:.1rem .4rem;border-radius:3px;border:1px solid}.chip-los.svelte-yeejtk{color:var(--accent-hover);border-color:rgba(var(--accent-rgb),.4)}.chip-nlos.svelte-yeejtk{color:#f59e0b;border-color:#f59e0b66}.chip-blocked.svelte-yeejtk{color:#ef4444;border-color:#ef444466}.err-now.svelte-yeejtk{font-family:var(--font-mono);font-size:.8rem;color:#f59e0b;white-space:nowrap}.err-now.nofix.svelte-yeejtk{color:#ef4444}.err-explain.svelte-yeejtk{margin-top:0;margin-bottom:.9rem}.err-actions.svelte-yeejtk{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.ctrl-btn.svelte-yeejtk:disabled{opacity:.6;cursor:default}.err-chart-wrap.svelte-yeejtk{margin-top:1rem}.heat-legend.svelte-yeejtk{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.65rem;color:var(--text-secondary)}.heat-ramp.svelte-yeejtk{width:70px;height:9px;border-radius:2px;background:linear-gradient(90deg,#1a1c33,#f59e0b)}.heat-nofix.svelte-yeejtk{width:12px;height:9px;border-radius:2px;background:#ef444473;margin-left:.5rem}@media(max-width:768px){.views.svelte-yeejtk{grid-template-columns:1fr}.stats.svelte-yeejtk{grid-template-columns:repeat(2,1fr)}.time-label.svelte-yeejtk{display:none}}.page.svelte-16fwwjf{max-width:960px;margin:0 auto;padding:8rem 2rem 6rem}.header.svelte-16fwwjf{max-width:720px;margin-bottom:4rem}.title.svelte-16fwwjf{font-family:var(--font-heading);font-size:clamp(2rem,5vw,3rem);font-weight:500;color:var(--text);line-height:1.15;margin-bottom:1rem}.subtitle.svelte-16fwwjf{color:var(--text-secondary);font-size:1.05rem;line-height:1.6;margin-bottom:1.5rem}.header-actions.svelte-16fwwjf{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.tech.svelte-16fwwjf{display:flex;flex-wrap:wrap;gap:.4rem}.tech.svelte-16fwwjf span:where(.svelte-16fwwjf){font-family:var(--font-mono);font-size:.72rem;color:var(--text-secondary);padding:.2rem .55rem;border:1px solid var(--border);border-radius:3px}.header-links.svelte-16fwwjf{display:flex;align-items:center;gap:1.25rem}.github-link.svelte-16fwwjf{font-family:var(--font-mono);font-size:.82rem;color:var(--text-secondary);text-decoration:none;transition:color .2s ease}.github-link.svelte-16fwwjf:hover{color:var(--text)}.jump-link.svelte-16fwwjf{font-family:var(--font-mono);font-size:.82rem;color:var(--accent);text-decoration:none;transition:opacity .2s ease}.jump-link.svelte-16fwwjf:hover{opacity:.8}@keyframes svelte-16fwwjf-bounce-arrow{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.jump-link.svelte-16fwwjf:before{content:"↓";display:inline-block;margin-right:.4em;animation:svelte-16fwwjf-bounce-arrow .4s ease-in-out 4}.content.svelte-16fwwjf{max-width:720px;margin-bottom:3rem}.content.svelte-16fwwjf h2:where(.svelte-16fwwjf){font-family:var(--font-heading);font-size:1.4rem;font-weight:500;font-style:italic;color:var(--text);margin-bottom:1rem;margin-top:2.5rem}.content.svelte-16fwwjf h2:where(.svelte-16fwwjf):first-child{margin-top:0}.content.svelte-16fwwjf p:where(.svelte-16fwwjf){color:var(--text-secondary);font-size:.95rem;line-height:1.7;margin-bottom:1rem}.content.svelte-16fwwjf p:where(.svelte-16fwwjf) strong:where(.svelte-16fwwjf){color:var(--text)}.formula.svelte-16fwwjf{margin:1.5rem 0;padding:1.1rem 1.25rem;border:1px solid var(--border);border-left:2px solid var(--accent);border-radius:6px;background:#ffffff05}.formula-body.svelte-16fwwjf{font-family:var(--font-mono);font-size:1.02rem;color:var(--text);text-align:center;letter-spacing:.01em;overflow-x:auto;padding-bottom:.25rem}.formula-body.svelte-16fwwjf sub:where(.svelte-16fwwjf){font-size:.68em;color:var(--text-secondary)}.formula-caption.svelte-16fwwjf{margin-top:.6rem;font-size:.8rem;line-height:1.55;color:var(--text-secondary);text-align:center}.formula-caption.svelte-16fwwjf em:where(.svelte-16fwwjf){font-style:italic}.demo.svelte-16fwwjf{border-top:1px solid var(--border);padding-top:2rem;scroll-margin-top:80px}.demo-heading.svelte-16fwwjf{font-family:var(--font-heading);font-size:1.4rem;font-weight:500;font-style:italic;color:var(--text);margin-bottom:.75rem}.demo-intro.svelte-16fwwjf{color:var(--text-secondary);font-size:.95rem;line-height:1.7;margin-bottom:2rem;max-width:720px}.demo-intro.svelte-16fwwjf strong{color:var(--text)}@media(max-width:768px){.page.svelte-16fwwjf{padding:7rem 1.5rem 4rem}.header-actions.svelte-16fwwjf{flex-direction:column;align-items:flex-start}}
