:root {
  --docs-width: 1320px;
  --docs-reading: 760px;
}

.docs-header-inner {
  gap: 1.5rem;
}

.docs-top-link {
  margin-left: auto;
  color: var(--text-secondary);
  font-size: 0.84rem;
}

.docs-top-link:hover {
  color: var(--text);
}

.docs-page {
  padding: 2rem 0 5rem;
}

.docs-container {
  width: min(100% - 2rem, var(--docs-width));
  margin-inline: auto;
}

.docs-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
  margin-bottom: 1.5rem;
  color: var(--text-muted);
  font-size: 0.82rem;
}

.docs-breadcrumbs a {
  color: var(--text-secondary);
}

.docs-breadcrumbs a:hover {
  color: var(--text);
}

.docs-shell {
  display: grid;
  grid-template-columns: minmax(200px, 230px) minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 3.75rem);
  align-items: start;
}

.docs-sidebar {
  position: sticky;
  top: calc(var(--header-h) + 1.25rem);
  max-height: calc(100vh - var(--header-h) - 2.5rem);
  overflow-y: auto;
  padding: 1rem 0.9rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: rgba(13, 18, 29, 0.76);
}

.docs-sidebar-title {
  margin: 0 0 0.7rem;
  color: var(--text-muted);
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.docs-sidebar ul {
  display: grid;
  gap: 0.15rem;
}

.docs-sidebar a {
  display: block;
  padding: 0.48rem 0.6rem;
  border-radius: 6px;
  color: var(--text-secondary);
  font-size: 0.86rem;
  line-height: 1.4;
}

.docs-sidebar a:hover,
.docs-sidebar a[aria-current="page"] {
  color: var(--text);
  background: var(--accent-soft);
}

.docs-mobile-nav {
  display: none;
  margin-bottom: 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--bg-elevated);
}

.docs-mobile-nav summary {
  padding: 0.8rem 1rem;
  color: var(--text-secondary);
  cursor: pointer;
}

.docs-mobile-nav nav {
  display: grid;
  gap: 0.15rem;
  padding: 0 0.65rem 0.65rem;
}

.docs-mobile-nav a {
  padding: 0.55rem 0.65rem;
  border-radius: 6px;
  color: var(--text-secondary);
}

.docs-mobile-nav a[aria-current="page"] {
  color: var(--text);
  background: var(--accent-soft);
}

.docs-main {
  min-width: 0;
}

.docs-title-block {
  max-width: var(--docs-reading);
  margin-bottom: 2rem;
  padding: clamp(1.4rem, 4vw, 2.2rem);
  border: 1px solid rgba(139, 140, 255, 0.16);
  border-radius: calc(var(--radius) + 4px);
  background:
    radial-gradient(ellipse 70% 100% at 100% 0%, rgba(139, 140, 255, 0.11), transparent 65%),
    linear-gradient(180deg, rgba(17, 25, 39, 0.92), rgba(13, 18, 29, 0.88));
}

.docs-kicker {
  margin-bottom: 0.55rem;
  color: var(--accent);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.docs-title-block h1 {
  margin: 0 0 0.65rem;
  color: var(--text);
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 3rem);
  letter-spacing: -0.045em;
  line-height: 1.08;
}

.docs-lead {
  max-width: 62ch;
  margin: 0;
  color: var(--text-secondary);
  font-size: 1.05rem;
}

.docs-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  margin-top: 1.15rem;
  color: var(--text-muted);
  font-size: 0.78rem;
}

.docs-content-grid {
  display: grid;
  grid-template-columns: minmax(0, var(--docs-reading)) minmax(170px, 205px);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
}

.docs-prose {
  min-width: 0;
  color: var(--text-secondary);
  font-size: 0.98rem;
  line-height: 1.75;
}

.docs-prose > * + * {
  margin-top: 1rem;
}

.docs-prose h2,
.docs-prose h3,
.docs-prose h4 {
  color: var(--text);
  font-family: var(--font-display);
  letter-spacing: -0.025em;
  line-height: 1.25;
  scroll-margin-top: calc(var(--header-h) + 1rem);
}

.docs-prose h2 {
  margin-top: 2.5rem;
  padding-top: 0.8rem;
  border-top: 1px solid var(--border);
  font-size: 1.55rem;
}

.docs-prose h3 {
  margin-top: 1.8rem;
  font-size: 1.15rem;
}

.docs-prose h4 {
  margin-top: 1.4rem;
  font-size: 1rem;
}

.docs-prose p {
  max-width: 75ch;
}

.docs-prose ul,
.docs-prose ol {
  display: grid;
  gap: 0.45rem;
  padding-left: 1.3rem;
  list-style: disc;
}

.docs-prose ol {
  list-style: decimal;
}

.docs-prose li {
  padding-left: 0.2rem;
}

.docs-prose li::marker {
  color: var(--accent);
}

.docs-prose a {
  color: #aaaaff;
  text-decoration: underline;
  text-decoration-color: rgba(170, 170, 255, 0.38);
  text-underline-offset: 0.2em;
}

.docs-prose a:hover {
  color: #d1d2ff;
  text-decoration-color: currentColor;
}

.docs-prose strong {
  color: var(--text);
  font-weight: 600;
}

.docs-prose code:not(pre code) {
  padding: 0.12em 0.35em;
  border: 1px solid var(--border);
  border-radius: 4px;
  background: rgba(4, 8, 14, 0.72);
  color: #c2e7e1;
  font-size: 0.88em;
  overflow-wrap: anywhere;
}

.docs-prose blockquote {
  padding: 0.85rem 1rem;
  border-left: 3px solid var(--accent);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  background: var(--accent-soft);
  color: var(--text-secondary);
}

.docs-prose hr {
  height: 1px;
  border: 0;
  background: var(--border);
}

.docs-prose pre {
  position: relative;
  max-width: 100%;
  overflow: auto;
  padding: 1.1rem 1.15rem;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius);
  background: #070b12;
  color: #dbe5f2;
  font: 0.88rem/1.65 ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
  tab-size: 2;
}

.docs-prose pre code {
  color: inherit;
  font: inherit;
  white-space: pre;
}

.docs-prose .table-wrap {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.docs-prose table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.87rem;
  line-height: 1.55;
}

.docs-prose th,
.docs-prose td {
  min-width: 115px;
  padding: 0.7rem 0.8rem;
  border-bottom: 1px solid var(--border);
  text-align: left;
  vertical-align: top;
}

.docs-prose th {
  color: var(--text);
  background: rgba(255, 255, 255, 0.035);
  font-weight: 600;
}

.docs-prose tr:last-child td {
  border-bottom: 0;
}

.docs-note,
.docs-warning,
.docs-status {
  margin: 1.2rem 0;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(80, 210, 194, 0.22);
  border-radius: var(--radius-sm);
  background: rgba(80, 210, 194, 0.07);
}

.docs-warning {
  border-color: rgba(255, 180, 95, 0.28);
  background: rgba(255, 180, 95, 0.07);
}

.docs-status {
  border-color: rgba(139, 140, 255, 0.24);
  background: rgba(139, 140, 255, 0.07);
}

.docs-note > :first-child,
.docs-warning > :first-child,
.docs-status > :first-child {
  margin-top: 0;
}

.docs-note > :last-child,
.docs-warning > :last-child,
.docs-status > :last-child {
  margin-bottom: 0;
}

.docs-toc {
  position: sticky;
  top: calc(var(--header-h) + 1.25rem);
  max-height: calc(100vh - var(--header-h) - 2.5rem);
  overflow-y: auto;
  padding: 0.3rem 0 0.3rem 0.9rem;
  border-left: 1px solid var(--border-strong);
}

.docs-toc h2 {
  margin: 0 0 0.65rem;
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.docs-toc ul {
  display: grid;
  gap: 0.35rem;
}

.docs-toc a {
  color: var(--text-muted);
  font-size: 0.78rem;
  line-height: 1.4;
}

.docs-toc a:hover {
  color: var(--text);
}

.docs-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
  margin-top: 1.25rem;
}

.docs-card {
  display: block;
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  transition: border-color 0.2s var(--ease), transform 0.2s var(--ease);
}

.docs-card:hover {
  border-color: rgba(139, 140, 255, 0.4);
  transform: translateY(-2px);
}

.docs-card h2 {
  margin: 0 0 0.4rem;
  color: var(--text);
  font-family: var(--font-display);
  font-size: 1rem;
}

.docs-card p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.86rem;
  line-height: 1.55;
}

.docs-footer-inner {
  align-items: flex-start;
}

.docs-footer-meta {
  display: grid;
  gap: 0.25rem;
  color: var(--text-muted);
  font-size: 0.78rem;
}

.docs-footer-meta a {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.copy-code {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  padding: 0.35rem 0.6rem;
  border: 1px solid var(--border-strong);
  border-radius: 5px;
  background: var(--surface);
  color: var(--text-secondary);
  font-size: 0.72rem;
}

.copy-code:hover {
  border-color: rgba(139, 140, 255, 0.45);
  color: var(--text);
}

.tok-command { color: #8ed4ff; }
.tok-comment { color: #8795a8; }
.tok-string { color: #b8dda8; }
.tok-flag { color: #d2aaff; }
.tok-key { color: #a8b5ff; }
.tok-output { color: #91dcb0; }

@media (max-width: 1080px) {
  .docs-content-grid {
    grid-template-columns: minmax(0, var(--docs-reading));
  }

  .docs-toc {
    position: static;
    grid-row: 1;
    max-height: none;
    margin-bottom: 1rem;
    padding: 0.8rem 0.9rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: rgba(13, 18, 29, 0.55);
  }

  .docs-toc ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .docs-page {
    padding-top: 1.3rem;
  }

  .docs-shell {
    display: block;
  }

  .docs-sidebar {
    display: none;
  }

  .docs-mobile-nav {
    display: block;
  }

  .docs-mobile-nav nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .docs-breadcrumbs {
    margin-bottom: 1rem;
  }

  .docs-cards {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 440px) {
  .docs-container {
    width: min(100% - 1.25rem, var(--docs-width));
  }

  .docs-toc ul,
  .docs-mobile-nav nav {
    grid-template-columns: 1fr;
  }

  .docs-prose {
    font-size: 0.94rem;
  }
}

/* Official portal overrides */
.portal-docs { font-family: var(--font-body); background: #090b12; }
.docs-header-inner { justify-content: flex-start; }
.docs-page { padding-top: 1.5rem; }
.docs-container { width: min(100% - 2rem, 1400px); }
.docs-shell { grid-template-columns: minmax(205px, 245px) minmax(0, 1fr); gap: clamp(1.2rem, 3vw, 3rem); }
.docs-sidebar { top: 82px; max-height: calc(100vh - 96px); background: #0e131d; border-color: rgba(255,255,255,.08); }
.docs-sidebar-title { color: #b3a9eb; }
.docs-search-label { display:block; margin:0 0 .35rem .15rem; color:#8e99ab; font-size:.68rem; }
.docs-search { width:100%; padding:.62rem .7rem; margin-bottom:.65rem; border:1px solid rgba(255,255,255,.12); border-radius:7px; background:#090d14; color:#eef0f8; font:inherit; font-size:.8rem; }
.docs-search::placeholder { color:#747f91; }
.docs-search-results { position:relative; z-index:2; display:grid; gap:.25rem; margin:-.35rem 0 .7rem; padding:.35rem; border:1px solid rgba(161,140,255,.25); border-radius:8px; background:#111722; }
.docs-search-results[hidden] { display:none; }
.docs-search-results a { display:grid; gap:.2rem; padding:.5rem; border-radius:5px; color:#e9ebf3; text-decoration:none; }
.docs-search-results a:hover { background:rgba(161,140,255,.12); }
.docs-search-results a span,.search-empty { color:#929daf; font-size:.7rem; line-height:1.4; }
.search-empty { padding:.5rem;margin:0; }
.docs-sidebar ul { max-height:calc(100vh - 280px); overflow:auto; }
.docs-sidebar a { color:#aeb8c8; font-size:.8rem; }
.docs-sidebar a:hover,.docs-sidebar a[aria-current=page] { color:#f0edff; background:rgba(161,140,255,.13); }
.docs-mobile-nav { border-color:rgba(255,255,255,.1); background:#0e131d; }
.docs-mobile-nav nav { max-height:60vh;overflow:auto; }
.docs-mobile-nav a { color:#bac3d1; }
.docs-title-block { max-width:100%; border-color:rgba(161,140,255,.16); background:#101621; }
.docs-title-block h1 { font-family:var(--font-display); }
.docs-content-grid { grid-template-columns:minmax(0,1fr) minmax(160px,195px); gap:clamp(1rem,3vw,2.5rem); }
.docs-prose { color:#bac3d1; }
.docs-prose h2,.docs-prose h3,.docs-prose h4 { font-family:var(--font-display); }
.docs-prose a { color:#c1b4ff; }
.docs-prose a:hover { color:#eee9ff; }
.docs-prose pre { position:relative; overflow:auto; padding:1rem 4.8rem 1rem 1rem; border:1px solid rgba(255,255,255,.09); border-radius:9px; background:#080c12; color:#d9e0ec; }
.docs-prose pre code { font: .82rem/1.75 ui-monospace,SFMono-Regular,Consolas,monospace; white-space:pre; }
.copy-code { position:absolute; top:.55rem; right:.55rem; padding:.35rem .55rem; border:1px solid rgba(255,255,255,.15); border-radius:5px; color:#b8c1d0; background:#101621; font-size:.68rem; }
.copy-code:hover { border-color:#a18cff;color:white; }
.docs-prose .docs-status { padding:1rem 1.1rem; border-left:2px solid #a18cff; background:rgba(161,140,255,.07); color:#c7c1db; }
.docs-prose .docs-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin-top:1rem; }
.docs-prose .docs-card { display:block; padding:1rem; border:1px solid rgba(255,255,255,.08); border-radius:9px; background:#0e141e; text-decoration:none; }
.docs-prose .docs-card h3 { margin:0 0 .3rem; color:#e9ecf4; font-size:1rem; }
.docs-prose .docs-card p { color:#a4afbf; font-size:.8rem; }
.docs-toc { position:sticky;top:90px;max-height:calc(100vh - 110px);overflow:auto; }
.docs-toc h2 { color:#9da8ba; font-size:.65rem;letter-spacing:.1em;text-transform:uppercase; }
.docs-toc a { color:#a5afbf;font-size:.75rem; }
.docs-footer-inner { justify-content:space-between; }
@media(max-width:1000px) {
  .docs-shell { grid-template-columns:minmax(180px,220px) minmax(0,1fr); }
  .docs-content-grid { grid-template-columns:minmax(0,1fr); }
  .docs-toc { position:static;max-height:none;order:-1;padding:.9rem 1rem;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:#0e131d; }
  .docs-toc ul { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem .8rem; }
}
@media(max-width:760px) {
  .docs-shell { grid-template-columns:minmax(0,1fr); }
  .docs-sidebar { display:none; }
  .docs-mobile-nav { display:block; }
  .docs-title-block { margin-bottom:1.2rem; }
}
@media(max-width:480px) {
  .docs-container { width:min(100% - 1.1rem,1400px); }
  .docs-title-block { padding:1.2rem; }
  .docs-meta { gap:.35rem .7rem; }
  .docs-prose .docs-cards { grid-template-columns:1fr; }
  .docs-toc ul { grid-template-columns:1fr; }
  .docs-breadcrumbs { font-size:.72rem; }
}
.code-command { color:#7fc8ff; }
.code-flag { color:#c5a8ff; }
.code-string { color:#9bd5b2; }
.code-comment { color:#7f8b9e;font-style:italic; }
.docs-mobile-search { padding:.7rem .75rem .2rem; }
.docs-mobile-nav[open] .docs-mobile-search { border-top:1px solid rgba(255,255,255,.07); }
.docs-mobile-search .docs-search { margin-bottom:.5rem; }
