:root { color-scheme: light; --ink:#17212b; --muted:#52606d; --brand:#075985; --brand-dark:#0c4a6e; --surface:#fff; --soft:#f1f5f9; --line:#cbd5e1; --alpha:#e0f2fe; --warn:#fff7d6; --attention:#9a3412; --max:72rem; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; background:#f8fafc; color:var(--ink); font-family:system-ui,-apple-system,"Segoe UI",sans-serif; line-height:1.55; }
a { color:var(--brand-dark); text-underline-offset:.18em; }
a:hover { text-decoration-thickness:.15em; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible { outline:3px solid #ea580c; outline-offset:3px; border-radius:.2rem; }
.skip-link { position:absolute; left:1rem; top:-5rem; z-index:10; background:#fff; padding:.75rem 1rem; font-weight:700; }
.skip-link:focus { top:1rem; }
.shell { width:min(calc(100% - 2rem),var(--max)); margin-inline:auto; }
.site-header { background:#082f49; color:#fff; }
.header-row { min-height:4.5rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-block:.75rem; }
.brand { color:#fff; font-size:1.25rem; font-weight:800; text-decoration:none; letter-spacing:.01em; }
.badges { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.45rem; }
.badge { display:inline-block; border:1px solid currentColor; border-radius:999px; padding:.18rem .55rem; font-size:.76rem; font-weight:750; letter-spacing:.03em; }
.badge-alpha { background:var(--alpha); color:#0c4a6e; }
.badge-warning { background:var(--warn); color:#713f12; }
.disclosure { border-bottom:1px solid #facc15; background:var(--warn); color:#422006; padding:.65rem 0; }
.noscript { margin-top:1rem; border:2px solid var(--attention); background:#fff7ed; padding:1rem; }
main { padding-block:2rem 4rem; min-height:65vh; }
.breadcrumbs { margin-bottom:1.5rem; color:var(--muted); font-size:.92rem; }
.breadcrumbs ol { display:flex; flex-wrap:wrap; gap:.4rem; list-style:none; padding:0; margin:0; }
.breadcrumbs li + li::before { content:"/"; margin-right:.4rem; color:#94a3b8; }
.eyebrow { margin:0 0 .35rem; color:var(--brand-dark); font-size:.82rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
h1,h2,h3 { line-height:1.2; text-wrap:balance; }
h1 { max-width:54rem; margin:.2rem 0 .8rem; font-size:clamp(2rem,5vw,3.5rem); }
h2 { margin:0 0 1rem; font-size:clamp(1.35rem,3vw,2rem); }
h3 { margin:.1rem 0 .55rem; font-size:1.08rem; }
.lede { max-width:48rem; color:#334155; font-size:1.14rem; }
.stack > * + * { margin-top:1.25rem; }
.grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.card, .state-panel, .report { border:1px solid var(--line); border-radius:.75rem; background:var(--surface); padding:clamp(1rem,3vw,1.5rem); box-shadow:0 1px 2px rgb(15 23 42 / .06); }
.metric-value { display:block; font-size:2rem; font-weight:800; }
.meta { color:var(--muted); font-size:.92rem; }
.status { display:inline-block; border-left:.3rem solid var(--brand); background:var(--soft); padding:.35rem .6rem; font-weight:700; }
.status.attention { border-color:var(--attention); color:#7c2d12; }
.notice { border-left:.35rem solid #ca8a04; background:#fefce8; padding:.85rem 1rem; }
.actions { display:flex; flex-wrap:wrap; align-items:center; gap:.8rem; margin-top:1.5rem; }
.button { display:inline-block; border:2px solid var(--brand-dark); border-radius:.4rem; background:var(--brand-dark); color:#fff; padding:.7rem 1rem; font-weight:750; text-decoration:none; }
.button:hover { background:#082f49; }
.button.secondary { background:#fff; color:var(--brand-dark); }
.disabled-control { display:inline-block; border:1px dashed #64748b; border-radius:.4rem; background:#e2e8f0; color:#475569; padding:.55rem .8rem; cursor:not-allowed; }
progress { width:100%; height:1rem; accent-color:var(--brand); }
.clean-list { padding-left:1.2rem; }
.clean-list li + li { margin-top:.5rem; }
.definition { display:grid; grid-template-columns:minmax(8rem,12rem) 1fr; gap:.5rem 1rem; margin:0; }
.definition dt { font-weight:750; }
.definition dd { margin:0; overflow-wrap:anywhere; }
.finding { border-left:.4rem solid var(--attention); }
.finding.moderate { border-left-color:#a16207; }
.report { position:relative; overflow:hidden; }
.watermark { color:#7c2d12; font-size:clamp(1.3rem,4vw,2.4rem); font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.location-box { display:grid; min-height:12rem; place-items:center; border:2px dashed #64748b; background:var(--soft); color:#334155; text-align:center; padding:1rem; }
.site-footer { border-top:1px solid var(--line); background:#e2e8f0; color:#334155; padding:1.25rem 0; font-size:.9rem; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:48rem) { .grid,.grid.two { grid-template-columns:1fr; } .header-row { align-items:flex-start; flex-direction:column; } .badges { justify-content:flex-start; } .definition { grid-template-columns:1fr; } .definition dd { margin-bottom:.5rem; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }
