.freshness[data-v-ee2e9798]{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.dot[data-v-ee2e9798]{background:var(--status-ok);border-radius:50%;flex-shrink:0;width:8px;height:8px}.stale .dot[data-v-ee2e9798]{background:var(--status-stale)}.label[data-v-ee2e9798]{white-space:nowrap}.app-header[data-v-f5584f9f]{height:var(--header-height);background:var(--bg-deep);border-bottom:1px solid var(--border-subtle);z-index:100;position:sticky;top:0}.header-inner[data-v-f5584f9f]{max-width:1600px;height:100%;padding:0 var(--space-md);align-items:center;gap:var(--space-lg);margin:0 auto;display:flex}.logo[data-v-f5584f9f]{align-items:center;gap:var(--space-sm);color:var(--text-primary);white-space:nowrap;transition:opacity var(--duration-fast);font-size:15px;font-weight:700;text-decoration:none;display:flex}.logo[data-v-f5584f9f]:hover{opacity:.85}.logo-icon[data-v-f5584f9f]{flex-shrink:0}.mobile-toggle[data-v-f5584f9f]{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:8px;display:none}.hamburger[data-v-f5584f9f]{flex-direction:column;gap:4px;width:20px;display:flex}.hamburger span[data-v-f5584f9f]{background:var(--text-primary);height:2px;transition:transform var(--duration-normal), opacity var(--duration-normal);border-radius:1px;display:block}.hamburger.open span[data-v-f5584f9f]:first-child{transform:translateY(6px)rotate(45deg)}.hamburger.open span[data-v-f5584f9f]:nth-child(2){opacity:0}.hamburger.open span[data-v-f5584f9f]:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.nav[data-v-f5584f9f]{align-items:center;gap:2px;display:flex}.nav-link[data-v-f5584f9f]{border-radius:var(--radius-sm);color:var(--text-secondary);transition:color var(--duration-fast), background var(--duration-fast);align-items:center;min-height:36px;padding:6px 12px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.nav-link[data-v-f5584f9f]:hover{color:var(--text-primary);background:var(--bg-hover)}.nav-link--active[data-v-f5584f9f]{color:var(--text-primary);background:var(--accent-glow);box-shadow:inset 0 -2px 0 var(--accent)}.more-wrapper[data-v-f5584f9f]{position:relative}.more-btn[data-v-f5584f9f]{cursor:pointer;background:0 0;border:none;gap:4px;font-family:inherit}.more-chevron[data-v-f5584f9f]{transition:transform var(--duration-fast)}.more-chevron.open[data-v-f5584f9f]{transform:rotate(180deg)}.more-menu[data-v-f5584f9f]{top:calc(100% + 6px);background:var(--bg-deep);border:1px solid var(--border-default);border-radius:var(--radius-sm);z-index:200;flex-direction:column;gap:2px;min-width:160px;padding:4px;display:flex;position:absolute;inset-inline-start:0;box-shadow:0 8px 24px #0000004d}.more-link[data-v-f5584f9f]{border-radius:var(--radius-sm);color:var(--text-secondary);transition:color var(--duration-fast), background var(--duration-fast);align-items:center;min-height:36px;padding:8px 12px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.more-link[data-v-f5584f9f]:hover,.more-link[data-v-f5584f9f]:focus{color:var(--text-primary);background:var(--bg-hover);outline:none}.more-link--active[data-v-f5584f9f]{color:var(--text-primary);background:var(--accent-glow)}.mobile-only[data-v-f5584f9f]{display:none}.mobile-divider[data-v-f5584f9f]{background:var(--border-subtle);height:1px;margin:4px 0}.app-link[data-v-f5584f9f]{border-radius:var(--radius-sm);border:1px solid var(--accent-border);color:var(--accent);white-space:nowrap;transition:background var(--duration-fast);align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:500;text-decoration:none;display:flex}.app-link[data-v-f5584f9f]:hover{background:var(--accent-glow)}.header-right[data-v-f5584f9f]{align-items:center;gap:var(--space-md);margin-inline-start:auto;display:flex}.locale-wrap[data-v-f5584f9f]{align-items:center;gap:5px;display:inline-flex}.locale-icon[data-v-f5584f9f]{color:var(--text-muted);flex-shrink:0}.locale-select[data-v-f5584f9f]{border-radius:var(--radius-sm);border:1px solid var(--border-default);background:var(--bg-surface);height:32px;color:var(--text-secondary);font-size:12px;font-family:var(--font-ui);padding:0 8px}.locale-select[data-v-f5584f9f]:hover{border-color:var(--text-muted)}.locale-select[data-v-f5584f9f]:focus-visible{box-shadow:var(--focus-ring);outline:none}.theme-toggle[data-v-f5584f9f]{border-radius:var(--radius-sm);border:1px solid var(--border-default);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast), background var(--duration-fast), border-color var(--duration-fast);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.theme-toggle[data-v-f5584f9f]:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--text-muted)}.theme-toggle[data-v-f5584f9f]:focus-visible{box-shadow:var(--focus-ring)}@media (width<=768px){.app-link[data-v-f5584f9f]{display:none}.mobile-toggle[data-v-f5584f9f]{margin-inline-start:auto;display:block}.header-right[data-v-f5584f9f]{margin-left:0}.desktop-only[data-v-f5584f9f]{display:none}.mobile-only[data-v-f5584f9f]{display:flex}.mobile-divider[data-v-f5584f9f]{display:block}.nav[data-v-f5584f9f]{top:var(--header-height);background:var(--bg-deep);border-bottom:1px solid var(--border-default);padding:var(--space-sm);flex-direction:column;gap:2px;display:none;position:absolute;left:0;right:0;box-shadow:0 8px 24px #0006}.nav.open[data-v-f5584f9f]{display:flex}.nav-link[data-v-f5584f9f]{min-height:44px;padding:10px 12px;font-size:14px}}@media (width<=480px){.logo-text[data-v-f5584f9f]{font-size:13px}}.app-footer[data-v-f18e9095]{border-top:1px solid var(--border-subtle);background:var(--bg-deep);padding:12px 20px}.footer-inner[data-v-f18e9095]{justify-content:space-between;align-items:center;gap:16px;max-width:1600px;margin:0 auto;display:flex}.footer-text[data-v-f18e9095]{color:var(--text-muted);font-size:12px}.link[data-v-f18e9095]{color:var(--accent)}.link[data-v-f18e9095]:hover{text-decoration:underline}@media (width<=480px){.footer-inner[data-v-f18e9095]{text-align:center;flex-direction:column}}.event-ticker[data-v-4c6d7a62]{background:var(--bg-deep);border-bottom:1px solid var(--border-subtle);height:30px;overflow:hidden}.ticker-inner[data-v-4c6d7a62]{max-width:1600px;height:100%;padding:0 var(--space-md);align-items:center;gap:10px;margin:0 auto;display:flex}.ticker-dot[data-v-4c6d7a62]{border-radius:50%;flex-shrink:0;width:6px;height:6px}.ticker-dot--pulse[data-v-4c6d7a62]{animation:3s ease-in-out infinite ticker-pulse-4c6d7a62}@keyframes ticker-pulse-4c6d7a62{0%,to{opacity:1}50%{opacity:.4}}.ticker-headline[data-v-4c6d7a62]{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11px;overflow:hidden}.ticker-events[data-v-4c6d7a62]{flex-shrink:0;gap:2px;margin-inline-start:auto;display:flex}.ticker-event[data-v-4c6d7a62]{border:1px solid var(--border-subtle);cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast);white-space:nowrap;background:0 0;border-radius:3px;align-items:center;gap:4px;padding:2px 8px;font-family:inherit;display:flex}.ticker-event[data-v-4c6d7a62]:hover{background:var(--bg-hover);border-color:var(--border-default)}.ticker-event__dot[data-v-4c6d7a62]{border-radius:50%;flex-shrink:0;width:4px;height:4px}.ticker-event__sv[data-v-4c6d7a62]{font-family:var(--font-mono);font-size:10px;font-weight:700}.ticker-event__type[data-v-4c6d7a62]{color:var(--text-muted);font-size:10px}.ticker-event__time[data-v-4c6d7a62]{font-size:9px;font-family:var(--font-mono);color:var(--text-muted);opacity:.7}.ticker-stats[data-v-4c6d7a62]{border-inline-end:1px solid var(--border-subtle);flex-shrink:0;gap:12px;padding-inline-end:10px;display:flex}.ticker-stat[data-v-4c6d7a62]{font-family:var(--font-mono);align-items:baseline;gap:3px;font-size:11px;display:flex}.ticker-stat__value[data-v-4c6d7a62]{color:var(--text-primary);font-weight:600}.ticker-stat__label[data-v-4c6d7a62]{color:var(--text-muted);font-size:9px}.ticker-disconnected[data-v-4c6d7a62]{color:var(--status-stale);margin-inline-start:auto;font-size:10px;font-style:italic}@media (width<=768px){.ticker-stats[data-v-4c6d7a62],.ticker-events[data-v-4c6d7a62]{display:none}.ticker-headline[data-v-4c6d7a62]{flex:1}}@media (prefers-reduced-motion:reduce){.ticker-dot--pulse[data-v-4c6d7a62]{animation:none}}.update-banner[data-v-f7e1a124]{z-index:1000;justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--accent);color:var(--bg-deepest);font-size:13px;font-weight:500;display:flex;position:sticky;top:0}.update-banner__btn[data-v-f7e1a124]{border:1px solid var(--bg-deepest);border-radius:var(--radius-sm);color:var(--bg-deepest);cursor:pointer;background:0 0;padding:4px 12px;font-size:13px;font-weight:600}.update-banner__btn[data-v-f7e1a124]:hover{background:#00000026}.main-content[data-v-fd650121]{padding:var(--space-lg) var(--space-md);flex:1;width:100%;max-width:1600px;margin:0 auto}.main-content[data-v-fd650121]:focus,.main-content[data-v-fd650121]:focus-visible{box-shadow:none;outline:none}@media (width>=768px){.main-content[data-v-fd650121]{padding:var(--space-lg)}}@font-face{font-family:Inter;src:url(../fonts/Inter/Inter-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(../fonts/Inter/Inter-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(../fonts/Inter/Inter-SemiBold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(../fonts/Inter/Inter-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(../fonts/JetBrainsMono/JetBrainsMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;line-height:1.5}img,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}a{color:inherit;text-decoration:none}table{border-collapse:collapse;border-spacing:0}:root{--bg-deepest:#0a0a1a;--bg-deep:#0d1117;--bg-surface:#161b22;--bg-elevated:#1c2333;--bg-hover:#21283b;--text-primary:#e6edf3;--text-secondary:#9ba4ae;--text-muted:#656d76;--gps-color:#2dd4bf;--sbas-color:#c9d1d9;--galileo-color:#58a6ff;--beidou-color:#bc8cff;--navic-color:#f778ba;--qzss-color:#e3b341;--glonass-color:#f0883e;--kass-color:#39d353;--status-ok:#58a6ff;--status-warning:#d29922;--status-error:#f85149;--status-stale:#656d76;--accent:#a78bfa;--accent-hover:#c4b5fd;--accent-glow:#a78bfa1f;--accent-border:#a78bfa4d;--focus-ring:0 0 0 2px var(--bg-deepest), 0 0 0 4px var(--accent);--border-subtle:#f0f6fc1a;--border-default:#30363d;--font-ui:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", "SF Mono", Consolas, monospace;--header-height:56px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--duration-fast:.1s;--duration-normal:.2s;--duration-slow:.3s}[data-theme=light]{--bg-deepest:#e8eaed;--bg-deep:#dfe2e6;--bg-surface:#e8eaed;--bg-elevated:#dfe2e6;--bg-hover:#d3d7dc;--text-primary:#1a1d21;--text-secondary:#525960;--text-muted:#747b84;--gps-color:#0d9488;--sbas-color:#4a525a;--galileo-color:#0969da;--beidou-color:#8250df;--navic-color:#bf3989;--qzss-color:#866100;--glonass-color:#bc4c00;--kass-color:#1a7f37;--status-ok:#0969da;--status-warning:#9a6700;--status-error:#cf222e;--status-stale:#747b84;--accent:#7c3aed;--accent-hover:#6d28d9;--accent-glow:#7c3aed1f;--accent-border:#7c3aed73;--focus-ring:0 0 0 2px #e8eaed, 0 0 0 4px var(--accent);--border-subtle:#1f23282e;--border-default:#b8bec6}body{font-family:var(--font-ui);background:var(--bg-deepest);color:var(--text-primary);font-size:14px;line-height:1.6}#app{flex-direction:column;min-height:100vh;display:flex}.skip-link{top:-100%;z-index:9999;padding:var(--space-sm) var(--space-md);background:var(--accent);color:var(--bg-deepest);border-radius:0 0 var(--radius-sm) var(--radius-sm);font-weight:600;text-decoration:none;position:absolute;inset-inline-start:var(--space-md)}.skip-link:focus{top:0}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}:focus:not(:focus-visible){box-shadow:none;outline:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.mono{font-family:var(--font-mono)}.text-ok{color:var(--status-ok)}.text-warning{color:var(--status-warning)}.text-error{color:var(--status-error)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.pulse{animation:2s ease-in-out infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid var(--border-default);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}@media (prefers-reduced-motion:reduce){.pulse,.spinner{animation:none}.fade-enter-active,.fade-leave-active{transition:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-md)}a.link{color:var(--accent);transition:color var(--duration-fast);text-decoration:none}a.link:hover{color:var(--accent-hover);text-decoration:underline}.data-table{width:100%;font-family:var(--font-mono);direction:ltr;font-size:12.5px;line-height:1.4}.data-table th{text-align:end;color:var(--text-secondary);border-bottom:2px solid var(--border-default);white-space:nowrap;-webkit-user-select:none;user-select:none;font-weight:600;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-surface);z-index:1;padding:10px 12px;font-size:11px;position:sticky;top:0}.data-table th:first-child{text-align:start}.data-table th[aria-sort]{cursor:pointer}.data-table th:hover{color:var(--text-primary)}.data-table td{text-align:end;border-bottom:1px solid var(--border-subtle);white-space:nowrap;padding:7px 12px}.data-table td:first-child{text-align:start}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table tbody tr:nth-child(2n){background:#8080800a}.data-table tbody tr:nth-child(2n):hover{background:var(--bg-hover)}.page-title{letter-spacing:-.01em;font-size:22px;font-weight:700;line-height:1.3}.section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;font-size:12px;font-weight:600}.state-message{text-align:center;padding:48px var(--space-md);color:var(--text-secondary)}.state-message--error{color:var(--status-error)}.state-message .spinner{width:24px;height:24px;margin:0 auto 12px;display:block}.fade-enter-active,.fade-leave-active{transition:opacity var(--duration-normal) ease}.fade-enter-from,.fade-leave-to{opacity:0}@media (width<=640px){body{font-size:13px}.card{border-radius:var(--radius-sm);padding:12px}}
