/* ImpAcc API docs — shared theme */
:root{
  --bg:#f7f9fc; --panel:#ffffff; --ink:#1f2933; --muted:#6b7280;
  --line:#e5e9f0; --accent:#1d4ed8; --accent2:#0ea5e9;
  --code-bg:#0f172a; --code-ink:#e2e8f0; --ok:#16a34a; --warn:#b45309;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:"Segoe UI",Tahoma,"Sarabun",system-ui,-apple-system,sans-serif;
  line-height:1.6;font-size:15.5px}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

/* top nav */
.topnav{position:sticky;top:0;z-index:50;background:#0b1224;color:#fff;
  display:flex;gap:4px;align-items:center;padding:10px 18px;flex-wrap:wrap;
  box-shadow:0 2px 10px rgba(0,0,0,.15)}
.topnav .brand{font-weight:700;margin-right:14px;display:flex;align-items:center;gap:8px}
.topnav a{color:#cbd5e1;padding:6px 12px;border-radius:8px;font-size:.92rem}
.topnav a:hover{background:rgba(255,255,255,.08);color:#fff;text-decoration:none}
.topnav a.active{background:var(--accent);color:#fff}
.topnav .spacer{flex:1}

/* layout */
.layout{display:grid;grid-template-columns:260px 1fr;max-width:1180px;margin:0 auto;gap:0}
.toc{position:sticky;top:54px;align-self:start;max-height:calc(100vh - 54px);overflow:auto;
  padding:22px 12px 40px 18px;border-right:1px solid var(--line);font-size:.9rem}
.toc h4{margin:6px 0 8px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}
.toc a{display:block;color:#374151;padding:3px 8px;border-radius:6px}
.toc a:hover{background:#eef2ff;text-decoration:none}
.toc a.lvl3{padding-left:20px;color:var(--muted);font-size:.86rem}
.toc .docnav{margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.toc .docnav a{color:#1f2933;font-weight:500}
.toc .docnav a.active{background:var(--accent);color:#fff;font-weight:600}
.toc .docnav a.active:hover{background:var(--accent)}
.content{padding:28px 40px 80px;min-width:0}
@media(max-width:880px){
  .layout{grid-template-columns:1fr}
  .content{padding:22px}
  /* Keep the doc page-list visible on mobile; only hide the long "On this page" TOC. */
  .toc{position:static;max-height:none;overflow:visible;border-right:none;
       border-bottom:1px solid var(--line);padding:12px 16px}
  .toc .pagetoc{display:none}
  .toc .docnav{margin:0;padding:0;border-bottom:none;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
  .toc .docnav h4{width:100%;margin:0 0 2px}
  .toc .docnav a{padding:5px 10px;border:1px solid var(--line);border-radius:999px;font-size:.85rem}
}

/* content typography */
.content h1{font-size:1.7rem;margin:.2em 0 .4em;padding-bottom:.3em;border-bottom:2px solid var(--line)}
.content h2{font-size:1.3rem;margin:1.6em 0 .5em;padding-bottom:.25em;border-bottom:1px solid var(--line)}
.content h3{font-size:1.08rem;margin:1.3em 0 .4em}
.content h4{font-size:.98rem;margin:1.1em 0 .3em;color:#374151}
.content p{margin:.6em 0}
.content code{background:#eef1f6;color:#b91c5c;padding:.12em .4em;border-radius:5px;font-size:.86em;
  font-family:ui-monospace,Menlo,Consolas,monospace}
.content pre{background:var(--code-bg);color:var(--code-ink);padding:14px 16px;border-radius:10px;
  overflow:auto;font-size:.84rem;line-height:1.5}
.content pre code{background:none;color:inherit;padding:0;font-size:inherit}
.content table{border-collapse:collapse;width:100%;margin:1em 0;font-size:.9rem;display:block;overflow:auto}
.content th,.content td{border:1px solid var(--line);padding:8px 11px;text-align:left;vertical-align:top}
.content th{background:#f1f5f9}
.content tr:nth-child(even) td{background:#fafbfd}
.content blockquote{margin:1em 0;padding:.6em 1em;background:#fff7ed;border-left:4px solid var(--warn);
  border-radius:0 8px 8px 0;color:#7c2d12}
.content blockquote p{margin:.2em 0}
.content hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.content ul,.content ol{padding-left:1.4em}
.anchor{position:relative;top:-46px;visibility:hidden}

/* landing cards */
.hero{max-width:1100px;margin:0 auto;padding:40px 24px 8px}
.hero h1{font-size:2rem;margin:0 0 6px}
.hero p{color:var(--muted);margin:0 0 6px}
.cards{max-width:1100px;margin:0 auto;padding:18px 24px 60px;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.card{display:block;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px 22px;
  box-shadow:0 6px 18px rgba(15,23,42,.05);transition:.15s}
.card:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(15,23,42,.1);text-decoration:none;border-color:var(--accent2)}
.card .ic{font-size:1.6rem}
.card h3{margin:.4em 0 .2em;color:var(--ink)}
.card p{color:var(--muted);font-size:.9rem;margin:0}
.tag{display:inline-block;background:#eef2ff;color:var(--accent);border-radius:999px;padding:2px 10px;font-size:.74rem;margin-top:10px}
.footer{max-width:1100px;margin:0 auto;padding:24px;color:var(--muted);font-size:.84rem;border-top:1px solid var(--line)}
