body.page { padding-top: var(--bar); }
.bar.solid { position: fixed; }
.page-main { padding-top: 48px; padding-bottom: 40px; min-height: 60vh; }
.page h1 { font-family: var(--serif); font-size: clamp(36px, 4.4vw, 58px); line-height: 1.04; }
.page .lead { font-size: 18px; color: var(--ink-2); margin: 12px 0 22px; }
.page .dim { color: var(--ink-3); font-size: 14px; margin: 0 0 8px; }
.page .btn { margin-top: 6px; }
.spot-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, 1fr); gap: 44px; align-items: start; }
.spot-card { margin: 0; }
.spot-card canvas { width: 100%; height: auto; aspect-ratio: 3 / 2; border-radius: var(--r); box-shadow: 0 1px 2px rgba(28,36,51,.12), 0 18px 40px -12px rgba(28,36,51,.35); background: var(--card); display: block; }
.facts { display: grid; grid-template-columns: auto 1fr; gap: 7px 18px; font-size: 15px; margin: 0 0 22px; }
.facts dt { color: var(--ink-3); } .facts dd { margin: 0; overflow-wrap: anywhere; }
.h3 { font-family: var(--serif); font-size: 30px; margin: 54px 0 14px; }
.mail-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rule); }
.mail-list li { display: grid; grid-template-columns: 130px 140px 120px 1fr; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--rule); font-size: 15px; }
.mail-list li span:nth-child(n+3) { color: var(--ink-3); }
.empty { color: var(--ink-2); }
.wallet-page, .api-page, .legal { max-width: 780px; }
.legal h2 { font-family: var(--serif); font-size: 28px; margin: 34px 0 8px; }
.legal p, .legal li { color: var(--ink-2); }
.table-wrap { overflow-x: auto; }
.api-table { width: 100%; border-collapse: collapse; font-size: 14.5px; margin: 20px 0; min-width: 640px; }
.api-table th, .api-table td { text-align: left; padding: 9px 10px 9px 0; border-bottom: 1px solid var(--rule); vertical-align: top; }
.api-table th { color: var(--ink-3); font-weight: 500; }
.mono { font-variant-numeric: tabular-nums; word-break: break-all; }
.foot-mini { display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 14px; color: var(--ink-3); }
@media (max-width: 860px) { .spot-grid { grid-template-columns: 1fr; } .mail-list li { grid-template-columns: 1fr 1fr; } }
