.report{background:#fff;color:#0c1216;font-family:var(--font-sans);max-width:900px;margin:0 auto;padding:2rem}.report h1,.report h2,.report h3{color:#0c1216}.report .mono{font-family:var(--font-mono)}.report .grade{font-weight:800}.report .finding{border:1px solid #d7dde2;border-radius:8px;padding:.75rem;margin:.5rem 0}.report .muted{color:#5b6b75}@media print{.report .noprint{display:none}body{background:#fff}}:root,[data-theme=dark]{--bg: #030508;--bg-soft: #0b0f14;--surface: #111820;--surface-alt: #18222b;--text: #e8f0f5;--text-muted: #8fa3b1;--line: #1e2e38;--teal: #1ec6b5;--teal-soft: #8be3db;--sev-critical: #ff3a6e;--sev-high: #ff8c42;--sev-medium: #f2be57;--sev-low: #5aa9e6;--sev-info: #8be3db;--sev-ok: #2bd38f;--status-active-bg: rgba(43, 211, 143, .15);--status-active-text: #2bd38f;--status-active-border: rgba(43, 211, 143, .3);--status-completed-bg: rgba(90, 169, 230, .12);--status-completed-text: #5aa9e6;--status-completed-border: rgba(90, 169, 230, .25);--status-pending-bg: rgba(139, 163, 177, .12);--status-pending-text: #8fa3b1;--status-pending-border: rgba(139, 163, 177, .2);--radius: 12px;--radius-sm: 7px;--shadow: 0 16px 48px rgba(0, 0, 0, .55);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--font-sans: "Fira Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "Fira Code", "Cascadia Code", ui-monospace, Consolas, "Courier New", monospace;--font-size-base: 16px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:1.6;-webkit-font-smoothing:antialiased}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}h1,h2,h3{font-weight:650;letter-spacing:-.02em;margin:0 0 .4em}h1{font-size:1.5rem}h2{font-size:1.15rem}h3{font-size:1rem}a{color:var(--teal);text-decoration:none}a:hover{color:var(--teal-soft)}button{font:inherit;cursor:pointer;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-alt);color:var(--text);padding:.45rem .9rem;transition:border-color .15s ease,background .15s ease,color .15s ease}button.primary{background:var(--teal);color:#04201d;border-color:var(--teal);font-weight:600}button.primary:hover{background:var(--teal-soft);border-color:var(--teal-soft)}button:not(.primary):hover{border-color:var(--teal)}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{font:inherit;background:var(--bg-soft);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.45rem .7rem;transition:border-color .15s ease,box-shadow .15s ease}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px #1ec6b559}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238fa3b1' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;padding-right:2rem;cursor:pointer}:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow-sm)}a.card{display:block;cursor:pointer;color:var(--text);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}a.card:hover{border-color:var(--teal);background:var(--surface-alt);color:var(--text);box-shadow:0 4px 16px #1ec6b51a}.status-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:100px;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:1px solid transparent}.status-badge.active{background:var(--status-active-bg);color:var(--status-active-text);border-color:var(--status-active-border)}.status-badge.completed{background:var(--status-completed-bg);color:var(--status-completed-text);border-color:var(--status-completed-border)}.status-badge.pending,.status-badge.queued{background:var(--status-pending-bg);color:var(--status-pending-text);border-color:var(--status-pending-border)}.skip-link{position:absolute;top:-100%;left:1rem;z-index:9999;padding:.5rem 1rem;background:var(--teal);color:#04201d;font-weight:600;border-radius:0 0 var(--radius-sm) var(--radius-sm);transition:top .15s ease}.skip-link:focus{top:0}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
