/* The docs (/docs/) are published by Goethe from the Docs vault
   (docs/manual) with the site's header and footer around them. Goethe's
   default stylesheet reads --g-* properties; these map them to the site's
   tokens, so light and dark follow html[data-theme]. */
:root, :root[data-theme] {
  --g-bg: var(--bg); --g-bg2: var(--bg2); --g-fg: var(--ink); --g-muted: var(--ink2); --g-faint: var(--ink3);
  --g-line: var(--line); --g-accent: var(--acc); --g-accent-soft: color-mix(in oklab, var(--acc) 12%, transparent);
  --g-code-bg: color-mix(in oklab, var(--ink) 6%, transparent); --g-mark: rgba(244, 164, 122, .4);
  --g-badge-bg: color-mix(in oklab, var(--m-violet) 14%, transparent); --g-badge-fg: var(--acc);
  --g-warn-bg: color-mix(in oklab, var(--m-peach) 26%, transparent); --g-warn-fg: #9A4A1C;
  --g-font: var(--sans); --g-mono: var(--mono);
  --g-top: 65px; --g-side: 290px; --g-measure: 48rem; --g-radius: 10px;
}
:root[data-theme=dark] { --g-warn-fg: #F4C3A6; }
.docs .g-shell { max-width: 1320px; margin: 0 auto; min-height: calc(100vh - 65px); }
.docs .g-side { background: transparent; padding-left: var(--gut); }
.docs .g-site { font-size: 13px; font-family: var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--ink3); font-weight: 500; }
.docs .g-tree a:hover { color: var(--ink); }
.docs .g-tree a[aria-current="page"] { color: var(--ink); background: color-mix(in oklab, var(--m-violet) 12%, transparent); }
.docs .g-article { font-size: 16.5px; line-height: 1.65; }
.docs .g-article h1 { font-weight: 600; letter-spacing: -.035em; font-size: clamp(32px, 4.4vw, 46px); line-height: 1.05; margin-bottom: 22px; }
.docs .g-article h2 { font-weight: 600; letter-spacing: -.025em; }
.docs .g-article h3 { font-weight: 600; letter-spacing: -.015em; }
.docs .g-article a { color: var(--ink); text-decoration-color: color-mix(in oklab, var(--m-magenta) 60%, transparent); }
.docs .g-article a:hover { color: var(--m-magenta); }
.docs .g-article pre { border: 1px solid var(--line); }
.docs .g-pdf { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 1px solid var(--line2); border-radius: 999px; color: var(--ink); font-size: 13.5px; }
.docs .g-pdf::before { content: "↓"; }
.docs .g-pdf:hover { border-color: var(--m-magenta); color: var(--ink); }
.docs .g-pager a:hover, .docs .g-search-open:hover { border-color: var(--m-magenta); }
.docs .g-search-box { background: var(--card-solid); border-color: var(--line2); }
.docs .g-search { background: color-mix(in oklab, var(--a2) 55%, transparent); }
.docs .foot { position: relative; z-index: 1; }
@media (max-width: 860px) {
  .docs .g-side { padding: 10px var(--gut); background: color-mix(in oklab, var(--bg) 92%, transparent); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
}
