/* SVG-Score — project page
   Light-first, dark-aware. Artwork tiles stay white in both themes: that is the
   background the annotators actually rated on. */

/* ── tokens ───────────────────────────────────────────────────────────────── */
:root{
  --bg:#FAFAFC; --surface:#FFFFFF; --surface-2:#F1F1F6;
  --ink:#15151C; --ink-2:#3E3E4C; --muted:#6C6C7E; --faint:#9797A9;
  --line:#E4E3EC; --line-2:#D2D1DE;
  --accent:#6D28D9; --accent-soft:#F1EAFE;
  --clip:#2563EB;  --clip-soft:#E7EFFE;
  --vlm:#E8542A;   --vlm-soft:#FDECE5;
  --ok:#0F7B52; --bad:#C63A22;
  --tile:#FFFFFF; --tile-line:#E4E3EC;
  --shadow:0 1px 2px rgba(21,21,28,.04), 0 8px 24px -16px rgba(21,21,28,.16);
  --r:10px; --r-sm:6px;
  --sans:"Schibsted Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --maxw:1060px; --maxw-wide:1280px;
}
/* ── base ─────────────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:64px}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--sans);font-size:15px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{margin:0;line-height:1.16;letter-spacing:-.02em;font-weight:600;text-wrap:balance}
p{margin:0 0 .9em}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.wrap-wide{max-width:var(--maxw-wide);margin:0 auto;padding:0 24px}
section{padding:60px 0;border-top:1px solid var(--line)}
section:first-of-type{border-top:0}

.eyebrow{
  font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--accent);margin:0 0 10px;
  display:flex;align-items:center;gap:9px;
}
.eyebrow::before{content:"";width:16px;height:1px;background:currentColor;opacity:.5}
h2.sec{font-size:26px;margin:0 0 10px;letter-spacing:-.025em}
.sec-lede{color:var(--muted);font-size:14.5px;max-width:64ch;margin:0 0 30px;text-wrap:pretty}
.small{font-size:13px}
.prose{max-width:70ch;margin:0 auto 1.25em;color:var(--ink-2)}
#abstract .eyebrow{justify-content:center}
#abstract .eyebrow::after{content:"";width:16px;height:1px;background:currentColor;opacity:.5}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.dim{color:var(--muted)}

/* ── nav ──────────────────────────────────────────────────────────────────── */
nav{
  position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);
  backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--line);
}
nav .wrap-wide{display:flex;align-items:center;gap:18px;height:52px}
.brand{display:flex;align-items:center;gap:8px;font-weight:650;font-size:14px;letter-spacing:-.02em}
.brand svg{flex:none}
nav ul{display:flex;gap:2px;list-style:none;margin:0 0 0 auto;padding:0;flex-wrap:wrap}
nav a.navlink{
  color:var(--muted);font-size:13px;font-weight:500;padding:6px 10px;border-radius:7px;
}
nav a.navlink:hover{color:var(--ink);background:var(--surface-2);text-decoration:none}
@media(max-width:760px){nav ul{display:none}}

/* ── hero ─────────────────────────────────────────────────────────────────── */
.hero{padding:64px 0 52px;position:relative;overflow:hidden;border-top:0}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),
                   linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:30px 30px;
  -webkit-mask-image:radial-gradient(ellipse 70% 62% at 50% 12%,#000,transparent 78%);
          mask-image:radial-gradient(ellipse 70% 62% at 50% 12%,#000,transparent 78%);
  opacity:.55;
}
.hero .wrap{position:relative;text-align:center}
h1.title{
  font-size:clamp(42px,8.5vw,76px);letter-spacing:-.045em;font-weight:700;margin:0 0 6px;
}
h1.title .dash{color:var(--accent)}
.tagline{font-size:clamp(16px,2.3vw,21px);color:var(--ink-2);font-weight:450;letter-spacing:-.015em;
  max-width:40ch;margin:0 auto 26px;text-wrap:balance}
.authors{font-size:14.5px;color:var(--ink-2);max-width:76ch;margin:0 auto 8px;line-height:1.9}
.authors > span{white-space:nowrap}
.authors a{color:inherit;border-bottom:1px solid color-mix(in srgb,var(--accent) 38%,transparent)}
.authors a:hover{color:var(--accent);border-color:currentColor;text-decoration:none}
.authors sup{font-family:var(--mono);font-size:10px;color:var(--accent);padding-left:1px}
.affils{font-size:13px;color:var(--muted);margin:0 0 26px}
.affils span{white-space:nowrap}
.footnote{font-size:12px;color:var(--faint);margin:-18px 0 26px}
.footnote sup{font-family:var(--mono);font-size:10px}
.affils sup{font-family:var(--mono);font-size:10px;color:var(--accent)}

/* buttons */
.btns{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 15px;border-radius:999px;
  font-size:13.5px;font-weight:550;letter-spacing:-.01em;border:1px solid var(--line-2);
  background:var(--surface);color:var(--ink);box-shadow:var(--shadow);transition:.16s ease;
}
.btn:hover{text-decoration:none;transform:translateY(-1px);border-color:var(--ink-2)}
.btn svg{flex:none;opacity:.9}
.btn.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.btn.primary:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.btn[aria-disabled="true"]{
  opacity:.42;pointer-events:none;box-shadow:none;background:transparent;
  border-style:dashed;color:var(--muted);
}
.btn .soon{
  font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;
  border:1px solid currentColor;border-radius:4px;padding:0 4px;line-height:14px;opacity:.75;
}

/* ── stat strip ───────────────────────────────────────────────────────────── */
.stats{display:flex;flex-wrap:wrap;gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:34px;text-align:left}
.stats div{background:var(--surface);padding:20px 18px 18px;flex:1 1 190px}
.stats .sico{display:grid;place-items:center;width:42px;height:42px;margin-bottom:13px;
  border-radius:12px;background:var(--accent-soft);color:var(--accent);
  border:1px solid color-mix(in srgb,var(--accent) 16%,transparent)}
.stats .sico svg{width:23px;height:23px}
.stats b{display:block;font-family:var(--mono);font-size:23px;font-weight:600;letter-spacing:-.03em}
.stats span{font-size:11.5px;color:var(--muted);line-height:1.45;display:block;margin-top:2px}
/* ── generic panel ────────────────────────────────────────────────────────── */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.panel-head{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.panel-head h3{font-size:14.5px;letter-spacing:-.015em}
.panel-head .note{font-size:12px;color:var(--muted);margin-left:auto;font-family:var(--mono)}

/* ── blind-spot demo ──────────────────────────────────────────────────────── */
.demo{display:grid;grid-template-columns:300px 1fr;gap:0;max-width:1020px;margin:0 auto}
@media(max-width:820px){.demo{grid-template-columns:1fr}}
.demo-art{padding:22px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
@media(max-width:820px){.demo-art{border-right:0;border-bottom:1px solid var(--line)}}
.tile{
  background:var(--tile);border:1px solid var(--tile-line);border-radius:var(--r-sm);
  aspect-ratio:1;display:grid;place-items:center;padding:14px;position:relative;overflow:hidden;
}
.tile img,.tile svg{max-width:100%;max-height:100%;width:auto;height:auto}
.demo-art .cap{font-size:11.5px;color:var(--muted);font-family:var(--mono);text-align:center}
.demo-body{padding:22px}
.demo-caption{
  font-size:14px;line-height:1.75;color:var(--ink-2);background:var(--surface-2);
  border:1px solid var(--line);border-radius:var(--r-sm);padding:13px 15px;margin-bottom:16px;min-height:78px;
}
.demo-caption mark{background:none;color:var(--accent);font-weight:600;padding:0 1px;border-radius:3px}
.demo-caption mark.swapped{color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,transparent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--bad) 12%,transparent)}
.pchips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px;align-items:center}
.pchip{
  font-size:12.5px;font-weight:520;padding:5px 11px;border-radius:999px;cursor:pointer;
  border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);transition:.14s;
  font-family:var(--sans);
}
.pchip:hover{border-color:var(--ink-2)}
.pchip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.pchip.img[aria-pressed="true"]{background:var(--clip);border-color:var(--clip);color:#fff}
.pchip-sep{width:1px;height:20px;background:var(--line-2);margin:0 4px}

.readout{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:16px}
.readout .val{font-family:var(--mono);font-size:38px;font-weight:600;letter-spacing:-.04em;line-height:1}
.readout .lbl{font-size:11px;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.delta{
  font-family:var(--mono);font-size:15px;font-weight:600;padding:3px 10px;border-radius:999px;
  background:var(--surface-2);color:var(--muted);border:1px solid var(--line);
}
.delta.neg{color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,transparent);border-color:color-mix(in srgb,var(--bad) 26%,transparent)}
.delta.pos{color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,transparent);border-color:color-mix(in srgb,var(--ok) 26%,transparent)}

/* delta chart: one row per perturbation, bars diverging from zero */
.dbars{margin-top:2px;border-top:1px solid var(--line);padding-top:15px}
.dbars .zlbl{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--faint);margin:0 0 7px;padding-left:114px}
@media(max-width:560px){.dbars .zlbl{padding-left:0}
  .dbar{grid-template-columns:92px 1fr 54px;gap:8px}}
.dbar{display:grid;grid-template-columns:104px 1fr 62px;align-items:center;gap:10px;
  padding:2.5px 0;cursor:pointer;background:none;border:0;width:100%;font:inherit;text-align:left}
.dbar .nm{font-size:12px;color:var(--muted);text-align:right;white-space:nowrap}
.dbar .tr{position:relative;height:15px;background:var(--surface-2);border-radius:4px}
.dbar .tr::before{content:"";position:absolute;top:-4px;bottom:-4px;width:1px;background:var(--line-2);left:var(--zero)}
.dbar .fl{position:absolute;top:2px;bottom:2px;border-radius:3px;transition:width .45s cubic-bezier(.4,0,.2,1),background .2s}
.dbar.cap .fl{background:color-mix(in srgb,var(--accent) 42%,transparent)}
.dbar.img .fl{background:color-mix(in srgb,var(--clip) 55%,transparent)}
.dbar .dv{font-family:var(--mono);font-size:11.5px;text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}
.dbar:hover .nm{color:var(--ink-2)}
.dbar.on .nm,.dbar.on .dv{color:var(--ink);font-weight:650}
.dbar.on .fl{background:var(--bad)}
.dbar.on .tr{box-shadow:0 0 0 3px color-mix(in srgb,var(--bad) 11%,transparent)}
.punch{
  margin-top:22px;padding:14px 16px;border-radius:var(--r-sm);border:1px solid var(--line);
  background:var(--surface-2);font-size:13.5px;color:var(--ink-2);
}
.punch b{color:var(--ink)}

/* ── answer cards ─────────────────────────────────────────────────────────── */
.answer{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px;max-width:1020px;margin-inline:auto}
@media(max-width:860px){.answer{grid-template-columns:1fr}}
.acard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.acard .kicker{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
.acard h4{font-size:15px;margin-bottom:6px;letter-spacing:-.02em}
.acard p{font-size:13px;color:var(--muted);margin:0}
.acard.data{border-color:color-mix(in srgb,var(--accent) 26%,var(--line))}
.acard.data .kicker{color:var(--accent)}
.acard.clip .kicker{color:var(--clip)}
.acard.vlm .kicker{color:var(--vlm)}
.jump{display:flex;align-items:baseline;gap:9px;font-family:var(--mono);margin:10px 0 8px}
.jump .from{font-size:15px;color:var(--faint);text-decoration:line-through;text-decoration-thickness:1px}
.jump .arrow{color:var(--faint);font-size:13px}
.jump .to{font-size:26px;font-weight:650;letter-spacing:-.03em}
.acard.clip .to{color:var(--clip)} .acard.vlm .to{color:var(--vlm)} .acard.data .to{color:var(--accent)}
.jump .unit{font-size:11px;color:var(--muted);letter-spacing:.04em}

/* ── charts ───────────────────────────────────────────────────────────────── */
.charts{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:860px){.charts{grid-template-columns:1fr}}
.chart-body{padding:18px}
.bars{display:flex;flex-direction:column;gap:9px}
.bar-row{display:grid;grid-template-columns:74px 1fr 84px;align-items:center;gap:10px;font-size:12.5px}
.bar-row .name{color:var(--ink-2);text-align:right;font-size:12px}
.bar-track{position:relative;height:20px;background:var(--surface-2);border-radius:5px;overflow:hidden}
.bar-track .fill{position:absolute;top:0;bottom:0;border-radius:5px;transition:width .5s cubic-bezier(.4,0,.2,1)}
.bar-row .num{font-family:var(--mono);font-size:11px;white-space:nowrap;text-align:right;color:var(--ink-2);font-variant-numeric:tabular-nums}
.bar-row.head{border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:2px}
.bar-row.head .name,.bar-row.head .num{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.grp-lbl{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);
  margin:12px 0 4px;padding-left:84px}
.grp-lbl:first-child{margin-top:0}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.legend i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px;vertical-align:0}

/* ── perturbation strip ───────────────────────────────────────────────────── */
.pertgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
@media(max-width:860px){.pertgrid{grid-template-columns:repeat(2,1fr)}}
.pertgrid > div{background:var(--surface);padding:16px}
.pertgrid .tag{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:9px}
.pertgrid .cap-t{color:var(--accent)} .pertgrid .img-t{color:var(--clip)}
.pertgrid h4{font-size:13.5px;margin-bottom:5px}
.pertgrid p{font-size:12px;color:var(--muted);margin:0}
.pertgrid .demo-mini{margin-top:12px;font-family:var(--mono);font-size:11.5px;line-height:1.7;color:var(--muted)}
.pertgrid .demo-mini s{color:var(--faint)} .pertgrid .demo-mini em{color:var(--bad);font-style:normal;font-weight:600}

/* ── method diagram ───────────────────────────────────────────────────────── */
.flow{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px;align-items:start}
@media(max-width:860px){.flow{grid-template-columns:1fr}}
.track{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden;box-shadow:var(--shadow)}
.track-head{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}
.track-head .dot{width:8px;height:8px;border-radius:50%}
.track.c .dot{background:var(--clip)} .track.v .dot{background:var(--vlm)}
.track-head h4{font-size:14.5px}
.track-head .tag{margin-left:auto;font-family:var(--mono);font-size:10.5px;color:var(--muted)}
.steps{padding:18px;display:flex;flex-direction:column;gap:0}
.step{border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;background:var(--surface)}
.step .n{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.track.c .step .n{color:var(--clip)} .track.v .step .n{color:var(--vlm)}
.step h5{margin:0 0 3px;font-size:13.5px;font-weight:600;letter-spacing:-.01em}
.step p{margin:0;font-size:12.5px;color:var(--muted)}
.step code{font-family:var(--mono);font-size:11.5px;background:var(--surface-2);border:1px solid var(--line);
  padding:1px 5px;border-radius:4px;color:var(--ink-2)}
.connector{height:20px;display:grid;place-items:center}
.connector svg{opacity:.4}
.rewards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}
.reward{border:1px dashed var(--line-2);border-radius:7px;padding:8px 10px;font-size:12px;color:var(--muted);background:var(--surface-2)}
.reward b{display:block;color:var(--ink-2);font-size:12.5px;font-weight:600;margin-bottom:1px}

/* ── galleries ────────────────────────────────────────────────────────────── */
.picker{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}
.pick{
  font-size:12.5px;padding:6px 12px;border-radius:999px;border:1px solid var(--line-2);
  background:var(--surface);color:var(--ink-2);cursor:pointer;text-align:left;
  max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:.14s;
}
.pick:hover{border-color:var(--ink-2)}
.pick[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.pick .lvl{font-family:var(--mono);font-size:10px;letter-spacing:.06em;opacity:.75;margin-right:7px;text-transform:uppercase}
.pick[aria-pressed="true"] .lvl{opacity:.85}

.prompt-box{
  border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r-sm);
  background:var(--surface);padding:13px 16px;margin-bottom:18px;font-size:13.5px;color:var(--ink-2);
}
.prompt-box .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:4px}

/* human series */
.series{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
@media(max-width:960px){.series{grid-template-columns:repeat(4,1fr)}}
@media(max-width:560px){.series{grid-template-columns:repeat(3,1fr)}}
.cell{display:flex;flex-direction:column;gap:7px}
.cell .tile{aspect-ratio:1;padding:11px}
.scorebar{display:flex;align-items:center;gap:6px}
.sdots{display:flex;gap:2.5px}
.sdots i{width:5px;height:5px;border-radius:50%;background:var(--line-2)}
.sdots i.on{background:var(--accent)}
.sval{font-family:var(--mono);font-size:11.5px;font-weight:600;color:var(--ink-2)}
.rank-scale{display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.rank-scale .line{flex:1;height:1px;margin:0 12px;
  background:linear-gradient(90deg,var(--accent),var(--line-2))}

/* bench grid */
.famrow{margin-bottom:20px}
.famrow h4{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);
  font-weight:500;margin-bottom:10px;display:flex;align-items:center;gap:9px;
}
.famrow h4::after{content:"";flex:1;height:1px;background:var(--line)}
.bgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
@media(max-width:1080px){.bgrid{grid-template-columns:repeat(5,1fr)}}
.bgrid.small{grid-template-columns:repeat(7,1fr)}
@media(max-width:1080px){.bgrid.small{grid-template-columns:repeat(5,1fr)}}
@media(max-width:640px){.bgrid,.bgrid.small{grid-template-columns:repeat(3,1fr)}}
.bcell .tile{aspect-ratio:1;padding:9px}
.bcell .name{font-size:11.5px;color:var(--ink-2);margin-top:6px;text-align:center;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile.empty{display:grid;place-items:center;background:var(--surface-2);border-style:dashed}
.tile.empty span{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.tile img{transition:opacity .25s}

/* ── tables ───────────────────────────────────────────────────────────────── */
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow)}
table{border-collapse:collapse;width:100%;font-size:13px;min-width:560px}
th,td{padding:8px 12px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line)}
th:first-child,td:first-child{text-align:left;white-space:normal}
thead th{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);font-weight:500;background:var(--surface-2);position:sticky;top:0;
}
tbody td{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-2)}
tbody td:first-child{font-family:var(--sans);color:var(--ink)}
tr.grp td{
  background:var(--surface-2);font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);padding:6px 12px;
}
tr.ours td{background:var(--accent-soft)}
tr.ours td:first-child{font-weight:650;color:var(--ink)}
tr.ours td{color:var(--ink)}
td b{font-weight:650;color:var(--ink)}
td u{text-decoration:none;border-bottom:1.5px solid var(--line-2)}
tbody tr:last-child td{border-bottom:0}
.tnote{font-size:12px;color:var(--muted);margin-top:10px}
.tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}
.tab{font-size:12.5px;font-weight:520;padding:6px 13px;border-radius:999px;border:1px solid var(--line-2);
  background:var(--surface);color:var(--ink-2);cursor:pointer;transition:.14s}
.tab:hover{border-color:var(--ink-2)}
.tab[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}

/* ── bibtex + footer ──────────────────────────────────────────────────────── */
pre.bib{
  font-family:var(--mono);font-size:12px;line-height:1.65;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r);padding:18px;overflow-x:auto;margin:0;color:var(--ink-2);
}
.copy{
  float:right;margin:0 0 -34px;position:relative;top:34px;right:10px;z-index:2;font-family:var(--mono);font-size:11px;padding:4px 9px;border-radius:6px;cursor:pointer;
  border:1px solid var(--line-2);background:var(--surface);color:var(--muted);
}
.copy:hover{color:var(--ink)}
footer{border-top:1px solid var(--line);padding:34px 0 60px;color:var(--muted);font-size:12.5px}
footer .wrap{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;text-align:center}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}
