/* EggAI SDK Docs — shared stylesheet. Palette mirrors eggai_website. */
:root{
  --bg:#060806; --bg-2:#080A08; --bg-code:#050705;
  --line:#1B2119; --line-2:#141A13; --line-3:#171B16;
  --txt:#CBD6C9; --txt-strong:#F3F8F3; --txt-mut:#8F998B; --txt-dim:#5C665B; --txt-soft:#A3ADA0;
  --gold:#FFC700; --green:#00C88C; --green-2:#5FE7BE;
  --mono:ui-monospace,SFMono-Regular,Menlo,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--txt);
  font:15.5px/1.68 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--green-2);text-decoration:none}
a:hover{text-decoration:underline}

/* ---- layout ---- */
.side{
  position:fixed;inset:0 auto 0 0;width:252px;overflow-y:auto;
  background:#070907;border-right:1px solid var(--line-2);padding:28px 22px 40px;
}
main{margin-left:252px;padding:56px 56px 96px;max-width:860px}
@media (max-width:900px){
  .side{position:static;width:auto;border-right:0;border-bottom:1px solid var(--line-2)}
  main{margin-left:0;padding:36px 22px 72px}
}

/* ---- sidebar ---- */
.brand{display:block;color:var(--txt-strong);font-size:16px;font-weight:600;letter-spacing:-.02em;margin-bottom:6px}
.brand:hover{text-decoration:none}
.brand span{background:linear-gradient(100deg,var(--gold),var(--green));-webkit-background-clip:text;background-clip:text;color:transparent}
.brand-sub{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--txt-dim);margin-bottom:26px}
.nav-h{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#7E8A7C;margin:22px 0 8px}
.side nav a{display:block;color:var(--txt-mut);font-size:13.5px;padding:5px 10px;margin:0 -10px;border-radius:7px;line-height:1.45}
.side nav a:hover{color:var(--txt);background:#0C100C;text-decoration:none}
.side nav a.on{color:var(--txt-strong);background:#0C100C;border-left:2px solid var(--green);border-radius:0 7px 7px 0;padding-left:12px}

/* ---- typography ---- */
h1{font-size:38px;font-weight:500;line-height:1.1;letter-spacing:-.035em;color:var(--txt-strong);margin:0 0 14px}
h2{font-size:24px;font-weight:500;letter-spacing:-.025em;color:var(--txt-strong);margin:46px 0 12px;padding-top:18px;border-top:1px solid var(--line-2)}
h3{font-size:17.5px;font-weight:600;letter-spacing:-.015em;color:var(--txt-strong);margin:30px 0 8px}
p{margin:0 0 14px;color:var(--txt-soft)}
li{color:var(--txt-soft);margin:4px 0}
strong{color:var(--txt)}
.kicker{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#7E8A7C;margin-bottom:14px}
.lede{font-size:17.5px;line-height:1.62;color:var(--txt)}
hr{border:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 25%,var(--green) 75%,transparent);margin:44px 0}

/* ---- components ---- */
.note{
  border:1px solid #2A2A10;border-left:3px solid var(--gold);border-radius:0 10px 10px 0;
  background:#0A0A06;padding:14px 18px;font-size:14px;color:var(--txt-soft);margin:0 0 28px;
}
.note b{color:var(--gold);font-weight:600}
.tbc{font-size:12.5px;color:var(--txt-dim);font-style:italic}
code{font-family:var(--mono);font-size:.9em;color:var(--txt);background:#0C100C;border:1px solid var(--line-2);border-radius:5px;padding:1px 6px}
pre.code{
  background:var(--bg-code);border:1px solid #161B15;border-radius:9px;padding:16px 18px;
  font-family:var(--mono);font-size:12.5px;line-height:1.8;color:var(--txt-mut);
  overflow-x:auto;margin:0 0 18px;
}
pre.code .label{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#7E8A7C;margin-bottom:10px}
.kw{color:var(--gold)} .str{color:#6FDCB0} .fn{color:#9FD8BE} .cls{color:var(--txt-strong)}
.p{color:#5C665B} .c{color:#4E574D} .num{color:#E8C56B} .hdr{color:#9FD8BE}
table{border-collapse:collapse;width:100%;margin:0 0 20px;font-size:14px}
th{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#7E8A7C;font-weight:500;text-align:left;padding:11px 14px;border-bottom:1px solid var(--line)}
td{padding:11px 14px;border-bottom:1px solid var(--line-2);color:var(--txt-soft);vertical-align:top}
td:first-child{color:var(--txt-strong);white-space:nowrap}
td code{white-space:nowrap}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}
@media (max-width:700px){.cards{grid-template-columns:1fr}}
.card{display:block;background:var(--bg-2);border:1px solid var(--line-3);border-radius:12px;padding:20px 22px;color:inherit}
.card:hover{border-color:#242C21;text-decoration:none}
.card .t{font-size:16px;font-weight:600;letter-spacing:-.015em;color:var(--txt-strong);margin-bottom:6px}
.card .d{font-size:13.5px;line-height:1.6;color:var(--txt-mut)}
.tag{font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;border-radius:999px;padding:2px 8px;margin-left:8px;vertical-align:2px}
.tag.gold{color:var(--gold);border:1px solid #FFC70040}
.tag.green{color:var(--green);border:1px solid #00C88C40}
.stat{font-size:14px;color:var(--txt-soft)}
.stat b{color:var(--txt-strong);font-weight:600}
footer{margin-top:64px;padding-top:20px;border-top:1px solid var(--line-2);font-size:12.5px;color:var(--txt-dim)}
footer a{color:var(--txt-mut)}
.next{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}
.next a{display:inline-block;font-size:13.5px;padding:10px 18px;border-radius:999px;border:1px solid #242C21;color:var(--txt)}
.next a:hover{border-color:#394434;text-decoration:none}

/* ---- language tabs (Python / Node.js) ---- */
.langs{margin:0 0 18px}
.lang-tabs{display:flex;gap:6px;position:relative;z-index:1}
.lang-tabs button{
  font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--txt-dim);background:transparent;border:1px solid transparent;
  border-radius:7px 7px 0 0;padding:6px 13px;cursor:pointer;
}
.lang-tabs button:hover{color:var(--txt-mut)}
.lang-tabs button.on{color:var(--txt-strong);background:var(--bg-code);border-color:#161B15;border-bottom-color:var(--bg-code)}
.langs pre.code{border-top-left-radius:0;margin-top:-1px}
.langs pre.code[hidden]{display:none}

/* ---- REST reference ---- */
.ep{display:flex;align-items:baseline;gap:10px;font-family:var(--mono);font-size:13px;color:var(--txt);margin:26px 0 8px}
.ep .m{font-size:10px;letter-spacing:.1em;font-weight:600;border-radius:5px;padding:2px 7px}
.ep .m.get{color:var(--green);border:1px solid #00C88C40}
.ep .m.post{color:var(--gold);border:1px solid #FFC70040}
.tag.dim{color:var(--txt-dim);border:1px solid #2A2F28}
