:root{
  color-scheme:light dark;
  --field:#EEF0EB; --panel:#F6F8F4; --card:#FFFFFF;
  --ink:#0E1214; --mid:#4C5457; --faint:#6C7472;
  --rule:#CBD1C9; --rule-soft:#DEE3DC;
  --signal:#0A3FC2; --signal-soft:#E5EBFA; --on-signal:#FFFFFF;
  --warn:#7A4E0C; --warn-soft:#F5EEDF;
  --btn-bg:#0E1214; --btn-fg:#FFFFFF;
}
@media (prefers-color-scheme: dark){
  :root{
    --field:#121618; --panel:#1B2124; --card:#232A2D;
    --ink:#EEF1EF; --mid:#AEB6B5; --faint:#8C9593;
    --rule:#394145; --rule-soft:#2C3336;
    --signal:#8FB0FF; --signal-soft:#1D2A44; --on-signal:#0D1523;
    --warn:#E5BA6D; --warn-soft:#2E2718;
    --btn-bg:#8FB0FF; --btn-fg:#0D1523;
  }
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--field);color:var(--ink);font-family:'Instrument Sans',system-ui,sans-serif;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
h1,h2,h3{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;letter-spacing:-.02em;line-height:1.1;text-wrap:balance}
a{color:var(--signal);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
img{max-width:100%;height:auto;display:block}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace}
.tag{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:var(--faint)}

.top{background:var(--card);border-bottom:1px solid var(--rule)}
.topin{max-width:1080px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.mark{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:18px;letter-spacing:-.03em;line-height:1.1;color:var(--ink);text-decoration:none}
.mark span{display:block;font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:400;letter-spacing:.16em;color:var(--faint);margin-top:4px;text-transform:uppercase}
.topr{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.chip{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.06em;color:var(--signal);background:var(--signal-soft);padding:8px 12px}
.btn{display:inline-block;background:var(--btn-bg);color:var(--btn-fg);padding:11px 16px;font-weight:600;font-size:14px;text-decoration:none}
.btn:hover{opacity:.88}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--rule)}

.wrap{max-width:760px;margin:0 auto;padding:40px 24px 120px}
.crumbs{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:.06em;color:var(--faint);margin-bottom:22px}
.crumbs a{color:var(--faint)}
h1{font-size:clamp(30px,5vw,48px);margin-bottom:16px}
.dek{font-size:19px;line-height:1.55;color:var(--mid)}
.byline{margin-top:18px;font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--faint);letter-spacing:.04em}
article h2{font-size:clamp(23px,3vw,30px);margin:46px 0 12px}
article h3{font-size:18px;font-weight:700;letter-spacing:-.01em;margin:26px 0 6px}
article p + p{margin-top:14px}
article ul,article ol{margin:12px 0 0 22px}
article li{margin-bottom:6px}
.answer{margin-top:28px;background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--signal);padding:20px 22px}
.answer .tag{color:var(--signal)}
.answer p{margin-top:6px}
.callout{background:var(--warn-soft);border-left:3px solid var(--warn);padding:20px 22px;margin-top:24px}
.callout .tag{color:var(--warn)}
.callout p{margin-top:6px}
.tbl{width:100%;border-collapse:collapse;margin-top:20px;background:var(--card);border:1px solid var(--rule);font-size:15px}
.tbl th{text-align:left;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--faint);font-weight:400;padding:11px 14px;border-bottom:1px solid var(--rule)}
.tbl td{padding:12px 14px;border-bottom:1px solid var(--rule-soft);vertical-align:top}
.tbl td:first-child{font-weight:600}
.tbl td.n{font-family:'IBM Plex Mono',monospace;color:var(--signal);white-space:nowrap}
.tbl tr:last-child td{border-bottom:0}
.tblwrap{overflow-x:auto}
figure{margin-top:24px;border:1px solid var(--rule);background:var(--card)}
figure img{width:100%}
figcaption{padding:11px 14px;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--faint);border-top:1px solid var(--rule-soft)}
.note{font-size:14.5px;color:var(--mid);margin-top:14px}
.src{margin-top:40px;padding-top:18px;border-top:1px solid var(--rule);font-size:14px;color:var(--mid)}
.src h2{font-size:16px;margin:0 0 8px}
.src li{margin-bottom:4px}

.cta{margin-top:48px;background:var(--card);border:1px solid var(--rule);padding:26px}
.cta h2{font-size:24px;margin:0 0 8px}
.cta p{color:var(--mid)}
.cta .row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.more{margin-top:40px}
.more h2{font-size:20px;margin:0 0 10px}
.more ul{list-style:none;margin:0;border:1px solid var(--rule);background:var(--card)}
.more li{margin:0;border-bottom:1px solid var(--rule-soft)}
.more li:last-child{border-bottom:0}
.more a{display:block;padding:14px 18px;text-decoration:none;font-weight:600;color:var(--ink)}
.more a:hover{background:var(--panel)}
.more a span{display:block;font-weight:400;font-size:14px;color:var(--mid);margin-top:2px}

.hub{list-style:none;margin:28px 0 0;border:1px solid var(--rule);background:var(--card)}
.hub li{border-bottom:1px solid var(--rule-soft);margin:0}
.hub li:last-child{border-bottom:0}
.hub a{display:block;padding:20px 22px;text-decoration:none;color:var(--ink)}
.hub a:hover{background:var(--panel)}
.hub strong{display:block;font-family:'Bricolage Grotesque',sans-serif;font-size:20px;letter-spacing:-.02em;line-height:1.2}
.hub span{display:block;font-size:15px;color:var(--mid);margin-top:4px}

.foot{border-top:1px solid var(--rule);background:var(--card)}
.footin{max-width:760px;margin:0 auto;padding:22px 24px;font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--faint);line-height:1.6}
.footin a{color:var(--faint)}

@media(max-width:560px){
  body{font-size:16px}
  .topin{padding:12px 16px}
  .chip{display:none}
  .wrap{padding:28px 16px 110px}
  .tbl{font-size:13.5px}
  .tbl td,.tbl th{padding:10px}
  .cta{padding:20px}
  .footin{padding:20px 16px}
}
@media (prefers-contrast: more){:root{--mid:var(--ink);--faint:var(--ink);--rule:var(--ink)}}
