/* The public wiki's first-cut look (gm\wiki.py writes the pages): provisional until the wiki-first-cut design round lands.
   Token-only: every value is in tokens.css beside it, the wiki's one token sheet. */
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--text); font: var(--wiki-px-16)/1.65 system-ui, -apple-system, "Segoe UI", sans-serif; }
a { color: var(--accent); text-underline-offset: var(--wiki-px-2); }
code { font: 0.9em ui-monospace, Consolas, monospace; background: var(--code); padding: 0 var(--wiki-px-4); border-radius: var(--wiki-px-4); }
h1 { font-size: 1.7rem; line-height: 1.25; margin: 0.2rem 0 1rem; font-weight: 600; }
h2 { font-size: 1.15rem; margin: 2rem 0 0.6rem; font-weight: 600; }
h3 { font-size: 1rem; margin: 1.5rem 0 0.4rem; font-weight: 600; }
.sr { position: absolute; width: var(--wiki-px-1); height: var(--wiki-px-1); overflow: hidden; clip: rect(0 0 0 0); }
.skip { position: absolute; left: var(--wiki-px-neg999); } .skip:focus { left: var(--wiki-px-8); top: var(--wiki-px-8); background: var(--panel); padding: var(--wiki-px-6) var(--wiki-px-10); }
.shell { display: grid; grid-template-columns: var(--wiki-px-240) minmax(0, 1fr); min-height: 100vh; }
.side { background: var(--panel); border-right: var(--wiki-px-1) solid var(--line); padding: var(--wiki-px-20) var(--wiki-px-16); font-size: 0.92rem; position: sticky; top: 0; height: 100vh; overflow-y: auto; }
.side ul { list-style: none; margin: 0 0 var(--wiki-px-12); padding: 0; }
.side li { padding: var(--wiki-px-2) 0; }
.side a { color: var(--text); text-decoration: none; } .side a:hover, .side a[aria-current] { color: var(--accent); }
.brand { display: block; font-weight: 600; font-size: 1.1rem; margin-bottom: var(--wiki-px-14); }
.group { color: var(--muted); font-size: 0.78rem; margin: var(--wiki-px-14) 0 var(--wiki-px-4); }
.count { color: var(--muted); font-size: 0.8rem; }
.search { position: relative; }
input { width: 100%; height: var(--wiki-px-38); background: var(--bg); color: var(--text); border: var(--wiki-px-1) solid var(--line); border-radius: var(--wiki-px-8); padding: 0 var(--wiki-px-10); font: inherit; }
input:focus { outline: var(--wiki-px-2) solid var(--accent); outline-offset: var(--wiki-px-1); }
.hits { position: absolute; z-index: 2; left: 0; right: 0; background: var(--panel); border: var(--wiki-px-1) solid var(--line); border-radius: var(--wiki-px-8); margin-top: var(--wiki-px-4); padding: var(--wiki-px-4); max-height: 60vh; overflow-y: auto; }
.hits li { padding: var(--wiki-px-6) var(--wiki-px-8); } .hits small { display: block; color: var(--muted); }
main { padding: var(--wiki-px-32) var(--wiki-px-40) var(--wiki-px-48); max-width: var(--wiki-px-760); }
.kicker { color: var(--muted); font-size: 0.82rem; margin: 0; }
.lede { font-size: 1.1rem; }
.muted { color: var(--muted); font-size: 0.88rem; }
.see { color: var(--muted); }
.index li { padding: var(--wiki-px-2) 0; }
.links ul { padding-left: var(--wiki-px-20); }
.excerpt { margin: 1rem 0; } .excerpt pre { background: var(--code); border: var(--wiki-px-1) solid var(--line); border-radius: var(--wiki-px-8); padding: var(--wiki-px-12) var(--wiki-px-14); overflow-x: auto; white-space: pre-wrap; font: 0.85rem/1.5 ui-monospace, Consolas, monospace; }
.excerpt figcaption { color: var(--muted); font-size: 0.8rem; margin-top: var(--wiki-px-4); }
.excerpt code { background: none; padding: 0; }
.spend { border-collapse: collapse; width: 100%; font-size: 0.9rem; margin: 1rem 0 0.4rem; }
.spend th, .spend td { text-align: left; padding: var(--wiki-px-6) var(--wiki-px-8); border-bottom: var(--wiki-px-1) solid var(--line); }
.spend th { color: var(--muted); font-weight: 500; }
.ask { margin-top: 3rem; padding: var(--wiki-px-16) var(--wiki-px-18); border: var(--wiki-px-1) solid var(--line); border-radius: var(--wiki-px-12); background: var(--panel); }
.ask h2 { margin-top: 0; font-size: 1rem; }
.ask form { display: flex; gap: var(--wiki-px-8); }
button { height: var(--wiki-px-38); padding: 0 var(--wiki-px-16); border-radius: var(--wiki-px-8); border: var(--wiki-px-1) solid var(--accent); background: transparent; color: var(--accent); font: inherit; cursor: pointer; }
button:disabled { opacity: 0.6; cursor: progress; }
.answer { margin-top: var(--wiki-px-12); padding: var(--wiki-px-10) var(--wiki-px-12); background: var(--bg); border-radius: var(--wiki-px-8); }
.answer p { margin: 0 0 var(--wiki-px-6); } .answer .from { color: var(--muted); font-size: 0.82rem; margin: 0; }
.err { color: var(--err); font-size: 0.88rem; margin: var(--wiki-px-8) 0 0; }
footer { margin-top: 2rem; }
@media (max-width: 760px) {
  .shell { grid-template-columns: 1fr; }
  .side { position: static; height: auto; border-right: 0; border-bottom: var(--wiki-px-1) solid var(--line); }
  main { padding: var(--wiki-px-20) var(--wiki-px-16) var(--wiki-px-40); }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
