:root{--paper:#efe6d6;--paper-deep:#e4d9c4;--surface:#f7f1e6;--rail:#e8decc;--ink:#1a1a18;--muted:#4a453c;--line:#c9bba3;--blue:#1f4b99;--blue-deep:#163a78;--red:#c4382a;--sun:#d4920f;--success:#2f6b4f;--code-bg:#1a1a18;--code-ink:#f3ebe0;--font:"Archivo","Segoe UI",sans-serif;--display:"Archivo Narrow","Archivo",sans-serif;--mono:"IBM Plex Mono","SF Mono",ui-monospace,monospace;--sidebar:272px;--max:760px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.55}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.28;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E");mix-blend-mode:multiply}a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--blue-deep)}code,kbd{font-family:var(--mono);font-size:.86em;background:color-mix(in oklab,var(--rail) 70%,white);border:1px solid var(--line);border-radius:4px;padding:.1em .35em}pre code{background:transparent;border:0;padding:0;font-size:.82rem;line-height:1.55;color:inherit}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.shell{display:grid;min-height:100vh;grid-template-columns:var(--sidebar) 1fr}.sidebar{position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100vh;overflow:auto;background:var(--rail);border-right:1px solid var(--line);padding:20px 16px 40px}.brand{display:flex;flex-direction:column;gap:2px;margin-bottom:20px;padding:4px 8px 16px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.brand strong{font-family:var(--display);font-size:1.35rem;letter-spacing:-.03em;color:var(--blue)}.brand span{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.nav-group{margin-bottom:18px}.nav-group h2{margin:0 0 8px;padding:0 8px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.nav-group a{display:block;padding:7px 8px;border-radius:6px;color:var(--ink);text-decoration:none;font-size:13.5px;font-weight:500}.nav-group a:hover{background:color-mix(in oklab,var(--paper) 70%,transparent)}.nav-group a.active{background:var(--blue);color:#fff}.main{min-width:0;background:radial-gradient(900px 420px at 100% -10%,color-mix(in oklab,var(--blue) 12%,transparent),transparent 55%),var(--paper)}.topbar{display:none;position:-webkit-sticky;position:sticky;top:0;z-index:20;align-items:center;gap:10px;padding:12px 16px;background:color-mix(in oklab,var(--paper) 92%,white);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topbar button{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px 12px;font:inherit;font-weight:600;cursor:pointer}.content{max-width:calc(var(--max) + 48px);margin:0 auto;padding:36px 24px 96px}.prose h1{font-family:var(--display);font-size:clamp(1.85rem,4vw,2.5rem);letter-spacing:-.03em;line-height:1.1;margin:0 0 12px}.prose .lede{font-size:1.05rem;color:var(--muted);max-width:58ch;margin:0 0 28px}.prose h2{font-family:var(--display);font-size:1.35rem;letter-spacing:-.02em;margin:2.2rem 0 .7rem;padding-top:.4rem;border-top:1px solid var(--line)}.prose h2:first-of-type{border-top:0;padding-top:0}.prose h3{font-size:1.02rem;margin:1.5rem 0 .5rem}.prose ol,.prose p,.prose ul{margin:0 0 1rem}.prose ol,.prose ul{padding-left:1.25rem}.prose li{margin-bottom:.35rem}.prose strong{font-weight:650}.prose table{width:100%;border-collapse:collapse;font-size:.92rem;margin:0 0 1.25rem}.prose td,.prose th{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}.prose th{background:var(--rail);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.pager{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}.pager a{display:block;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}.pager a:hover{transform:translate(-1px,-1px);box-shadow:2px 2px 0 color-mix(in oklab,var(--blue) 35%,transparent)}.pager .label{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.pager .title{font-weight:650;color:var(--blue)}.pager .next{text-align:right}.code{position:relative;margin:0 0 1.25rem;border:1px solid #2a2a28;border-radius:10px;overflow:hidden;background:var(--code-bg);color:var(--code-ink);box-shadow:3px 3px 0 color-mix(in oklab,var(--blue) 25%,transparent)}.code-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;background:#242422;border-bottom:1px solid #333;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#a8a29a}.code-bar button{border:1px solid #444;background:transparent;color:#d6d3d1;border-radius:6px;padding:4px 8px;font:inherit;font-size:11px;cursor:pointer}.code pre{margin:0;padding:14px 16px;overflow-x:auto}.callout{border:1px solid var(--line);border-left:3px solid var(--blue);background:var(--surface);border-radius:0 10px 10px 0;padding:12px 14px;margin:0 0 1.25rem}.callout.warn{border-left-color:var(--sun)}.callout.danger{border-left-color:var(--red)}.callout.ok{border-left-color:var(--success)}.callout .kicker{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px;color:var(--muted)}.callout p:last-child{margin-bottom:0}.endpoint{border:1px solid var(--line);border-radius:10px;background:var(--surface);margin:0 0 1rem;overflow:hidden}.endpoint-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--rail)}.method{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.04em;padding:3px 7px;border-radius:4px;color:#fff}.method.get{background:var(--success)}.method.post{background:var(--blue)}.method.patch{background:var(--sun)}.method.delete{background:var(--red)}.endpoint-path{font-family:var(--mono);font-size:13px;font-weight:600}.endpoint-body{padding:12px 14px}.endpoint-body p:last-child{margin-bottom:0}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px;margin:0 0 1.5rem}.card-grid a{display:block;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}.card-grid a:hover{transform:translate(-1px,-1px);box-shadow:2px 2px 0 color-mix(in oklab,var(--blue) 30%,transparent)}.card-grid strong{display:block;color:var(--blue);margin-bottom:4px}.card-grid span{font-size:13px;color:var(--muted)}.sidebar-overlay{display:none}@media (max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:min(var(--sidebar),86vw);z-index:40;transform:translateX(-105%);transition:transform .2s ease}.shell.nav-open .sidebar{transform:none}.sidebar-overlay{display:none;position:fixed;inset:0;z-index:30;background:rgba(26,26,24,.4)}.shell.nav-open .sidebar-overlay{display:block}.topbar{display:flex}.content{padding:24px 16px 80px}.pager{grid-template-columns:1fr}.pager .next{text-align:left}}