/* Signal Fingerprinting Mode Styles */ .fp-tab-btn { flex: 1; padding: 5px 10px; font-family: var(--font-mono, monospace); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 4px; color: var(--text-secondary, #aaa); cursor: pointer; transition: all 0.15s; } .fp-tab-btn.active { background: rgba(74,163,255,0.15); border-color: var(--accent-cyan, #4aa3ff); color: var(--accent-cyan, #4aa3ff); } .fp-anomaly-item { display: flex; flex-direction: column; gap: 2px; padding: 6px 8px; border-radius: 4px; border: 1px solid rgba(255,255,255,0.08); margin-bottom: 4px; font-family: var(--font-mono, monospace); font-size: 10px; } .fp-anomaly-item.severity-alert { background: rgba(239,68,68,0.12); border-color: rgba(239,68,68,0.4); } .fp-anomaly-item.severity-warn { background: rgba(251,191,36,0.1); border-color: rgba(251,191,36,0.4); } .fp-anomaly-item.severity-new { background: rgba(168,85,247,0.12); border-color: rgba(168,85,247,0.4); } .fp-anomaly-band { font-weight: 700; color: var(--text-primary, #fff); font-size: 12px; } .fp-anomaly-type-badge { font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; padding: 1px 5px; border-radius: 3px; display: inline-block; } .fp-chart-container { flex: 1; min-height: 0; padding: 10px; overflow: hidden; } #fpChartCanvas { width: 100%; height: 100%; }