/* PDFMint API reference — layout + components on top of app.css tokens. */

:root{
  --docs-maxw:1420px;
  --sidebar-w:250px;
  --get:#1668c9; --post:#0b7a5b; --put:#a1690b; --del:#c0392b;
  --tint:#eef8f4;
  --warn-bg:#fdf6e3; --warn-rule:#e8d9a8; --warn-ink:#6b5310;
}
@media (prefers-color-scheme:dark){
  :root{
    --get:#6aa9f0; --post:#43c79c; --put:#dfae5a; --del:#e8776a;
    --tint:#132520;
    --warn-bg:#241f12; --warn-rule:#4a3f22; --warn-ink:#e2cd94;
  }
}

/* ------------------------------------------------------------------ shell */

body.docs{overflow-x:hidden}

.docs-top{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.85rem 1.25rem;border-bottom:1px solid var(--rule);
  position:sticky;top:0;background:var(--bg);z-index:30;
}
.docs-top nav{display:flex;gap:1.1rem;align-items:center;font-size:.9rem;flex-wrap:wrap;justify-content:flex-end}
.docs-top .cta{background:var(--accent);color:#fff;padding:.4rem .8rem;border-radius:8px;font-weight:600}
.docs-top .cta:hover{background:var(--accent-ink);text-decoration:none}

.layout{
  max-width:var(--docs-maxw);margin:0 auto;
  display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);
  gap:2.5rem;padding:0 1.25rem;
}

/* --------------------------------------------------------------- sidebar */

.toc{position:sticky;top:57px;align-self:start;max-height:calc(100vh - 57px);overflow-y:auto;
  padding:1.5rem .5rem 3rem 0;font-size:.875rem;line-height:1.45}
.toc h2{font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);
  margin:1.4rem 0 .45rem;font-weight:700}
.toc h2:first-child{margin-top:0}
.toc ul{list-style:none;margin:0;padding:0}
.toc li{margin:0}
.toc a{display:block;color:var(--muted);padding:.2rem .55rem;border-radius:6px;
  border-left:2px solid transparent;margin-left:-2px}
.toc a:hover{color:var(--ink);background:var(--panel);text-decoration:none}
.toc a.sub{padding-left:1.1rem;font-size:.83rem}
.toc a.active{color:var(--accent-ink);border-left-color:var(--accent);background:var(--tint);font-weight:600}
.toc-toggle{display:none}

/* --------------------------------------------------------------- content */

.content{min-width:0;width:100%;max-width:none;margin:0;padding:1.75rem 0 6rem}
.content > section{scroll-margin-top:72px}
.content h1{font-size:2.1rem;margin:0 0 .3rem}
.content h2{font-size:1.5rem;margin:3.2rem 0 .7rem;padding-top:.4rem;scroll-margin-top:72px}
.content h3{font-size:1.1rem;margin:2rem 0 .5rem;scroll-margin-top:72px}
.content h4{font-size:.95rem;margin:1.5rem 0 .4rem;scroll-margin-top:72px}
.content p{margin:.7rem 0}
.content ul,.content ol{margin:.7rem 0;padding-left:1.3rem}
.content li{margin:.3rem 0}
.lede{font-size:1.1rem;color:var(--muted);margin-top:.2rem}

.anchor{color:var(--muted);opacity:0;font-weight:400;margin-left:.4rem;font-size:.8em;text-decoration:none}
h2:hover .anchor,h3:hover .anchor,h4:hover .anchor{opacity:.55}
.anchor:hover{opacity:1 !important;text-decoration:none}

/* ----------------------------------------------------------------- bits */

.pill{display:inline-block;font-family:var(--mono);font-size:.72rem;font-weight:700;
  letter-spacing:.04em;padding:.15rem .45rem;border-radius:5px;border:1px solid currentColor;
  vertical-align:.12em;margin-right:.5rem}
.pill.get{color:var(--get)} .pill.post{color:var(--post)}
.pill.put{color:var(--put)} .pill.del{color:var(--del)}
.path{font-family:var(--mono);font-size:.95em}

.note{background:var(--panel);border:1px solid var(--rule);border-left:3px solid var(--accent);
  padding:.75rem 1rem;border-radius:8px;margin:1.1rem 0;font-size:.93rem}
.note.warn{border-left-color:var(--put);background:var(--warn-bg);border-color:var(--warn-rule);color:var(--warn-ink)}
.note p:first-child{margin-top:0} .note p:last-child{margin-bottom:0}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.9rem;margin:1.2rem 0}
.cards .c{border:1px solid var(--rule);border-radius:var(--radius);padding:.9rem 1rem;background:var(--panel)}
.cards .c strong{display:block;font-size:.95rem}
.cards .c span{color:var(--muted);font-size:.86rem}

/* ---------------------------------------------------------------- tables */

.tw{overflow-x:auto;margin:1.1rem 0;border:1px solid var(--rule);border-radius:var(--radius)}
.tw table{border-collapse:collapse;width:100%;min-width:560px;font-size:.875rem}
.tw th{text-align:left;font-weight:650;color:var(--muted);background:var(--panel);
  padding:.55rem .75rem;border-bottom:1px solid var(--rule);white-space:nowrap;font-size:.78rem;
  text-transform:uppercase;letter-spacing:.05em}
.tw td{padding:.55rem .75rem;border-bottom:1px solid var(--rule);vertical-align:top}
.tw tr:last-child td{border-bottom:0}
.tw td code{white-space:nowrap}
.tw td:first-child{white-space:nowrap}
.tw td.wrap,.tw td.wrap code{white-space:normal}
.tw .t{color:var(--muted);font-family:var(--mono);font-size:.82rem;white-space:nowrap}

/* ------------------------------------------------------------ code block */

.code{position:relative;margin:1rem 0}
.code pre{margin:0;overflow-x:auto;max-width:100%;padding-right:4.5rem}
.code .copy{position:absolute;top:.5rem;right:.5rem;font-size:.72rem;font-weight:600;
  padding:.28rem .55rem;border-radius:6px;background:var(--panel);color:var(--muted);
  border:1px solid var(--rule);opacity:.75}
.code:hover .copy,.code .copy:focus{opacity:1}
.code .copy:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.code .cap{font-size:.75rem;color:var(--muted);font-family:var(--mono);
  padding:.35rem .2rem .1rem;letter-spacing:.02em}

.tabs{display:flex;gap:.35rem;flex-wrap:wrap;margin:1.2rem 0 -.4rem}
.tabs button{background:transparent;color:var(--muted);border:1px solid var(--rule);
  padding:.34rem .75rem;font-size:.84rem;font-weight:600;border-radius:7px}
.tabs button[aria-selected="true"]{background:var(--accent);color:#fff;border-color:var(--accent)}
.tabs button:hover{background:var(--panel)}
.tabs button[aria-selected="true"]:hover{background:var(--accent-ink)}
.panel[hidden]{display:none}

/* ------------------------------------------------------------- responsive */

@media (max-width:960px){
  .layout{grid-template-columns:minmax(0,1fr);gap:0;padding:0 1rem}
  .toc{position:static;max-height:none;overflow:visible;padding:0;margin:1rem 0 0;
    border:1px solid var(--rule);border-radius:var(--radius);background:var(--panel)}
  .toc-toggle{display:block;width:100%;text-align:left;background:transparent;color:var(--ink);
    font-weight:650;padding:.75rem 1rem;font-size:.95rem}
  .toc-toggle::after{content:"▾";float:right;color:var(--muted)}
  .toc-toggle[aria-expanded="true"]::after{content:"▴"}
  .toc-body{padding:0 1rem 1rem}
  .toc-body[hidden]{display:none}
  .toc a{padding:.3rem .5rem}
  .toc a.active{background:var(--bg)}
  .content{padding-top:1.25rem}
  .content h1{font-size:1.7rem}
  .content h2{font-size:1.3rem;margin-top:2.6rem}
}
@media (max-width:520px){
  .docs-top{padding:.7rem .9rem}
  .docs-top .logo{font-size:1.05rem}
  /* One row, always: the section links live in the TOC right below anyway. */
  .docs-top nav{gap:.75rem;font-size:.83rem;flex-wrap:nowrap}
  .docs-top nav a:not(.cta){display:none}
  .docs-top nav a[href="/dashboard"]{display:inline}
  .layout{padding:0 .9rem}
  .content h1{font-size:1.45rem}
  .lede{font-size:1rem}
  pre{font-size:.78rem;padding:.85rem}
  .code pre{padding-right:.85rem}
  .code .copy{position:static;display:block;margin:.4rem 0 0;opacity:1}
  .tw table{min-width:660px;font-size:.83rem}
  .tw th,.tw td{padding:.5rem .6rem}
}
