:root,:root[data-theme=dark]{--bg-base:#0d0f12;--bg-surface:#141720;--bg-elevated:#1c2030;--bg-sunken:#0d0f14;--border:#252a38;--border-subtle:#1a1e2a;--border-muted:#2a2d3d;--text-primary:#e2e8f4;--text-secondary:#8892a4;--text-muted:#4a5568;--text-faint:#6b7280;--icon-idle:#3d4663;--icon-disabled:#2a2d3d;--accent:#7c3aed;--accent-light:#a78bfa;--accent-hover:#8b5cf6;--accent-strong:#6d28d9;--accent-soft:#7c3aed24;--accent-contrast:#fff;--green:#10b981;--amber:#f59e0b;--red:#ef4444;--blue:#3b82f6;--green-soft:#10b98124;--amber-soft:#f59e0b24;--red-soft:#ef444424;--blue-soft:#3b82f624;--green-border:#10b9814d;--amber-border:#f59e0b4d;--red-border:#ef44444d;--blue-border:#3b82f64d;--shadow-card:0 1px 3px #0006;--shadow-overlay:0 8px 24px #00000080;--overlay:#05070cb8;--accent-green:var(--green);--accent-amber:var(--amber);--accent-red:var(--red);--accent-blue:var(--blue);--tidiam-primary:var(--accent);--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-md:1rem;--text-lg:1.0625rem;--text-xl:1.1875rem;--text-2xl:1.375rem;--text-3xl:1.75rem;--text-display:clamp(1.75rem, 2.5vw, 2.25rem);--leading-tight:1.25;--leading-snug:1.4;--leading-normal:1.5;--leading-relaxed:1.7;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--tracking-tight:-.014em;--tracking-normal:0;--tracking-wide:.04em;--tracking-wider:.08em;--tracking-widest:.12em;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--duration-fast:.15s;--duration-base:.2s;--ease:cubic-bezier(.25, .1, .25, 1);--sidebar-width:clamp(12rem, 14vw, 16rem);--topbar-height:clamp(3rem, 4vw, 3.5rem);--content-max-width:1400px}:root[data-theme=light]{--bg-base:#f5f5f7;--bg-surface:#fff;--bg-elevated:#fff;--bg-sunken:#ececef;--border:#e4e4ea;--border-subtle:#ededf0;--border-muted:#d8d8de;--text-primary:#1d1d1f;--text-secondary:#6e6e73;--text-muted:#8a8a90;--text-faint:#a0a0a6;--icon-idle:#b4b4bd;--icon-disabled:#d4d4da;--accent:#7c3aed;--accent-light:#a78bfa;--accent-hover:#8b5cf6;--accent-strong:#5b21b6;--accent-soft:#7c3aed1a;--accent-contrast:#fff;--green:#1f9d55;--amber:#b7791f;--red:#dc2626;--blue:#2563eb;--green-soft:#1f9d551a;--amber-soft:#b7791f1a;--red-soft:#dc262614;--blue-soft:#2563eb14;--green-border:#1f9d5547;--amber-border:#b7791f47;--red-border:#dc262640;--blue-border:#2563eb40;--shadow-card:0 1px 3px #1d1d1f1a, 0 6px 16px #1d1d1f0f;--shadow-overlay:0 8px 24px #1d1d1f2e, 0 24px 64px #1d1d1f1f;--overlay:#1d1d1f73}body,.sidebar-desktop,aside,[data-theme]{transition:background-color .25s,color .25s,border-color .25s}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}body{background-color:var(--bg-base);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);letter-spacing:-.003em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"kern" 1, "liga" 1, "calt" 1;margin:0;padding:0}#root{min-height:100vh}button,a,[role=button],[role=menuitem],input,select,textarea{transition:background-color .16s,color .16s,border-color .16s,box-shadow .16s,opacity .16s,transform .16s}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[style*=--font-mono],.mono,.mono-bold{font-variant-numeric:tabular-nums}::selection{color:var(--text-primary);background:#7c3aed38}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.skip-link{z-index:9999;background:var(--accent);color:var(--accent-contrast);font-size:var(--text-sm);border-radius:4px;padding:.5rem 1rem;text-decoration:none;position:absolute;top:-100%;left:1rem}.skip-link:focus{top:1rem}.mono{font-family:var(--font-sans);font-weight:500}.mono-bold{font-family:var(--font-sans);font-weight:600}.badge{font-family:var(--font-sans);font-size:11px;font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);white-space:nowrap;border:1px solid;border-radius:4px;padding:.2rem .5rem;display:inline-block}.badge-critical{background:var(--red-soft);color:var(--red);border-color:var(--red-border)}.badge-high,.badge-medium{background:var(--amber-soft);color:var(--amber);border-color:var(--amber-border)}.badge-low,.badge-enabled{background:var(--green-soft);color:var(--green);border-color:var(--green-border)}.badge-disabled{background:var(--bg-elevated);color:var(--text-secondary);border-color:var(--border-muted)}.badge-deprecated{background:var(--red-soft);color:var(--red);border-color:var(--red-border)}.badge-info{background:var(--blue-soft);color:var(--blue);border-color:var(--blue-border)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-muted);background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint);background-clip:padding-box}.card{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:16px}.separator{border-top:1px solid var(--border);margin:12px 0}.relative{position:relative}.ui-btn{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:8px 14px;display:inline-flex}.ui-btn:disabled{opacity:.5;cursor:not-allowed}.ui-btn-sm{font-size:var(--text-xs);padding:5px 10px}.ui-btn-icononly{width:32px;height:32px;padding:0}.ui-btn-icononly.ui-btn-sm{width:28px;height:28px}.ui-btn-primary{background:var(--accent);color:var(--accent-contrast)}.ui-btn-primary:hover:not(:disabled){background:var(--accent-hover)}.ui-btn-primary:active:not(:disabled){background:var(--accent-strong)}.ui-btn-secondary{background:var(--bg-elevated);border-color:var(--border)}.ui-btn-secondary:hover:not(:disabled){border-color:var(--border-muted);background:var(--bg-surface)}.ui-btn-ghost{color:var(--text-secondary)}.ui-btn-ghost:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.ui-btn-danger{background:var(--red-soft);color:var(--red);border-color:var(--red-border)}.ui-btn-danger:hover:not(:disabled){background:var(--red);color:var(--accent-contrast)}.ui-badge{font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);line-height:var(--leading-tight);white-space:nowrap;border:1px solid;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.ui-badge-pill{border-radius:999px}.ui-badge-danger{background:var(--red-soft);color:var(--red);border-color:var(--red-border)}.ui-badge-warning{background:var(--amber-soft);color:var(--amber);border-color:var(--amber-border)}.ui-badge-success{background:var(--green-soft);color:var(--green);border-color:var(--green-border)}.ui-badge-info{background:var(--blue-soft);color:var(--blue);border-color:var(--blue-border)}.ui-badge-neutral{background:var(--bg-elevated);color:var(--text-secondary);border-color:var(--border-muted)}.ui-badge-accent{background:var(--accent-soft);color:var(--accent);border-color:#0000}.ui-card{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:20px}.ui-card-compact{padding:16px}.ui-card-click{cursor:pointer}.ui-card-click:hover,.ui-card-click:focus-visible{border-color:var(--border-muted);transform:translateY(-1px)}.ui-table{border-collapse:collapse;width:100%}.ui-table th{text-align:left;font-size:var(--text-2xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-secondary);border-bottom:1px solid var(--border);padding:10px 16px}.ui-table td{font-size:var(--text-sm);color:var(--text-primary);border-bottom:1px solid var(--border-subtle);padding:12px 16px}.ui-table tr:last-child td{border-bottom:none}.ui-tr-click,.ui-row-click{cursor:pointer}.ui-tr-click:hover,.ui-tr-click:focus-visible,.ui-row-click:hover,.ui-row-click:focus-visible,.ui-row-hover:hover{background-color:var(--bg-elevated)}.ui-row-chevron{color:var(--icon-idle)}.ui-row-click:hover .ui-row-chevron,.ui-row-click:focus-visible .ui-row-chevron{color:var(--text-secondary)}.ui-label{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-secondary);margin-bottom:6px;display:block}.ui-input{width:100%;height:36px;font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-primary);background-color:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);box-sizing:border-box;outline:none;padding:8px 12px}.ui-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.ui-input::placeholder{color:var(--text-muted)}.ui-input:disabled{opacity:.5;cursor:not-allowed}textarea.ui-input{resize:vertical;height:auto;min-height:80px}.ui-input-error,.ui-input-error:focus{border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}.ui-hint-text{font-size:var(--text-xs);color:var(--text-muted);margin-top:6px}.ui-error-text{font-size:var(--text-xs);color:var(--red);margin-top:6px}.ui-toggle{background-color:var(--border-muted);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;width:36px;height:20px;padding:0;position:relative}.ui-toggle[aria-checked=true]{background-color:var(--accent)}.ui-toggle:disabled{opacity:.5;cursor:not-allowed}.ui-toggle-knob{background-color:var(--accent-contrast);width:16px;height:16px;transition:transform var(--duration-fast) var(--ease);border-radius:50%;position:absolute;top:2px;left:2px}.ui-toggle[aria-checked=true] .ui-toggle-knob{transform:translate(16px)}.ui-modal-overlay{background:var(--overlay);z-index:1100;animation:fade-in var(--duration-base) var(--ease);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ui-modal{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);width:100%;max-height:85vh;padding:24px;overflow:auto}.ui-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;animation:1s linear infinite spin;display:inline-block}.ui-toast-container{z-index:1200;flex-direction:column;gap:8px;display:flex;position:fixed;top:16px;right:16px}.ui-toast{background-color:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);font-size:var(--text-sm);color:var(--text-primary);max-width:360px;animation:fade-in var(--duration-base) var(--ease);align-items:center;gap:8px;padding:10px 14px;display:flex}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;display:grid}.grid-2{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.sidebar-overlay,.mobile-menu-btn{display:none}@media (width<=1024px){:root{--sidebar-width:0px}.sidebar-desktop{z-index:1001;background-color:var(--bg-surface);width:260px;transition:left .25s;position:fixed;top:0;bottom:0;left:-280px}.sidebar-desktop.sidebar-open{left:0}.sidebar-overlay{z-index:1000;background:#00000080;display:none;position:fixed;inset:0}.sidebar-overlay.sidebar-open{display:block}.mobile-menu-btn{border:1px solid var(--border);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.stat-grid{grid-template-columns:repeat(2,1fr)}.hero-score-grid{grid-template-columns:1fr!important}}@media (width<=640px){.stat-grid{grid-template-columns:1fr 1fr;gap:.625rem}.grid-2{grid-template-columns:1fr}.hero-score-grid{grid-template-columns:1fr!important;padding:1.25rem!important}}
