/* 长文独立限宽；隐藏语言不占布局，窄屏只让表格自身横向滚动。 */
[data-legal-language][hidden] { display: none; }
.legal { width: min(740px, calc(100% - 2 * var(--pad-x))); margin: 0 auto; padding: 128px 0 80px; }
.legal__date { color: var(--text-3); font: 12px var(--font-mono); margin-bottom: 18px; }
.legal h1 { font-size: clamp(32px, 5vw, 50px); line-height: 1.15; letter-spacing: -.04em; margin-bottom: 24px; }
.legal h2 { font-size: 21px; line-height: 1.4; letter-spacing: -.02em; margin: 38px 0 12px; scroll-margin-top: 84px; }
.legal p, .legal li { font-size: 16px; line-height: 1.85; color: var(--text-2); overflow-wrap: anywhere; }
.legal p + p { margin-top: 16px; }
.legal ul { padding-left: 1.4em; margin: 16px 0; }
.legal li + li { margin-top: 12px; }
.legal strong { color: var(--text-1); font-weight: 620; }
.legal code { font: .85em var(--font-mono); overflow-wrap: anywhere; }
.legal a, .foot__copy a { color: inherit; text-underline-offset: 4px; }
.legal__back { display: inline-block; margin-top: 42px; font-size: 14px; }
.legal__table { width: 100%; overflow-x: auto; margin: 20px 0; border: 1px solid var(--border-strong); border-radius: var(--r-md); }
.legal table { width: 100%; min-width: 580px; border-collapse: collapse; text-align: left; font-size: 14px; line-height: 1.75; color: var(--text-2); }
.legal th, .legal td { padding: 13px 16px; vertical-align: top; border-bottom: 1px solid var(--border); }
.legal th { background: var(--surface-2); color: var(--text-1); font-weight: 620; }
.legal td:first-child { width: 22%; color: var(--text-1); }
.legal tr:last-child td { border-bottom: 0; }
.foot__copy { overflow-wrap: anywhere; line-height: 2; }
.foot__copy a { display: inline-block; }
@media (max-width: 420px) {
  .legal { padding: 104px 0 56px; }
  .legal p, .legal li { font-size: 15px; }
  .legal h2 { font-size: 19px; }
}
