:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--bg-app:#080d1a;--bg-sidebar:#0b1325;--bg-card:#101c33;--bg-card-hover:#152442;--bg-card-active:#1b2e54;--bg-input:#0e172a;--border-color:#1e2e4f;--border-subtle:#17243e;--border-focus:#0ea5e9;--cyan-primary:#06b6d4;--cyan-glow:#06b6d426;--blue-primary:#3b82f6;--emerald-success:#10b981;--emerald-glow:#10b98126;--amber-warning:#f59e0b;--rose-danger:#f43f5e;--purple-soc:#8b5cf6;--text-main:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--text-inverse:#020617;--sidebar-width:260px;--navbar-height:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-smooth:.25s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.app-container{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border-color);z-index:40;flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0}.sidebar-header{border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding:20px 24px;display:flex}.brand-icon{border-radius:var(--radius-md);color:#fff;width:36px;height:36px;box-shadow:0 4px 12px var(--cyan-glow);background:linear-gradient(135deg,#06b6d4 0%,#3b82f6 100%);justify-content:center;align-items:center;display:flex}.brand-text h1{letter-spacing:-.02em;background:linear-gradient(90deg,#fff,#94a3b8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.15rem;font-weight:700}.brand-text p{color:var(--cyan-primary);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:600}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:16px 12px;display:flex;overflow-y:auto}.nav-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:12px 12px 6px;font-size:.68rem;font-weight:700}.nav-link{border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition-fast);align-items:center;gap:12px;padding:10px 14px;font-size:.88rem;font-weight:500;display:flex}.nav-link:hover{color:var(--text-main);background:#ffffff0a}.nav-link.active{color:var(--cyan-primary);border-left:3px solid var(--cyan-primary);background:#06b6d41f;font-weight:600}.nav-link svg{flex-shrink:0;width:18px;height:18px}.main-content-wrapper{flex-direction:column;flex:1;min-width:0;display:flex}.top-navbar{height:var(--navbar-height);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-color);z-index:30;background:#0b1325cc;justify-content:space-between;align-items:center;padding:0 32px;display:flex;position:sticky;top:0}.page-title-group h2{color:var(--text-main);font-size:1.15rem;font-weight:600}.page-title-group p{color:var(--text-muted);font-size:.78rem}.navbar-actions{align-items:center;gap:16px;display:flex}.status-badge{transition:all var(--transition-fast);border:1px solid;border-radius:9999px;align-items:center;gap:8px;padding:6px 12px;font-size:.78rem;font-weight:600;display:inline-flex}.status-badge.connected{color:var(--emerald-success);background:#10b9811a;border-color:#10b98140}.status-badge.disconnected{color:var(--rose-danger);background:#f43f5e1a;border-color:#f43f5e40}.status-badge.checking{color:var(--amber-warning);background:#f59e0b1a;border-color:#f59e0b40}.dot-indicator{border-radius:50%;width:8px;height:8px;position:relative}.dot-indicator.connected{background-color:var(--emerald-success);box-shadow:0 0 8px var(--emerald-success)}.dot-indicator.disconnected{background-color:var(--rose-danger)}.dot-indicator.checking{background-color:var(--amber-warning);animation:1.5s infinite pulse}@keyframes pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.page-body{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:32px}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:all var(--transition-smooth);padding:24px}.card:hover{border-color:#2b3e64}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card-title{color:var(--text-main);font-size:1rem;font-weight:600}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px;display:grid}.metric-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;justify-content:space-between;padding:20px;display:flex;position:relative;overflow:hidden}.metric-card-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.metric-card-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:500}.metric-card-icon{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--cyan-primary);background:#ffffff0d;justify-content:center;align-items:center;display:flex}.metric-card-value{color:var(--text-main);letter-spacing:-.02em;font-size:1.75rem;font-weight:700}.metric-card-hint{color:var(--text-muted);margin-top:4px;font-size:.76rem}.learning-path-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:32px;padding:28px}.learning-path-timeline{justify-content:space-between;align-items:center;margin-top:24px;padding:0 16px;display:flex;position:relative}.timeline-step{text-align:center;z-index:2;flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.step-node{background:var(--bg-sidebar);border:2px solid var(--border-color);width:48px;height:48px;color:var(--text-secondary);transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;margin-bottom:10px;font-weight:700;display:flex}.step-node.active{border-color:var(--cyan-primary);color:var(--cyan-primary);box-shadow:0 0 14px var(--cyan-glow)}.step-title{color:var(--text-main);font-size:.88rem;font-weight:600}.step-subtitle{color:var(--text-muted);max-width:140px;font-size:.72rem}.step-arrow{color:var(--text-muted);opacity:.5;justify-content:center;align-items:center;display:flex}.modules-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-top:24px;display:grid}.module-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:transform var(--transition-fast), border-color var(--transition-fast);flex-direction:column;justify-content:space-between;padding:24px;display:flex}.module-card:hover{border-color:#2c426e;transform:translateY(-2px)}.module-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.module-icon-wrap{border-radius:var(--radius-md);width:40px;height:40px;color:var(--cyan-primary);background:#06b6d41a;justify-content:center;align-items:center;display:flex}.module-title{color:var(--text-main);margin-top:6px;font-size:1.05rem;font-weight:600}.module-desc{color:var(--text-secondary);margin-bottom:16px;font-size:.85rem;line-height:1.6}.badge{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;padding:3px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.badge-phase{color:#c084fc;background:#8b5cf626;border:1px solid #8b5cf64d}.badge-status{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.badge-ready{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.feature-list{flex-direction:column;gap:8px;margin-bottom:20px;list-style:none;display:flex}.feature-item{color:var(--text-secondary);align-items:center;gap:8px;font-size:.8rem;display:flex}.feature-item svg{color:var(--cyan-primary);flex-shrink:0;width:14px;height:14px}.placeholder-view{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);max-width:900px;margin:0 auto;padding:40px}.placeholder-badge-row{align-items:center;gap:10px;margin-bottom:20px;display:flex}.placeholder-title{color:var(--text-main);align-items:center;gap:12px;margin-bottom:12px;font-size:1.8rem;font-weight:700;display:flex}.placeholder-summary{color:var(--text-secondary);margin-bottom:28px;font-size:1.05rem;line-height:1.6}.placeholder-section-title{color:var(--cyan-primary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px;font-size:.95rem;font-weight:600}.practice-cards-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:32px;display:grid}.practice-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff05;padding:18px}.practice-card h4{color:var(--text-main);margin-bottom:6px;font-size:.92rem;font-weight:600}.practice-card p{color:var(--text-muted);font-size:.8rem;line-height:1.5}.status-callout{border-radius:var(--radius-md);background:#f59e0b14;border:1px solid #f59e0b40;align-items:center;gap:14px;padding:16px 20px;display:flex}.status-callout-text h5{color:#fbbf24;font-size:.88rem;font-weight:600}.status-callout-text p{color:#fde68a;font-size:.8rem}.state-container{text-align:center;border-radius:var(--radius-lg);border:1px dashed var(--border-color);background:#ffffff04;flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.state-container svg{color:var(--text-muted);margin-bottom:16px}.state-title{color:var(--text-main);margin-bottom:6px;font-size:1rem;font-weight:600}.state-desc{color:var(--text-muted);max-width:400px;margin-bottom:16px;font-size:.84rem}.btn-retry{background:var(--cyan-primary);color:var(--text-inverse);border-radius:var(--radius-sm);transition:opacity var(--transition-fast);padding:8px 18px;font-size:.84rem;font-weight:600}.btn-retry:hover{opacity:.9}.spinner{border:2px solid #06b6d433;border-top-color:var(--cyan-primary);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=900px){.learning-path-timeline{flex-direction:column;gap:16px}.step-arrow{transform:rotate(90deg)}}@media (width<=768px){.app-container{flex-direction:column}.sidebar{width:100%;height:auto;position:static}.top-navbar{padding:0 16px}.page-body{padding:16px}}.learning-container{flex-direction:column;gap:28px;width:100%;display:flex}.learning-hero{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:linear-gradient(135deg,#06b6d414 0%,#3b82f614 50%,#8b5cf60d 100%);padding:28px 32px;position:relative;overflow:hidden}.learning-hero:before{content:"";background:radial-gradient(circle, var(--cyan-glow) 0%, transparent 70%);pointer-events:none;width:250px;height:250px;position:absolute;top:-50px;right:-50px}.learning-hero-content{z-index:2;position:relative}.learning-hero-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.learning-hero-title{color:var(--text-main);letter-spacing:-.02em;margin-bottom:8px;font-size:1.75rem;font-weight:800}.learning-hero-tagline{color:var(--cyan-primary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:.95rem;font-weight:600}.learning-hero-description{color:var(--text-secondary);max-width:720px;font-size:.92rem;line-height:1.6}.progress-telemetry-bar{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#0e172acc;flex-wrap:wrap;align-items:center;gap:24px;padding:16px 20px;display:flex}.telemetry-stat{flex-direction:column;min-width:110px;display:flex}.telemetry-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:4px;font-size:.72rem;font-weight:700}.telemetry-value{color:var(--text-main);font-size:1.25rem;font-weight:700}.telemetry-progress-track{flex:1;min-width:200px}.progress-bar-bg{background:#ffffff0f;border-radius:999px;height:10px;position:relative;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--cyan-primary) 0%, var(--emerald-success) 100%);border-radius:999px;height:100%;transition:width .4s}.continue-card{border-radius:var(--radius-lg);transition:all var(--transition-smooth);background:linear-gradient(135deg,#10b98114 0%,#06b6d40a 100%);border:1px solid #10b9814d;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex;box-shadow:0 4px 20px #0003}.continue-card:hover{border-color:var(--emerald-success);transform:translateY(-2px)}.continue-card-info{align-items:center;gap:16px;display:flex}.continue-icon-box{border-radius:var(--radius-md);width:48px;height:48px;color:var(--emerald-success);background:#10b98126;flex-shrink:0;justify-content:center;align-items:center;display:flex}.level-cards-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:20px;display:grid}.level-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:all var(--transition-smooth);flex-direction:column;justify-content:space-between;padding:24px;display:flex;position:relative;overflow:hidden}.level-card:hover{border-color:#2e446d;transform:translateY(-3px);box-shadow:0 8px 24px #0000004d}.level-card.beginner{border-top:3px solid var(--emerald-success)}.level-card.intermediate{border-top:3px solid var(--cyan-primary)}.level-card.advanced{border-top:3px solid var(--purple-soc)}.level-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.level-card-title{color:var(--text-main);margin-bottom:6px;font-size:1.15rem;font-weight:700}.level-card-tagline{color:var(--text-secondary);margin-bottom:18px;font-size:.84rem;line-height:1.5}.level-card-progress{border-top:1px solid var(--border-subtle);margin-top:auto;padding-top:16px}.search-container{width:100%;position:relative}.search-input-box{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-main);transition:all var(--transition-fast);align-items:center;gap:12px;padding:12px 18px;display:flex}.search-input-box:focus-within{border-color:var(--cyan-primary);box-shadow:0 0 0 2px var(--cyan-glow)}.search-input-box input{color:var(--text-main);background:0 0;border:none;outline:none;width:100%;font-size:.92rem}.search-dropdown{border:1px solid var(--border-color);border-radius:var(--radius-md);z-index:50;background:#0d172c;max-height:380px;padding:8px 0;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px #00000080}.search-result-row{cursor:pointer;transition:background var(--transition-fast);border-bottom:1px solid #ffffff08;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.search-result-row:hover{background:#06b6d414}.roadmap-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px}.roadmap-tracks{flex-direction:column;gap:24px;display:flex;position:relative}.roadmap-level-track{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff04;padding:20px}.roadmap-level-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.roadmap-nodes-flow{align-items:center;gap:12px;padding-bottom:8px;display:flex;overflow-x:auto}.roadmap-node{border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;min-width:170px;transition:all var(--transition-fast);background:#0c162a;flex-direction:column;flex-shrink:0;gap:6px;padding:12px 16px;display:flex;position:relative}.roadmap-node:hover{border-color:var(--cyan-primary);background:#101e38;transform:translateY(-2px)}.roadmap-node.active-milestone{border-color:var(--emerald-success);box-shadow:0 0 12px var(--emerald-glow)}.roadmap-connector-arrow{color:var(--text-muted);flex-shrink:0}.callout-box{border-radius:var(--radius-md);border-left:4px solid;margin:20px 0;padding:16px 20px;position:relative}.callout-box.bca-simple{border-color:var(--emerald-success);background:#10b98114}.callout-box.technical{border-color:var(--cyan-primary);background:#06b6d414}.callout-box.security{border-color:var(--rose-danger);background:#f43f5e14}.callout-box.interview{border-color:var(--amber-warning);background:#f59e0b14}.callout-header{align-items:center;gap:10px;margin-bottom:8px;font-size:.92rem;font-weight:700;display:flex}.callout-box.bca-simple .callout-header{color:var(--emerald-success)}.callout-box.technical .callout-header{color:var(--cyan-primary)}.callout-box.security .callout-header{color:var(--rose-danger)}.callout-box.interview .callout-header{color:var(--amber-warning)}.callout-content{color:#cbd5e1;font-size:.9rem;line-height:1.6}.callout-tabs{border-bottom:1px solid var(--border-subtle);gap:6px;margin-bottom:12px;padding-bottom:6px;display:flex;overflow-x:auto}.callout-tab-btn{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;align-items:center;gap:6px;padding:6px 12px;font-size:.78rem;font-weight:600;display:flex}.callout-tab-btn:hover{color:var(--text-main);background:#ffffff0a}.callout-tab-btn.active{color:var(--text-main);background:#ffffff14}.diagram-container{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:#091122;margin:24px 0;padding:24px;box-shadow:inset 0 0 20px #0006}.diagram-header{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;display:flex}.diagram-title{color:var(--text-main);align-items:center;gap:8px;font-size:1.05rem;font-weight:700;display:flex}.diagram-controls{align-items:center;gap:8px;display:flex}.diagram-btn{border-radius:var(--radius-sm);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:#ffffff0a;align-items:center;gap:6px;padding:6px 14px;font-size:.78rem;font-weight:600;display:inline-flex}.diagram-btn:hover{color:var(--cyan-primary);border-color:var(--cyan-primary);background:#06b6d41f}.diagram-btn.primary{background:var(--cyan-primary);color:#020617;border-color:var(--cyan-primary)}.diagram-btn.primary:hover{background:#22d3ee}.scenario-box{border-radius:var(--radius-md);background:#8b5cf60f;border:1px solid #8b5cf64d;margin:20px 0;padding:20px}.scenario-title{color:var(--purple-soc);align-items:center;gap:8px;margin-bottom:10px;font-size:.95rem;font-weight:700;display:flex}.revision-box{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#ffffff05;margin:24px 0;padding:20px}.revision-title{color:var(--cyan-primary);align-items:center;gap:8px;margin-bottom:12px;font-size:.95rem;font-weight:700;display:flex}.lesson-reading-pane{width:100%;max-width:900px;margin:0 auto}.lesson-meta-bar{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:16px;display:flex}.lesson-breadcrumbs{color:var(--text-muted);align-items:center;gap:8px;font-size:.82rem;display:flex}.lesson-breadcrumbs a:hover{color:var(--cyan-primary)}.lesson-content h1{color:var(--text-main);letter-spacing:-.02em;margin:24px 0 16px;font-size:2rem;font-weight:800;line-height:1.3}.lesson-content h2{color:var(--text-main);letter-spacing:-.01em;border-bottom:1px solid var(--border-subtle);margin:32px 0 14px;padding-bottom:8px;font-size:1.4rem;font-weight:700}.lesson-content h3{color:var(--cyan-primary);margin:24px 0 10px;font-size:1.15rem;font-weight:600}.lesson-content p{color:#cbd5e1;margin-bottom:16px;font-size:.96rem;line-height:1.7}.lesson-content ul,.lesson-content ol{color:#cbd5e1;margin:12px 0 18px 24px;font-size:.94rem;line-height:1.6}.lesson-content li{margin-bottom:6px}.lesson-content code{font-family:var(--font-mono);border-radius:var(--radius-sm);color:#38bdf8;background:#ffffff14;padding:2px 6px;font-size:.86rem}.lesson-content pre{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#070d19;margin:18px 0;padding:16px;overflow-x:auto}.lesson-content pre code{color:#e2e8f0;background:0 0;padding:0;font-size:.88rem}.lesson-content blockquote{border-left:4px solid var(--cyan-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-secondary);background:#06b6d40d;margin:18px 0;padding:12px 18px;font-style:italic}.lesson-content table{border-collapse:collapse;width:100%;margin:20px 0;font-size:.88rem}.lesson-content th{border:1px solid var(--border-color);text-align:left;color:var(--text-main);background:#0f1a30;padding:10px 14px;font-weight:600}.lesson-content td{border:1px solid var(--border-color);color:#cbd5e1;padding:10px 14px}.lesson-content tr:nth-child(2n){background:#ffffff04}.lesson-navigation-bar{border-top:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:40px;padding-top:24px;display:flex}.nav-direction-btn{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-main);transition:all var(--transition-fast);cursor:pointer;align-items:center;gap:10px;padding:12px 20px;font-size:.9rem;font-weight:600;display:flex}.nav-direction-btn:hover:not(:disabled){border-color:var(--cyan-primary);background:var(--bg-card-hover);color:var(--cyan-primary)}.nav-direction-btn:disabled{opacity:.4;cursor:not-allowed}.up-next-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:linear-gradient(135deg,#06b6d40f 0%,#3b82f60a 100%);justify-content:space-between;align-items:center;gap:20px;margin-top:32px;padding:20px 24px;display:flex}.topic-header-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:28px;padding:28px 32px}.prerequisites-badge-list{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.prerequisite-badge{border-radius:var(--radius-sm);border:1px solid;align-items:center;gap:6px;padding:4px 10px;font-size:.76rem;font-weight:600;display:inline-flex}.prerequisite-badge.completed{color:var(--emerald-success);background:#10b9811a;border-color:#10b9814d}.prerequisite-badge.locked{color:var(--amber-warning);background:#f59e0b1a;border-color:#f59e0b4d}.lesson-list-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-fast);justify-content:space-between;align-items:center;margin-bottom:10px;padding:16px 20px;display:flex}.lesson-list-item:hover{background:var(--bg-card-hover);border-color:#2e446d}.status-tag{border-radius:var(--radius-sm);text-transform:uppercase;align-items:center;gap:6px;padding:4px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.status-tag.not-started{color:var(--text-muted);background:#ffffff0d}.status-tag.in-progress{color:var(--cyan-primary);background:#06b6d426}.status-tag.completed{color:var(--emerald-success);background:#10b98126}.labs-container{flex-direction:column;gap:28px;width:100%;display:flex}.labs-hero{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:linear-gradient(135deg,#06b6d414 0%,#10b98114 50%,#8b5cf60d 100%);padding:28px 32px;position:relative;overflow:hidden}.labs-hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#10b98126 0%,#0000 70%);width:260px;height:260px;position:absolute;top:-50px;right:-50px}.labs-hero-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.labs-hero-tagline{color:var(--emerald-success);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:8px;margin-bottom:8px;font-size:.85rem;font-weight:700;display:flex}.labs-hero-title{color:var(--text-main);letter-spacing:-.02em;margin-bottom:8px;font-size:1.85rem;font-weight:800}.labs-hero-description{color:var(--text-secondary);max-width:720px;font-size:.92rem;line-height:1.6}.labs-hero-actions{align-items:center;gap:12px;display:flex}.labs-telemetry-bar{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#0e172acc;flex-wrap:wrap;align-items:center;gap:24px;padding:16px 20px;display:flex}.labs-telemetry-stat{flex-direction:column;min-width:100px;display:flex}.labs-telemetry-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:4px;font-size:.72rem;font-weight:700}.labs-telemetry-val{color:var(--text-main);font-size:1.35rem;font-weight:800}.labs-telemetry-divider{background:var(--border-subtle);width:1px;height:36px}.labs-controls-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;gap:16px;padding:18px 22px;display:flex}.labs-search-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.labs-search-wrapper{flex:1;min-width:240px;position:relative}.labs-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.labs-search-input{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-main);transition:border-color var(--transition-fast);padding:10px 14px 10px 40px;font-size:.9rem}.labs-search-input:focus{border-color:var(--cyan-primary);box-shadow:0 0 0 2px var(--cyan-glow);outline:none}.labs-filter-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.labs-filter-group{align-items:center;gap:8px;display:flex}.labs-filter-label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;font-size:.78rem;font-weight:700}.labs-filter-pills{flex-wrap:wrap;gap:6px;display:flex}.labs-filter-pill{color:var(--text-secondary);background:var(--bg-input);border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--transition-fast);border-radius:20px;padding:5px 12px;font-size:.8rem;font-weight:600}.labs-filter-pill:hover{color:var(--text-main);border-color:var(--border-color);background:var(--bg-card-hover)}.labs-filter-pill.active{border-color:var(--cyan-primary);color:var(--cyan-primary);background:#06b6d426}.labs-select{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-main);cursor:pointer;padding:6px 12px;font-size:.85rem}.labs-select:focus{border-color:var(--cyan-primary);outline:none}.lab-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:all var(--transition-smooth);flex-direction:column;justify-content:space-between;gap:16px;padding:22px;display:flex;position:relative;overflow:hidden}.lab-card-top{flex-direction:column;gap:12px;display:flex}.lab-card-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lab-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;align-items:center;gap:5px;padding:3px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.lab-badge-beginner{color:var(--emerald-success);background:#10b9811f;border:1px solid #10b98140}.lab-badge-intermediate{color:var(--cyan-primary);background:#06b6d41f;border:1px solid #06b6d440}.lab-badge-advanced{color:var(--purple-soc);background:#8b5cf61f;border:1px solid #8b5cf640}.lab-badge-env{color:var(--text-secondary);border:1px solid var(--border-subtle);background:#ffffff0d}.lab-badge-status-completed{color:var(--emerald-success);background:#10b98126;border:1px solid #10b9814d;margin-left:auto}.lab-badge-status-in-progress{color:var(--amber-warning);background:#f59e0b26;border:1px solid #f59e0b4d;margin-left:auto}.lab-card-title{color:var(--text-main);font-size:1.15rem;font-weight:700;line-height:1.35}.lab-card-topic{color:var(--text-muted);align-items:center;gap:6px;font-size:.8rem;display:flex}.lab-card-desc{color:var(--text-secondary);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.86rem;line-height:1.5;display:-webkit-box;overflow:hidden}.lab-card-meta{border-top:1px solid var(--border-subtle);color:var(--text-secondary);align-items:center;gap:16px;padding-top:12px;font-size:.8rem;display:flex}.lab-meta-item{align-items:center;gap:5px;display:flex}.lab-card-footer{justify-content:space-between;align-items:center;gap:12px;padding-top:8px;display:flex}.lab-card-score{color:var(--emerald-success);font-size:.82rem;font-weight:600}.btn-lab-action{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;gap:8px;padding:8px 18px;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-lab-primary{background:var(--cyan-primary);color:var(--text-inverse)}.btn-lab-primary:hover{box-shadow:0 0 12px var(--cyan-glow);background:#0891b2}.btn-lab-secondary{background:var(--bg-card-hover);color:var(--text-main);border:1px solid var(--border-color)}.btn-lab-secondary:hover{background:var(--bg-card-active);border-color:var(--cyan-primary)}.lab-workspace{grid-template-columns:320px 1fr;gap:24px;min-height:calc(100vh - 120px);display:grid}@media (width<=992px){.lab-workspace{grid-template-columns:1fr}}.lab-sidebar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;gap:20px;height:fit-content;padding:20px;display:flex;position:sticky;top:80px}.lab-sidebar-header{border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:10px;padding-bottom:16px;display:flex}.lab-sidebar-title{color:var(--text-main);font-size:1.15rem;font-weight:700;line-height:1.3}.lab-sidebar-score{justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.lab-sidebar-score-val{color:var(--emerald-success);font-weight:700}.lab-progress-track{background:var(--bg-input);border-radius:3px;width:100%;height:6px;overflow:hidden}.lab-progress-bar{background:linear-gradient(90deg, var(--cyan-primary), var(--emerald-success));border-radius:3px;height:100%;transition:width .3s}.lab-steps-nav{flex-direction:column;gap:8px;display:flex}.lab-step-item{border-radius:var(--radius-sm);background:var(--bg-input);cursor:pointer;transition:all var(--transition-fast);text-align:left;border:1px solid #0000;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;display:flex}.lab-step-item:hover{background:var(--bg-card-hover);border-color:var(--border-subtle)}.lab-step-item.active{border-color:var(--cyan-primary);background:#06b6d41f}.lab-step-item.completed{border-left:3px solid var(--emerald-success)}.lab-step-indicator{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:700;display:flex}.lab-step-item.active .lab-step-indicator{background:var(--cyan-primary);color:var(--text-inverse)}.lab-step-item.completed .lab-step-indicator{background:var(--emerald-success);color:var(--text-inverse)}.lab-step-item:not(.active):not(.completed) .lab-step-indicator{background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border-subtle)}.lab-step-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.lab-step-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.lab-step-meta{color:var(--text-muted);justify-content:space-between;font-size:.75rem;display:flex}.lab-main-pane{flex-direction:column;gap:20px;display:flex}.lab-step-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;gap:24px;padding:28px;display:flex}.lab-step-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:18px;display:flex}.lab-step-title-wrap{flex-direction:column;gap:6px;display:flex}.lab-step-badge{text-transform:uppercase;color:var(--cyan-primary);letter-spacing:.05em;font-size:.72rem;font-weight:700}.lab-step-headline{color:var(--text-main);font-size:1.45rem;font-weight:700}.lab-step-points-tag{color:var(--emerald-success);white-space:nowrap;background:#10b9811f;border:1px solid #10b98140;border-radius:20px;padding:6px 12px;font-size:.82rem;font-weight:700}.lab-instruction-text{color:var(--text-secondary);font-size:.94rem;line-height:1.65}.lab-instruction-text p{margin-bottom:12px}.lab-instruction-text strong{color:var(--text-main)}.lab-instruction-text code{background:var(--bg-input);color:var(--cyan-primary);font-family:var(--font-mono);border-radius:4px;padding:2px 6px;font-size:.88em}.lab-command-box{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#070c18;overflow:hidden}.lab-platform-tabs{border-bottom:1px solid var(--border-subtle);background:#0b1325e6;padding:0 8px;display:flex}.lab-platform-tab{color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);border-bottom:2px solid #0000;align-items:center;gap:6px;padding:10px 16px;font-size:.82rem;font-weight:600;display:flex}.lab-platform-tab:hover{color:var(--text-secondary)}.lab-platform-tab.active{color:var(--cyan-primary);border-bottom-color:var(--cyan-primary);background:#06b6d40d}.lab-command-body{font-family:var(--font-mono);color:#38bdf8;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;font-size:.92rem;display:flex;overflow-x:auto}.lab-copy-btn{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:#ffffff0f;border-radius:4px;flex-shrink:0;align-items:center;gap:5px;padding:6px 10px;font-size:.78rem;display:flex}.lab-copy-btn:hover{color:var(--text-main);background:#ffffff1f}.lab-copy-btn.copied{color:var(--emerald-success);border-color:var(--emerald-success);background:#10b98133}.lab-safety-banner{border:1px solid #06b6d433;border-left:4px solid var(--cyan-primary);border-radius:var(--radius-sm);color:var(--text-secondary);background:#0e172ae6;align-items:center;gap:12px;padding:12px 16px;font-size:.84rem;display:flex}.lab-observation-box{border-radius:var(--radius-sm);background:#10b9810d;border:1px solid #10b98133;flex-direction:column;gap:8px;padding:16px;display:flex}.lab-observation-header{color:var(--emerald-success);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:8px;font-size:.84rem;font-weight:700;display:flex}.lab-observation-text{color:var(--text-secondary);font-size:.88rem;line-height:1.55}.lab-hint-wrapper{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-input);overflow:hidden}.lab-hint-toggle{cursor:pointer;width:100%;color:var(--amber-warning);transition:background var(--transition-fast);background:0 0;justify-content:space-between;align-items:center;padding:12px 16px;font-size:.86rem;font-weight:600;display:flex}.lab-hint-toggle:hover{background:#f59e0b14}.lab-hint-content{border-top:1px solid var(--border-subtle);color:var(--text-secondary);background:#f59e0b0a;padding:14px 16px;font-size:.88rem;line-height:1.5}.lab-question-card{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#101c3399;flex-direction:column;gap:16px;padding:22px;display:flex}.lab-question-title{color:var(--text-main);align-items:center;gap:8px;font-size:1.05rem;font-weight:600;display:flex}.lab-feedback-alert{border-radius:var(--radius-sm);flex-direction:column;gap:8px;padding:16px 20px;animation:.25s ease-in-out fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.lab-feedback-alert.correct{border:1px solid var(--emerald-success);background:#10b9811a}.lab-feedback-alert.incorrect{border:1px solid var(--rose-danger);background:#f43f5e1a}.lab-feedback-head{align-items:center;gap:10px;font-size:.95rem;font-weight:700;display:flex}.lab-feedback-alert.correct .lab-feedback-head{color:var(--emerald-success)}.lab-feedback-alert.incorrect .lab-feedback-head{color:var(--rose-danger)}.lab-feedback-msg{color:var(--text-main);font-size:.88rem;line-height:1.5}.lab-feedback-explanation{color:var(--text-secondary);border-top:1px solid #ffffff1a;margin-top:6px;padding-top:10px;font-size:.85rem;line-height:1.5}.lab-action-bar{justify-content:space-between;align-items:center;gap:16px;padding-top:12px;display:flex}.lab-completion-card{background:var(--bg-card);border:1px solid var(--emerald-success);border-radius:var(--radius-lg);text-align:center;flex-direction:column;align-items:center;gap:24px;padding:40px;display:flex;box-shadow:0 10px 30px #10b9811a}.lab-completion-icon{width:72px;height:72px;color:var(--emerald-success);background:#10b98126;border-radius:50%;justify-content:center;align-items:center;display:flex}.lab-completion-title{color:var(--text-main);font-size:2rem;font-weight:800}.lab-completion-subtitle{color:var(--text-secondary);max-width:560px;font-size:1rem}.lab-completion-stats{grid-template-columns:repeat(3,1fr);gap:20px;width:100%;max-width:600px;margin:12px 0;display:grid}.lab-completion-stat-box{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:4px;padding:16px;display:flex}.lab-completion-stat-val{color:var(--emerald-success);font-size:1.5rem;font-weight:800}.lab-completion-stat-lbl{text-transform:uppercase;color:var(--text-muted);font-size:.76rem;font-weight:700}.lab-completion-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.lab-history-table{border-collapse:collapse;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;overflow:hidden}.lab-history-table th,.lab-history-table td{text-align:left;border-bottom:1px solid var(--border-subtle);padding:14px 18px;font-size:.88rem}.lab-history-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background:#0e172ae6;font-size:.75rem}.lab-history-table tr:hover{background:var(--bg-card-hover)}.mt-container{max-width:1280px;margin:0 auto;padding:1.5rem}.mt-header{margin-bottom:2rem}.mt-header-title{color:#f1f5f9;align-items:center;gap:.75rem;font-size:1.875rem;font-weight:700;display:flex}.mt-header-desc{color:#94a3b8;max-width:48rem;margin-top:.5rem;font-size:1rem;line-height:1.5}.mt-filters-bar{background:#0f172a;border:1px solid #1e293b;border-radius:.75rem;flex-direction:column;gap:1rem;margin-bottom:2rem;padding:1rem 1.25rem;display:flex}@media (width>=768px){.mt-filters-bar{flex-direction:row;justify-content:space-between;align-items:center}}.mt-search-box{flex:1;max-width:24rem;position:relative}.mt-search-icon{color:#64748b;pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.mt-search-input{color:#f8fafc;background:#1e293b;border:1px solid #334155;border-radius:.5rem;outline:none;width:100%;padding:.5rem .75rem .5rem 2.25rem;font-size:.875rem;transition:border-color .15s}.mt-search-input:focus{border-color:#38bdf8}.mt-filter-groups{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.mt-pill-group{background:#1e293b;border:1px solid #334155;border-radius:.5rem;gap:.25rem;padding:.25rem;display:flex}.mt-pill-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:.375rem;padding:.35rem .75rem;font-size:.8125rem;font-weight:500;transition:all .15s}.mt-pill-btn:hover{color:#f8fafc}.mt-pill-btn.active{color:#fff;background:#2563eb}.mt-select-input{color:#f8fafc;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:.5rem;outline:none;padding:.45rem .75rem;font-size:.8125rem}.mt-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.mt-card{background:#0f172a;border:1px solid #1e293b;border-radius:.75rem;flex-direction:column;justify-content:space-between;padding:1.25rem;transition:transform .15s,border-color .15s;display:flex}.mt-card:hover{border-color:#38bdf8;transform:translateY(-2px)}.mt-card-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.mt-card-title{color:#f8fafc;font-size:1.125rem;font-weight:600;line-height:1.4}.mt-card-desc{color:#94a3b8;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:1rem;font-size:.875rem;line-height:1.5;display:-webkit-box;overflow:hidden}.mt-card-badges{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.mt-badge{text-transform:uppercase;border-radius:.375rem;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.mt-badge-beginner{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.mt-badge-intermediate{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.mt-badge-advanced{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.mt-badge-type{color:#38bdf8;background:#38bdf81f;border:1px solid #38bdf840}.mt-card-meta{color:#94a3b8;border-top:1px solid #1e293b;align-items:center;gap:1rem;margin-bottom:1rem;padding-top:.75rem;font-size:.8125rem;display:flex}.mt-meta-item{align-items:center;gap:.375rem;display:flex}.mt-topics-tags{flex-wrap:wrap;gap:.375rem;margin-bottom:1.25rem;display:flex}.mt-topic-tag{color:#cbd5e1;background:#1e293b;border-radius:.25rem;padding:.15rem .45rem;font-size:.6875rem}.mt-card-footer{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.mt-score-indicator{align-items:center;gap:.35rem;font-size:.8125rem;font-weight:500;display:flex}.mt-score-passed{color:#34d399}.mt-score-failed{color:#f87171}.mt-score-unattempted{color:#64748b}.mt-btn{cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.mt-btn-primary{color:#fff;background:#2563eb}.mt-btn-primary:hover{background:#1d4ed8}.mt-btn-secondary{color:#f8fafc;background:#1e293b;border:1px solid #334155}.mt-btn-secondary:hover{background:#334155}.mt-btn-danger{color:#fff;background:#dc2626}.mt-btn-danger:hover{background:#b91c1c}.mt-btn-outline{color:#38bdf8;background:0 0;border:1px solid #38bdf8}.mt-btn-outline:hover{background:#38bdf81a}.mt-workspace{background:#020617;flex-direction:column;min-height:calc(100vh - 4rem);display:flex}.mt-sticky-topbar{z-index:40;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172af2;border-bottom:1px solid #1e293b;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex;position:sticky;top:0}.mt-topbar-info{align-items:center;gap:1rem;display:flex}.mt-topbar-title{color:#f8fafc;font-size:1.125rem;font-weight:600}.mt-topbar-progress{color:#94a3b8;font-size:.875rem}.mt-timer{color:#38bdf8;background:#1e293b;border:1px solid #334155;border-radius:.5rem;align-items:center;gap:.5rem;padding:.35rem .75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.125rem;font-weight:700;display:inline-flex}.mt-timer-warning{color:#fbbf24;background:#f59e0b26;border-color:#f59e0b}.mt-timer-danger{color:#f87171;background:#ef444433;border-color:#ef4444;animation:1s infinite mt-pulse}@keyframes mt-pulse{0%,to{opacity:1}50%{opacity:.6}}.mt-workspace-body{flex:1;grid-template-columns:1fr;display:grid}@media (width>=1024px){.mt-workspace-body{grid-template-columns:minmax(0,1fr) 320px}}.mt-question-area{width:100%;max-width:840px;margin:0 auto;padding:2rem}.mt-question-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.mt-q-num{color:#38bdf8;text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:700}.mt-q-points{color:#94a3b8;background:#1e293b;border-radius:.25rem;padding:.2rem .5rem;font-size:.8125rem}.mt-question-text{color:#f8fafc;margin-bottom:1.5rem;font-size:1.25rem;font-weight:600;line-height:1.5}.mt-options-list{flex-direction:column;gap:.75rem;margin-bottom:2rem;display:flex}.mt-option-item{cursor:pointer;-webkit-user-select:none;user-select:none;background:#0f172a;border:1px solid #1e293b;border-radius:.625rem;align-items:flex-start;gap:.875rem;padding:1rem;transition:all .15s;display:flex}.mt-option-item:hover{background:#1e293b;border-color:#334155}.mt-option-item.selected{background:#38bdf814;border-color:#38bdf8}.mt-option-input{accent-color:#38bdf8;cursor:pointer;width:1.125rem;height:1.125rem;margin-top:.25rem}.mt-option-text{color:#e2e8f0;flex:1;font-size:.9375rem;line-height:1.5}.mt-question-actions{border-top:1px solid #1e293b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.5rem;display:flex}.mt-actions-left,.mt-actions-right{align-items:center;gap:.75rem;display:flex}.mt-navigator{background:#090d16;border-left:1px solid #1e293b;flex-direction:column;padding:1.5rem;display:flex}.mt-navigator-title{color:#f8fafc;margin-bottom:1rem;font-size:1rem;font-weight:600}.mt-palette-legend{color:#94a3b8;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1.25rem;font-size:.75rem;display:grid}.mt-legend-item{align-items:center;gap:.375rem;display:flex}.mt-legend-indicator{border-radius:.2rem;width:.75rem;height:.75rem}.mt-legend-current{background:#2563eb}.mt-legend-answered{background:#059669}.mt-legend-marked{background:#d97706}.mt-legend-unanswered{background:#1e293b;border:1px solid #334155}.mt-palette-grid{grid-template-columns:repeat(5,1fr);gap:.5rem;margin-bottom:1.5rem;display:grid}.mt-palette-btn{aspect-ratio:1;color:#94a3b8;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:.375rem;justify-content:center;align-items:center;font-size:.8125rem;font-weight:600;transition:all .15s;display:flex;position:relative}.mt-palette-btn:hover{color:#f8fafc;border-color:#64748b}.mt-palette-btn.current{color:#fff;background:#2563eb;border-color:#3b82f6}.mt-palette-btn.answered{color:#34d399;background:#065f46;border-color:#059669}.mt-palette-btn.marked:after{content:"";background:#f59e0b;border-radius:50%;width:6px;height:6px;position:absolute;top:2px;right:2px}.mt-palette-btn.current.marked:after{background:#fff}.mt-navigator-stats{color:#94a3b8;background:#0f172a;border:1px solid #1e293b;border-radius:.5rem;flex-direction:column;gap:.375rem;margin-bottom:1.5rem;padding:.875rem;font-size:.8125rem;display:flex}.mt-modal-overlay{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.mt-modal{background:#0f172a;border:1px solid #1e293b;border-radius:.75rem;width:100%;max-width:28rem;padding:1.5rem;box-shadow:0 20px 25px -5px #00000080}.mt-modal-title{color:#f8fafc;margin-bottom:.75rem;font-size:1.25rem;font-weight:700}.mt-modal-text{color:#94a3b8;margin-bottom:1.25rem;font-size:.875rem;line-height:1.5}.mt-modal-stats{text-align:center;background:#1e293b;border-radius:.5rem;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1.5rem;padding:.875rem;display:grid}.mt-modal-stat-val{color:#f8fafc;font-size:1.25rem;font-weight:700}.mt-modal-stat-label{color:#94a3b8;font-size:.75rem}.mt-modal-actions{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.mt-result-banner{text-align:center;border-radius:.75rem;margin-bottom:2rem;padding:2rem}.mt-result-banner-passed{background:linear-gradient(135deg,#10b98126 0%,#0596690d 100%);border:1px solid #10b98166}.mt-result-banner-failed{background:linear-gradient(135deg,#ef444426 0%,#b91c1c0d 100%);border:1px solid #ef444466}.mt-result-status-title{letter-spacing:-.025em;margin-bottom:.5rem;font-size:2.25rem;font-weight:800}.mt-result-status-passed{color:#34d399}.mt-result-status-failed{color:#f87171}.mt-result-score-circle{color:#f8fafc;margin:1rem 0;font-size:3.5rem;font-weight:800;line-height:1}.mt-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.mt-metric-card{text-align:center;background:#0f172a;border:1px solid #1e293b;border-radius:.5rem;padding:1rem}.mt-metric-val{color:#f8fafc;margin-bottom:.25rem;font-size:1.5rem;font-weight:700}.mt-metric-label{color:#94a3b8;font-size:.8125rem}.mt-breakdown-card{background:#0f172a;border:1px solid #1e293b;border-radius:.75rem;margin-bottom:2rem;padding:1.5rem}.mt-breakdown-header{color:#f8fafc;margin-bottom:1.25rem;font-size:1.125rem;font-weight:600}.mt-breakdown-item{margin-bottom:1rem}.mt-breakdown-label-row{color:#e2e8f0;justify-content:space-between;margin-bottom:.375rem;font-size:.875rem;display:flex}.mt-progress-track{background:#1e293b;border-radius:9999px;width:100%;height:.625rem;overflow:hidden}.mt-progress-fill{border-radius:9999px;height:100%;transition:width .4s}.mt-fill-emerald{background:#10b981}.mt-fill-amber{background:#f59e0b}.mt-fill-rose{background:#ef4444}.mt-review-filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.mt-review-card{background:#0f172a;border:1px solid #1e293b;border-radius:.75rem;margin-bottom:1.5rem;padding:1.5rem}.mt-review-card.correct{border-left:4px solid #10b981}.mt-review-card.incorrect{border-left:4px solid #ef4444}.mt-review-card.unanswered{border-left:4px solid #64748b}.mt-review-opt{color:#e2e8f0;background:#1e293b;border:1px solid #334155;border-radius:.5rem;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.875rem 1rem;font-size:.9375rem;display:flex}.mt-review-opt.is-correct-target{color:#34d399;background:#10b9811f;border-color:#10b981}.mt-review-opt.user-incorrect-pick{color:#f87171;background:#ef44441f;border-color:#ef4444}.mt-explanation-box{color:#cbd5e1;background:#020617;border:1px solid #1e293b;border-radius:.5rem;margin-top:1rem;padding:1rem;font-size:.875rem;line-height:1.6}.mt-explanation-title{color:#38bdf8;align-items:center;gap:.35rem;margin-bottom:.35rem;font-weight:700;display:flex}.mt-category-tabs{scrollbar-width:thin;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.mt-category-tab{color:#94a3b8;white-space:nowrap;cursor:pointer;background:#0f172a;border:1px solid #1e293b;border-radius:9999px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .15s;display:flex}.mt-category-tab:hover{color:#f1f5f9;background:#1e293b;border-color:#334155}.mt-category-tab.active{color:#fff;background:#0284c7;border-color:#38bdf8;box-shadow:0 0 12px #38bdf840}.mt-category-count{background:#ffffff26;border-radius:9999px;padding:.125rem .4rem;font-size:.75rem}.mt-category-tab.active .mt-category-count{color:#fff;background:#ffffff40}.mt-code-badge{color:#94a3b8;letter-spacing:.025em;background:#1e293b;border:1px solid #334155;border-radius:.25rem;padding:.15rem .45rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.7rem}.mt-badge-draft{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.mt-badge-ready{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.mt-badge-inprogress{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d;animation:2s infinite pulse-border}@keyframes pulse-border{0%,to{border-color:#f59e0b66}50%{border-color:#f59e0be6}}.mt-stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.mt-stat-card{background:#0f172a;border:1px solid #1e293b;border-radius:.75rem;flex-direction:column;padding:1rem 1.25rem;display:flex}.mt-stat-val{color:#f8fafc;font-size:1.5rem;font-weight:700}.mt-stat-label{color:#94a3b8;margin-top:.25rem;font-size:.8125rem}.challenges-container{color:#f3f4f6;flex-direction:column;gap:1.5rem;max-width:1400px;margin:0 auto;padding:1.5rem;display:flex}.challenges-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.challenges-header h1{color:#f9fafb;align-items:center;gap:.75rem;margin:0;font-size:1.875rem;font-weight:700;display:flex}.challenges-tagline{color:#9ca3af;margin-top:.25rem;font-size:.95rem}.simulation-badge{color:#34d399;background-color:#10b98126;border:1px solid #10b9814d;border-radius:9999px;align-items:center;gap:.5rem;padding:.35rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.challenges-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.metric-card{background:#111827;border:1px solid #1f2937;border-radius:.75rem;align-items:center;gap:1rem;padding:1.25rem;transition:border-color .2s;display:flex}.metric-icon-wrap{border-radius:.5rem;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.metric-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.tracks-section{flex-direction:column;gap:.75rem;display:flex}.tracks-section h2{align-items:center;gap:.5rem;margin:0;font-size:1.25rem;font-weight:600;display:flex}.tracks-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.track-card{cursor:pointer;background:#111827;border:1px solid #1f2937;border-radius:.75rem;flex-direction:column;justify-content:space-between;padding:1.25rem;transition:all .2s ease-in-out;display:flex}.track-card:hover,.track-card.active{background:#1e293b;border-color:#3b82f6;transform:translateY(-2px)}.track-card-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.track-badge-tag{color:#60a5fa;background:#3b82f626;border-radius:.25rem;padding:.2rem .5rem;font-size:.7rem;font-weight:600}.track-title{color:#f3f4f6;font-size:1rem;font-weight:600}.track-desc{color:#9ca3af;margin:.5rem 0 1rem;font-size:.8rem;line-height:1.4}.track-footer{color:#6b7280;justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.recommendations-box{background:linear-gradient(135deg,#1e3a8a4d 0%,#111827cc 100%);border:1px solid #3b82f64d;border-radius:.75rem;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.recommendations-header{color:#60a5fa;align-items:center;gap:.5rem;font-weight:600;display:flex}.recommendations-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem;display:grid}.rec-item-card{background:#111827b3;border:1px solid #4b556366;border-radius:.5rem;flex-direction:column;justify-content:space-between;gap:.5rem;padding:.85rem;display:flex}.rec-item-title{color:#f9fafb;font-size:.9rem;font-weight:600}.rec-item-reason{color:#9ca3af;font-size:.8rem}.challenges-filter-bar{background:#111827;border:1px solid #1f2937;border-radius:.75rem;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem;display:flex}.filter-search-input{color:#f9fafb;background:#1f2937;border:1px solid #374151;border-radius:.375rem;flex:1;min-width:200px;padding:.5rem .75rem;font-size:.875rem}.filter-select{color:#f9fafb;background:#1f2937;border:1px solid #374151;border-radius:.375rem;padding:.5rem .75rem;font-size:.875rem}.difficulty-pill-group{gap:.35rem;display:flex}.diff-pill{cursor:pointer;color:#9ca3af;background:#1f2937;border:1px solid #0000;border-radius:.375rem;padding:.35rem .75rem;font-size:.75rem;font-weight:600;transition:all .15s}.diff-pill:hover,.diff-pill.active{color:#f9fafb;background:#374151;border-color:#4b5563}.diff-pill.active.beginner{color:#34d399;background:#10b98133;border-color:#10b981}.diff-pill.active.intermediate{color:#60a5fa;background:#3b82f633;border-color:#3b82f6}.diff-pill.active.advanced{color:#fbbf24;background:#f59e0b33;border-color:#f59e0b}.diff-pill.active.expert{color:#f87171;background:#ef444433;border-color:#ef4444}.challenges-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.challenge-card{background:#111827;border:1px solid #1f2937;border-radius:.75rem;flex-direction:column;justify-content:space-between;gap:1rem;padding:1.25rem;transition:all .2s;display:flex}.challenge-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #0000004d}.challenge-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.challenge-id-tag{color:#9ca3af;background:#1f2937;border-radius:.25rem;padding:.2rem .4rem;font-family:monospace;font-size:.7rem}.difficulty-badge{text-transform:uppercase;border-radius:.25rem;padding:.2rem .5rem;font-size:.7rem;font-weight:700}.difficulty-badge.beginner{color:#34d399;background:#10b98126}.difficulty-badge.intermediate{color:#60a5fa;background:#3b82f626}.difficulty-badge.advanced{color:#fbbf24;background:#f59e0b26}.difficulty-badge.expert{color:#f87171;background:#ef444426}.status-badge{border-radius:.25rem;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.7rem;font-weight:600;display:inline-flex}.status-badge.solved{color:#34d399;background:#10b98133}.status-badge.in-progress{color:#fbbf24;background:#f59e0b33}.status-badge.not-started{color:#9ca3af;background:#1f2937}.challenge-card-title{color:#f9fafb;margin:.25rem 0;font-size:1.1rem;font-weight:600}.challenge-card-desc{color:#9ca3af;margin:0;font-size:.825rem;line-height:1.4}.challenge-card-meta{color:#9ca3af;border-top:1px solid #1f2937;flex-wrap:wrap;gap:.75rem;padding-top:.75rem;font-size:.75rem;display:flex}.meta-item{align-items:center;gap:.35rem;display:flex}.challenge-action-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:.375rem;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.6rem 1rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .15s;display:flex}.challenge-action-btn:hover{background:#1d4ed8}.challenge-action-btn.solved-btn{background:#059669}.challenge-action-btn.solved-btn:hover{background:#047857}.workspace-layout{grid-template-columns:320px 1fr 340px;gap:1.25rem;min-height:calc(100vh - 120px);display:grid}@media (width<=1200px){.workspace-layout{grid-template-columns:1fr}}.workspace-panel{background:#111827;border:1px solid #1f2937;border-radius:.75rem;flex-direction:column;display:flex;overflow:hidden}.panel-header{background:#162032;border-bottom:1px solid #1f2937;justify-content:space-between;align-items:center;padding:.875rem 1rem;font-size:.9rem;font-weight:600;display:flex}.panel-content{flex-direction:column;flex:1;gap:1rem;padding:1rem;display:flex;overflow-y:auto}.evidence-tabs-bar{background:#1f2937;border-radius:.5rem;gap:.25rem;padding:.25rem;display:flex;overflow-x:auto}.evidence-tab-btn{color:#9ca3af;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:.375rem;padding:.4rem .75rem;font-size:.75rem;font-weight:600}.evidence-tab-btn.active{color:#fff;background:#2563eb}.evidence-viewer-box{color:#e5e7eb;white-space:pre-wrap;background:#030712;border:1px solid #1f2937;border-radius:.5rem;max-height:520px;padding:1rem;font-family:monospace;font-size:.8rem;line-height:1.5;overflow:auto}.scratchpad-textarea{color:#f9fafb;resize:vertical;background:#030712;border:1px solid #374151;border-radius:.375rem;width:100%;min-height:180px;padding:.75rem;font-family:monospace;font-size:.825rem}.scratchpad-save-indicator{color:#10b981;align-items:center;gap:.25rem;font-size:.7rem;display:flex}.flag-submission-card{background:#162032;border:1px solid #2563eb;border-radius:.5rem;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.flag-input{color:#f9fafb;background:#030712;border:1px solid #3b82f6;border-radius:.375rem;width:100%;padding:.6rem .75rem;font-family:monospace;font-size:.9rem}.flag-input:focus{outline:2px solid #60a5fa}.feedback-banner{border-radius:.375rem;padding:.6rem .75rem;font-size:.8rem;line-height:1.4}.feedback-banner.success{color:#34d399;background:#10b98133;border:1px solid #10b98166}.feedback-banner.error{color:#f87171;background:#ef444433;border:1px solid #ef444466}.hint-item{background:#1f2937;border-radius:.5rem;flex-direction:column;gap:.5rem;padding:.75rem;font-size:.8rem;display:flex}.hint-header{justify-content:space-between;align-items:center;font-weight:600;display:flex}.hint-penalty-tag{color:#f87171;font-size:.75rem}.hint-unlock-btn{color:#f3f4f6;cursor:pointer;background:#374151;border:1px solid #4b5563;border-radius:.25rem;padding:.35rem .6rem;font-size:.75rem}.hint-unlock-btn:hover{background:#4b5563}.giveup-btn{color:#f87171;cursor:pointer;background:0 0;border:1px solid #dc2626;border-radius:.375rem;margin-top:auto;padding:.5rem .75rem;font-size:.8rem}.giveup-btn:hover{background:#dc262626}:root{--pcap-bg:#090d16;--pcap-card-bg:#0f172a;--pcap-border:#1e293b;--pcap-border-focus:#38bdf8;--pcap-text-primary:#f8fafc;--pcap-text-secondary:#94a3b8;--pcap-text-muted:#64748b;--proto-tcp:#0284c7;--proto-tcp-bg:#0284c726;--proto-http:#10b981;--proto-http-bg:#10b98126;--proto-dns:#06b6d4;--proto-dns-bg:#06b6d426;--proto-icmp:#ec4899;--proto-icmp-bg:#ec489926;--proto-arp:#eab308;--proto-arp-bg:#eab30826;--proto-udp:#8b5cf6;--proto-udp-bg:#8b5cf626;--proto-tls:#6366f1;--proto-tls-bg:#6366f126;--proto-dhcp:#f97316;--proto-dhcp-bg:#f9731626;--row-hover:#1e293b;--row-selected:#1e3a5f;--row-selected-border:#38bdf8}.pcap-container{width:100%;max-width:1600px;color:var(--pcap-text-primary);flex-direction:column;gap:1.25rem;margin:0 auto;padding:1.5rem;display:flex}.pcap-notice-banner{border:1px solid #0000;border-radius:8px;align-items:flex-start;gap:.75rem;padding:.875rem 1.25rem;font-size:.875rem;line-height:1.4;display:flex}.pcap-notice-banner.safety{color:#7dd3fc;background:#0ea5e91a;border-color:#0ea5e94d}.pcap-notice-banner.warning{color:#fcd34d;background:#f59e0b1a;border-color:#f59e0b4d}.pcap-notice-banner.danger{color:#fca5a5;background:#ef44441a;border-color:#ef44444d}.pcap-workbench-header{background:var(--pcap-card-bg);border:1px solid var(--pcap-border);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.pcap-workbench-title-group{align-items:center;gap:.875rem;display:flex}.pcap-workbench-title{color:#fff;margin:0;font-size:1.25rem;font-weight:700}.pcap-workbench-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.pcap-workbench-badge.READY{color:#34d399;background:#10b98133;border:1px solid #10b98166}.pcap-workbench-badge.PARSING{color:#fbbf24;background:#f59e0b33;border:1px solid #f59e0b66}.pcap-workbench-badge.FAILED{color:#f87171;background:#ef444433;border:1px solid #ef444466}.pcap-workbench-actions{align-items:center;gap:.75rem;display:flex}.pcap-tabs{border-bottom:1px solid var(--pcap-border);align-items:center;gap:.5rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.pcap-tab-button{color:var(--pcap-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-bottom-width:2px;border-radius:6px 6px 0 0;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:600;transition:all .15s;display:flex}.pcap-tab-button:hover{color:var(--pcap-text-primary);background:#ffffff08}.pcap-tab-button.active{color:#38bdf8;background:#38bdf814;border-color:#38bdf833 #38bdf833 #38bdf8}.pcap-filter-bar{background:var(--pcap-card-bg);border:1px solid var(--pcap-border);border-radius:8px;flex-direction:column;gap:.5rem;padding:.75rem 1rem;display:flex}.pcap-filter-input-row{align-items:center;gap:.5rem;display:flex}.pcap-filter-input-wrapper{flex:1;align-items:center;display:flex;position:relative}.pcap-filter-input-icon{color:var(--pcap-text-muted);pointer-events:none;position:absolute;left:.85rem}.pcap-filter-input{border:1px solid var(--pcap-border);color:#f1f5f9;background:#090d16;border-radius:6px;outline:none;width:100%;padding:.6rem 2.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.pcap-filter-input:focus{border-color:var(--pcap-border-focus);box-shadow:0 0 0 2px #38bdf826}.pcap-filter-input.error{border-color:#ef4444;box-shadow:0 0 0 2px #ef444426}.pcap-filter-clear-btn{color:var(--pcap-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem;position:absolute;right:.6rem}.pcap-filter-clear-btn:hover{color:#fff}.pcap-filter-apply-btn{color:#fff;cursor:pointer;background:#0284c7;border:none;border-radius:6px;padding:.6rem 1.25rem;font-size:.875rem;font-weight:600;transition:background-color .15s}.pcap-filter-apply-btn:hover{background:#0369a1}.pcap-filter-chips{flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.75rem;display:flex}.pcap-filter-chip-label{color:var(--pcap-text-muted);margin-right:.25rem;font-weight:500}.pcap-filter-chip{border:1px solid var(--pcap-border);color:var(--pcap-text-secondary);cursor:pointer;background:#ffffff0d;border-radius:4px;padding:.2rem .5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;transition:all .12s}.pcap-filter-chip:hover{color:#38bdf8;background:#38bdf81a;border-color:#38bdf84d}.pcap-filter-error-msg{color:#f87171;padding-left:.25rem;font-family:ui-monospace,monospace;font-size:.75rem}.pcap-table-wrapper{background:var(--pcap-card-bg);border:1px solid var(--pcap-border);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.pcap-table-header-bar{border-bottom:1px solid var(--pcap-border);color:var(--pcap-text-secondary);background:#0b1120;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.8125rem;display:flex}.pcap-table-scroll{max-height:520px;overflow-x:auto}.pcap-packet-table{border-collapse:collapse;text-align:left;width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8125rem}.pcap-packet-table th{color:var(--pcap-text-secondary);border-bottom:1px solid var(--pcap-border);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;-webkit-user-select:none;user-select:none;z-index:10;background:#0f172a;padding:.6rem .75rem;font-size:.75rem;font-weight:600;position:sticky;top:0}.pcap-packet-table td{white-space:nowrap;color:#cbd5e1;border-bottom:1px solid #ffffff0a;padding:.45rem .75rem}.pcap-packet-table tr{cursor:pointer;transition:background-color .1s}.pcap-packet-table tr:hover{background:var(--row-hover)}.pcap-packet-table tr.selected{color:#fff;border-left:3px solid var(--row-selected-border);background:var(--row-selected)!important}.pcap-packet-table tr.bookmarked td:first-child{border-left:3px solid #eab308}.proto-badge{text-align:center;border-radius:4px;min-width:48px;padding:.15rem .5rem;font-size:.72rem;font-weight:700;display:inline-block}.proto-badge.TCP{background:var(--proto-tcp-bg);color:var(--proto-tcp)}.proto-badge.HTTP{background:var(--proto-http-bg);color:var(--proto-http)}.proto-badge.DNS{background:var(--proto-dns-bg);color:var(--proto-dns)}.proto-badge.ICMP{background:var(--proto-icmp-bg);color:var(--proto-icmp)}.proto-badge.ARP{background:var(--proto-arp-bg);color:var(--proto-arp)}.proto-badge.UDP{background:var(--proto-udp-bg);color:var(--proto-udp)}.proto-badge.TLS{background:var(--proto-tls-bg);color:var(--proto-tls)}.proto-badge.DHCP{background:var(--proto-dhcp-bg);color:var(--proto-dhcp)}.proto-badge.OTHER{color:#94a3b8;background:#ffffff14}.pcap-pagination-bar{border-top:1px solid var(--pcap-border);background:#0b1120;justify-content:space-between;align-items:center;padding:.6rem 1rem;font-size:.8125rem;display:flex}.pcap-page-btn-group{align-items:center;gap:.35rem;display:flex}.pcap-page-btn{border:1px solid var(--pcap-border);color:var(--pcap-text-primary);cursor:pointer;background:#1e293b;border-radius:4px;padding:.35rem .7rem;font-size:.75rem;transition:all .12s}.pcap-page-btn:hover:not(:disabled){background:#334155;border-color:#475569}.pcap-page-btn:disabled{opacity:.4;cursor:not-allowed}.pcap-details-card{background:var(--pcap-card-bg);border:1px solid var(--pcap-border);border-radius:8px;flex-direction:column;gap:.875rem;padding:1.25rem;display:flex}.pcap-details-header{border-bottom:1px solid var(--pcap-border);justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.pcap-layer-tree{flex-direction:column;gap:.5rem;display:flex}.pcap-layer-node{border:1px solid var(--pcap-border);background:#0b1120;border-radius:6px;overflow:hidden}.pcap-layer-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:#131c31;justify-content:space-between;align-items:center;padding:.6rem .875rem;font-size:.8125rem;font-weight:600;display:flex}.pcap-layer-header:hover{background:#1a2542}.pcap-layer-body{background:#090d16;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.5rem 1.5rem;padding:.75rem 1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8125rem;display:grid}.pcap-layer-prop{align-items:baseline;gap:.5rem;line-height:1.4;display:flex}.pcap-layer-key{color:var(--pcap-text-muted);min-width:110px}.pcap-layer-val{color:#38bdf8;word-break:break-all}.pcap-flags-group{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.pcap-flag-tag{text-transform:uppercase;border-radius:3px;padding:.1rem .4rem;font-size:.6875rem;font-weight:700;display:inline-block}.pcap-flag-tag.SYN{color:#38bdf8;background:#38bdf833}.pcap-flag-tag.ACK{color:#34d399;background:#10b98133}.pcap-flag-tag.FIN{color:#fbbf24;background:#f59e0b33}.pcap-flag-tag.RST{color:#f87171;background:#ef444440}.pcap-flag-tag.PSH{color:#c084fc;background:#a855f733}.pcap-flag-tag.URG{color:#f472b6;background:#ec489933}.pcap-conv-grid{grid-template-columns:1fr 1.25fr;gap:1.25rem;display:grid}@media (width<=1024px){.pcap-conv-grid{grid-template-columns:1fr}}.pcap-conv-card{border:1px solid var(--pcap-border);cursor:pointer;background:#0b1120;border-radius:6px;flex-direction:column;gap:.5rem;padding:.875rem 1rem;transition:all .15s;display:flex}.pcap-conv-card:hover{background:#111a2f;border-color:#38bdf8}.pcap-conv-card.active{background:#38bdf814;border-color:#38bdf8}.pcap-handshake-badge{text-transform:uppercase;border-radius:9999px;padding:.15rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.pcap-handshake-badge.COMPLETE{color:#34d399;background:#10b98133}.pcap-handshake-badge.INCOMPLETE{color:#fbbf24;background:#f59e0b33}.pcap-handshake-badge.RESET{color:#f87171;background:#ef444433}.pcap-handshake-badge.UNKNOWN{color:#94a3b8;background:#ffffff0f}.pcap-ladder-container{border:1px solid var(--pcap-border);background:#090d16;border-radius:8px;flex-direction:column;gap:.875rem;padding:1.25rem;display:flex}.pcap-ladder-endpoints{background:#131c31;border-radius:6px;justify-content:space-between;padding:.5rem 1rem;font-family:ui-monospace,monospace;font-size:.8125rem;font-weight:700;display:flex}.pcap-ladder-step{cursor:pointer;border-radius:4px;align-items:center;gap:.5rem;padding:.35rem .5rem;transition:background-color .12s;display:flex}.pcap-ladder-step:hover{background:#ffffff0d}.pcap-ladder-arrow-line{background:#38bdf8;flex:1;height:2px;position:relative}.pcap-ladder-arrow-line.reverse{background:#a855f7}.pcap-ladder-meta{color:var(--pcap-text-secondary);font-family:ui-monospace,monospace;font-size:.75rem}.pcap-obs-card{background:#0f172a;border-left:4px solid #38bdf8;border-radius:8px;flex-direction:column;gap:.6rem;padding:1rem 1.25rem;display:flex}.pcap-obs-card.INFO{border-left-color:#38bdf8}.pcap-obs-card.LOW{border-left-color:#10b981}.pcap-obs-card.MEDIUM{border-left-color:#f59e0b}.pcap-obs-card.HIGH{border-left-color:#ef4444}.pcap-obs-header{justify-content:space-between;align-items:center;display:flex}.pcap-obs-severity{text-transform:uppercase;border-radius:4px;padding:.15rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.pcap-obs-severity.INFO{color:#38bdf8;background:#38bdf826}.pcap-obs-severity.LOW{color:#34d399;background:#10b98126}.pcap-obs-severity.MEDIUM{color:#fbbf24;background:#f59e0b26}.pcap-obs-severity.HIGH{color:#f87171;background:#ef444426}.pcap-evidence-chips{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.pcap-evidence-btn{border:1px solid var(--pcap-border);color:#38bdf8;cursor:pointer;background:#1e293b;border-radius:3px;padding:.15rem .45rem;font-family:ui-monospace,monospace;font-size:.72rem}.pcap-evidence-btn:hover{color:#0f172a;background:#38bdf8}.pcap-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.pcap-metric-card{background:var(--pcap-card-bg);border:1px solid var(--pcap-border);border-radius:8px;flex-direction:column;gap:.25rem;padding:1rem;display:flex}.pcap-metric-val{color:#fff;font-family:ui-monospace,monospace;font-size:1.5rem;font-weight:700}.pcap-metric-label{color:var(--pcap-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.pcap-timeline-container{border:1px solid var(--pcap-border);background:#090d16;border-radius:6px;align-items:flex-end;gap:3px;height:90px;padding:.5rem;display:flex}.pcap-timeline-bar{background:#0284c7;border-radius:2px 2px 0 0;flex:1;min-height:2px;transition:all .12s;position:relative}.pcap-timeline-bar:hover{background:#38bdf8}.pcap-dropzone{border:2px dashed var(--pcap-border);text-align:center;cursor:pointer;background:#0f172a80;border-radius:10px;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem 1.5rem;transition:all .15s;display:flex}.pcap-dropzone:hover,.pcap-dropzone.dragging{background:#38bdf80d;border-color:#38bdf8}.pcap-library-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.pcap-sample-card{background:var(--pcap-card-bg);border:1px solid var(--pcap-border);border-radius:10px;flex-direction:column;justify-content:space-between;gap:1rem;padding:1.25rem;transition:all .15s;display:flex}.pcap-sample-card:hover{border-color:#38bdf8;transform:translateY(-2px);box-shadow:0 8px 20px #0000004d}.pcap-inspect-btn{color:#fff;cursor:pointer;background:#0284c7;border:none;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background-color .15s;display:flex}.pcap-inspect-btn:hover{background:#0369a1}.simulator-container{color:#e2e8f0;background-color:#0b0f19;flex-direction:column;height:calc(100vh - 4.5rem);min-height:700px;font-family:inherit;display:flex;overflow:hidden}.simulator-disclaimer{color:#38bdf8;background:#0ea5e914;border-bottom:1px solid #0ea5e933;justify-content:space-between;align-items:center;padding:.4rem 1rem;font-size:.75rem;display:flex}.simulator-disclaimer-text{align-items:center;gap:.5rem;display:flex}.simulator-topbar{background-color:#0f172a;border-bottom:1px solid #1e293b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 1rem;display:flex}.simulator-topbar-left{align-items:center;gap:.75rem;display:flex}.simulator-title{color:#f8fafc;align-items:center;gap:.5rem;font-size:1.05rem;font-weight:700;display:flex}.simulator-badge{color:#34d399;text-transform:uppercase;background:#10b98126;border:1px solid #10b9814d;border-radius:9999px;padding:.15rem .45rem;font-size:.65rem;font-weight:600}.simulator-topbar-actions{align-items:center;gap:.5rem;display:flex}.sim-btn{cursor:pointer;border:1px solid #0000;border-radius:.375rem;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.8rem;font-weight:500;transition:all .15s ease-in-out;display:inline-flex}.sim-btn-primary{color:#fff;background:#0284c7;border-color:#0369a1}.sim-btn-primary:hover{background:#0369a1}.sim-btn-secondary{color:#cbd5e1;background:#1e293b;border-color:#334155}.sim-btn-secondary:hover{color:#fff;background:#334155}.sim-btn-danger{color:#f87171;background:#ef44441a;border-color:#ef44444d}.sim-btn-danger:hover{background:#ef444433}.sim-btn-accent{color:#c084fc;background:#a855f726;border-color:#a855f74d}.sim-btn-accent:hover{background:#a855f740}.sim-select{color:#cbd5e1;background:#1e293b;border:1px solid #334155;border-radius:.375rem;outline:none;padding:.35rem .6rem;font-size:.8rem}.sim-select:focus{border-color:#38bdf8}.simulator-body{flex:1;display:flex;position:relative;overflow:hidden}.simulator-palette{-webkit-user-select:none;user-select:none;z-index:10;background-color:#0f172a;border-right:1px solid #1e293b;flex-direction:column;width:210px;display:flex;overflow-y:auto}.palette-section{border-bottom:1px solid #1e293b;padding:.75rem .5rem}.palette-section-title{text-transform:uppercase;color:#64748b;letter-spacing:.05em;margin-bottom:.5rem;padding-left:.25rem;font-size:.68rem;font-weight:700}.palette-grid{grid-template-columns:repeat(2,1fr);gap:.4rem;display:grid}.palette-item{cursor:grab;color:#94a3b8;text-align:center;background:#1e293b;border:1px solid #334155;border-radius:.375rem;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding:.6rem .3rem;transition:all .15s;display:flex}.palette-item:hover{color:#f1f5f9;background:#253349;border-color:#38bdf8;transform:translateY(-1px)}.palette-item:active{cursor:grabbing}.palette-item-name{font-size:.68rem;font-weight:500}.simulator-canvas-area{background-color:#090d16;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.canvas-viewport{cursor:crosshair;flex:1;width:100%;height:100%;position:relative;overflow:hidden}.canvas-grid-bg{pointer-events:none;background-image:linear-gradient(90deg,#ffffff08 1px,#0000 1px),linear-gradient(#ffffff08 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0}.canvas-svg{width:100%;height:100%;position:absolute;top:0;left:0}.canvas-link{stroke:#0284c7;stroke-width:2.5px;transition:stroke .2s}.canvas-link.down{stroke:#ef4444;stroke-dasharray:4 4}.canvas-link.active{stroke:#38bdf8;stroke-width:3.5px;filter:drop-shadow(0 0 6px #38bdf8b3)}.canvas-link-port-label{fill:#94a3b8;font-family:monospace;font-size:10px}.canvas-node{cursor:move;transition:filter .15s}.canvas-node:hover{filter:drop-shadow(0 0 8px #38bdf880)}.canvas-node.selected rect.node-box{stroke:#38bdf8;stroke-width:2px;filter:drop-shadow(0 0 10px #38bdf899)}.node-box{fill:#1e293b;stroke:#334155;stroke-width:1.5px;rx:8;transition:all .2s}.node-label{fill:#f8fafc;text-anchor:middle;font-size:11px;font-weight:600}.node-sublabel{fill:#38bdf8;text-anchor:middle;font-family:monospace;font-size:9.5px}.port-indicator{cursor:pointer;fill:#10b981;stroke:#064e3b;stroke-width:1.5px;transition:all .15s}.port-indicator:hover{fill:#34d399;filter:drop-shadow(0 0 6px #10b981);transform:scale(1.3)}.port-indicator.connecting{fill:#f59e0b;stroke:#78350f;animation:1s infinite alternate pulse}.canvas-floating-controls{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:20;background:#0f172ad9;border:1px solid #334155;border-radius:.375rem;flex-direction:column;gap:.25rem;padding:.25rem;display:flex;position:absolute;top:1rem;right:1rem}.canvas-floating-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:flex}.canvas-floating-btn:hover{color:#f1f5f9;background:#1e293b}.simulation-dock{z-index:15;background-color:#0f172a;border-top:1px solid #1e293b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}.simulation-dock-left{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.sim-input-group{align-items:center;gap:.35rem;display:flex}.sim-input-label{color:#94a3b8;font-size:.75rem;font-weight:500}.simulator-properties{z-index:10;background-color:#0f172a;border-left:1px solid #1e293b;flex-direction:column;width:320px;display:flex;overflow-y:auto}.prop-header{border-bottom:1px solid #1e293b;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.prop-title{color:#f1f5f9;align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;display:flex}.prop-tabs{background:#090d16;border-bottom:1px solid #1e293b;display:flex}.prop-tab-btn{color:#64748b;cursor:pointer;text-align:center;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:.5rem .25rem;font-size:.72rem;font-weight:500;transition:all .15s}.prop-tab-btn.active{color:#38bdf8;background:#0f172a;border-bottom-color:#38bdf8}.prop-body{flex:1;padding:.75rem 1rem;overflow-y:auto}.prop-form-group{margin-bottom:.75rem}.prop-label{color:#94a3b8;margin-bottom:.25rem;font-size:.72rem;font-weight:500;display:block}.prop-input{color:#f8fafc;background:#1e293b;border:1px solid #334155;border-radius:.375rem;outline:none;width:100%;padding:.4rem .6rem;font-family:monospace;font-size:.8rem}.prop-input:focus{border-color:#38bdf8}.simulator-bottom-drawer{background-color:#0b1120;border-top:1px solid #1e293b;flex-direction:column;height:240px;transition:height .25s;display:flex;overflow:hidden}.simulator-bottom-drawer.collapsed{height:38px}.drawer-header{-webkit-user-select:none;user-select:none;background-color:#0f172a;border-bottom:1px solid #1e293b;justify-content:space-between;align-items:center;height:38px;padding:0 1rem;display:flex}.drawer-tabs{gap:.5rem;display:flex}.drawer-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:.25rem;align-items:center;gap:.35rem;padding:.3rem .6rem;font-size:.75rem;font-weight:600;transition:all .15s;display:flex}.drawer-tab.active{color:#38bdf8;background:#1e293b}.drawer-content{flex:1;display:flex;overflow:hidden}.timeline-scroll{flex-direction:column;flex:1;gap:.4rem;padding:.5rem 1rem;display:flex;overflow-y:auto}.timeline-item{background:#0f172a;border:1px solid #1e293b;border-radius:.375rem;align-items:flex-start;gap:.75rem;padding:.4rem .6rem;font-size:.78rem;transition:all .15s;display:flex}.timeline-item:hover{background:#131c31;border-color:#334155}.timeline-severity-badge{text-transform:uppercase;border-radius:.2rem;padding:.1rem .35rem;font-size:.62rem;font-weight:700}.timeline-severity-badge.info{color:#38bdf8;background:#0ea5e926}.timeline-severity-badge.success{color:#34d399;background:#10b98126}.timeline-severity-badge.error{color:#f87171;background:#ef444426}.timeline-severity-badge.warning{color:#fbbf24;background:#f59e0b26}.timeline-msg{color:#cbd5e1;flex:1}.timeline-why-btn{color:#38bdf8;cursor:pointer;background:#38bdf81a;border:1px solid #38bdf84d;border-radius:.25rem;padding:.15rem .45rem;font-size:.68rem;font-weight:600}.timeline-why-btn:hover{background:#38bdf833}.osi-container{flex:1;gap:1rem;padding:.75rem 1rem;display:flex;overflow:auto}.osi-layers-stack{flex-direction:column-reverse;gap:.25rem;width:180px;display:flex}.osi-layer-box{color:#64748b;background:#1e293b;border:1px solid #334155;border-radius:.25rem;justify-content:space-between;align-items:center;padding:.35rem .5rem;font-size:.72rem;display:flex}.osi-layer-box.active{color:#38bdf8;background:#0ea5e933;border-color:#38bdf8;font-weight:600;box-shadow:0 0 10px #38bdf840}.osi-detail-panel{background:#0f172a;border:1px solid #1e293b;border-radius:.375rem;flex:1;padding:.75rem;overflow-y:auto}.edu-explanation-box{background:#0f172af2;border:1px solid #0284c7;border-radius:.5rem;margin-top:.5rem;padding:.85rem;font-size:.8rem;box-shadow:0 4px 15px #00000080}.edu-header{color:#38bdf8;align-items:center;gap:.4rem;margin-bottom:.4rem;font-size:.85rem;font-weight:700;display:flex}.edu-text{color:#e2e8f0;margin-bottom:.4rem;line-height:1.45}.edu-cyber{color:#d8b4fe;background:#a855f71a;border-left:3px solid #a855f7;border-radius:0 .25rem .25rem 0;padding:.35rem .5rem;font-size:.74rem}:root{--soc-bg:#090d16;--soc-card-bg:#0f172a;--soc-card-hover:#17233c;--soc-border:#1e293b;--soc-border-accent:#334155;--soc-border-focus:#38bdf8;--soc-text-primary:#f8fafc;--soc-text-secondary:#94a3b8;--soc-text-muted:#64748b;--p1-red:#ef4444;--p1-red-bg:#ef444426;--p2-orange:#f97316;--p2-orange-bg:#f9731626;--p3-yellow:#eab308;--p3-yellow-bg:#eab30826;--p4-blue:#38bdf8;--p4-blue-bg:#38bdf826;--cls-unreviewed:#64748b;--cls-unreviewed-bg:#64748b26;--cls-benign:#10b981;--cls-benign-bg:#10b98126;--cls-suspicious:#f97316;--cls-suspicious-bg:#f9731626;--cls-fp:#94a3b8;--cls-fp-bg:#94a3b826;--cls-more-data:#a855f7;--cls-more-data-bg:#a855f726;--cls-closed:#22c55e;--cls-closed-bg:#22c55e26}.soc-container{width:100%;max-width:1600px;color:var(--soc-text-primary);flex-direction:column;gap:1.5rem;margin:0 auto;padding:1.5rem;font-family:inherit;display:flex}.soc-banner{background:#0ea5e914;border:1px solid #0ea5e940;border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.soc-banner-content{align-items:center;gap:.75rem;display:flex}.soc-banner-icon{font-size:1.5rem}.soc-banner-title{color:#38bdf8;font-size:.95rem;font-weight:600}.soc-banner-sub{color:var(--soc-text-secondary);font-size:.85rem}.soc-nav-tabs{border-bottom:1px solid var(--soc-border);flex-wrap:wrap;gap:.5rem;padding-bottom:.5rem;display:flex}.soc-nav-tab{color:var(--soc-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.soc-nav-tab:hover{color:var(--soc-text-primary);background:var(--soc-card-hover)}.soc-nav-tab.active{color:#38bdf8;background:#38bdf81f;border-color:#38bdf84d}.soc-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.soc-metric-card{background:var(--soc-card-bg);border:1px solid var(--soc-border);border-radius:8px;flex-direction:column;gap:.4rem;padding:1.15rem;transition:border-color .2s;display:flex}.soc-metric-card:hover{border-color:var(--soc-border-accent)}.soc-metric-label{text-transform:uppercase;letter-spacing:.05em;color:var(--soc-text-muted);font-size:.78rem}.soc-metric-value{color:var(--soc-text-primary);font-size:1.75rem;font-weight:700}.soc-metric-p1{color:var(--p1-red)}.soc-metric-p2{color:var(--p2-orange)}.soc-card{background:var(--soc-card-bg);border:1px solid var(--soc-border);border-radius:8px;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.soc-card-header{border-bottom:1px solid var(--soc-border);justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.soc-card-title{color:var(--soc-text-primary);align-items:center;gap:.5rem;font-size:1.05rem;font-weight:600;display:flex}.soc-badge{letter-spacing:.03em;text-transform:uppercase;border-radius:4px;align-items:center;padding:.2rem .55rem;font-size:.75rem;font-weight:600;display:inline-flex}.soc-badge-p1{background:var(--p1-red-bg);color:var(--p1-red);border:1px solid #ef44444d}.soc-badge-p2{background:var(--p2-orange-bg);color:var(--p2-orange);border:1px solid #f973164d}.soc-badge-p3{background:var(--p3-yellow-bg);color:var(--p3-yellow);border:1px solid #eab3084d}.soc-badge-p4{background:var(--p4-blue-bg);color:var(--p4-blue);border:1px solid #38bdf84d}.soc-badge-unreviewed{background:var(--cls-unreviewed-bg);color:var(--cls-unreviewed);border:1px solid #64748b4d}.soc-badge-benign{background:var(--cls-benign-bg);color:var(--cls-benign);border:1px solid #10b9814d}.soc-badge-suspicious{background:var(--cls-suspicious-bg);color:var(--cls-suspicious);border:1px solid #f973164d}.soc-badge-fp{background:var(--cls-fp-bg);color:var(--cls-fp);border:1px solid #94a3b84d}.soc-badge-more-data{background:var(--cls-more-data-bg);color:var(--cls-more-data);border:1px solid #a855f74d}.soc-badge-closed{background:var(--cls-closed-bg);color:var(--cls-closed);border:1px solid #22c55e4d}.soc-table-container{width:100%;overflow-x:auto}.soc-table{border-collapse:collapse;text-align:left;width:100%;font-size:.88rem}.soc-table th{color:var(--soc-text-muted);border-bottom:1px solid var(--soc-border);white-space:nowrap;background:#0f172acc;padding:.75rem 1rem;font-weight:600}.soc-table td{border-bottom:1px solid var(--soc-border);color:var(--soc-text-secondary);vertical-align:middle;padding:.75rem 1rem}.soc-table tr:hover td{background:var(--soc-card-hover);color:var(--soc-text-primary)}.soc-input,.soc-select,.soc-textarea{border:1px solid var(--soc-border);color:var(--soc-text-primary);background:#0b1120;border-radius:6px;outline:none;padding:.55rem .75rem;font-size:.88rem;transition:border-color .15s}.soc-input:focus,.soc-select:focus,.soc-textarea:focus{border-color:var(--soc-border-focus)}.soc-btn{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.88rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.soc-btn-primary{color:#fff;background:#0284c7}.soc-btn-primary:hover{background:#0369a1}.soc-btn-secondary{color:var(--soc-text-primary);border-color:var(--soc-border-accent);background:#1e293b}.soc-btn-secondary:hover{background:#334155}.soc-btn-danger{color:#ef4444;background:#ef444433;border-color:#ef444466}.soc-btn-danger:hover{background:#ef444459}.soc-timeline{flex-direction:column;margin-top:.5rem;padding-left:1.5rem;display:flex;position:relative}.soc-timeline:before{content:"";background:var(--soc-border-accent);width:2px;position:absolute;top:.5rem;bottom:.5rem;left:.45rem}.soc-timeline-item{padding-bottom:1.25rem;position:relative}.soc-timeline-marker{border:2px solid var(--soc-card-bg);background:#38bdf8;border-radius:50%;width:10px;height:10px;position:absolute;top:.2rem;left:-1.35rem}.soc-timeline-title{color:var(--soc-text-primary);font-size:.9rem;font-weight:600}.soc-timeline-meta{color:var(--soc-text-muted);font-size:.78rem}.soc-timeline-desc{color:var(--soc-text-secondary);margin-top:.25rem;font-size:.85rem}.soc-context-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.soc-context-box{border:1px solid var(--soc-border);background:#0f172a99;border-radius:6px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.soc-context-box-title{text-transform:uppercase;color:var(--soc-text-muted);font-size:.82rem;font-weight:600}.soc-context-ip{color:#38bdf8;font-family:monospace;font-size:1.15rem;font-weight:700}.soc-context-stat{color:var(--soc-text-secondary);justify-content:space-between;font-size:.82rem;display:flex}.soc-hypothesis-card{border:1px solid var(--soc-border);background:#0f172a80;border-radius:6px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.soc-hypothesis-header{justify-content:space-between;align-items:center;display:flex}.soc-rubric-row{border-bottom:1px solid var(--soc-border);justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.88rem;display:flex}:root{--ir-bg-primary:#0a0e17;--ir-bg-card:#111827;--ir-bg-elevated:#1f2937;--ir-bg-hover:#283548;--ir-border:#374151;--ir-border-focus:#3b82f6;--ir-text-primary:#f3f4f6;--ir-text-secondary:#9ca3af;--ir-text-muted:#6b7280;--ir-crit:#ef4444;--ir-crit-bg:#ef444426;--ir-high:#f97316;--ir-high-bg:#f9731626;--ir-med:#eab308;--ir-med-bg:#eab30826;--ir-low:#3b82f6;--ir-low-bg:#3b82f626;--ir-cyan:#06b6d4;--ir-cyan-glow:#06b6d44d;--ir-emerald:#10b981;--ir-emerald-bg:#10b98126;--ir-purple:#8b5cf6}.ir-safety-banner{color:#a5f3fc;background:linear-gradient(90deg,#0e749040 0%,#14b8a633 100%);border:1px solid #06b6d466;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:10px 18px;font-size:.88rem;display:flex;box-shadow:0 0 15px #06b6d41a}.ir-safety-banner .shield-icon{margin-right:10px;font-size:1.15rem}.ir-safety-badge{text-transform:uppercase;letter-spacing:.05em;color:#ecfeff;background:#06b6d440;border:1px solid #06b6d4;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:700}.ir-container{max-width:1440px;color:var(--ir-text-primary);margin:0 auto;padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.ir-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.ir-title-group h1{letter-spacing:-.02em;background:linear-gradient(135deg,#fff 0%,#9ca3af 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0 0 6px;font-size:1.85rem;font-weight:700}.ir-subtitle{color:var(--ir-text-secondary);margin:0;font-size:.95rem}.ir-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:24px;display:grid}.ir-kpi-card{background:var(--ir-bg-card);border:1px solid var(--ir-border);border-radius:8px;flex-direction:column;padding:16px;transition:transform .2s,border-color .2s;display:flex}.ir-kpi-card:hover{border-color:var(--ir-border-focus);transform:translateY(-2px)}.ir-kpi-label{color:var(--ir-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:.8rem}.ir-kpi-val{color:#fff;font-size:1.75rem;font-weight:700}.badge-crit{background:var(--ir-crit-bg);color:var(--ir-crit);border:1px solid #ef444466}.badge-high{background:var(--ir-high-bg);color:var(--ir-high);border:1px solid #f9731666}.badge-med{background:var(--ir-med-bg);color:var(--ir-med);border:1px solid #eab30866}.badge-low{background:var(--ir-low-bg);color:var(--ir-low);border:1px solid #3b82f666}.badge-emerald{background:var(--ir-emerald-bg);color:var(--ir-emerald);border:1px solid #10b98166}.badge-cyan{color:var(--ir-cyan);background:#06b6d426;border:1px solid #06b6d466}.ir-pill{text-transform:uppercase;letter-spacing:.03em;border-radius:4px;align-items:center;gap:5px;padding:3px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.ir-filter-bar{background:var(--ir-bg-card);border:1px solid var(--ir-border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;display:flex}.ir-search-input{background:var(--ir-bg-elevated);border:1px solid var(--ir-border);color:#fff;border-radius:6px;flex:1;min-width:240px;padding:8px 12px;font-size:.9rem}.ir-search-input:focus{border-color:var(--ir-border-focus);outline:none}.ir-select{background:var(--ir-bg-elevated);border:1px solid var(--ir-border);color:var(--ir-text-primary);border-radius:6px;padding:8px 12px;font-size:.85rem}.ir-btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:.88rem;font-weight:600;transition:opacity .2s;display:inline-flex}.ir-btn-primary:hover{opacity:.9}.ir-btn-secondary{background:var(--ir-bg-elevated);color:var(--ir-text-primary);border:1px solid var(--ir-border);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:.88rem;font-weight:500;display:inline-flex}.ir-btn-secondary:hover{background:var(--ir-bg-hover)}.ir-table-wrapper{background:var(--ir-bg-card);border:1px solid var(--ir-border);border-radius:8px;overflow:hidden}.ir-table{border-collapse:collapse;text-align:left;width:100%;font-size:.88rem}.ir-table th{background:var(--ir-bg-elevated);color:var(--ir-text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--ir-border);padding:12px 16px;font-size:.75rem;font-weight:600}.ir-table td{vertical-align:middle;border-bottom:1px solid #37415180;padding:14px 16px}.ir-table tbody tr{transition:background .15s}.ir-table tbody tr:hover{cursor:pointer;background:#1f293799}.ir-table-id{color:var(--ir-cyan);font-family:monospace;font-weight:700}.ir-lifecycle-bar{background:var(--ir-bg-card);border:1px solid var(--ir-border);border-radius:8px;align-items:center;gap:8px;margin-bottom:20px;padding:10px 14px;display:flex}.ir-lifecycle-step{color:var(--ir-text-muted);border:1px solid #0000;border-radius:6px;flex:1;align-items:center;gap:8px;padding:6px 10px;font-size:.8rem;display:flex}.ir-lifecycle-step.active{background:var(--ir-bg-elevated);color:var(--ir-cyan);border-color:#06b6d466;font-weight:700;box-shadow:0 0 10px #06b6d426}.ir-lifecycle-step.completed{color:var(--ir-emerald)}.ir-tabs-nav{border-bottom:1px solid var(--ir-border);gap:4px;margin-bottom:20px;display:flex;overflow-x:auto}.ir-tab-btn{color:var(--ir-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:10px 16px;font-size:.9rem;font-weight:500;display:flex}.ir-tab-btn:hover{color:var(--ir-text-primary)}.ir-tab-btn.active{color:#fff;border-bottom-color:var(--ir-border-focus);font-weight:600}.mitre-matrix-container{align-items:flex-start;gap:10px;padding-bottom:14px;display:flex;overflow-x:auto}.mitre-tactic-col{background:var(--ir-bg-card);border:1px solid var(--ir-border);border-radius:6px;flex-direction:column;flex:1;min-width:175px;max-width:200px;display:flex;overflow:hidden}.mitre-tactic-header{background:var(--ir-bg-elevated);border-bottom:1px solid var(--ir-border);text-align:center;color:#fff;padding:10px 12px;font-size:.8rem;font-weight:700}.mitre-tactic-header small{color:var(--ir-cyan);margin-top:2px;font-size:.7rem;font-weight:600;display:block}.mitre-tech-list{flex-direction:column;gap:4px;max-height:520px;padding:6px;display:flex;overflow-y:auto}.mitre-tech-tile{cursor:pointer;color:#cbd5e1;background:#141c2b;border:1px solid #233045;border-radius:4px;padding:6px 8px;font-size:.75rem;transition:all .15s}.mitre-tech-tile:hover{background:var(--ir-bg-hover);border-color:var(--ir-border-focus)}.mitre-tech-tile.mapped{color:#ecfeff;background:#06b6d433;border-color:#06b6d4;font-weight:600;box-shadow:0 0 8px #06b6d440}.mitre-tech-id{color:var(--ir-text-secondary);font-family:monospace;font-size:.7rem}.mitre-tech-tile.mapped .mitre-tech-id{color:#a5f3fc}.ir-timeline{border-left:2px solid var(--ir-border);margin-left:14px;padding-left:28px;position:relative}.ir-timeline-event{background:var(--ir-bg-card);border:1px solid var(--ir-border);border-radius:8px;margin-bottom:24px;padding:14px 18px;position:relative}.ir-timeline-event.milestone{border-left:4px solid var(--ir-cyan);box-shadow:0 0 10px #06b6d41a}.ir-timeline-node{background:var(--ir-bg-elevated);border:2px solid var(--ir-border);border-radius:50%;width:16px;height:16px;position:absolute;top:14px;left:-37px}.ir-timeline-event.milestone .ir-timeline-node{background:var(--ir-cyan);box-shadow:0 0 8px var(--ir-cyan);border-color:#ecfeff}.ir-timeline-time{color:var(--ir-cyan);margin-bottom:4px;font-family:monospace;font-size:.78rem}.ir-timeline-title{color:#fff;margin-bottom:6px;font-size:.95rem;font-weight:600}.ir-evidence-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px;display:grid}.ir-evidence-card{background:var(--ir-bg-card);border:1px solid var(--ir-border);border-radius:8px;flex-direction:column;padding:16px;display:flex}.ir-hash-badge{color:#38bdf8;word-break:break-all;background:#0f172a;border:1px solid #1e293b;border-radius:4px;margin:8px 0;padding:4px 8px;font-family:monospace;font-size:.75rem}.ir-modal-backdrop{z-index:999;background:#000000bf;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.ir-modal-box{background:var(--ir-bg-card);border:1px solid var(--ir-border);border-radius:10px;width:100%;max-width:640px;max-height:88vh;padding:24px;overflow-y:auto;box-shadow:0 20px 40px #0009}.ir-modal-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.ir-modal-header h3{color:#fff;margin:0;font-size:1.25rem}.ir-modal-close{color:var(--ir-text-secondary);cursor:pointer;background:0 0;border:none;font-size:1.5rem}.ad-container{max-width:1280px;margin:0 auto;padding:1.5rem}.ad-header{margin-bottom:2rem}.ad-header-title{color:#f8fafc;align-items:center;gap:.75rem;font-size:1.875rem;font-weight:700;display:flex}.ad-header-desc{color:#94a3b8;max-width:52rem;margin-top:.5rem;font-size:1rem;line-height:1.5}.ad-hero-card{background:linear-gradient(135deg,#0f172a 0%,#1e1b4b 100%);border:1px solid #3b82f6;border-radius:1rem;margin-bottom:2rem;padding:1.75rem;position:relative;overflow:hidden;box-shadow:0 10px 25px -5px #3b82f626}.ad-hero-card:before{content:"";background:linear-gradient(90deg,#3b82f6,#8b5cf6,#ec4899);height:3px;position:absolute;top:0;left:0;right:0}.ad-hero-badge{text-transform:uppercase;letter-spacing:.05em;color:#60a5fa;background:#3b82f626;border:1px solid #3b82f64d;border-radius:9999px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.25rem .75rem;font-size:.8125rem;font-weight:600;display:inline-flex}.ad-hero-content{flex-direction:column;gap:1.25rem;display:flex}@media (width>=768px){.ad-hero-content{flex-direction:row;justify-content:space-between;align-items:center}}.ad-hero-text h2{color:#fff;margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.ad-hero-reason{color:#cbd5e1;background:#0f172a99;border-left:3px solid #3b82f6;border-radius:0 .5rem .5rem 0;max-width:48rem;padding:.75rem 1rem;font-size:.9375rem;line-height:1.5}.ad-hero-actions{flex-shrink:0;gap:.75rem;display:flex}.ad-btn-primary{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.ad-btn-primary:hover{background:#1d4ed8;transform:translateY(-1px)}.ad-btn-secondary{color:#e2e8f0;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.ad-btn-secondary:hover{background:#334155}.ad-metrics-grid{grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem;margin-bottom:2rem;display:grid}@media (width>=640px){.ad-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.ad-metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.ad-metric-card{background:#0f172a;border:1px solid #1e293b;border-radius:.75rem;flex-direction:column;padding:1.25rem;display:flex}.ad-metric-header{color:#94a3b8;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:flex}.ad-metric-val{color:#f8fafc;font-size:1.75rem;font-weight:700}.ad-metric-sub{color:#64748b;margin-top:.25rem;font-size:.8125rem}.ad-diff-breakdown{background:#0f172a;border:1px solid #1e293b;border-radius:.75rem;margin-bottom:2rem;padding:1.25rem}.ad-diff-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.ad-diff-title{color:#e2e8f0;font-size:1rem;font-weight:600}.ad-diff-reason{color:#94a3b8;margin-bottom:1rem;font-size:.875rem;line-height:1.5}.ad-diff-tiers{grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem;display:grid}@media (width>=768px){.ad-diff-tiers{grid-template-columns:repeat(3,minmax(0,1fr))}}.ad-diff-tier-card{background:#1e293b;border:1px solid #334155;border-radius:.5rem;padding:1rem}.ad-diff-tier-card.active{border-color:#3b82f6;box-shadow:0 0 10px #3b82f633}.ad-diff-tier-name{color:#94a3b8;text-transform:uppercase;font-size:.8125rem;font-weight:600}.ad-diff-tier-stat{color:#f1f5f9;margin-top:.25rem;font-size:1.25rem;font-weight:700}.ad-section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.ad-section-title{color:#f1f5f9;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;display:flex}.ad-topic-grid{grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem;margin-bottom:2.5rem;display:grid}@media (width>=640px){.ad-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.ad-topic-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.ad-topic-card{background:#0f172a;border:1px solid #1e293b;border-radius:.75rem;flex-direction:column;justify-content:space-between;padding:1.25rem;transition:transform .2s,border-color .2s;display:flex}.ad-topic-card:hover{border-color:#334155;transform:translateY(-2px)}.ad-topic-header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;display:flex}.ad-topic-name{color:#f1f5f9;font-size:1rem;font-weight:600}.ad-status-badge{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:.25rem;padding:.2rem .5rem;font-size:.6875rem;font-weight:700}.ad-status-needs-practice{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.ad-status-developing{color:#60a5fa;background:#3b82f626;border:1px solid #3b82f64d}.ad-status-solid{color:#818cf8;background:#6366f126;border:1px solid #6366f14d}.ad-status-strong{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.ad-status-insufficient{color:#94a3b8;background:#94a3b826;border:1px solid #94a3b84d}.ad-progress-bar-bg{background:#1e293b;border-radius:9999px;width:100%;height:6px;margin:.5rem 0;overflow:hidden}.ad-progress-bar-fill{border-radius:9999px;height:100%;transition:width .4s}.ad-topic-stats-row{color:#94a3b8;justify-content:space-between;margin-bottom:.75rem;font-size:.8125rem;display:flex}.ad-topic-action-text{color:#cbd5e1;background:#1e293b;border-radius:.375rem;margin-bottom:1rem;padding:.5rem .75rem;font-size:.8125rem;line-height:1.4}.ad-topic-btn{color:#38bdf8;cursor:pointer;background:#1e293b;border:1px solid #0284c7;border-radius:.375rem;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.5rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.ad-topic-btn:hover{color:#fff;background:#0284c7}.ad-rec-grid{grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem;margin-bottom:2.5rem;display:grid}@media (width>=768px){.ad-rec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ad-rec-card{background:#0f172a;border:1px solid #1e293b;border-radius:.75rem;flex-direction:column;justify-content:space-between;padding:1.25rem;display:flex}.ad-rec-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.ad-rec-type-badge{text-transform:uppercase;border-radius:.25rem;padding:.2rem .5rem;font-size:.6875rem;font-weight:700}.ad-type-lesson{color:#38bdf8;background:#0ea5e926}.ad-type-lab{color:#c084fc;background:#a855f726}.ad-type-test{color:#fbbf24;background:#f59e0b26}.ad-type-practice{color:#60a5fa;background:#3b82f626}.ad-priority-high{color:#f87171;align-items:center;gap:.25rem;font-size:.6875rem;font-weight:700;display:flex}.ad-rec-title{color:#fff;margin-bottom:.5rem;font-size:1.0625rem;font-weight:600}.ad-rec-reason{color:#94a3b8;margin-bottom:1.25rem;font-size:.875rem;line-height:1.5}.ad-onboarding-banner{background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);border:1px solid #334155;border-radius:1rem;margin-bottom:2rem;padding:2rem}.ad-onboard-title{color:#f8fafc;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:1.25rem;font-weight:700;display:flex}.ad-onboard-desc{color:#94a3b8;max-width:48rem;margin-bottom:1.5rem;font-size:.9375rem;line-height:1.5}.ad-path-steps{grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}@media (width>=640px){.ad-path-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1024px){.ad-path-steps{grid-template-columns:repeat(5,minmax(0,1fr))}}.ad-path-step-card{background:#1e293b;border:1px solid #334155;border-radius:.5rem;padding:1rem;position:relative}.ad-step-number{color:#38bdf8;text-transform:uppercase;font-size:.75rem;font-weight:700}.ad-step-name{color:#f1f5f9;margin-top:.25rem;font-size:.9375rem;font-weight:600}.ad-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background:#000000bf;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.ad-modal-box{background:#0f172a;border:1px solid #334155;border-radius:1rem;width:100%;max-width:32rem;padding:1.75rem;box-shadow:0 20px 25px -5px #00000080}.ad-modal-title{color:#f8fafc;margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.ad-modal-desc{color:#94a3b8;margin-bottom:1.25rem;font-size:.875rem;line-height:1.5}.ad-form-group{margin-bottom:1.25rem}.ad-form-label{color:#e2e8f0;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.ad-select,.ad-input{color:#f1f5f9;background:#1e293b;border:1px solid #334155;border-radius:.5rem;outline:none;width:100%;padding:.625rem .875rem;font-size:.875rem}.ad-select:focus,.ad-input:focus{border-color:#3b82f6}.ad-modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}:root{--det-bg:#090d16;--det-card-bg:#0f172a;--det-card-hover:#17233c;--det-border:#1e293b;--det-border-accent:#334155;--det-border-focus:#38bdf8;--det-text-primary:#f8fafc;--det-text-secondary:#94a3b8;--det-text-muted:#64748b;--sev-critical:#ef4444;--sev-critical-bg:#ef444426;--sev-high:#f97316;--sev-high-bg:#f9731626;--sev-medium:#eab308;--sev-medium-bg:#eab30826;--sev-low:#38bdf8;--sev-low-bg:#38bdf826;--sev-info:#94a3b8;--sev-info-bg:#94a3b826;--status-new:#6366f1;--status-new-bg:#6366f126;--status-ack:#f59e0b;--status-ack-bg:#f59e0b26;--status-inv:#a855f7;--status-inv-bg:#a855f726;--status-closed:#10b981;--status-closed-bg:#10b98126;--status-fp:#64748b;--status-fp-bg:#64748b26}.detection-container{width:100%;max-width:1600px;color:var(--det-text-primary);flex-direction:column;gap:1.5rem;margin:0 auto;padding:1.5rem;font-family:inherit;display:flex}.detection-banner{color:#7dd3fc;background:#0ea5e914;border:1px solid #0ea5e940;border-radius:8px;justify-content:space-between;align-items:center;padding:1rem 1.25rem;font-size:.875rem;display:flex}.detection-banner-content{align-items:center;gap:.75rem;display:flex}.detection-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.detection-header-title{align-items:center;gap:.75rem;display:flex}.detection-header-title h1{color:var(--det-text-primary);margin:0;font-size:1.75rem;font-weight:700}.detection-actions{align-items:center;gap:.75rem;display:flex}.det-btn{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;padding:.55rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .15s ease-in-out;display:inline-flex}.det-btn-primary{color:#fff;background:#0284c7;border-color:#0284c7}.det-btn-primary:hover:not(:disabled){background:#0369a1}.det-btn-secondary{color:#e2e8f0;background:#1e293b;border-color:#334155}.det-btn-secondary:hover:not(:disabled){background:#334155}.det-btn-danger{color:#fff;background:#dc2626}.det-btn-danger:hover:not(:disabled){background:#b91c1c}.det-btn:disabled{opacity:.5;cursor:not-allowed}.det-stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.det-stat-card{background:var(--det-card-bg);border:1px solid var(--det-border);border-radius:8px;flex-direction:column;gap:.5rem;padding:1.25rem;display:flex;position:relative;overflow:hidden}.det-stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--det-text-muted);font-size:.8125rem;font-weight:600}.det-stat-value{color:var(--det-text-primary);font-size:1.875rem;font-weight:700;line-height:1}.det-stat-sub{color:var(--det-text-secondary);font-size:.8125rem}.sev-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;align-items:center;padding:.2rem .55rem;font-size:.75rem;font-weight:700;display:inline-flex}.sev-badge.CRITICAL{background:var(--sev-critical-bg);color:var(--sev-critical);border:1px solid var(--sev-critical)}.sev-badge.HIGH{background:var(--sev-high-bg);color:var(--sev-high);border:1px solid var(--sev-high)}.sev-badge.MEDIUM{background:var(--sev-medium-bg);color:var(--sev-medium);border:1px solid var(--sev-medium)}.sev-badge.LOW{background:var(--sev-low-bg);color:var(--sev-low);border:1px solid var(--sev-low)}.sev-badge.INFO{background:var(--sev-info-bg);color:var(--sev-info);border:1px solid var(--sev-info)}.status-badge{text-transform:uppercase;border-radius:4px;align-items:center;padding:.2rem .55rem;font-size:.75rem;font-weight:600;display:inline-flex}.status-badge.NEW{background:var(--status-new-bg);color:var(--status-new);border:1px solid var(--status-new)}.status-badge.ACKNOWLEDGED{background:var(--status-ack-bg);color:var(--status-ack);border:1px solid var(--status-ack)}.status-badge.INVESTIGATING{background:var(--status-inv-bg);color:var(--status-inv);border:1px solid var(--status-inv)}.status-badge.CLOSED{background:var(--status-closed-bg);color:var(--status-closed);border:1px solid var(--status-closed)}.status-badge.FALSE_POSITIVE{background:var(--status-fp-bg);color:var(--status-fp);border:1px solid var(--status-fp)}.conf-badge{color:#38bdf8;background:#0ea5e91a;border:1px solid #38bdf84d;border-radius:4px;align-items:center;gap:.25rem;padding:.15rem .45rem;font-size:.7rem;font-weight:600;display:inline-flex}.mitre-badge{color:#fca5a5;background:#ef44441f;border:1px solid #ef44444d;border-radius:4px;align-items:center;gap:.35rem;padding:.2rem .6rem;font-family:monospace;font-size:.75rem;font-weight:700;display:inline-flex}.det-toolbar{background:var(--det-card-bg);border:1px solid var(--det-border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.875rem 1rem;display:flex}.det-input,.det-select{border:1px solid var(--det-border);color:var(--det-text-primary);background:#090d16;border-radius:6px;outline:none;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s}.det-input:focus,.det-select:focus{border-color:var(--det-border-focus)}.det-table-wrapper{border:1px solid var(--det-border);background:var(--det-card-bg);border-radius:8px;overflow-x:auto}.det-table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.det-table th{color:var(--det-text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--det-border);background:#090d16;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.det-table td{border-bottom:1px solid var(--det-border);vertical-align:middle;padding:.875rem 1rem}.det-table tr:hover td{background:#ffffff05}.det-row-link{color:inherit;text-decoration:none;display:block}.det-card{background:var(--det-card-bg);border:1px solid var(--det-border);border-radius:8px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.det-card-title{color:var(--det-text-primary);justify-content:space-between;align-items:center;margin:0;font-size:1.125rem;font-weight:600;display:flex}.det-checklist{flex-direction:column;gap:.65rem;display:flex}.det-check-item{border:1px solid var(--det-border);cursor:pointer;background:#090d16;border-radius:6px;align-items:flex-start;gap:.75rem;padding:.65rem .85rem;transition:all .15s;display:flex}.det-check-item:hover{border-color:var(--det-border-focus)}.det-check-item.completed{opacity:.65;background:#10b9810d;border-color:#10b9814d;text-decoration:line-through}.det-check-item input[type=checkbox]{cursor:pointer;accent-color:#0284c7;margin-top:.2rem}.det-flow-box{border:1px solid var(--det-border);background:#090d16;border-radius:6px;justify-content:space-around;align-items:center;padding:1.25rem;font-family:monospace;display:flex}.det-flow-node{text-align:center}.det-flow-arrow{color:#38bdf8;font-size:1.25rem;font-weight:700}.det-notes-list{flex-direction:column;gap:.75rem;display:flex}.det-note-item{border:1px solid var(--det-border);background:#090d16;border-radius:6px;flex-direction:column;gap:.35rem;padding:.85rem 1rem;display:flex}.det-note-meta{color:var(--det-text-muted);justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.det-empty{text-align:center;color:var(--det-text-muted);padding:2.5rem;font-size:.875rem}.threat-intel-container{color:#e2e8f0;max-width:1400px;margin:0 auto;padding:1.5rem 2rem}.threat-intel-header{border-bottom:1px solid #334155;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;padding-bottom:1.25rem;display:flex}.threat-intel-title-group h1{color:#f8fafc;align-items:center;gap:.75rem;margin:0;font-size:1.875rem;font-weight:700;display:flex}.threat-intel-subtitle{color:#94a3b8;margin-top:.25rem;font-size:.95rem}.threat-intel-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.threat-intel-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.threat-stat-card{background:#1e293b;border:1px solid #334155;border-radius:.75rem;padding:1.25rem;transition:transform .15s,border-color .15s}.threat-stat-card:hover{border-color:#3b82f6;transform:translateY(-2px)}.threat-stat-label{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-bottom:.5rem;font-size:.8rem}.threat-stat-value{color:#f8fafc;font-size:1.75rem;font-weight:700}.threat-stat-footer{color:#64748b;margin-top:.5rem;font-size:.8rem}.threat-intel-tabs{border-bottom:1px solid #334155;gap:.5rem;margin-bottom:1.5rem;display:flex;overflow-x:auto}.threat-intel-tab{color:#94a3b8;border-bottom:2px solid #0000;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s;display:flex}.threat-intel-tab:hover{color:#f8fafc}.threat-intel-tab.active{color:#38bdf8;background:#38bdf80d;border-bottom-color:#38bdf8}.ioc-badge{text-transform:uppercase;letter-spacing:.025em;border-radius:9999px;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.ioc-badge-malicious{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.ioc-badge-suspicious{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.ioc-badge-benign{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.ioc-badge-false-positive{color:#c084fc;background:#a855f726;border:1px solid #a855f74d}.ioc-badge-unknown{color:#94a3b8;background:#64748b33;border:1px solid #64748b4d}.ioc-badge-type{color:#cbd5e1;background:#334155;font-family:monospace}.confidence-pill{border-radius:.25rem;padding:.15rem .5rem;font-size:.75rem;font-weight:500}.confidence-high{color:#38bdf8;background:#0ea5e926}.confidence-medium{color:#facc15;background:#eab30826}.confidence-low{color:#94a3b8;background:#94a3b826}.ioc-table-container{background:#1e293b;border:1px solid #334155;border-radius:.75rem;margin-bottom:1.5rem;overflow:hidden}.ioc-table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.ioc-table th{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;background:#0f172a;border-bottom:1px solid #334155;padding:.875rem 1rem;font-size:.75rem;font-weight:600}.ioc-table td{color:#cbd5e1;border-bottom:1px solid #334155;padding:.875rem 1rem}.ioc-table tr:hover td{background:#3341554d}.ioc-value-cell{color:#f1f5f9;text-overflow:ellipsis;white-space:nowrap;max-width:320px;font-family:monospace;font-size:.9rem;overflow:hidden}.ioc-detail-grid{grid-template-columns:2fr 1fr;gap:1.5rem;display:grid}@media (width<=1024px){.ioc-detail-grid{grid-template-columns:1fr}}.ioc-panel{background:#1e293b;border:1px solid #334155;border-radius:.75rem;margin-bottom:1.5rem;padding:1.5rem}.ioc-panel-title{color:#f8fafc;justify-content:space-between;align-items:center;margin-top:0;margin-bottom:1rem;font-size:1.1rem;font-weight:600;display:flex}.threat-graph-wrapper{background:#0f172a;border:1px solid #334155;border-radius:.75rem;justify-content:center;align-items:center;height:500px;display:flex;position:relative;overflow:hidden}.ioc-timeline{padding-left:2rem;position:relative}.ioc-timeline:before{content:"";background:#334155;width:2px;position:absolute;top:0;bottom:0;left:.75rem}.ioc-timeline-item{margin-bottom:1.5rem;position:relative}.ioc-timeline-node{background:#38bdf8;border:2px solid #0f172a;border-radius:50%;width:.85rem;height:.85rem;position:absolute;top:.25rem;left:-2rem}.ioc-timeline-title{color:#f1f5f9;font-size:.9rem;font-weight:600}.ioc-timeline-meta{color:#64748b;margin-bottom:.35rem;font-size:.75rem}.ioc-timeline-desc{color:#94a3b8;font-size:.85rem}.challenge-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;display:grid}.challenge-card{background:#1e293b;border:1px solid #334155;border-radius:.75rem;flex-direction:column;justify-content:space-between;padding:1.5rem;transition:transform .15s,border-color .15s;display:flex}.challenge-card:hover{border-color:#38bdf8;transform:translateY(-2px)}.challenge-title{color:#f8fafc;margin:.5rem 0;font-size:1.15rem;font-weight:600}.challenge-desc{color:#94a3b8;margin-bottom:1.25rem;font-size:.875rem;line-height:1.5}.educational-callout{color:#cbd5e1;background:#0ea5e914;border-left:4px solid #0ea5e9;border-radius:0 .5rem .5rem 0;margin-bottom:1.5rem;padding:1rem 1.25rem;font-size:.875rem}.educational-callout strong{color:#38bdf8}.threat-hunting-container{color:#e2e8f0;max-width:1440px;margin:0 auto;padding:1.5rem 2rem}.threat-hunting-header{border-bottom:1px solid #334155;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.25rem;display:flex}.threat-hunting-title-group h1{color:#f8fafc;align-items:center;gap:.75rem;margin:0;font-size:1.875rem;font-weight:700;display:flex}.threat-hunting-subtitle{color:#94a3b8;margin-top:.25rem;font-size:.95rem}.threat-hunting-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.threat-hunting-nav{background:#1e293b;border:1px solid #334155;border-radius:.5rem;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;padding:.25rem;display:flex}.threat-hunting-nav-tab{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:.375rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.threat-hunting-nav-tab:hover{color:#f8fafc;background:#ffffff0d}.threat-hunting-nav-tab.active{color:#38bdf8;background:#0f172a;border:1px solid #0284c7;font-weight:600}.hunting-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.hunting-stat-card{background:#1e293b;border:1px solid #334155;border-radius:.75rem;padding:1.25rem;transition:transform .15s,border-color .15s}.hunting-stat-card:hover{border-color:#38bdf8;transform:translateY(-2px)}.hunting-stat-header{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.85rem;font-weight:500;display:flex}.hunting-stat-value{color:#f8fafc;font-size:2rem;font-weight:700}.hunting-stat-subtext{color:#64748b;margin-top:.25rem;font-size:.8rem}.btn-cyber-primary:hover{background:linear-gradient(135deg,#0369a1 0%,#075985 100%);border-color:#7dd3fc;box-shadow:0 0 12px #38bdf84d}.btn-cyber-secondary:hover{color:#f8fafc;background:#334155;border-color:#64748b}.btn-cyber-success{color:#a7f3d0;cursor:pointer;background:#065f46;border:1px solid #10b981;border-radius:.5rem;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-size:.9rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-cyber-success:hover{color:#fff;background:#047857}.btn-cyber-danger{color:#fecaca;cursor:pointer;background:#7f1d1d;border:1px solid #ef4444;border-radius:.375rem;padding:.4rem .8rem;font-size:.8rem}.btn-cyber-danger:hover{color:#fff;background:#991b1b}.hunt-badge{text-transform:uppercase;border-radius:9999px;align-items:center;gap:.25rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-status-running{color:#34d399;background:#10b98133;border:1px solid #10b981}.badge-status-ready{color:#38bdf8;background:#38bdf833;border:1px solid #0284c7}.badge-status-paused{color:#fbbf24;background:#f59e0b33;border:1px solid #f59e0b}.badge-status-completed{color:#c084fc;background:#8b5cf633;border:1px solid #8b5cf6}.badge-diff-beginner{color:#4ade80;background:#22c55e26;border:1px solid #22c55e}.badge-diff-intermediate{color:#facc15;background:#eab30826;border:1px solid #eab308}.badge-diff-advanced{color:#f87171;background:#ef444426;border:1px solid #ef4444}.badge-rel-supporting{color:#34d399;background:#10b98133;border:1px solid #10b981}.badge-rel-contradicting{color:#f87171;background:#ef444433;border:1px solid #ef4444}.badge-rel-context{color:#94a3b8;background:#94a3b833;border:1px solid #64748b}.scenarios-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.scenario-card{background:#1e293b;border:1px solid #334155;border-radius:.75rem;flex-direction:column;justify-content:space-between;padding:1.5rem;transition:all .2s;display:flex}.scenario-card:hover{border-color:#38bdf8;transform:translateY(-3px);box-shadow:0 10px 25px -5px #00000080}.scenario-header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;display:flex}.scenario-title{color:#f8fafc;margin:0;font-size:1.15rem;font-weight:700}.scenario-brief{color:#94a3b8;margin-bottom:1rem;font-size:.875rem;line-height:1.5}.scenario-meta{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.scenario-tag{color:#38bdf8;background:#0f172a;border:1px solid #1e3a8a;border-radius:.25rem;padding:.2rem .5rem;font-size:.75rem}.workspace-container{flex-direction:column;gap:1.5rem;display:flex}.workspace-banner{background:#1e293b;border:1px solid #334155;border-radius:.75rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.workspace-tabs{border-bottom:1px solid #334155;gap:.5rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.workspace-tab-btn{color:#94a3b8;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.95rem;font-weight:600;transition:all .15s;display:flex}.workspace-tab-btn:hover{color:#f8fafc;background:#ffffff0d}.workspace-tab-btn.active{color:#38bdf8;background:#0f172a;border:1px solid #0284c7}.query-builder-panel{background:#1e293b;border:1px solid #334155;border-radius:.75rem;margin-bottom:1.5rem;padding:1.25rem}.query-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.cyber-select,.cyber-input{color:#f8fafc;background:#0f172a;border:1px solid #475569;border-radius:.375rem;padding:.5rem .75rem;font-size:.875rem}.cyber-select:focus,.cyber-input:focus{border-color:#38bdf8;outline:none;box-shadow:0 0 0 2px #38bdf833}.telemetry-table-wrapper{background:#1e293b;border:1px solid #334155;border-radius:.75rem;overflow-x:auto}.cyber-table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.cyber-table th{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;background:#0f172a;border-bottom:1px solid #334155;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.cyber-table td{color:#cbd5e1;border-bottom:1px solid #334155;padding:.75rem 1rem}.cyber-table tr:hover td{background:#38bdf80a}.timeline-bar-chart{background:#0f172a;border:1px solid #334155;border-radius:.5rem;align-items:flex-end;gap:.5rem;height:140px;margin-bottom:1.5rem;padding:1rem;display:flex;overflow-x:auto}.timeline-bar-col{flex-direction:column;justify-content:flex-end;align-items:center;min-width:45px;height:100%;display:flex}.timeline-bar{background:linear-gradient(#38bdf8 0%,#0284c7 100%);border-radius:3px 3px 0 0;width:24px;transition:height .3s}.timeline-bar.has-alerts{background:linear-gradient(#ef4444 0%,#dc2626 100%)}.timeline-bar-label{color:#64748b;white-space:nowrap;margin-top:.4rem;font-size:.65rem}.graph-container{background:#0f172a;border:1px solid #334155;border-radius:.75rem;flex-direction:column;gap:1rem;min-height:400px;padding:1.5rem;display:flex}.graph-nodes-grid{flex-wrap:wrap;gap:.75rem;display:flex}.graph-node-pill{cursor:pointer;background:#1e293b;border:1px solid #475569;border-radius:.5rem;align-items:center;gap:.5rem;padding:.4rem .8rem;font-size:.85rem;font-weight:500;transition:all .15s;display:flex}.graph-node-pill:hover,.graph-node-pill.active{color:#fff;background:#0369a1;border-color:#38bdf8}.graph-node-ip{border-left:3px solid #38bdf8}.graph-node-domain{border-left:3px solid #a855f7}.graph-node-alert{border-left:3px solid #ef4444}.graph-node-ioc{border-left:3px solid #f59e0b}.hypothesis-card{background:#1e293b;border:1px solid #334155;border-radius:.75rem;margin-bottom:1rem;padding:1.25rem;transition:border-color .15s}.hypothesis-card.status-supported{border-left:4px solid #10b981}.hypothesis-card.status-not_supported{border-left:4px solid #ef4444}.hypothesis-card.status-open{border-left:4px solid #38bdf8}.score-modal-overlay{z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.score-modal-card{background:#1e293b;border:1px solid #0284c7;border-radius:1rem;width:100%;max-width:650px;padding:2rem;box-shadow:0 25px 50px -12px #000000bf}.score-grade-circle{border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1.5rem;font-size:2.5rem;font-weight:800;display:flex}.grade-a{color:#34d399;background:#10b98133;border:3px solid #10b981}.grade-b{color:#38bdf8;background:#38bdf833;border:3px solid #0284c7}.grade-c{color:#fbbf24;background:#f59e0b33;border:3px solid #f59e0b}.grade-d,.grade-f{color:#f87171;background:#ef444433;border:3px solid #ef4444}.score-bar-row{align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.score-bar-label{color:#cbd5e1;width:180px;font-size:.85rem}.score-bar-track{background:#0f172a;border-radius:5px;flex:1;height:10px;overflow:hidden}.score-bar-fill{background:linear-gradient(90deg,#0284c7 0%,#38bdf8 100%);border-radius:5px;height:100%}.siem-container{color:#e2e8f0;background-color:#0b0f19;flex-direction:column;gap:1.5rem;min-height:calc(100vh - 4rem);padding:1.5rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;display:flex}.siem-header{border-bottom:1px solid #1e293b;justify-content:space-between;align-items:center;padding-bottom:1rem;display:flex}.siem-header-left{flex-direction:column;gap:.25rem;display:flex}.siem-title-row{align-items:center;gap:.75rem;display:flex}.siem-title-row h1{color:#f8fafc;align-items:center;gap:.5rem;margin:0;font-size:1.5rem;font-weight:700;display:flex}.siem-tag{color:#38bdf8;letter-spacing:.05em;text-transform:uppercase;background:#0ea5e926;border:1px solid #0ea5e94d;border-radius:9999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.siem-subtitle{color:#94a3b8;margin:0;font-size:.875rem}.siem-nav{background:#111827;border:1px solid #1f2937;border-radius:.5rem;gap:.5rem;padding:.375rem;display:flex;overflow-x:auto}.siem-nav-link{color:#94a3b8;white-space:nowrap;border-radius:.375rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s ease-in-out;display:flex}.siem-nav-link:hover{color:#f1f5f9;background:#ffffff0d}.siem-nav-link.active{color:#38bdf8;background:#0ea5e91f;border:1px solid #0ea5e940;font-weight:600}.siem-stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.siem-kpi-card{background:#131b2e;border:1px solid #1e293b;border-radius:.5rem;flex-direction:column;gap:.5rem;padding:1.25rem;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #0003}.siem-kpi-card:before{content:"";background:linear-space(to right, #0284c7, #06b6d4);height:2px;position:absolute;top:0;left:0;right:0}.siem-kpi-card.alert:before{background:#ef4444}.siem-kpi-card.warn:before{background:#f59e0b}.siem-kpi-card.info:before{background:#3b82f6}.siem-kpi-card.success:before{background:#10b981}.siem-kpi-header{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:center;font-size:.75rem;font-weight:600;display:flex}.siem-kpi-val{color:#f8fafc;font-size:1.875rem;font-weight:700}.siem-kpi-footer{color:#64748b;font-size:.75rem}.sev-badge{text-transform:uppercase;letter-spacing:.025em;border-radius:.25rem;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.sev-CRITICAL{color:#f87171;background:#ef444433;border:1px solid #ef444466}.sev-HIGH{color:#fb923c;background:#f9731633;border:1px solid #f9731666}.sev-MEDIUM{color:#fbbf24;background:#f59e0b33;border:1px solid #f59e0b66}.sev-LOW{color:#60a5fa;background:#3b82f633;border:1px solid #3b82f666}.sev-INFO{color:#94a3b8;background:#64748b33;border:1px solid #64748b4d}.cat-badge{color:#cbd5e1;background:#1e293b;border:1px solid #334155;border-radius:.25rem;padding:.15rem .45rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;display:inline-block}.act-badge{color:#38bdf8;background:#0ea5e91a;border:1px solid #0ea5e940;border-radius:.25rem;padding:.15rem .45rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;font-weight:500;display:inline-block}.act-badge.danger{color:#f87171;background:#ef444426;border-color:#ef44444d}.siem-search-panel{background:#111827;border:1px solid #1f2937;border-radius:.5rem;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.siem-search-bar-row{align-items:center;gap:.75rem;display:flex}.siem-input-main{color:#f8fafc;background:#0b0f19;border:1px solid #374151;border-radius:.375rem;flex:1;padding:.625rem .875rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.875rem}.siem-input-main:focus{border-color:#38bdf8;outline:none;box-shadow:0 0 0 2px #38bdf833}.siem-btn-primary{color:#fff;cursor:pointer;background:#0284c7;border:none;border-radius:.375rem;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;transition:background .15s;display:flex}.siem-btn-primary:hover{background:#0369a1}.siem-btn-secondary{color:#e2e8f0;cursor:pointer;background:#1f2937;border:1px solid #374151;border-radius:.375rem;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s;display:flex}.siem-btn-secondary:hover{color:#fff;background:#374151}.siem-quick-filters{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.quick-filter-label{color:#94a3b8;text-transform:uppercase;font-size:.75rem;font-weight:600}.quick-filter-chip{color:#cbd5e1;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:9999px;padding:.25rem .625rem;font-size:.75rem;transition:all .15s}.quick-filter-chip:hover{color:#f8fafc;background:#334155}.quick-filter-chip.active{color:#38bdf8;background:#0ea5e933;border-color:#38bdf8;font-weight:600}.visual-builder{background:#0f172a;border:1px solid #1e293b;border-radius:.375rem;flex-direction:column;gap:.75rem;padding:.875rem;display:flex}.builder-header{color:#94a3b8;justify-content:space-between;align-items:center;font-size:.8125rem;font-weight:600;display:flex}.condition-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.condition-select{color:#f8fafc;background:#1e293b;border:1px solid #334155;border-radius:.25rem;padding:.375rem .625rem;font-size:.8125rem}.condition-input{color:#f8fafc;background:#1e293b;border:1px solid #334155;border-radius:.25rem;flex:1;min-width:140px;padding:.375rem .625rem;font-size:.8125rem}.btn-icon-danger{color:#ef4444;cursor:pointer;background:0 0;border:none;border-radius:.25rem;align-items:center;padding:.25rem;display:flex}.btn-icon-danger:hover{background:#ef444426}.siem-table-container{background:#111827;border:1px solid #1f2937;border-radius:.5rem;overflow:hidden;box-shadow:0 4px 6px -1px #0003}.siem-table-toolbar{color:#94a3b8;background:#131b2e;border-bottom:1px solid #1e293b;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.8125rem;display:flex}.siem-events-table{border-collapse:collapse;text-align:left;width:100%;font-size:.8125rem}.siem-events-table th{color:#94a3b8;white-space:nowrap;background:#0f172a;border-bottom:1px solid #1e293b;padding:.625rem .75rem;font-weight:600}.siem-events-table td{color:#cbd5e1;vertical-align:middle;border-bottom:1px solid #1e293b;padding:.625rem .75rem}.siem-events-table tbody tr{cursor:pointer;transition:background .1s ease-in-out}.siem-events-table tbody tr:hover{background:#1e293b99}.siem-events-table tbody tr.selected{background:#0ea5e926}.mono-cell{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem}.event-drawer{z-index:1000;background:#0d1321;border-left:1px solid #1e293b;flex-direction:column;width:580px;max-width:90vw;height:100vh;animation:.2s ease-out slideIn;display:flex;position:fixed;top:0;right:0;box-shadow:-10px 0 25px -5px #00000080}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{background:#111827;border-bottom:1px solid #1e293b;justify-content:space-between;align-items:center;padding:1.25rem;display:flex}.drawer-header h3{color:#f8fafc;align-items:center;gap:.5rem;margin:0;font-size:1.125rem;display:flex}.drawer-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:.25rem;padding:.25rem;font-size:1.25rem}.drawer-close:hover{color:#f8fafc;background:#1e293b}.drawer-content{flex-direction:column;flex:1;gap:1.25rem;padding:1.25rem;display:flex;overflow-y:auto}.drawer-section-title{text-transform:uppercase;color:#94a3b8;letter-spacing:.05em;border-bottom:1px solid #1e293b;margin-bottom:.5rem;padding-bottom:.25rem;font-size:.75rem;font-weight:700}.drawer-grid{grid-template-columns:140px 1fr;gap:.5rem 1rem;font-size:.8125rem;display:grid}.drawer-key{color:#64748b;font-weight:500}.drawer-val{color:#f1f5f9;word-break:break-all}.drawer-raw-box{color:#93c5fd;white-space:pre-wrap;word-break:break-all;background:#070a12;border:1px solid #1e293b;border-radius:.375rem;max-height:180px;padding:.875rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;overflow-y:auto}.drawer-actions{background:#111827;border-top:1px solid #1e293b;flex-wrap:wrap;gap:.75rem;padding:1rem 1.25rem;display:flex}.btn-escalate-soc{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:.375rem;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.8125rem;font-weight:600;transition:background .15s;display:flex}.btn-escalate-soc:hover{background:#b91c1c}.btn-escalate-hunt{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:.375rem;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.8125rem;font-weight:600;transition:background .15s;display:flex}.btn-escalate-hunt:hover{background:#6d28d9}.btn-escalate-ioc{color:#fff;cursor:pointer;background:#0d9488;border:none;border-radius:.375rem;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.8125rem;font-weight:600;transition:background .15s;display:flex}.btn-escalate-ioc:hover{background:#0f766e}.datasets-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.dataset-card{background:#111827;border:1px solid #1f2937;border-radius:.5rem;flex-direction:column;justify-content:space-between;gap:1rem;padding:1.25rem;transition:border-color .15s;display:flex}.dataset-card:hover{border-color:#38bdf8}.dataset-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.dataset-name{color:#f8fafc;margin:0;font-size:1.125rem;font-weight:600}.dataset-desc{color:#94a3b8;margin:.5rem 0 0;font-size:.8125rem;line-height:1.4}.dataset-meta{color:#64748b;border-top:1px solid #1e293b;align-items:center;gap:1rem;padding-top:.75rem;font-size:.75rem;display:flex}.timeline-card{background:#111827;border:1px solid #1f2937;border-radius:.5rem;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.timeline-bars{border-bottom:1px solid #1e293b;align-items:flex-end;gap:.375rem;height:120px;padding-top:1rem;display:flex}.timeline-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex;position:relative}.timeline-bar-segment{background:#0284c7;border-radius:2px 2px 0 0;width:100%;min-height:4px;transition:height .3s}.timeline-bar-segment.auth{background:#ef4444}.timeline-bar-segment.firewall{background:#f59e0b}.timeline-bar-label{color:#64748b;white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-top:.25rem;font-size:.65rem;overflow:hidden}.labs-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem;display:grid}.lab-card{cursor:pointer;background:#111827;border:1px solid #1f2937;border-radius:.5rem;flex-direction:column;justify-content:space-between;gap:1rem;padding:1.25rem;transition:all .15s ease-in-out;display:flex}.lab-card:hover{border-color:#38bdf8;transform:translateY(-2px);box-shadow:0 6px 12px -2px #0000004d}.lab-meta-row{justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.siem-modal-backdrop{z-index:1050;background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.siem-modal-box{background:#111827;border:1px solid #1f2937;border-radius:.5rem;flex-direction:column;width:600px;max-width:95vw;max-height:85vh;display:flex;overflow-y:auto;box-shadow:0 20px 25px -5px #00000080}.siem-modal-header{border-bottom:1px solid #1f2937;justify-content:space-between;align-items:center;padding:1.25rem;display:flex}.siem-modal-body{flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.siem-modal-footer{border-top:1px solid #1f2937;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;display:flex}.endpoint-container{color:#e2e8f0;max-width:1600px;margin:0 auto;padding:1.5rem 2rem}.endpoint-synthetic-banner{background:linear-gradient(90deg,#f59e0b1f,#10b98114);border:1px solid #f59e0b59;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:.85rem 1.25rem;display:flex}.endpoint-synthetic-banner .banner-left{align-items:center;gap:.75rem;display:flex}.endpoint-synthetic-banner .banner-icon{color:#f59e0b;font-size:1.35rem}.endpoint-synthetic-banner .banner-title{color:#fbbf24;font-size:.95rem;font-weight:700}.endpoint-synthetic-banner .banner-subtitle{color:#94a3b8;margin-top:.15rem;font-size:.825rem}.endpoint-synthetic-banner .banner-badge{color:#f59e0b;white-space:nowrap;background:#f59e0b33;border:1px solid #f59e0b66;border-radius:9999px;padding:.25rem .65rem;font-size:.75rem;font-weight:600}.endpoint-nav{border-bottom:1px solid #1e293b;align-items:center;gap:.5rem;margin-bottom:1.75rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.endpoint-nav-link{color:#94a3b8;white-space:nowrap;border-bottom:2px solid #0000;border-radius:6px;align-items:center;gap:.5rem;padding:.65rem 1.15rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.endpoint-nav-link:hover{color:#38bdf8;background:#38bdf80d}.endpoint-nav-link.active{color:#38bdf8;background:#38bdf81a;border-bottom:2px solid #38bdf8;font-weight:600}.endpoint-stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.75rem;display:grid}.endpoint-stat-card{background:#111827;border:1px solid #1f2937;border-radius:8px;padding:1.25rem;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #0000004d}.endpoint-stat-card .stat-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem;font-size:.8rem}.endpoint-stat-card .stat-value{color:#f3f4f6;font-family:JetBrains Mono,monospace;font-size:1.85rem;font-weight:700}.endpoint-stat-card .stat-sub{color:#6b7280;margin-top:.35rem;font-size:.775rem}.platform-badge{border-radius:4px;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.75rem;font-weight:600;display:inline-flex}.platform-badge.windows{color:#38bdf8;background:#38bdf826;border:1px solid #38bdf84d}.platform-badge.linux{color:#fb923c;background:#f9731626;border:1px solid #f973164d}.platform-badge.macos{color:#c084fc;background:#a855f726;border:1px solid #a855f74d}.risk-badge{text-transform:uppercase;border-radius:4px;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.75rem;font-weight:600;display:inline-flex}.risk-badge.critical{color:#f87171;background:#ef444433;border:1px solid #ef444466}.risk-badge.high{color:#fb923c;background:#f9731633;border:1px solid #f9731666}.risk-badge.medium{color:#fbbf24;background:#f59e0b33;border:1px solid #f59e0b66}.risk-badge.low{color:#60a5fa;background:#3b82f633;border:1px solid #3b82f666}.risk-badge.none{color:#9ca3af;background:#6b728033;border:1px solid #6b728066}.status-dot{border-radius:50%;width:8px;height:8px;margin-right:.4rem;display:inline-block}.status-dot.online{background:#10b981;box-shadow:0 0 8px #10b981}.status-dot.suspicious{background:#f59e0b;box-shadow:0 0 8px #f59e0b}.status-dot.offline{background:#6b7280}.status-dot.isolated{background:#ef4444;box-shadow:0 0 8px #ef4444}.host-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem;display:grid}.host-card{background:#111827;border:1px solid #1f2937;border-radius:10px;flex-direction:column;justify-content:space-between;padding:1.35rem;transition:all .2s;display:flex}.host-card:hover{border-color:#38bdf8;transform:translateY(-2px);box-shadow:0 8px 16px -4px #38bdf81f}.host-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:.85rem;display:flex}.host-card-title{color:#f8fafc;align-items:center;font-size:1.15rem;font-weight:700;display:flex}.host-card-sub{color:#64748b;margin-top:.15rem;font-size:.8rem}.host-card-meta{background:#0f172a;border-radius:6px;grid-template-columns:1fr 1fr;gap:.65rem;margin:.85rem 0;padding:.75rem;font-size:.825rem;display:grid}.host-card-meta .meta-item{flex-direction:column;display:flex}.host-card-meta .meta-label{color:#64748b;text-transform:uppercase;font-size:.725rem}.host-card-meta .meta-val{color:#cbd5e1;margin-top:.1rem;font-family:JetBrains Mono,monospace;font-size:.8rem}.process-tree-container{background:#0b1120;border:1px solid #1e293b;border-radius:8px;padding:1.25rem}.process-node{margin-left:1.5rem;position:relative}.process-node:before{content:"";border-bottom:2px dashed #334155;border-left:2px dashed #334155;width:1rem;position:absolute;top:0;bottom:50%;left:-1rem}.process-node-card{cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:6px;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.65rem .95rem;transition:all .15s;display:flex}.process-node-card:hover{background:#25334d;border-color:#38bdf8}.process-node-card.selected{background:#38bdf826;border-color:#38bdf8}.process-node-info{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.process-pid{color:#94a3b8;background:#0f172a;border-radius:4px;padding:.15rem .45rem;font-family:JetBrains Mono,monospace;font-size:.75rem}.process-name{color:#f1f5f9;font-size:.9rem;font-weight:600}.process-cmd{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;max-width:450px;font-family:JetBrains Mono,monospace;font-size:.75rem;overflow:hidden}.integrity-badge{border-radius:4px;padding:.15rem .45rem;font-size:.7rem;font-weight:600}.integrity-badge.system{color:#f87171;background:#ef444433;border:1px solid #ef444466}.integrity-badge.high{color:#fbbf24;background:#f59e0b33;border:1px solid #f59e0b66}.integrity-badge.medium{color:#38bdf8;background:#38bdf833;border:1px solid #38bdf866}.integrity-badge.low{color:#94a3b8;background:#94a3b833;border:1px solid #94a3b866}.timeline-list{padding-left:2rem;position:relative}.timeline-list:before{content:"";background:#1e293b;width:2px;position:absolute;top:0;bottom:0;left:.85rem}.timeline-entry{margin-bottom:1.25rem;position:relative}.timeline-entry-bullet{background:#0f172a;border:3px solid #38bdf8;border-radius:50%;width:14px;height:14px;position:absolute;top:.25rem;left:-2rem}.timeline-entry-card{background:#111827;border:1px solid #1f2937;border-radius:8px;padding:1rem 1.25rem}.code-block{color:#38bdf8;word-break:break-all;background:#090d16;border:1px solid #1e293b;border-radius:6px;padding:.65rem .85rem;font-family:JetBrains Mono,monospace;font-size:.8rem}.investigation-grid{grid-template-columns:320px 1fr;gap:1.5rem;display:grid}.investigation-sidebar{background:#111827;border:1px solid #1f2937;border-radius:8px;height:fit-content;padding:1.25rem}.investigation-main{flex-direction:column;gap:1.5rem;display:flex}.investigation-section{background:#111827;border:1px solid #1f2937;border-radius:8px;padding:1.35rem}.section-header{border-bottom:1px solid #1e293b;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.section-title{color:#f1f5f9;align-items:center;gap:.5rem;font-size:1.05rem;font-weight:700;display:flex}.btn-cyber-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0284c7,#0369a1);border:1px solid #38bdf8;border-radius:6px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-cyber-primary:hover{background:linear-gradient(135deg,#0369a1,#075985);box-shadow:0 0 12px #38bdf866}.btn-cyber-secondary{color:#cbd5e1;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:6px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-cyber-secondary:hover{color:#fff;background:#334155}.btn-cyber-pivot{color:#c084fc;cursor:pointer;background:#a855f726;border:1px solid #a855f766;border-radius:5px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.775rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-cyber-pivot:hover{background:#a855f74d;box-shadow:0 0 10px #a855f759}.endpoint-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.endpoint-modal{background:#111827;border:1px solid #1f2937;border-radius:10px;width:100%;max-width:750px;max-height:90vh;padding:1.5rem;overflow-y:auto;box-shadow:0 20px 25px -5px #00000080}:root{--soar-bg-primary:#0a0e17;--soar-bg-card:#111827;--soar-bg-elevated:#1e293b;--soar-bg-hover:#334155;--soar-border:#334155;--soar-border-glow:#0ea5e9;--soar-text-primary:#f8fafc;--soar-text-secondary:#94a3b8;--soar-text-muted:#64748b;--soar-cyan:#06b6d4;--soar-cyan-glow:#06b6d440;--soar-amber:#f59e0b;--soar-amber-bg:#f59e0b26;--soar-red:#ef4444;--soar-red-bg:#ef444426;--soar-green:#10b981;--soar-green-bg:#10b98126;--soar-blue:#3b82f6;--soar-blue-bg:#3b82f626;--soar-purple:#8b5cf6;--soar-purple-bg:#8b5cf626}.soar-container{max-width:1440px;color:var(--soar-text-primary);margin:0 auto;padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.soar-safety-banner{color:#a5f3fc;background:linear-gradient(90deg,#06b6d433 0%,#3b82f626 100%);border:1px solid #06b6d466;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:24px;padding:12px 20px;font-size:.9rem;display:flex;box-shadow:0 0 15px #06b6d41a}.soar-safety-badge{text-transform:uppercase;letter-spacing:.05em;color:#ecfeff;background:#06b6d440;border:1px solid #06b6d4;border-radius:999px;padding:4px 12px;font-size:.75rem;font-weight:700}.soar-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.soar-title{color:#f8fafc;align-items:center;gap:12px;margin:0 0 6px;font-size:1.85rem;font-weight:700;display:flex}.soar-subtitle{color:var(--soar-text-secondary);margin:0;font-size:.95rem}.soar-nav-tabs{border-bottom:1px solid var(--soar-border);gap:8px;margin-bottom:24px;display:flex}.soar-tab-btn{color:var(--soar-text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:10px 18px;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.soar-tab-btn:hover{color:var(--soar-text-primary);background:#ffffff05}.soar-tab-btn.active{color:var(--soar-cyan);border-bottom-color:var(--soar-cyan)}.soar-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:28px;display:grid}.soar-metric-card{background:var(--soar-bg-card);border:1px solid var(--soar-border);border-radius:10px;flex-direction:column;padding:20px;transition:border-color .2s;display:flex}.soar-metric-card:hover{border-color:#06b6d466}.soar-metric-label{text-transform:uppercase;letter-spacing:.05em;color:var(--soar-text-muted);margin-bottom:8px;font-size:.8rem}.soar-metric-value{color:#fff;margin-bottom:4px;font-size:1.85rem;font-weight:700}.soar-metric-subtext{color:var(--soar-text-secondary);font-size:.8rem}.soar-card{background:var(--soar-bg-card);border:1px solid var(--soar-border);border-radius:10px;margin-bottom:24px;padding:24px}.soar-card-title{color:var(--soar-text-primary);justify-content:space-between;align-items:center;margin:0 0 16px;font-size:1.15rem;font-weight:700;display:flex}.soar-table{border-collapse:collapse;width:100%;font-size:.9rem}.soar-table th{text-align:left;color:var(--soar-text-muted);border-bottom:1px solid var(--soar-border);background:#0f172a99;padding:12px 14px;font-weight:600}.soar-table td{color:var(--soar-text-primary);border-bottom:1px solid #33415580;padding:14px}.soar-table tr:hover td{background:#ffffff05}.soar-badge{letter-spacing:.02em;border-radius:4px;align-items:center;gap:5px;padding:3px 9px;font-size:.75rem;font-weight:600;display:inline-flex}.soar-badge.LOW{background:var(--soar-blue-bg);color:#60a5fa;border:1px solid #3b82f64d}.soar-badge.MEDIUM{background:var(--soar-amber-bg);color:#fbbf24;border:1px solid #f59e0b4d}.soar-badge.HIGH{color:#fb923c;background:#f9731626;border:1px solid #f973164d}.soar-badge.CRITICAL{background:var(--soar-red-bg);color:#f87171;border:1px solid #ef44444d}.soar-badge.COMPLETED{background:var(--soar-green-bg);color:#34d399;border:1px solid #10b9814d}.soar-badge.RUNNING{background:var(--soar-blue-bg);color:#60a5fa;border:1px solid #3b82f64d}.soar-badge.WAITING_APPROVAL{background:var(--soar-amber-bg);color:#fbbf24;border:1px solid #f59e0b80;animation:2s infinite pulse}.soar-badge.FAILED{background:var(--soar-red-bg);color:#f87171;border:1px solid #ef44444d}.soar-badge.CANCELLED{color:#94a3b8;background:#64748b33;border:1px solid #64748b4d}.soar-playbook-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px;display:grid}.soar-playbook-card{background:var(--soar-bg-card);border:1px solid var(--soar-border);border-radius:10px;flex-direction:column;justify-content:space-between;padding:20px;transition:all .2s;display:flex}.soar-playbook-card:hover{border-color:var(--soar-cyan);box-shadow:0 4px 20px #0000004d}.soar-playbook-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.soar-playbook-card-title{color:#f8fafc;margin:0 0 4px;font-size:1.1rem;font-weight:700}.soar-playbook-card-desc{color:var(--soar-text-secondary);flex-grow:1;margin-bottom:16px;font-size:.88rem;line-height:1.45}.soar-step-sequence{flex-direction:column;gap:12px;margin-top:16px;display:flex}.soar-step-item{background:var(--soar-bg-elevated);border:1px solid var(--soar-border);border-radius:8px;align-items:flex-start;gap:14px;padding:14px 18px;display:flex}.soar-step-order{width:28px;height:28px;color:var(--soar-cyan);background:#06b6d433;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.soar-step-content{flex-grow:1}.soar-step-name{margin-bottom:4px;font-size:.95rem;font-weight:600}.soar-step-meta{color:var(--soar-text-secondary);flex-wrap:wrap;gap:12px;font-size:.8rem;display:flex}.soar-btn{background:var(--soar-bg-elevated);color:var(--soar-text-primary);border:1px solid var(--soar-border);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:8px 16px;font-size:.88rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.soar-btn:hover{background:var(--soar-bg-hover);border-color:#475569}.soar-btn-primary{color:#fff;background:#0284c7;border-color:#0284c7}.soar-btn-primary:hover{background:#0369a1;border-color:#0369a1}.soar-btn-success{color:#fff;background:#059669;border-color:#059669}.soar-btn-success:hover{background:#047857}.soar-btn-danger{color:#fff;background:#dc2626;border-color:#dc2626}.soar-btn-danger:hover{background:#b91c1c}.soar-modal-backdrop{z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.soar-modal{background:var(--soar-bg-card);border:1px solid var(--soar-border);border-radius:12px;width:100%;max-width:650px;max-height:90vh;padding:24px;overflow-y:auto}.soar-modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}:root{--scen-bg-primary:#0a0e17;--scen-bg-card:#111827;--scen-bg-elevated:#1e293b;--scen-bg-hover:#334155;--scen-border:#334155;--scen-cyan:#06b6d4;--scen-emerald:#10b981;--scen-amber:#f59e0b;--scen-red:#ef4444;--scen-purple:#8b5cf6;--scen-text-primary:#f8fafc;--scen-text-secondary:#94a3b8;--scen-text-muted:#64748b}.scen-container{max-width:1440px;color:var(--scen-text-primary);margin:0 auto;padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.scen-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.scen-title{color:#f8fafc;align-items:center;gap:12px;margin:0 0 6px;font-size:1.85rem;font-weight:700;display:flex}.scen-subtitle{color:var(--scen-text-secondary);margin:0;font-size:.95rem}.scen-stepper{background:var(--scen-bg-card);border:1px solid var(--scen-border);border-radius:10px;align-items:center;gap:6px;margin-bottom:24px;padding:12px 16px;display:flex;overflow-x:auto}.scen-step-node{color:var(--scen-text-muted);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:.82rem;font-weight:600;transition:all .2s;display:flex}.scen-step-node.active{color:var(--scen-cyan);background:#06b6d426;border:1px solid #06b6d466}.scen-step-node.completed{color:var(--scen-emerald)}.scen-step-num{background:var(--scen-border);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.75rem;display:flex}.scen-step-node.active .scen-step-num{background:var(--scen-cyan);color:#000}.scen-step-node.completed .scen-step-num{background:var(--scen-emerald);color:#000}.scen-workspace-layout{grid-template-columns:1fr 340px;gap:24px;display:grid}@media (width<=1024px){.scen-workspace-layout{grid-template-columns:1fr}}.scen-main-panel{background:var(--scen-bg-card);border:1px solid var(--scen-border);border-radius:10px;padding:24px}.scen-side-panel{flex-direction:column;gap:16px;display:flex}.scen-side-card{background:var(--scen-bg-card);border:1px solid var(--scen-border);border-radius:10px;padding:18px}.scen-filter-bar{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.scen-input{background:var(--scen-bg-card);border:1px solid var(--scen-border);color:#fff;border-radius:6px;padding:8px 14px;font-size:.9rem}.scen-input:focus{border-color:var(--scen-cyan);outline:none}.scen-diff-badge{letter-spacing:.05em;text-transform:uppercase;border-radius:4px;padding:3px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.scen-diff-badge.BEGINNER{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.scen-diff-badge.INTERMEDIATE{color:#60a5fa;background:#3b82f626;border:1px solid #3b82f64d}.scen-diff-badge.ADVANCED{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.scen-diff-badge.EXPERT{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.scen-evidence-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin:16px 0;display:grid}.scen-evidence-card{background:var(--scen-bg-elevated);border:1px solid var(--scen-border);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;padding:14px;transition:all .2s}.scen-evidence-card:hover{border-color:#64748b}.scen-evidence-card.selected{border-color:var(--scen-cyan);background:#06b6d414}.scen-score-hero{text-align:center;border:1px solid var(--scen-border);background:linear-gradient(#111827e6 0%,#0f172af2 100%);border-radius:12px;margin-bottom:28px;padding:32px 20px}.scen-score-circle{color:#fff;margin-bottom:8px;font-size:3.5rem;font-weight:800;line-height:1}.scen-breakdown-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:20px 0;display:grid}.scen-breakdown-card{background:var(--scen-bg-elevated);border:1px solid var(--scen-border);border-radius:8px;padding:14px 18px}.analytics-container{color:#f3f4f6;flex-direction:column;gap:1.5rem;max-width:1400px;margin:0 auto;padding:1.5rem;display:flex}.analytics-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.analytics-header h1{color:#f9fafb;align-items:center;gap:.75rem;margin:0;font-size:1.875rem;font-weight:700;display:flex}.analytics-tagline{color:#9ca3af;margin-top:.25rem;font-size:.95rem}.disclaimer-banner{color:#93c5fd;background-color:#3b82f61a;border:1px solid #3b82f64d;border-radius:.5rem;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.analytics-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.metric-card{background:#111827;border:1px solid #1f2937;border-radius:.75rem;flex-direction:column;gap:.5rem;padding:1.25rem;transition:border-color .2s;display:flex}.metric-card:hover{border-color:#374151}.metric-label{text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;font-size:.8rem}.metric-value{color:#f9fafb;font-size:1.75rem;font-weight:700}.metric-subtext{color:#6b7280;font-size:.75rem}.filter-tabs{border-bottom:1px solid #1f2937;flex-wrap:wrap;gap:.5rem;padding-bottom:.75rem;display:flex}.tab-btn{color:#9ca3af;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.tab-btn:hover{color:#f3f4f6;background:#1f2937}.tab-btn.active{color:#fff;background:#2563eb;border-color:#3b82f6}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.skill-card{background:#111827;border:1px solid #1f2937;border-radius:.75rem;flex-direction:column;gap:.75rem;padding:1.25rem;transition:transform .2s,border-color .2s;display:flex;position:relative}.skill-card:hover{border-color:#3b82f6;transform:translateY(-2px)}.skill-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.skill-card-title{color:#f3f4f6;margin:0;font-size:1.05rem;font-weight:600}.skill-category-badge{color:#9ca3af;background:#1f2937;border:1px solid #374151;border-radius:9999px;padding:.2rem .5rem;font-size:.7rem}.confidence-badge{border-radius:9999px;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.confidence-badge.high{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.confidence-badge.medium{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.confidence-badge.low{color:#9ca3af;background:#6b728026;border:1px solid #6b72804d}.progress-bar-container{background-color:#1f2937;border-radius:9999px;width:100%;height:8px;overflow:hidden}.progress-bar-fill{background-color:#3b82f6;border-radius:9999px;height:100%;transition:width .3s}.recommendations-section{flex-direction:column;gap:1rem;display:flex}.recommendation-card{background:#111827;border:1px solid #1f2937;border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem;display:flex}.rec-content{flex-direction:column;gap:.25rem;display:flex}.rec-title{color:#f3f4f6;font-size:1rem;font-weight:600}.rec-rationale{color:#9ca3af;font-size:.85rem}.report-paper{background:#0f172a;border:1px solid #1e293b;border-radius:.75rem;flex-direction:column;gap:2rem;padding:2.5rem;display:flex;box-shadow:0 10px 25px -5px #00000080}.report-header-banner{border-bottom:2px solid #334155;justify-content:space-between;align-items:flex-start;padding-bottom:1.5rem;display:flex}.report-section{flex-direction:column;gap:1rem;display:flex}.report-section h3{color:#38bdf8;border-bottom:1px solid #1e293b;margin:0;padding-bottom:.5rem;font-size:1.25rem}.evidence-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.evidence-card{background:#1e293b;border-radius:.5rem;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.portfolio-header-box{background:#111827;border:1px solid #1f2937;border-radius:.75rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;display:flex}.visibility-pill{border-radius:9999px;align-items:center;gap:.5rem;padding:.35rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex}.visibility-pill.private{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.visibility-pill.unlisted{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.visibility-pill.public{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.project-card{background:#111827;border:1px solid #1f2937;border-radius:.75rem;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.tag-list{flex-wrap:wrap;gap:.35rem;display:flex}.tech-tag{color:#60a5fa;background:#1f2937;border:1px solid #374151;border-radius:.25rem;padding:.2rem .5rem;font-size:.75rem}.admin-card{background:#111827;border:1px solid #1f2937;border-radius:.75rem;padding:1.5rem}.admin-table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.admin-table th{color:#9ca3af;background:#1f2937;border-bottom:1px solid #374151;padding:.75rem 1rem;font-weight:600}.admin-table td{color:#e5e7eb;border-bottom:1px solid #1f2937;padding:.75rem 1rem}.admin-table tr:hover td{background:#1f293780}.btn-primary{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:.375rem;padding:.5rem 1rem;font-weight:500;transition:background .2s}.btn-primary:hover{background:#1d4ed8}.btn-secondary{color:#e5e7eb;cursor:pointer;background:#1f2937;border:1px solid #374151;border-radius:.375rem;padding:.5rem 1rem;font-weight:500;transition:all .2s}.btn-secondary:hover{background:#374151}.btn-danger{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:.375rem;padding:.5rem 1rem;font-weight:500;transition:background .2s}.btn-danger:hover{background:#b91c1c}
