/* GENERATED by src/build.py from src/css/legal.css — edit the source, not this file. */
/* CEEZ AI — legal pages (privacy, terms, security) and the 404. Loaded after site.css.

   Prose at reading width on the shared nav and footer. It replaces the separate page.css/tokens.css
   these pages used to carry, which is why they looked like a different site. */
body.doc-page{display:flex;flex-direction:column;min-height:100vh}
body.doc-page main{flex:1}

.doc{max-width:760px;margin:0 auto;padding:calc(68px + clamp(48px,9vh,100px)) var(--pad) clamp(72px,12vh,128px)}
.doc h1{font-family:var(--serif);font-weight:400;font-size:clamp(40px,6vw,72px);line-height:1.02;letter-spacing:-.02em;margin:14px 0 16px;text-wrap:balance}
.meta{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--faint);padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:12px}
.doc .lede{font-size:19px;font-weight:400;max-width:none;color:var(--muted);margin:22px 0 8px}
.doc h2{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3vw,34px);line-height:1.15;margin:48px 0 12px}
.doc h3{font-size:17px;font-weight:600;margin:28px 0 8px}
.doc p,.doc li{color:var(--muted)}
.doc p+p{margin-top:14px}
.doc ul,.doc ol{margin:12px 0 0 0;padding-left:22px;list-style:revert}
.doc li{margin-top:8px}
.doc li::marker{color:var(--acc2)}
.doc strong{color:var(--text);font-weight:600}
.doc a{color:var(--acc2);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.doc a:hover{color:var(--text)}
.doc code{font-family:var(--mono);font-size:.88em;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-chip);padding:1px 6px}
.toc{margin-top:28px;padding:18px 22px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}
.toc p{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.toc ol{margin-top:8px}
.toc a{text-decoration:none;color:var(--muted)}
.toc a:hover{color:var(--acc2)}
.doc-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px;margin-top:20px}
.doc-card{border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);padding:20px}
.doc-card .k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc2)}
.doc-card h3{margin:10px 0 6px;font-size:16px}
.doc-card p{font-size:14.5px}
.callout{margin-top:32px;padding:20px 22px;border:1px solid var(--acc-border);border-radius:var(--r-card);background:var(--acc-tint)}
.callout p{color:var(--text)}

/* 404 */
.nf{flex:1;display:flex;align-items:center;padding:calc(68px + clamp(40px,10vh,120px)) var(--pad) clamp(56px,12vh,140px)}
.nf .inner{max-width:760px;margin:0 auto;width:100%}
.nf h1{font-family:var(--serif);font-weight:400;font-size:clamp(44px,7vw,88px);line-height:1;letter-spacing:-.02em;margin:14px 0 18px;max-width:14ch;text-wrap:balance}
.nf p{color:var(--muted);max-width:52ch}

@media print{
  :root{--bg:#fff;--bg2:#fff;--surface:#fff;--text:#111;--muted:#333;--soft:#444;--faint:#555;--acc2:#4b3fd0;--acc-italic:#4b3fd0;--line:#ddd}
  .nav,.skip,footer{display:none}
  .doc{padding-top:0}
}

/* tables inside doc pages (trust and security) */
.doc-table{margin-top:18px;overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}
.doc table{width:100%;border-collapse:collapse;font-size:14.5px}
.doc th,.doc td{padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);color:var(--muted)}
.doc thead th{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.doc tbody th{font-weight:500;color:var(--text);width:38%}
.doc tbody tr:last-child th,.doc tbody tr:last-child td{border-bottom:0}
