/* apidocs.css — TailNumber API reference (self-hosted, no CDN).
   Three-column layout in the style of modern API docs (Mintlify/Polymarket):
   fixed sidebar nav · per-endpoint prose · sticky code-sample rail. */

:root{
  --bg:#0e1116; --side:#0b0e13; --card:#151a22; --line:#232b37; --line2:#2d3542;
  --fg:#e7ecf3; --mut:#8b95a6; --mut2:#66707f; --acc:#4da3ff;
  --get:#3fb950; --post:#4da3ff; --del:#f85149; --put:#d29922; --patch:#a371f7;
  --code-bg:#0a0d12; --code-line:#1c232e;
  --j-key:#7ee787; --j-str:#a5d6ff; --j-num:#79c0ff; --j-lit:#ff7b72; --c-com:#616e7f;
  --ok:#3fb950; --warn:#d29922; --bad:#f85149;
  --sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Inter,sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.6 var(--sans);
     -webkit-font-smoothing:antialiased}
a{color:var(--acc);text-decoration:none}
a:hover{text-decoration:underline}
code{font-family:var(--mono);font-size:.92em;background:#1b2230;border:1px solid var(--line);
     border-radius:4px;padding:.08em .35em}
p{margin:.55em 0}

/* ---------- sidebar ---------- */
#sidebar{position:fixed;inset:0 auto 0 0;width:284px;background:var(--side);
  border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:10}
.side-head{padding:18px 20px 14px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:baseline;gap:8px}
.brand b{font-size:16px;letter-spacing:.12em;color:var(--fg)}
.brand .vchip{font:600 10.5px var(--mono);color:var(--acc);background:#16283c;
  border:1px solid #24405e;border-radius:20px;padding:1px 8px}
.brand-sub{color:var(--mut);font-size:11.5px;margin-top:3px}
.side-search{padding:12px 16px;border-bottom:1px solid var(--line)}
.side-search input{width:100%;background:#10151d;border:1px solid var(--line2);color:var(--fg);
  border-radius:8px;padding:7px 11px;font:13px var(--sans);outline:none}
.side-search input:focus{border-color:var(--acc)}
.side-search input::placeholder{color:var(--mut2)}
#nav{flex:1;overflow-y:auto;padding:10px 10px 30px;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}
.grp{margin-top:16px}
.grp-title{font:700 10.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;
  color:var(--mut);padding:4px 10px 6px}
.navlink{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:7px;
  color:#c3ccd9;font-size:13px;line-height:1.35;cursor:pointer}
.navlink:hover{background:#151b25;color:var(--fg);text-decoration:none}
.navlink.active{background:#16233470;color:var(--fg);box-shadow:inset 2px 0 0 var(--acc)}
.navlink .lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chip{flex:none;font:700 9px/1 var(--mono);letter-spacing:.03em;border-radius:4px;
  padding:3px 4px;min-width:30px;text-align:center}
.chip.get{color:var(--get);background:#12261a}
.chip.post{color:var(--post);background:#132639}
.chip.delete{color:var(--del);background:#2d1416}
.chip.put,.chip.patch{color:var(--put);background:#2b2110}
.side-foot{padding:10px 20px;border-top:1px solid var(--line);font-size:11.5px;color:var(--mut2)}

/* ---------- content ---------- */
#content{margin-left:284px}
.section{border-bottom:1px solid var(--line)}
.wrap{max-width:1460px;padding:44px 48px}

/* intro */
.intro h1{font-size:27px;margin:0 0 4px;letter-spacing:-.01em}
.intro .tagline{color:var(--mut);font-size:15px;margin:0 0 18px}
.badges{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}
.badge{font:600 11px var(--mono);border:1px solid var(--line2);border-radius:20px;
  padding:3px 11px;color:var(--mut)}
.badge.hot{color:var(--acc);border-color:#24405e;background:#14243a}
.intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px);gap:40px}
.intro-desc p{color:#c6cfdb}
.infocard{background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:16px 18px;margin-bottom:14px}
.infocard h3{margin:0 0 8px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.infocard .big{font-family:var(--mono);font-size:13px;word-break:break-all;color:var(--fg)}
.infocard p{font-size:12.5px;color:var(--mut);margin:.5em 0 0}
.quicklinks{display:flex;flex-direction:column;gap:6px;font-size:13px}

/* tag header rows */
.tag-head{padding:34px 48px 30px;max-width:1460px}
.tag-head h2{margin:0 0 4px;font-size:20px;letter-spacing:-.01em}
.tag-head p{margin:0;color:var(--mut);max-width:760px}

/* endpoint sections */
.op .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px);
  gap:44px;align-items:start}
.crumb{font:700 10.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;
  color:var(--acc);margin-bottom:6px}
.op h2{font-size:21px;margin:0 0 12px;letter-spacing:-.01em}
.ep-bar{display:flex;align-items:center;gap:10px;background:var(--card);
  border:1px solid var(--line);border-radius:10px;padding:9px 12px;margin:0 0 16px}
.ep-bar .method{font:700 11px var(--mono);letter-spacing:.04em;border-radius:6px;padding:4px 9px}
.method.get{color:#04120a;background:var(--get)}
.method.post{color:#02121f;background:var(--post)}
.method.delete{color:#1c0505;background:var(--del)}
.method.put,.method.patch{color:#1c1403;background:var(--put)}
.ep-bar .path{font:13px var(--mono);word-break:break-all;flex:1;background:none;border:0;padding:0}
.ep-bar .path .pp{color:var(--acc)}
.tag-admin{font:600 10px var(--mono);color:var(--warn);border:1px solid #4d3c10;
  background:#241c08;border-radius:20px;padding:2px 9px}
.op-desc{color:#c6cfdb;max-width:74ch}
.op-desc code{white-space:nowrap}

/* parameter blocks */
.ptitle{display:flex;align-items:baseline;gap:10px;margin:26px 0 4px;
  border-bottom:1px solid var(--line);padding-bottom:8px}
.ptitle h4{margin:0;font-size:13.5px;letter-spacing:.02em}
.ptitle .note{font:11.5px var(--mono);color:var(--mut2)}
.prow{border-bottom:1px solid var(--line);padding:12px 2px}
.prow:last-child{border-bottom:0}
.prow-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.pname{font-family:var(--mono);font-size:13px;color:var(--fg);background:none;border:0;padding:0}
.ptype{font:11.5px var(--mono);color:var(--mut)}
.preq{font:700 10.5px var(--sans);color:var(--bad)}
.pdefault{font:11.5px var(--mono);color:var(--mut2)}
.pdesc{color:#b9c2d0;font-size:13px;margin-top:4px;max-width:70ch}
.pdesc p{margin:.25em 0}
.penum{margin-top:7px;display:flex;gap:6px;flex-wrap:wrap;align-items:baseline}
.penum .k{font-size:11px;color:var(--mut2)}
.evals{display:inline-flex;gap:6px;flex-wrap:wrap}
.eval{font:11px var(--mono);background:#10161f;border:1px solid var(--line2);
  border-radius:5px;padding:1px 7px;color:#9fc4ee}
details.child{margin-top:9px;border:1px solid var(--line);border-radius:9px;overflow:hidden}
details.child>summary{cursor:pointer;list-style:none;font-size:12px;color:var(--mut);
  padding:7px 12px;background:#12161d;user-select:none}
details.child>summary::before{content:"+ "}
details[open].child>summary::before{content:"− "}
details.child>.child-body{padding:2px 14px 6px;border-top:1px solid var(--line)}

/* responses (prose column) */
.resp-row{display:flex;gap:12px;padding:11px 2px;border-bottom:1px solid var(--line);align-items:baseline}
.resp-row:last-child{border-bottom:0}
.scode{font:700 12px var(--mono);flex:none}
.scode.s2{color:var(--ok)}.scode.s4{color:var(--warn)}.scode.s5{color:var(--bad)}
.resp-row .rdesc{color:#b9c2d0;font-size:13px}

/* ---------- code rail ---------- */
.rail{position:sticky;top:22px;display:flex;flex-direction:column;gap:18px;min-width:0;
  max-height:calc(100vh - 44px);overflow-y:auto;scrollbar-width:thin;
  scrollbar-color:var(--line2) transparent;padding-right:2px}
.codecard{background:var(--code-bg);border:1px solid var(--code-line);border-radius:12px;overflow:hidden}
.cc-head{display:flex;align-items:center;background:#0e1218;border-bottom:1px solid var(--code-line);
  padding:0 8px 0 4px;min-height:38px}
.cc-title{font:600 11px var(--sans);letter-spacing:.09em;text-transform:uppercase;
  color:var(--mut2);padding:0 10px}
.cc-tabs{display:flex;gap:2px;flex:1;overflow-x:auto}
.cc-tab{font:600 12px var(--sans);color:var(--mut);background:none;border:0;cursor:pointer;
  padding:10px 10px;border-bottom:2px solid transparent;white-space:nowrap}
.cc-tab:hover{color:var(--fg)}
.cc-tab.on{color:var(--fg);border-bottom-color:var(--acc)}
.copybtn{flex:none;font:600 11px var(--sans);color:var(--mut);background:#161c26;
  border:1px solid var(--line2);border-radius:6px;padding:4px 10px;cursor:pointer}
.copybtn:hover{color:var(--fg);border-color:var(--acc)}
.copybtn.done{color:var(--ok);border-color:var(--ok)}
.codecard pre{margin:0;padding:14px 16px;overflow:auto;max-height:480px;
  font:12px/1.55 var(--mono);color:#c9d4e3;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}
.j-key{color:var(--j-key)}.j-str{color:var(--j-str)}.j-num{color:var(--j-num)}
.j-lit{color:var(--j-lit)}.c-com{color:var(--c-com);font-style:italic}.c-str{color:var(--j-str)}

/* ---------- try-it panel ---------- */
.sendbtn{flex:none;font:700 12px var(--sans);color:#02121f;background:var(--acc);
  border:0;border-radius:7px;padding:6px 16px;cursor:pointer;margin-left:8px}
.sendbtn:hover{filter:brightness(1.12)}
.sendbtn:disabled{opacity:.55;cursor:wait}
.try-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:10px}
.tgroup{font:700 10px var(--sans);letter-spacing:.12em;text-transform:uppercase;
  color:var(--mut2);margin:2px 0 -4px}
.tfield{display:flex;flex-direction:column;gap:4px}
.tfield>span{font:11.5px var(--mono);color:var(--mut);display:flex;gap:7px;align-items:baseline}
.tfield>span b{color:var(--bad);font-weight:700;font-size:10px}
.tfield input,.tfield textarea{background:#10151d;border:1px solid var(--line2);
  color:var(--fg);border-radius:7px;padding:6px 10px;font:12px var(--mono);outline:none;width:100%}
.tfield input:focus,.tfield textarea:focus{border-color:var(--acc)}
.tfield input::placeholder{color:var(--mut2)}
.tfield textarea{min-height:140px;resize:vertical;line-height:1.5;white-space:pre}
.try-err{font:12px var(--mono);color:var(--bad);padding:0 14px 10px}
.try-result{border-top:1px solid var(--code-line)}
.try-status{display:flex;gap:10px;align-items:baseline;font:600 11.5px var(--mono);
  padding:9px 14px;background:#0e1218;border-bottom:1px solid var(--code-line);color:var(--mut)}
.try-status .code{font-weight:700}
.try-result pre{margin:0;padding:12px 14px;overflow:auto;max-height:340px;
  font:12px/1.55 var(--mono);color:#c9d4e3}

/* ---------- footer / misc ---------- */
#pagefoot{padding:34px 48px;color:var(--mut2);font-size:12px}
.loading{padding:80px;color:var(--mut);text-align:center;font-size:14px}
.hidden{display:none !important}

@media (max-width:1180px){
  .op .wrap,.intro-grid{grid-template-columns:1fr}
  .rail{position:static}
}
@media (max-width:900px){
  #sidebar{position:static;width:auto;inset:auto;border-right:0;border-bottom:1px solid var(--line)}
  #sidebar #nav{max-height:300px}
  #content{margin-left:0}
  .wrap,.tag-head,#pagefoot{padding-left:20px;padding-right:20px}
}
