:root{
  --paper:#F5F7F9; --paper-2:#FFFFFF; --ink:#12161E; --muted:#586274;
  --line:#DCE1E8; --accent:#0E7C86; --accent-soft:#0e7c8618; --verdict:#C1392B;
  --shadow:0 1px 2px rgba(16,22,32,.05), 0 8px 30px rgba(16,22,32,.05);
}
@media (prefers-color-scheme:dark){
  :root{
    --paper:#0D1117; --paper-2:#151B24; --ink:#E8EDF3; --muted:#93A0B1;
    --line:#222A35; --accent:#37C6D0; --accent-soft:#37c6d016; --verdict:#EA7160;
    --shadow:0 1px 2px rgba(0,0,0,.3), 0 10px 34px rgba(0,0,0,.35);
  }
}
:root[data-theme="light"]{
  --paper:#F5F7F9; --paper-2:#FFFFFF; --ink:#12161E; --muted:#586274;
  --line:#DCE1E8; --accent:#0E7C86; --accent-soft:#0e7c8618; --verdict:#C1392B;
}
:root[data-theme="dark"]{
  --paper:#0D1117; --paper-2:#151B24; --ink:#E8EDF3; --muted:#93A0B1;
  --line:#222A35; --accent:#37C6D0; --accent-soft:#37c6d016; --verdict:#EA7160;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  line-height:1.68; font-size:19px;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
.mono{font-family:ui-monospace,"SF Mono","JetBrains Mono","Cascadia Code",Consolas,monospace}
.wrap{max-width:min(92vw,720px); margin:0 auto; padding:0 20px}
a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline}

header.site{border-bottom:1px solid var(--line); background:var(--paper-2)}
.masthead{display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:16px 0}
.brand{font-size:.92rem; font-weight:600; letter-spacing:-.01em; color:var(--ink)}
.brand .dot{color:var(--verdict)}
.back{font-family:ui-monospace,Consolas,monospace; font-size:.72rem; letter-spacing:.04em; color:var(--muted)}

.eyebrow{
  font-family:ui-monospace,Consolas,monospace; font-size:.7rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--accent); font-weight:600;
}
article{padding:52px 0 8px}
article h1{font-size:clamp(1.9rem,5vw,2.7rem); line-height:1.12; letter-spacing:-.015em; text-wrap:balance; margin:.5rem 0 0; font-weight:600}
article .lede{font-size:1.2rem; color:var(--muted); margin:1.1rem 0 0}
article h2{font-size:1.45rem; letter-spacing:-.01em; margin:2.4rem 0 .5rem; font-weight:600; text-wrap:balance}
article p{margin:.9rem 0}
article strong{font-weight:600}
article em{font-style:italic}

.tablewrap{overflow-x:auto; margin:1.4rem 0}
table{border-collapse:collapse; width:100%; font-size:.94rem; min-width:520px}
th,td{text-align:left; padding:10px 14px; border-bottom:1px solid var(--line); vertical-align:top}
th{font-family:ui-monospace,Consolas,monospace; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); font-weight:600}
td.num{font-family:ui-monospace,Consolas,monospace; font-variant-numeric:tabular-nums}
.tag-bad{color:var(--verdict); font-weight:600}
.tag-good{color:var(--accent); font-weight:600}

.callout{
  background:var(--accent-soft); border:1px solid var(--line); border-left:3px solid var(--accent);
  border-radius:9px; padding:16px 20px; margin:1.6rem 0; font-size:.98rem;
}
.callout .lbl{font-family:ui-monospace,Consolas,monospace; font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); font-weight:600; display:block; margin-bottom:6px}

.repro{
  background:var(--paper-2); border:1px solid var(--line); border-radius:9px;
  padding:16px 18px; margin:2rem 0; font-family:ui-monospace,Consolas,monospace;
  font-size:.82rem; line-height:1.65; color:var(--muted); overflow-x:auto;
}
.repro .lbl{color:var(--accent); letter-spacing:.1em; text-transform:uppercase; font-size:.66rem}
.repro code{color:var(--ink)}

.cta{
  border-top:1px solid var(--line); margin-top:3rem; padding:2.4rem 0 3.2rem; text-align:center;
}
.cta h3{font-size:1.35rem; margin:0 0 8px; letter-spacing:-.01em}
.cta p{color:var(--muted); margin:0 auto 20px; max-width:48ch}
.btn-row{display:flex; flex-wrap:wrap; gap:12px; justify-content:center}
.btn{
  font-family:ui-monospace,Consolas,monospace; font-size:.82rem; letter-spacing:.03em;
  padding:11px 20px; border-radius:7px; border:1px solid transparent; display:inline-block;
}
.btn-primary{background:var(--accent); color:#fff; box-shadow:var(--shadow)}
.btn-primary:hover{text-decoration:none; filter:brightness(1.06)}
.btn-ghost{background:transparent; border-color:var(--line); color:var(--ink)}
.btn-ghost:hover{text-decoration:none; border-color:var(--accent); color:var(--accent)}

footer{border-top:1px solid var(--line); color:var(--muted); font-size:.8rem; padding:22px 0 40px}
footer .mono{font-size:.72rem; letter-spacing:.04em}
:focus-visible{outline:2px solid var(--accent); outline-offset:2px; border-radius:4px}
