body { margin:0; background:var(--bg,#f7f8fc); color:var(--text,#141820); font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif; line-height:1.6; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
a { color:#195ed9; }
button,select,input { font:inherit; }
button,select { cursor:pointer; }
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible { outline:3px solid #1f6fff; outline-offset:4px; }
.skip-link { position:absolute; top:-90px; left:16px; z-index:100; background:#fff; padding:12px; }
.skip-link:focus { top:12px; }
.wrap { width:min(1180px,calc(100% - 40px)); margin:0 auto; }
.hero { padding:48px 0 36px; max-width:890px; }
.crumb,.event-note { font-size:13px; color:#596474; }
.crumb { margin-bottom:28px; }
.crumb a { color:inherit; text-decoration:none; }
.eyebrow { color:#195ed9; font-size:11px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
h1 { margin:12px 0 18px; font-size:clamp(36px,5vw,62px); line-height:1.06; letter-spacing:-2.2px; }
.lead { max-width:760px; color:#526070; font-size:18px; margin:0 0 16px; }
.journey { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:26px; font-size:13px; font-weight:700; }
.journey span { border:1px solid #dce3ef; border-radius:8px; padding:8px 14px; background:#fff; }
.journey b { color:#98a7bc; }
.tool-layout { display:grid; grid-template-columns:minmax(0,1fr) 316px; gap:28px; align-items:start; padding:12px 0 48px; }
.list-intro { display:flex; align-items:start; justify-content:space-between; gap:18px; margin-bottom:24px; }
.list-intro h2 { font-size:23px; line-height:1.25; letter-spacing:-.5px; margin:0 0 8px; }
.list-intro p { color:#596474; margin:0; max-width:480px; font-size:14px; }
.list-intro a { display:inline-block; }
.filter-label { flex:none; color:#596474; font-size:12px; }
select { display:block; color:#27354a; background:#fff; border:1px solid #cbd4e1; border-radius:8px; padding:9px 28px 9px 10px; font-size:13px; max-width:100%; }
.filter-label select { margin-top:4px; }
.check-group { background:#fff; border:1px solid #dfe5ef; border-radius:14px; margin-bottom:18px; overflow:hidden; }
.group-heading { display:flex; gap:14px; padding:22px 22px 18px; border-bottom:1px solid #e8edf4; }
.group-number { color:#195ed9; font-size:12px; font-weight:800; padding-top:4px; }
.group-heading h2 { margin:0 0 5px; font-size:20px; letter-spacing:-.4px; line-height:1.3; }
.group-heading p { color:#637082; font-size:13px; margin:0; }
.check { display:grid; grid-template-columns:minmax(0,1fr) 145px; gap:18px; align-items:start; padding:20px 22px; border-bottom:1px solid #edf0f5; border-left:3px solid transparent; }
.check:last-child { border-bottom:0; }
.check[data-state="fix"] { border-left-color:#c74639; background:#fffbfa; }
.check[data-state="passed"] { border-left-color:#25805b; }
.check[data-state="na"] { border-left-color:#a6afbd; }
.check label { display:block; font-size:14px; font-weight:700; line-height:1.45; margin-bottom:7px; }
.check p { color:#637082; font-size:13px; margin:0; line-height:1.6; }
.source-link { display:inline-block; font-size:11px; }
.summary { position:sticky; top:92px; border:1px solid #d8e0ed; border-radius:14px; background:#fff; padding:24px; }
.summary-top h2 { font-size:24px; letter-spacing:-.6px; line-height:1.2; margin:10px 0 18px; }
#review-progress { font-size:13px; color:#526070; margin-bottom:8px; }
progress { display:block; width:100%; height:7px; accent-color:#1f6fff; }
.counts { display:grid; grid-template-columns:1fr 1fr; gap:18px 16px; margin:24px 0 18px; }
.counts dt { color:#637082; font-size:12px; }
.counts dd { margin:3px 0 0; font-size:26px; font-weight:750; line-height:1.2; }
#count-fix { color:#a7352a; }
#count-passed { color:#226647; }
.small { color:#637082; font-size:12px; }
.button { display:inline-block; border:1px solid transparent; border-radius:8px; text-align:center; text-decoration:none; padding:12px 15px; font-size:13px; font-weight:750; line-height:1.4; }
.summary .button { width:100%; margin-top:10px; }
.primary { color:#fff; background:#1c60dc; }
.primary:hover { background:#174eb3; }
.secondary { color:#27354a; background:#fff; border-color:#cbd4e1; }
.secondary:hover { background:#f2f5fa; }
.text-button { border:0; padding:8px 0; background:none; color:#526070; text-decoration:underline; font-size:12px; }
.scope-note { border-top:1px solid #e1e7f0; padding-top:16px; margin:16px 0 0; color:#637082; font-size:12px; }
.reset-confirm { padding:12px; background:#f3f6fb; border-radius:8px; font-size:12px; }
.reset-confirm p { margin:0; }
#link-fallback input { width:100%; padding:8px; margin-top:6px; font-size:11px; border:1px solid #cbd4e1; }
.notice { background:#eef3fc; border-radius:10px; padding:20px; font-size:14px; }
.next-step { border-top:1px solid #dce3ed; padding:36px 0 56px; display:grid; grid-template-columns:1.25fr 1fr; gap:70px; }
.next-step h2 { font-size:28px; letter-spacing:-.7px; line-height:1.2; margin:10px 0 14px; }
.next-step p { color:#596474; font-size:14px; margin:0 0 20px; }
.more-tools h3 { font-size:14px; margin:0 0 16px; }
.more-tools a { display:block; text-decoration:none; font-size:14px; padding:12px 0; border-bottom:1px solid #e1e7f0; }
footer { border-top:1px solid #dce3ed; padding:28px 0 40px; color:#637082; font-size:13px; }
.footer-inner { width:min(1180px,calc(100% - 40px)); margin:0 auto; display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; }
.footer-inner a { text-decoration:none; font-weight:700; }
@media (max-width:1000px) { .tool-layout { grid-template-columns:minmax(0,1fr) 280px; gap:20px; } .check { grid-template-columns:1fr; gap:12px; } .check select { width:160px; } .summary { padding:20px; } }
@media (max-width:760px) { .wrap { width:calc(100% - 32px); } .hero { padding-top:28px; } h1 { letter-spacing:-1.4px; } .lead { font-size:16px; } .tool-layout { display:flex; flex-direction:column; } .summary { order:-1; position:static; width:100%; } .summary-top h2 { font-size:22px; } .counts { grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; } .counts dt { font-size:10px; } .counts dd { font-size:23px; } .summary .button { width:auto; max-width:100%; margin-right:6px; } .scope-note { font-size:11px; } .checklist { width:100%; min-width:0; } .list-intro { flex-wrap:wrap; } .filter-label { display:flex; align-items:center; gap:10px; } .filter-label select { margin:0; } .group-heading,.check { padding:18px; } .next-step { grid-template-columns:1fr; gap:28px; } .journey { gap:7px; font-size:11px; } .journey span { padding:7px 9px; } }
@media print { .site-nav,.hero .crumb,.filter-label,.summary button,#link-fallback,.reset-confirm,.next-step,footer,.skip-link { display:none !important; } body { background:#fff; } .wrap { width:100%; } .hero { padding:0 0 16px; } h1 { font-size:30px; } .tool-layout { display:block; } .summary { position:static; margin-bottom:20px; } .check-group { break-inside:avoid; } .check { grid-template-columns:1fr 150px; padding:12px; } .check-group[hidden],.check[hidden] { display:block !important; } .check-group[hidden] .check,.check[hidden] { display:grid !important; } select { appearance:none; border:0; padding:0; } .source-link { display:none; } }
