/* API reference and docs in the apistock design (docs/brand/theme.md,
   ADR-0049). Generated apps serve this at /docs; apistock.dev loads it
   before its own site.css. Dark is primary: the bare :root is dark and light
   is the redefinition. Code keeps the dark code ground in both themes.
   Square corners, hairlines, no shadows. Fonts are served with the page. */
@font-face { font-family:"Space Grotesk"; font-style:normal; font-weight:400 700; font-display:swap; src:url("fonts/spacegrotesk-v22-latin-ext.woff2") format("woff2"); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:"Space Grotesk"; font-style:normal; font-weight:400 700; font-display:swap; src:url("fonts/spacegrotesk-v22-latin.woff2") format("woff2"); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family:"JetBrains Mono"; font-style:normal; font-weight:400 700; font-display:swap; src:url("fonts/jetbrainsmono-v24-latin-ext.woff2") format("woff2"); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:"JetBrains Mono"; font-style:normal; font-weight:400 700; font-display:swap; src:url("fonts/jetbrainsmono-v24-latin.woff2") format("woff2"); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  --ground:#0c0c0a; --surface:#131310; --surface-2:#1a1a16; --code-bg:#0a0a08;
  --accent:#d8ff3e; --on-accent:#0c0c0a;
  --ink:#f0efe9; --muted:#a5a59a; --dim:#8a8a80;
  --hairline:#22221e; --border:#2a2a24; --border-2:#3a3a34;
  --danger:#ff8f6b; --label:#d8ff3e; --focus:#d8ff3e;
  --m1:#d8ff3e; --m2:#f0efe9; --m3:#6b6b63; --m4:#3a3a34;
  --btn-ink-bg:#f0efe9; --btn-ink-fg:#0c0c0a; --btn-ink-hover:#d9d8d0;
  --c-bg:#0a0a08; --c-line:#22221e; --c-ink:#f0efe9; --c-dim:#8a8a80; --c-mid:#c9c6bc; --c-key:#d8ff3e;
  --c-str:#b9c48a; --c-num:#e6c49f;
  --font-sans:"Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --dhead-h:106px;
  color-scheme:dark;
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    --ground:#fbfaf6; --surface:#f3f1ea; --surface-2:#ebe8df;
    --ink:#14140f; --muted:#57564f; --dim:#6e6d65;
    --hairline:#e2dfd5; --border:#c9c6bc; --border-2:#b3b0a5;
    --danger:#b3441e; --label:#57564f; --focus:#14140f;
    --m1:#14140f; --m2:#57564f; --m3:#8a8a80; --m4:#c9c6bc;
    --btn-ink-bg:#14140f; --btn-ink-fg:#fbfaf6; --btn-ink-hover:#3a3a34;
    color-scheme:light;
  }
}
:root[data-theme="light"] {
  --ground:#fbfaf6; --surface:#f3f1ea; --surface-2:#ebe8df;
  --ink:#14140f; --muted:#57564f; --dim:#6e6d65;
  --hairline:#e2dfd5; --border:#c9c6bc; --border-2:#b3b0a5;
  --danger:#b3441e; --label:#57564f; --focus:#14140f;
  --m1:#14140f; --m2:#57564f; --m3:#8a8a80; --m4:#c9c6bc;
  --btn-ink-bg:#14140f; --btn-ink-fg:#fbfaf6; --btn-ink-hover:#3a3a34;
  color-scheme:light;
}
body.ref-standalone { --dhead-h:61px; }

*, *::before, *::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-padding-top:calc(var(--dhead-h) + 20px); }
body { margin:0; background:var(--ground); color:var(--ink); font:400 17px/1.65 var(--font-sans); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
a { color:inherit; }
button, input, select, textarea { font:inherit; color:inherit; }
button { background:none; border:0; padding:0; cursor:pointer; }
code, pre, kbd { font-family:var(--font-mono); }
img, svg { max-width:100%; }
:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
::selection { background:var(--accent); color:var(--on-accent); }
h1, h2, h3, h4 { text-wrap:balance; margin:0; }
p { margin:0; text-wrap:pretty; }
[hidden] { display:none !important; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.skip { position:absolute; left:16px; top:-80px; z-index:100; background:var(--btn-ink-bg); color:var(--btn-ink-fg); padding:10px 14px; text-decoration:none; font-weight:500; }
.skip:focus { top:12px; }
.label { font:400 12px/1.2 var(--font-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--label); }
.icon { display:block; flex:none; }
.wordmark { font:700 20px/1 var(--font-sans); letter-spacing:-.05em; }
.dbrand { display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink); min-width:0; }
.dbrand .wordmark { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* Buttons */
.btn { display:inline-flex; align-items:center; gap:10px; height:44px; padding-inline:18px; font:500 15px/1 var(--font-sans); text-decoration:none; border:1px solid transparent; white-space:nowrap; }
.btn-ink { background:var(--btn-ink-bg); color:var(--btn-ink-fg); }
.btn-ink:hover { background:var(--btn-ink-hover); }
.btn-line { border-color:var(--border-2); color:var(--ink); }
.btn-line:hover { border-color:var(--ink); }
.btn-accent { background:var(--accent); color:var(--on-accent); }
.btn-accent:hover { background:#e6ff7a; }
.btn-sm { height:34px; padding-inline:12px; font-size:13px; }
.arrow { font-family:var(--font-mono); transition:transform .15s ease; }
.btn:hover .arrow, a:hover > .arrow { transform:translateX(3px); }
.copy { flex:none; font:400 11px/1 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; color:var(--c-dim); padding:6px 8px; border:1px solid var(--c-line); }
.copy:hover { color:var(--c-ink); border-color:#3a3a34; }
.iconbtn { width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--border); color:var(--muted); }
.iconbtn:hover { color:var(--ink); border-color:var(--border-2); }

/* Header and sidebar */
.dhead { position:sticky; top:0; z-index:50; background:var(--ground); border-bottom:1px solid var(--hairline); }
.dhead-top { height:60px; display:flex; align-items:center; gap:16px; padding-inline:clamp(16px, 2vw, 24px); }
.dbrand .suffix { font:400 13px/1 var(--font-mono); color:var(--dim); }
.search { margin-left:clamp(8px, 4vw, 48px); display:flex; align-items:center; gap:10px; width:min(360px, 36vw); height:36px; padding-inline:12px; border:1px solid var(--border); background:var(--surface); color:var(--dim); font-size:14px; flex:none; }
.search:hover { border-color:var(--border-2); color:var(--muted); }
.search kbd { margin-left:auto; font-size:11px; border:1px solid var(--border-2); padding:2px 6px; color:var(--dim); }
.dhead-end { margin-left:auto; display:flex; align-items:center; gap:8px; }
.ver { font:400 12px/1 var(--font-mono); border:1px solid var(--border); padding:10px; color:var(--muted); white-space:nowrap; }
.menu-btn { display:none; font:400 12px/1 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; border:1px solid var(--border); padding:10px 12px; }
.dtabs { height:46px; display:flex; gap:26px; padding-inline:clamp(16px, 2vw, 24px); overflow-x:auto; scrollbar-width:none; }
.dtabs::-webkit-scrollbar { display:none; }
.dtabs a { display:flex; align-items:center; font-size:14px; color:var(--muted); text-decoration:none; white-space:nowrap; border-bottom:2px solid transparent; }
.dtabs a:hover { color:var(--ink); }
.dtabs a[aria-current="page"] { color:var(--ink); border-bottom-color:var(--ink); font-weight:500; }

.dside { position:sticky; top:var(--dhead-h); align-self:start; height:calc(100dvh - var(--dhead-h)); overflow-y:auto; border-right:1px solid var(--hairline); padding:28px 16px 48px 0; font-size:14px; scrollbar-width:thin; }
.nav-group + .nav-group { margin-top:26px; }
.nav-group .label { color:var(--dim); display:block; margin:0 0 10px 12px; font-size:11px; }
.nav-group ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.nav-group a { display:flex; align-items:baseline; gap:10px; padding:6px 12px; color:var(--muted); text-decoration:none; border-left:2px solid transparent; line-height:1.4; }
.nav-group a:hover { color:var(--ink); background:var(--surface); }
.nav-group a[aria-current="page"] { color:var(--ink); background:var(--surface); border-left-color:var(--ink); font-weight:500; }
.nav-label { min-width:0; }
.filter { width:calc(100% - 12px); margin:0 0 22px 12px; height:34px; padding-inline:10px; border:1px solid var(--border); background:var(--surface); font:400 12px/1 var(--font-mono); color:var(--ink); border-radius:0; }
.filter::placeholder { color:var(--dim); }
.method { flex:none; width:38px; font:500 10px/1.4 var(--font-mono); letter-spacing:.04em; color:var(--dim); }
.method.post, .method.put { color:var(--ink); }
.method.patch { color:var(--muted); }
.method.delete { color:var(--danger); }

/* Page layouts */
.dlayout { max-width:1440px; margin-inline:auto; padding-inline:clamp(16px, 2vw, 24px); display:grid; grid-template-columns:250px minmax(0, 1fr) 220px; }
.dmain { padding:44px clamp(4px, 4vw, 64px) 96px; min-width:0; }
.doc { max-width:720px; margin-inline:auto; display:flex; flex-direction:column; gap:22px; }
.crumb { display:flex; flex-wrap:wrap; gap:8px; font:400 12px/1.2 var(--font-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--dim); }
.page-title { display:flex; justify-content:space-between; align-items:flex-start; gap:12px 16px; flex-wrap:wrap; }
.page-title h1 { font:700 clamp(34px, 4.6vw, 48px)/1.02 var(--font-sans); letter-spacing:-.045em; min-width:0; overflow-wrap:anywhere; }
.page-actions { display:flex; gap:8px; padding-top:6px; }
.pager { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; margin-top:10px; }
.pager a { border:1px solid var(--border); padding:16px 18px; text-decoration:none; display:flex; flex-direction:column; gap:6px; min-width:0; }
.pager a:hover { border-color:var(--ink); }
.pager .next { text-align:right; grid-column:2; }
.pager small { font:400 11px/1 var(--font-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--dim); }
.pager b { font-weight:500; font-size:17px; letter-spacing:-.02em; overflow-wrap:anywhere; }
@media (max-width:560px) { .pager { grid-template-columns:minmax(0, 1fr); } .pager .next { grid-column:1; } .pager > span { display:none; } }
.dtoc { position:sticky; top:var(--dhead-h); align-self:start; max-height:calc(100dvh - var(--dhead-h)); overflow-y:auto; padding:48px 0 40px 8px; font-size:13px; }
.dtoc .label { color:var(--dim); font-size:11px; display:block; margin-bottom:12px; }
.dtoc ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; border-left:1px solid var(--hairline); }
.dtoc a { display:block; padding:5px 12px; color:var(--muted); text-decoration:none; border-left:2px solid transparent; margin-left:-1px; line-height:1.4; }
.dtoc .l3 a { padding-left:24px; }
.dtoc a:hover { color:var(--ink); }
.dtoc a.on { color:var(--ink); border-left-color:var(--ink); }
.toc-actions { margin-top:24px; padding-top:18px; border-top:1px solid var(--hairline); display:flex; flex-direction:column; gap:10px; }
.toc-actions a, .toc-actions button { color:var(--muted); text-decoration:none; text-align:left; font:400 12px/1.4 var(--font-mono); }
.toc-actions a:hover, .toc-actions button:hover { color:var(--ink); }

/* Code */
.code { background:var(--c-bg); border:1px solid var(--c-line); min-width:0; color:var(--c-ink); }
.code-head { display:flex; align-items:center; gap:2px; min-height:40px; padding:0 6px 0 8px; border-bottom:1px solid var(--c-line); overflow-x:auto; scrollbar-width:none; }
.code-head::-webkit-scrollbar { display:none; }
.code-head .fname { font:400 12px/1 var(--font-mono); color:var(--c-dim); padding:0 6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.code-head .tab { flex:none; font:400 12px/1 var(--font-mono); color:var(--c-dim); padding:13px 10px 12px; border-bottom:1px solid transparent; margin-bottom:-1px; }
.code-head .tab:hover { color:var(--c-ink); }
.code-head .tab[aria-selected="true"] { color:var(--c-ink); border-bottom-color:var(--c-ink); }
.code-head .copy { margin-left:auto; }
.code pre { margin:0; padding:16px 18px; font-size:13px; line-height:1.8; overflow-x:auto; tab-size:4; }
.code pre code { font:inherit; background:none; border:0; padding:0; color:inherit; }
.code .k, .code .kd, .code .kn, .code .kr, .code .kt, .code .kp, .code .ow { color:var(--c-mid); font-weight:500; }
.code .kc, .code .m, .code .mi, .code .mf, .code .mh, .code .il { color:var(--c-num); }
.code .s, .code .s1, .code .s2, .code .sb, .code .sc, .code .sd, .code .se, .code .sh, .code .sx, .code .sr, .code .ss, .code .dl { color:var(--c-str); }
.code .si { color:var(--c-ink); }
.code .c, .code .c1, .code .cm, .code .ch, .code .cs, .code .cp, .code .cpf { color:var(--c-dim); font-style:italic; }
.code .nf, .code .fm, .code .nb, .code .bp { color:var(--c-ink); font-weight:500; }
.code .nt, .code .na { color:var(--c-key); }
.code .nv, .code .vc, .code .vg, .code .vi { color:var(--c-mid); }
.code .err { color:var(--c-ink); }

/* API reference */
.alayout { max-width:1560px; margin-inline:auto; padding-inline:clamp(16px, 2vw, 24px); display:grid; grid-template-columns:260px minmax(0, 1fr) minmax(360px, 460px); }
.amain { padding:40px clamp(4px, 3.5vw, 56px) 96px; min-width:0; border-right:1px solid var(--hairline); }
.amain-in { max-width:740px; display:flex; flex-direction:column; gap:22px; }
.endpoint { display:flex; align-items:center; gap:12px; border:1px solid var(--border); background:var(--surface); padding:6px; min-width:0; }
.endpoint .verb { flex:none; font:700 12px/1 var(--font-mono); letter-spacing:.04em; background:var(--btn-ink-bg); color:var(--btn-ink-fg); padding:9px 10px; }
.endpoint code { font-size:14px; overflow-x:auto; white-space:nowrap; flex:1; min-width:0; scrollbar-width:none; }
.endpoint code i { font-style:normal; color:var(--dim); }
.endpoint .copy { color:var(--dim); border-color:var(--border); }
.endpoint .copy:hover { color:var(--ink); border-color:var(--border-2); }
@media (max-width:520px) { .endpoint { flex-wrap:wrap; } .endpoint code { flex-basis:calc(100% - 70px); } }
.op-desc { font-size:17px; color:var(--muted); }
.op-desc p { margin:0; }
.op-desc p + p { margin-top:12px; }
.op-desc code, .param p code, .op-note code, .try-note code, .ref-overview :not(pre) > code { font-size:.86em; background:var(--surface); border:1px solid var(--hairline); padding:1px 5px; overflow-wrap:anywhere; }
.op-desc a, .param p a, .ref-overview p a { text-decoration:underline; text-decoration-color:var(--border-2); text-underline-offset:3px; }
.asec { display:flex; flex-direction:column; }
.asec-h { display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding-bottom:10px; border-bottom:1px solid var(--hairline); }
.asec-h h2 { font:500 18px/1.2 var(--font-sans); letter-spacing:-.02em; }
.asec-h span { font:400 12px/1 var(--font-mono); color:var(--dim); text-align:right; }
.param { padding-block:16px; border-bottom:1px solid var(--hairline); display:flex; flex-direction:column; gap:8px; }
.param-top { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 12px; font-family:var(--font-mono); font-size:13px; }
.param-top b { font-weight:500; color:var(--ink); overflow-wrap:anywhere; }
.param-top .type { color:var(--dim); }
.param-top .req { font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--danger); border:1px solid color-mix(in srgb, var(--danger) 45%, transparent); padding:2px 5px; }
.param p { font-size:15px; color:var(--muted); line-height:1.55; }
.constraints { display:flex; flex-wrap:wrap; gap:6px; }
.constraints code { font-size:11px; color:var(--muted); border:1px solid var(--border); padding:3px 6px; overflow-wrap:anywhere; }
.children { margin-top:4px; border:1px solid var(--hairline); }
.children > summary { cursor:pointer; list-style:none; font:400 12px/1 var(--font-mono); color:var(--muted); padding:11px 12px; }
.children > summary::-webkit-details-marker { display:none; }
.children > summary::before { content:"+ "; color:var(--dim); }
.children[open] > summary::before { content:"- "; }
.children > .param { padding-inline:14px; }
.children > .param:last-child { border-bottom:0; }
.resp { display:grid; grid-template-columns:70px minmax(0, 1fr); gap:4px 16px; padding-block:13px; border-bottom:1px solid var(--hairline); align-items:baseline; }
.resp .st { font:500 13px/1 var(--font-mono); display:flex; align-items:center; gap:8px; font-variant-numeric:tabular-nums; }
.resp .st::before { content:""; width:7px; height:7px; background:var(--danger); }
.resp.ok .st::before { background:var(--ink); }
.resp p { font-size:15px; color:var(--muted); }
.op-note { font-size:14px; color:var(--dim); }

.apanel { position:sticky; top:var(--dhead-h); align-self:start; max-height:calc(100dvh - var(--dhead-h)); overflow-y:auto; padding:40px 0 40px clamp(16px, 2vw, 28px); display:flex; flex-direction:column; gap:14px; scrollbar-width:thin; }
.apanel .code pre { max-height:380px; }
.panel-label { display:flex; justify-content:space-between; font:400 11px/1 var(--font-mono); letter-spacing:.1em; text-transform:uppercase; color:var(--dim); margin-top:6px; }
.try { border:1px solid var(--border); background:var(--surface); padding:18px; display:flex; flex-direction:column; gap:14px; }
.try-h { display:flex; justify-content:space-between; align-items:center; }
.try-h b { font-weight:500; letter-spacing:-.02em; }
.try .copy { color:var(--dim); border-color:var(--border); }
.try .btn { align-self:flex-start; }
.field { display:flex; flex-direction:column; gap:6px; }
.field label { font:400 11px/1 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; color:var(--dim); }
.field label span { text-transform:none; letter-spacing:0; opacity:.8; }
.field input, .field textarea { width:100%; border:1px solid var(--border); background:var(--ground); font:400 13px/1.5 var(--font-mono); color:var(--ink); border-radius:0; }
.field input { height:36px; padding-inline:10px; }
.field textarea { padding:10px; resize:vertical; }
.field input:focus, .field textarea:focus { border-color:var(--ink); outline:none; }
.try-note { font-size:14px; line-height:1.55; color:var(--muted); border-top:1px solid var(--hairline); padding-top:12px; }

.ref-overview { display:flex; flex-direction:column; gap:18px; min-width:0; }
.ref-overview > * { margin:0; }
.ref-intro { display:flex; flex-direction:column; gap:12px; color:var(--ink); }
.ref-intro p { margin:0; }
.ref-overview h2 { font:700 clamp(24px, 2.6vw, 28px)/1.15 var(--font-sans); letter-spacing:-.035em; margin-top:30px; }
.ref-overview h3 { font:500 19px/1.3 var(--font-sans); letter-spacing:-.02em; margin-top:14px; }
.ref-overview .anchor { margin-left:.35em; color:var(--dim); text-decoration:none; font-weight:400; opacity:0; }
.ref-overview h2:hover .anchor, .ref-overview .anchor:focus-visible { opacity:1; }
.fields { border-top:1px solid var(--hairline); }
.endpoints { border-top:1px solid var(--hairline); display:flex; flex-direction:column; }
.ep { display:grid; grid-template-columns:44px minmax(0, 1.2fr) minmax(0, 1fr); gap:12px; align-items:baseline; padding:10px 0; border-bottom:1px solid var(--hairline); text-decoration:none; }
.ref-overview .ep code { font-size:13px; background:none; border:0; padding:0; overflow-wrap:anywhere; }
.ep-sum { color:var(--muted); font-size:15px; }
.ep:hover code { text-decoration:underline; text-underline-offset:3px; }
@media (max-width:640px) { .ep { grid-template-columns:44px minmax(0, 1fr); } .ep-sum { grid-column:2; } }

.ref-nf { max-width:720px; margin-inline:auto; min-height:80vh; display:flex; flex-direction:column; justify-content:center; gap:20px; padding-inline:clamp(16px, 4vw, 32px); }
.nf-code { font:700 clamp(72px, 14vw, 160px)/.85 var(--font-sans); letter-spacing:-.06em; color:var(--border-2); }
.ref-nf h1 { font:700 clamp(30px, 4vw, 44px)/1.05 var(--font-sans); letter-spacing:-.04em; }
.ref-nf p:not(.nf-code) { color:var(--muted); }

/* Search */
dialog.search-dlg { width:min(660px, calc(100vw - 32px)); max-height:min(580px, calc(100dvh - 96px)); margin-top:12vh; padding:0; border:1px solid var(--border-2); background:var(--surface); color:var(--ink); }
dialog.search-dlg::backdrop { background:rgba(12, 12, 10, .62); }
.sd-in { display:flex; align-items:center; gap:12px; padding:0 16px; border-bottom:1px solid var(--border); color:var(--dim); }
.sd-in input { flex:1; min-width:0; height:56px; border:0; background:none; font-size:18px; outline:none; color:var(--ink); }
.sd-in input::-webkit-search-cancel-button { display:none; }
.sd-in kbd { font-size:11px; border:1px solid var(--border-2); padding:2px 6px; }
.sd-list { list-style:none; margin:0; padding:8px; overflow-y:auto; max-height:420px; }
.sd-list .grp { font:400 11px/1 var(--font-mono); letter-spacing:.12em; text-transform:uppercase; color:var(--dim); padding:14px 10px 8px; }
.sd-list a { display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:12px; padding:10px; text-decoration:none; align-items:baseline; }
.sd-list a:hover, .sd-list a.sel { background:var(--surface-2); }
.sd-list a span { font-size:15px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sd-list a span small { color:var(--dim); font-size:13px; }
.sd-list a code { font-size:11px; color:var(--dim); max-width:260px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sd-empty { padding:24px 18px; color:var(--muted); font-size:15px; }
.sd-foot { display:flex; gap:18px; padding:10px 16px; border-top:1px solid var(--border); font:400 11px/1 var(--font-mono); color:var(--dim); }

/* Narrower screens */
@media (max-width:1240px) {
  .alayout { grid-template-columns:240px minmax(0, 1fr); }
  .amain { border-right:0; }
  .apanel { grid-column:2; position:static; max-height:none; overflow:visible; padding:0 clamp(4px, 3.5vw, 56px) 80px; }
}
@media (max-width:1180px) { .dlayout { grid-template-columns:230px minmax(0, 1fr); } .dtoc { display:none; } }
@media (max-width:860px) {
  .dlayout, .alayout { grid-template-columns:minmax(0, 1fr); }
  .dmain, .amain { padding-inline:0; }
  .apanel { grid-column:1; padding-inline:0; }
  .dside { display:none; }
  .dside.open { display:block; position:fixed; inset:var(--dhead-h) 0 0 0; height:auto; z-index:45; background:var(--ground); padding:24px 16px 48px; border-right:0; }
  .search { width:36px; padding:0; justify-content:center; margin-left:auto; }
  .search span, .search kbd, .ver, .hide-sm { display:none; }
  .menu-btn { display:block; }
  .dhead-end { margin-left:0; }
}

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