:root{
  --bg:#f6f7f9; --panel:#fff; --text:#1d2330; --muted:#667085; --line:#e3e6eb; --accent:#1f5f8b; --accent-2:#e8f2f9;
  --good:#1a7f37; --good-bg:#e6f4ea; --warn:#9a6700; --warn-bg:#fff4d6; --bad:#b42318; --bad-bg:#fdecea; --code:#f1f3f5;
  --radius:10px; --shadow:0 1px 2px rgba(16,24,40,.06);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#0f1318; --panel:#171c23; --text:#e6e9ee; --muted:#98a2b3; --line:#2a313b; --accent:#6cb6ff; --accent-2:#1b2a3a;
    --good:#56d364; --good-bg:#12261a; --warn:#e3b341; --warn-bg:#2b230f; --bad:#ff7b72; --bad-bg:#2d1414; --code:#1f252e; }
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-size:15px;line-height:1.5}
a{color:var(--accent);text-decoration:none} a:hover{text-decoration:underline}
code,pre,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em}
code{background:var(--code);padding:.1em .35em;border-radius:5px}
pre{background:var(--code);padding:12px 14px;border-radius:8px;overflow-x:auto} pre code{background:none;padding:0}
.wrap{word-break:break-all}
h1{font-size:1.55rem;margin:.2em 0 .6em} h2{font-size:1.1rem;margin:0 0 .7em} h3{font-size:1rem}
.muted{color:var(--muted)} .small{font-size:.85em} .nowrap{white-space:nowrap} .err{color:var(--bad)}
.topbar{display:flex;align-items:center;gap:20px;padding:10px 20px;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.brand{font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}
.topnav{display:flex;gap:4px;flex:1} .topnav a{padding:6px 10px;border-radius:7px;color:var(--text)} .topnav a.active,.topnav a:hover{background:var(--accent-2);text-decoration:none}
.who{display:flex;align-items:center;gap:10px;font-size:.9em} .who .email{color:var(--muted)}
.side{position:fixed;top:57px;left:0;bottom:0;width:210px;padding:16px 10px;border-right:1px solid var(--line);background:var(--panel);overflow-y:auto}
.side a,.docs-nav a,.toc a{display:block;padding:5px 10px;border-radius:7px;color:var(--text)} .side a.active,.docs-nav a.active{background:var(--accent-2);font-weight:600}
.side-title{font-size:.75em;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:14px 10px 4px}
main{max-width:1180px;margin:0 auto;padding:22px 20px 40px} main.with-side{margin-left:210px;max-width:none;padding-left:32px;padding-right:32px}
.foot{text-align:center;color:var(--muted);font-size:.85em;padding:20px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin-bottom:18px;box-shadow:var(--shadow)}
.card.narrow{max-width:440px;margin:40px auto} .card.highlight{border-color:var(--accent)}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:18px} .grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.grid2>.card,.grid3>.card{margin-bottom:0} .grid2,.grid3{margin-bottom:18px}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}
.tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;color:var(--text)}
.tile b{font-size:1.5rem} .tile span{color:var(--muted);font-size:.85em} a.tile:hover{text-decoration:none;border-color:var(--accent)}
table{width:100%;border-collapse:collapse} th,td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.8em;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}
table.small td{font-size:.87em} table.num td:not(:first-child),table.num th:not(:first-child){text-align:right}
tr.dim td{opacity:.55} tr.sev-critical td:first-child{border-left:3px solid var(--bad)} tr.sev-warn td:first-child{border-left:3px solid var(--warn)}
form.stack{display:flex;flex-direction:column;gap:10px} .row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end} .row .grow{flex:1}
form.inline{display:inline}
label{display:flex;flex-direction:column;gap:3px;font-size:.88em;color:var(--muted)} label.check{flex-direction:row;align-items:center;gap:6px;color:var(--text)}
input,select,textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:7px 9px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:0}
textarea.mono{width:100%} input.code{font-size:1.4em;letter-spacing:.3em;text-align:center}
button,.button{font:inherit;cursor:pointer;background:var(--accent);color:#fff;border:0;border-radius:7px;padding:8px 14px;display:inline-block}
@media (prefers-color-scheme: dark){button,.button{color:#0f1318}}
button:hover,.button:hover{filter:brightness(1.08);text-decoration:none}
button.secondary,.button.secondary{background:var(--accent-2);color:var(--accent)} button.danger{background:var(--bad);color:#fff}
button.small,.button.small{padding:4px 9px;font-size:.85em} button.link{background:none;color:var(--accent);padding:0}
.flash{padding:10px 14px;border-radius:8px;margin-bottom:16px} .flash.ok{background:var(--good-bg);color:var(--good)} .flash.err{background:var(--bad-bg);color:var(--bad)}
.pill{display:inline-block;padding:1px 8px;border-radius:99px;background:var(--code);font-size:.8em;margin-right:4px}
.pill.good{background:var(--good-bg);color:var(--good)} .pill.bad{background:var(--bad-bg);color:var(--bad)}
.tag{display:inline-block;padding:1px 8px;border-radius:99px;background:var(--accent-2);color:var(--accent);font-size:.82em;margin:0 4px 2px 0}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.chip{flex-direction:row;align-items:center;gap:6px;border:1px solid var(--line);border-radius:99px;padding:4px 12px;color:var(--text);cursor:pointer}
.chip.on{border-color:var(--accent);background:var(--accent-2)} .chip input{margin:0}
dl.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0} dl.kv dt{color:var(--muted)} dl.kv dd{margin:0}
.danger-zone{border-top:1px dashed var(--line);margin-top:14px;padding-top:12px} .card.danger-zone{border:1px solid var(--bad)}
svg.bars{width:100%;height:110px;display:block} svg.bars rect{fill:var(--accent)} svg.bars rect:hover{fill:var(--good)}
.bars-axis{display:flex;justify-content:space-between;font-size:.75em;color:var(--muted)}
pre.log{max-height:520px;overflow:auto;white-space:pre-wrap}
.notes img{max-width:100%}
.status-ok,.ok{color:var(--good)} .status-degraded{color:var(--warn)} .status-down,.bad{color:var(--bad)}
.status-banner{padding:14px 18px;border-radius:var(--radius);margin-bottom:18px;font-weight:600;background:var(--good-bg);color:var(--good)}
.status-banner.status-degraded{background:var(--warn-bg);color:var(--warn)} .status-banner.status-down{background:var(--bad-bg);color:var(--bad)}
.uptime-row{margin-bottom:14px} .uptime-head{display:flex;justify-content:space-between;font-size:.9em;margin-bottom:4px}
.uptime{display:grid;grid-template-columns:repeat(90,1fr);gap:2px} .d{display:inline-block;height:28px;border-radius:2px;background:var(--line)}
.legend .d{width:12px;height:12px;vertical-align:middle;margin:0 4px 0 12px}
.d.good{background:var(--good)} .d.warn{background:var(--warn)} .d.bad{background:var(--bad)}
.hero{padding:30px 0 10px;max-width:800px} .hero h1{font-size:2.1rem;line-height:1.2} .lead{font-size:1.15rem;color:var(--muted)}
.features .card h2{font-size:1.02rem}
.docs{display:grid;grid-template-columns:220px minmax(0,1fr) 200px;gap:28px;align-items:start}
.docs-nav,.toc{position:sticky;top:75px;max-height:calc(100vh - 90px);overflow-y:auto;font-size:.92em} .toc a{color:var(--muted);font-size:.9em;padding:3px 8px}
article.doc{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px 34px 30px;min-width:0}
article.doc h1{margin-top:.8em} article.doc h2{margin-top:1.8em;padding-top:.6em;border-top:1px solid var(--line);font-size:1.3rem} article.doc h3{margin-top:1.5em}
article.doc table{margin:1em 0;font-size:.93em} article.doc td,article.doc th{border:1px solid var(--line)}
article.doc blockquote{margin:1em 0;padding:8px 14px;border-left:4px solid var(--accent);background:var(--accent-2);border-radius:0 8px 8px 0}
.presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
fieldset.scopes{border:1px solid var(--line);border-radius:8px;display:flex;flex-wrap:wrap;gap:8px 16px}
@media (max-width:900px){ .side{position:static;width:auto;border-right:0;display:flex;flex-wrap:wrap} .side .side-title{width:100%}
  main.with-side{margin-left:0;padding:16px} .docs{grid-template-columns:1fr} .toc{display:none} .docs-nav{position:static;max-height:none}
  .grid2{grid-template-columns:1fr} .topbar{flex-wrap:wrap} article.doc{padding:8px 16px 20px} }

/* ---- API reference (two-column, Stripe-style) ---- */
.api-docs{grid-template-columns:220px minmax(0,1fr)}
.docs-nav .sub{margin:2px 0 8px 8px;border-left:1px solid var(--line);padding-left:6px}
.docs-nav .sub a{font-size:.85em;padding:3px 8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.api-main{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}
.api-intro,.api-ep{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;padding:26px 30px;border-bottom:1px solid var(--line)}
.api-ep:last-child{border-bottom:0}
.api-left{min-width:0} .api-left h1{margin-top:0} .api-left h2{margin-top:0;font-size:1.25rem;border:0;padding:0}
.api-left h2 a.anchor{color:var(--text)} .api-left h2 a.anchor:hover{color:var(--accent)}
.api-right{min-width:0;position:sticky;top:70px;align-self:start;display:flex;flex-direction:column;gap:14px}
.endpoint-line{font-size:1.02em;margin:.2em 0} .endpoint-line code{background:none;font-size:1em;padding:0}
.auth-line{color:var(--muted);font-size:.88em;margin-top:0}
.m{display:inline-block;font:600 .72em/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;padding:0 6px;border-radius:5px;margin-right:6px;vertical-align:1px;background:#e7ecf2;color:#344054}
.m-get{background:#e3f1ff;color:#0b63b6} .m-post{background:#e6f4ea;color:#1a7f37} .m-put{background:#fff4d6;color:#9a6700}
.m-patch{background:#f3e8ff;color:#7e3af2} .m-delete{background:#fdecea;color:#b42318} .m-head{background:#eef0f3;color:#475467}
.params-title{margin:1.4em 0 .4em;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
dl.params{margin:0;border-top:1px solid var(--line)} dl.params dt{padding-top:10px} dl.params dd{margin:2px 0 0;padding-bottom:10px;border-bottom:1px solid var(--line);color:var(--muted)}
dl.params dd p{margin:0} .ptype{color:var(--muted);font-size:.85em} .preq{color:var(--bad);font-size:.78em;text-transform:uppercase;letter-spacing:.04em}
.panel{background:#161b22;color:#e6edf3;border-radius:10px;overflow:hidden;border:1px solid #30363d}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;background:#1f252e;font-size:.82em;color:#9da7b3}
.panel-title{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#e6edf3}
.panel .m{background:#30363d;color:#e6edf3}
.langs{display:flex;gap:2px;flex-shrink:0}
.panel button.lang,.panel button.rtab{background:none;color:#9da7b3;padding:3px 8px;font-size:.95em;border-radius:6px}
.panel button.lang.on,.panel button.rtab.on{background:#30363d;color:#fff}
.panel pre.code{background:none;color:#e6edf3;margin:0;padding:12px 14px;font-size:.82em;line-height:1.55;white-space:pre;overflow-x:auto;border-radius:0}
.panel pre.code a{color:#79c0ff}
.panel-foot{display:flex;justify-content:flex-end;gap:6px;padding:6px 10px;border-top:1px solid #30363d}
.panel button.ghost{background:#30363d;color:#e6edf3}
.panel-note{font-size:.8em;color:#9da7b3;margin:0;padding:0 14px 12px}
.tryit{display:flex;flex-direction:column;gap:8px;padding:10px 14px 14px;border-top:1px solid #30363d}
.tryit label{color:#9da7b3} .tryit input,.tryit textarea{background:#0d1117;color:#e6edf3;border-color:#30363d}
.tryit-out .muted{color:#9da7b3;margin-top:4px} .tryit-status{font-weight:600;margin-top:4px} .tryit-status.ok{color:#56d364} .tryit-status.bad{color:#ff7b72}
.tryit-out pre.code{padding:8px 0;max-height:360px;overflow:auto;white-space:pre-wrap}
@media (max-width:1100px){ .api-intro,.api-ep{grid-template-columns:1fr} .api-right{position:static} }
@media (max-width:900px){ .api-docs{grid-template-columns:1fr} .api-intro,.api-ep{padding:18px 16px} }
.api-ep.prose-only,.api-intro.prose-only{grid-template-columns:minmax(0,1fr)} .prose-only .api-left{max-width:900px}

/* the hidden attribute must win over display rules (e.g. .tryit{display:flex}) */
[hidden]{display:none !important}
.panel-pad{padding:12px 14px !important;margin:0}
.panel pre.code{white-space:pre-wrap;overflow-wrap:anywhere}
