/* ===========================================================
   The Annotation Ledger — companion site for
   "Building Trustworthy Mental Health Benchmarks on Bluesky"

   Design concept: the paper's real subject is annotation —
   LLM weak labels marked up, crossed out, and corrected by
   human adjudicators. The site borrows that vernacular:
   redaction bars, margin brackets, highlighter strokes,
   ledger rules, stamped case tags.
=========================================================== */

:root{
  --paper: #eef0ec;
  --paper-raised: #f6f7f4;
  --surface: #f6f7f4;
  --surface-2: #e5e7e0;
  --rule: #cdd1c6;
  --rule-strong: #a9ae9f;
  --ink: #14171a;
  --ink-dim: #4b5359;
  --ink-faint: #7c847d;

  --si: #a3372f;      /* brick-red ink stamp — SI signal */
  --si-soft: #a3372f1a;
  --mh: #2f5f8f;       /* pencil-blue ink — MH signal */
  --mh-soft: #2f5f8f1a;
  --gold: #9c6f22;     /* highlighter/brand accent — never SI or MH */
  --gold-soft: #9c6f221a;
  --good: #2f6e4f;
  --bad: #a3372f;

  --radius: 3px;
  --radius-pill: 999px;
  --maxw: 1160px;
  --font-display: 'Fraunces', 'Iowan Old Style', Georgia, serif;
  --font-body: 'Public Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
}

:root[data-theme="dark"]{
  --paper: #14171a;
  --paper-raised: #1a1e21;
  --surface: #1a1e21;
  --surface-2: #21262a;
  --rule: #33393d;
  --rule-strong: #4a5157;
  --ink: #eceee9;
  --ink-dim: #b3b9b1;
  --ink-faint: #7c847d;

  --si: #e2857d;
  --si-soft: #e2857d22;
  --mh: #8fb4dc;
  --mh-soft: #8fb4dc22;
  --gold: #d1a24a;
  --gold-soft: #d1a24a22;
  --good: #6bbf95;
  --bad: #e2857d;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} *,*::before,*::after{animation-duration:.001ms !important; transition-duration:.001ms !important;} }

body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--font-body); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased; transition:background .25s ease, color .25s ease;
}

img,svg{max-width:100%;display:block;}
a{color:inherit;}
::selection{background:var(--gold); color:#14171a;}
.container{max-width:var(--maxw); margin:0 auto; padding:0 28px;}

.icon{width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex:none;}

/* ---------- scroll progress ---------- */
#scroll-progress{ position:fixed; top:0; left:0; height:2px; width:0%; background:var(--gold); z-index:2000; transition:width .08s linear; }

/* ---------- nav ---------- */
header.site-nav{
  position:sticky; top:0; z-index:1000;
  background:color-mix(in srgb, var(--paper) 92%, transparent);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  border-bottom:1px solid var(--rule);
}
.nav-inner{ max-width:var(--maxw); margin:0 auto; padding:14px 28px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.brand{ display:flex; align-items:center; gap:10px; font-family:var(--font-mono); font-weight:600; font-size:.8rem; letter-spacing:.02em; white-space:nowrap; text-transform:uppercase; }
.brand-mark{ width:22px; height:22px; display:flex; align-items:center; justify-content:center; color:var(--gold); flex:none; }
nav.nav-links{ display:flex; gap:2px; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; }
nav.nav-links::-webkit-scrollbar{display:none;}
nav.nav-links a{
  padding:7px 11px; font-size:.78rem; font-weight:500; font-family:var(--font-mono);
  color:var(--ink-faint); text-decoration:none; white-space:nowrap; border-bottom:2px solid transparent;
  transition:color .15s, border-color .15s;
}
nav.nav-links a:hover{color:var(--ink);}
nav.nav-links a.active{color:var(--ink); border-color:var(--gold);}
.nav-actions{display:flex; align-items:center; gap:8px;}
.icon-btn{
  width:34px; height:34px; border:1px solid var(--rule); background:var(--surface); color:var(--ink); cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background .15s, border-color .15s;
}
.icon-btn:hover{background:var(--surface-2); border-color:var(--rule-strong);}
.icon-btn svg{width:16px;height:16px;}
.icon-btn .sun{display:none;}
:root[data-theme="dark"] .icon-btn .moon{display:none;}
:root[data-theme="dark"] .icon-btn .sun{display:block;}

/* ---------- hero ---------- */
.hero{ padding:64px 0 56px; }
.hero-grid{ display:grid; grid-template-columns:1.5fr 1fr; gap:48px; align-items:start; }
@media (max-width:900px){ .hero-grid{grid-template-columns:1fr;} }

.stamp{
  display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:.72rem;
  font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-dim);
  border:1px solid var(--rule-strong); padding:6px 12px; margin-bottom:26px; transform:rotate(-0.6deg);
}
.stamp::before{ content:'●'; color:var(--gold); font-size:.6rem; }

h1.title{
  font-family:var(--font-display); font-weight:600; font-optical-sizing:auto;
  font-size:clamp(2.1rem, 5vw, 3.4rem); line-height:1.06; letter-spacing:-.01em;
  margin:0 0 24px; text-wrap:balance;
  position:relative;
}
.redact{
  position:relative; display:inline;
}
.redact-bar{
  position:absolute; inset:0; background:var(--ink); transform-origin:left;
  animation: unredact 1.1s .3s cubic-bezier(.65,0,.35,1) forwards;
}
:root[data-theme="dark"] .redact-bar{ background:var(--paper-raised); }
@keyframes unredact{ to{ transform:scaleX(0); } }
@media (prefers-reduced-motion: reduce){ .redact-bar{ animation:none; transform:scaleX(0); } }

.authors{ font-size:.98rem; color:var(--ink-dim); margin:0 0 6px; line-height:1.85; font-family:var(--font-body); }
.authors b{ color:var(--ink); font-weight:600; }
.authors a{ color:var(--ink); text-decoration:none; background-image:linear-gradient(var(--gold),var(--gold)); background-repeat:no-repeat; background-position:0 100%; background-size:0% 1.5px; transition:background-size .18s ease, color .18s ease; }
.authors a:hover{ background-size:100% 1.5px; color:var(--gold); }
.affil{ font-family:var(--font-mono); font-size:.78rem; color:var(--ink-faint); margin:0 0 28px; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:12px; }
.btn{
  display:inline-flex; align-items:center; gap:8px; padding:10px 16px; font-size:.82rem; font-weight:600;
  font-family:var(--font-mono); text-decoration:none; cursor:pointer; border:1px solid var(--ink);
  transition:transform .12s, background .15s, color .15s; letter-spacing:.01em;
}
.btn:active{transform:translateY(1px);}
.btn-primary{ background:var(--ink); color:var(--paper); }
.btn-primary:hover{ background:var(--gold); border-color:var(--gold); color:#14171a; }
.btn-ghost{ background:transparent; color:var(--ink); border-color:var(--rule-strong); }
.btn-ghost:hover{ border-color:var(--ink); }
.btn svg{width:15px;height:15px;}

/* ---------- evidence card (hero right column) ---------- */
.evidence-card{
  border:1px solid var(--rule-strong); background:var(--surface); padding:0; font-family:var(--font-mono);
}
.evidence-head{ display:flex; justify-content:space-between; align-items:center; padding:10px 14px; border-bottom:1px dashed var(--rule-strong); font-size:.68rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-faint); }
.evidence-body{ padding:16px; font-family:var(--font-body); font-size:.88rem; line-height:1.65; color:var(--ink-dim); }
.evidence-row{ display:flex; gap:10px; padding:9px 14px; border-bottom:1px solid var(--rule); align-items:baseline; }
.evidence-row:last-child{border-bottom:none;}
.evidence-row .k{ font-family:var(--font-mono); font-size:.68rem; color:var(--ink-faint); text-transform:uppercase; letter-spacing:.05em; min-width:92px; }
.evidence-row .v{ font-family:var(--font-mono); font-size:.86rem; font-weight:600; }
.tagmark{ display:inline-block; font-family:var(--font-mono); font-size:.68rem; font-weight:700; padding:1px 7px; border:1px solid currentColor; }
.tagmark.si{ color:var(--si); }
.tagmark.mh{ color:var(--mh); }
.strike{ text-decoration:line-through; text-decoration-thickness:1.5px; opacity:.55; }

.hero-stats{ display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--rule-strong); margin-top:40px; }
.hero-stat{ padding:18px 16px; border-right:1px solid var(--rule); }
.hero-stat:last-child{border-right:none;}
.hero-stat .num{ font-family:var(--font-display); font-size:1.6rem; font-weight:600; display:block; margin-bottom:4px; }
.hero-stat .lbl{ font-family:var(--font-mono); font-size:.68rem; color:var(--ink-faint); line-height:1.4; text-transform:uppercase; letter-spacing:.02em; }
@media (max-width:720px){ .hero-stats{grid-template-columns:repeat(2,1fr);} .hero-stat{border-bottom:1px solid var(--rule);} }

/* ---------- section shell ---------- */
section{ padding:60px 0; border-top:1px solid var(--rule); }
section:first-of-type{ border-top:none; }
.section-head{ margin-bottom:30px; max-width:760px; display:flex; gap:16px; align-items:baseline; }
.sec-no{ font-family:var(--font-mono); font-size:.78rem; color:var(--gold); font-weight:700; flex:none; padding-top:6px; }
.section-head-text{flex:1;}
.kicker{ font-family:var(--font-mono); font-size:.72rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); margin:0 0 8px; }
h2.section-title{ font-family:var(--font-display); font-weight:600; font-size:clamp(1.5rem,2.6vw,2rem); margin:0 0 10px; letter-spacing:-.01em; text-wrap:balance; }
.section-desc{ color:var(--ink-dim); font-size:.96rem; max-width:68ch; }
.lede{ font-size:1.05rem; color:var(--ink-dim); max-width:72ch; line-height:1.78; }
.lede b{color:var(--ink);}

/* ---------- grid ---------- */
.grid{display:grid; gap:1px; background:var(--rule);}
.grid-2{grid-template-columns:1fr 1fr;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:860px){ .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;} }
.grid > *{ background:var(--surface); }

.contrib-card{ padding:22px; transition:background .15s; border-top:2px solid transparent; }
.contrib-card:hover{ background:var(--surface-2); border-top-color:var(--gold); }
.contrib-card .ic{ color:var(--gold); margin-bottom:14px; }
.contrib-card h3{ font-family:var(--font-display); font-weight:600; font-size:1.05rem; margin:0 0 8px; }
.contrib-card p{ font-size:.87rem; color:var(--ink-dim); margin:0; line-height:1.6; }

/* ---------- pipeline diagram ---------- */
.pipeline{ display:flex; flex-wrap:wrap; align-items:stretch; gap:0; margin-top:8px; border:1px solid var(--rule-strong); border-right:none; }
.pipe-node{
  flex:1 1 150px; background:var(--surface); border-right:1px solid var(--rule-strong); padding:18px 12px; text-align:center;
  cursor:pointer; position:relative; transition:background .15s; min-width:130px;
}
.pipe-node:hover{ background:var(--surface-2); }
.pipe-node.active{ background:var(--gold-soft); }
.pipe-node.active::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--gold); }
.pipe-node .pn-no{ font-family:var(--font-mono); font-size:.68rem; color:var(--ink-faint); display:block; margin-bottom:8px; }
.pipe-node .ic{ margin:0 auto 8px; color:var(--ink-dim); }
.pipe-node.active .ic{ color:var(--gold); }
.pipe-node .pn-title{ font-size:.78rem; font-weight:600; font-family:var(--font-body); }
@media (max-width:760px){ .pipeline{flex-direction:column; border-right:1px solid var(--rule-strong);} .pipe-node{border-right:none; border-bottom:1px solid var(--rule-strong);} }
.pipe-detail{
  margin-top:0; background:var(--surface); border:1px solid var(--rule-strong); border-top:none; padding:18px 20px;
  font-size:.9rem; color:var(--ink-dim); min-height:60px; transition:opacity .18s ease; line-height:1.65;
}
.pipe-detail b{ color:var(--ink); font-family:var(--font-mono); font-size:.85em; }

.req-list{ margin-top:28px; border:1px solid var(--rule); }
.req-row{ display:flex; gap:18px; padding:16px 20px; border-bottom:1px solid var(--rule); }
.req-row:last-child{border-bottom:none;}
.req-row .rn{ font-family:var(--font-mono); color:var(--gold); font-weight:700; font-size:.85rem; flex:none; width:28px; }
.req-row h4{ margin:0 0 4px; font-family:var(--font-display); font-size:1rem; font-weight:600; }
.req-row p{ margin:0; font-size:.85rem; color:var(--ink-dim); line-height:1.6; }

/* ---------- task toggle ---------- */
.task-toggle{ display:inline-flex; border:1px solid var(--rule-strong); margin-bottom:26px; }
.task-toggle button{
  border:none; background:transparent; padding:10px 22px; font-family:var(--font-mono); font-size:.8rem; font-weight:600;
  color:var(--ink-faint); cursor:pointer; transition:background .18s, color .18s; letter-spacing:.02em;
}
.task-toggle button + button{border-left:1px solid var(--rule-strong);}
.task-toggle button.active{ background:var(--ink); color:var(--paper); }
.task-toggle button[data-task="si"].active{ background:var(--si); }
.task-toggle button[data-task="mh"].active{ background:var(--mh); }

.task-pane{display:none;}
.task-pane.active{display:block; animation:fadein .3s ease;}
@keyframes fadein{from{opacity:0; transform:translateY(4px);} to{opacity:1; transform:translateY(0);}}

/* ---------- stat pills → ledger tags ---------- */
.stat-row{ display:flex; flex-wrap:wrap; gap:0; margin:18px 0; border:1px solid var(--rule); }
.stat-pill{
  font-family:var(--font-mono); font-size:.78rem; color:var(--ink-dim); padding:10px 16px; border-right:1px solid var(--rule);
  display:flex; gap:6px; align-items:baseline; flex:1 1 auto;
}
.stat-pill:last-child{border-right:none;}
.stat-pill b{ color:var(--ink); }

/* ---------- dataset bars ---------- */
.dataset-card{ background:var(--surface); border:1px solid var(--rule-strong); padding:24px; }
.dataset-card h4{ margin:0 0 4px; font-family:var(--font-display); font-size:1.1rem; font-weight:600; }
.dataset-card .sub{ font-family:var(--font-mono); color:var(--ink-faint); font-size:.75rem; margin-bottom:20px; }
.bar-row{margin-bottom:16px;}
.bar-row .bl{ display:flex; justify-content:space-between; font-size:.8rem; color:var(--ink-dim); margin-bottom:6px; font-family:var(--font-mono); }
.bar-track{ height:8px; background:var(--surface-2); overflow:hidden; }
.bar-fill{ height:100%; width:0%; transition:width 1s cubic-bezier(.2,.8,.2,1); }

/* ---------- tables ---------- */
.table-wrap{ overflow-x:auto; border:1px solid var(--rule-strong); background:var(--surface); }
table.data{ width:100%; border-collapse:collapse; font-size:.85rem; min-width:560px; }
table.data caption{ caption-side:top; text-align:left; padding:14px 16px 6px; font-weight:600; color:var(--ink); font-family:var(--font-display); font-size:1rem; }
table.data th, table.data td{ padding:10px 14px; text-align:left; border-bottom:1px solid var(--rule); white-space:nowrap; }
table.data thead th{
  background:var(--surface-2); font-family:var(--font-mono); font-size:.68rem; text-transform:uppercase; letter-spacing:.04em;
  color:var(--ink-faint); position:sticky; top:0; cursor:pointer; user-select:none; border-bottom:1px solid var(--rule-strong);
}
table.data thead th:hover{ color:var(--gold); }
table.data tbody tr:hover{ background:var(--surface-2); }
table.data tbody tr.best td{ background:var(--gold-soft); font-weight:600; }
table.data td.num{ font-variant-numeric:tabular-nums; font-family:var(--font-mono); font-size:.82rem; }
table.data tbody tr:last-child td{ border-bottom:none; }

/* ---------- validation cards ---------- */
.val-card{ background:var(--surface); border:1px solid var(--rule-strong); padding:24px; border-top:3px solid var(--rule-strong); }
.val-card.si{ border-top-color:var(--si); }
.val-card.mh{ border-top-color:var(--mh); }
.val-card h4{ margin:0 0 2px; font-family:var(--font-display); font-size:1.15rem; font-weight:600; display:flex; align-items:center; gap:8px; }
.val-metric-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:18px; background:var(--rule); border:1px solid var(--rule); }
.val-metric{ background:var(--surface); padding:14px; }
.val-metric .vlbl{ font-family:var(--font-mono); font-size:.68rem; color:var(--ink-faint); text-transform:uppercase; letter-spacing:.04em; margin-bottom:4px; }
.val-metric .vval{ font-family:var(--font-display); font-size:1.5rem; font-weight:600; }
.kappa-scale{ margin-top:22px; }
.kappa-scale .track{ position:relative; height:6px; background:var(--surface-2); margin:14px 0 6px; }
.kappa-scale .track-fill{ position:absolute; left:0; top:0; height:100%; background:currentColor; }
.kappa-scale .marker{ position:absolute; top:-6px; width:2px; height:18px; background:var(--ink); transform:translateX(-50%); }
.kappa-scale .marker::after{ content:attr(data-val); position:absolute; top:-22px; left:50%; transform:translateX(-50%); font-family:var(--font-mono); font-size:.7rem; font-weight:700; white-space:nowrap; color:var(--ink); }
.kappa-labels{ display:flex; justify-content:space-between; font-family:var(--font-mono); font-size:.66rem; color:var(--ink-faint); }
.noise-tag{ margin-top:18px; display:inline-flex; align-items:center; gap:7px; font-family:var(--font-mono); font-size:.76rem; font-weight:600; padding:6px 12px; border:1px solid currentColor; }
.noise-tag.fn{ color:var(--si); }
.noise-tag.fp{ color:var(--mh); }

/* ---------- boundary rules ---------- */
.boundary-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--rule); border:1px solid var(--rule); }
@media (max-width:860px){ .boundary-grid{grid-template-columns:1fr;} }
.boundary-card{ padding:20px; background:var(--surface); }
.boundary-card h5{ margin:0 0 12px; font-family:var(--font-mono); font-size:.82rem; text-transform:uppercase; letter-spacing:.04em; color:var(--gold); }
.boundary-card .lbl2{ font-family:var(--font-mono); font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; margin:12px 0 4px; display:flex; align-items:center; gap:5px; }
.boundary-card .lbl2.pos{ color:var(--good); }
.boundary-card .lbl2.neg{ color:var(--bad); }
.boundary-card p{ font-size:.84rem; color:var(--ink-dim); margin:0 0 4px; line-height:1.55; }

/* ---------- chart card ---------- */
.chart-card{ background:var(--surface); border:1px solid var(--rule-strong); padding:22px 22px 12px; }
.chart-card h4{ margin:0 0 2px; font-family:var(--font-display); font-size:1.05rem; font-weight:600; }
.chart-card .sub{ font-family:var(--font-mono); color:var(--ink-faint); font-size:.74rem; margin-bottom:16px; }
.chart-canvas-wrap{ position:relative; height:340px; }

/* ---------- synthesis / compare cols ---------- */
.compare-cols{ display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--rule-strong); }
.compare-cols > div{ padding:24px; }
.compare-cols > div:first-child{ border-right:1px solid var(--rule-strong); border-top:3px solid var(--si); }
.compare-cols > div:last-child{ border-top:3px solid var(--mh); }
@media (max-width:760px){ .compare-cols{grid-template-columns:1fr;} .compare-cols > div:first-child{border-right:none; border-bottom:1px solid var(--rule-strong);} }
.compare-cols h4{ margin:0 0 16px; font-family:var(--font-display); font-weight:600; font-size:1.15rem; display:flex; align-items:center; gap:8px; }
.compare-row{ display:flex; gap:12px; padding:11px 0; border-top:1px dashed var(--rule); font-size:.86rem; }
.compare-row:first-of-type{border-top:none;}
.compare-row .k{ flex:0 0 38%; font-family:var(--font-mono); color:var(--ink-faint); font-size:.7rem; text-transform:uppercase; letter-spacing:.03em; padding-top:2px; }
.compare-row .v{ flex:1; color:var(--ink-dim); }

/* ---------- accordion ---------- */
.acc-item{ border:1px solid var(--rule); border-top:none; background:var(--surface); }
#accordion .acc-item:first-child{border-top:1px solid var(--rule);}
.acc-head{ display:flex; align-items:center; justify-content:space-between; padding:15px 18px; cursor:pointer; font-family:var(--font-body); font-size:.92rem; font-weight:600; }
.acc-head .plus{ transition:transform .25s; color:var(--gold); font-family:var(--font-mono); font-size:1rem; }
.acc-item.open .acc-head .plus{ transform:rotate(45deg); }
.acc-body{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
.acc-body-inner{ padding:0 18px 18px; font-size:.86rem; color:var(--ink-dim); line-height:1.65; }

/* ---------- citation ---------- */
.cite-box{ background:var(--surface); border:1px solid var(--rule-strong); padding:22px; position:relative; }
.cite-box pre{ margin:0; font-family:var(--font-mono); font-size:.78rem; line-height:1.7; color:var(--ink-dim); white-space:pre-wrap; word-break:break-word; padding-right:80px; }
.copy-btn{ position:absolute; top:16px; right:16px; font-family:var(--font-mono); font-size:.72rem; font-weight:600; border:1px solid var(--rule-strong); background:var(--paper); color:var(--ink); padding:7px 12px; cursor:pointer; transition:background .15s; }
.copy-btn:hover{ background:var(--surface-2); }
.copy-btn.copied{ background:var(--good); color:#fff; border-color:var(--good); }

/* ---------- footer ---------- */
footer{ padding:36px 0 56px; border-top:1px solid var(--rule); }
.footer-inner{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer-inner p{ font-family:var(--font-mono); font-size:.74rem; color:var(--ink-faint); margin:0; }
.footer-links{ display:flex; gap:20px; }
.footer-links a{ font-family:var(--font-mono); font-size:.74rem; color:var(--ink-dim); text-decoration:none; }
.footer-links a:hover{ color:var(--gold); }

/* ---------- back to top ---------- */
#back-to-top{
  position:fixed; bottom:24px; right:24px; width:42px; height:42px; background:var(--ink); color:var(--paper); border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transform:translateY(10px);
  transition:opacity .25s, transform .25s, background .15s; z-index:900;
}
#back-to-top:hover{ background:var(--gold); color:#14171a; }
#back-to-top.show{ opacity:1; pointer-events:auto; transform:translateY(0); }
#back-to-top svg{width:16px;height:16px;}

.note{ font-size:.82rem; color:var(--ink-dim); background:var(--surface); border:1px dashed var(--rule-strong); padding:14px 16px; margin-top:18px; line-height:1.6; }
.note b{color:var(--ink);}
code.inline{ font-family:var(--font-mono); background:var(--surface-2); padding:2px 6px; font-size:.85em; }
.small{ font-size:.8rem; color:var(--ink-faint); }
:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }
