/* MCPsight documentation. One stylesheet for every docs page. */
:root{
  --bg:#F7F9FB; --surface:#FFFFFF; --side:#F1F4F8; --sunk:#E9EEF3;
  --ink:#0F2436; --ink2:#4A5D6E; --ink3:#7C8C9A; --line:#DCE3EA;
  --navy:#083D6A; --blue:#0B4F88; --sky:#5A9FD4; --link:#0B4F88;
  --code-bg:#F1F5F9; --code-ink:#0F2436;
  --term-bg:#0B1620; --term-ink:#D6E2EE; --term-dim:#7C8C9A;
  --crit:#E5484D; --high:#F0883E; --med:#E5B03E; --low:#5A9FD4; --ok:#2EB67D;
  --note-bg:#EEF4FA; --note-line:#B9D3EC; --warn-bg:#FFF6E6; --warn-line:#EFCF85;
  --font:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0B1620; --surface:#0F1D2A; --side:#0D1A26; --sunk:#132536;
    --ink:#E3EBF2; --ink2:#A3B3C1; --ink3:#71838F; --line:#1F3346;
    --navy:#9CC7EA; --blue:#5A9FD4; --sky:#5A9FD4; --link:#7FB6E6;
    --code-bg:#0A1520; --code-ink:#D6E2EE; --term-bg:#060E16;
    --note-bg:#10243A; --note-line:#1E4568; --warn-bg:#2A2312; --warn-line:#5C4D1C;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0B1620; --surface:#0F1D2A; --side:#0D1A26; --sunk:#132536;
  --ink:#E3EBF2; --ink2:#A3B3C1; --ink3:#71838F; --line:#1F3346;
  --navy:#9CC7EA; --blue:#5A9FD4; --sky:#5A9FD4; --link:#7FB6E6;
  --code-bg:#0A1520; --code-ink:#D6E2EE; --term-bg:#060E16;
  --note-bg:#10243A; --note-line:#1E4568; --warn-bg:#2A2312; --warn-line:#5C4D1C;
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:24px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--font);-webkit-font-smoothing:antialiased}
a{color:var(--link);text-underline-offset:3px}
:focus-visible{outline:2px solid var(--sky);outline-offset:2px;border-radius:4px}

/* Three columns: sidebar, page, on this page */
.layout{display:grid;grid-template-columns:272px minmax(0,1fr) 220px;min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--side);border-right:1px solid var(--line);display:flex;flex-direction:column}
.content{min-width:0;padding:48px 56px 96px}
.doc{max-width:820px;margin:0 auto}
.toc{position:sticky;top:0;height:100vh;overflow-y:auto;padding:48px 20px 40px 8px}

/* Sidebar */
.side-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 14px 12px 18px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-width:0}
.brand b{font-size:15px;letter-spacing:-.01em}
.brand img{display:block;height:26px;width:auto}
.brand small{font-size:12px;color:var(--ink3);padding-top:7px}
.top-logo img{display:block}
.logo-dark{display:none!important}
:root[data-theme="dark"] .logo-light{display:none!important}:root[data-theme="dark"] .logo-dark{display:block!important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo-light{display:none!important}:root:not([data-theme="light"]) .logo-dark{display:block!important}}
.search-btn{display:flex;align-items:center;gap:8px;margin:4px 14px 10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink3);font:inherit;font-size:14px;cursor:pointer;text-align:left}
.search-btn:hover{border-color:var(--sky)}
.search-btn kbd{margin-left:auto;font:12px var(--mono);border:1px solid var(--line);border-radius:4px;padding:0 5px;color:var(--ink3)}
.nav{padding:4px 10px 16px;flex:1}
.nav h4{margin:18px 10px 6px;font-size:12px;font-weight:600;color:var(--ink3)}
.nav a{display:block;padding:6px 10px;border-radius:7px;color:var(--ink2);text-decoration:none;font-size:14.5px}
.nav a:hover{background:var(--sunk);color:var(--ink)}
.nav a[aria-current="page"]{background:var(--sunk);color:var(--ink);font-weight:600}
.side-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-top:1px solid var(--line);font-size:13px}
.side-foot a{color:var(--ink3);text-decoration:none}
.side-foot a:hover{color:var(--ink)}
.theme{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:2px;background:var(--surface)}
.theme button{border:0;background:none;color:var(--ink3);width:28px;height:24px;border-radius:999px;cursor:pointer;display:grid;place-items:center}
.theme button[aria-pressed="true"]{background:var(--sunk);color:var(--ink)}
.theme svg{width:14px;height:14px}

/* Page */
.crumb{font-size:13px;color:var(--ink3);margin:0 0 8px}
.doc h1{font-size:34px;line-height:1.2;letter-spacing:-.02em;margin:0 0 10px}
.lede{font-size:18px;color:var(--ink2);margin:0 0 28px}
.doc h2{font-size:23px;letter-spacing:-.01em;margin:44px 0 10px;padding-top:4px}
.doc h3{font-size:18px;margin:30px 0 8px}
.doc p{margin:12px 0}
.doc ul,.doc ol{padding-left:22px}
.doc li{margin:6px 0}
.doc h2 .anchor,.doc h3 .anchor{opacity:0;margin-left:6px;color:var(--ink3);text-decoration:none;font-weight:400}
.doc h2:hover .anchor,.doc h3:hover .anchor{opacity:1}
code{font-family:var(--mono);font-size:.9em;background:var(--code-bg);color:var(--code-ink);border:1px solid var(--line);border-radius:5px;padding:1px 5px}
pre code{border:0;background:none;padding:0;font-size:inherit;color:inherit}

/* Code: commands you copy, and terminal output you read */
.block{position:relative;margin:16px 0 20px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--code-bg)}
.block-head{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border-bottom:1px solid var(--line);font:12px var(--mono);color:var(--ink3)}
.block pre{margin:0;padding:14px 16px;overflow-x:auto;font:13.5px/1.6 var(--mono);color:var(--code-ink)}
.block.cmd pre .p{color:var(--ink3);user-select:none}
.block.cmd pre .c{color:var(--ink3)}
.copy{border:1px solid var(--line);background:var(--surface);color:var(--ink2);font:12px var(--font);border-radius:6px;padding:2px 9px;cursor:pointer}
.copy:hover{border-color:var(--sky);color:var(--ink)}
.block.out{background:var(--term-bg);border-color:#1A2A3A}
.block.out .block-head{border-color:#1A2A3A;color:var(--term-dim)}
.block.out pre{color:var(--term-ink);font-size:12.5px}
.block.out .dots{display:inline-flex;gap:6px}
.block.out .dots i{width:9px;height:9px;border-radius:50%;background:#2A3B4C;display:block}
.t-crit{color:var(--crit);font-weight:600}.t-high{color:var(--high)}.t-med{color:var(--med)}.t-low{color:var(--low)}.t-info{color:var(--term-dim)}
.t-ok{color:var(--ok)}.t-bad{color:var(--crit);font-weight:600}.t-dim{color:var(--term-dim)}

/* Callouts, tables, cards */
.callout{border:1px solid var(--note-line);background:var(--note-bg);border-radius:10px;padding:12px 16px;margin:18px 0}
.callout.warn{border-color:var(--warn-line);background:var(--warn-bg)}
.callout p{margin:6px 0}
.callout strong:first-child{display:block;margin-bottom:2px}
.table{overflow-x:auto;border:1px solid var(--line);border-radius:10px;margin:16px 0}
.table table{border-collapse:collapse;width:100%;font-size:14.5px}
.table th,.table td{text-align:left;padding:9px 13px;border-bottom:1px solid var(--line);vertical-align:top}
.table th{background:var(--side);font-weight:600;font-size:13px;color:var(--ink2)}
.table tr:last-child td{border-bottom:0}
.sev{font:600 11.5px var(--mono);padding:1px 7px;border-radius:5px;white-space:nowrap}
.sev.critical{background:var(--crit);color:#fff}.sev.high{background:var(--high);color:#1d1205}
.sev.medium{background:var(--med);color:#1d1605}.sev.low{background:var(--low);color:#06131f}.sev.info{background:var(--sunk);color:var(--ink2)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:18px 0}
.card{display:block;border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--surface);text-decoration:none;color:var(--ink)}
.card:hover{border-color:var(--sky)}
.card b{display:block;margin-bottom:4px}
.card span{color:var(--ink2);font-size:14.5px}
.steps{counter-reset:step;list-style:none;padding-left:0}
.steps>li{counter-increment:step;position:relative;padding-left:40px;margin:18px 0}
.steps>li::before{content:counter(step);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;background:var(--sunk);color:var(--navy);font:600 13px var(--mono);display:grid;place-items:center}

/* Prev / next */
.pager{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:56px;padding-top:24px;border-top:1px solid var(--line)}
.pager a{border:1px solid var(--line);border-radius:10px;padding:12px 14px;text-decoration:none;color:var(--ink);background:var(--surface)}
.pager a:hover{border-color:var(--sky)}
.pager small{display:block;color:var(--ink3);font-size:12.5px}
.pager .next{text-align:right;grid-column:2}

/* On this page */
.toc h5{display:flex;align-items:center;gap:6px;margin:0 0 10px;font-size:13px;font-weight:500;color:var(--ink2)}
.toc a{display:block;padding:4px 0 4px 12px;border-left:1px solid var(--line);color:var(--ink3);text-decoration:none;font-size:13.5px}
.toc a.sub{padding-left:24px}
.toc a:hover{color:var(--ink)}
.toc a.active{color:var(--ink);border-left-color:var(--navy)}

/* Search */
.search-dlg{border:0;padding:0;background:transparent;width:min(620px,94vw);margin-top:10vh}
.search-dlg::backdrop{background:rgba(6,14,22,.45)}
.search-box{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.search-box input{width:100%;border:0;border-bottom:1px solid var(--line);padding:14px 16px;font:inherit;font-size:16px;background:var(--surface);color:var(--ink);outline:none}
.results{max-height:56vh;overflow-y:auto;padding:6px}
.results a{display:block;padding:9px 12px;border-radius:8px;text-decoration:none;color:var(--ink)}
.results a:hover,.results a.sel{background:var(--sunk)}
.results small{display:block;color:var(--ink3);font-size:13px}
.results mark{background:none;color:var(--link);font-weight:600}
.results .none{padding:14px;color:var(--ink3)}

/* Mobile */
.topbar{display:none}
@media (max-width:1180px){.layout{grid-template-columns:272px minmax(0,1fr)}.toc{display:none}}
@media (max-width:860px){
  .layout{display:block}
  .topbar{display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:20;padding:10px 16px;background:var(--side);border-bottom:1px solid var(--line)}
  .topbar button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:5px 10px;font:inherit;font-size:14px}
  .sidebar{position:fixed;inset:0 auto 0 0;width:min(300px,86vw);z-index:30;transform:translateX(-100%);transition:transform .18s}
  .sidebar.open{transform:none;box-shadow:0 0 40px rgba(0,0,0,.3)}
  .content{padding:28px 16px 72px}
  .doc h1{font-size:28px}
}
@media (max-width:420px){.topbar b{display:none}}
@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}
