:root{--bg:#eef2f8;--ink:#1f2942;--soft:#5b6780;--line:rgba(31,41,66,.11);--accent:#315fd7;--font:"Avenir Next","SF Pro Display","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}
body{margin:0;min-width:320px;background:linear-gradient(180deg,#f5f7fc,var(--bg));color:var(--ink);font:16px/1.78 var(--font);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid rgba(78,134,245,.72);outline-offset:4px}
.legal-head{display:flex;align-items:center;gap:24px;width:min(920px,calc(100% - 48px));margin:auto;padding:20px 0;border-bottom:1px solid rgba(31,41,66,.08)}
.legal-brand{display:flex;align-items:center;gap:10px;font-weight:820}
.legal-brand img{width:38px;height:38px;border-radius:50%;box-shadow:0 4px 12px rgba(39,92,178,.18)}
.legal-head nav{display:flex;gap:6px;margin-left:auto}
.legal-head nav a{padding:7px 12px;border-radius:999px;color:var(--soft);font-size:.82rem;font-weight:700}
.legal-head nav a:hover{background:rgba(255,255,255,.72);color:var(--ink)}
.legal-page{width:min(920px,calc(100% - 48px));margin:0 auto;padding:58px 0 96px}
.legal-title{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end}
.legal-title h1{margin:0;font-size:clamp(2.45rem,6vw,4rem);line-height:1.06;letter-spacing:-.04em}
.legal-meta{margin:0 0 8px;color:var(--soft);font-size:.86rem;white-space:nowrap}
.legal-card{margin-top:34px;padding:48px 52px;border:1px solid rgba(255,255,255,.92);border-radius:26px;background:rgba(255,255,255,.68);box-shadow:0 18px 50px rgba(24,36,72,.07)}
.legal-card h2{margin:44px 0 12px;font-size:1.28rem;line-height:1.35}
.legal-card h2:first-child{margin-top:0}
.legal-card p,.legal-card li{max-width:72ch;color:#46516a}
.legal-card a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.legal-foot{border-top:1px solid rgba(31,41,66,.08);padding:28px 24px;color:var(--soft);font-size:.8rem}
.legal-foot>div{width:min(920px,100%);margin:auto;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.legal-foot nav{display:flex;gap:16px}
@media(max-width:640px){
  .legal-head{width:calc(100% - 32px);padding:14px 0}
  .legal-head nav a{padding:6px 9px}
  .legal-page{width:calc(100% - 32px);padding:42px 0 70px}
  .legal-title{grid-template-columns:1fr;gap:12px}
  .legal-title h1{font-size:2.55rem}
  .legal-meta{margin:0;white-space:normal}
  .legal-card{margin-top:26px;padding:30px 26px;border-radius:22px}
  .legal-card h2{margin-top:38px}
}
