:root { color-scheme: light; --ink:#291d20; --muted:#76666a; --rose:#c83e66; --cream:#fff9f7; --surface:#fff; --line:#eadcdf; }
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: Inter, "PingFang SC", "Microsoft YaHei", sans-serif; line-height: 1.8; }
a { color: inherit; text-decoration: none; }
.legal-header { border-bottom: 1px solid var(--line); background: rgba(255,249,247,.92); }
.legal-header > div, .legal-main, .legal-footer > div { width: min(860px, calc(100% - 36px)); margin: 0 auto; }
.legal-header > div { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.legal-brand { display: inline-flex; align-items: center; gap: 10px; }.legal-brand img { width: 42px; height: 42px; border-radius: 13px; }.legal-brand span { display: flex; flex-direction: column; }.legal-brand strong { letter-spacing: .12em; }.legal-brand small { color: var(--muted); font-size: 9px; letter-spacing: .18em; }
.back-link { color: var(--rose); font-size: 14px; }
.legal-main { padding: 72px 0 90px; }.legal-main > p:first-child { color: var(--rose); font-size: 12px; font-weight: 700; letter-spacing: .16em; }.legal-main h1 { margin: 6px 0 6px; font-size: clamp(38px,7vw,58px); letter-spacing: -.04em; }.updated { color: var(--muted); font-size: 13px; }
.notice { margin: 34px 0; padding: 18px 20px; border: 1px solid #f0cbd5; border-radius: 16px; color: #71414f; background: #fff0f4; }
.legal-main section { margin-top: 42px; padding-top: 6px; }.legal-main h2 { font-size: 22px; }.legal-main section p { color: var(--muted); }
.legal-footer { padding: 24px 0; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }.legal-footer > div { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }.legal-footer a:hover { color: var(--rose); }
@media (max-width:520px) { .legal-header > div { min-height: 68px; }.legal-main { padding-top: 50px; }.legal-footer > div { flex-direction: column; } }
