.uplot,.uplot *,.uplot :before,.uplot :after{box-sizing:border-box}.uplot{width:min-content;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{-webkit-user-select:none;user-select:none;position:relative}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{width:100%;height:100%;display:block;position:relative}.u-axis{position:absolute}.u-legend{text-align:center;margin:auto;font-size:14px}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{pointer-events:none;background:#00000012;position:absolute}.u-cursor-x,.u-cursor-y{pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.u-hz .u-cursor-x,.u-vt .u-cursor-y{border-right:1px dashed #607d8b;height:100%}.u-hz .u-cursor-y,.u-vt .u-cursor-x{border-bottom:1px dashed #607d8b;width:100%}.u-cursor-pt{pointer-events:none;will-change:transform;border:0 solid;border-radius:50%;position:absolute;top:0;left:0;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1011;--panel:#141719;--panel-strong:#101315;--surface:#1b2023;--surface-2:#22282c;--border:#30383d;--border-soft:#273035;--text:#eef5f4;--muted:#96a3a4;--accent:#48e0d1;--accent-2:#f8d36c;--warning:#f59e0b;--danger:#fb7185;--mono:ui-monospace, "SF Mono", Menlo, "Roboto Mono", Consolas, monospace;--rule:#48e0d129;--rule-strong:#48e0d152;--glass:linear-gradient(180deg, #080f11eb, #050a0cde);--fs-tag:12px;--fs-micro:13px;--fs-small:14px;--fs-body:15px;--fs-value:17px;--fs-title:19px;--tabs-h:54px;background:var(--bg);color:var(--text);font-synthesis:weight;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0}button,input,select{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.shell{background:var(--bg);grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;display:grid;position:relative;overflow:hidden}.cbar{min-height:46px;padding:env(safe-area-inset-top,0px) 14px 0;border-bottom:1px solid var(--rule-strong);font:600 var(--fs-small)/1 var(--mono);color:#9fe8df;-webkit-user-select:none;user-select:none;background:repeating-linear-gradient(0deg,#48e0d108 0 1px,#0000 1px 3px),linear-gradient(#0a1214,#060c0e);align-items:center;gap:14px;display:flex}.cbar.alarm{background:repeating-linear-gradient(0deg,#fb718508 0 1px,#0000 1px 3px),linear-gradient(#140b0e,#0b0608);border-bottom-color:#fb718599}.cbar-ident{flex:none;align-items:center;gap:10px;display:flex}.led{background:var(--warning);border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 8px #f59e0be6}.led.ok{background:var(--accent);box-shadow:0 0 8px #48e0d1e6}.led.fail{background:var(--danger);box-shadow:0 0 8px #fb7185e6}.led.wait{animation:1s step-end infinite led-blink}@keyframes led-blink{50%{opacity:.25}}.cbar-mark{font-size:var(--fs-value);letter-spacing:.3em;color:#eafffb;text-shadow:0 0 16px #48e0d173;font-weight:800}.cbar-repo{color:var(--muted);pointer-events:auto;flex:none;justify-content:center;align-items:center;margin-left:-9px;padding:4px;display:inline-flex}.cbar-repo:hover{color:var(--accent)}.cbar-alerts{flex:0 auto;align-items:center;gap:6px;min-width:0;margin-right:8px;display:flex}.cbar-spacer{flex:auto}.cbar-stations{flex:none;gap:6px;display:flex}.cbar-stations button{border:1px solid var(--rule);height:32px;color:var(--muted);cursor:pointer;font:700 var(--fs-micro)/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;background:0 0;align-items:center;gap:7px;padding:0 12px;display:inline-flex;position:relative}.cbar-stations button:hover:not(:disabled){border-color:var(--rule-strong);color:var(--text)}.cbar-stations button.open{border-color:var(--rule-strong);color:var(--accent);box-shadow:inset 0 2px 0 var(--accent);background:#48e0d124}.cbar-stations button:disabled{opacity:.35;cursor:default}.cbar-stations button.avail:not(.open):after{content:"";background:var(--accent);width:5px;height:5px;position:absolute;top:4px;right:4px;box-shadow:0 0 6px #48e0d1e6}.map-stage{min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}.map{background:#11181a;width:100%;height:100%}.alert-strip{display:none}.alert-chip{font:800 var(--fs-micro)/1.2 var(--mono);letter-spacing:.12em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-left:2px solid;padding:4px 9px}.alert-chip.danger{color:#ffd9df;border-left-color:var(--danger);background:#fb718538;animation:1.1s ease-in-out infinite alert-pulse}@keyframes alert-pulse{50%{background:#fb718580;box-shadow:0 0 14px #fb718573}}.alert-chip.warning{color:#ffe6b8;border-left-color:var(--warning);background:#f59e0b38}.alert-chip b{font-variant-numeric:tabular-nums}.station{z-index:30;border:1px solid var(--rule-strong);background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-direction:column;max-height:calc(100% - 24px);display:flex;position:absolute;top:12px;box-shadow:inset 0 0 0 1px #050a0b8c}.station-target{clip-path:polygon(0 0,100% 0,100% 100%,14px 100%,0 calc(100% - 14px));width:430px;left:12px}.station-traffic{clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%);width:340px;max-height:calc(100% - 246px);right:12px}.station-systems{z-index:40;clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%);width:400px;max-height:calc(100% - 246px);right:12px}.station-head{border-bottom:1px solid var(--rule);min-height:36px;font:700 var(--fs-micro)/1 var(--mono);background:repeating-linear-gradient(0deg,#48e0d10d 0 1px,#0000 1px 3px),#050a0b99;flex:none;align-items:center;gap:8px;padding:0 8px 0 12px;display:flex;position:relative}.station-head:before{content:"";border:1px solid var(--rule-strong);pointer-events:none;border-bottom:0;border-right:0;width:9px;height:9px;position:absolute;top:3px;left:3px}.station-tag{color:var(--accent);letter-spacing:.22em;text-transform:uppercase;flex:none;align-items:center;gap:7px;display:inline-flex}.station-tag:before{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 6px #48e0d1b3}.station-id{font-size:var(--fs-value);letter-spacing:.09em;color:var(--text);flex:none;font-weight:800}.station-meta{min-width:0;color:var(--muted);font-size:var(--fs-micro);letter-spacing:.05em;text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.station-count{color:var(--text);font-size:var(--fs-small);font-variant-numeric:tabular-nums;flex:none}.station-spacer{flex:auto}.station-sub{border-bottom:1px solid var(--rule);color:var(--muted);font:600 var(--fs-micro)/1.3 var(--mono);letter-spacing:.05em;flex:none;padding:6px 12px 7px}.station-count i{color:var(--muted);font-style:normal}.station-act{width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;display:inline-flex}.station-act:hover{border-color:var(--rule-strong);color:var(--text)}.station-act.on{border-color:var(--rule-strong);color:var(--accent)}.station-act.on svg{fill:currentColor}.station-select{border:1px solid var(--rule);background:var(--panel-strong);height:28px;color:var(--text);font:700 var(--fs-tag)/1.2 var(--mono);letter-spacing:.06em;border-radius:0;margin-left:auto;padding:0 4px}.station-search{border-bottom:1px solid var(--rule);min-height:38px;color:var(--accent);background:#050a0b66;flex:none;align-items:center;gap:9px;padding:0 10px 0 12px;display:flex}.station-search input{min-width:0;color:var(--text);font:600 var(--fs-small)/1 var(--mono);letter-spacing:.07em;background:0 0;border:0;outline:0;flex:auto}.station-search input::placeholder{color:#5f6e70;letter-spacing:.11em}.station-search input::-webkit-search-cancel-button{display:none}.station-search-clear{width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.station-search-clear:hover{color:var(--text)}.station-body{overscroll-behavior:contain;flex:auto;min-height:0;padding:12px;overflow-y:auto}.station-body-flush{padding:0}.console-columns{padding:10px}.console-columns .cblock{margin:0 0 10px}.block-empty{color:var(--muted);font:600 var(--fs-micro)/1.5 var(--mono);letter-spacing:.08em;text-align:center;padding:20px 12px}.target-grid{border:1px solid var(--rule);background:var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;display:grid}.target-grid>div{background:#050a0b8c;min-width:0;padding:5px 8px 6px}.target-grid dt{color:var(--muted);font:700 var(--fs-tag)/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase}.target-grid dd{color:var(--text);font:700 var(--fs-body)/1.2 var(--mono);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;overflow:hidden}.target-wide{grid-column:1/-1}.status-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:10px 10px 0}.cblock>.status-grid:last-child{margin-bottom:10px}.target-metric{cursor:pointer}.target-metric:hover{background:#48e0d11f}.target-metric.metric-active{box-shadow:inset 2px 0 0 var(--accent-2);background:#f8d36c21}.target-alert{font:800 var(--fs-small)/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:10px;padding:7px 10px;display:flex}.target-alert.danger{border-left:3px solid var(--danger);color:#ffd9df;background:#fb718529}.target-alert.warning{border-left:3px solid var(--warning);color:#ffe6b8;background:#f59e0b29}.target-alert-code{font-variant-numeric:tabular-nums;background:#00000059;margin-left:auto;padding:1px 6px}.target-row{width:100%;min-height:44px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #48e0d114;grid-template-columns:3px minmax(0,1fr) auto;align-items:center;gap:10px;padding:5px 10px 5px 0;display:grid}.row-bar{align-self:stretch;width:3px}.row-id,.row-num{flex-direction:column;gap:2px;min-width:0;display:flex}.row-num{align-items:flex-end}.row-id strong,.row-num strong{font:700 var(--fs-body)/1.1 var(--mono);letter-spacing:.08em}.row-num strong{font-variant-numeric:tabular-nums}.row-id small,.row-num small{color:var(--muted);font:500 var(--fs-micro)/1.1 var(--mono);letter-spacing:.04em}.row-trend{margin-right:3px;font-style:normal;font-weight:900}.row-trend.up{color:#34d399}.row-trend.down{color:#fb7185}.row-trend.level{color:#8aa0a0}.target-row strong,.target-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.target-row:hover,.target-row.hovered{background:#48e0d112}.target-row.active{outline-offset:-1px;background:#48e0d121;outline:1px solid #48e0d18c}.target-row.is-alert{background:#fb718526;box-shadow:inset 0 0 0 1px #fb718580}.target-row.is-alert-warning{background:#f59e0b26;box-shadow:inset 0 0 0 1px #f59e0b80}.target-row.coasting{opacity:.56;filter:saturate(.5)}.cblock{border:1px solid var(--rule);background:#09101280}.cblock>header{border-bottom:1px solid var(--rule);min-height:28px;color:var(--accent);font:700 var(--fs-micro)/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;background:#050a0b99;align-items:center;gap:7px;padding:0 8px 0 10px;display:flex}.cblock>header small{color:var(--muted);font-size:var(--fs-tag);letter-spacing:.08em;margin-left:auto}.import-toast{z-index:5;color:#fda4af;font:600 var(--fs-micro)/1.4 var(--mono);letter-spacing:.04em;pointer-events:none;background:#1a0709f0;border:1px solid #f871718c;padding:8px 10px;position:absolute;bottom:10px;left:10px;right:10px}.cblock-caret{color:var(--muted);flex:none;margin-left:auto;transition:transform .16s}.cblock>header small+.cblock-caret,.cblock>header .cblock-reset+.cblock-caret{margin-left:0}.cblock.collapsed>header{border-bottom:0}.cblock.collapsed>:not(header){display:none}.cblock.collapsed .cblock-caret{transform:rotate(-90deg)}.cblock-reset{border:1px solid var(--rule);height:20px;color:var(--accent-2);cursor:pointer;font:700 var(--fs-tag)/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;background:0 0;margin-left:auto;padding:0 8px}.cblock-reset:hover{border-color:var(--accent-2)}.cblock .block-empty{padding:12px}.receiver-light{background:var(--warning);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #f59e0b29}.receiver-light.on{background:var(--accent);box-shadow:0 0 0 4px #2dd4bf29}.rx-row{border-top:1px solid var(--border-soft);grid-template-columns:9px minmax(0,1fr) auto auto auto auto;align-items:center;gap:8px;min-height:40px;padding:5px 8px 5px 10px;display:grid}.rx-row.off .rx-id strong{color:var(--muted)}.rx-id{flex-direction:column;gap:2px;min-width:0;display:flex}.rx-id strong{color:var(--text);font:700 var(--fs-small)/1.2 var(--mono);letter-spacing:.06em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rx-id small{color:var(--muted);font:500 var(--fs-micro)/1.2 var(--mono);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rx-act{border:1px solid var(--rule);width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex}.rx-act:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.rx-act.on{border-color:var(--rule-strong);color:var(--accent);background:#48e0d124}.rx-act:disabled{opacity:.34;cursor:default}.control-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:9px 10px 0;display:grid}.toggle-row+.control-grid{padding-top:0}.control-grid input:disabled,.control-grid select:disabled{opacity:.35;border-color:var(--border-soft);color:var(--muted);cursor:not-allowed}.unit-input:has(input:disabled) i{opacity:.35}.toggle-row label:has(input:disabled){opacity:.45;cursor:default}.cblock>.control-grid:last-child,.cblock>.slider-list:last-child{padding-bottom:10px}.csub{color:var(--accent);font:700 var(--fs-tag)/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;opacity:.85;align-items:center;gap:9px;padding:11px 10px 0;display:flex}.csub:after{content:"";background:var(--rule);flex:auto;height:1px}.slider-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 10px;padding:9px 10px 0;display:grid}.slider-list .slider-row:last-child:nth-child(odd){grid-column:1/-1}.slider-row{color:#cfdedc;min-width:0;font:600 var(--fs-micro)/1.2 var(--mono);letter-spacing:.06em;flex-direction:column;gap:3px;display:flex}.slider-row>span{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.slider-row b{color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:.04em}.slider-row input[type=range]{width:100%;height:20px;accent-color:var(--accent);appearance:none;cursor:pointer;background:0 0;border:0;padding:0}.slider-row input[type=range]::-webkit-slider-runnable-track{background:var(--rule);border-radius:2px;height:3px}.slider-row input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);border:0;border-radius:50%;width:11px;height:11px;margin-top:-4px;transition:box-shadow .15s}.slider-row input[type=range]:hover::-webkit-slider-thumb{box-shadow:0 0 0 4px #48e0d12e}.slider-row input[type=range]:active::-webkit-slider-thumb{box-shadow:0 0 0 6px #48e0d147}.slider-row input[type=range]::-moz-range-track{background:var(--rule);border-radius:2px;height:3px}.slider-row input[type=range]::-moz-range-thumb{background:var(--accent);border:0;border-radius:50%;width:11px;height:11px;transition:box-shadow .15s}.slider-row input[type=range]:hover::-moz-range-thumb{box-shadow:0 0 0 4px #48e0d12e}.slider-row input[type=range]:active::-moz-range-thumb{box-shadow:0 0 0 6px #48e0d147}.control-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.control-grid.control-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cov-actions{gap:6px;padding:7px 10px;display:flex}.cov-actions button{border:1px solid var(--rule);height:20px;color:var(--muted);cursor:pointer;font:700 var(--fs-tag)/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;background:0 0;padding:0 8px}.cov-actions button:hover{border-color:var(--accent);color:var(--accent)}.cov-actions button.active{border-color:var(--rule-strong);color:var(--accent);background:#48e0d124}.control-grid label{min-width:0;color:var(--muted);font:700 var(--fs-tag)/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;flex-direction:column;gap:4px;display:flex}.control-grid input,.control-grid select{border:1px solid var(--rule);background:var(--panel-strong);width:100%;min-width:0;height:30px;color:var(--text);font:600 var(--fs-small)/1 var(--mono);border-radius:0;padding:0 8px}.control-grid input[type=range]{height:20px;accent-color:var(--accent);background:0 0;border:0;padding:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}.unit-input{min-width:0;display:block;position:relative}.unit-input input{padding-right:36px}.unit-input i{color:var(--muted);font:700 var(--fs-tag)/1 var(--mono);letter-spacing:.06em;pointer-events:none;font-style:normal;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.toggle-row{color:#cfdedc;font:600 var(--fs-micro)/1 var(--mono);letter-spacing:.06em;flex-wrap:wrap;gap:8px 12px;padding:9px 10px 10px;display:flex}.toggle-row label{cursor:pointer;align-items:center;gap:5px;display:inline-flex}.toggle-row .toggle-full{flex-basis:100%}.toggle-row input{accent-color:var(--accent)}.select-row{color:var(--muted);font:700 var(--fs-tag)/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;display:flex}.select-row select{border:1px solid var(--rule);background:var(--panel-strong);height:26px;color:var(--text);font:600 var(--fs-small)/1 var(--mono);border-radius:0}.source-chips{flex-wrap:wrap;gap:5px;padding:9px 10px 10px;display:flex}.source-chip{border:1px solid var(--rule);background:var(--panel-strong);color:var(--muted);font:600 var(--fs-micro)/1.5 var(--mono);letter-spacing:.06em;align-items:center;gap:9px;padding:2px 8px;display:inline-flex}.source-chip b{color:var(--text);font-variant-numeric:tabular-nums}.history-options{justify-content:space-between;align-items:center;gap:16px;display:flex}.history-panel{border-top:1px solid var(--rule);flex-direction:column;gap:9px;margin-top:11px;padding-top:11px;display:flex}.history-chart-head,.history-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.history-chart-head{color:var(--muted);font:700 var(--fs-tag)/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between}.history-series{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.history-series button{border:1px solid color-mix(in srgb, var(--series-color) 55%, transparent);background:var(--panel-strong);min-height:22px;color:var(--text);cursor:pointer;font:700 var(--fs-tag)/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:5px;padding:0 7px;display:inline-flex}.history-series button:before{background:var(--series-color);content:"";width:7px;height:7px}.history-chart-wrap{border:1px solid var(--rule);background:radial-gradient(120% 90% at 50% 0%, #48e0d10d, transparent 70%), var(--panel-strong);min-height:232px;position:relative;overflow:hidden}.history-chart-wrap:before,.history-chart-wrap:after{content:"";border:1px solid var(--rule-strong);pointer-events:none;width:9px;height:9px;position:absolute}.history-chart-wrap:before{border-bottom:0;border-right:0;top:3px;left:3px}.history-chart-wrap:after{border-top:0;border-left:0;bottom:3px;right:3px}.history-chart{min-height:232px}.history-empty{color:var(--muted);font:600 var(--fs-micro)/1.4 var(--mono);letter-spacing:.1em;text-align:center;text-transform:uppercase;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.history-chart .uplot{color:var(--text);font-family:var(--mono);background:0 0}.history-chart .u-cursor-x{border-right:1px dashed #48e0d1b3}.history-chart .u-cursor-y{display:none}.chart-tip{z-index:2;border:1px solid var(--rule-strong);pointer-events:none;font:600 var(--fs-micro)/1.25 var(--mono);letter-spacing:.04em;background:#050a0ceb;grid-template-columns:max-content max-content;gap:3px 16px;padding:6px 9px;display:grid;position:absolute;top:8px}.chart-tip.side-right{transform:translate(14px)}.chart-tip.side-left{transform:translate(calc(-100% - 14px))}.chart-tip-row{display:contents}.chart-tip-row i{vertical-align:0;width:8px;height:8px;margin-right:7px;display:inline-block}.chart-tip-row span{color:var(--muted);text-transform:uppercase;font-size:var(--fs-tag);letter-spacing:.08em;white-space:nowrap;line-height:1.5}.chart-tip-row b{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;justify-self:end}.chart-time{color:var(--muted);font:600 var(--fs-micro)/1.2 var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.06em;text-align:center}.history-panel input[type=range]{appearance:none;cursor:pointer;background:0 0;border:0;width:100%;height:22px;margin:0}.history-panel input[type=range]::-webkit-slider-runnable-track{border:1px solid var(--rule);background:var(--panel-strong);height:4px}.history-panel input[type=range]::-moz-range-track{border:1px solid var(--rule);background:var(--panel-strong);height:4px}.history-panel input[type=range]::-moz-range-progress{background:var(--accent);height:4px}.history-panel input[type=range]::-webkit-slider-thumb{background:var(--accent);appearance:none;border:0;border-radius:0;width:8px;height:16px;margin-top:-7px;box-shadow:0 0 8px #48e0d199}.history-panel input[type=range]::-moz-range-thumb{background:var(--accent);border:0;border-radius:0;width:8px;height:16px;box-shadow:0 0 8px #48e0d199}.history-meta{color:var(--muted);font:600 var(--fs-micro)/1.3 var(--mono);font-variant-numeric:tabular-nums;justify-content:space-between}.history-meta a{color:var(--accent-2);align-items:center;gap:4px;text-decoration:none;display:inline-flex}.chevron{color:var(--muted);transition:transform .14s}.chevron.open{transform:rotate(180deg)}.tracklog{border-top:1px solid var(--rule);padding-top:10px}.tracklog-toggle{width:100%;color:var(--text);cursor:pointer;font:700 var(--fs-micro)/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:6px;padding:3px 0;display:inline-flex}.tracklog-toggle small{color:var(--muted);letter-spacing:.06em;font-weight:500}.tracklog-body{border:1px solid var(--rule);background:var(--panel-strong);max-height:260px;margin-top:8px;overflow:auto}.tracklog-body table{border-collapse:collapse;width:100%;font:600 var(--fs-micro)/1.3 var(--mono);font-variant-numeric:tabular-nums}.tracklog-body thead th{z-index:1;background:var(--surface-2);color:var(--muted);font-size:var(--fs-tag);letter-spacing:.1em;text-align:left;text-transform:uppercase;padding:5px 7px;font-weight:700;position:sticky;top:0}.tracklog-body td{border-top:1px solid var(--border-soft);white-space:nowrap;padding:4px 7px}.tracklog-body tbody tr{cursor:pointer}.tracklog-body tbody tr:hover{background:var(--surface-2)}.tracklog-body tbody tr.active{background:#f8d36c24}.tracklog-empty,.tracklog-more{color:var(--muted);font:600 var(--fs-micro)/1.4 var(--mono);letter-spacing:.06em;text-align:center;padding:8px}.map-chrome{z-index:45;pointer-events:none;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:absolute;bottom:12px;right:12px}.map-chrome-buttons{gap:10px;display:flex}.map-credits{z-index:45;flex-direction:column;align-items:flex-start;gap:10px;display:flex;position:absolute;bottom:12px;left:12px}.map-credits-button{width:40px;height:40px;color:var(--text);cursor:pointer;pointer-events:auto;filter:drop-shadow(0 2px 4px #000000bf);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.map-credits-button:hover,.map-credits-button.active{color:var(--accent)}.credits-popover{border:1px solid var(--rule-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overscroll-behavior:contain;width:max-content;max-width:min(22rem,100vw - 24px);max-height:60vh;font-family:var(--mono);font-size:var(--fs-micro);color:var(--text);background:#050a0cf0;padding:10px 12px;line-height:1.5;overflow-y:auto}.credits-row{gap:14px;display:flex}.credits-row+.credits-row{margin-top:6px}.credits-role{width:5.25rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;flex:none}.credits-text{flex:auto;min-width:0}.credits-text a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong)}.credits-text a:hover{text-decoration-color:currentColor}.credits-popover:has(.credits-licenses){max-width:min(34rem,100vw - 24px)}.credits-licenses-toggle{border:0;border-top:1px solid var(--rule);width:100%;color:var(--muted);cursor:pointer;font:inherit;letter-spacing:.06em;text-align:left;text-transform:uppercase;background:0 0;align-items:center;gap:8px;margin-top:10px;padding:8px 0 0;display:flex}.credits-licenses-toggle:hover{color:var(--accent)}.credits-licenses-toggle svg{flex:none;transition:transform .16s}.credits-licenses-toggle svg.turned{transform:rotate(-180deg)}.credits-licenses-toggle i{margin-left:auto;font-style:normal}.credits-licenses{overscroll-behavior:contain;max-height:38vh;margin-top:8px;overflow-y:auto}.credits-note{color:var(--muted);margin:0}.credits-pkg summary{cursor:pointer;align-items:baseline;gap:10px;padding:3px 0;display:flex}.credits-pkg summary::marker{color:var(--muted)}.credits-pkg-name{overflow-wrap:anywhere;min-width:0}.credits-pkg-meta{color:var(--muted);flex:none;margin-left:auto}.credits-pkg pre{border-left:1px solid var(--rule);color:var(--muted);font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 10px;padding:8px 10px}.icon-button{border:1px solid var(--rule-strong);width:40px;height:40px;color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#050a0cd9;justify-content:center;align-items:center;display:inline-flex}.map-compass-button{width:40px;height:40px;color:var(--text);cursor:pointer;pointer-events:auto;filter:drop-shadow(0 2px 4px #000000bf);perspective:150px;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.compass-ball{width:34px;height:34px;transform-style:preserve-3d;will-change:transform;justify-content:center;align-items:center;transition:transform .12s linear;display:flex;position:relative}.compass-ring{border:1.4px solid #eef5f4d9;border-radius:50%;position:absolute;inset:0}.compass-ring.ring-meridian{transform:rotate(45deg)rotateX(90deg)}.compass-ring.ring-meridian-2{transform:rotate(-45deg)rotateX(90deg)}.icon-button:hover{border-color:var(--accent);color:var(--accent)}.icon-button.active{border-color:var(--accent);color:var(--accent);background:#48e0d12e}.map-track-button{pointer-events:auto}.map-legend{border:1px solid var(--rule);color:var(--text);font-family:var(--mono);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;background:#050a0cf0;padding:8px 10px}.legend-title{color:var(--accent);font-size:var(--fs-tag);letter-spacing:.18em;text-transform:uppercase;margin-bottom:6px;font-weight:700}.legend-body{gap:8px;height:92px;display:flex}.legend-bar{border:1px solid #0006;width:8px;height:100%}.legend-ticks{color:var(--muted);font-size:var(--fs-tag);font-variant-numeric:tabular-nums;flex-direction:column;justify-content:space-between;display:flex}.legend-ground{color:var(--muted);font-size:var(--fs-tag);letter-spacing:.08em;align-items:center;gap:6px;margin-top:6px;display:flex}.legend-ground-swatch{border:1px solid #0006;width:9px;height:9px}.station-tabs{display:none}.tt-top-actions{justify-content:flex-end;align-items:center;gap:6px;min-width:0;margin-left:auto;display:inline-flex}.tt-top-actions .tt-age{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-weight:600}.tt-alt{align-items:center;display:inline-flex}.tt-trend{margin-right:.4em;font-weight:900;line-height:1}.tt-trend.up{color:#34d399}.tt-trend.down{color:#fb7185}.tt-trend.level{color:#8aa0a0}.tt-pin{pointer-events:auto;cursor:pointer;color:var(--muted);opacity:.7;align-items:center;display:inline-flex}.tt-pin:hover{opacity:1;color:var(--accent)}.tt-pin.on{color:var(--accent);opacity:1}.tt-pin.on svg{fill:var(--accent)}.tt-close{pointer-events:auto;cursor:pointer;color:var(--muted);opacity:.7;align-items:center;display:inline-flex}.tt-close:hover{opacity:1;color:var(--text)}.airfield-tt .af-tt-name{font-weight:700}.airfield-tt .af-tt-meta{color:var(--muted);font-variant-numeric:tabular-nums}.airfield-tt .af-tt-runways{font-variant-numeric:tabular-nums;border-top:1px solid #eef5f41f;flex-direction:column;gap:2px;margin-top:4px;padding-top:4px;display:flex}.airfield-tt .af-tt-runway-title{color:var(--muted);font-size:var(--fs-micro);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.airfield-tt .af-tt-runway{justify-content:space-between;gap:18px;display:flex}.airfield-tt .af-tt-runway-empty{color:var(--muted)}@media (width<=900px){.shell{grid-template-rows:minmax(0,1fr)}.cbar{z-index:40;min-height:0;padding:calc(env(safe-area-inset-top,0px) + 10px) 12px 8px;pointer-events:none;background:0 0;border-bottom:0;gap:10px;position:absolute;top:0;left:0}.cbar.alarm{background:0 0;border-bottom:0}.cbar-wide{display:none}.cbar-mark{font-size:var(--fs-body);letter-spacing:.2em;text-shadow:0 1px 3px #000000d9,0 0 16px #48e0d173}.cbar-repo{color:#d7ece9;filter:drop-shadow(0 1px 3px #000000d9);padding:8px}.station-tabs{z-index:60;border-top:1px solid var(--rule-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding-bottom:env(safe-area-inset-bottom,0px);background:#050a0ceb;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:absolute;bottom:0;left:0;right:0}.station-tabs button{min-height:var(--tabs-h);color:var(--muted);cursor:pointer;font:700 var(--fs-tag)/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex;position:relative}.station-tabs button.open{box-shadow:inset 0 2px 0 var(--accent);color:var(--accent);background:#48e0d11a}.station-tabs button:disabled{opacity:.35}.station-tabs button.avail:not(.open):after{content:"";background:var(--accent);width:6px;height:6px;position:absolute;top:8px;right:calc(50% - 22px);box-shadow:0 0 6px #48e0d1e6}.station{top:auto;left:0;right:0;bottom:calc(var(--tabs-h) + env(safe-area-inset-bottom,0px));z-index:50;clip-path:none;border-bottom:0;border-left:0;border-right:0;width:auto;height:52vh;max-height:none}.station-systems{height:76vh}.station-head{min-height:44px}.station-act{width:36px;height:36px}.station-select{height:36px;padding:0 6px}.station-search{min-height:44px}.station-search input{font-size:var(--fs-body)}.station-search-clear{width:36px;height:36px}.target-row{gap:12px;min-height:54px}.control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.control-grid input,.control-grid select,.select-row select{height:40px}.control-grid input[type=range],.slider-row input[type=range]{height:34px}.toggle-row{gap:4px 14px}.toggle-row label{min-height:36px}.toggle-row input[type=checkbox]{width:20px;height:20px}.rx-row{min-height:48px}.rx-act{width:38px;height:38px}.cblock-reset,.cov-actions button{height:34px;padding:0 12px}.history-series button{min-height:30px}.tracklog-body thead th:nth-child(4),.tracklog-body thead th:nth-child(5),.tracklog-body tbody td:nth-child(4),.tracklog-body tbody td:nth-child(5){display:none}.map-chrome{right:10px;bottom:calc(var(--tabs-h) + env(safe-area-inset-bottom,0px) + 10px)}.map-credits{left:10px;bottom:calc(var(--tabs-h) + env(safe-area-inset-bottom,0px) + 10px)}.icon-button,.map-compass-button,.map-credits-button{width:44px;height:44px}.credits-licenses{overscroll-behavior:auto;max-height:none;overflow-y:visible}.map-legend{padding:7px 9px}.map-legend .legend-body{height:64px}.alert-strip{z-index:45;pointer-events:none;flex-wrap:wrap;justify-content:center;gap:6px;max-width:calc(100% - 20px);display:flex;position:absolute;top:8px;left:50%;transform:translate(-50%)}}.map-3d{background:#050a0c;position:relative;overflow:hidden}.t3d-overlay{z-index:2;pointer-events:none;contain:layout style;position:absolute;inset:0;overflow:hidden}.t3d-marker{pointer-events:none;will-change:transform;width:0;height:0;position:absolute;top:0;left:0}.t3d-block{pointer-events:auto;position:absolute;top:-16px;left:48px}.t3d-datablock{font:600 12.5px/1.4 var(--mono);color:#9fe8df;white-space:nowrap;text-shadow:0 1px 2px #000;background:#050a0cd9;border-left:3px solid #48e0d18c;flex-direction:column;gap:2px;padding:6px 10px;display:flex}.t3d-datablock .db-top{justify-content:space-between;align-items:center;gap:10px;font-size:14px;display:flex}.t3d-datablock b{letter-spacing:.05em;color:#eafffb;font-weight:800}.t3d-block.selected .t3d-datablock{border-left-color:var(--accent);background:#091416f2;box-shadow:0 0 0 1px #48e0d166,0 4px 14px #0000008c}.t3d-tt{z-index:4000002;pointer-events:none;position:absolute;top:0;left:0}.t3d-tt.airfield-tt{border:1px solid var(--rule-strong);color:var(--text);font-size:var(--fs-small);white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0d1011f0;flex-direction:column;gap:2px;padding:7px 10px;line-height:1.25;display:flex;box-shadow:0 6px 18px #00000073}.t3d-lock{z-index:3;pointer-events:none;color:var(--accent);filter:drop-shadow(0 0 4px #48e0d1b3);will-change:transform;animation:1.6s ease-in-out infinite t3d-lock-pulse;position:absolute;top:0;left:0}.t3d-lock svg{display:block}@keyframes t3d-lock-pulse{50%{opacity:.55}}.t3d-loading{z-index:5;pointer-events:none;font:700 var(--fs-body)/1 var(--mono);letter-spacing:.35em;color:var(--accent);text-shadow:0 0 12px #48e0d199;animation:1.2s ease-in-out infinite t3d-pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes t3d-pulse{50%{opacity:.35}}@media (width<=900px){:root{-webkit-font-smoothing:auto}.t3d-datablock{padding:5px 8px;font-size:11.5px}.t3d-datablock .db-top{font-size:12.5px}}
