/* Shared look for the text pages (docs, privacy). Same tokens as the prompter. */
@font-face { font-family:'Geist'; font-style:normal; font-weight:400 700; font-display:swap; src:url(/fonts/geist-latin.woff2) format('woff2'); }
:root {
  --bg:#0e0e10; --surface:#17171a; --surface-2:#202024; --line:rgba(255,255,255,.1);
  --text:#f3f3f0; --mute:#a3a3a8; --faint:#6e6e75; --accent:#ff4a3d;
  --r-surface:22px; --r-pill:999px;
  color-scheme:dark;
  font-family:'Geist',ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; background:var(--bg); }
body { margin:0; background:var(--bg); color:var(--text); line-height:1.6; -webkit-font-smoothing:antialiased; }
:focus-visible { outline:2px solid var(--text); outline-offset:3px; }
a { color:var(--text); text-underline-offset:3px; }

.bar { width:min(1120px, 100% - 32px); margin:0 auto; padding:calc(18px + env(safe-area-inset-top)) 0 0; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.word { display:flex; align-items:center; gap:8px; font-weight:650; font-size:16px; letter-spacing:-.01em; text-decoration:none; }
.word i { width:9px; height:9px; border-radius:50%; background:var(--accent); display:block; }
.open { display:inline-flex; align-items:center; height:40px; padding:0 16px; border-radius:var(--r-pill); background:var(--text); color:var(--bg); font-size:14px; font-weight:600; text-decoration:none; }
.open:hover { background:#fff; }

.doc { width:min(760px, 100% - 32px); margin:0 auto; padding:clamp(48px, 9vw, 96px) 0 24px; }
.doc .kicker { margin:0 0 12px; font-size:13px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); }
.doc h1 { margin:0 0 16px; font-size:clamp(34px, 5vw, 54px); line-height:1.04; letter-spacing:-.035em; font-weight:650; }
.doc .lede { margin:0 0 8px; color:var(--mute); font-size:18px; }
.doc .updated { margin:0; color:var(--faint); font-size:14px; }
.doc h2 { margin:56px 0 12px; padding-top:24px; border-top:1px solid var(--line); font-size:24px; letter-spacing:-.02em; font-weight:650; line-height:1.2; }
.doc h3 { margin:28px 0 8px; font-size:17px; font-weight:600; }
.doc p, .doc li { color:var(--mute); font-size:16px; }
.doc b, .doc strong { color:var(--text); font-weight:600; }
.doc ul, .doc ol { padding-left:22px; }
.doc li { margin:6px 0; }
.doc code { font-size:.9em; color:var(--text); background:var(--surface-2); padding:2px 7px; border-radius:6px; overflow-wrap:anywhere; }
.doc pre { margin:14px 0; padding:16px 18px; border-radius:14px; background:var(--surface); border:1px solid var(--line); overflow-x:auto; font-size:14px; line-height:1.5; }
.doc pre code { background:none; padding:0; overflow-wrap:normal; }
.doc table { width:100%; border-collapse:collapse; margin:14px 0; font-size:15px; }
.doc th, .doc td { text-align:left; padding:10px 12px 10px 0; border-bottom:1px solid var(--line); vertical-align:top; }
.doc th { color:var(--text); font-weight:600; }
.doc td { color:var(--mute); }
.toc { margin:28px 0 0; padding:18px 22px; border-radius:var(--r-surface); background:var(--surface); border:1px solid var(--line); }
.toc p { margin:0 0 6px; color:var(--text); font-weight:600; font-size:15px; }
.toc ol { margin:0; columns:2; column-gap:28px; }
.toc li { font-size:15px; margin:0 0 8px; break-inside:avoid; }
.toc a { color:var(--mute); text-decoration:none; }
.toc a:hover { color:var(--text); }

footer { width:min(1120px, 100% - 32px); margin:0 auto; padding:56px 0 calc(40px + env(safe-area-inset-bottom)); color:var(--faint); font-size:13.5px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }
footer nav { display:flex; gap:18px; flex-wrap:wrap; }
footer a { color:var(--mute); }

@media (max-width: 640px) {
  .toc ol { columns:1; }
  .doc table { font-size:14px; }
}
