/* Ahbar — Single stylesheet.
   Built directly on the useful-sites editorial design language:
   Ink, paper, and a single functional red (--red).
   Headings and record titles in Source Serif 4 (SIL OFL WOFF2);
   body in system sans-serif; numbers and counters in tabular-nums. */

@font-face{
  font-family:"Serif Fallback";
  src:local("Georgia"),local("Times New Roman"),local("Iowan Old Style");
  size-adjust:98.7%;ascent-override:105%;descent-override:34%;line-gap-override:0%;
}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/serif-400.woff2") format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;
  src:url("fonts/serif-600.woff2") format("woff2")}

/* ---------------------------------------------------------------- tokens */
:root{
  --bg:#f6f1e7; --panel:#efe8da; --field:#fbf8f1;
  --fg:#1c1a16; --dim:#5b564c; --faint:#686256;
  --rule:#ddd5c4; --rule2:#e9e2d3;
  --red:#a8321f; --red-soft:#f1e0d6; --on-red:#fbf8f1; --mark:#f1dccd;
  --shadow:0 16px 44px rgba(28,26,22,.14); --scrim:rgba(28,26,22,.42);
  --serif:"Source Serif 4","Serif Fallback",Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  --step:cubic-bezier(.2,.6,.3,1);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#15140f; --panel:#1e1c17; --field:#1a1914;
    --fg:#ebe5d8; --dim:#b3ad9f; --faint:#9a9486;
    --rule:#302d26; --rule2:#24221c;
    --red:#e8735b; --red-soft:#2e1a14; --on-red:#15140f; --mark:#3d241b;
    --shadow:0 16px 44px rgba(0,0,0,.5); --scrim:rgba(0,0,0,.6);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#15140f; --panel:#1e1c17; --field:#1a1914;
  --fg:#ebe5d8; --dim:#b3ad9f; --faint:#9a9486;
  --rule:#302d26; --rule2:#24221c;
  --red:#e8735b; --red-soft:#2e1a14; --on-red:#15140f; --mark:#3d241b;
  --shadow:0 16px 44px rgba(0,0,0,.5); --scrim:rgba(0,0,0,.6);
  color-scheme:dark;
}

/* ---------------------------------------------------------------- base */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
body{
  margin:0;background:var(--bg);color:var(--fg);
  font:16px/1.6 var(--sans);font-feature-settings:"kern" 1;
  -webkit-font-smoothing:antialiased;padding:0 28px 88px;
}
::selection{background:var(--red-soft);color:var(--fg)}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--red);outline-offset:2px;border-radius:2px}
.wrap{max-width:1120px;margin:0 auto}
kbd{font:11.5px/1.5 var(--mono);color:var(--faint);background:var(--field);
  border:1px solid var(--rule);border-radius:3px;padding:0 5px}
code{font:.88em var(--mono);background:var(--panel);border-radius:3px;padding:0 4px}
mark{background:var(--mark);color:inherit;padding:0 2px;border-radius:2px}
math.m{font-family:var(--serif);font-size:1.02em;color:var(--fg)}
math.m-block{display:block;margin:10px 0;font-size:1.08em}
.rn{font-family:var(--serif);font-weight:600;color:var(--red);letter-spacing:.02em}
.n{font:400 12.5px/1 var(--sans);color:var(--faint);font-variant-numeric:tabular-nums}
.k{margin:0;display:flex;align-items:center;gap:12px;
  font:600 12px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.k::after{content:"";flex:1;height:1px;background:var(--rule)}
.k span{font-weight:400;letter-spacing:.02em;text-transform:none;color:var(--faint)}
.ld{flex:1 1 auto;min-width:18px;border-bottom:1.5px dotted var(--rule);transform:translateY(-5px)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:0;z-index:60;padding:12px 18px;
  font:14px/1 var(--sans);color:var(--on-red);background:var(--red);
  text-decoration:none;border-radius:0 0 4px 0}
.skip:focus{left:0}
@keyframes fadeup{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.home,.fieldpage,.one{animation:fadeup .16s var(--step) both}

/* ---------------------------------------------------------------- buttons & chips */
.lnk{display:inline-flex;align-items:center;gap:6px;background:none;border:0;border-radius:5px;
  padding:8px 10px;cursor:pointer;font:13.5px/1 var(--sans);color:var(--dim);text-decoration:none;
  transition:color .12s var(--step),background .12s var(--step)}
.lnk:hover{color:var(--fg);background:var(--panel)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;
  font:13.5px/1 var(--sans);color:var(--dim);background:var(--field);
  border:1px solid var(--rule);border-radius:6px;padding:9px 14px;text-decoration:none;
  transition:color .12s var(--step),border-color .12s var(--step),background .12s var(--step)}
.btn:hover{color:var(--fg);border-color:var(--faint)}
.btn.primary{color:var(--bg);background:var(--fg);border-color:var(--fg)}
.btn.primary:hover{color:var(--on-red);background:var(--red);border-color:var(--red)}
.btn:disabled{opacity:.4;cursor:default}
.chip{display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap;
  font:13px/1.2 var(--sans);color:var(--dim);background:var(--field);
  border:1px solid var(--rule);border-radius:999px;padding:6px 13px;text-decoration:none;
  transition:color .12s var(--step),border-color .12s var(--step),background .12s var(--step)}
.chip:hover{color:var(--fg);border-color:var(--faint)}
.chip.on,.chip[aria-pressed="true"]{color:var(--red);border-color:var(--red);background:var(--red-soft)}
.chip .c{color:var(--faint);font-variant-numeric:tabular-nums}
.chip.on .c,.chip[aria-pressed="true"] .c{color:inherit}
.chip .x{font-size:11px;opacity:.75}
.chip.more{border-style:dashed}

/* ---------------------------------------------------------------- top bar */
header.top{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  grid-template-areas:"logo search acts";align-items:center;gap:14px 24px;
  padding:16px 0;border-bottom:1px solid var(--rule)}
.logo{grid-area:logo;display:inline-flex;align-items:center;gap:10px;text-decoration:none;
  font:600 17px/1 var(--serif);letter-spacing:-.01em;white-space:nowrap;color:var(--fg)}
.enso{width:26px;height:26px;flex:none}
.enso path,.wm path{fill:none;stroke:var(--red);stroke-linecap:round}
.enso path{stroke-width:5}
.hero,.wm{display:none}
.search{grid-area:search;position:relative;width:100%;max-width:540px}
#q{width:100%;font:15px/1.4 var(--sans);color:var(--fg);background:var(--field);
  border:1px solid var(--rule);border-radius:6px;padding:9px 40px 9px 13px;
  transition:border-color .12s var(--step),box-shadow .12s var(--step)}
#q::placeholder{color:var(--faint)}
#q:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}
.search kbd{position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none}
#q:focus + kbd{display:none}
.acts{grid-area:acts;display:flex;align-items:center;gap:2px;flex-wrap:wrap}

body.at-home header.top{grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"logo acts" "hero hero" "search search";row-gap:0;padding:16px 0 24px}
body.at-home .hero{grid-area:hero;display:block;position:relative;z-index:1;
  margin:30px 0 20px;max-width:32ch;font:400 36px/1.14 var(--serif);letter-spacing:-.022em;
  text-wrap:balance}
body.at-home .hero em{font-style:normal;color:var(--red)}
body.at-home .wm{display:block;position:absolute;right:-24px;top:34px;width:330px;height:330px;
  opacity:.09;pointer-events:none}
body.at-home .wm path{stroke-width:1.6}
body.at-home .search{max-width:660px;z-index:1}
body.at-home #q{font:19px/1.4 var(--serif);padding:12px 40px 12px 0;background:transparent;
  border:0;border-bottom:1.5px solid var(--fg);border-radius:0}
body.at-home #q:focus{box-shadow:none;border-bottom-color:var(--red)}
body.at-home .search kbd{right:0}

/* ---------------------------------------------------------------- layout & sidebar */
.cols{display:grid;grid-template-columns:200px minmax(0,1fr);gap:56px;margin-top:34px;align-items:start}
.cols > *{min-width:0}
body.calm .cols{grid-template-columns:minmax(0,1fr)}
body.calm .side{display:none}
.side{position:sticky;top:22px;max-height:calc(100vh - 44px);overflow:auto;padding-bottom:12px}
.side-k{margin:0 0 10px;font:600 12px/1.35 var(--sans);letter-spacing:.12em;
  text-transform:uppercase;color:var(--red)}
.side ol{list-style:none;margin:0;padding:0}
.side a{display:flex;align-items:baseline;gap:8px;padding:7px 0;border-bottom:1px solid var(--rule2);
  font-size:14px;line-height:1.35;color:var(--dim);text-decoration:none;transition:color .12s var(--step);cursor:pointer}
.side a .t{flex:1}
.side a:hover{color:var(--fg)}
.side a.on{color:var(--fg);font-weight:600}
.side a.on::before{content:"▸";color:var(--red)}
.side a.all{border:0;margin-top:10px;font-size:13px;color:var(--faint)}
.side a.all:hover{color:var(--red)}

/* ---------------------------------------------------------------- page header */
.crumb{margin:0 0 8px;font-size:13px;color:var(--faint)}
.crumb a{color:var(--dim);text-decoration:none;cursor:pointer}
.crumb a:hover{color:var(--red)}
.crumb b{margin:0 7px;font-weight:400;color:var(--red)}
.ph{margin:0 0 12px;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;
  font:600 34px/1.12 var(--serif);letter-spacing:-.017em}
.ph .rn{font-size:.6em}
.lede{margin:0 0 20px;max-width:66ch;font:400 17px/1.62 var(--serif);color:var(--dim)}
.none{padding:36px 0;color:var(--dim)}
.none a{color:var(--red);cursor:pointer}
.sh{margin:36px 0 2px;padding-bottom:10px;border-bottom:1px solid var(--rule);
  display:flex;align-items:baseline;gap:10px;font:600 20px/1.25 var(--serif);letter-spacing:-.01em}
.sh .more-area{margin-left:auto;font:400 13px/1 var(--sans);color:var(--faint);text-decoration:none}
.sh .more-area:hover{color:var(--red)}

/* ---------------------------------------------------------------- toolbar (.tb) */
.tb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 0;margin:0 0 4px;
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.tb .sp{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:13px;color:var(--faint)}
.sortl{display:inline-flex;align-items:center;gap:6px}
.tb select{font:13px/1.2 var(--sans);color:var(--dim);background:var(--field);
  border:1px solid var(--rule);border-radius:6px;padding:5px 8px;cursor:pointer}
.tb select:hover{border-color:var(--faint);color:var(--fg)}

/* ---------------------------------------------------------------- record (.rec) */
.recs{margin:0}
#list .rec:not(.big){content-visibility:auto;contain-intrinsic-size:auto 150px}
.rec{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:8px;
  padding:18px 0;border-bottom:1px solid var(--rule2)}
.rec.kb-focus{background:var(--panel);margin:0 -12px;padding:18px 12px;border-radius:4px}
.rec .no{font:600 13.5px/28px var(--serif);color:var(--red);text-align:right;
  font-variant-numeric:tabular-nums}
.rb{min-width:0}
.path{margin:0 0 2px;font-size:12.5px;color:var(--faint)}
.path a{color:var(--red);text-decoration:none;cursor:pointer}
.path a:hover{text-decoration:underline}
.nm{display:flex;align-items:baseline;gap:4px 10px;flex-wrap:wrap}
.rec a.name{font:600 19.5px/1.3 var(--serif);letter-spacing:-.006em;text-decoration:none;color:var(--fg);cursor:pointer}
.rec a.name:hover{color:var(--red);text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px}
.rec.seen a.name{color:var(--dim)}
.host{font-size:13px;color:var(--faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.pk{font:12px/1.5 var(--sans);color:var(--red);border:1px solid var(--red);border-radius:3px;
  padding:0 6px;white-space:nowrap}
.desc{margin:6px 0 0;max-width:72ch;font-size:15.5px;line-height:1.64;color:var(--dim)}
.mt{margin-top:9px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;
  font-size:13px;color:var(--faint)}
.itags span{cursor:pointer;color:var(--dim);transition:color .12s var(--step)}
.itags span:hover{color:var(--red)}
.itags i{font-style:normal;color:var(--rule);margin:0 5px}
.rel a{color:var(--dim);text-decoration:none;border-bottom:1px solid var(--rule);cursor:pointer}
.rel a:hover{color:var(--red);border-bottom-color:var(--red)}
.meta{margin-left:auto;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.arch{color:var(--faint);text-decoration:none;border-bottom:1px dotted var(--rule);cursor:pointer;background:none;border-top:0;border-left:0;border-right:0;padding:0;font:inherit}
.arch:hover,.arch.on{color:var(--red);border-bottom-color:var(--red)}
.save{flex:none;margin-left:auto;padding:2px 4px;background:none;border:0;border-radius:4px;cursor:pointer;
  font-size:17px;line-height:1;color:var(--faint);transition:color .12s var(--step)}
.save:hover,.save[aria-pressed="true"]{color:var(--red)}
.cmpb{padding:0;background:none;border:0;border-bottom:1px dotted var(--rule);cursor:pointer;
  font:inherit;color:var(--faint)}
.cmpb:hover,.cmpb[aria-pressed="true"]{color:var(--red);border-bottom-color:var(--red)}
@media (hover:hover){
  .rec .meta .cmpb:not([aria-pressed="true"]){visibility:hidden}
  .rec:hover .meta .cmpb,.rec:focus-within .meta .cmpb{visibility:visible}
}
#savedb .c{color:var(--red);font-variant-numeric:tabular-nums}
#savedb[aria-pressed="true"]{color:var(--fg)}
.shelfx{margin:0 0 16px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}

/* Compare Tray & Side-by-Side Table (.tray & .cmp) */
.tray{position:fixed;left:50%;bottom:20px;z-index:35;transform:translateX(-50%);display:flex;gap:8px;padding:8px;
  background:var(--bg);border:1px solid var(--rule);border-radius:12px;box-shadow:var(--shadow)}
.tray[hidden]{display:none}
.tray .btn{text-decoration:none}
.cmpwrap{overflow-x:auto;scroll-snap-type:x mandatory;margin:8px 0 0;border-top:1px solid var(--rule)}
.cmp{border-collapse:separate;border-spacing:0;min-width:100%}
.cmp th,.cmp td{padding:12px 14px;border-bottom:1px solid var(--rule2);vertical-align:top;text-align:left;
  font-size:14.5px;line-height:1.55;color:var(--dim)}
.cmp thead th{min-width:240px;scroll-snap-align:start;font:600 18px/1.3 var(--serif);color:var(--fg)}
.cmp thead th a{color:var(--fg);text-decoration:none}
.cmp thead th a:hover{color:var(--red)}
.cmp thead .host{display:block;margin:2px 0 0;font:400 12.5px/1.4 var(--sans)}
.cmp thead .lnk{margin:4px 0 0 -10px;font-size:12.5px}
.cmp tbody th{width:150px;font:600 11.5px/1.5 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.cmp tbody td{min-width:240px}
.cmp tr > :first-child{position:sticky;left:0;z-index:1;background:var(--bg)}

/* Detail View (.rec.big / .one) */
.rec.big{grid-template-columns:minmax(0,1fr);border-bottom:0;padding-top:4px}
.rec.big .no{display:none}
.rec.big .ph{margin:0}
.rec.big a.name{font-size:31px;line-height:1.18;letter-spacing:-.016em}
.rec.big .desc{font:400 17.5px/1.66 var(--serif);max-width:68ch;color:var(--fg);margin-top:14px}
.visit{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}
.visit .btn{text-decoration:none}
.vs{list-style:none;margin:10px 0 28px;padding:0}
.vs li{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;padding:11px 0;border-bottom:1px solid var(--rule2)}
.vs a{font:600 16.5px/1.3 var(--serif);color:var(--fg);text-decoration:none;cursor:pointer}
.vs a:hover{color:var(--red)}
.vs .ax{font-size:14.5px;line-height:1.62;color:var(--dim);max-width:72ch}
.bibtex-pre{background:var(--panel);border:1px solid var(--rule);border-radius:6px;
  padding:12px 14px;font:12px/1.5 var(--mono);overflow-x:auto;white-space:pre-wrap;margin:10px 0 24px}

/* ---------------------------------------------------------------- home (.home) */
.home{padding:22px 0 0}
.hsec{margin:0 0 46px}
.hpicks{list-style:none;margin:16px 0 0;padding:0;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 34px}
.hpicks li{padding:13px 0;border-bottom:1px solid var(--rule2)}
.hpicks a.hp-title{font:600 16.5px/1.32 var(--serif);text-decoration:none;display:inline;cursor:pointer}
.hpicks a.hp-title::before{content:"◆";color:var(--red);font-size:.6em;margin-right:8px;position:relative;top:-.15em}
.hpicks a.hp-title:hover{color:var(--red)}
.hpicks p{margin:5px 0 0;font-size:14px;line-height:1.55;color:var(--dim)}
.fx{list-style:none;margin:18px 0 0;padding:0;columns:2;column-gap:56px}
.fe{break-inside:avoid;padding:12px 0 14px;border-bottom:1px solid var(--rule2)}
.ft{display:flex;align-items:baseline;gap:10px;text-decoration:none;cursor:pointer}
.ft .rn{width:34px;flex:none;font-size:15px}
.fn{font:600 21px/1.25 var(--serif);letter-spacing:-.012em;transition:color .12s var(--step)}
.ft:hover .fn{color:var(--red)}
.fc{margin:5px 0 0 44px;font-size:14.5px;line-height:1.6;color:var(--faint)}
.fc a{color:var(--dim);text-decoration:none;border-bottom:1px solid var(--rule2);cursor:pointer}
.fc a:hover{color:var(--red);border-bottom-color:var(--red)}
.hlinks{display:flex;gap:26px;flex-wrap:wrap;margin:28px 0 0;font-size:14px}
.hlinks a{color:var(--dim);text-decoration:none;cursor:pointer}
.hlinks a:hover{color:var(--red)}
.proof{margin:0 0 12px;font-size:13.5px;line-height:1.6;color:var(--dim)}
.tryq{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 34px}
.tryq span{margin-right:4px;font-size:13px;color:var(--faint)}
.tryq .chip{text-decoration:none}

/* ---------------------------------------------------------------- dialogs (filt, sub, pal, kbh) */
dialog#filt,dialog#sub,dialog#pal,dialog#kbh{border:1px solid var(--rule);border-radius:12px;padding:0;
  background:var(--bg);color:var(--fg);box-shadow:var(--shadow)}
dialog#filt::backdrop,dialog#sub::backdrop,dialog#pal::backdrop,dialog#kbh::backdrop{background:var(--scrim)}
dialog#filt{width:min(580px,calc(100vw - 32px))}
dialog#sub{width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 48px)}
dialog#pal,dialog#kbh{margin:12vh auto auto;width:min(600px,calc(100vw - 32px))}
.fl-h{display:flex;align-items:center;gap:4px;padding:12px 12px 10px 18px;border-bottom:1px solid var(--rule2)}
.fl-h h2{margin:0 auto 0 0;font:600 19px/1.2 var(--serif)}
.fl-b{padding:8px 18px 16px;max-height:min(65vh,560px);overflow:auto}
.fg{padding:12px 0 4px}
.fk{margin:0 0 8px;font:600 11.5px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.fg .cs{display:flex;flex-wrap:wrap;gap:6px}
.sub-h{display:flex;align-items:baseline;gap:12px;padding:20px 22px 14px;border-bottom:1px solid var(--rule)}
.sub-h h2{margin:0;font:600 21px/1.2 var(--serif)}
.sub-h .btn{margin-left:auto}
.sub-body{padding:18px 22px 8px;overflow-y:auto;max-height:calc(100vh - 210px)}
.fld{margin:0 0 14px}
.fld label{display:block;margin-bottom:6px;font:600 11.5px/1 var(--sans);letter-spacing:.08em;
  text-transform:uppercase;color:var(--faint)}
.fld input,.fld select{width:100%;font:15px/1.55 var(--sans);color:var(--fg);
  background:var(--field);border:1px solid var(--rule);border-radius:6px;padding:9px 11px}
.fld input:focus,.fld select:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}
.sub-note{margin:0 0 16px;font-size:14px;line-height:1.66;color:var(--dim)}
.sub-note b{color:var(--fg);font-weight:600}
.sub-f{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:14px 22px 20px;border-top:1px solid var(--rule2)}
.sub-f .msg{margin-left:auto;text-align:right;font-size:12.5px;line-height:1.5;color:var(--red)}

#pal-q{width:100%;padding:14px 18px;font:17px/1.4 var(--sans);color:var(--fg);background:var(--field);
  border:0;border-bottom:1px solid var(--rule);border-radius:12px 12px 0 0}
#pal-q:focus{outline:none;box-shadow:inset 0 -2px 0 var(--red)}
#pal-list{list-style:none;margin:0;padding:6px;max-height:min(56vh,460px);overflow:auto}
.pal-g{padding:10px 12px 4px;font:600 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
#pal-list [role="option"]{display:flex;align-items:baseline;gap:12px;min-height:40px;padding:9px 12px;
  border-radius:6px;cursor:pointer}
#pal-list [role="option"]:hover,#pal-list [aria-selected="true"]{background:var(--panel);box-shadow:inset 3px 0 0 var(--red)}
.ps{margin-left:auto;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--faint)}
#kbh-list{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 18px;margin:0;padding:16px 18px 22px}
#kbh-list dt{white-space:nowrap}
#kbh-list dd{margin:0;color:var(--dim)}

/* ---------------------------------------------------------------- loading skeleton (html.pending) */
html.pending #list > [data-pre]{display:none}
html.pending #list::before{content:"";display:block;height:520px;border-radius:4px;
  background:repeating-linear-gradient(to bottom,var(--panel) 0 20px,transparent 20px 36px,
    var(--rule2) 36px 52px,transparent 52px 104px);animation:pulse 1.1s ease-in-out infinite alternate}
@keyframes pulse{from{opacity:.5}to{opacity:1}}

/* ---------------------------------------------------------------- footer & top btn */
footer{margin-top:72px;padding-top:22px;border-top:1px solid var(--rule);max-width:82ch;
  font-size:14px;line-height:1.8;color:var(--faint)}
footer p{margin:0 0 8px}
footer a{color:var(--dim)}
footer a:hover{color:var(--red)}
footer .lnk{padding:4px 6px;font-size:14px}
#top{position:fixed;right:24px;bottom:24px;z-index:30;opacity:0;pointer-events:none;
  transform:translateY(6px);transition:opacity .18s var(--step),transform .18s var(--step)}
#top.show{opacity:1;pointer-events:auto;transform:none}

/* ---------------------------------------------------------------- responsive & accessibility */
@media (max-width:1000px){
  .hpicks{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .cols{grid-template-columns:minmax(0,1fr);gap:0;margin-top:20px}
  .side{display:none}
  .fx{columns:1}
}
@media (max-width:720px){
  body{padding:0 16px 72px}
  header.top{grid-template-columns:minmax(0,1fr);grid-template-areas:"logo" "acts" "search";row-gap:10px}
  body.at-home header.top{grid-template-areas:"logo" "acts" "hero" "search";padding:14px 0 22px}
  body.static header.top{grid-template-columns:minmax(0,1fr);grid-template-areas:"logo" "acts";row-gap:4px}
  body.at-home .hero{font-size:29px;margin:20px 0 14px}
  body.at-home .wm{display:none}
  body.at-home #q{font-size:17px}
  .hpicks{grid-template-columns:1fr}
  .rec{grid-template-columns:24px minmax(0,1fr);column-gap:6px;padding:15px 0}
  .rec a.name{font-size:17.5px}
  .rec.big a.name{font-size:25px}
  .meta{margin-left:0}
  .tray{left:12px;right:12px;bottom:12px;transform:none}
  .tray .btn{flex:1}
  .cmp tbody th{width:104px;min-width:104px;letter-spacing:.04em}
  .cmp thead th,.cmp tbody td{min-width:72vw}
}
@media (forced-colors:active){
  .chip.on,.chip[aria-pressed="true"],.save[aria-pressed="true"],
  .cmpb[aria-pressed="true"],#pal-list [aria-selected="true"]{
    forced-color-adjust:none;color:HighlightText;background:Highlight;border-color:Highlight}
  .k::after{background:CanvasText}
  .ld{border-bottom-color:CanvasText}
  .enso path,.wm path{stroke:CanvasText}
  :focus-visible{outline-color:Highlight}
}
@media (prefers-contrast:more){
  :root{--dim:#3d3932; --faint:#46423a; --rule:#8f877a; --rule2:#b3aa98; --mark:#f6e6d9}
  :root[data-theme="dark"]{--dim:#d6d0c2; --faint:#c7c1b2; --rule:#6b6555; --rule2:#4d483d; --mark:#2c1a14}
  .rec a.name,.fc a,.rel a{text-decoration:underline;text-underline-offset:3px}
}

/* Audio Briefing Dock */
.audio-dock{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:var(--panel);border:1px solid var(--rule);border-radius:4px;
  padding:8px 14px;margin:12px 0;box-shadow:0 2px 8px rgba(28,26,22,.06);
}
.ad-info{display:flex;align-items:center;gap:10px;min-width:0;overflow:hidden;}
.ad-badge{
  font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.06em;
  background:var(--red);color:var(--on-red);padding:2px 6px;border-radius:2px;
}
.ad-title{
  font-family:var(--serif);font-size:14.5px;color:var(--fg);white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;
}
.ad-meta{font-family:var(--mono);font-size:12px;color:var(--dim);white-space:nowrap;}
.ad-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.btn.micro{padding:4px 8px;font-size:12px;min-height:28px;}

/* Academic Graph Badges */
.badge-cite{
  font-family:var(--mono);font-size:11.5px;font-weight:600;padding:2px 7px;
  border-radius:3px;background:var(--panel);color:var(--dim);border:1px solid var(--rule);
  display:inline-flex;align-items:center;gap:4px;margin-left:6px;
}
.badge-inst{
  font-family:var(--sans);font-size:12.5px;color:var(--dim);margin-top:6px;
  display:block;line-height:1.4;
}

