mirror of
https://github.com/smittix/intercept.git
synced 2026-06-12 07:53:30 -07:00
fix: resolve two-window hang and sweep UI/theming updates
Fix app becoming unresponsive when two browser windows are open: the root cause was HTTP/1.1 connection pool exhaustion (6-connection limit per origin). VoiceAlerts was opening 3 SSE streams per window by default, so two windows produced 8 connections and permanently starved all regular HTTP requests. - voice-alerts.js: default all streams to false (opt-in) to stay within the browser connection limit; existing user preferences in localStorage are preserved - routes/alerts.py: replace direct AlertManager.stream_events() with sse_stream_fanout so both windows receive every alert instead of competing for the same queue - routes/bluetooth_v2.py: same fanout fix via subscribe_fanout_queue, preserving named SSE events (device_update, scan_started, etc.) Also includes accumulated UI/theming changes: accent-cyan CSS variable sweep across mode CSS/JS files, standalone dashboard pages, template updates, satellite TLE data refresh, and tile provider default rename. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -284,7 +284,7 @@
|
||||
#btLocateMap {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background: #1a1a2e;
|
||||
background: var(--bg-primary, #07090e);
|
||||
}
|
||||
|
||||
.btl-map-overlay-controls {
|
||||
@@ -442,8 +442,8 @@
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.5px;
|
||||
color: var(--accent-cyan, #00d4ff);
|
||||
background: rgba(0, 212, 255, 0.1);
|
||||
border: 1px solid rgba(0, 212, 255, 0.3);
|
||||
background: rgba(var(--accent-cyan-rgb), 0.1);
|
||||
border: 1px solid rgba(var(--accent-cyan-rgb), 0.3);
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s;
|
||||
@@ -452,7 +452,7 @@
|
||||
}
|
||||
|
||||
.btl-detect-irk-btn:hover {
|
||||
background: rgba(0, 212, 255, 0.2);
|
||||
background: rgba(var(--accent-cyan-rgb), 0.2);
|
||||
border-color: var(--accent-cyan, #00d4ff);
|
||||
}
|
||||
|
||||
|
||||
@@ -471,3 +471,26 @@
|
||||
height: 40px;
|
||||
}
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .meteor-visuals-container {
|
||||
--ms-border: rgba(46, 125, 138, 0.22);
|
||||
--ms-surface: linear-gradient(180deg, rgba(2, 6, 6, 0.97) 0%, rgba(1, 3, 3, 0.98) 100%);
|
||||
--ms-accent: #2e7d8a;
|
||||
--ms-accent-dim: rgba(46, 125, 138, 0.12);
|
||||
background: radial-gradient(circle at 14% -18%, rgba(46, 125, 138, 0.10) 0%, rgba(46, 125, 138, 0) 38%),
|
||||
radial-gradient(circle at 86% -26%, rgba(46, 125, 138, 0.07) 0%, rgba(46, 125, 138, 0) 36%),
|
||||
#000202;
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .ms-headline,
|
||||
html[data-ui-tier="enhanced"] .ms-events-panel {
|
||||
background: rgba(2, 6, 6, 0.9);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .ms-events-table th {
|
||||
background: rgba(2, 6, 6, 0.95);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .ms-events-table tr:hover td {
|
||||
background: rgba(46, 125, 138, 0.04);
|
||||
}
|
||||
|
||||
@@ -199,3 +199,17 @@
|
||||
align-items: stretch;
|
||||
}
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .morse-raw-panel {
|
||||
border-color: rgba(46, 125, 138, 0.18);
|
||||
background: rgba(1, 4, 4, 0.9);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .morse-raw-text {
|
||||
color: rgba(70, 180, 200, 0.90);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .morse-metrics-panel span {
|
||||
border-color: rgba(46, 125, 138, 0.18);
|
||||
background: rgba(1, 4, 4, 0.88);
|
||||
}
|
||||
|
||||
@@ -160,14 +160,14 @@
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 4px 10px;
|
||||
background: rgba(0, 229, 255, 0.05);
|
||||
border: 1px solid rgba(0, 229, 255, 0.15);
|
||||
background: rgba(var(--accent-cyan-rgb), 0.05);
|
||||
border: 1px solid rgba(var(--accent-cyan-rgb), 0.15);
|
||||
border-radius: 4px;
|
||||
min-width: 55px;
|
||||
}
|
||||
.radiosonde-strip .strip-stat:hover {
|
||||
background: rgba(0, 229, 255, 0.1);
|
||||
border-color: rgba(0, 229, 255, 0.3);
|
||||
background: rgba(var(--accent-cyan-rgb), 0.1);
|
||||
border-color: rgba(var(--accent-cyan-rgb), 0.3);
|
||||
}
|
||||
.radiosonde-strip .strip-value {
|
||||
font-family: var(--font-mono);
|
||||
|
||||
@@ -342,7 +342,7 @@
|
||||
.sstv-general-image-card:hover {
|
||||
border-color: var(--accent-cyan);
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 4px 12px rgba(0, 212, 255, 0.2);
|
||||
box-shadow: 0 4px 12px rgba(var(--accent-cyan-rgb), 0.2);
|
||||
}
|
||||
|
||||
.sstv-general-image-card-inner {
|
||||
|
||||
@@ -401,7 +401,7 @@
|
||||
.sstv-image-card:hover {
|
||||
border-color: var(--accent-cyan);
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 4px 12px rgba(0, 212, 255, 0.2);
|
||||
box-shadow: 0 4px 12px rgba(var(--accent-cyan-rgb), 0.2);
|
||||
}
|
||||
|
||||
.sstv-image-card-inner {
|
||||
@@ -688,7 +688,7 @@
|
||||
font-weight: 700;
|
||||
color: var(--accent-cyan);
|
||||
letter-spacing: 2px;
|
||||
text-shadow: 0 0 20px rgba(0, 212, 255, 0.3);
|
||||
text-shadow: 0 0 20px rgba(var(--accent-cyan-rgb), 0.3);
|
||||
}
|
||||
|
||||
.sstv-countdown-value.imminent {
|
||||
|
||||
+29
-29
@@ -300,7 +300,7 @@
|
||||
}
|
||||
|
||||
.subghz-btn.active {
|
||||
background: rgba(0, 212, 255, 0.1);
|
||||
background: rgba(var(--accent-cyan-rgb), 0.1);
|
||||
border-color: var(--accent-cyan, var(--accent-cyan));
|
||||
color: var(--accent-cyan, var(--accent-cyan));
|
||||
}
|
||||
@@ -384,9 +384,9 @@
|
||||
}
|
||||
|
||||
.subghz-capture-card.selected {
|
||||
border-color: rgba(0, 212, 255, 0.85);
|
||||
box-shadow: 0 0 0 1px rgba(0, 212, 255, 0.3);
|
||||
background: rgba(0, 212, 255, 0.06);
|
||||
border-color: rgba(var(--accent-cyan-rgb), 0.85);
|
||||
box-shadow: 0 0 0 1px rgba(var(--accent-cyan-rgb), 0.3);
|
||||
background: rgba(var(--accent-cyan-rgb), 0.06);
|
||||
}
|
||||
|
||||
.subghz-capture-header {
|
||||
@@ -455,9 +455,9 @@
|
||||
}
|
||||
|
||||
.subghz-capture-tag.auto {
|
||||
border-color: rgba(0, 212, 255, 0.55);
|
||||
border-color: rgba(var(--accent-cyan-rgb), 0.55);
|
||||
color: var(--accent-cyan);
|
||||
background: rgba(0, 212, 255, 0.12);
|
||||
background: rgba(var(--accent-cyan-rgb), 0.12);
|
||||
}
|
||||
|
||||
.subghz-capture-tag.hint {
|
||||
@@ -536,13 +536,13 @@
|
||||
}
|
||||
|
||||
.subghz-capture-actions button.select-btn {
|
||||
border-color: rgba(0, 212, 255, 0.5);
|
||||
border-color: rgba(var(--accent-cyan-rgb), 0.5);
|
||||
color: var(--accent-cyan);
|
||||
}
|
||||
|
||||
.subghz-capture-actions button.select-btn.selected {
|
||||
border-color: rgba(0, 212, 255, 0.9);
|
||||
background: rgba(0, 212, 255, 0.18);
|
||||
border-color: rgba(var(--accent-cyan-rgb), 0.9);
|
||||
background: rgba(var(--accent-cyan-rgb), 0.18);
|
||||
color: #7beeff;
|
||||
}
|
||||
|
||||
@@ -781,14 +781,14 @@
|
||||
height: 26px;
|
||||
border: 1px solid var(--border-color, #2a3040);
|
||||
border-radius: 4px;
|
||||
background: linear-gradient(90deg, rgba(0, 212, 255, 0.07), rgba(255, 170, 0, 0.07));
|
||||
background: linear-gradient(90deg, rgba(var(--accent-cyan-rgb), 0.07), rgba(255, 170, 0, 0.07));
|
||||
margin-bottom: 8px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.subghz-tx-burst-timeline.dragging {
|
||||
border-color: rgba(0, 212, 255, 0.65);
|
||||
box-shadow: 0 0 0 1px rgba(0, 212, 255, 0.25) inset;
|
||||
border-color: rgba(var(--accent-cyan-rgb), 0.65);
|
||||
box-shadow: 0 0 0 1px rgba(var(--accent-cyan-rgb), 0.25) inset;
|
||||
}
|
||||
|
||||
.subghz-tx-burst-selection {
|
||||
@@ -796,8 +796,8 @@
|
||||
top: 3px;
|
||||
bottom: 3px;
|
||||
border-radius: 3px;
|
||||
border: 1px solid rgba(0, 212, 255, 0.95);
|
||||
background: rgba(0, 212, 255, 0.22);
|
||||
border: 1px solid rgba(var(--accent-cyan-rgb), 0.95);
|
||||
background: rgba(var(--accent-cyan-rgb), 0.22);
|
||||
pointer-events: none;
|
||||
display: none;
|
||||
z-index: 2;
|
||||
@@ -823,8 +823,8 @@
|
||||
}
|
||||
|
||||
.subghz-tx-burst-marker:hover {
|
||||
background: rgba(0, 212, 255, 0.85);
|
||||
border-color: rgba(0, 212, 255, 1);
|
||||
background: rgba(var(--accent-cyan-rgb), 0.85);
|
||||
border-color: rgba(var(--accent-cyan-rgb), 1);
|
||||
}
|
||||
|
||||
.subghz-tx-burst-list {
|
||||
@@ -861,7 +861,7 @@
|
||||
|
||||
.subghz-tx-burst-item button {
|
||||
padding: 2px 8px;
|
||||
border: 1px solid rgba(0, 212, 255, 0.5);
|
||||
border: 1px solid rgba(var(--accent-cyan-rgb), 0.5);
|
||||
border-radius: 3px;
|
||||
background: transparent;
|
||||
color: var(--accent-cyan);
|
||||
@@ -871,7 +871,7 @@
|
||||
}
|
||||
|
||||
.subghz-tx-burst-item button:hover {
|
||||
background: rgba(0, 212, 255, 0.12);
|
||||
background: rgba(var(--accent-cyan-rgb), 0.12);
|
||||
}
|
||||
|
||||
.subghz-tx-modal-actions {
|
||||
@@ -901,13 +901,13 @@
|
||||
}
|
||||
|
||||
.subghz-tx-trim-btn {
|
||||
background: rgba(0, 212, 255, 0.14);
|
||||
background: rgba(var(--accent-cyan-rgb), 0.14);
|
||||
color: var(--accent-cyan);
|
||||
border-color: rgba(0, 212, 255, 0.55) !important;
|
||||
border-color: rgba(var(--accent-cyan-rgb), 0.55) !important;
|
||||
}
|
||||
|
||||
.subghz-tx-trim-btn:hover {
|
||||
background: rgba(0, 212, 255, 0.26);
|
||||
background: rgba(var(--accent-cyan-rgb), 0.26);
|
||||
}
|
||||
|
||||
.subghz-tx-cancel-btn {
|
||||
@@ -1043,7 +1043,7 @@
|
||||
}
|
||||
|
||||
.subghz-action-btn.decode:hover {
|
||||
background: rgba(0, 212, 255, 0.12);
|
||||
background: rgba(var(--accent-cyan-rgb), 0.12);
|
||||
border-color: var(--accent-cyan, var(--accent-cyan));
|
||||
color: var(--accent-cyan, var(--accent-cyan));
|
||||
}
|
||||
@@ -1275,7 +1275,7 @@
|
||||
|
||||
.subghz-phase-step.active {
|
||||
color: var(--accent-cyan, var(--accent-cyan));
|
||||
text-shadow: 0 0 6px rgba(0, 212, 255, 0.3);
|
||||
text-shadow: 0 0 6px rgba(var(--accent-cyan-rgb), 0.3);
|
||||
}
|
||||
|
||||
.subghz-phase-step.completed {
|
||||
@@ -1328,9 +1328,9 @@
|
||||
}
|
||||
|
||||
.subghz-burst-indicator.recent {
|
||||
border-color: rgba(0, 212, 255, 0.45);
|
||||
border-color: rgba(var(--accent-cyan-rgb), 0.45);
|
||||
color: var(--accent-cyan);
|
||||
background: rgba(0, 212, 255, 0.1);
|
||||
background: rgba(var(--accent-cyan-rgb), 0.1);
|
||||
}
|
||||
|
||||
.subghz-burst-indicator.recent .subghz-burst-dot {
|
||||
@@ -1445,8 +1445,8 @@
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.subghz-hub-card--cyan { border-color: rgba(0, 212, 255, 0.2); }
|
||||
.subghz-hub-card--cyan:hover { border-color: var(--accent-cyan, var(--accent-cyan)); background: rgba(0, 212, 255, 0.05); }
|
||||
.subghz-hub-card--cyan { border-color: rgba(var(--accent-cyan-rgb), 0.2); }
|
||||
.subghz-hub-card--cyan:hover { border-color: var(--accent-cyan, var(--accent-cyan)); background: rgba(var(--accent-cyan-rgb), 0.05); }
|
||||
.subghz-hub-card--cyan .subghz-hub-icon { color: var(--accent-cyan, var(--accent-cyan)); }
|
||||
|
||||
.subghz-hub-card--green { border-color: rgba(0, 255, 136, 0.2); }
|
||||
@@ -1736,8 +1736,8 @@
|
||||
|
||||
.subghz-rx-burst-pill.recent {
|
||||
color: var(--accent-cyan);
|
||||
border-color: rgba(0, 212, 255, 0.65);
|
||||
background: rgba(0, 212, 255, 0.12);
|
||||
border-color: rgba(var(--accent-cyan-rgb), 0.65);
|
||||
background: rgba(var(--accent-cyan-rgb), 0.12);
|
||||
}
|
||||
|
||||
.subghz-rx-level-label {
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.12em;
|
||||
color: var(--accent-cyan, #00d4ff);
|
||||
border-bottom: 1px solid rgba(0, 212, 255, 0.2);
|
||||
border-bottom: 1px solid rgba(var(--accent-cyan-rgb), 0.2);
|
||||
padding-bottom: 6px;
|
||||
margin-top: 8px;
|
||||
}
|
||||
@@ -221,7 +221,7 @@
|
||||
fill: none;
|
||||
stroke: var(--accent-cyan, #00d4ff);
|
||||
stroke-width: 1.5;
|
||||
filter: drop-shadow(0 0 2px rgba(0, 212, 255, 0.4));
|
||||
filter: drop-shadow(0 0 2px rgba(var(--accent-cyan-rgb), 0.4));
|
||||
}
|
||||
|
||||
.sys-sparkline-area {
|
||||
|
||||
@@ -1180,3 +1180,139 @@
|
||||
font-family: var(--font-mono, monospace);
|
||||
font-size: 9px;
|
||||
}
|
||||
|
||||
/* ---- Enhanced tier: replace blue palette with signals teal ---- */
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-container {
|
||||
--wf-border: rgba(46, 125, 138, 0.22);
|
||||
--wf-surface: linear-gradient(180deg, rgba(2, 6, 6, 0.97) 0%, rgba(1, 3, 3, 0.98) 100%);
|
||||
background: radial-gradient(circle at 14% -18%, rgba(46, 125, 138, 0.08) 0%, rgba(46, 125, 138, 0) 38%),
|
||||
radial-gradient(circle at 86% -26%, rgba(46, 125, 138, 0.05) 0%, rgba(46, 125, 138, 0) 36%),
|
||||
#000202;
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-headline {
|
||||
background: rgba(2, 6, 6, 0.86);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-headline-tag {
|
||||
color: rgba(70, 185, 200, 0.90);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-rx-vfo {
|
||||
border-color: rgba(46, 125, 138, 0.25);
|
||||
background: linear-gradient(180deg, rgba(3, 8, 8, 0.92) 0%, rgba(1, 4, 4, 0.95) 100%);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-rx-vfo-status {
|
||||
color: rgba(65, 175, 192, 0.88);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-rx-vfo-readout {
|
||||
color: rgba(80, 190, 205, 0.92);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] #wfRxFreqReadout {
|
||||
text-shadow: 0 0 16px rgba(46, 125, 138, 0.25);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-rx-modebank {
|
||||
border-color: rgba(46, 125, 138, 0.22);
|
||||
background: rgba(1, 4, 4, 0.86);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-mode-btn {
|
||||
border-color: rgba(46, 125, 138, 0.24);
|
||||
background: linear-gradient(180deg, rgba(4, 8, 8, 0.95) 0%, rgba(2, 5, 5, 0.95) 100%);
|
||||
color: rgba(65, 175, 192, 0.90);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-mode-btn:hover {
|
||||
border-color: rgba(46, 125, 138, 0.48);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-mode-btn.is-active,
|
||||
html[data-ui-tier="enhanced"] .wf-mode-btn.active {
|
||||
border-color: rgba(46, 125, 138, 0.62);
|
||||
background: linear-gradient(180deg, rgba(6, 16, 18, 0.92) 0%, rgba(4, 12, 14, 0.95) 100%);
|
||||
color: rgba(100, 210, 222, 0.96);
|
||||
box-shadow: 0 0 14px rgba(46, 125, 138, 0.22);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-rx-levels,
|
||||
html[data-ui-tier="enhanced"] .wf-rx-meter-wrap,
|
||||
html[data-ui-tier="enhanced"] .wf-rx-actions {
|
||||
border-color: rgba(46, 125, 138, 0.20);
|
||||
background: rgba(1, 4, 4, 0.85);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-monitor-select {
|
||||
border-color: rgba(46, 125, 138, 0.25);
|
||||
background: rgba(1, 3, 3, 0.8);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-rx-smeter-fill {
|
||||
box-shadow: 0 0 10px rgba(46, 125, 138, 0.22);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-monitor-btn-secondary {
|
||||
border-color: rgba(46, 125, 138, 0.45);
|
||||
background: linear-gradient(180deg, rgba(4, 12, 14, 0.95) 0%, rgba(2, 8, 10, 0.95) 100%);
|
||||
color: rgba(80, 190, 205, 0.90);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-freq-bar {
|
||||
background: rgba(2, 6, 6, 0.78);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-spectrum-canvas-wrap {
|
||||
background: radial-gradient(circle at 50% -120%, rgba(46, 125, 138, 0.06) 0%, rgba(46, 125, 138, 0) 65%);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-band-strip {
|
||||
background: linear-gradient(180deg, rgba(2, 6, 6, 0.96) 0%, rgba(1, 3, 3, 0.98) 100%);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-band-block {
|
||||
border-color: rgba(46, 125, 138, 0.42);
|
||||
color: rgba(80, 190, 205, 0.92);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-band-edge {
|
||||
color: rgba(65, 175, 192, 0.88);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-band-marker::before {
|
||||
background: rgba(46, 125, 138, 0.58);
|
||||
box-shadow: 0 0 5px rgba(46, 125, 138, 0.30);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-band-marker-label {
|
||||
border-color: rgba(46, 125, 138, 0.48);
|
||||
background: rgba(2, 5, 5, 0.95);
|
||||
color: rgba(80, 190, 205, 0.90);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-tune-line {
|
||||
background: rgba(46, 125, 138, 0.72);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-freq-axis {
|
||||
background: rgba(2, 6, 6, 0.86);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-side .section.wf-side-hero {
|
||||
background: linear-gradient(180deg, rgba(3, 8, 8, 0.95) 0%, rgba(1, 4, 4, 0.97) 100%);
|
||||
border-color: rgba(46, 125, 138, 0.30);
|
||||
box-shadow: 0 8px 24px rgba(0, 8, 10, 0.30), inset 0 0 0 1px rgba(255, 255, 255, 0.03);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-side-chip {
|
||||
color: rgba(65, 175, 192, 0.88);
|
||||
border-color: rgba(46, 125, 138, 0.32);
|
||||
background: rgba(6, 16, 18, 0.30);
|
||||
}
|
||||
|
||||
html[data-ui-tier="enhanced"] .wf-side-stat {
|
||||
border-color: rgba(46, 125, 138, 0.20);
|
||||
}
|
||||
|
||||
@@ -308,7 +308,7 @@
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.wxsat-timeline-pass.apt { background: rgba(0, 212, 255, 0.6); }
|
||||
.wxsat-timeline-pass.apt { background: rgba(var(--accent-cyan-rgb), 0.6); }
|
||||
.wxsat-timeline-pass.lrpt { background: rgba(0, 255, 136, 0.6); }
|
||||
.wxsat-timeline-pass.scheduled { border: 1px solid var(--accent-yellow); }
|
||||
|
||||
@@ -585,7 +585,7 @@
|
||||
}
|
||||
|
||||
.wxsat-pass-mode.apt {
|
||||
background: rgba(0, 212, 255, 0.15);
|
||||
background: rgba(var(--accent-cyan-rgb), 0.15);
|
||||
color: var(--accent-cyan);
|
||||
}
|
||||
|
||||
@@ -626,7 +626,7 @@
|
||||
}
|
||||
|
||||
.wxsat-pass-quality.good {
|
||||
background: rgba(0, 212, 255, 0.15);
|
||||
background: rgba(var(--accent-cyan-rgb), 0.15);
|
||||
color: var(--accent-cyan);
|
||||
}
|
||||
|
||||
@@ -759,16 +759,16 @@
|
||||
|
||||
.wxsat-map-tooltip {
|
||||
background: rgba(5, 15, 32, 0.92);
|
||||
border: 1px solid rgba(102, 229, 255, 0.65);
|
||||
border: 1px solid rgba(var(--accent-cyan-rgb), 0.65);
|
||||
border-radius: 4px;
|
||||
color: #8fe8ff;
|
||||
color: var(--accent-cyan);
|
||||
box-shadow: 0 0 12px rgba(0, 210, 255, 0.24);
|
||||
font-size: 10px;
|
||||
letter-spacing: 0.25px;
|
||||
}
|
||||
|
||||
.wxsat-map-tooltip.leaflet-tooltip-top:before {
|
||||
border-top-color: rgba(102, 229, 255, 0.65);
|
||||
border-top-color: rgba(var(--accent-cyan-rgb), 0.65);
|
||||
}
|
||||
|
||||
/* ===== Image Gallery Panel ===== */
|
||||
@@ -1221,8 +1221,8 @@
|
||||
|
||||
.wxsat-phase-step.completed {
|
||||
color: var(--accent-cyan, #00d4ff);
|
||||
border-color: rgba(0, 212, 255, 0.3);
|
||||
background: rgba(0, 212, 255, 0.05);
|
||||
border-color: rgba(var(--accent-cyan-rgb), 0.3);
|
||||
background: rgba(var(--accent-cyan-rgb), 0.05);
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
@@ -1267,7 +1267,7 @@
|
||||
.wxsat-console-filter.active {
|
||||
border-color: var(--accent-cyan, #00d4ff);
|
||||
color: var(--accent-cyan, #00d4ff);
|
||||
background: rgba(0, 212, 255, 0.08);
|
||||
background: rgba(var(--accent-cyan-rgb), 0.08);
|
||||
}
|
||||
|
||||
.wxsat-console-actions {
|
||||
|
||||
Reference in New Issue
Block a user