:root { --legal-bg:#f5f6f8; --legal-text:#17191d; --legal-muted:#68707b; --legal-border:#e2e5e9; --legal-blue:#2563eb; }
* { box-sizing: border-box; }
body { margin:0; background:var(--legal-bg); color:var(--legal-text); font:14px/1.75 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.legal-nav { background:#fff; border-bottom:1px solid var(--legal-border); }
.legal-nav__inner { min-height:68px; max-width:1180px; margin:auto; padding:14px 28px; display:flex; align-items:center; gap:28px; }
.legal-brand { display:flex; align-items:center; gap:10px; color:#747b85; font-size:12px; letter-spacing:.1em; }
.legal-brand img { width:72px; height:28px; object-fit:contain; }
.legal-nav nav { margin-left:auto; display:flex; gap:22px; white-space:nowrap; }
.legal-nav nav a { color:#4b515a; }
.legal-nav nav a:hover,.legal-nav nav a.is-active { color:var(--legal-blue); }
.legal-shell { max-width:1080px; margin:0 auto; padding:58px 28px 90px; display:grid; grid-template-columns:220px minmax(0,1fr); gap:34px; align-items:start; }
.legal-aside { position:sticky; top:24px; padding:18px; background:#fff; border:1px solid var(--legal-border); border-radius:12px; }
.legal-aside strong { display:block; margin-bottom:11px; font-size:13px; }
.legal-aside a { display:block; padding:8px 9px; border-radius:7px; color:var(--legal-muted); font-size:13px; }
.legal-aside a:hover,.legal-aside a.is-active { background:#f0f3f7; color:var(--legal-text); }
.legal-document { min-width:0; padding:38px 42px; background:#fff; border:1px solid var(--legal-border); border-radius:14px; }
.legal-kicker { margin:0 0 8px; color:var(--legal-blue); font-size:12px; font-weight:700; letter-spacing:.12em; }
.legal-document h1 { margin:0; font-size:34px; line-height:1.25; }
.legal-updated { margin:12px 0 0; color:var(--legal-muted); font-size:13px; }
.legal-summary { margin:25px 0 4px; padding:17px 19px; background:#f4f7fb; border-left:3px solid var(--legal-blue); color:#515965; border-radius:0 8px 8px 0; }
.legal-warning { margin:18px 0 0; padding:14px 16px; background:#fff8e8; border:1px solid #f2dfae; color:#725412; border-radius:8px; }
.legal-document section { padding-top:30px; scroll-margin-top:24px; }
.legal-document h2 { margin:0 0 11px; font-size:19px; line-height:1.4; }
.legal-document h3 { margin:20px 0 8px; font-size:15px; }
.legal-document p { margin:8px 0; color:#434a54; }
.legal-document ul,.legal-document ol { margin:10px 0; padding-left:22px; color:#434a54; }
.legal-document li+li { margin-top:7px; }
.legal-document a { color:var(--legal-blue); text-decoration:underline; text-underline-offset:3px; }
.legal-table { width:100%; margin-top:14px; border-collapse:collapse; font-size:13px; }
.legal-table th,.legal-table td { padding:12px 13px; border:1px solid var(--legal-border); text-align:left; vertical-align:top; }
.legal-table th { background:#f7f8fa; }
.legal-contact { padding:18px; background:#111827; color:#fff; border-radius:10px; }
.legal-contact p { color:#d5dbe5; }
.legal-contact a { color:#fff; }
.legal-contact__actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:18px; }
.legal-contact__actions a { display:inline-flex; min-height:42px; align-items:center; justify-content:center; padding:0 15px; border:1px solid rgba(255,255,255,.28); border-radius:8px; font-weight:700; text-decoration:none; }
.legal-contact__actions .legal-contact__primary { border-color:#fff; background:#fff; color:#111827; }
.legal-contact__actions a:hover { border-color:#fff; }
.legal-contact__fallback { margin-top:18px!important; font-size:12px; }
.legal-contact__actions a:focus-visible { outline:3px solid rgba(255,255,255,.48); outline-offset:3px; }
.legal-footer { padding:26px 28px; border-top:1px solid var(--legal-border); background:#fff; color:#818894; font-size:13px; }
.legal-footer__inner { max-width:1080px; margin:auto; display:flex; justify-content:space-between; gap:18px; }
.legal-footer nav { display:flex; flex-wrap:wrap; gap:16px; }
@media (max-width:760px) {
  .legal-nav__inner { padding:13px 18px; flex-wrap:wrap; }
  .legal-nav nav { width:100%; margin:0; overflow-x:auto; gap:18px; padding-bottom:2px; }
  .legal-shell { grid-template-columns:1fr; padding:30px 16px 60px; gap:16px; }
  .legal-aside { position:static; display:flex; overflow-x:auto; gap:4px; padding:10px; }
  .legal-aside strong { display:none; }
  .legal-aside a { flex:0 0 auto; }
  .legal-document { padding:25px 19px; }
  .legal-document h1 { font-size:28px; }
  .legal-table { display:block; overflow-x:auto; }
  .legal-footer__inner { display:grid; }
}


/* Keep the footer at the viewport edge on short legal/help pages. */
html { min-height:100%; background:var(--legal-bg); }
body {
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
}
.legal-nav,
.legal-footer { flex:0 0 auto; }
.legal-shell {
  width:100%;
  flex:1 0 auto;
}

/* Keep legal navigation usable without wrapping or clipping on narrow screens. */
@media (max-width:760px) {
  .legal-nav nav,
  .legal-aside {
    flex-wrap:nowrap;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
  }
  .legal-nav nav::-webkit-scrollbar,
  .legal-aside::-webkit-scrollbar { display:none; }
  .legal-nav nav a,
  .legal-aside a { flex:0 0 auto; min-height:44px; display:inline-flex; align-items:center; }
  .legal-brand { min-width:0; }
  .legal-brand span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .legal-document { overflow-wrap:anywhere; }
}
