/* One stylesheet, no build step. A report is a document: readable, printable,
   searchable with the browser's own find. Dark and light both, because this is
   opened at odd hours by people who did not choose the theme. */
:root{--page:#f4f7fa;--surface:#fff;--surface2:#eef3f8;--ink:#15242f;--muted:#5b7185;
--border:#d3e0ea;--accent:#2a78d6;--good:#1f6b4a;--warn:#95590f;--bad:#a33a3a;--info:#2a78d6;--dim:#8aa0b4;
--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--radius:10px}
@media(prefers-color-scheme:dark){:root{--page:#101922;--surface:#182631;--surface2:#1e2f3d;
--ink:#fff;--muted:#a7bccd;--border:#2f4459;--accent:#4da3ff;--good:#4faa72;--warn:#fab219;
--bad:#e66767;--info:#4da3ff;--dim:#8aa0b4}}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--page);color:var(--ink);
font:15px/1.55 -apple-system,system-ui,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
.wrap{max-width:1080px;margin:0 auto;padding:32px 20px 72px;display:grid;gap:22px}
a{color:var(--accent)}
h1{margin:0;font-size:24px;font-weight:650;letter-spacing:-.01em}
h2{margin:14px 0 0;font-size:18px;font-weight:640}
h3{margin:0;font-size:14px;font-weight:660}
h4{margin:0 0 7px;font-size:13px;font-weight:640}
.head{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline;
padding-bottom:12px;border-bottom:1px solid var(--border)}
.facts{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto;font-size:12px;color:var(--muted)}
.facts>span:not(.cat)::before{content:"·";margin-right:8px;opacity:.5}
.cat{padding:3px 9px;border-radius:4px;font-weight:700;letter-spacing:.05em;color:var(--accent);
background:color-mix(in srgb,var(--accent) 14%,transparent);
border:1px solid color-mix(in srgb,var(--accent) 38%,transparent)}
.note,.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:var(--mono)}
.note{margin:0;font-size:13.5px;max-width:80ch}
.banner{padding:12px 16px;border-radius:var(--radius);background:var(--surface);
border:1px solid var(--border);border-left:4px solid var(--tone,var(--muted));font-size:13.5px}
.caveat{padding:18px 22px;border-radius:var(--radius);background:var(--surface);
border:1px solid var(--border);border-left:4px solid var(--warn)}
.caveat h2{margin:0 0 8px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
color:var(--warn);font-family:var(--mono)}
.caveat p{margin:0 0 10px;max-width:84ch;line-height:1.6}.caveat p:last-child{margin:0}
.headline{display:grid;gap:18px;grid-template-columns:minmax(200px,250px) 1fr;align-items:center;
padding:18px 22px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border)}
.score{display:grid;gap:7px}
.score-n{font-size:38px;font-weight:680;line-height:1;font-variant-numeric:tabular-nums}
.score-d{font-size:21px;color:var(--muted);font-weight:600}
.score-l{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:600}
.meter{height:7px;border-radius:4px;background:var(--surface2);overflow:hidden}
.meter i{display:block;height:100%;background:var(--good)}
.aside{margin:0;color:var(--muted);font-size:13.5px;max-width:68ch}
.aside strong{color:var(--ink)}
.tiles{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(122px,1fr))}
.tile{padding:12px 14px;border-radius:var(--radius);background:var(--surface);
border:1px solid var(--border);border-top:3px solid var(--tone,var(--muted));display:grid;gap:4px}
.tile .n{font-size:22px;font-weight:660;line-height:1;color:var(--tone,var(--ink));
font-variant-numeric:tabular-nums}
.tile .l{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}
.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.card{padding:15px 17px;border-radius:var(--radius);background:var(--surface);
border:1px solid var(--border);text-decoration:none;color:inherit;display:block}
a.card:hover{border-color:var(--accent)}
.card p{margin:0 0 6px;font-size:13px;color:var(--muted);line-height:1.5}
.card p:last-child{margin:0}
.card.is-missing{border-style:dashed;opacity:.75}
.card .state{margin-bottom:8px}
.pill{display:inline-block;padding:3px 9px;border-radius:4px;font-size:10.5px;font-weight:700;
letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;color:var(--tone,var(--muted));
border:1px solid color-mix(in srgb,var(--tone,var(--muted)) 38%,transparent);
background:color-mix(in srgb,var(--tone,var(--muted)) 13%,transparent)}
.t-good{--tone:var(--good)}.t-warn{--tone:var(--warn)}.t-bad{--tone:var(--bad)}
.t-info{--tone:var(--info)}.t-muted{--tone:var(--dim)}
.checks{margin:0;padding:0;list-style:none;display:grid;gap:7px}
.checks li{display:flex;gap:9px;font-size:13px;line-height:1.5;align-items:baseline}
.checks li::before{content:"\2713";color:var(--good);font-weight:700;flex:none}
.checks li.not-established{color:var(--muted)}
.checks li.not-established::before{content:"\2014";color:var(--dim)}
.tablewrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);
background:var(--surface)}
table{border-collapse:collapse;width:100%;min-width:760px;font-size:13px}
th,td{padding:10px 13px;text-align:left;vertical-align:top;
border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}
th{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);
font-weight:700;background:var(--surface2);white-space:nowrap}
tr:last-child td{border-bottom:none}
td.num{font-family:var(--mono);font-weight:660;color:var(--muted)}
td code{font-family:var(--mono);font-size:11.5px;color:var(--accent);font-weight:600;white-space:nowrap}
.fam{margin-bottom:18px}
.fam h3{display:flex;gap:10px;align-items:baseline;padding-bottom:7px;
border-bottom:1px solid var(--border)}
.fam h3 code{font-family:var(--mono);font-size:12px;color:var(--accent);font-weight:700}
.ctl{display:grid;grid-template-columns:104px 1fr 128px;gap:14px;align-items:start;padding:11px 4px;
border-bottom:1px solid color-mix(in srgb,var(--border) 55%,transparent)}
.cid{font-family:var(--mono);font-size:12.5px;font-weight:660}
.cname{margin:0;font-size:13.5px;font-weight:600}
.cnote{margin:3px 0 0;color:var(--muted);font-size:13px;line-height:1.5;max-width:76ch}
.doc-body{white-space:pre-wrap;font-family:var(--mono);font-size:12.5px;line-height:1.6;
padding:18px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);
overflow-x:auto}
.signin{max-width:420px;margin:9vh auto;display:grid;gap:14px;padding:28px;
border-radius:var(--radius);background:var(--surface);border:1px solid var(--border)}
.input{width:100%;padding:10px 12px;font:inherit;color:var(--ink);background:var(--page);
border:1px solid var(--border);border-radius:8px}
.button{padding:10px 16px;font:inherit;font-weight:600;cursor:pointer;color:#fff;
background:var(--accent);border:0;border-radius:8px}
form{display:grid;gap:10px}
footer{margin-top:20px;padding-top:16px;border-top:1px solid var(--border);
color:var(--dim);font-size:12px}
@media(max-width:760px){.headline{grid-template-columns:1fr}.ctl{grid-template-columns:1fr;gap:5px}
.facts{margin-left:0}}
