/* Dark Docs Starter — one stylesheet for the whole site.
   Dark by default, light via [data-theme="light"], no build step, no dependencies. */

:root{
  --bg:#0b0c0e; --surface:#131519; --raised:#181b21; --hair:#242932;
  --ink:#ECEEF0; --mute:#98a0ab; --faint:#6a7280;
  --accent:#4C82F7; --accent-soft:rgba(76,130,247,.14);
  --good:#3FB984; --warn:#E0A33E; --danger:#E8455F;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,'SF Mono','JetBrains Mono',Menlo,Consolas,monospace;
  --sidebar:264px; --toc:200px; --max:1400px;
}
:root[data-theme="light"]{
  --bg:#ffffff; --surface:#f7f8fa; --raised:#f0f2f5; --hair:#e2e6ec;
  --ink:#12151a; --mute:#5b636e; --faint:#878f9a;
  --accent-soft:rgba(76,130,247,.10);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.65;
     -webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}

/* ---------- top bar ---------- */
.top{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);
     backdrop-filter:blur(10px);border-bottom:1px solid var(--hair)}
.top-in{max-width:var(--max);margin:0 auto;padding:0 22px;height:58px;
        display:flex;align-items:center;gap:18px}
.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:15.5px;color:var(--ink)}
.brand:hover{text-decoration:none}
.brand .mk{width:20px;height:20px;border-radius:6px;
           background:linear-gradient(135deg,var(--accent),#7A5AF8)}
.ver{font-family:var(--mono);font-size:11px;color:var(--faint);border:1px solid var(--hair);
     border-radius:999px;padding:2px 8px}
.spacer{flex:1}
.top nav{display:flex;gap:16px;font-size:14px}
.top nav a{color:var(--mute)}
.top nav a:hover,.top nav a[aria-current="page"]{color:var(--ink);text-decoration:none}
.icon-btn{width:32px;height:32px;border:1px solid var(--hair);border-radius:8px;background:transparent;
          color:var(--mute);cursor:pointer;display:grid;place-items:center;font-size:14px}
.icon-btn:hover{color:var(--ink);border-color:var(--accent)}

/* ---------- search ---------- */
.search{position:relative}
.search input{width:210px;height:32px;padding:0 10px 0 30px;border-radius:8px;
  border:1px solid var(--hair);background:var(--surface);color:var(--ink);font:14px var(--sans)}
.search input::placeholder{color:var(--faint)}
.search .mag{position:absolute;left:9px;top:7px;color:var(--faint);font-size:13px;pointer-events:none}
.results{position:absolute;top:38px;right:0;width:340px;max-height:60vh;overflow:auto;
  background:var(--raised);border:1px solid var(--hair);border-radius:10px;padding:6px;display:none;
  box-shadow:0 20px 50px rgba(0,0,0,.45)}
.results.open{display:block}
.results a{display:block;padding:9px 10px;border-radius:7px;color:var(--ink)}
.results a:hover,.results a.sel{background:var(--accent-soft);text-decoration:none}
.results .t{font-size:14px;font-weight:600}
.results .c{font-size:12.5px;color:var(--mute);margin-top:2px}
.results .none{padding:12px;color:var(--faint);font-size:13.5px}

/* ---------- layout ---------- */
.shell{max-width:var(--max);margin:0 auto;padding:0 22px;
       display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr) var(--toc);gap:34px}
.side{position:sticky;top:58px;height:calc(100vh - 58px);overflow-y:auto;padding:26px 0 40px}
.side h4{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--faint);
         font-weight:800;margin:20px 0 8px}
.side h4:first-child{margin-top:0}
.side a{display:block;padding:5px 10px;margin-left:-10px;border-radius:7px;
        font-size:14.5px;color:var(--mute)}
.side a:hover{color:var(--ink);background:var(--surface);text-decoration:none}
.side a[aria-current="page"]{color:var(--accent);background:var(--accent-soft);font-weight:600}

main{padding:34px 0 90px;min-width:0}
.toc{position:sticky;top:58px;height:calc(100vh - 58px);overflow-y:auto;padding:34px 0;font-size:13.5px}
.toc h4{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--faint);
        font-weight:800;margin-bottom:9px}
.toc a{display:block;padding:3px 0;color:var(--mute)}
.toc a:hover{color:var(--ink);text-decoration:none}

/* ---------- content ---------- */
.crumbs{font-size:13px;color:var(--faint);margin-bottom:12px}
main h1{font-size:37px;font-weight:800;letter-spacing:-1.2px;line-height:1.12}
main h2{font-size:23px;font-weight:750;letter-spacing:-.5px;margin:42px 0 12px;
        padding-top:14px;border-top:1px solid var(--hair)}
main h3{font-size:17px;font-weight:700;margin:26px 0 8px}
main p{margin:12px 0;color:var(--mute);max-width:70ch}
main ul,main ol{margin:12px 0 12px 22px;color:var(--mute);max-width:70ch}
main li{margin:5px 0}
main strong{color:var(--ink);font-weight:650}
.lede{font-size:17.5px;line-height:1.6;color:var(--mute);margin-top:14px;max-width:66ch}

code{font-family:var(--mono);font-size:13px;background:var(--surface);border:1px solid var(--hair);
     border-radius:5px;padding:1px 5px;color:var(--ink)}
pre{position:relative;margin:16px 0;background:var(--surface);border:1px solid var(--hair);
    border-radius:10px;padding:15px 16px;overflow-x:auto}
pre code{background:none;border:0;padding:0;font-size:13px;line-height:1.65;display:block}
.copy{position:absolute;top:9px;right:9px;font:11px var(--mono);color:var(--faint);
      background:var(--raised);border:1px solid var(--hair);border-radius:6px;padding:3px 8px;cursor:pointer}
.copy:hover{color:var(--ink);border-color:var(--accent)}
.copy.done{color:var(--good);border-color:var(--good)}

.note{margin:18px 0;padding:14px 16px;border:1px solid var(--hair);border-left:3px solid var(--accent);
      border-radius:8px;background:var(--surface)}
.note.warn{border-left-color:var(--warn)}
.note.danger{border-left-color:var(--danger)}
.note .k{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;font-weight:800;color:var(--accent)}
.note.warn .k{color:var(--warn)} .note.danger .k{color:var(--danger)}
.note p{margin:5px 0 0;color:var(--mute)}

table{width:100%;border-collapse:collapse;margin:18px 0;font-size:14.5px;display:block;overflow-x:auto}
th{text-align:left;font-size:11px;letter-spacing:1.3px;text-transform:uppercase;color:var(--faint);
   font-weight:800;padding:0 14px 8px 0;border-bottom:1px solid var(--hair);white-space:nowrap}
td{padding:10px 14px 10px 0;border-bottom:1px solid var(--hair);color:var(--mute);vertical-align:top}
td:first-child{color:var(--ink);font-family:var(--mono);font-size:13px;white-space:nowrap}

.pill{display:inline-block;font:600 11px var(--mono);letter-spacing:.4px;padding:2px 8px;
      border-radius:999px;border:1px solid var(--hair);color:var(--mute)}
.pill.get{color:var(--good);border-color:var(--good)}
.pill.post{color:var(--accent);border-color:var(--accent)}
.pill.del{color:var(--danger);border-color:var(--danger)}

.pager{display:flex;gap:12px;margin-top:52px;padding-top:22px;border-top:1px solid var(--hair)}
.pager a{flex:1;padding:14px 16px;border:1px solid var(--hair);border-radius:10px;color:var(--ink)}
.pager a:hover{border-color:var(--accent);text-decoration:none}
.pager .k{font-size:11px;letter-spacing:1.3px;text-transform:uppercase;color:var(--faint);font-weight:800}
.pager .t{margin-top:4px;font-weight:650}
.pager .next{text-align:right}

/* ---------- responsive ---------- */
@media (max-width:1180px){ .shell{grid-template-columns:var(--sidebar) minmax(0,1fr)} .toc{display:none} }
@media (max-width:860px){
  .shell{grid-template-columns:1fr;gap:0}
  .side{position:static;height:auto;border-bottom:1px solid var(--hair);padding:16px 0}
  .search input{width:150px}
  .top nav{display:none}
}

/* Demo build only: pages not published in the public preview. */
.side-locked{display:block;padding:5px 10px;margin-left:-10px;border-radius:7px;
  font-size:14.5px;color:var(--faint);cursor:default;display:flex;justify-content:space-between;align-items:center}
.side-locked em{font-style:normal;font-family:var(--mono);font-size:9.5px;letter-spacing:.8px;
  text-transform:uppercase;color:var(--faint);border:1px solid var(--hair);border-radius:999px;padding:1px 6px}
