:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{box-sizing:border-box;flex-direction:column;width:100%;min-height:100svh;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.dashboard-layout{flex-direction:column;min-height:100vh;font-family:system-ui,sans-serif;display:flex}.dashboard-header{border-bottom:1px solid #333;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.dashboard-header h1{margin:0 .5rem 0 0;font-size:1.1rem}.dashboard-main{flex:1;gap:1rem;min-height:0;padding:1rem;display:flex}.dashboard-column{flex-direction:column;flex:1;gap:1rem;min-width:0;display:flex}.dashboard-map-column{border:1px solid #333;border-radius:8px;flex:2;min-width:0;min-height:480px;position:relative;overflow:hidden}.dashboard-timeline-bar{background:#18181b;border-top:1px solid #333;flex-shrink:0;padding:.6rem 1.25rem;position:sticky;bottom:0}.panel{border:1px solid #333;border-radius:8px;padding:.75rem 1rem}.panel-title{opacity:.8;margin:0 0 .5rem;font-size:.95rem}.empty-hint{opacity:.6;font-size:.85rem}.btn{cursor:pointer;color:inherit;background:0 0;border:1px solid #555;border-radius:6px;padding:.35rem .8rem}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{color:#fff;background:#2563eb;border-color:#2563eb}.btn-danger{color:#dc2626;border-color:#dc2626}.badge{white-space:nowrap;border-radius:999px;padding:.2rem .6rem;font-size:.8rem}.badge-neutral{background:#3f3f46}.badge-success{background:#16a34a}.badge-warning{background:#ca8a04}.badge-danger{background:#dc2626}.flight-path-row,.view-point-row{border-bottom:1px solid #2a2a2a;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.4rem 0;display:flex}.color-swatch{border-radius:50%;width:12px;height:12px;display:inline-block}.flight-path-name,.view-point-name{min-width:8rem}.client-chips{flex-wrap:wrap;gap:.35rem;display:flex}.client-chip{background:#333;border-radius:4px;padding:.15rem .4rem;font-size:.75rem}.client-chip-fresh{background:#16a34a}.client-chip-stale{background:#ca8a04}.client-chip-offline{opacity:.7;background:#555}.event-log-list{max-height:24rem;margin-top:.5rem;overflow-y:auto}.event-log-row{border-bottom:1px solid #2a2a2a;align-items:baseline;gap:.5rem;padding:.3rem 0;font-size:.85rem;display:flex}.event-log-time{opacity:.5;font-variant-numeric:tabular-nums}.connection-group{margin-bottom:.75rem}.connection-group h4{opacity:.7;margin:0 0 .3rem;font-size:.8rem}.connection-list{margin:0;padding:0;list-style:none}.connection-list li{align-items:center;gap:.5rem;padding:.2rem 0;font-size:.85rem;display:flex}.connection-duration{opacity:.6;font-size:.75rem}.timeline-status-bar{align-items:center;gap:.6rem;margin-left:auto;display:flex}.timeline-status-remaining{font-variant-numeric:tabular-nums;opacity:.8}.notification-toasts{z-index:1000;flex-direction:column;gap:.5rem;max-width:22rem;display:flex;position:fixed;top:1rem;right:1rem}.notification-toast{background:#27272a;border:1px solid #444;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .8rem;font-size:.85rem;display:flex;box-shadow:0 4px 12px #0000004d}.notification-toast-warning{border-color:#ca8a04}.notification-toast-danger{border-color:#dc2626}.notification-toast-success{border-color:#16a34a}.notification-toast-close{color:inherit;cursor:pointer;opacity:.6;background:0 0;border:none;font-size:1rem;line-height:1}.notification-toast-close:hover{opacity:1}.muted{opacity:.6;font-size:.8rem}.timeline-picker-row{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.2rem;padding:.4rem .5rem;display:flex}.timeline-picker-row:hover{background:#262626}.timeline-picker-row.selected{background:#1e293b;border-color:#2563eb}.transport-empty{margin:0}.transport-bar-row{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.transport-name{min-width:8rem;font-size:.9rem}.transport-buttons{flex-wrap:wrap;gap:.35rem;display:flex}.transport-scrubber-row{flex:1;align-items:center;gap:.5rem;min-width:12rem;display:flex}.transport-time{font-variant-numeric:tabular-nums;opacity:.8;min-width:2.6rem;font-size:.8rem}.transport-scrubber{cursor:pointer;touch-action:none;background:#333;border-radius:999px;flex:1;height:8px;position:relative}.transport-scrubber-disabled{cursor:not-allowed;opacity:.5}.transport-scrubber-fill{background:#2563eb;border-radius:999px;position:absolute;top:0;bottom:0;left:0}.transport-scrubber-thumb{background:#fff;border-radius:50%;width:14px;height:14px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 1px 3px #00000080}
