/* Goethe publish: the default theme. A host theme overrides the --g-*
   properties (and anything else) in its style.css. */
:root {
  --g-bg: #fbfaf8; --g-bg2: #f3f1ed; --g-fg: #1d1b22; --g-muted: #5f5a66; --g-faint: #8a8490;
  --g-line: rgba(29, 27, 34, .12); --g-accent: #5b3fd0; --g-accent-soft: rgba(91, 63, 208, .1);
  --g-code-bg: rgba(29, 27, 34, .05); --g-mark: rgba(255, 200, 80, .45);
  --g-badge-bg: #ece7fb; --g-badge-fg: #3a2390;
  --g-warn-bg: #fdecd8; --g-warn-fg: #8a4a10;
  --g-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --g-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --g-side: 280px; --g-measure: 46rem; --g-top: 0px; --g-radius: 8px;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --g-bg: #16141a; --g-bg2: #1e1b23; --g-fg: #ece9f1; --g-muted: #b2abbb; --g-faint: #8a8393;
    --g-line: rgba(236, 233, 241, .12); --g-accent: #b4a3ff; --g-accent-soft: rgba(180, 163, 255, .14);
    --g-code-bg: rgba(236, 233, 241, .07); --g-mark: rgba(255, 200, 80, .3);
    --g-badge-bg: rgba(180, 163, 255, .18); --g-badge-fg: #d9d0ff;
    --g-warn-bg: rgba(244, 164, 122, .18); --g-warn-fg: #f6c3a3;
  }
}
:root[data-theme="dark"] {
  --g-bg: #16141a; --g-bg2: #1e1b23; --g-fg: #ece9f1; --g-muted: #b2abbb; --g-faint: #8a8393;
  --g-line: rgba(236, 233, 241, .12); --g-accent: #b4a3ff; --g-accent-soft: rgba(180, 163, 255, .14);
  --g-code-bg: rgba(236, 233, 241, .07); --g-mark: rgba(255, 200, 80, .3);
  --g-badge-bg: rgba(180, 163, 255, .18); --g-badge-fg: #d9d0ff;
  --g-warn-bg: rgba(244, 164, 122, .18); --g-warn-fg: #f6c3a3;
}
.g-page { margin: 0; background: var(--g-bg); color: var(--g-fg); font: 16px/1.6 var(--g-font); -webkit-text-size-adjust: 100%; }
.g-skip { position: absolute; left: -999px; top: 8px; z-index: 50; background: var(--g-fg); color: var(--g-bg); padding: 8px 12px; border-radius: 6px; }
.g-skip:focus { left: 8px; }
.g-shell { display: grid; grid-template-columns: var(--g-side) minmax(0, 1fr); min-height: 100vh; }
.g-side { position: sticky; top: var(--g-top); align-self: start; height: calc(100vh - var(--g-top)); overflow-y: auto; border-right: 1px solid var(--g-line); padding: 24px 18px 32px; box-sizing: border-box; background: var(--g-bg); }
.g-side-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 14px; }
.g-site { font-weight: 650; font-size: 15px; color: var(--g-fg); text-decoration: none; letter-spacing: -.01em; }
.g-menu { display: none; }
.g-search-open { display: flex; align-items: center; justify-content: space-between; width: 100%; margin: 0 0 16px; padding: 7px 10px; border: 1px solid var(--g-line); border-radius: var(--g-radius); background: var(--g-bg2); color: var(--g-muted); font: inherit; font-size: 14px; cursor: pointer; }
.g-search-open:hover { border-color: var(--g-accent); color: var(--g-fg); }
kbd { font: 11px/1 var(--g-mono); padding: 3px 5px; border: 1px solid var(--g-line); border-bottom-width: 2px; border-radius: 4px; color: var(--g-muted); background: var(--g-bg); }
.g-tree { list-style: none; margin: 0; padding: 0; font-size: 14px; }
.g-tree ul { list-style: none; margin: 2px 0 6px 10px; padding: 0 0 0 8px; border-left: 1px solid var(--g-line); }
.g-tree li { margin: 0; }
.g-tree a, .g-tree span { display: block; padding: 4px 8px; border-radius: 6px; color: var(--g-muted); text-decoration: none; line-height: 1.35; }
.g-tree a:hover { color: var(--g-fg); background: var(--g-code-bg); }
.g-tree a[aria-current="page"] { color: var(--g-accent); background: var(--g-accent-soft); font-weight: 600; }
.g-tree > .g-folder > a, .g-tree > .g-folder > span, .g-home a { color: var(--g-fg); font-weight: 600; }
.g-tree > .g-folder { margin-top: 6px; }
.g-folder:not(.is-open) > ul { display: none; }
.g-pdf { display: inline-block; margin-top: 22px; font-size: 14px; color: var(--g-accent); }
.g-main { min-width: 0; padding: 40px clamp(20px, 5vw, 64px) 72px; }
.g-main > * { max-width: var(--g-measure); }
.g-crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 18px; padding: 0; font-size: 13px; color: var(--g-faint); }
.g-crumbs li + li::before { content: "/"; margin-right: 4px; color: var(--g-faint); }
.g-crumbs a { color: var(--g-muted); text-decoration: none; }
.g-crumbs a:hover { color: var(--g-accent); }
.g-badges { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; }
.g-badge { display: inline-block; vertical-align: .1em; margin: 0 2px; padding: 1px 8px; border-radius: 999px; background: var(--g-badge-bg); color: var(--g-badge-fg); font: 600 11.5px/1.7 var(--g-font); letter-spacing: .01em; white-space: nowrap; }
.g-badge[data-value="coming_soon"], .g-badge[data-value="coming-soon"], .g-badge[data-value="partial"] { background: var(--g-warn-bg); color: var(--g-warn-fg); }
.g-article h1 { font-size: clamp(28px, 4vw, 38px); line-height: 1.15; letter-spacing: -.02em; margin: 0 0 18px; }
.g-article h2 { font-size: 23px; line-height: 1.25; margin: 2em 0 .6em; letter-spacing: -.01em; }
.g-article h3 { font-size: 18px; margin: 1.6em 0 .5em; }
.g-article h4, .g-article h5, .g-article h6 { font-size: 16px; margin: 1.4em 0 .4em; }
.g-article :is(h2, h3, h4) { scroll-margin-top: calc(var(--g-top) + 16px); }
.g-article p, .g-article ul, .g-article ol { margin: 0 0 1em; }
.g-article li { margin: .25em 0; }
.g-article a { color: var(--g-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.g-unlinked { color: inherit; }
.g-article code { font: .88em/1.5 var(--g-mono); background: var(--g-code-bg); padding: .12em .35em; border-radius: 4px; }
.g-article pre { font: 13.5px/1.55 var(--g-mono); background: var(--g-code-bg); padding: 14px 16px; border-radius: var(--g-radius); overflow-x: auto; }
.g-article pre code { background: none; padding: 0; font-size: inherit; }
.g-article blockquote { margin: 0 0 1em; padding: 2px 16px; border-left: 3px solid var(--g-accent); color: var(--g-muted); }
.g-article img { max-width: 100%; height: auto; border-radius: var(--g-radius); border: 1px solid var(--g-line); }
.g-article hr { border: 0; border-top: 1px solid var(--g-line); margin: 2em 0; }
.g-article table, .g-view table { border-collapse: collapse; width: 100%; font-size: 14.5px; margin: 0 0 1.2em; display: block; overflow-x: auto; }
.g-article th, .g-article td { text-align: left; vertical-align: top; padding: 8px 10px; border-bottom: 1px solid var(--g-line); }
.g-article th { font-weight: 600; color: var(--g-muted); font-size: 13px; }
.g-view table { display: table; }
.g-view-empty { color: var(--g-faint); }
.g-backlinks { margin-top: 48px; padding-top: 18px; border-top: 1px solid var(--g-line); font-size: 14px; }
.g-backlinks h2 { font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: var(--g-faint); margin: 0 0 8px; }
.g-backlinks ul { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px 16px; }
.g-backlinks a { color: var(--g-muted); }
.g-pager { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 36px; }
.g-pager a { display: block; padding: 12px 14px; border: 1px solid var(--g-line); border-radius: var(--g-radius); text-decoration: none; color: var(--g-fg); }
.g-pager a:hover { border-color: var(--g-accent); }
.g-pager small { display: block; color: var(--g-faint); font-size: 12px; }
.g-next { grid-column: 2; text-align: right; }
.g-search { position: fixed; inset: 0; z-index: 100; background: rgba(10, 8, 14, .45); display: flex; align-items: flex-start; justify-content: center; padding: 10vh 16px 16px; }
.g-search[hidden] { display: none; }
.g-search-box { width: min(640px, 100%); max-height: 76vh; display: flex; flex-direction: column; background: var(--g-bg); color: var(--g-fg); border: 1px solid var(--g-line); border-radius: 12px; box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .45); overflow: hidden; }
.g-search input { font: inherit; font-size: 17px; padding: 14px 16px; border: 0; border-bottom: 1px solid var(--g-line); background: transparent; color: inherit; outline: none; }
.g-results { list-style: none; margin: 0; padding: 6px; overflow-y: auto; }
.g-results a { display: block; padding: 9px 10px; border-radius: 8px; color: inherit; text-decoration: none; }
.g-results [aria-selected="true"] a, .g-results a:hover { background: var(--g-accent-soft); }
.g-r-title { display: block; font-weight: 600; }
.g-r-section { display: block; font-size: 12px; color: var(--g-faint); }
.g-r-text { display: block; font-size: 13.5px; color: var(--g-muted); margin-top: 2px; }
.g-results mark { background: var(--g-mark); color: inherit; border-radius: 2px; }
.g-none { padding: 14px 10px; color: var(--g-muted); }
.g-search-hint { margin: 0; padding: 8px 14px; border-top: 1px solid var(--g-line); font-size: 12px; color: var(--g-faint); }
.g-searching { overflow: hidden; }
@media (max-width: 860px) {
  .g-shell { display: block; }
  .g-side { position: sticky; top: var(--g-top); z-index: 20; height: auto; max-height: calc(100vh - var(--g-top)); border-right: 0; border-bottom: 1px solid var(--g-line); padding: 10px 16px; }
  .g-side-head { margin: 0; }
  .g-menu { display: inline-block; font: inherit; font-size: 14px; padding: 6px 12px; border: 1px solid var(--g-line); border-radius: var(--g-radius); background: var(--g-bg2); color: var(--g-fg); cursor: pointer; }
  .g-js .g-side:not(.is-open) .g-nav, .g-js .g-side:not(.is-open) .g-pdf { display: none; }
  .g-side.is-open { overflow-y: auto; }
  .g-search-open { margin: 10px 0 0; }
  .g-side .g-nav { margin-top: 12px; }
  .g-main { padding: 24px 16px 56px; }
  .g-pager { grid-template-columns: 1fr; }
  .g-next { grid-column: 1; }
}
@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
@media print {
  .g-side, .g-pager, .g-search { display: none !important; }
  .g-shell { display: block; }
}
