:root{--ink:#1b2430;--muted:#5b6676;--line:#d9dee5;--accent:#1f5fbf;--ok:#1d7a46;--bad:#b3261e;--paper:#fff;--soft:#f4f6f9}*{box-sizing:border-box}body{color:var(--ink);background:var(--soft);margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:17px;line-height:1.5}main{max-width:34rem;margin:0 auto;padding:2rem 1rem 3rem}h1{margin:0 0 .75rem;font-size:1.6rem;line-height:1.25}.card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:1.25rem}label{margin-bottom:.4rem;font-weight:600;display:block}input[type=text]{border:1px solid var(--line);border-radius:8px;width:100%;padding:.8rem;font-size:1.05rem}.tick{align-items:flex-start;gap:.6rem;margin:1rem 0;font-weight:400;display:flex}.tick input{flex:none;width:1.4rem;height:1.4rem;margin-top:.1rem}button{color:#fff;background:var(--accent);cursor:pointer;border:0;border-radius:8px;width:100%;min-height:3rem;font-size:1.05rem;font-weight:600}button:disabled{opacity:.6}.error{color:var(--bad);margin:.5rem 0 0}.muted{color:var(--muted)}.steps{margin:1rem 0 0;padding:0;list-style:none}.steps li{border-top:1px solid var(--line);align-items:center;gap:.6rem;padding:.6rem 0;display:flex}.steps li:first-child{border-top:0}.mark{border:2px solid var(--line);border-radius:50%;flex:none;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.85rem;display:inline-flex}.done .mark{background:var(--ok);border-color:var(--ok);color:#fff}.current .mark{border-color:var(--accent);border-top-color:#0000;animation:1s linear infinite spin}.waiting{color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.current .mark{border-top-color:var(--accent);animation:none}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:root{--sev-critical:#b3261e;--sev-high:#c4570c;--sev-medium:#8a6d00;--sev-low:#1f5fbf;--sev-info:#5b6676;--fair:#8a6d00}main.report{max-width:60rem}.report h2{margin:2rem 0 .75rem;font-size:1.3rem}.report-header h1{overflow-wrap:anywhere;margin-bottom:.25rem}.small{font-size:.9rem}.strong{margin:.5rem 0 .25rem;font-weight:600}.note{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;padding:.6rem .8rem}.band-good{color:var(--ok)}.band-fair{color:var(--fair)}.band-poor{color:var(--bad)}.score-card h2{margin:0}.headline-score{align-items:center;gap:1rem;display:flex}.score-number{text-align:center;min-width:4.5rem;margin:0;font-size:3.5rem;font-weight:700;line-height:1}.beta{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);border:1px solid var(--accent);vertical-align:middle;border-radius:999px;padding:.05rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.device-scores{gap:2rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.device-scores li{flex-direction:column;display:flex}.device-scores strong{font-size:1.6rem}.tiles{grid-template-columns:repeat(2,1fr);gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.tile{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem}.tile h3{margin:0 0 .3rem;font-size:.95rem}.tile p{justify-content:space-between;align-items:baseline;margin:0;display:flex}.issue{background:var(--paper);border:1px solid var(--line);border-radius:12px;margin-bottom:.8rem;padding:1rem;scroll-margin-top:1rem}.issue:target{outline:2px solid var(--accent)}.issue header{align-items:flex-start;gap:.6rem;display:flex}.issue h3{margin:0;font-size:1.05rem;line-height:1.3}.issue p{margin:.5rem 0 0}.issue-number{background:var(--ink);color:#fff;border-radius:999px;flex:none;place-items:center;min-width:1.6rem;height:1.6rem;font-size:.85rem;font-weight:600;display:grid}.tags{flex-wrap:wrap;gap:.35rem;display:flex}.tag{border:1px solid var(--line);background:var(--soft);color:var(--muted);border-radius:999px;padding:.1rem .55rem;font-size:.78rem}.tag.sev-critical,.tag.sev-high,.tag.sev-medium,.tag.sev-low,.tag.sev-info{color:#fff;border-color:#0000;font-weight:600}.tag.sev-critical{background:var(--sev-critical)}.tag.sev-high{background:var(--sev-high)}.tag.sev-medium{background:var(--sev-medium)}.tag.sev-low{background:var(--sev-low)}.tag.sev-info{background:var(--sev-info)}.tag.effort-quick{color:var(--ok);border-color:var(--ok);background:#fff;font-weight:600}.url,.evidence code{overflow-wrap:anywhere}.evidence ul{margin:0;padding-left:1.2rem}.evidence code{background:var(--soft);border-radius:4px;padding:.05rem .3rem;font-size:.85rem}.fix{background:var(--soft);border-radius:8px;padding:.5rem .7rem}.filters{flex-wrap:wrap;gap:.8rem;display:flex}.filters label{margin:0;font-size:.9rem}.filters select{border:1px solid var(--line);background:var(--paper);border-radius:8px;min-width:11rem;margin-top:.25rem;padding:.5rem;font-size:1rem;display:block}.category-heading{margin:1.5rem 0 .6rem;font-size:1.1rem}.shot-group h3{margin:1.2rem 0 .5rem;font-size:1.05rem}.shot-pair{grid-template-columns:1fr;gap:1rem;display:grid}.shot{margin:0}.shot figcaption{color:var(--muted);margin-bottom:.3rem;font-size:.9rem}.shot-frame{border:1px solid var(--line);background:var(--paper);border-radius:8px;max-height:70vh;overflow:auto}.shot-inner{position:relative}.shot-inner img{width:100%;height:auto;display:block}.pin{background:var(--bad);color:#fff;border:2px solid #fff;border-radius:999px;place-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;font-weight:700;text-decoration:none;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 3px #0006}@media (min-width:40rem){.tiles{grid-template-columns:repeat(3,1fr)}}@media (min-width:52rem){.tiles{grid-template-columns:repeat(4,1fr)}.shot-pair{grid-template-columns:1fr 2fr;align-items:start}}
