:root { color-scheme: light; --audit-text: #202c32; --audit-muted: #61727c; --audit-line: #dfe6e8; --audit-accent: #1764b2; }
* { box-sizing: border-box; letter-spacing: 0; }
body { margin: 0; background: #f8fafb; color: var(--audit-text); font: 14px/1.65 ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
button,input { font: inherit; }
a,button { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid #1764b2; outline-offset: 4px; }
[hidden] { display: none !important; }
.audit-header { border-bottom: 1px solid var(--audit-line); background: #fff; }
.audit-header-inner { min-height: 76px; max-width: 1200px; margin: auto; padding: 0 32px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.audit-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--audit-text); text-decoration: none; font-size: 20px; font-weight: 650; }
.audit-brand img { flex-shrink: 0; }
.audit-brand-label { padding-left: 12px; border-left: 1px solid var(--audit-line); color: var(--audit-muted); font-size: 13px; font-weight: 400; }
.audit-back { color: var(--audit-muted); font-size: 13px; text-decoration: none; }
.audit-back:hover { color: var(--audit-accent); text-decoration: underline; }
.audit-loader { max-width: 1200px; padding: 48px 32px 28px; margin: 0 auto; }
.audit-workspace { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); gap: 64px; }
.audit-request { min-width: 0; }
.audit-heading { display: flex; gap: 10px; align-items: center; color: var(--audit-accent); font-size: 12px; font-weight: 500; }
.audit-spinner { display: inline-block; flex: 0 0 16px; width: 16px; height: 16px; border: 2px solid var(--audit-line); border-top-color: var(--audit-accent); border-radius: 50%; animation: audit-spin .9s linear infinite; }
h1 { margin: 18px 0 12px; font-size: 30px; line-height: 1.25; font-weight: 600; }
.audit-subtitle { margin: 0 0 28px; color: var(--audit-muted); font-size: 15px; line-height: 1.75; max-width: 560px; }
.audit-target { border-top: 1px solid var(--audit-line); padding: 22px 0 0; overflow-wrap: anywhere; }
.audit-field-label { display: block; color: var(--audit-muted); font-size: 12px; margin-bottom: 5px; }
.audit-target strong { display: block; font-size: 20px; font-weight: 550; line-height: 1.4; }
.audit-target-url { display: block; margin-top: 6px; color: var(--audit-muted); font-size: 12px; line-height: 1.65; }
.audit-request-meta { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 20px; margin: 22px 0 28px; }
.audit-request-meta div { min-width: 0; overflow-wrap: anywhere; }
.audit-request-meta dt { color: var(--audit-muted); font-size: 12px; }
.audit-request-meta dd { margin: 3px 0 0; font-size: 13px; font-weight: 500; }
.audit-request-meta [data-audit-mode] { color: #1764b2; }
.audit-live { border-top: 1px solid var(--audit-line); padding-top: 22px; }
.audit-progress { height: 5px; background: #e3e9eb; overflow: hidden; border-radius: 3px; }
.audit-progress span { display: block; width: 28%; height: 100%; background: #1764b2; animation: audit-pulse 2.4s ease-in-out infinite; border-radius: 3px; }
.audit-state { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 22px; padding-top: 16px; }
.audit-state p { margin: 0; font-size: 13px; line-height: 1.75; }
.audit-clock { min-width: 94px; padding-left: 20px; border-left: 1px solid var(--audit-line); display: flex; flex-direction: column; color: var(--audit-muted); font-size: 11px; }
#audit-elapsed { color: var(--audit-text); font-size: 16px; font-weight: 500; white-space: nowrap; font-variant-numeric: tabular-nums; }
.audit-waiting-note { margin: 18px 0 0; color: var(--audit-muted); font-size: 12px; line-height: 1.75; }
.audit-scope { border-left: 1px solid var(--audit-line); padding-left: 40px; min-width: 0; }
.audit-section-heading { display: flex; align-items: baseline; gap: 12px; }
.audit-section-index { font-size: 12px; color: var(--audit-accent); font-variant-numeric: tabular-nums; }
h2 { margin: 0; font-size: 17px; line-height: 1.4; font-weight: 550; }
.audit-scope-note { margin: 8px 0 20px; font-size: 12px; color: var(--audit-muted); }
.audit-area-list { list-style: none; padding: 0; margin: 0; counter-reset: audit-area; }
.audit-area-list li { position: relative; padding: 16px 0 16px 30px; border-top: 1px solid var(--audit-line); counter-increment: audit-area; }
.audit-area-list li::before { content: counter(audit-area, decimal-leading-zero); position: absolute; left: 0; top: 17px; color: #8a9ba2; font-size: 11px; font-variant-numeric: tabular-nums; }
h3 { margin: 0 0 5px; font-size: 14px; line-height: 1.45; font-weight: 550; }
.audit-area-list p { margin: 0; font-size: 12px; line-height: 1.7; color: var(--audit-muted); }
.audit-mode-note { margin: 4px 0 0; padding: 12px 14px; border-left: 2px solid #a6c8d9; background: #edf4f7; color: #455f6b; font-size: 12px; line-height: 1.7; }
.audit-outcomes { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--audit-line); }
.audit-outcome-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; margin-top: 20px; }
.audit-outcome-grid article { position: relative; padding-left: 32px; min-width: 0; }
.audit-outcome-number { position: absolute; left: 0; top: 0; font-size: 11px; color: var(--audit-accent); font-variant-numeric: tabular-nums; }
.audit-outcome-grid p { margin: 0; color: var(--audit-muted); font-size: 12px; line-height: 1.75; }
.audit-scope-footer { margin: 32px 0 0; padding-top: 16px; border-top: 1px solid var(--audit-line); color: var(--audit-muted); font-size: 11px; }
#audit-recovery { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 22px; }
#audit-recovery a,button { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; padding: 8px 14px; border: 1px solid #cbd9e0; border-radius: 6px; background: #fff; color: #28518e; font-size: 13px; font-weight: 500; text-decoration: none; cursor: pointer; }
#audit-recovery a { background: #1764b2; border-color: #1764b2; color: #fff; }
button:disabled { opacity: .55; cursor: wait; }
.audit-loader[data-state="error"] .audit-progress span { animation: none; width: 28%; background: #b56b08; }
.audit-loader[data-state="error"] .audit-spinner { animation: none; border-color: #b56b08; }
.audit-loader[data-state="error"] :is(#audit-status,.audit-heading) { color: #88560b; }
.audit-noscript { margin: 24px 0; padding: 20px 0; border-top: 1px solid var(--audit-line); }
.audit-noscript p { margin: 0 0 12px; }
@keyframes audit-spin { to { transform: rotate(360deg); } }
@keyframes audit-pulse { from { transform: translateX(-110%); } to { transform: translateX(460%); } }
@media (max-width: 960px) {
    .audit-workspace { grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: 32px; }
    .audit-scope { padding-left: 26px; }
}
@media (max-width: 760px) {
    .audit-header-inner { min-height: 64px; padding: 0 20px; }
    .audit-loader { padding: 32px 20px 24px; }
    .audit-workspace { grid-template-columns: minmax(0,1fr); gap: 32px; }
    .audit-scope { border-left: 0; border-top: 1px solid var(--audit-line); padding: 24px 0 0; }
    .audit-subtitle { max-width: none; }
    .audit-outcome-grid { gap: 24px; }
    .audit-outcome-grid article { padding-left: 0; }
    .audit-outcome-number { display: block; position: static; margin-bottom: 8px; }
}
@media (max-width: 480px) {
    .audit-header-inner { padding: 0 18px; gap: 12px; }
    .audit-brand { font-size: 18px; gap: 8px; }
    .audit-brand-label { display: none; }
    .audit-back { max-width: 145px; text-align: right; font-size: 12px; }
    .audit-loader { padding: 28px 18px 24px; }
    h1 { font-size: 26px; }
    .audit-subtitle { font-size: 14px; }
    .audit-state { gap: 16px; }
    .audit-clock { padding-left: 12px; min-width: 82px; }
    .audit-outcome-grid { grid-template-columns: minmax(0,1fr); gap: 18px; }
    .audit-outcome-grid article { padding-left: 32px; }
    .audit-outcome-number { position: absolute; margin: 0; }
}
@media (prefers-reduced-motion: reduce) { .audit-spinner,.audit-progress span { animation: none; } }
