.scanner{max-width:var(--max-width-tool);margin-inline:auto}.scanner__input{width:100%;min-height:12rem;padding:var(--space-md);font-family:var(--font-mono);font-size:var(--text-small);line-height:var(--leading-normal);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);resize:vertical;transition:border-color var(--duration-fast) var(--ease-default)}.scanner__input:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.scanner__input::placeholder{color:var(--text-tertiary);font-family:var(--font-body);font-style:italic}.scanner__toolbar{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.scanner__btn{padding:var(--space-sm) var(--space-lg);font-family:var(--font-body);font-size:var(--text-small);font-weight:var(--weight-semibold);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);background:var(--bg-surface);color:var(--text-primary)}.scanner__btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.scanner__btn--primary{background:var(--accent-deep);color:var(--text-inverse);border-color:var(--accent-deep)}.scanner__btn--primary:hover{background:var(--accent);border-color:var(--accent)}.scanner__btn--secondary:hover{background:var(--bg-recessed)}.scanner__btn:disabled{opacity:.5;cursor:not-allowed}.scanner__char-count{font-size:var(--text-caption);color:var(--text-tertiary);align-self:center;margin-left:auto}.scan-summary{margin-top:var(--space-xl);padding:var(--space-lg);background:var(--bg-recessed);border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}.scan-summary__title{font-family:var(--font-heading);font-size:var(--text-h3);font-weight:var(--weight-semibold);margin-bottom:var(--space-md)}.scan-summary__grid{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));display:grid}.scan-summary__stat{text-align:center;padding:var(--space-sm)}.scan-summary__stat-value{font-size:var(--text-h2);font-weight:var(--weight-bold);font-family:var(--font-mono)}.scan-summary__stat-label{font-size:var(--text-caption);color:var(--text-secondary);margin-top:var(--space-xs)}.scan-summary--clean{border-color:var(--severity-pass-border);background:var(--severity-pass-bg)}.severity-badge{font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;border-radius:var(--radius-full);padding:.15em .6em;line-height:1.4;display:inline-block}.severity-badge--critical{background:var(--severity-critical-bg);color:var(--severity-critical);border:1px solid var(--severity-critical-border)}.severity-badge--high{background:var(--severity-high-bg);color:var(--severity-high);border:1px solid var(--severity-high-border)}.severity-badge--medium{background:var(--severity-medium-bg);color:var(--severity-medium);border:1px solid var(--severity-medium-border)}.severity-badge--low{background:var(--severity-low-bg);color:var(--severity-low);border:1px solid var(--severity-low-border)}.findings-list{margin-top:var(--space-xl);gap:var(--space-md);flex-direction:column;display:flex}.finding-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-lg);border-left:4px solid var(--border-default)}.finding-card--critical{border-left-color:var(--severity-critical)}.finding-card--high{border-left-color:var(--severity-high)}.finding-card--medium{border-left-color:var(--severity-medium)}.finding-card--low{border-left-color:var(--severity-low)}.finding-card__header{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.finding-card__type{font-weight:var(--weight-semibold);font-size:var(--text-body)}.finding-card__match{font-family:var(--font-mono);font-size:var(--text-small);background:var(--bg-recessed);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);margin-bottom:var(--space-md);word-break:break-all}.finding-card__regulations{gap:var(--space-sm);margin-bottom:var(--space-md);flex-direction:column;display:flex}.finding-card__regulation{gap:var(--space-sm);font-size:var(--text-small);line-height:var(--leading-normal);display:flex}.framework-tag{font-family:var(--font-mono);font-size:var(--text-caption);font-weight:var(--weight-semibold);border-radius:var(--radius-sm);background:var(--accent-subtle);color:var(--accent-deep);flex-shrink:0;padding:.1em .5em}.finding-card__redaction{font-size:var(--text-small);color:var(--text-secondary);padding:var(--space-sm);background:var(--bg-well);border-radius:var(--radius-sm);line-height:var(--leading-normal)}.finding-card__redaction strong{color:var(--text-primary);font-weight:var(--weight-semibold)}.redacted-view{margin-top:var(--space-xl);padding:var(--space-lg);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);font-family:var(--font-mono);font-size:var(--text-small);line-height:var(--leading-relaxed);white-space:pre-wrap;word-break:break-word}.scanner__actions{gap:var(--space-sm);margin-top:var(--space-lg);flex-wrap:wrap;display:flex}.scanner__tab-bar{gap:var(--space-xs);margin-top:var(--space-xl);border-bottom:1px solid var(--border-subtle);padding-bottom:0;display:flex}.scanner__tab{padding:var(--space-sm) var(--space-md);font-size:var(--text-small);font-weight:var(--weight-medium);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-default);background:0 0;border:none;border-bottom:2px solid #0000}.scanner__tab:hover{color:var(--text-primary)}.scanner__tab--active{color:var(--accent-deep);border-bottom-color:var(--accent-deep);font-weight:var(--weight-semibold)}.in-tool-ad{max-width:40rem;margin:var(--space-2xl) auto;text-align:center}.in-tool-ad__label{font-size:var(--text-caption);color:var(--text-tertiary);letter-spacing:.02em;margin-bottom:var(--space-xs);display:block}@media (width<=640px){.scanner__input{min-height:10rem;font-size:var(--text-caption)}.scan-summary__grid{grid-template-columns:repeat(2,1fr)}.finding-card__regulation{flex-direction:column}.scanner__tab{padding:var(--space-xs) var(--space-sm);font-size:var(--text-caption)}}@media print{.scanner__toolbar,.scanner__actions,.scanner__tab-bar,.in-tool-ad{display:none}.finding-card{break-inside:avoid}}
