:root{--ink:#0E1116;--ink-2:#1B1F26;--ink-3:#2A2E36;--bone:#F1ECE2;--paper:#E4DCC8;--paper-deep:#D5CBB3;--stone:#7E7869;--stone-soft:#B5AE9E;--mist:#C7CDD5;--ember:#C4582E;--ember-soft:#DD8765;--ember-deep:#8A3D1F;--bg:#F1ECE2;--surface:#FFFFFF;--surface-alt:#E4DCC8;--text:#0E1116;--text-body:#2A2E36;--text-muted:#5F5B51;--text-on-dark:#F1ECE2;--text-on-dark-muted:#B5AE9E;--border:#D5CBB3;--border-strong:#7E7869;--accent:#C4582E;--accent-text:#9C4829;--accent-on-dark:#DD8765;--ember-cta:#BE5529;--chrome:#0E1116;--danger:#A3271F;--success:#2F6B3F;--warning:#8A5A00;--font-serif:"Fraunces","Times New Roman",serif;--font-sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;--wordmark-tracking:0.28em}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text-body);font:400 16px/1.65 var(--font-sans);-webkit-font-smoothing:antialiased}a{color:var(--accent-text)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.layout{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:100vh}.side{background:var(--chrome);padding:22px 16px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.side,.side a{color:var(--text-on-dark-muted)}.side a{text-decoration:none;display:block;padding:5px 10px;border-radius:6px;font-size:14px}.side a:hover,.side a[aria-current=page]{color:var(--text-on-dark);background:var(--ink-3)}.side__group{margin-top:18px}.side__label{font:500 10px/1 var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--text-on-dark-muted);padding:0 10px 8px}.lockup,.side a.lockup{display:inline-flex;align-items:center;gap:10px;color:var(--text-on-dark);text-decoration:none;padding:0 10px}.lockup svg{width:22px;height:22px;flex:none}.side a.lockup:hover{background:none}.lockup__word{font:600 14px/1 var(--font-sans);letter-spacing:var(--wordmark-tracking);text-transform:uppercase}.lockup__desc{font:500 13px/1 var(--font-sans);color:var(--text-on-dark-muted)}.badge-internal{display:inline-block;margin:10px 10px 0;padding:3px 8px;border-radius:999px;background:var(--danger);color:#FFFFFF;font:600 11px/1.4 var(--font-sans)}.main{padding:40px clamp(16px,4vw,56px);max-width:980px}.eyebrow{font:500 11px/1 var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.main h1{font:400 italic clamp(30px,4vw,42px)/1.15 var(--font-serif);color:var(--text);margin:10px 0 18px}.prose h2{font:600 21px/1.3 var(--font-sans);color:var(--text);margin:36px 0 12px}.prose h3{font:600 17px/1.3 var(--font-sans);color:var(--text);margin:28px 0 10px}.prose ol,.prose p,.prose ul{margin:0 0 14px}.prose code{font:400 13.5px/1.5 var(--font-mono);background:var(--surface-alt);padding:1px 5px;border-radius:4px}.prose pre{background:var(--ink-2);color:var(--text-on-dark);padding:16px;border-radius:10px;overflow-x:auto}.prose pre code{background:none;padding:0;color:inherit}.prose table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:14px;display:block;overflow-x:auto}.prose td,.prose th{text-align:left;border-bottom:1px solid var(--border);padding:8px 10px;vertical-align:top}.prose th{background:var(--surface-alt);color:var(--text);font-weight:600}.prose blockquote{margin:0 0 14px;padding:10px 14px;border-left:3px solid var(--accent);background:var(--surface)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:16px;gap:16px;margin-top:24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px;text-decoration:none;color:var(--text-body);display:grid;grid-gap:6px;gap:6px}.card strong{color:var(--text)}.op{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px 18px;margin:0 0 14px}.op__head{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.method{font:600 12px/1 var(--font-mono);padding:5px 7px;border-radius:5px;color:#FFFFFF;background:var(--ink-3)}.method--post{background:var(--success)}.method--patch,.method--put{background:var(--warning)}.method--delete{background:var(--danger)}.path{font:400 14px/1.4 var(--font-mono);color:var(--text);word-break:break-all}.muted{color:var(--text-muted)}.muted,.toc{font-size:14px}.toc{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 22px}.menu-toggle{display:none}@media (max-width:860px){.layout{grid-template-columns:1fr}.side{position:static;height:auto}}