/* server-rendered pages: tree, wallet, API, terms, privacy, 404 */
body.page { min-height: 100vh; display: flex; flex-direction: column; }
.page-main { flex: 1; padding: calc(var(--bar) + 48px) 0 64px; }
.tp-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.tree-slice { margin: 0; }
.tree-slice canvas { width: 100%; height: auto; aspect-ratio: 1; max-width: 640px; }
.tree-slice figcaption { margin-top: 10px; text-align: center; min-height: 2.8em; }
.tree-info h1, .wallet-page h1, .api-page h1, .prose h1 { font-size: clamp(32px, 4vw, 52px); margin: 10px 0 0; }
.lead { margin-top: 14px; font-size: 19px; color: var(--ink-2); }
.facts { display: grid; grid-template-columns: auto 1fr; gap: 6px 18px; margin: 24px 0; padding-top: 16px; border-top: 1px solid var(--rule); }
.facts dt { color: var(--ink-3); }
.facts dd { margin: 0; word-break: break-word; }
.wallet-page { max-width: 760px; }
.wallet-page .btn, .tree-info .btn { margin-top: 24px; }
.table-wrap { overflow-x: auto; margin-top: 24px; }
.api-table { border-collapse: collapse; width: 100%; font-size: 15px; }
.api-table th, .api-table td { text-align: left; padding: 10px 12px 10px 0; border-top: 1px solid var(--rule); vertical-align: top; }
.api-table th { font-weight: 500; color: var(--ink-2); }
.prose { max-width: 720px; }
.prose h2 { font-size: 22px; margin: 32px 0 8px; }
.prose p { color: var(--ink-2); margin-top: 10px; }
.foot-mini { display: flex; flex-wrap: wrap; gap: 8px 22px; color: var(--ink-3); }
@media (max-width: 860px) { .tp-grid { grid-template-columns: 1fr; gap: 24px; } .page-main { padding-top: calc(var(--bar) + 24px); } }
