@font-face { font-family:'Archivo'; font-style:normal; font-weight:100 900; font-display:swap; src:url("fonts/archivo-variable.3084864834b6.ttf") format('truetype'); }
@font-face { font-family:'DM Sans'; font-style:normal; font-weight:400; font-display:swap; src:url("fonts/dm-sans-400.c26dd178864e.ttf") format('truetype'); }
@font-face { font-family:'DM Sans'; font-style:normal; font-weight:600; font-display:swap; src:url("fonts/dm-sans-600.e783b4d0a9b7.ttf") format('truetype'); }
@font-face { font-family:'DM Sans'; font-style:normal; font-weight:700; font-display:swap; src:url("fonts/dm-sans-700.411346eea6cd.ttf") format('truetype'); }
:root {
  color-scheme:light;
  --ink:#1b1417; --muted:#6c5f64; --line:#e8dcdf; --paper:#faf7f7; --surface:#ffffff;
  --brand:#c81d25; --gold:#b98b22; --gold-soft:#f8efd9; --side:#121014; --side-ink:#d8ccd0;
  --code-bg:#17141a; --code-ink:#ece6e8; --code-muted:#9d9097; --ok:#23704a; --warn:#9a2530;
  --display:'Archivo', 'Helvetica Neue', Arial, sans-serif;
  --body:'DM Sans', 'Helvetica Neue', Arial, sans-serif;
  --mono:ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
}
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.65 var(--body); -webkit-font-smoothing:antialiased; }
a { color:var(--brand); text-underline-offset:3px; }
:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
h1,h2,h3 { font-family:var(--display); line-height:1.2; text-wrap:balance; margin:0; }
h1 { font-size:clamp(30px,4vw,44px); letter-spacing:-.8px; }
h2 { font-size:26px; letter-spacing:-.4px; padding-top:8px; }
h3 { font-size:19px; }
p { margin:0; }
code { font-family:var(--mono); font-size:.88em; background:var(--gold-soft); padding:1px 6px; border-radius:4px; overflow-wrap:anywhere; }
.docs { display:grid; grid-template-columns:260px minmax(0,1fr); min-height:100dvh; }
.docs-side { background:var(--side); color:var(--side-ink); padding:28px 18px; position:sticky; top:0; height:100dvh; overflow-y:auto; display:flex; flex-direction:column; gap:22px; }
.docs-brand { font-family:var(--display); font-weight:700; font-size:22px; color:#f1dfae; letter-spacing:-.3px; line-height:1.2; }
.docs-brand small { display:block; font:600 11px/1.4 var(--body); letter-spacing:2.4px; text-transform:uppercase; color:#b7a9ae; margin-top:6px; }
.docs-side nav { display:flex; flex-direction:column; gap:2px; }
.docs-side nav a { color:var(--side-ink); text-decoration:none; padding:7px 10px; border-radius:6px; font-size:15px; }
.docs-side nav a:hover { background:#2a2329; color:#fff; }
.docs-side .nav-group { font:600 11px/1 var(--body); letter-spacing:1.6px; text-transform:uppercase; color:#8f8189; padding:14px 10px 6px; }
.docs-side form { margin-top:auto; }
.docs-side button.lock { width:100%; background:transparent; color:var(--side-ink); border:1px solid #3a3238; border-radius:8px; padding:9px; font:600 14px var(--body); cursor:pointer; }
.docs-side button.lock:hover { border-color:#6f5f67; color:#fff; }
.docs-main { padding:48px clamp(16px,5vw,64px) 96px; max-width:1000px; min-width:0; display:flex; flex-direction:column; gap:44px; }
.docs-main > header { display:flex; flex-direction:column; gap:14px; padding-bottom:28px; border-bottom:2px solid var(--ink); }
.eyebrow { font:600 12px/1 var(--body); letter-spacing:2px; text-transform:uppercase; color:var(--gold); }
.lead { font-size:18px; color:var(--muted); max-width:68ch; }
.meta { display:flex; flex-wrap:wrap; gap:8px 18px; font-size:14px; color:var(--muted); }
.meta strong { color:var(--ink); }
section { display:flex; flex-direction:column; gap:16px; scroll-margin-top:24px; }
section p, section li { max-width:72ch; }
ul, ol { margin:0; padding-left:22px; display:flex; flex-direction:column; gap:6px; }
.endpoint { border:1px solid var(--line); background:var(--surface); border-radius:10px; padding:22px; display:flex; flex-direction:column; gap:14px; scroll-margin-top:24px; }
.route { display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-family:var(--mono); font-size:15px; }
.method { font:700 12px/1 var(--body); letter-spacing:1px; background:#e3f1e8; color:var(--ok); padding:6px 9px; border-radius:5px; }
.route code { background:none; padding:0; font-size:15px; }
.method.post { background:#fdeccd; color:#8a5a00; }
.scope { font:600 11px/1 var(--body); letter-spacing:1px; text-transform:uppercase; color:var(--brand); border:1px solid #efc5c8; padding:5px 8px; border-radius:5px; }
.table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
table { border-collapse:collapse; width:100%; font-size:14.5px; }
th { text-align:left; font:600 12px/1.3 var(--body); letter-spacing:1px; text-transform:uppercase; color:var(--muted); background:#f4eeef; }
th, td { padding:10px 14px; border-bottom:1px solid var(--line); vertical-align:top; }
tr:last-child td { border-bottom:0; }
td:first-child { white-space:nowrap; }
.code { background:var(--code-bg); color:var(--code-ink); border-radius:10px; overflow:hidden; }
.code-bar { display:flex; align-items:center; gap:4px; padding:8px 10px 8px 14px; border-bottom:1px solid #2d272f; flex-wrap:wrap; }
.code-bar .title { font:600 12px/1 var(--body); letter-spacing:1.2px; text-transform:uppercase; color:var(--code-muted); margin-right:auto; }
.tab { background:transparent; border:0; color:var(--code-muted); font:600 13px var(--body); padding:6px 10px; border-radius:6px; cursor:pointer; }
.tab[aria-selected="true"] { background:#2d272f; color:#fff; }
.copy { background:#e8b53a; color:#1b1417; border:0; border-radius:6px; font:700 12px var(--body); padding:7px 12px; cursor:pointer; margin-left:6px; }
.copy:hover { background:#f3c75a; }
.code pre { margin:0; padding:16px 18px; overflow-x:auto; font:13.5px/1.6 var(--mono); tab-size:2; }
.code pre code { background:none; padding:0; font-size:inherit; color:inherit; overflow-wrap:normal; }
.callout { border-left:3px solid var(--gold); background:var(--surface); padding:14px 18px; border-radius:0 8px 8px 0; font-size:15px; }
.callout.danger { border-color:var(--warn); background:#fbeef0; }
.callout.ok { border-color:var(--ok); background:#ebf6ef; }
.steps { counter-reset:step; list-style:none; padding:0; gap:12px; }
.steps li { counter-increment:step; display:grid; grid-template-columns:32px 1fr; gap:12px; }
.steps li::before { content:counter(step); width:28px; height:28px; border-radius:50%; background:var(--ink); color:#fff; font:700 13px/28px var(--body); text-align:center; }
.unlock { min-height:100dvh; display:grid; place-items:center; padding:24px 16px; background:var(--side); }
.unlock-card { background:var(--surface); border-radius:14px; padding:32px; width:100%; max-width:460px; display:flex; flex-direction:column; gap:16px; }
.unlock-card label { font-weight:600; font-size:15px; }
.unlock-card input { width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:8px; font:15px var(--mono); }
.unlock-card button { background:var(--brand); color:#fff; border:0; border-radius:8px; padding:13px; font:700 16px var(--body); cursor:pointer; }
.unlock-card .error { color:var(--warn); font-weight:600; font-size:15px; }
.unlock-card small { color:var(--muted); font-size:13.5px; }
a.docs-brand { text-decoration:none; }
.docs-side nav a[aria-current="page"] { background:#2a2329; color:#fff; font-weight:600; }
.docs-side a.lock { display:block; margin-top:auto; text-align:center; text-decoration:none; color:var(--side-ink); border:1px solid #3a3238; border-radius:8px; padding:9px; font:600 14px var(--body); }
.docs-side a.lock:hover { border-color:#6f5f67; color:#fff; }
.legal-main section h2 { font-size:22px; }
.legal-main section { gap:12px; }
.unlock-card.legal-accept { max-width:600px; }
.legal-accept ul { font-size:15px; color:var(--muted); }
.legal-form { display:flex; flex-direction:column; gap:12px; }
.legal-form p { display:flex; flex-wrap:wrap; gap:10px; align-items:flex-start; font-size:15px; }
.legal-form label { font-weight:500; flex:1; }
.legal-form input[type="checkbox"] { width:20px; height:20px; margin-top:3px; accent-color:var(--brand); order:-1; flex:none; }
.legal-form .errorlist { list-style:none; padding:0; margin:0; width:100%; color:var(--warn); font-weight:600; font-size:14px; }
.unlock-card button.secondary { background:transparent; color:var(--muted); border:1px solid var(--line); width:100%; }
@media (max-width:860px) {
  .docs { grid-template-columns:minmax(0,1fr); }
  .docs-side { position:static; height:auto; padding:20px 16px; }
  .docs-side nav { flex-direction:row; flex-wrap:wrap; }
  .docs-side .nav-group { width:100%; padding:8px 10px 2px; }
  .docs-main { padding-top:32px; }
}
@media (prefers-reduced-motion:reduce) { * { transition:none !important; scroll-behavior:auto !important; } }
