:root { color-scheme:light; font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif; }
* { box-sizing:border-box; }
body { min-width:20rem; min-height:100dvh; margin:0; color:#171520; background:#f8f7fb; }
.legal-page { width:min(100% - 2rem,58rem); margin:0 auto; padding:clamp(2rem,6vw,5rem) 0 6rem; }
.legal-heading { margin-bottom:1.5rem; }
.legal-heading h1 { margin:0; font-size:clamp(2rem,5vw,3.4rem); line-height:1.12; letter-spacing:-.045em; text-wrap:balance; }
.legal-updated { margin:.75rem 0 0; color:#716c79; font-size:.9rem; }
.legal-content { padding:clamp(1.25rem,4vw,3rem); overflow-wrap:anywhere; border:.0625rem solid #e8e3ee; border-radius:1.25rem; background:#fff; box-shadow:0 1rem 3rem rgba(34,27,48,.055); }
.legal-content--plain { white-space:pre-wrap; line-height:1.78; }
.legal-content section + section { margin-top:2rem; padding-top:2rem; border-top:.0625rem solid #ece8f0; }
.legal-content h2 { margin:0 0 .8rem; font-size:1.2rem; line-height:1.4; }
.legal-content p { margin:.75rem 0; line-height:1.78; }
.legal-content ol { margin:.75rem 0; padding-inline-start:1.5rem; line-height:1.78; }
@media (max-width:38rem) { .legal-page { width:min(100% - 1.25rem,58rem); padding-top:2rem; } .legal-content { border-radius:1rem; } }
