@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--font-sans: "IBM Plex Sans", "Trebuchet MS", sans-serif;--font-display: "Space Grotesk", "IBM Plex Sans", sans-serif;--text-primary: #1b1c22;--text-muted: #5a5e6b;--surface: #ffffff;--surface-soft: #f3f4f8;--surface-strong: #eef0f6;--accent: #e74b3c;--accent-soft: rgba(231, 75, 60, .1);--border: rgba(35, 38, 45, .12);--shadow: 0 12px 30px rgba(26, 28, 34, .08);--radius-lg: 18px;--radius-md: 12px;--radius-sm: 8px}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--font-sans);color:var(--text-primary);background:radial-gradient(circle at top left,#fff7f2,#f4f5fa 35%,#eef1f7)}#root{min-height:100vh}h1,h2,h3{font-family:var(--font-display);margin:0}p{margin:0}input,button,textarea{font-family:inherit}button{cursor:pointer;border:none;background:transparent}input[type=text],input[type=range]{width:100%}summary{cursor:pointer;font-weight:600}.app-shell{display:grid;grid-template-columns:minmax(260px,320px) 1fr minmax(260px,320px);gap:28px;padding:28px}.sidebar,.detail-panel{display:flex;flex-direction:column;gap:18px}.sidebar-header{padding:16px;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}.check-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;background:var(--surface-soft);border-radius:999px;font-size:.9rem;border:1px solid var(--border)}.check-pill.compact{padding:6px 10px;font-size:.8rem}.check-pill input{accent-color:var(--accent)}.toggle-button{width:100%;justify-content:center;font-size:1rem}.toggle-button.active{background:var(--accent);color:#fff}.segmented{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.segmented.trails{grid-template-columns:repeat(4,minmax(0,1fr))}.segmented .segment{border-radius:10px;padding:8px 0;font-size:.8rem;background:var(--surface-soft);border:1px solid var(--border);color:var(--text-muted)}.segmented .segment.active{background:var(--accent-soft);border-color:#e74b3c73;color:var(--accent);font-weight:600}.panel{background:var(--surface);border-radius:var(--radius-lg);padding:16px;border:1px solid var(--border);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}.panel summary{list-style:none}.panel summary::-webkit-details-marker{display:none}.panel h3{font-size:1.05rem}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-caption{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.chip-grid{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface-soft);font-size:.8rem;transition:all .2s ease}.chip.active{background:var(--accent-soft);border-color:#e74b3c59;color:var(--accent);font-weight:600}.control-group{display:flex;flex-direction:column;gap:8px}.control-group label{font-size:.9rem;font-weight:500}.control-group input[type=text],.control-group input[type=number],.control-group select{padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#fff}.control-group input[type=range]{accent-color:var(--accent)}.primary-button{padding:10px 14px;border-radius:999px;background:var(--accent);color:#fff;font-weight:600;border:none;box-shadow:0 10px 20px #e74b3c40;transition:transform .2s ease,box-shadow .2s ease}.primary-button:hover{transform:translateY(-1px);box-shadow:0 14px 24px #e74b3c47}.range-inputs{display:grid;gap:6px}.range-values{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-muted)}.fixture-meta{display:flex;justify-content:space-between;gap:8px;font-size:.8rem;color:var(--text-muted);flex-wrap:wrap}.legend{display:grid;gap:12px}.legend-item{display:flex;gap:12px;align-items:center;font-size:.85rem;background:transparent;border:1px solid transparent;text-align:left;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;transition:background .2s ease,border-color .2s ease;width:100%}.legend-item strong{display:block}.legend-item span{color:var(--text-muted)}.legend-item:hover{background:var(--surface-soft)}.legend-item.selected{background:#e74b3c24;border-color:#e74b3c59}.legend-dot{width:14px;height:14px;border-radius:50%;display:inline-block}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.detail-value{font-size:.9rem;font-weight:600;color:var(--text-primary)}.status-pill{padding:8px 12px;border-radius:999px;background:var(--surface-soft);font-size:.85rem;color:var(--text-muted);border:1px solid var(--border)}.main{display:flex;flex-direction:column;gap:24px}.main-header h1{font-size:2.3rem;letter-spacing:-.02em}.main-header p{color:var(--text-muted);margin-top:6px}.radar-card{background:var(--surface);border-radius:var(--radius-lg);padding:20px;border:1px solid var(--border);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:16px}.radar-card-header{display:flex;justify-content:space-between;align-items:center}.radar-actions{display:inline-flex;align-items:center;gap:10px}.ghost-button{padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:#fff;font-size:.85rem;color:var(--text-muted)}.radar-card-header h2{font-size:1.4rem;margin-bottom:4px}.subtle{color:var(--text-muted);font-size:.85rem}.badge{padding:6px 12px;background:var(--accent-soft);color:var(--accent);border-radius:999px;font-size:.8rem;font-weight:600}.radar-canvas-container{width:100%;height:clamp(360px,62vh,720px);background:var(--surface-strong);border-radius:var(--radius-md);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;cursor:crosshair}.radar-canvas{border-radius:var(--radius-md)}.frame-time{font-size:.82rem;color:var(--text-muted);display:flex;gap:12px;flex-wrap:wrap;align-items:center}.cursor-readout{padding:4px 10px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--border);font-size:.78rem}.radar-tooltip{position:absolute;min-width:160px;background:#1f2128;color:#fff;padding:8px 10px;border-radius:10px;box-shadow:0 10px 24px #00000040;display:grid;gap:4px;font-size:.75rem;pointer-events:none;z-index:2}.radar-tooltip strong{font-size:.8rem}.selection-box{position:absolute;border:1px dashed rgba(231,75,60,.7);background:#e74b3c14;border-radius:6px;pointer-events:none;z-index:1}.selection-list{display:flex;flex-direction:column;gap:12px}.selection-card{padding:12px;border-radius:var(--radius-sm);background:var(--surface-soft);border:1px solid var(--border);display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:border-color .2s ease,transform .2s ease}.selection-card:hover{border-color:#e74b3c59;transform:translateY(-1px)}.selection-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.selection-id{font-weight:700;font-size:1rem;display:block}.selection-platform{font-size:.85rem;color:var(--text-muted)}.selection-threat{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.selection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.threats{background:var(--surface);border-radius:var(--radius-lg);padding:20px;border:1px solid var(--border);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.threats h2{font-size:1.3rem}.threat-list{display:flex;flex-direction:column;gap:8px}.threat-row{display:grid;grid-template-columns:70px 1fr;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-soft);border:1px solid transparent;cursor:pointer;transition:border-color .2s ease,background .2s ease}.threat-row.hovered{border-color:#e74b3c59;background:#e74b3c14}.threat-row.selected{border-color:#e74b3c8c;background:#e74b3c29}.threat-id{font-weight:700;color:var(--text-primary)}.threat-meta,.empty-state{color:var(--text-muted);font-size:.9rem}.footer-note{font-size:.85rem;color:var(--text-muted)}@media(max-width:1024px){.app-shell{grid-template-columns:1fr;padding:20px}.radar-canvas-container{height:clamp(320px,58vh,620px)}}@media(max-width:640px){.app-shell{padding:16px}.toggle-row{flex-direction:column;align-items:flex-start}.threat-row{grid-template-columns:1fr}}
