:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, sans-serif; background:#fff; color:#171717; }
* { box-sizing:border-box; } body { margin:0; min-height:100vh; background:#f6f6f4; }
.brand-banner { width:100%; background:#141516; border-bottom:4px solid #ef641f; display:flex; justify-content:center; }
.brand-banner img { display:block; width:min(100%,520px); height:auto; }
main { width:min(920px,calc(100% - 32px)); margin:0 auto; padding:36px 0 64px; }
header { margin-bottom:22px; } h1 { font-size:clamp(1.65rem,3vw,2.15rem); line-height:1.15; letter-spacing:-.025em; margin:6px 0 10px; max-width:720px; }
header>p:last-child { color:#626262; font-size:.98rem; margin:0; } .eyebrow { color:#d94f0b; font-size:.76rem; text-transform:uppercase; letter-spacing:.15em; font-weight:800; margin:0; }
.panel { background:#fff; border:1px solid #dededb; border-radius:14px; padding:24px; margin-top:18px; box-shadow:0 12px 34px #15151512; }
.tabs { display:flex; gap:6px; border-bottom:1px solid #e1e1df; margin:-6px -4px 24px; padding:0 4px 14px; }
button { color:#575757; border:0; background:transparent; padding:10px 14px; border-radius:8px; font:inherit; font-weight:700; cursor:pointer; }
.tabs button:hover { background:#f1f1ef; color:#171717; }.tabs button.active { color:#fff; background:#242424; } label { display:grid; gap:9px; color:#272727; font-weight:650; }
input { width:100%; color:#171717; background:#fff; border:1px solid #c9c9c6; border-radius:8px; padding:14px; font:inherit; outline:none; }
input:focus { border-color:#ef641f; box-shadow:0 0 0 3px #ef641f24; }
.primary { background:#e85a16; color:white; margin-top:20px; padding:13px 18px; } .primary:hover { background:#c94809; }.primary:disabled { opacity:.5; }
.summary { display:flex; align-items:center; justify-content:space-between; gap:20px; } .status { text-transform:uppercase; font-weight:850; letter-spacing:.08em; }
.report-actions { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 20px; }.report-actions button { background:#f1f1ef; border:1px solid #d8d8d5; color:#282828; font-size:.86rem; padding:8px 11px; }.report-actions button:hover { background:#e7e7e4; border-color:#bcbcb8; }
.pass { color:#257653; }.fail,.error { color:#c72842; }.warning { color:#b05b00; }.finding { border-top:1px solid #e3e3e0; padding:18px 0 4px; }
.finding p { color:#5f5f5f; margin:.5rem 0; }.finding code { color:#727272; background:#f2f2f0; border-radius:4px; padding:2px 5px; }
.finding .classification { background:#fff5ed; border-left:3px solid #ef641f; color:#4d4d4d; font-size:.88rem; padding:7px 10px; }
.evidence { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:#dededb; border:1px solid #dededb; border-radius:7px; overflow:hidden; margin:10px 0; }.evidence div { background:#f7f7f5; padding:8px 10px; }.evidence dt { color:#777; font-size:.72rem; font-weight:750; text-transform:uppercase; }.evidence dd { color:#222; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.85rem; margin:3px 0 0; overflow-wrap:anywhere; }
.truncated { cursor:help; }
.stream-info { border-top:1px solid #e3e3e0; margin-top:24px; padding-top:10px; }.facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px; margin:16px 0; }.facts div { background:#f7f7f5; border:1px solid #e1e1de; border-radius:8px; padding:10px; }.facts span { color:#777; display:block; font-size:.78rem; text-transform:uppercase; }.facts strong { overflow-wrap:anywhere; }.stream-info details { border-top:1px solid #e3e3e0; padding:14px 0; }.stream-info summary { cursor:pointer; font-weight:750; }.adaptation { margin:14px 0; padding-left:14px; border-left:3px solid #ef641f; }.adaptation h3 { margin:.2rem 0; text-transform:capitalize; }.adaptation p,.stream-info li { color:#626262; }.table-wrap { overflow-x:auto; }table { width:100%; border-collapse:collapse; font-size:.88rem; }th,td { border-bottom:1px solid #e3e3e0; padding:8px; text-align:left; white-space:nowrap; }th { color:#555; background:#f7f7f5; }
@media(max-width:560px){main{padding:36px 0}.panel{padding:18px}.summary{align-items:flex-start;flex-direction:column}.evidence{grid-template-columns:1fr}}
@media print {.brand-banner,header,.panel:not(#result),.report-actions{display:none!important}body{background:#fff}main{width:100%;padding:0}#result{border:0;box-shadow:none;margin:0;padding:0}}
