:root{

  --pudel: #F26A1B;
  --pudel-dark: #D45512;
  --pudel-soft: rgba(242,106,27,0.12);


  --bg: #ffffff;
  --bg2: #FAFAFA;
  --panel: #ffffff;

  /* Lines */
  --line: #E5E7EB;
  --line2: #F1F5F9;

  /* Text */
  --text: #0B0F19;
  --muted: #6B7280;
  --muted2: #9CA3AF;

  /* Effects */
  --shadow: 0 10px 28px rgba(0,0,0,0.08);
  --shadow2: 0 18px 40px rgba(0,0,0,0.10);
  --shadow-soft: 0 8px 18px rgba(0,0,0,0.06);

  /* Radius */
  --r-xs: 10px;
  --r-sm: 12px;
  --r-md: 16px;
  --r-lg: 22px;

  /* Layout */
  --sidebar-w: 300px;
  --topbar-h: 56px;
  --toc-w: 280px;

  /* Typography */
  --font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;

  /* Content width */
  --content-w: 920px;

  /* Transitions */
  --t-fast: 120ms ease;
  --t-med: 180ms ease;

  /* Focus */
  --focus: 0 0 0 4px rgba(242,106,27,0.18);

  /* Z layers */
  --z-topbar: 40;
  --z-overlay: 80;
  --z-drawer: 90;
  --z-modal: 1000;

  /* Drawer */
  --drawer-w: min(86vw, 340px);
  --overlay: rgba(0,0,0,0.46);
}

/* =========================================================
   1) BASELINE (Reset + Base Typography + Media Safety)
========================================================= */
*,
*::before,
*::after{ box-sizing: border-box; }

html, body{ height: 100%; }
html{
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}
body{
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img, svg, video, canvas, audio, iframe, embed, object{
  display: block;
  max-width: 100%;
}
img{ height: auto; }

a{ color: inherit; }

button, input, textarea, select{
  font: inherit;
  color: inherit;
}
button{
  cursor: pointer;
  border: 0;
  background: transparent;
}
input, textarea, select{ margin: 0; }
textarea{ resize: vertical; }

:focus{ outline: none; }
:focus-visible{ box-shadow: var(--focus); border-radius: 12px; }

::selection{
  background: rgba(242,106,27,0.22);
  color: var(--text);
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  *{ animation: none !important; transition: none !important; }
}

/* Skip link */
.skip-link{
  position: absolute;
  left: -999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.skip-link:focus{
  left: 16px;
  top: 12px;
  width: auto;
  height: auto;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  box-shadow: var(--shadow);
  z-index: var(--z-modal);
}

/* =========================================================
   2) UTILITIES
========================================================= */
.u-hidden{ display: none !important; }
.u-srOnly{
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}
.u-nowrap{ white-space: nowrap; }
.u-muted{ color: var(--muted) !important; }
.u-card{
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: var(--r-md);
  background: #fff;
  box-shadow: var(--shadow-soft);
}
.u-chip{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.10);
  background: rgba(0,0,0,0.02);
  font-weight: 850;
  font-size: 12px;
}

/* =========================================================
   3) TOPBAR
========================================================= */
.topbar{
  position: sticky;
  top: 0;
  z-index: var(--z-topbar);
  height: var(--topbar-h);
  background: rgba(255,255,255,0.86);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.topbar__inner{
  height: 100%;
  margin: 0;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.topbar__brand{
  text-decoration: none;
  color: var(--text);
  font-weight: 950;
  letter-spacing: 0.08em;
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.topbar__brand span{ line-height: 1; }
.topbar__brand img{ height: 22px; display: block; }
.topbar__logo{ height: 26px; width: auto; display: block; }

.topbar__nav{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.topbar__link{
  text-decoration: none;
  color: #374151;
  font-weight: 800;
  font-size: 12px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid transparent;
  transition: background var(--t-fast), border-color var(--t-fast), color var(--t-fast);
}
.topbar__link:hover{
  border-color: var(--line);
  background: rgba(0,0,0,0.03);
}
.topbar__link.is-active{
  color: var(--pudel);
  border-color: rgba(242,106,27,0.25);
  background: rgba(242,106,27,0.10);
}

/* Actions */
.topbar__actions{
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Theme toggle (defensive; JS can still replace icon) */
.themeToggle{
  width: 36px;
  height: 36px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.10);
  background: rgba(0,0,0,0.02);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--t-fast), background var(--t-fast), border-color var(--t-fast);
}
.themeToggle:hover{
  background: rgba(0,0,0,0.04);
  border-color: rgba(0,0,0,0.14);
}
.themeToggle:active{ transform: translateY(1px); }

/* Mobile action buttons */
.siteMenuBtn,
.docsMenuBtn{
  height: 36px;
  min-width: 40px;
  padding: 0 10px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.10);
  background: rgba(0,0,0,0.02);
  font-weight: 950;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--t-fast), background var(--t-fast), border-color var(--t-fast);
}
.siteMenuBtn:hover,
.docsMenuBtn:hover{
  background: rgba(0,0,0,0.04);
  border-color: rgba(0,0,0,0.14);
}
.siteMenuBtn:active,
.docsMenuBtn:active{ transform: translateY(1px); }

/* =========================================================
   4) DOCS SHELL LAYOUT (Desktop default)
========================================================= */
.docs{
  display: grid;
  grid-template-columns: var(--sidebar-w) minmax(0, 1fr);
  min-height: calc(100vh - var(--topbar-h));
}

/* Sidebar */
.docs__sidebar{
  position: sticky;
  top: var(--topbar-h);
  height: calc(100vh - var(--topbar-h));
  border-right: 1px solid var(--line);
  background: linear-gradient(to bottom, #FAFAFA, #FFFFFF);
}
.docs__sidebarInner{
  height: 100%;
  padding: 14px 12px 12px;
  overflow: auto;
  scrollbar-gutter: stable;
}
.docs__sidebarInner::-webkit-scrollbar{ width: 10px; }
.docs__sidebarInner::-webkit-scrollbar-thumb{
  background: rgba(0,0,0,0.10);
  border: 3px solid transparent;
  background-clip: content-box;
  border-radius: 999px;
}
.docs__sidebarInner::-webkit-scrollbar-thumb:hover{
  background: rgba(0,0,0,0.16);
  border: 3px solid transparent;
  background-clip: content-box;
}

/* Sidebar header */
.docs__sidebarHeader{
  padding: 10px 10px 8px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid var(--line2);
  box-shadow: 0 6px 18px rgba(0,0,0,0.04);
}
.docs__sidebarTitle{
  font-weight: 950;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #111827;
}
.docs__sidebarHint{
  margin-top: 6px;
  font-size: 12px;
  color: var(--muted);
}

/* Sidebar footer */
.docs__sidebarFooter{
  margin-top: 14px;
  padding: 14px 10px 0;
  border-top: 1px solid var(--line);
  display: flex;
  align-items: center;
  gap: 10px;
}
.docs__badge{
  font-size: 11px;
  font-weight: 950;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(242,106,27,0.10);
  border: 1px solid rgba(242,106,27,0.20);
  color: var(--pudel-dark);
}
.docs__muted{
  color: var(--muted);
  font-size: 12px;
}

/* Sidebar nav */
.docs__nav{
  margin-top: 12px;
  display: grid;
  gap: 6px;
}
.docs__navGroupTitle{
  margin: 10px 6px 6px;
  font-size: 10.5px;
  font-weight: 950;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(107,114,128,0.95);
}
.docs__navLink{
  display: block;
  text-decoration: none;
  color: #1F2937;
  font-size: 13px;
  line-height: 1.25;
  padding: 7px 10px;
  border-radius: 10px;
  border: 1px solid transparent;
  transition: background var(--t-fast), border-color var(--t-fast), transform var(--t-fast);
}
.docs__navLink:hover{
  background: rgba(0,0,0,0.025);
  border-color: transparent;
}
.docs__navLink:active{ transform: translateY(1px); }
.docs__navLink.is-active{
  background: rgba(242,106,27,0.08);
  border-color: transparent;
  color: #7A2E05;
  font-weight: 900;
  position: relative;
}
.docs__navLink.is-active::before{
  content:"";
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 6px;
  width: 3px;
  border-radius: 99px;
  background: rgba(242,106,27,0.85);
}

/* Collapsible groups */
.docsnav-group{ margin: 8px 0; }
.docsnav-group__header{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;

  background: transparent;
  border: 0;
  padding: 6px 6px 4px;
  margin: 0 0 6px;

  cursor: pointer;
  user-select: none;

  font: inherit;
  letter-spacing: .10em;
  text-transform: uppercase;
  font-weight: 800;
  font-size: 11px;
  color: rgba(107,114,128,0.95);

  border-radius: 10px;
}
.docsnav-group__header:hover{ background: rgba(0,0,0,0.02); }
.docsnav-group__header:focus-visible{ box-shadow: var(--focus); border-radius: 12px; }

.docsnav-group__title{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.docsnav-group__chev{
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: rgba(107,114,128,0.9);
  font-size: 11px;
  line-height: 1;
  opacity: 0.78;
  transform-origin: 50% 50%;
  transition: transform 140ms ease, background 140ms ease;
}
.docsnav-group__header:hover .docsnav-group__chev{ background: rgba(0,0,0,0.03); }
.docsnav-group__header[aria-expanded="true"] .docsnav-group__chev{ transform: rotate(90deg); }

.docsnav-group__items{
  padding-left: 10px;
  margin-left: 6px;
  border-left: 1px solid rgba(0,0,0,0.06);
}
.docsnav-group__items[hidden]{ display: none !important; }
.docsnav-group__items .docs__navLink{
  padding: 6px 10px;
  border-radius: 10px;
}

/* Main column (content + toc) */
.docs__main{
  padding: 22px 18px 36px;
  background: #fff;
  display: grid;
  grid-template-columns: 1fr var(--toc-w);
  gap: 18px;
  align-items: start;
  min-width: 0;
}
.docs__content{
  max-width: var(--content-w);
  margin: 0 auto;
  width: 100%;
  min-width: 0;
}

/* =========================================================
   5) TOC (On this page) — v18
   - Collapsible via <details>/<summary>
   - Desktop: sticky right
   - Mobile/Tablet: flows at bottom
========================================================= */
.docs__toc{
  position: sticky;
  top: calc(var(--topbar-h) + 16px);
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}

/* details reset-ish */
.tocBox{
  margin: 0;
  border: 0;
  padding: 0;
}
.tocBox > summary{
  list-style: none;
}
.tocBox > summary::-webkit-details-marker{ display: none; }

/* clickable header */
.tocBox__summary{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;

  padding: 12px 12px;
  cursor: pointer;
  user-select: none;

  background: rgba(0,0,0,0.01);
  border-bottom: 1px solid rgba(0,0,0,0.08);
}
.tocBox__summary:hover{
  background: rgba(0,0,0,0.02);
}
.tocBox__summary:focus-visible{
  box-shadow: var(--focus);
  border-radius: 16px;
}

/* label + chevron */
.tocBox__label{
  font-weight: 950;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.55);
}
.tocBox__chev{
  width: 30px;
  height: 30px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  font-size: 12px;
  line-height: 1;

  color: rgba(0,0,0,0.55);
  background: rgba(0,0,0,0.03);

  transform: rotate(0deg);
  transition: transform 140ms ease, background 140ms ease;
}
.tocBox__summary:hover .tocBox__chev{
  background: rgba(0,0,0,0.05);
}
.tocBox[open] .tocBox__chev{
  transform: rotate(180deg);
}

/* body */
.tocBox__body{
  padding: 10px 10px 12px;
}

/* toc links (your existing docs-ui generates .docs__tocList/.docs__tocLink etc.) */
.docs__tocList{
  margin-top: 0;
  display: grid;
  gap: 6px;
}
.docs__tocLink{
  text-decoration: none;
  font-size: 13px;
  color: rgba(0,0,0,0.74);
  padding: 6px 8px;
  border-radius: 10px;
  border: 1px solid transparent;
  transition: background var(--t-fast), border-color var(--t-fast), color var(--t-fast);
}
.docs__tocLink:hover{
  border-color: rgba(0,0,0,0.10);
  background: rgba(0,0,0,0.02);
}
.docs__tocLink.is-sub{
  padding-left: 18px;
  font-size: 12.5px;
  opacity: 0.92;
}
.docs__tocLink.is-active{
  border-color: rgba(242,106,27,0.25);
  background: rgba(242,106,27,0.08);
  color: rgba(120,45,8,0.92);
  font-weight: 950;
}
.docs__tocEmpty{
  margin-top: 0;
  color: rgba(0,0,0,0.55);
  font-size: 13px;
}

/* =========================================================
   6) SEARCH UI
========================================================= */
.docs__search{
  position: relative;
  margin-top: 12px;
}
.docs__searchInput{
  width: 100%;
  height: 40px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.12);
  background: #fff;
  font-size: 13px;
  outline: none;
  transition: border-color var(--t-fast), box-shadow var(--t-fast);
}
.docs__searchInput:focus{
  border-color: rgba(242,106,27,0.35);
  box-shadow: 0 10px 22px rgba(242,106,27,0.10);
}

.docs__searchResults{
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px);
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.12);
  background: #fff;
  box-shadow: var(--shadow2);
  overflow: hidden;
  display: none;
  z-index: 30;
  max-height: 420px;
  overflow: auto;
}
.docs__searchResults.is-open{ display: block; }

.docs__searchItem{
  display: block;
  padding: 10px 12px;
  text-decoration: none;
  border-bottom: 1px solid rgba(0,0,0,0.06);
  transition: background var(--t-fast);
}
.docs__searchItem:hover{ background: rgba(0,0,0,0.02); }

.docs__searchTitle{
  font-weight: 950;
  font-size: 13px;
  color: rgba(10,10,10,0.92);
}
.docs__searchPath{
  margin-top: 4px;
  font-size: 12px;
  color: rgba(10,10,10,0.52);
}
.docs__searchEmpty{
  padding: 12px;
  font-size: 13px;
  color: rgba(0,0,0,0.62);
}

.docs__searchTag{
  display: inline-block;
  margin-right: 8px;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(242,106,27,0.9);
}
.docs__searchTitle mark,
.docs__searchSnippet mark{
  background: rgba(242,106,27,0.18);
  border-radius: 6px;
  padding: 0 4px;
}
.docs__searchSnippet{
  margin-top: 6px;
  font-size: 12px;
  color: rgba(10,10,10,0.68);
  line-height: 1.6;
}
.docs__searchItem.is-active{
  background: rgba(242,106,27,0.06);
  outline: 2px solid rgba(242,106,27,0.20);
  outline-offset: -2px;
}
.docs__searchResults mark{
  background: rgba(242,106,27,0.18);
  color: inherit;
  padding: 0 2px;
  border-radius: 4px;
}

/* =========================================================
   7) PAGE HERO
========================================================= */
.pagehero{
  margin: 0 0 14px;
  padding: 14px 0 6px;
}
.pagehero__kicker{
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: 11px;
  color: rgba(107,114,128,0.95);
}
.pagehero__title{
  margin: 8px 0 0;
  font-size: 32px;
  letter-spacing: -0.03em;
  line-height: 1.15;
}
.pagehero__lead{
  margin: 10px 0 0;
  font-size: 14px;
  line-height: 1.9;
  color: #374151;
  max-width: 90ch;
}

/* =========================================================
   8) MARKDOWN TYPOGRAPHY
========================================================= */
#docsMarkdownContent,
.docs__content{ max-width: var(--content-w); }
#docsMarkdownContent{ padding: 6px 0 40px; }

#docsMarkdownContent > :first-child,
.docs__content > :first-child{ margin-top: 0 !important; }

#docsMarkdownContent h1,
.docs__content h1{
  margin: 6px 0 10px;
  font-size: 32px;
  letter-spacing: -0.03em;
  line-height: 1.18;
}
#docsMarkdownContent h2,
.docs__content h2{
  margin: 26px 0 10px;
  font-size: 20px;
  letter-spacing: -0.02em;
  line-height: 1.25;
}
#docsMarkdownContent h3,
.docs__content h3{
  margin: 18px 0 8px;
  font-size: 16px;
  letter-spacing: -0.01em;
  line-height: 1.3;
  color: #111827;
}

#docsMarkdownContent h2,
#docsMarkdownContent h3,
.docs__content h2,
.docs__content h3{
  scroll-margin-top: calc(var(--topbar-h) + 16px);
}

#docsMarkdownContent p,
.docs__content p{
  margin: 10px 0 0;
  color: #374151;
  font-size: 14px;
  line-height: 1.8;
  max-width: 88ch;
}
#docsMarkdownContent ul,
#docsMarkdownContent ol,
.docs__content ul,
.docs__content ol{
  margin: 10px 0 0;
  padding-left: 18px;
  color: #374151;
  font-size: 14px;
  line-height: 1.8;
}
#docsMarkdownContent li,
.docs__content li{ margin: 6px 0; }

#docsMarkdownContent a,
.docs__content a{
  color: rgba(15,15,15,0.92);
  text-decoration: none;
  border-bottom: 1px solid rgba(242,106,27,0.35);
  transition: border-color var(--t-fast), color var(--t-fast);
}
#docsMarkdownContent a:hover,
.docs__content a:hover{ border-bottom-color: rgba(242,106,27,0.75); }

#docsMarkdownContent hr,
.docs__content hr{
  border: none;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(0,0,0,0.18), transparent);
  margin: 22px 0;
}

#docsMarkdownContent blockquote,
.docs__content blockquote{
  margin: 14px 0 0;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(242,106,27,0.22);
  background: rgba(242,106,27,0.08);
  color: #3B2A1F;
}
#docsMarkdownContent blockquote p,
.docs__content blockquote p{ margin: 0; color: inherit; }

#docsMarkdownContent code,
.docs__content code{
  font-family: var(--mono);
  font-size: 12px;
  padding: 2px 6px;
  border-radius: 8px;
  background: rgba(0,0,0,0.05);
  border: 1px solid rgba(0,0,0,0.08);
}
#docsMarkdownContent pre,
.docs__content pre{
  margin: 14px 0 0;
  padding: 14px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.10);
  background: rgba(0,0,0,0.03);
  overflow: auto;
}
#docsMarkdownContent pre code,
.docs__content pre code{
  padding: 0;
  border: none;
  background: transparent;
}

#docsMarkdownContent table,
.docs__content table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 14px 0 0;
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}
#docsMarkdownContent thead th,
.docs__content thead th{
  text-align: left;
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 12px 12px;
  border-bottom: 1px solid rgba(0,0,0,0.10);
  background: rgba(242,106,27,0.06);
  color: rgba(0,0,0,0.72);
}
#docsMarkdownContent tbody td,
.docs__content tbody td{
  padding: 11px 12px;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  font-size: 13px;
  color: rgba(0,0,0,0.82);
  vertical-align: top;
}
#docsMarkdownContent tbody tr:last-child td,
.docs__content tbody tr:last-child td{ border-bottom: none; }
#docsMarkdownContent tbody tr:hover td,
.docs__content tbody tr:hover td{ background: rgba(0,0,0,0.02); }

#docsMarkdownContent img,
.docs__content img{
  display: block;
  margin: 14px 0 0;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.10);
  background: #fff;
  box-shadow: 0 14px 30px rgba(0,0,0,0.06);
}

/* =========================================================
   9) DOCS COMPONENTS
========================================================= */
.callout{
  margin: 14px 0 0;
  padding: 14px 14px;
  border-radius: var(--r-md);
  border: 1px solid rgba(0,0,0,0.10);
  background: #fff;
  box-shadow: 0 10px 22px rgba(0,0,0,0.05);
}
.callout__title{
  font-weight: 950;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  font-size: 11px;
  color: rgba(0,0,0,0.68);
}
.callout__body{
  margin-top: 8px;
  font-size: 14px;
  color: rgba(0,0,0,0.74);
  line-height: 1.75;
}
.callout--note{
  border-color: rgba(242,106,27,0.22);
  background: rgba(242,106,27,0.08);
  box-shadow: 0 14px 28px rgba(242,106,27,0.10);
}
.callout--note .callout__title{ color: #7A2E05; }
.callout--note .callout__body{ color: #3B2A1F; }

.callout--warn{
  border: 2px solid #000;
  background:
    radial-gradient(220px 90px at 10% 0%, rgba(201,162,77,.22), transparent),
    rgba(255,255,255,.02);
}
.callout--warn .callout__title{ color: rgba(0,0,0,0.82); }
.callout--warn .callout__body{ color: rgba(0,0,0,0.76); }

.badge{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .08em;
  border: 2px solid #000;
  background: #fff;
}
.badge::before{
  content:"";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #33f1a5;
  box-shadow: 0 0 10px rgba(51,241,165,.4);
}
.badge--locked::before{
  background: #ffb020;
  box-shadow: 0 0 10px rgba(255,176,32,.35);
}
.badge--disabled::before{
  background: #ff4d4d;
  box-shadow: 0 0 10px rgba(255,77,77,.35);
}

.flow{
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  font-size: 13px;
  opacity: .92;
}
.flow__chip{
  padding: 6px 10px;
  border-radius: 12px;
  border: 2px solid #000;
  background: #fff;
  font-weight: 900;
}

.timechip{
  display: inline-block;
  padding: 6px 10px;
  border-radius: 12px;
  border: 2px solid #000;
  background: #fff;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .04em;
}

/* =========================================================
   10) ZOOM MODAL
========================================================= */
.docs__zoomModal{
  position: fixed;
  inset: 0;
  display: none;
  z-index: var(--z-modal);
}
.docs__zoomModal.is-open{ display: block; }
.docs__zoomBackdrop{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.58);
}
.docs__zoomPanel{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(980px, calc(100vw - 28px));
  max-height: calc(100vh - 28px);
  background: #fff;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 24px 70px rgba(0,0,0,0.30);
  overflow: hidden;
  padding: 14px;
}
.docs__zoomClose{
  position: absolute;
  right: 10px;
  top: 10px;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.12);
  background: #fff;
  font-size: 22px;
  cursor: pointer;
  transition: transform var(--t-fast), background var(--t-fast);
}
.docs__zoomClose:hover{ background: rgba(0,0,0,0.03); }
.docs__zoomClose:active{ transform: translateY(1px); }
.docs__zoomImg{
  width: 100%;
  height: auto;
  max-height: calc(100vh - 120px);
  object-fit: contain;
  display: block;
  margin-top: 28px;
}
.docs__zoomHint{
  margin-top: 10px;
  font-size: 12px;
  color: rgba(0,0,0,0.55);
  text-align: center;
}

/* =========================================================
   11) FOOTER
========================================================= */
.docs__siteFooter{
  margin-top: 26px;
  border-top: 1px solid var(--line);
  background: linear-gradient(180deg, #fff, #fbfbfb);
}
.docs__siteFooterInner{
  max-width: 1000px;
  margin: 0 auto;
  padding: 18px 6px 18px;
}
.docs__footerBrand{ padding: 10px 0 8px; }
.docs__footerLogo{
  font-weight: 950;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 12px;
}
.docs__footerTag{
  margin-top: 6px;
  color: var(--muted);
  font-size: 13px;
}
.docs__footerLinks{
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.docs__footerCol{
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 16px;
  padding: 12px;
  box-shadow: 0 10px 22px rgba(0,0,0,0.04);
}
.docs__footerTitle{
  font-weight: 950;
  font-size: 12px;
  color: #111827;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.docs__footerLink{
  display: block;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid transparent;
  color: #1F2937;
  text-decoration: none;
  font-weight: 800;
  font-size: 13px;
  transition: background var(--t-fast), border-color var(--t-fast);
}
.docs__footerLink:hover{
  border-color: var(--line);
  background: rgba(0,0,0,0.03);
}
.docs__footerBottom{
  margin-top: 12px;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

/* =========================================================
   12) MAP UI (kept)
========================================================= */
.mapGrid,
.mapLane,
.mapLane__grid{ min-width: 0; }

.mapLink,
.mapPill,
.mapBtn,
.mapItem{ min-width: 0; }

.mapLink{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;

  padding: 12px 12px;
  border-radius: 14px;

  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  text-decoration: none;
  min-height: 54px;
}
.mapLink__title{
  flex: 1;
  min-width: 0;
  font-weight: 700;
  line-height: 1.15;

  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.mapLink__tag{
  flex: 0 0 auto;
  white-space: nowrap;
  font-size: 11px;
  line-height: 1.1;
  opacity: .65;
  margin-top: 2px;
}

/* =========================================================
   13) RESPONSIVE
========================================================= */
@media (min-width: 768px){
  .topbar__inner{ padding: 0 18px; }
  .docs__main{ padding: 22px 18px 40px; }
}

@media (min-width: 1024px){
  .topbar__inner{ padding: 0 20px; }
}

@media (min-width: 1280px){
  :root{
    --sidebar-w: 320px;
    --content-w: 960px;
    --toc-w: 300px;
  }
  .docs__main{ padding: 26px 22px 46px; }
}

/* <=1100: single column main. TOC becomes bottom-of-content (flow), not right */
@media (max-width: 1100px){
  .docs__main{ grid-template-columns: 1fr; }
  .docs__content{ order: 1; }
  .docs__toc{
    order: 2;
    position: relative;
    top: 0;
    margin-top: 18px;
  }
}

/* tighter sizes */
@media (max-width: 980px){
  .docs{ grid-template-columns: 240px minmax(0, 1fr); }
  .docs__footerLinks{ grid-template-columns: 1fr; }
  .docs__footerBottom{ flex-direction: column; align-items: flex-start; }
}

/* =========================================================
   14) DOCS DRAWER (Mobile/Small screens)
   JS toggles:
     html.is-docsnav-open
     html.is-docs-scroll-locked
========================================================= */
.docs__overlay{
  display: none;
  position: fixed;
  inset: 0;
  z-index: var(--z-overlay);
  background: var(--overlay);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--t-med);
}

@media (max-width: 980px){
  .docs{ grid-template-columns: 1fr; }

  .docs__main{
    grid-template-columns: 1fr;
    padding: 16px 14px 28px;
  }

  .docs__sidebar{
    position: fixed;
    top: var(--topbar-h);
    left: 0;
    height: calc(100vh - var(--topbar-h));
    width: var(--drawer-w);
    max-width: 92vw;
    z-index: var(--z-drawer);

    transform: translateX(-110%);
    transition: transform var(--t-med);
    box-shadow: 24px 0 60px rgba(0,0,0,0.22);

    border-right: 1px solid var(--line);
    border-top: 1px solid rgba(0,0,0,0.06);
  }

  .docs__overlay{
    display: block;
    top: var(--topbar-h);
  }

  html.is-docsnav-open .docs__sidebar[data-docsnav-drawer]{
    transform: translateX(0) !important;
  }
  html.is-docsnav-open .docs__overlay[data-docsnav-overlay]{
    opacity: 1;
    pointer-events: auto;
  }

  .docsMenuBtn{
    position: relative;
    z-index: 1100;
  }
}

/* Scroll lock (used by JS) */
html.is-docs-scroll-locked{
  position: fixed;
  width: 100%;
  overflow: hidden;
}

/* =========================================================
   15) TOPBAR MOBILE POLICY
   - Hide inline links under 860px (space)
   - Keep actions always visible (🌙 ⋯ ☰)
========================================================= */
@media (max-width: 860px){
  .topbar__nav{ display: none; }
  .topbar__brand span{
    font-size: 12px;
    letter-spacing: .08em;
  }
  .topbar__logo{ height: 22px; }
}

/* =========================================================
   16) SITE MENU (⋯ drawer)
   JS toggles:
     html.is-sitemenu-open
========================================================= */
.siteMenu{
  position: fixed;
  inset: 0;
  display: none;
  z-index: 1900;
}
.siteMenu__overlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.52);
  display: none;
  z-index: 1850;
}
html.is-sitemenu-open .siteMenu,
html.is-sitemenu-open .siteMenu__overlay{
  display: block;
}

.siteMenu__panel{
  position: absolute;
  right: 12px;
  top: calc(var(--topbar-h) + 10px);
  width: min(320px, calc(100vw - 24px));
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.12);
  box-shadow: 0 24px 70px rgba(0,0,0,0.25);
  overflow: hidden;
}
.siteMenu__head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 12px;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}
.siteMenu__title{
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 11px;
  color: rgba(0,0,0,0.7);
}
.siteMenu__close{
  width: 36px;
  height: 36px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.12);
  background: #fff;
  font-size: 22px;
  cursor: pointer;
}
.siteMenu__links{
  padding: 10px;
  display: grid;
  gap: 6px;
}
.siteMenu__link{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-radius: 14px;
  text-decoration: none;
  border: 1px solid rgba(0,0,0,0.08);
  background: #fff;
  font-weight: 900;
  font-size: 13px;
  color: rgba(0,0,0,0.82);
}
.siteMenu__link:hover{ background: rgba(0,0,0,0.02); }
.siteMenu__foot{
  padding: 10px 10px 12px;
  border-top: 1px solid rgba(0,0,0,0.08);
}
.siteMenu__theme{
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.10);
  background: rgba(242,106,27,0.08);
  color: rgba(120,45,8,0.92);
  font-weight: 950;
  cursor: pointer;
}

/* =========================================================
   17) DARK THEME (body.docs-dark)
========================================================= */
body.docs-dark{
  background: #0b1220;
  color: #e7eefc;
}

body.docs-dark .docs,
body.docs-dark .docs__main,
body.docs-dark .docs__content{
  background: transparent;
  color: inherit;
}

body.docs-dark .topbar{
  background: #0f182a;
  border-bottom: 1px solid rgba(231,238,252,0.12);
}
body.docs-dark .topbar__brand span{ color: #e7eefc; }
body.docs-dark .topbar__link{ color: rgba(231,238,252,0.82); }
body.docs-dark .topbar__link:hover{ color: #e7eefc; }
body.docs-dark .topbar__link.is-active{
  color: #e7eefc;
  text-shadow: 0 0 18px rgba(255,138,30,0.16);
}

body.docs-dark .themeToggle,
body.docs-dark .docsMenuBtn,
body.docs-dark .siteMenuBtn{
  background: rgba(231,238,252,0.06);
  border: 1px solid rgba(231,238,252,0.12);
}
body.docs-dark .themeToggle:hover,
body.docs-dark .docsMenuBtn:hover,
body.docs-dark .siteMenuBtn:hover{
  background: rgba(231,238,252,0.09);
  border-color: rgba(231,238,252,0.16);
}

body.docs-dark .docs__sidebar{
  background: #0f182a;
  border-right: 1px solid rgba(231,238,252,0.12);
}
body.docs-dark .docs__sidebarHeader{
  background: #121e34;
  border: 1px solid rgba(231,238,252,0.14);
  box-shadow: 0 10px 24px rgba(0,0,0,0.35);
}
body.docs-dark .docs__sidebarTitle{ color: rgba(231,238,252,0.92); }
body.docs-dark .docs__sidebarHint{ color: rgba(231,238,252,0.65); }

body.docs-dark .docs__badge{
  background: rgba(255,138,30,0.14);
  border: 1px solid rgba(255,138,30,0.28);
  color: #ffb15c;
}
body.docs-dark .docs__muted{ color: rgba(231,238,252,0.65); }

body.docs-dark .docs__navLink{ color: rgba(231,238,252,0.78); }
body.docs-dark .docs__navLink:hover{ color: #e7eefc; background: rgba(231,238,252,0.04); }
body.docs-dark .docs__navLink.is-active{
  color: #e7eefc;
  background: rgba(255,138,30,0.12);
}
body.docs-dark .docs__navLink.is-active::before{ background: rgba(255,138,30,0.85); }

body.docs-dark .docsnav-group__header{ color: rgba(231,238,252,0.70); }
body.docs-dark .docsnav-group__header:hover{ background: rgba(255,255,255,0.06); }
body.docs-dark .docsnav-group__chev{ color: rgba(231,238,252,0.70); }
body.docs-dark .docsnav-group__items{ border-left: 1px solid rgba(231,238,252,0.14); }

body.docs-dark .docs__searchInput{
  background: #121e34;
  color: #e7eefc;
  border: 1px solid rgba(231,238,252,0.14);
}
body.docs-dark .docs__searchInput::placeholder{ color: rgba(231,238,252,0.50); }
body.docs-dark .docs__searchInput:focus{
  outline: none;
  box-shadow: 0 0 0 4px rgba(255,138,30,0.22);
  border-color: rgba(255,138,30,0.40);
}
body.docs-dark .docs__searchResults{
  background: #0f182a;
  border: 1px solid rgba(231,238,252,0.14);
  box-shadow: 0 12px 30px rgba(0,0,0,0.35);
}
body.docs-dark .docs__searchResults *{ color: inherit; }
body.docs-dark .docs__searchItem:hover{ background: rgba(231,238,252,0.06); }
body.docs-dark .docs__searchTitle{ color: rgba(231,238,252,0.92); }
body.docs-dark .docs__searchPath{ color: rgba(231,238,252,0.55); }
body.docs-dark .docs__searchSnippet{ color: rgba(231,238,252,0.72); }
body.docs-dark .docs__searchResults mark{
  background: rgba(255,138,30,0.16);
  border: 1px solid rgba(255,138,30,0.22);
}

body.docs-dark .md,
body.docs-dark #docsMarkdownContent{ color: rgba(231,238,252,0.82); }
body.docs-dark .md h1,
body.docs-dark .md h2,
body.docs-dark .md h3,
body.docs-dark .md h4,
body.docs-dark #docsMarkdownContent h1,
body.docs-dark #docsMarkdownContent h2,
body.docs-dark #docsMarkdownContent h3,
body.docs-dark #docsMarkdownContent h4{ color: #e7eefc; }

body.docs-dark .md p,
body.docs-dark .md li,
body.docs-dark #docsMarkdownContent p,
body.docs-dark #docsMarkdownContent li{ color: rgba(231,238,252,0.82); }

body.docs-dark .md a,
body.docs-dark #docsMarkdownContent a{
  color: #ffb15c;
  text-decoration-color: rgba(255,177,92,0.45);
}
body.docs-dark .md a:hover,
body.docs-dark #docsMarkdownContent a:hover{
  color: #ffd2a1;
  text-decoration-color: rgba(255,210,161,0.75);
}

body.docs-dark code{
  background: rgba(231,238,252,0.08);
  border: 1px solid rgba(231,238,252,0.10);
  color: rgba(231,238,252,0.92);
}
body.docs-dark pre,
body.docs-dark pre code{
  background: #0f182a;
  border: 1px solid rgba(231,238,252,0.12);
  color: rgba(231,238,252,0.90);
}

body.docs-dark table{ border-color: rgba(231,238,252,0.12); }
body.docs-dark th{
  background: #0f182a;
  color: rgba(231,238,252,0.92);
  border-color: rgba(231,238,252,0.12);
}
body.docs-dark td{
  color: rgba(231,238,252,0.82);
  border-color: rgba(231,238,252,0.12);
}
body.docs-dark tr:nth-child(even) td{ background: rgba(231,238,252,0.03); }

body.docs-dark .callout{
  background: #121e34;
  border: 1px solid rgba(231,238,252,0.14);
}
body.docs-dark .callout__title{ color: #e7eefc; }
body.docs-dark .callout__body{ color: rgba(231,238,252,0.80); }
body.docs-dark .callout--note{ border-left: 3px solid rgba(255,138,30,0.65); }

/* Dark: TOC box */
body.docs-dark .docs__toc{
  background: #0e1a2d;
  border: 1px solid rgba(231,238,252,0.12);
  box-shadow: 0 14px 32px rgba(0,0,0,0.35);
  color: rgba(231,238,252,0.78);
}
body.docs-dark .tocBox__summary{
  background: rgba(231,238,252,0.04);
  border-bottom: 1px solid rgba(231,238,252,0.10);
}
body.docs-dark .tocBox__summary:hover{
  background: rgba(231,238,252,0.06);
}
body.docs-dark .tocBox__label{ color: rgba(231,238,252,0.65); }
body.docs-dark .tocBox__chev{
  color: rgba(231,238,252,0.70);
  background: rgba(231,238,252,0.08);
}
body.docs-dark .docs__toc a{ color: rgba(231,238,252,0.78); }
body.docs-dark .docs__toc a:hover{ color: #ffffff; }
body.docs-dark .docs__toc .is-active{
  background: rgba(255,140,60,0.18);
  border: 1px solid rgba(255,140,60,0.45);
  color: #fff;
}

body.docs-dark hr{ background: linear-gradient(to right, transparent, rgba(231,238,252,0.18), transparent); }
body.docs-dark ::selection{ background: rgba(255,138,30,0.28); color: #e7eefc; }

body.docs-dark input,
body.docs-dark textarea{
  background: #121e34;
  color: #e7eefc;
  border-color: rgba(231,238,252,0.15);
}

body.docs-dark .docs__overlay{ background: rgba(0,0,0,0.58); }

/* Dark: Site menu */
body.docs-dark .siteMenu__panel{
  background: #0f182a;
  border: 1px solid rgba(231,238,252,0.14);
}
body.docs-dark .siteMenu__title{ color: rgba(231,238,252,0.70); }
body.docs-dark .siteMenu__close{
  background: #121e34;
  color: rgba(231,238,252,0.92);
  border: 1px solid rgba(231,238,252,0.14);
}
body.docs-dark .siteMenu__link{
  background: #121e34;
  color: rgba(231,238,252,0.90);
  border: 1px solid rgba(231,238,252,0.14);
}
body.docs-dark .siteMenu__theme{
  background: rgba(255,138,30,0.14);
  border: 1px solid rgba(255,138,30,0.28);
  color: #ffb15c;
}

/* =========================================================
   PC ONLY: hide mobile action toggles (⋯, ☰)
   - keep theme toggle visible
========================================================= */
@media (min-width: 861px){
  .siteMenuBtn{
    display: none !important;
  }
}

@media (min-width: 981px){
  .docsMenuBtn{
    display: none !important;
  }
}


/* Mobile/Tablet: hide "On this page" TOC */
@media (max-width: 1024px){
  .docs__toc{ display: none !important; }
}


/* =========================================================
   PUDELVERSE Docs — Dark Mode Fix Pack (v1)
   Fixes:
   - md text + headings + links
   - tables (th/td/borders/zebra/hover)
   - cards/callouts/spec boxes that remain "light"
   - pager (prev/next) text + borders in dark mode
   Compatibility selectors:
   - html[data-theme="dark"]  (recommended)
   - body.docs-dark / .docs-dark (fallback)
========================================================= */

html[data-theme="dark"],
body.docs-dark,
.docs-dark{
  /* Core tokens (override only in dark) */
  --docs-bg: #0b1220;
  --docs-panel: rgba(255,255,255,.04);
  --docs-panel-strong: rgba(255,255,255,.06);
  --docs-text: rgba(255,255,255,.92);
  --docs-muted: rgba(255,255,255,.72);
  --docs-dim: rgba(255,255,255,.55);
  --docs-line: rgba(255,255,255,.14);
  --docs-line-2: rgba(255,255,255,.10);
  --docs-link: rgba(255,255,255,.92);

  /* If your system already uses these vars, we map them too */
  --bg: var(--docs-bg);
  --panel: var(--docs-panel);
  --text: var(--docs-text);
  --muted: var(--docs-muted);
  --line: var(--docs-line);
}

/* ---------- Main surface ---------- */
html[data-theme="dark"] body,
body.docs-dark,
.docs-dark{
  background: var(--docs-bg) !important;
  color: var(--docs-text) !important;
}

/* ---------- Markdown content ---------- */
html[data-theme="dark"] .md,
body.docs-dark .md,
.docs-dark .md{
  color: var(--docs-text) !important;
}

html[data-theme="dark"] .md p,
html[data-theme="dark"] .md li,
html[data-theme="dark"] .md blockquote,
body.docs-dark .md p,
body.docs-dark .md li,
body.docs-dark .md blockquote,
.docs-dark .md p,
.docs-dark .md li,
.docs-dark .md blockquote{
  color: var(--docs-text) !important;
}

html[data-theme="dark"] .md h1,
html[data-theme="dark"] .md h2,
html[data-theme="dark"] .md h3,
html[data-theme="dark"] .md h4,
body.docs-dark .md h1,
body.docs-dark .md h2,
body.docs-dark .md h3,
body.docs-dark .md h4,
.docs-dark .md h1,
.docs-dark .md h2,
.docs-dark .md h3,
.docs-dark .md h4{
  color: rgba(255,255,255,.95) !important;
}

html[data-theme="dark"] .md .muted,
body.docs-dark .md .muted,
.docs-dark .md .muted{
  color: var(--docs-muted) !important;
}

html[data-theme="dark"] .md a,
body.docs-dark .md a,
.docs-dark .md a{
  color: var(--docs-link) !important;
  text-decoration-color: rgba(255,255,255,.28);
}

html[data-theme="dark"] .md a:hover,
body.docs-dark .md a:hover,
.docs-dark .md a:hover{
  text-decoration-color: rgba(255,255,255,.55);
}

/* inline code */
html[data-theme="dark"] .md :not(pre) > code,
body.docs-dark .md :not(pre) > code,
.docs-dark .md :not(pre) > code{
  color: rgba(255,255,255,.92) !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.12);
}

/* code block */
html[data-theme="dark"] .md pre,
body.docs-dark .md pre,
.docs-dark .md pre{
  background: rgba(0,0,0,.28) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
}
html[data-theme="dark"] .md pre code,
body.docs-dark .md pre code,
.docs-dark .md pre code{
  color: rgba(255,255,255,.92) !important;
}

/* ---------- Callouts / cards that are white in dark ---------- */
html[data-theme="dark"] .callout,
body.docs-dark .callout,
.docs-dark .callout,
html[data-theme="dark"] .specBox,
body.docs-dark .specBox,
.docs-dark .specBox,
html[data-theme="dark"] .principleCard,
body.docs-dark .principleCard,
.docs-dark .principleCard{
  background: var(--docs-panel) !important;
  border-color: var(--docs-line) !important;
  color: var(--docs-text) !important;
}

html[data-theme="dark"] .callout__title,
body.docs-dark .callout__title,
.docs-dark .callout__title{
  color: rgba(255,255,255,.92) !important;
}

html[data-theme="dark"] .callout__body,
body.docs-dark .callout__body,
.docs-dark .callout__body{
  color: var(--docs-muted) !important;
}

/* kbd chip */
html[data-theme="dark"] .md .kbd,
body.docs-dark .md .kbd,
.docs-dark .md .kbd{
  border-color: rgba(255,255,255,.18) !important;
  background: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.90) !important;
}

/* ---------- Tables (THIS is your main pain) ---------- */
html[data-theme="dark"] .md table,
body.docs-dark .md table,
.docs-dark .md table{
  color: var(--docs-text) !important;
  background: transparent !important;
  border-color: var(--docs-line) !important;
}

html[data-theme="dark"] .md th,
body.docs-dark .md th,
.docs-dark .md th{
  color: rgba(255,255,255,.92) !important;
  background: rgba(255,255,255,.06) !important;
  border-color: var(--docs-line) !important;
}

html[data-theme="dark"] .md td,
body.docs-dark .md td,
.docs-dark .md td{
  color: var(--docs-text) !important;
  background: rgba(255,255,255,.02) !important;
  border-color: var(--docs-line-2) !important;
}

/* zebra + hover */
html[data-theme="dark"] .md tbody tr:nth-child(even) td,
body.docs-dark .md tbody tr:nth-child(even) td,
.docs-dark .md tbody tr:nth-child(even) td{
  background: rgba(255,255,255,.035) !important;
}

html[data-theme="dark"] .md tbody tr:hover td,
body.docs-dark .md tbody tr:hover td,
.docs-dark .md tbody tr:hover td{
  background: rgba(255,255,255,.06) !important;
}

/* ---------- Pager (Prev/Next) Mount ---------- */
/* docs-nav-v1 injects content into #docsPagerMount.
   We style defensively: any links/buttons/text inside. */
html[data-theme="dark"] #docsPagerMount,
body.docs-dark #docsPagerMount,
.docs-dark #docsPagerMount{
  color: var(--docs-text) !important;
}

html[data-theme="dark"] #docsPagerMount a,
html[data-theme="dark"] #docsPagerMount button,
body.docs-dark #docsPagerMount a,
body.docs-dark #docsPagerMount button,
.docs-dark #docsPagerMount a,
.docs-dark #docsPagerMount button{
  color: rgba(255,255,255,.92) !important;
}

html[data-theme="dark"] #docsPagerMount a:hover,
body.docs-dark #docsPagerMount a:hover,
.docs-dark #docsPagerMount a:hover{
  color: rgba(255,255,255,.98) !important;
}

html[data-theme="dark"] #docsPagerMount *{
  border-color: var(--docs-line) !important;
}

/* If the pager cards have their own background that stays white */
html[data-theme="dark"] #docsPagerMount [class*="card"],
html[data-theme="dark"] #docsPagerMount [class*="Box"],
html[data-theme="dark"] #docsPagerMount [class*="panel"],
body.docs-dark #docsPagerMount [class*="card"],
body.docs-dark #docsPagerMount [class*="Box"],
body.docs-dark #docsPagerMount [class*="panel"],
.docs-dark #docsPagerMount [class*="card"],
.docs-dark #docsPagerMount [class*="Box"],
.docs-dark #docsPagerMount [class*="panel"]{
  background: var(--docs-panel) !important;
  border-color: var(--docs-line) !important;
}

/* ---------- Right TOC box readability (optional, but often needed) ---------- */
html[data-theme="dark"] .docs__toc,
body.docs-dark .docs__toc,
.docs-dark .docs__toc{
  color: var(--docs-text) !important;
}

html[data-theme="dark"] .tocBox,
body.docs-dark .tocBox,
.docs-dark .tocBox{
  background: rgba(255,255,255,.03) !important;
  border-color: var(--docs-line) !important;
}

html[data-theme="dark"] .tocBox a,
body.docs-dark .tocBox a,
.docs-dark .tocBox a{
  color: var(--docs-muted) !important;
}
html[data-theme="dark"] .tocBox a:hover,
body.docs-dark .tocBox a:hover,
.docs-dark .tocBox a:hover{
  color: rgba(255,255,255,.92) !important;
}


html[data-theme="dark"] body {
  background: #0b1220;
  color: rgba(255,255,255,.92);
}

/* =========================================================
   PVERSE_DOCS_TOC_GLOBAL_LAYOUT_R2C
   Desktop: article + right sticky TOC.
   Tablet/mobile: top-of-article collapsed TOC.
========================================================= */
@media (max-width: 1100px){
  .docs__main{
    grid-template-columns: minmax(0, 1fr);
  }

  .docs__toc{
    display: block !important;
    grid-column: 1;
    grid-row: 1;
    position: relative;
    top: auto;
    order: initial;
    width: 100%;
    margin: 0 0 18px;
  }

  .docs__content{
    grid-column: 1;
    grid-row: 2;
    order: initial;
    min-width: 0;
  }
}

/* PVERSE_DOCS_DRAWER_HEADER_OFFSET_R1 */
@media (max-width: 900px) {
  .docs__sidebar[data-docsnav-drawer] {
    top: var(--docs-header-offset, var(--topbar-h));
    height: calc(100dvh - var(--docs-header-offset, var(--topbar-h)));
  }

  .docs__overlay[data-docsnav-overlay] {
    top: var(--docs-header-offset, var(--topbar-h));
  }
}
