/* High documentation — self-contained theme.
   Tokens are lifted from the High design system (the console's own tokens); the
   component styles are the docs' three-pane shell, prose, callouts, tabbed code
   groups, definition rows, search, and prev/next. No external stylesheet, no CDN
   — fonts are self-hosted woff2 under ./fonts and every value below is inline. */

/* ---- Self-hosted Geist (same faces the console ships) ---- */
@font-face{font-family:"Geist";font-weight:400;font-style:normal;font-display:swap;src:url("fonts/geist-400.woff2") format("woff2")}
@font-face{font-family:"Geist";font-weight:500;font-style:normal;font-display:swap;src:url("fonts/geist-500.woff2") format("woff2")}
@font-face{font-family:"Geist";font-weight:600;font-style:normal;font-display:swap;src:url("fonts/geist-600.woff2") format("woff2")}
@font-face{font-family:"Geist";font-weight:700;font-style:normal;font-display:swap;src:url("fonts/geist-700.woff2") format("woff2")}
@font-face{font-family:"Geist Mono";font-weight:400;font-style:normal;font-display:swap;src:url("fonts/geist-mono-400.woff2") format("woff2")}
@font-face{font-family:"Geist Mono";font-weight:500;font-style:normal;font-display:swap;src:url("fonts/geist-mono-500.woff2") format("woff2")}
@font-face{font-family:"Geist Mono";font-weight:600;font-style:normal;font-display:swap;src:url("fonts/geist-mono-600.woff2") format("woff2")}

/* ---- Tokens (dark-first) ---- */
:root{
  --base-950:#0b0d10;--base-925:#101319;--base-900:#14171c;--base-850:#181c22;--base-800:#1c2026;
  --base-750:#21262e;--base-700:#252a31;--base-600:#333a44;--base-500:#4a525e;--base-400:#6b7480;
  --base-300:#8a93a0;--base-200:#aab2bd;--base-100:#c8ced6;--base-50:#e6e9ee;--base-0:#f6f8fa;
  --accent-300:#aee0ff;--accent-400:#74c8f7;--accent-500:#49b8f4;--accent-600:#2c9ce2;--accent-700:#2280bd;
  --accent-glow:rgba(73,184,244,.16);--accent-soft:rgba(73,184,244,.12);
  --ready-fg:#5ee08a;--ready-bg:#10391f;--progressing-fg:#f0cd5e;--progressing-bg:#3a330f;
  --pending-fg:#9aa3af;--pending-bg:#23262c;--degraded-fg:#f0a85e;--degraded-bg:#3a260f;
  --failed-fg:#ff8a8a;--failed-bg:#3a1212;
  --background:var(--base-950);--surface:var(--base-900);--surface-raised:var(--base-800);
  --surface-hover:var(--base-750);--surface-sunken:var(--base-925);
  --border:var(--base-700);--border-strong:var(--base-600);
  --text:var(--base-50);--text-bright:var(--base-0);--text-muted:var(--base-300);--text-faint:var(--base-400);--text-disabled:var(--base-500);
  --link:var(--accent-400);
  --font-sans:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-mono:"Geist Mono",ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;
  --radius:6px;--radius-md:9px;--radius-lg:12px;
  --shadow-lg:0 16px 48px rgba(0,0,0,.55);
  --ease-out:cubic-bezier(.22,1,.36,1);
}

/* ---- Light theme override ---- */
html.theme-light{
  --background:#ffffff;--surface:#ffffff;--surface-raised:#f4f6f8;--surface-hover:#eaeef2;--surface-sunken:#f6f8fa;
  --border:#e4e8ec;--border-strong:#d2d8df;
  --text:#1c2026;--text-bright:#0b0d10;--text-muted:#586474;--text-faint:#8a93a0;--text-disabled:#aab2bd;
  --base-500:#8a93a0;--base-600:#c8ced6;
  --link:#1f7fbe;--accent-300:#1f7fbe;
  --ready-bg:#e3f6e9;--progressing-bg:#fbf1cf;--degraded-bg:#fbead6;--failed-bg:#fbe0e0;--pending-bg:#eef0f3;
  --ready-fg:#1f8a4c;--progressing-fg:#a9821a;--degraded-fg:#c1691f;--failed-fg:#c53434;
}

/* ---- Base ---- */
*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%;background:var(--background);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--link);text-decoration:none}
a:hover{color:var(--accent-300)}
::selection{background:var(--accent-soft);color:var(--text-bright)}
.ic{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex:none}
.ic>svg{width:100%;height:100%;stroke-width:2;display:block}

@keyframes doc-dot{0%,100%{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 0 4px var(--accent-glow)}}
@keyframes doc-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes doc-pop{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.scroll::-webkit-scrollbar{width:10px;height:10px}
.scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px;border:3px solid transparent;background-clip:content-box}
.scroll::-webkit-scrollbar-track{background:transparent}

kbd{font:600 11px/1 var(--font-mono);background:var(--surface-raised);border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;padding:2px 5px;color:var(--text-muted)}

/* ---- Shell ---- */
#doc-root{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--background);color:var(--text)}
.doc-header{height:56px;flex:none;display:flex;align-items:center;gap:14px;padding:0 20px;border-bottom:1px solid var(--border);background:var(--surface);z-index:20}
.doc-brand{display:flex;align-items:center;gap:9px;cursor:pointer}
.doc-brand .dot{width:9px;height:9px;border-radius:99px;background:var(--accent-500);box-shadow:0 0 0 3px var(--accent-glow);animation:doc-dot 2.8s var(--ease-out) infinite;flex:none}
.doc-brand .wm{font:600 16px/1 var(--font-sans);letter-spacing:-.01em;color:var(--text-bright)}
.doc-brand .tag{font:500 12px/1 var(--font-mono);color:var(--text-faint);padding:3px 7px;border:1px solid var(--border);border-radius:99px;margin-left:2px}
.search-trigger{margin-left:8px;display:flex;align-items:center;gap:10px;width:280px;max-width:34vw;background:var(--surface-sunken);border:1px solid var(--border);border-radius:8px;padding:8px 10px;cursor:pointer;color:var(--text-faint);transition:border-color 120ms;font:400 13px/1 var(--font-sans)}
.search-trigger:hover{border-color:var(--border-strong)}
.search-trigger .lbl{flex:1;text-align:left}
.header-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.ext-link{font:500 13px/1 var(--font-sans);color:var(--text-muted);padding:6px 4px;display:flex;align-items:center;gap:6px;transition:color 120ms}
.ext-link:hover{color:var(--accent-300)}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:transparent;border:1px solid var(--border);border-radius:8px;cursor:pointer;color:var(--text-muted);transition:all 120ms}
.icon-btn:hover{border-color:var(--border-strong);color:var(--text-bright)}
.doc-body{flex:1;display:flex;min-height:0}

/* ---- Sidebar ---- */
.doc-sidebar{width:264px;flex:none;border-right:1px solid var(--border);background:var(--surface);overflow-y:auto;padding:22px 14px 40px}
.nav-group{margin-bottom:22px}
.nav-label{font:600 11px/1.4 var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);padding:0 10px;margin-bottom:8px}
.nav-list{display:flex;flex-direction:column;gap:1px}
.nav-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:7px;cursor:pointer;font:500 13.5px/1.3 var(--font-sans);text-decoration:none;background:transparent;color:var(--text-muted);border-left:2px solid transparent}
.nav-item .nav-ic{width:15px;height:15px;color:var(--text-faint)}
.nav-item:hover{background:var(--surface-hover);color:var(--text-bright)}
.nav-item:hover .nav-ic{color:var(--text-muted)}
.nav-item[data-active]{background:var(--accent-soft);color:var(--accent-300);border-left-color:var(--accent-500)}
.nav-item[data-active] .nav-ic{color:var(--accent-400)}

/* ---- Main ---- */
.doc-main{flex:1;min-width:0;overflow-y:auto;scroll-behavior:smooth}
.doc-wrap{max-width:1080px;margin:0 auto;display:flex;gap:48px;padding:44px 48px 96px;align-items:flex-start}
.doc-col{flex:1;min-width:0;max-width:760px}
.crumb{display:flex;align-items:center;gap:7px;margin-bottom:22px;font:500 12px/1 var(--font-mono);color:var(--text-faint)}
.crumb .sep{color:var(--base-600)}
.crumb .cur{color:var(--text-muted)}

/* ---- Prose ---- */
.prose{color:var(--text);font-size:15px;line-height:1.72;animation:doc-fade .28s var(--ease-out) both}
.prose h1{font:600 30px/1.2 var(--font-sans);letter-spacing:-.02em;color:var(--text-bright);margin:0 0 10px}
.prose .lead{font-size:17px;line-height:1.6;color:var(--text-muted);margin:0 0 34px;font-weight:400}
.prose h2{font:600 20px/1.3 var(--font-sans);letter-spacing:-.01em;color:var(--text-bright);margin:44px 0 14px;scroll-margin-top:24px;padding-top:18px;border-top:1px solid var(--border)}
.prose h2:first-of-type{border-top:none;padding-top:0;margin-top:30px}
.prose h3{font:600 15px/1.4 var(--font-sans);color:var(--text-bright);margin:26px 0 8px;scroll-margin-top:24px}
.prose p{margin:0 0 16px}
.prose ul,.prose ol{margin:0 0 16px;padding-left:22px}
.prose li{margin:0 0 7px}
.prose li::marker{color:var(--text-faint)}
.prose strong{color:var(--text-bright);font-weight:600}
.prose em{font-style:normal;color:var(--text-bright)}
.prose code{font:500 13px/1.4 var(--font-mono);background:var(--surface-sunken);border:1px solid var(--border);border-radius:5px;padding:1px 5px;color:var(--accent-300)}
.prose a{border-bottom:1px solid transparent}
.prose a:hover{border-bottom-color:currentColor}
.prose hr{border:none;border-top:1px solid var(--border);margin:32px 0}

/* ---- Definition rows ---- */
.defrow{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:15px 0;border-top:1px solid var(--border);align-items:baseline}
.deflist{margin:24px 0}
.defrow:last-child{border-bottom:1px solid var(--border)}
.defterm{font:600 13px/1.4 var(--font-mono);color:var(--accent-300);letter-spacing:.01em}
.defdesc{color:var(--text-muted);font-size:14px;line-height:1.6}
.defdesc strong{color:var(--text)}
@media(max-width:640px){.defrow{grid-template-columns:1fr;gap:4px}}

/* ---- Callouts ---- */
.cal{display:flex;gap:12px;padding:14px 16px;border-radius:var(--radius-md);margin:24px 0;font-size:14px;line-height:1.6;border:1px solid var(--border)}
.cal .cal-ic{flex:none;margin-top:1px}
.cal p{margin:0 0 6px}.cal p:last-child{margin:0}
.cal strong{color:var(--text-bright)}
.cal-note{background:var(--accent-soft);border-color:var(--accent-700)}
.cal-note .cal-ic{color:var(--accent-400)}
.cal-tip{background:var(--ready-bg);border-color:color-mix(in srgb,var(--ready-fg) 40%,transparent)}
.cal-tip .cal-ic{color:var(--ready-fg)}
.cal-warn{background:var(--progressing-bg);border-color:color-mix(in srgb,var(--progressing-fg) 45%,transparent)}
.cal-warn .cal-ic{color:var(--progressing-fg)}
.cal-title{display:block;font-weight:600;color:var(--text-bright);margin-bottom:3px;font-size:13px}
.cal-body{color:var(--text-muted)}
.cal-body>:last-child{margin-bottom:0}

/* ---- Tabbed code groups (CSS-only via radio) ---- */
.cg{margin:22px 0;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--surface-sunken)}
.cg-radio{position:absolute;opacity:0;pointer-events:none}
.cg-bar{display:flex;align-items:stretch;gap:2px;background:var(--surface);border-bottom:1px solid var(--border);padding:0 6px}
.cg-bar>label{font:500 12.5px/1 var(--font-sans);color:var(--text-faint);padding:11px 12px 10px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color 120ms}
.cg-bar>label:hover{color:var(--text)}
.cg-panel{display:none;position:relative}
.cg-panel pre{margin:0;padding:16px 18px;overflow-x:auto;font:400 13px/1.65 var(--font-mono);color:var(--text)}
.cg-copy{position:absolute;top:9px;right:9px;display:inline-flex;align-items:center;gap:5px;background:var(--surface-raised);border:1px solid var(--border);color:var(--text-faint);font:500 11px/1 var(--font-sans);padding:5px 8px;border-radius:6px;cursor:pointer;transition:all 120ms}
.cg-copy:hover{color:var(--text-bright);border-color:var(--border-strong)}
.cg-copy[data-copied]{color:var(--ready-fg);border-color:var(--ready-fg)}
.cg-copy .lbl-copied{display:none}.cg-copy[data-copied] .lbl-copy{display:none}.cg-copy[data-copied] .lbl-copied{display:inline}
.cg .cg-body>.cg-panel:first-child{display:block}
.cg .cg-bar>label:first-child{color:var(--text-bright);border-bottom-color:var(--accent-500)}
.cg .cg-radio:nth-of-type(2):checked~.cg-body>.cg-panel:nth-child(2),
.cg .cg-radio:nth-of-type(3):checked~.cg-body>.cg-panel:nth-child(3){display:block}
.cg .cg-radio:nth-of-type(2):checked~.cg-bar>label:nth-child(2),
.cg .cg-radio:nth-of-type(3):checked~.cg-bar>label:nth-child(3){color:var(--text-bright);border-bottom-color:var(--accent-500)}
.cg .cg-radio:nth-of-type(2):checked~.cg-body>.cg-panel:nth-child(1),
.cg .cg-radio:nth-of-type(3):checked~.cg-body>.cg-panel:nth-child(1),
.cg .cg-radio:nth-of-type(3):checked~.cg-body>.cg-panel:nth-child(2){display:none}
.cg .cg-radio:nth-of-type(2):checked~.cg-bar>label:nth-child(1),
.cg .cg-radio:nth-of-type(3):checked~.cg-bar>label:nth-child(1),
.cg .cg-radio:nth-of-type(3):checked~.cg-bar>label:nth-child(2){color:var(--text-faint);border-bottom-color:transparent}
.tok-c{color:var(--text-faint)}.tok-s{color:var(--ready-fg)}.tok-u{color:var(--text-bright)}

/* ---- Standalone code block (fenced) ---- */
.prose pre{margin:22px 0;padding:16px 18px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md);overflow-x:auto;font:400 13px/1.65 var(--font-mono);color:var(--text)}
.prose pre code{background:none;border:none;padding:0;color:inherit;font-size:13px}

/* ---- Prev / next ---- */
.pn{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:56px;padding-top:28px;border-top:1px solid var(--border)}
.pn-card{display:flex;flex-direction:column;gap:5px;padding:15px 16px;border:1px solid var(--border);border-radius:var(--radius-md);text-decoration:none;transition:border-color 120ms}
.pn-card:hover{border-color:var(--accent-500)}
.pn-card:hover .pn-title{color:var(--accent-300)}
.pn-kick{display:flex;align-items:center;gap:6px;font:500 11px/1 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}
.pn-title{font:600 14px/1.3 var(--font-sans);color:var(--text);transition:color 120ms}
.pn-next{grid-column:2;text-align:right;align-items:flex-end}
.pn-next .pn-kick{flex-direction:row-reverse}

/* ---- On this page ---- */
.doc-toc{width:196px;flex:none;position:sticky;top:0;align-self:flex-start;padding-top:2px}
.toc-label{font:600 11px/1.4 var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin-bottom:12px}
.toc-nav{display:flex;flex-direction:column;gap:2px;border-left:1px solid var(--border)}
.toc-link{padding:4px 0 4px 12px;margin-left:-1px;border-left:2px solid transparent;font:400 13px/1.4 var(--font-sans);color:var(--text-faint);text-decoration:none;transition:color 120ms}
.toc-link.lvl-3{padding-left:24px}
.toc-link:hover{color:var(--text)}
.toc-link[data-active]{color:var(--accent-300);border-left-color:var(--accent-500);font-weight:600}

/* ---- Search modal ---- */
.search-scrim{position:fixed;inset:0;z-index:80;background:rgba(4,7,10,.62);display:none;justify-content:center;padding-top:12vh}
.search-scrim[data-open]{display:flex}
.search-box{width:600px;max-width:92vw;height:max-content;max-height:64vh;background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:12px;box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column;animation:doc-pop .2s var(--ease-out) both}
.search-head{display:flex;align-items:center;gap:11px;padding:15px 17px;border-bottom:1px solid var(--border)}
.search-head input{flex:1;background:none;border:none;outline:none;font:400 15px/1 var(--font-sans);color:var(--text)}
.search-results{overflow-y:auto;padding:8px}
.result-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;text-decoration:none;cursor:pointer}
.result-row:hover,.result-row[data-hot]{background:var(--surface-hover)}
.result-ic{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;border-radius:7px;background:var(--surface-sunken);border:1px solid var(--border);color:var(--accent-400)}
.result-ic .ic{width:15px;height:15px}
.result-txt{flex:1;min-width:0}
.result-title{display:block;font:500 14px/1.3 var(--font-sans);color:var(--text-bright)}
.result-group{display:block;font:400 12px/1.3 var(--font-mono);color:var(--text-faint)}
.search-empty{padding:26px 14px;text-align:center;font:400 13px/1.5 var(--font-sans);color:var(--text-faint)}
.search-foot{display:flex;align-items:center;gap:16px;padding:9px 15px;border-top:1px solid var(--border);font:400 11px/1 var(--font-sans);color:var(--text-faint)}
.search-foot .doc-dotmark{width:6px;height:6px;border-radius:99px;background:var(--accent-500);box-shadow:0 0 0 2px var(--accent-glow)}

/* ---- Mobile ---- */
.menu-btn{display:none}
@media(max-width:1180px){.doc-toc{display:none}}
@media(max-width:900px){
  .doc-sidebar{position:fixed;top:56px;bottom:0;left:0;z-index:30;transform:translateX(-100%);transition:transform .2s var(--ease-out)}
  .doc-sidebar[data-open]{transform:none}
  .menu-btn{display:inline-flex}
  .search-trigger{width:auto}.search-trigger .lbl,.search-trigger kbd{display:none}
  .doc-wrap{padding:28px 20px 80px}
}
