/* Recruspace Parse API — documentation theme */
:root{
  --accent:#ff6600; --accent-2:#ff843f; --accent-soft:#fff3ea; --accent-line:#ffd8bd;
  --bg:#ffffff; --sidebar:#fbfaf9; --ink:#2a2521; --strong:#14100b;
  --muted:#6c655e; --faint:#9a938b; --hair:#eeeae4; --hair-2:#f5f2ee;
  --code-bg:#0b1017; --code-ink:#d7deea; --code-faint:#7d8a9e; --chip:#f4f1ec;
  --nav-active:#fff3ea; --shadow:0 1px 2px rgba(20,16,11,.05),0 10px 26px -14px rgba(20,16,11,.14);
  --green:#16915b; --green-soft:#e7f6ee; --amber:#b7791f; --amber-soft:#fbf1dd;
  --sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;
  --mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;
}
@media (prefers-color-scheme:dark){:root{
  --accent:#ff8a45; --accent-2:#ff6600; --accent-soft:#2a1608; --accent-line:#4d2810;
  --bg:#020710; --sidebar:#05090f; --ink:#c1c9d3; --strong:#eef3f9;
  --muted:#828d99; --faint:#586471; --hair:#121a24; --hair-2:#0d141d;
  --code-bg:#070d15; --code-ink:#d7deea; --code-faint:#778399; --chip:#101823;
  --nav-active:#16110a; --shadow:0 1px 2px rgba(0,0,0,.4),0 14px 34px -16px rgba(0,0,0,.7);
  --green:#3ecf8e; --green-soft:#0f2a1e; --amber:#e0a63a; --amber-soft:#2a2110;
}}
:root[data-theme="light"]{--accent:#ff6600;--accent-2:#ff843f;--accent-soft:#fff3ea;--accent-line:#ffd8bd;--bg:#ffffff;--sidebar:#fbfaf9;--ink:#2a2521;--strong:#14100b;--muted:#6c655e;--faint:#9a938b;--hair:#eeeae4;--hair-2:#f5f2ee;--code-bg:#0b1017;--code-ink:#d7deea;--code-faint:#7d8a9e;--chip:#f4f1ec;--nav-active:#fff3ea;--green:#16915b;--green-soft:#e7f6ee;--amber:#b7791f;--amber-soft:#fbf1dd;--shadow:0 1px 2px rgba(20,16,11,.05),0 10px 26px -14px rgba(20,16,11,.14)}
:root[data-theme="dark"]{--accent:#ff8a45;--accent-2:#ff6600;--accent-soft:#2a1608;--accent-line:#4d2810;--bg:#020710;--sidebar:#05090f;--ink:#c1c9d3;--strong:#eef3f9;--muted:#828d99;--faint:#586471;--hair:#121a24;--hair-2:#0d141d;--code-bg:#070d15;--code-ink:#d7deea;--code-faint:#778399;--chip:#101823;--nav-active:#16110a;--green:#3ecf8e;--green-soft:#0f2a1e;--amber:#e0a63a;--amber-soft:#2a2110;--shadow:0 1px 2px rgba(0,0,0,.4),0 14px 34px -16px rgba(0,0,0,.7)}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
::selection{background:var(--accent-soft);color:var(--accent)}

/* ---- top bar ---- */
.top{position:sticky;top:0;z-index:40;height:60px;display:flex;align-items:center;gap:18px;padding:0 20px;background:var(--bg);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--hair)}
.brand{display:flex;align-items:center;gap:9px;font-weight:670;color:var(--strong);letter-spacing:-.01em;font-size:15.5px}
.brand img{width:26px;height:26px;display:block}
.brand .thin{color:var(--muted);font-weight:500}
.top nav.tabs{display:flex;gap:22px;margin-left:6px}
.top nav.tabs a{font-size:14px;color:var(--muted);font-weight:520}
.top nav.tabs a:hover{color:var(--strong)}
.top nav.tabs a.on{color:var(--accent);font-weight:650}
.grow{flex:1}
#searchtrigger{display:flex;align-items:center;gap:8px;width:210px;padding:7px 11px;border:1px solid var(--hair);border-radius:9px;background:var(--sidebar);color:var(--faint);font-size:13px;cursor:pointer}
#searchtrigger:hover{border-color:var(--accent-line)}
#searchtrigger .k{margin-left:auto;font-family:var(--mono);font-size:11px;border:1px solid var(--hair);border-radius:5px;padding:1px 5px}
.iconbtn{width:34px;height:34px;border-radius:8px;border:1px solid var(--hair);background:var(--sidebar);display:grid;place-items:center;cursor:pointer;color:var(--muted);flex-shrink:0}
.iconbtn:hover{color:var(--accent);border-color:var(--accent-line)}
.cta{padding:7px 14px;border-radius:9px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;white-space:nowrap}
.cta:hover{background:var(--accent-2)}
.hamburger{display:none}

/* ---- shell ---- */
.shell{display:grid;grid-template-columns:256px minmax(0,1fr) 214px;max-width:1440px;margin:0 auto}
@media(max-width:1120px){.shell{grid-template-columns:256px minmax(0,1fr)}.toc{display:none}}
@media(max-width:860px){.shell{grid-template-columns:1fr}.hamburger{display:grid}.top nav.tabs{display:none}.scrim{display:none;position:fixed;inset:60px 0 0;background:rgba(0,0,0,.4);z-index:34}.scrim.open{display:block}}
/* (phone overrides moved to the end of the file so they win the cascade) */

/* ---- sidebar ---- */
.side{border-right:1px solid var(--hair);padding:24px 14px 60px;position:sticky;top:60px;align-self:start;height:calc(100vh - 60px);overflow-y:auto}
.side .group{margin-bottom:20px}
.side .glabel{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);padding:0 10px 8px}
.side a{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:8px;font-size:13.5px;color:var(--muted);font-weight:500}
.side a:hover{background:var(--hair-2);color:var(--strong)}
.side a.active{background:var(--nav-active);color:var(--accent);font-weight:640}
.side a .d{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.35;flex-shrink:0}
.side a.active .d{opacity:1}
/* mobile: sidebar becomes an off-canvas drawer — MUST come after the base .side
   rule above, or the base position:sticky wins the cascade and the (transformed)
   sidebar keeps a full-height slot in flow, pushing content a whole screen down. */
@media(max-width:860px){
  .side{position:fixed;top:60px;left:0;bottom:0;width:280px;height:auto;z-index:35;background:var(--bg);transform:translateX(-100%);transition:transform .2s}
  .side.open{transform:none}
}

/* ---- content ---- */
main{padding:34px 56px 100px;min-width:0}
@media(max-width:860px){main{padding:26px 22px 70px}}
.crumb{font-size:12.5px;color:var(--faint);margin-bottom:14px;font-weight:520}
.crumb b{color:var(--accent)}
h1{font-size:33px;line-height:1.15;letter-spacing:-.025em;margin:0 0 12px;color:var(--strong);font-weight:720}
.lead{font-size:17px;color:var(--muted);margin:0 0 6px;max-width:64ch;line-height:1.6}
h2{font-size:20px;letter-spacing:-.015em;margin:46px 0 14px;color:var(--strong);font-weight:660;scroll-margin-top:78px;padding-top:2px}
h3{font-size:15.5px;margin:26px 0 8px;color:var(--strong);font-weight:640;scroll-margin-top:78px}
main p{margin:14px 0;max-width:70ch}
main ul,main ol{max-width:70ch;padding-left:22px}
main li{margin:6px 0}
main a.link{color:var(--accent);font-weight:560;border-bottom:1px solid var(--accent-line)}
main a.link:hover{border-color:var(--accent)}
code.inl{font-family:var(--mono);font-size:.85em;background:var(--chip);border:1px solid var(--hair);padding:1.5px 6px;border-radius:6px;color:var(--strong);overflow-wrap:break-word}
hr{border:0;border-top:1px solid var(--hair);margin:34px 0}

/* ---- cards ---- */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}
@media(max-width:620px){.cards{grid-template-columns:1fr}}
.cards.three{grid-template-columns:1fr 1fr 1fr}
@media(max-width:760px){.cards.three{grid-template-columns:1fr}}
.card{display:block;border:1px solid var(--hair);border-radius:14px;padding:19px;background:var(--bg);box-shadow:var(--shadow);transition:border-color .15s,transform .15s}
a.card:hover{border-color:var(--accent);transform:translateY(-2px)}
.card .ic{width:38px;height:38px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;margin-bottom:13px}
.card h3{margin:0 0 5px;font-size:15.5px;color:var(--strong);font-weight:640;display:flex;align-items:center;gap:9px}
.card h3 .step{font-family:var(--mono);font-size:10.5px;font-weight:700;color:var(--accent);background:var(--accent-soft);padding:2px 8px;border-radius:20px;letter-spacing:.04em}
.card p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.6}
.card .arr{margin-top:12px;color:var(--accent);font-size:13px;font-weight:600;font-family:var(--mono)}

/* ---- callouts ---- */
.callout{display:flex;gap:12px;border-radius:12px;padding:13px 16px;margin:22px 0;font-size:14px}
.callout .ic{flex-shrink:0;margin-top:1px}
.callout p{margin:0;max-width:none}
.callout.note{background:var(--accent-soft);border:1px solid var(--accent-line)}
.callout.note .ic{color:var(--accent)} .callout.note b{color:var(--strong)}
.callout.ok{background:var(--green-soft);border:1px solid transparent} .callout.ok .ic{color:var(--green)}
.callout.warn{background:var(--amber-soft);border:1px solid transparent} .callout.warn .ic{color:var(--amber)}

/* ---- code ---- */
.code{border-radius:12px;overflow:hidden;margin:20px 0;border:1px solid var(--hair);box-shadow:var(--shadow)}
.code .bar{display:flex;align-items:center;gap:7px;background:var(--code-bg);border-bottom:1px solid rgba(255,255,255,.06);padding:8px 14px}
.code .tab{font-family:var(--mono);font-size:12px;color:var(--code-ink);background:rgba(255,255,255,.07);padding:3px 10px;border-radius:6px}
.code .lang{font-family:var(--mono);font-size:11.5px;color:var(--code-faint)}
.code .copy{margin-left:auto;color:var(--code-faint);cursor:pointer;display:grid;place-items:center;background:none;border:0;padding:2px}
.code .copy:hover{color:var(--code-ink)}
.code pre{margin:0;background:var(--code-bg);color:var(--code-ink);padding:15px 16px;overflow-x:auto;font-family:var(--mono);font-size:12.8px;line-height:1.75}
.tok-c{color:var(--code-faint)} .tok-s{color:#fca5a5} .tok-k{color:#ff9a5a} .tok-n{color:#7dd3fc} .tok-p{color:#eef3f9}

/* ---- endpoint + tables ---- */
.ep{display:flex;align-items:center;gap:11px;border:1px solid var(--hair);border-radius:11px;padding:12px 15px;margin:18px 0;background:var(--sidebar);font-family:var(--mono);font-size:14px;flex-wrap:wrap}
.m{font-size:10.5px;font-weight:800;padding:3px 9px;border-radius:6px;letter-spacing:.04em}
.m.post{background:var(--accent-soft);color:var(--accent)} .m.get{background:var(--green-soft);color:var(--green)}
.ep .path{color:var(--strong);font-weight:600}
.tbl-wrap{overflow-x:auto;border:1px solid var(--hair);border-radius:11px;margin:18px 0}
table{border-collapse:collapse;width:100%;font-size:14px;min-width:440px}
th,td{text-align:left;padding:11px 15px;border-bottom:1px solid var(--hair);vertical-align:top}
thead th{font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);font-weight:640;background:var(--sidebar)}
tbody tr:last-child td{border-bottom:0}
td code,th code{font-family:var(--mono);font-size:12.5px;color:var(--strong)}
td .req{font-family:var(--mono);font-size:10.5px;color:var(--accent);font-weight:700}
td .opt{font-family:var(--mono);font-size:10.5px;color:var(--faint)}

.badge{display:inline-block;font-family:var(--mono);font-size:11px;font-weight:600;padding:2px 9px;border-radius:20px;background:var(--chip);color:var(--muted);border:1px solid var(--hair)}
.badge.ok{background:var(--green-soft);color:var(--green);border-color:transparent}

/* ---- toc ---- */
.toc{padding:34px 20px;position:sticky;top:60px;align-self:start;font-size:13px;max-height:calc(100vh - 60px);overflow-y:auto}
.toc .lab{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);margin-bottom:12px}
.toc a{display:block;padding:5px 0 5px 13px;color:var(--muted);border-left:2px solid var(--hair);line-height:1.4}
.toc a.lv3{padding-left:24px}
.toc a.on{color:var(--accent);border-left-color:var(--accent);font-weight:560}
.toc a:hover{color:var(--strong)}

/* ---- page nav + footer ---- */
.pagenav{display:flex;gap:14px;margin-top:50px;border-top:1px solid var(--hair);padding-top:24px}
.pagenav a{flex:1;border:1px solid var(--hair);border-radius:12px;padding:14px 16px;transition:border-color .15s}
.pagenav a:hover{border-color:var(--accent)}
.pagenav .dir{font-size:12px;color:var(--faint);font-weight:520}
.pagenav .ttl{color:var(--strong);font-weight:600;font-size:14.5px;margin-top:3px}
.pagenav a.next{text-align:right}
.foot{margin-top:30px;font-size:12.5px;color:var(--faint)}

/* ---- search dialog (pagefind) ---- */
dialog#search{border:0;border-radius:16px;padding:0;width:min(600px,92vw);box-shadow:0 24px 60px -12px rgba(0,0,0,.4);background:var(--bg);color:var(--ink)}
dialog#search::backdrop{background:rgba(0,0,0,.45);backdrop-filter:blur(2px)}
dialog#search .pf{padding:10px}
:root{--pagefind-ui-primary:var(--accent);--pagefind-ui-background:var(--bg);--pagefind-ui-text:var(--ink);--pagefind-ui-border:var(--hair);--pagefind-ui-font:var(--sans)}

/* ===== phone overrides — LAST in the file so they win the cascade over the
   base rules for main/h1/etc. (which appear earlier). ===== */
@media(max-width:640px){
  .top{gap:10px;padding:0 14px}
  #searchtrigger{display:none}
  .cta{padding:7px 12px}
  .brand span{font-size:14.5px}
  main{padding:16px 16px 60px}
  .crumb{margin-bottom:10px}
  h1{font-size:26px;line-height:1.2}
  .lead{font-size:15.5px;margin-bottom:2px}
  h2{font-size:18px;margin:30px 0 12px}
  .ep{font-size:12.5px;gap:8px}
  .pagenav{flex-direction:column}
}
