:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1f2933;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;font:15px/1.5 system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit}.app-shell{max-width:880px;margin:0 auto;padding:40px 20px 80px}.home-page h1{margin-bottom:8px;font-size:36px}.lead{color:#6b7280;max-width:640px;margin-bottom:32px;font-size:15px}.scan-form{background:#f9fafb;border:1px solid #e4e7eb;border-radius:12px;flex-direction:column;gap:12px;max-width:480px;padding:24px;display:flex}.scan-form label{font-size:13px;font-weight:600}.scan-form input[type=text]{border:1px solid #cbd2d9;border-radius:8px;padding:10px 12px;font-size:15px}.consent-row{color:#374151;flex-direction:row;align-items:flex-start;gap:10px;font-size:13px;font-weight:400;display:flex}.consent-row input{margin-top:3px}.scan-form button{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;margin-top:8px;padding:12px 16px;font-size:15px;font-weight:600;transition:background .15s}.scan-form button:hover:not(:disabled){background:#1d4ed8}.scan-form button:disabled{cursor:not-allowed;background:#9aa5b1}.form-error{color:#b91c1c;margin:0;font-size:13px}.back-link{color:#2563eb;margin-bottom:16px;font-size:14px;text-decoration:none;display:inline-block}.back-link:hover{text-decoration:underline}.scan-page h1{margin-bottom:20px;font-size:28px}.status-line{color:#6b7280}.status-banner{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;align-items:center;gap:12px;margin-bottom:24px;padding:14px 18px;font-size:14px;display:flex}.status-banner-error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.status-hint{color:#6b7280;margin-left:auto;font-size:12px}.spinner{border:2px solid #bfdbfe;border-top-color:#2563eb;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.result-header{flex-wrap:wrap;align-items:center;gap:32px;margin-bottom:32px;display:flex}.score-gauge{flex-direction:column;align-items:center;gap:10px;display:flex}.grade-badge{color:#fff;border-radius:999px;padding:4px 16px;font-size:14px;font-weight:700;display:inline-block}.result-meta{color:#374151;flex-direction:column;gap:12px;font-size:14px;display:flex}.pdf-button{color:#fff;background:#111827;border-radius:8px;align-self:flex-start;padding:10px 18px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.pdf-button:hover{background:#1f2933}.category-list{flex-direction:column;gap:14px;display:flex}.category-card{background:#fff;border:1px solid #e4e7eb;border-radius:12px;overflow:hidden}.category-header{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:none;padding:16px 20px}.category-title-row{align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.category-label{color:#1f2933;font-size:15px;font-weight:600}.category-grade-badge{text-align:center;color:#fff;border-radius:999px;min-width:22px;padding:1px 8px;font-size:12px;font-weight:700;display:inline-block}.category-score{margin-left:auto;font-size:14px;font-weight:700}.bar-track{background:#e4e7eb;border-radius:6px;height:8px;overflow:hidden}.bar-fill{border-radius:6px;height:8px;transition:width .3s}.category-findings{flex-direction:column;gap:10px;padding:0 20px 18px;display:flex}.ok-message{color:#15803d;margin:0;font-size:13px}.finding-card{background:#f9fafb;border-left:4px solid #cbd2d9;border-radius:8px;padding:12px 14px}.finding-header{align-items:center;gap:10px;margin-bottom:6px;display:flex}.finding-title{color:#1f2933;font-size:14px;font-weight:600}.severity-tag{text-transform:uppercase;letter-spacing:.03em;color:#fff;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.points-lost{color:#6b7280;margin-left:auto;font-size:12px}.finding-description{color:#374151;margin:0 0 6px;font-size:13px}.finding-remediation{color:#1f2933;background:#fff;border:1px solid #e4e7eb;border-radius:6px;margin:0;padding:8px 10px;font-size:13px}
