:root{--bg:#fff;--fg:#0f172a;--muted:#64748b;--line:#e2e8f0;--soft:#f8fafc;--accent:#2563eb;--code:#f1f5f9;--ok:#16a34a;--warn:#d97706;--bad:#dc2626}
@media (prefers-color-scheme:dark){:root{--bg:#0b1220;--fg:#e5e7eb;--muted:#94a3b8;--line:#1f2a44;--soft:#111a2e;--accent:#60a5fa;--code:#16203a}}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
a{color:var(--accent)}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875em}
code{background:var(--code);padding:.1em .35em;border-radius:5px}pre{background:var(--code);padding:14px 16px;border-radius:10px;overflow:auto}pre code{background:none;padding:0}
.layout{display:flex;min-height:100vh}
nav.side{width:240px;flex:none;border-right:1px solid var(--line);padding:20px 14px;position:sticky;top:0;height:100vh;overflow:auto;background:var(--soft)}
nav.side .brand{font-weight:700;font-size:15px;padding:0 10px 14px}nav.side .brand span{color:var(--muted);font-weight:500;display:block;font-size:12px}
nav.side a{display:block;padding:7px 10px;border-radius:8px;color:var(--fg);text-decoration:none;font-size:14px}
nav.side a:hover{background:var(--code)}nav.side a.on{background:var(--accent);color:#fff}
main{flex:1;min-width:0;padding:32px clamp(18px,5vw,56px) 80px;max-width:980px}
h1{font-size:2rem;margin:.2em 0 .6em}h2{margin-top:2.2em;padding-top:.4em;border-top:1px solid var(--line)}h2:first-of-type{border-top:0}h4{margin:1.4em 0 .5em;color:var(--muted);text-transform:uppercase;font-size:.75rem;letter-spacing:.06em}
blockquote{margin:1em 0;padding:.6em 1em;border-left:4px solid var(--accent);background:var(--soft);border-radius:0 8px 8px 0}blockquote p{margin:.3em 0}
.tldr{padding:.2em 1em;background:var(--soft);border:1px solid var(--line);border-radius:10px;margin:1em 0}
.tablewrap{overflow-x:auto;margin:.6em 0}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{border:1px solid var(--line);padding:7px 10px;text-align:left;vertical-align:top}th{background:var(--soft)}
.endpoint{border:1px solid var(--line);border-radius:12px;padding:6px 18px 16px;margin:1em 0}
.endpoint .line{display:flex;gap:10px;align-items:center;margin-top:12px;flex-wrap:wrap}.path{font-size:1rem;background:none;padding:0;word-break:break-all}
.method{font-weight:700;font-size:.75rem;padding:3px 9px;border-radius:6px;color:#fff;background:var(--muted)}
.method.get{background:#2563eb}.method.post{background:#16a34a}.method.patch,.method.put{background:#d97706}.method.delete{background:#dc2626}
.req{color:var(--bad);font-size:.7rem;font-weight:600;margin-left:4px}.muted,.extra{color:var(--muted);font-size:.8rem}.servers{font-size:.85rem}
.resp{margin:.8em 0}.status{font-weight:700;font-size:.8rem;padding:2px 8px;border-radius:6px;color:#fff;background:var(--muted);margin-right:6px}.status.s2{background:var(--ok)}.status.s4{background:var(--warn)}.status.s5{background:var(--bad)}
footer{margin-top:60px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}
@media(max-width:800px){.layout{display:block}nav.side{position:static;width:auto;height:auto;border-right:0;border-bottom:1px solid var(--line)}}
