.report-page{--critical:#c14b4b;--serious:#b45309;--moderate:#0f766e;--minor:#64748b}.report-page .hero{padding-bottom:clamp(2rem,4vw,3rem)}.report-id{color:var(--muted);font-size:clamp(1.4rem,3vw,2rem);font-weight:500}.report-body{padding-block:0 clamp(4rem,8vw,6rem)}.state-box{text-align:center;color:var(--muted);background:var(--surface);border:1px solid var(--hair);border-radius:var(--radius-card);padding:4rem 1rem}.spinner{border:3px solid var(--hair-strong);border-top-color:var(--emerald);margin-inline:auto;border-radius:50%;width:40px;height:40px;margin-bottom:1rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.hidden{display:none!important}.score-card{background:var(--surface);border:1px solid var(--hair);border-radius:var(--radius-card);padding:clamp(1.8rem,4vw,2.6rem)}.score-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.score-label{color:var(--muted);font-size:.9rem}.score-value{font-family:var(--font-display);margin-top:.2rem;font-size:clamp(3.2rem,7vw,5rem);font-weight:700;line-height:1}.score-max{color:var(--muted);font-size:1.4rem;font-weight:500}.risk-badge{text-transform:uppercase;letter-spacing:.05em;background:var(--wash);color:var(--ink);border-radius:999px;align-items:center;padding:.55rem 1.1rem;font-size:.8rem;font-weight:700;display:inline-flex}.risk-badge.critical{background:var(--critical);color:#fff}.risk-badge.high{color:#92400e;background:#fef3c7}.risk-badge.moderate{color:#115e59;background:#ccfbf1}.risk-badge.low{background:var(--hair);color:var(--ink)}.disclaimer-box{background:var(--canvas);border-left:4px solid var(--brass);color:var(--muted);border-radius:0 12px 12px 0;margin-top:1.8rem;padding:1.1rem;font-size:.92rem}.disclaimer-box strong{color:var(--ink)}.report-grid{grid-template-columns:1fr;gap:1.5rem;margin-top:1.8rem;display:grid}@media (width>=960px){.report-grid{grid-template-columns:1.55fr 1fr}}.panel{background:var(--surface);border:1px solid var(--hair);border-radius:var(--radius-card);padding:clamp(1.4rem,3vw,1.8rem)}.panel-title{font-size:1.15rem;font-weight:700;font-family:var(--font-display);letter-spacing:-.01em}.panel-sub{color:var(--muted);margin-top:.4rem;font-size:.9rem}.issues-list{flex-direction:column;gap:.85rem;margin-top:1.4rem;display:flex}.issue-card{background:var(--canvas);border:1px solid var(--hair);border-radius:var(--radius-card);padding:1.1rem 1.25rem}.issue-head{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.impact{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:.25em .65em;font-size:.68rem;font-weight:700}.impact.critical{color:var(--critical);background:#fee2e2}.impact.serious{color:var(--serious);background:#fef3c7}.impact.moderate{color:var(--moderate);background:#ccfbf1}.impact.minor{background:var(--hair);color:var(--minor)}.issue-rule{color:var(--ink);font-weight:700}.issue-help{color:var(--muted);margin-top:.45rem}.issue-target{margin-top:.7rem}.issue-target code{background:var(--hair);word-break:break-all;color:var(--ink);border-radius:6px;padding:.25em .55em;font-size:.8rem}.issue-meta{color:var(--muted);margin-top:.7rem;font-size:.8rem}.issue-helpUrl{color:var(--emerald);margin-top:.7rem;font-size:.88rem;font-weight:600;display:inline-block}.pages-list{flex-direction:column;gap:.6rem;margin-top:1rem;display:flex}.page-item{background:var(--canvas);border:1px solid var(--hair);border-radius:var(--radius-card);justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex}.page-type{text-transform:capitalize;color:var(--ink);font-weight:600}.page-url{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:.75rem;overflow:hidden}.page-score{color:var(--emerald);font-weight:700}.apps-list{flex-wrap:wrap;gap:.5rem;margin-top:.9rem;display:flex}.app-tag{background:var(--canvas);border:1px solid var(--hair);color:var(--ink);border-radius:999px;padding:.35em .85em;font-size:.82rem}.report-aside{flex-direction:column;gap:1.4rem;display:flex}.report-aside .btn{width:100%;margin-top:1rem}.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}
