/* veltBuch exogenous — placeholder public styling (aura signature deferred to Phase 3) */
:root {
  --bg: #f7f6f1;
  --fg: #1c1c1c;
  --muted: #6a6a6a;
  --rail: #5dcaa5;
  --accent: #ef9f27;
  --hover: #d85a30;
  --code-bg: #ececea;
  --border: #d8d6cf;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: -apple-system, "Segoe UI", "Helvetica Neue", "Crimson Pro", Georgia, serif;
  background: var(--bg);
  color: var(--fg);
  line-height: 1.6;
}
code, pre, .mono { font-family: "IBM Plex Mono", "Menlo", monospace; }
a { color: var(--fg); text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 2px; }
a:hover { color: var(--hover); }
.muted { color: var(--muted); }

.site-header {
  display: flex; flex-wrap: wrap; gap: 1em; align-items: baseline;
  padding: 0.6em 1.2em; border-bottom: 1px solid var(--border);
  background: #fff;
  position: sticky; top: 0; z-index: 5;
}
.site-title { font-weight: bold; font-size: 1.1em; text-decoration: none; flex: 1; }
.search-form input { padding: 0.3em 0.6em; border: 1px solid var(--border); border-radius: 3px; min-width: 14em; font: inherit; }
.search-results {
  position: absolute; right: 1.2em; top: 3em;
  background: #fff; border: 1px solid var(--border); width: 26em; max-height: 60vh;
  overflow-y: auto; padding: 0.4em; box-shadow: 0 4px 14px rgba(0,0,0,0.08);
}
.search-results .hit { padding: 0.3em 0.5em; border-bottom: 1px solid var(--border); }
.search-results .hit:last-child { border-bottom: 0; }
.search-results .hit a { text-decoration: none; }
.search-results .hit .ns { color: var(--muted); font-size: 0.85em; margin-left: 0.4em; }

main { max-width: 50em; margin: 0 auto; padding: 1.8em 1.2em; }

.page-header h1 { margin: 0 0 0.2em 0; font-size: 1.9em; }
.namespace-crumb { color: var(--muted); font-size: 0.9em; }
.summary { color: var(--muted); font-style: italic; }

.page-body h2 { border-bottom: 1px solid var(--border); padding-bottom: 0.2em; margin-top: 1.6em; }
.page-body blockquote { border-left: 3px solid var(--rail); margin: 1em 0; padding: 0.2em 1em; color: #333; background: #fbfaf6; }
.page-body code { background: var(--code-bg); padding: 0.05em 0.3em; border-radius: 3px; }
.page-body pre { background: var(--code-bg); padding: 0.8em 1em; overflow-x: auto; }
.page-body img { max-width: 100%; height: auto; }

.lyrics-fold {
  margin: 1em 0;
  border-left: 3px solid var(--accent);
  padding: 0.2em 0 0.2em 1em;
}
.lyrics-fold > summary {
  cursor: pointer; font-weight: bold; font-size: 1.15em; color: var(--fg);
  padding: 0.3em 0; list-style: none;
}
.lyrics-fold > summary::before { content: "▸ "; color: var(--muted); }
.lyrics-fold[open] > summary::before { content: "▾ "; }

.transclusion { border-left: 3px solid var(--rail); margin: 1em 0; padding: 0.4em 1em; background: #fbfaf6; }
.broken-link { color: var(--hover); border-bottom: 1px dotted var(--hover); }
.cite { font-size: 0.8em; }
.cite a { text-decoration: none; color: var(--accent); }

.namespace-index ul, .landing ul { list-style: none; padding: 0; }
.namespace-index .page-list li, .landing .recent-panel li { padding: 0.4em 0; border-bottom: 1px dotted var(--border); }

.tagline { color: var(--muted); font-size: 1.1em; }
.ns-grid { display: flex; flex-wrap: wrap; gap: 0.6em; }
.ns-grid li { border: 1px solid var(--border); padding: 0.3em 0.7em; border-radius: 3px; background: #fff; }
.ns-grid a { text-decoration: none; }

.site-footer { text-align: center; padding: 1.5em; color: var(--muted); font-size: 0.85em; border-top: 1px solid var(--border); margin-top: 3em; }
