/* AI System Characterization Checker: a blueprint sheet. Paper, ink, one signal blue. */
:root{
  --paper:#f6f8fb;
  --panel:#ffffff;
  --ink:#0d1b2a;
  --ink2:#26384d;
  --muted:#4f5f73;
  --line:#cfd7e2;
  --blue:#1b45c9;
  --blue2:#12308c;
  --amber:#9a5b00;
  --amberbg:#fff4de;
  --wash:#e9eef7;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --sans:"Helvetica Neue",Helvetica,Arial,"Segoe UI",sans-serif;
  --serif:Charter,"Bitstream Charter","Iowan Old Style",Georgia,serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.64 var(--serif);-webkit-font-smoothing:antialiased}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--blue2)}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;background:#fff;padding:10px 14px;z-index:99}
.top{background:var(--panel);border-bottom:2px solid var(--ink)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:26px;min-height:76px}
.brand{color:var(--ink);text-decoration:none;font:700 18px/1.2 var(--sans);display:inline-flex;align-items:center;gap:12px;min-height:44px;letter-spacing:-.01em}
.brand b{color:var(--blue)}
.mark{display:inline-grid;grid-template-columns:1fr 1fr;gap:3px;width:22px;height:22px;flex:none}
.mark i{background:var(--ink);display:block}
.mark i:nth-child(2){background:var(--blue)}
.mark i:nth-child(3){background:var(--blue)}
.topnav{display:flex;flex-wrap:wrap;gap:2px 18px}
.topnav a{color:var(--ink2);text-decoration:none;font:500 15px/1.2 var(--sans);min-height:44px;display:inline-flex;align-items:center;padding:6px 0;border-bottom:2px solid transparent}
.topnav a:hover,.topnav a[aria-current=page]{color:var(--blue2);border-bottom-color:var(--blue)}
.designation{background:var(--blue);color:#fff;font:500 14px/1.35 var(--sans)}
.designation .wrap{display:flex;flex-wrap:wrap;gap:6px 22px;padding-top:10px;padding-bottom:10px;align-items:center}
.designation strong{font-weight:700}
.chip{background:#fff;color:var(--blue2);padding:3px 10px;font-weight:700;font-size:14px;letter-spacing:.02em}
main{display:block}
h1{font:700 46px/1.06 var(--sans);letter-spacing:-.025em;margin:0 0 16px;max-width:20ch}
h2{font:700 28px/1.18 var(--sans);letter-spacing:-.015em;margin:36px 0 12px}
h3{font:700 20px/1.25 var(--sans);margin:22px 0 6px}
p{margin:0 0 14px}
ul,ol{margin:0 0 16px;padding-left:24px}
li{margin:0 0 8px}
.kicker{font:700 14px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--blue2);margin:0 0 10px}
.crumbs{font:500 14px/1.35 var(--sans);color:var(--muted);margin:0 0 14px}
.crumbs a{display:inline-block;min-height:24px;padding:2px 0}
.answerbox{border:1px solid var(--ink);border-left:6px solid var(--blue);background:var(--panel);padding:18px 20px;margin:0 0 22px}
.answerbox p{margin:0;font-size:19px;line-height:1.55}
.hero{padding:48px 0 42px;border-bottom:1px solid var(--line)}
.herogrid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.herotext h1{font-size:54px;max-width:16ch}
.standfirst{font-size:20px;line-height:1.55;color:var(--ink2);max-width:54ch}
.byline{font-size:15px;color:var(--muted);margin-top:16px}
.heroactions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border:2px solid var(--ink);background:#fff;color:var(--ink);font:700 16px/1.2 var(--sans);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--wash);color:var(--ink)}
.btn.red{background:var(--blue);border-color:var(--blue);color:#fff}
.btn.red:hover{background:var(--blue2);border-color:var(--blue2);color:#fff}
.btn.alt{background:#fff;color:var(--ink)}
button.btn{font-family:var(--sans)}
.stagebar{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;border-top:1px solid var(--line);padding-top:14px;margin-top:24px;font:500 14px/1.45 var(--sans);color:var(--ink2)}
.stagebar b{display:block;font:700 14px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.heropanel{border:2px solid var(--ink);background:var(--panel);padding:18px}
.panellabel{font:700 14px/1.3 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--blue2);margin:0 0 12px}
.minimatrix{width:100%;border-collapse:collapse;table-layout:fixed}
.minimatrix th,.minimatrix td{border:1px solid var(--line);padding:9px 4px;font:600 14px/1.2 var(--mono);text-align:center;color:var(--muted)}
.minimatrix thead th{background:var(--wash);color:var(--ink2)}
.minimatrix tbody th{text-align:left;padding-left:6px;color:var(--ink);font-size:14px;width:24%}
.minimatrix td{height:34px;background:#fff}
.minimatrix td:hover{background:var(--amberbg)}
.panelnote{font:500 15px/1.5 var(--sans);color:var(--muted);margin:12px 0 0}
.herofig{margin:16px 0 0}
.herofig img{display:block;width:100%;height:auto;border:1px solid var(--line)}
.herofig figcaption{font:500 14px/1.4 var(--sans);color:var(--muted);margin-top:7px}
.section{padding:34px 0;border-bottom:1px solid var(--line)}
.section>div>h2:first-child{margin-top:0}
.band{background:var(--ink);color:#fff;padding:40px 0;border-bottom:1px solid var(--ink)}
.band h2{color:#fff;margin-top:0}
.band a{color:#c7d6ff}
.band .sub{color:#dce4f2;font-size:18px;max-width:72ch}
.band .card{background:#12283f;border-color:#3a5470;color:#e8eef9}
.band .card h3 a{color:#fff}
.band .card p{color:#cfdbeb}
.band .card .num{color:#9db8e8}
.note{background:var(--amberbg);border-left:5px solid var(--amber);padding:14px 16px;margin:0 0 20px;font-size:16px}
.note strong{color:#5e3700}
.grid2,.grid3,.grid4{display:grid;gap:18px;margin:0 0 18px}
.grid2{grid-template-columns:1fr 1fr}
.grid3{grid-template-columns:repeat(3,1fr)}
.grid4{grid-template-columns:repeat(4,1fr)}
.card{border:1px solid var(--ink);background:var(--panel);padding:18px}
.card .num{display:block;font:700 14px/1.3 var(--mono);letter-spacing:.08em;color:var(--blue2);text-transform:uppercase;margin-bottom:8px}
.card h3{margin-top:0}
.card h3 a{color:var(--ink);text-decoration:none}
.card h3 a:hover{color:var(--blue2);text-decoration:underline}
.card p{font-size:15.5px;line-height:1.55;color:var(--ink2);margin:0}
.card .more{display:inline-block;margin-top:10px;font:700 14px/1.3 var(--sans);min-height:24px}
.prose{max-width:78ch}
.prose p,.prose li{max-width:74ch}
.prose h2{max-width:26ch}
.tablewrap{overflow-x:auto;margin:0 0 22px;border:1px solid var(--line);background:#fff}
table.data{width:100%;border-collapse:collapse;font:500 15px/1.5 var(--sans)}
table.data caption{text-align:left;font:700 13px/1.4 var(--sans);color:var(--muted);padding:12px 14px;border-bottom:1px solid var(--line);background:var(--paper)}
table.data th,table.data td{border-bottom:1px solid var(--line);padding:11px 14px;text-align:left;vertical-align:top}
table.data thead th{background:var(--wash);font:700 14px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}
table.data tbody tr:last-child td{border-bottom:0}
table.data a{font-weight:700}
.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 24px;font:600 14px/1.3 var(--sans)}
.tags li{border:1px solid var(--line);background:#fff;padding:5px 10px;color:var(--ink2)}
.tags li.claim{border-color:var(--blue);color:var(--blue2);background:#eef2ff}
.updated{font:500 14px/1.5 var(--sans);color:var(--muted);margin-top:26px;max-width:80ch}
.small{font:500 14px/1.55 var(--sans);color:var(--muted)}
.mono{font-family:var(--mono);font-size:14px;overflow-wrap:anywhere;color:var(--muted)}
.src{border:1px solid var(--line);background:#fff;padding:14px 16px;margin:22px 0}
.src p{font:500 14px/1.55 var(--sans);margin:0 0 8px}
footer{background:var(--ink);color:#dbe3ee;padding:38px 0 30px;font:500 14.5px/1.55 var(--sans)}
.footgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:32px}
footer h2{font:700 14px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#9db8e8;margin:0 0 10px}
footer p{margin:0 0 8px}
footer a{color:#e8eef9;display:inline-block;min-height:24px;padding:1px 0}
footer a:hover{color:#fff}
.credit,.legal{font-size:14px;color:#b7c5d8}
.legal{margin-top:24px;border-top:1px solid #3a5470;padding-top:16px;max-width:100ch}

/* unit pages */
.unit{padding:26px 0 40px}
.unitnav{display:flex;justify-content:space-between;gap:18px;font:600 14px/1.4 var(--sans);border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:20px}
.unitnav a{max-width:46%;min-height:24px}
.unithead{border-bottom:2px solid var(--ink);padding-bottom:20px;margin-bottom:26px}
.unithead .code{font:700 14px/1.3 var(--mono);letter-spacing:.1em;color:var(--blue2);margin:0 0 8px}
.unithead .code span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:14px;margin-left:10px}
.unithead h1{max-width:24ch}
.lede{font-size:20px;line-height:1.55;color:var(--ink2);max-width:66ch}
.unitgrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:44px;align-items:start}
.unitmain{min-width:0}
.frow{display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px;border-top:1px solid var(--line);padding:18px 0}
.frow h2{font:700 12px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:2px 0 0}
.frow>div{min-width:0}
.frow p{margin:0 0 12px}
.frow p:last-child{margin-bottom:0}
.probe{border-left:6px solid var(--amber);background:var(--amberbg);padding:16px 18px;margin:20px 0 0}
.probe span{display:block;font:700 14px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#6b3f00;margin-bottom:6px}
.probe p{margin:0;font-size:18px;line-height:1.5}
table.evid{width:100%;border-collapse:collapse;font:500 15px/1.5 var(--sans);border:1px solid var(--line)}
table.evid caption{text-align:left;font:700 14px/1.4 var(--sans);color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line);background:var(--paper)}
table.evid th,table.evid td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
table.evid th{width:52%;font-weight:600;color:var(--ink)}
table.evid tr:last-child th,table.evid tr:last-child td{border-bottom:0}
.gaps li{margin-bottom:9px}
.qhead{font:700 26px/1.2 var(--sans);margin:34px 0 12px}
.faq{display:grid;grid-template-columns:1fr;gap:0;margin:0 0 22px;border-top:1px solid var(--line)}
.faq dt{font:700 17px/1.4 var(--sans);padding:12px 0 4px;border-top:1px solid var(--line)}
.faq dd{margin:0 0 12px;padding:0 0 4px}
.xref{list-style:none;padding:0;margin:0 0 22px;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.xref li{border:1px solid var(--line);background:#fff;padding:10px 12px;margin:0;font:500 15px/1.45 var(--sans)}
.xref a{text-decoration:none;display:block;min-height:24px}
.unitaside{position:sticky;top:16px}
.sidecard{border:1px solid var(--ink);background:#fff;padding:16px;margin:0 0 16px}
.sidecard h2{font:700 14px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.sidecard p{font:500 14px/1.55 var(--sans);margin:0 0 8px}
.sidecard .btn{width:100%;margin-top:6px}
.sidecard.cta{background:var(--wash);border-color:var(--blue)}

/* forms */
form#check{max-width:820px}
.q{border:1px solid var(--line);background:#fff;padding:16px 18px;margin:0 0 14px}
.q legend{font:700 17px/1.4 var(--sans);padding:0 6px}
.q label{display:block;font:600 14px/1.4 var(--sans);margin:6px 0 6px}
.q select,.q input[type=date],.q input[type=email],.q input[type=text]{width:100%;max-width:420px;min-height:44px;padding:9px 10px;border:1px solid var(--ink2);background:#fff;font:500 16px/1.3 var(--sans);color:var(--ink)}
.hint{font:500 14px/1.5 var(--sans);color:var(--muted);margin:6px 0 0}
.checkgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
label.check{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);padding:10px 12px;background:var(--paper);font:500 14.5px/1.45 var(--sans);margin:0;cursor:pointer;min-height:44px}
label.check input{margin-top:2px;width:24px;height:24px;flex:none}
label.check b{font-weight:700}
.reading{border:2px solid var(--ink);background:#fff;padding:20px;margin:22px 0}
.pill{display:inline-block;font:700 14px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;background:var(--blue);color:#fff;padding:5px 9px;margin-bottom:10px}
.reading h2{margin:0 0 8px}
.reading h3{font:700 18px/1.3 var(--sans);margin:18px 0 6px}
.matrixout{width:100%;border-collapse:collapse;margin:14px 0;font:600 14px/1.2 var(--mono)}
.matrixout th,.matrixout td{border:1px solid var(--line);padding:8px 5px;text-align:center}
.matrixout thead th{background:var(--wash);color:var(--ink2);font-size:14px}
.matrixout tbody th{text-align:left;padding-left:8px;font-size:14px;color:var(--ink)}
.matrixout td.on{background:#e6ecff;color:var(--blue2)}
.matrixout td.gap{background:var(--amberbg);color:#6b3f00}
.matrixout td.na{background:#f1f3f6;color:#4f5f73}
.matrixout td span{display:block;font-size:14px;font-weight:500}

/* matrix page */
.matrixdemo{margin-top:18px}
table.matrix{width:100%;border-collapse:collapse;font:600 13px/1.3 var(--sans)}
table.matrix caption{text-align:left;font:700 13px/1.4 var(--sans);color:var(--muted);padding:12px 14px;border-bottom:1px solid var(--line);background:var(--paper)}
table.matrix th,table.matrix td{border:1px solid var(--line);padding:12px 8px;text-align:center}
table.matrix thead th{background:var(--wash);font:700 14px/1.25 var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--ink2)}
table.matrix tbody th{text-align:left;background:#fff;width:20%;font:700 13px/1.3 var(--sans)}
table.matrix td.cell{height:44px;background:#fff}
table.matrix td.cell:hover{background:var(--amberbg)}
table.cw tbody.cwgroup tr.cwhead th{background:var(--ink);color:#fff;font:700 13px/1.4 var(--sans);padding:10px 14px;text-align:left}
table.cw tbody.cwgroup tr.cwhead th span{font:500 12px/1.3 var(--sans);color:#c7d6ff;margin-left:8px}
table.cw .ctitle{font-weight:700;color:var(--ink)}
.offers{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:0 0 18px}
.offer{border:2px solid var(--ink);background:#fff;padding:22px}
.offer .tag{display:inline-block;font:700 14px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--blue2);border:1px solid var(--blue);padding:4px 8px}
.offer .price{font:700 46px/1.05 var(--sans);letter-spacing:-.03em;margin:12px 0 2px}
.offer .per{font:500 15px/1.55 var(--sans);color:var(--ink2);min-height:72px}
.offer ul{padding-left:20px;font:500 15px/1.5 var(--sans);margin:0 0 18px}
.offer .btn{width:100%}

/* responsive */
@media (max-width:980px){
  .herogrid,.unitgrid{grid-template-columns:1fr}
  .herotext h1{font-size:44px;max-width:20ch}
  .unitaside{position:static}
  .stagebar{grid-template-columns:1fr 1fr}
  .grid3,.grid4{grid-template-columns:1fr 1fr}
  .footgrid{grid-template-columns:1fr 1fr}
  .frow{grid-template-columns:1fr;gap:6px}
  .frow h2{margin-top:6px}
  .xref{grid-template-columns:1fr}
}
@media (max-width:680px){
  .wrap{padding:0 16px}
  h1{font-size:36px}
  .herotext h1{font-size:36px}
  h2{font-size:25px}
  .top .wrap{flex-direction:column;align-items:flex-start;gap:8px;padding-top:12px;padding-bottom:10px}
  .topnav{gap:0 14px}
  .topnav a{font-size:14px}
  .grid2,.grid3,.grid4,.offers,.footgrid,.checkgrid,.stagebar{grid-template-columns:1fr}
  .answerbox p,.lede,.standfirst{font-size:17px}
  .unitnav{flex-direction:column;gap:6px}
  .unitnav a{max-width:100%}
  .offer .price{font-size:40px}
  table.data{font-size:14px}
  table.data th,table.data td{padding:9px 10px}
}
@media print{.top,.designation,footer,.heroactions,.unitnav{display:none}body{background:#fff}}

/* R-182: inline links keep a 24px target without breaking paragraphs */
.updated a,.src a,.prose a[href^="mailto"],.footgrid a,.credit a,footer a{display:inline-block;min-height:24px;padding:1px 0}
.card h3 a,.card .more,.prose a,.byline a,.herotext a{display:inline-block;min-height:24px;padding:1px 0}
p a{display:inline-block;min-height:24px;padding:1px 0}
#provenance a,#grounding a{display:inline-block;min-height:24px;padding:1px 0}
.trustline{margin:0 0 8px;font-size:17px;line-height:1.55;max-width:60ch}
.groundbadges{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;list-style:none}
.groundbadges span{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border:1px solid var(--line);background:#fff;font:600 14px/1.3 var(--sans);color:var(--ink2)}
.minimatrix thead th{overflow-wrap:anywhere}
