/* Minimal reset, IBM Plex, black ink, and one shared table vocabulary. */
*,*::before,*::after { box-sizing:border-box; }
html { color-scheme:light; -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body,h1,h2,h3,p,figure { margin:0; }
button,input,select { font:inherit; }
button,select { cursor:pointer; }
img,svg { display:block; max-width:100%; }
a { color:inherit; text-underline-offset:4px; }
:focus-visible { outline:2px solid #111; outline-offset:4px; }
:root { --ink:#111210; --muted:#5f625e; --line:#d6d8d3; --soft:#f4f5f1; --mono:"IBM Plex Mono",ui-monospace,monospace; --sans:"IBM Plex Sans",Arial,sans-serif; }
body { min-width:320px; background:#fff; color:var(--ink); font:16px/1.5 var(--sans); }
::selection { background:var(--ink); color:#fff; }
.shell { width:min(100%,1500px); margin-inline:auto; padding-inline:clamp(18px,3.6vw,58px); }
header { display:flex; justify-content:space-between; align-items:center; gap:24px; min-height:88px; border-bottom:1px solid var(--ink); }
.brand { display:flex; align-items:center; gap:14px; white-space:nowrap; text-decoration:none; font:600 11px var(--mono); }
.brand>span { display:grid; place-items:center; min-height:36px; padding-inline:12px; border:1px solid var(--ink); }
nav { display:flex; gap:clamp(12px,2vw,28px); align-self:stretch; }
nav>a { display:flex; align-items:center; padding-top:2px; white-space:nowrap; font:500 10px var(--mono); text-decoration:none; color:var(--muted); border-bottom:2px solid transparent; }
nav>a:is(:hover,[aria-current]) { color:var(--ink); border-color:var(--ink); }
.hero { padding-block:clamp(44px,6vw,88px) 42px; border-bottom:1px solid var(--ink); }
.kicker,.hero-meta,.control-label,legend,.baseline-status,.relative-help,.card-top,.card-footer,.group-control label,.table-heading>span,.scroll-hint,.best-badge,.links,footer { font-family:var(--mono); font-size:11px; font-weight:500; letter-spacing:.04em; }
.kicker { color:var(--muted); margin-bottom:24px; }
.square { display:inline-block; width:6px; height:6px; background:var(--ink); margin-right:8px; vertical-align:middle; }
h1 { font-size:clamp(46px,7vw,108px); font-weight:500; line-height:.98; letter-spacing:-.065em; text-wrap:balance; }
.lede { max-width:780px; margin-top:30px; font-size:clamp(18px,2vw,23px); line-height:1.5; }
.hero-meta { display:flex; flex-wrap:wrap; gap:14px 30px; color:var(--muted); margin-top:32px; }
.controls { display:grid; grid-template-columns:1.15fr 1fr 1.25fr; align-items:end; gap:24px; margin-top:30px; padding:24px; border:1px solid var(--ink); }
.control-label,legend { display:block; color:var(--muted); margin-bottom:12px; }
fieldset { border:0; padding:0; margin:0; min-width:0; }
select { width:100%; min-width:0; appearance:none; border:1px solid var(--ink); border-radius:0; color:var(--ink); background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23111210'/%3E%3C/svg%3E") no-repeat right 18px center; padding:13px 40px 13px 15px; min-height:46px; font:500 11px var(--mono); }
.segmented { display:flex; }
.segmented label { flex:1; position:relative; min-height:46px; display:grid; place-items:center; border:1px solid var(--ink); font:500 11px var(--mono); cursor:pointer; }
.segmented label+label { border-left:0; }
.segmented label:has(input:checked) { background:var(--ink); color:#fff; }
.segmented label:has(input:focus-visible) { outline:2px solid var(--ink); outline-offset:4px; }
.segmented input { position:absolute; width:1px; height:1px; opacity:0; }
.control-summary p { min-height:46px; display:flex; align-items:center; gap:10px; font-size:13px; }
.best-key { display:inline-block; background:var(--ink); color:#fff; padding:4px 7px; font:500 9px var(--mono); }
.baseline-status { margin-block:18px 12px; color:var(--muted); line-height:1.65; }
.relative-help { display:flex; justify-content:space-between; align-items:start; gap:24px; font-size:10px; color:var(--muted); }
.relative-help>span { max-width:880px; }
button { border:1px solid var(--ink); background:#fff; color:var(--ink); padding:12px 15px; font:500 10px var(--mono); white-space:nowrap; border-radius:0; }
button:hover { background:var(--ink); color:#fff; }
button:disabled { opacity:.5; cursor:default; }
.report-section { padding-block:54px; border-bottom:1px solid var(--line); }
.report-section>.kicker { margin-bottom:14px; }
h2 { font-size:clamp(30px,3.8vw,51px); line-height:1.08; letter-spacing:-.045em; font-weight:500; text-wrap:balance; }
.group-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:32px; }
.group-card { display:block; border:1px solid var(--ink); padding:28px; text-decoration:none; }
.group-card:hover { background:var(--soft); }
.card-top,.card-footer { display:flex; align-items:center; justify-content:space-between; }
.card-top { color:var(--muted); }
.card-top>span { font-size:24px; }
.group-card h2 { font-size:clamp(28px,3vw,42px); margin-top:34px; }
.group-card p { max-width:430px; margin-top:15px; color:var(--muted); }
.card-footer { margin-top:28px; padding-top:18px; border-top:1px solid var(--line); }
.comparison-table { margin-top:30px; }
#bfcl-splits,#policy-seeds { margin-top:30px; }
.table-heading { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:16px; }
.table-heading h3 { font-size:21px; line-height:1.2; letter-spacing:-.025em; font-weight:500; }
.table-heading>span { font-size:10px; color:var(--muted); white-space:nowrap; }
.table-scroll { max-width:100%; overflow:auto; border:1px solid var(--ink); }
table { border-collapse:separate; border-spacing:0; width:100%; min-width:800px; table-layout:fixed; }
th,td { padding:23px 22px; border-bottom:1px solid var(--line); text-align:left; vertical-align:middle; }
thead th { background:var(--soft); font:600 13px var(--mono); border-bottom:1px solid var(--ink); }
thead small { display:block; font:400 10px/1.5 var(--mono); color:var(--muted); margin-top:7px; }
th:first-child { width:34%; }
tbody th { font-weight:500; font-size:15px; line-height:1.35; background:#fff; }
tbody th small { display:block; margin-top:10px; font:400 10px/1.5 var(--mono); color:var(--muted); }
tbody tr:last-child :is(th,td) { border-bottom:0; }
.row-note { display:block; margin-top:8px; color:var(--muted); font:400 11px/1.5 var(--sans); }
.value-line { display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; }
.value-line strong { font:500 clamp(17px,1.65vw,23px)/1.15 var(--mono); letter-spacing:-.055em; white-space:nowrap; }
.best { background:var(--soft); box-shadow:inset 2px 0 var(--ink); }
.best-badge { background:var(--ink); color:#fff; font-size:9px; padding:4px 5px; white-space:nowrap; }
.cell-detail { display:block; margin-top:9px; font:400 11px var(--mono); color:var(--muted); }
.scroll-hint { display:none; margin-top:12px; color:var(--muted); font-size:9px; }
.table-note,.note { max-width:1000px; margin-top:18px; color:var(--muted); font-size:14px; line-height:1.65; overflow-wrap:anywhere; }
.group-control { display:grid; grid-template-columns:200px minmax(220px,350px) 1fr; align-items:center; gap:18px; margin-top:28px; padding:22px; border:1px solid var(--line); }
.group-control label { color:var(--muted); }
.group-control p { color:var(--muted); font-size:12px; }
.prose { display:grid; gap:22px; max-width:980px; margin-top:30px; font-size:18px; line-height:1.65; overflow-wrap:anywhere; }
.setup-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:32px; gap:24px; }
.setup-grid article { padding:26px; border:1px solid var(--line); }
.setup-grid h3 { font-size:25px; line-height:1.15; font-weight:500; letter-spacing:-.03em; }
.setup-grid p:not(.kicker) { margin-top:18px; color:var(--muted); font-size:15px; line-height:1.6; overflow-wrap:anywhere; }
code { font:400 .78em var(--mono); overflow-wrap:anywhere; }
.links { display:flex; flex-wrap:wrap; gap:18px 30px; margin-top:30px; }
footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:18px; padding-block:32px; font-size:10px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.noscript { max-width:900px; margin:30px auto; padding:20px; border:1px solid var(--ink); }
@media (width < 1100px) { header { align-items:start; flex-direction:column; gap:20px; padding-block:20px 0; } nav { min-height:44px; justify-content:space-between; } .controls { grid-template-columns:1fr 1fr; } .control-summary { grid-column:1/-1; } .control-summary p { min-height:auto; } .table-heading>span { font-size:9px; } }
@media (width < 850px) { .scroll-hint { display:block; } .group-control { grid-template-columns:1fr; gap:12px; } .setup-grid { grid-template-columns:1fr; } }
@media (width < 600px) {
  nav { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; min-height:86px; }
  nav>a { justify-content:center; padding-block:10px; font-size:9px; }
  .hero { padding-block:44px 30px; } .hero-meta { font-size:9px; gap:10px 20px; } .kicker { font-size:9px; }
  .controls { grid-template-columns:1fr; padding:20px; gap:20px; } .control-summary { grid-column:auto; } .control-summary p { font-size:12px; }
  .relative-help { flex-direction:column; gap:16px; } .baseline-status { font-size:10px; }
  .report-section { padding-block:38px; } .group-grid { grid-template-columns:1fr; gap:16px; } .group-card { padding:24px; }
  .table-heading { flex-direction:column; align-items:start; gap:8px; } table { min-width:720px; } th,td { padding:19px 16px; } th:first-child { width:30%; }
  .prose { font-size:16px; } .group-control { padding:18px; } footer { font-size:9px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
