:root{--color-bg-canvas:#f8fafc;--color-bg-surface:#fff;--color-bg-subtle:#f1f5f9;--color-bg-muted:#e2e8f0;--color-text-primary:#0f172a;--color-text-secondary:#334155;--color-text-muted:#475569;--color-border:#cbd5e1;--color-border-strong:#94a3b8;--color-brand-primary:#1d4ed8;--color-brand-primary-hover:#1e40af;--color-brand-bg:#eff6ff;--color-text-on-brand:#fff;--color-urgency-critical:#b91c1c;--color-urgency-critical-bg:#fef2f2;--color-urgency-high:#c2410c;--color-urgency-high-bg:#fff7ed;--color-urgency-medium:#b45309;--color-urgency-medium-bg:#fffbeb;--color-urgency-low:#15803d;--color-urgency-low-bg:#f0fdf4;--color-focus-ring:#2563eb;--focus-outline:3px solid var(--color-focus-ring);--focus-offset:2px;--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--min-target-size:44px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px}@media (prefers-color-scheme:dark){:root{--color-bg-canvas:#090d16;--color-bg-surface:#131b2e;--color-bg-subtle:#1e293b;--color-bg-muted:#334155;--color-text-primary:#f8fafc;--color-text-secondary:#cbd5e1;--color-text-muted:#94a3b8;--color-border:#334155;--color-border-strong:#64748b;--color-brand-primary:#60a5fa;--color-brand-primary-hover:#93c5fd;--color-brand-bg:#172554;--color-text-on-brand:#0f172a;--color-urgency-critical:#ef4444;--color-urgency-critical-bg:#450a0a;--color-urgency-high:#f97316;--color-urgency-high-bg:#431407;--color-urgency-medium:#f59e0b;--color-urgency-medium-bg:#451a03;--color-urgency-low:#22c55e;--color-urgency-low-bg:#052e16}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--color-bg-canvas);color:var(--color-text-primary);flex-direction:column;min-height:100vh;line-height:1.5;display:flex}:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.skip-link{background:var(--color-brand-primary);color:var(--color-text-on-brand);padding:var(--space-2) var(--space-4);z-index:1000;border-radius:var(--radius-sm);font-weight:700;text-decoration:none;position:absolute;top:-999px;left:1rem}.skip-link:focus{top:1rem}header.app-header{background-color:var(--color-bg-surface);border-bottom:1px solid var(--color-border);padding:var(--space-4) var(--space-8);justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.brand-title{font-size:var(--font-size-xl);color:var(--color-brand-primary);align-items:center;gap:var(--space-2);font-weight:700;display:flex}nav.main-nav ul{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}@media (width<=480px){header.app-header{padding:var(--space-3) var(--space-4)}main.app-main,.card{padding:var(--space-4)}}nav.main-nav a{min-height:var(--min-target-size);padding:var(--space-2) var(--space-4);color:var(--color-text-secondary);border-radius:var(--radius-md);align-items:center;font-weight:500;text-decoration:none;display:inline-flex}nav.main-nav a:hover{background-color:var(--color-bg-subtle);color:var(--color-text-primary)}nav.main-nav a[aria-current=page]{background-color:var(--color-brand-bg);color:var(--color-brand-primary);font-weight:700}main.app-main{width:100%;max-width:1280px;padding:var(--space-8);flex:1;margin:0 auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.card{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-6);box-shadow:0 1px 3px #0000000d}.card-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.card-title{font-size:var(--font-size-lg);font-weight:600}.btn{min-height:var(--min-target-size);padding:var(--space-2) var(--space-4);font-size:var(--font-size-base);border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);border:1px solid #0000;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background-color:var(--color-brand-primary);color:var(--color-text-on-brand)}.btn-primary:hover{background-color:var(--color-brand-primary-hover)}.btn-secondary{background-color:var(--color-bg-subtle);border-color:var(--color-border);color:var(--color-text-primary)}.btn-secondary:hover{background-color:var(--color-bg-muted)}.badge{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);text-transform:uppercase;border-radius:var(--radius-sm);align-items:center;font-weight:700;display:inline-flex}.badge-critical{background-color:var(--color-urgency-critical-bg);color:var(--color-urgency-critical);border:1px solid var(--color-urgency-critical)}.badge-high{background-color:var(--color-urgency-high-bg);color:var(--color-urgency-high);border:1px solid var(--color-urgency-high)}.badge-medium{background-color:var(--color-urgency-medium-bg);color:var(--color-urgency-medium);border:1px solid var(--color-urgency-medium)}.badge-low{background-color:var(--color-urgency-low-bg);color:var(--color-urgency-low);border:1px solid var(--color-urgency-low)}.reduction-waterfall{justify-content:space-between;align-items:center;gap:var(--space-4);background-color:var(--color-bg-subtle);padding:var(--space-6);border-radius:var(--radius-lg);margin-bottom:var(--space-8);flex-wrap:wrap;display:flex}.waterfall-step{text-align:center;flex:1;min-width:120px}.waterfall-number{font-size:var(--font-size-3xl);color:var(--color-brand-primary);font-weight:800}.waterfall-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;font-weight:600}.waterfall-arrow{font-size:var(--font-size-2xl);color:var(--color-text-muted)}table.data-table{border-collapse:collapse;width:100%;margin:var(--space-4) 0}table.data-table th,table.data-table td{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);text-align:left}table.data-table th{background-color:var(--color-bg-subtle);font-weight:600}pre.code-block{background-color:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);font-family:var(--font-mono);font-size:var(--font-size-sm);overflow-x:auto}.scan-header{background-color:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-6);gap:var(--space-2);flex-direction:column;display:flex}.scan-header__row{align-items:baseline;gap:var(--space-2);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.scan-header__label{font-size:var(--font-size-xs);text-transform:uppercase;color:var(--color-text-secondary);font-weight:700}.scan-header__domain{color:var(--color-text-primary);background-color:var(--color-brand-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 var(--space-2);font-weight:600}.scan-header__domain--none{color:var(--color-text-muted);background:0 0;border:none;padding:0;font-weight:400}.scan-header__more{font-size:var(--font-size-xs);color:var(--color-text-muted)}.scan-header__scale{color:var(--color-text-secondary)}.fingerprint{align-items:baseline;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:var(--space-2) 0;flex-wrap:wrap;display:flex}.fingerprint__label{text-transform:uppercase;color:var(--color-text-muted);font-weight:700}.fingerprint__alias{font-family:var(--font-mono);background-color:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 var(--space-1);color:var(--color-text-primary)}.fingerprint__origin{color:var(--color-text-muted)}.fingerprint__full summary{cursor:pointer;color:var(--color-brand-primary)}.fingerprint__full code{font-family:var(--font-mono);word-break:break-all;color:var(--color-text-secondary)}.fingerprint__note{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:var(--space-2) 0 var(--space-4)}@media (forced-colors:active){:focus-visible{outline:3px solid highlight}.btn,.badge,.scan-header__domain{border:1px solid buttontext}}
