/* Static and trust pages: 404, 500, offline, terms, privacy. Built on cadi.css tokens. */
body.st { margin: 0; background: var(--bg); color: var(--text); }
.st-page { min-height: 100vh; display: flex; flex-direction: column; padding: 28px 40px 24px; }
.st-top, .st-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; max-width: 1080px; margin: 0 auto; }
.st-top .wordmark { font-size: 24px; line-height: 1; }
.st-tag { font-family: var(--font-mono); font-size: 12px; color: var(--text-3); }
.st-foot { font-family: var(--font-mono); font-size: 12px; color: var(--text-3); padding-top: 24px; }
.st-foot-links { display: inline-flex; gap: 20px; }
.st-foot a { color: var(--text-3); min-height: 44px; display: inline-flex; align-items: center; }
.st-foot a:hover { color: var(--text); }

.st-center { flex: 1; display: flex; align-items: center; justify-content: center; padding: 40px 0; outline: none; }
.st-status { width: 100%; max-width: 520px; text-align: center; display: flex; flex-direction: column; align-items: center; }
.st-mark { width: 120px; height: 120px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }
.st-h1 { margin: 6px 0 0; font-size: 40px; line-height: 1.1; letter-spacing: -0.03em; font-weight: 800; }
.st-status .lede { margin: 14px 0 28px; color: var(--text-2); font-size: 16px; line-height: 1.6; }
.st-actions { justify-content: center; }
.st-note { margin-top: 20px; }
.st-qr { margin-top: 28px; padding: 16px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-card); box-shadow: var(--shadow-card); display: flex; flex-direction: column; align-items: center; gap: 8px; }
.st-qr[hidden] { display: none; }
.st-qr img { width: 200px; height: 200px; border-radius: var(--r-lg); background: #fff; }

/* Legal documents */
.st-doc { flex: 1; width: 100%; max-width: 720px; margin: 0 auto; padding: 48px 0 24px; outline: none; }
.st-h1-doc { font-size: 44px; margin-bottom: 20px; }
.st-draft { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 12px; padding: 14px 16px; background: var(--warning-bg); border-radius: var(--r-lg); color: var(--text); font-size: 15px; line-height: 1.5; }
.st-toc { margin: 24px 0 8px; }
.st-toc ol { margin: 8px 0 0; padding-left: 20px; columns: 2; column-gap: 32px; }
.st-toc li { break-inside: avoid; }
.st-toc a { display: inline-flex; align-items: center; min-height: 44px; color: var(--accent); }
.st-sec { padding-top: 28px; scroll-margin-top: 16px; }
.st-sec h2 { margin: 0 0 10px; font-size: 22px; letter-spacing: -0.02em; }
.st-sec p, .st-sec li { color: var(--text-2); font-size: 16px; line-height: 1.7; }
.st-sec p { margin: 0 0 12px; }
.st-sec ul { margin: 0 0 12px; padding-left: 22px; }
.st-sec li { margin-bottom: 8px; }
.st-sec strong { color: var(--text); }
.st-sec a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 640px) {
  .st-page { padding: 20px 20px 16px; }
  .st-h1, .st-h1-doc { font-size: 32px; }
  .st-toc ol { columns: 1; }
  .st-foot { flex-direction: column; align-items: flex-start; gap: 0; }
  .st-actions .btn { flex: 1 1 100%; }
}
