/* Shared legal pages and non-intrusive links for Habit Planet. */
.legal-footer{width:min(100%,620px);margin:0 auto;padding:18px 16px 28px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 20px;background:var(--panel,#fff);border-top:1px solid var(--line,#e6ebf2);font-size:12px;line-height:1.7}
.legal-footer a{color:var(--accent,#087d73);text-underline-offset:3px}
.focus-mode .legal-footer{background:#0b1625;border-color:#223149}
.focus-mode .legal-footer a{color:#8fe6d8}
body.legal-document{background:#f5f7fb;color:#132033;line-height:1.85}
.legal-document .legal-shell{max-width:760px;margin:0 auto;padding:28px 20px 64px}
.legal-document .legal-header{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:22px}
.legal-document .legal-brand{font-weight:900;letter-spacing:.08em;text-decoration:none;color:#087d73}
.legal-document .legal-back{font-size:14px;color:#315b69}
.legal-document main{background:#fff;border:1px solid #e6ebf2;border-radius:22px;padding:26px 24px;box-shadow:0 14px 35px #10213a0a}
.legal-document h1{font-size:clamp(23px,5vw,31px);line-height:1.35;margin:0 0 12px}
.legal-document h2{font-size:18px;line-height:1.4;margin:29px 0 9px}
.legal-document p,.legal-document li,.legal-document dd{font-size:14px}
.legal-document p{margin:9px 0}
.legal-document ul{padding-left:1.4em}
.legal-document a{color:#087d73;text-underline-offset:3px}
.legal-document .legal-contact-link{display:inline-block;background:#087d73;color:#fff;font-weight:700;text-decoration:none;border-radius:12px;padding:12px 18px;line-height:1.5}
.legal-document .legal-contact-link:hover,.legal-document .legal-contact-link:focus-visible{background:#075f58}
.legal-document .legal-contact-link:focus-visible{outline:3px solid #0f9f90;outline-offset:3px}
.legal-document .legal-note{font-size:13px;color:#55677a}
.legal-document .legal-draft{border:1px solid #e9c879;background:#fffbeb;color:#6a4a12;border-radius:12px;padding:12px 14px;font-size:13px;margin:18px 0}
.legal-document dl{display:grid;grid-template-columns:minmax(115px,170px) 1fr;gap:0;border-top:1px solid #e6ebf2}
.legal-document dt,.legal-document dd{margin:0;padding:12px 8px;border-bottom:1px solid #e6ebf2;overflow-wrap:anywhere}
.legal-document dt{font-size:13px;font-weight:700;background:#f8fafc}
.legal-document .legal-bottom{font-size:13px;text-align:center;margin-top:22px}
@media(max-width:540px){.legal-document .legal-shell{padding:16px 12px 40px}.legal-document main{padding:22px 16px}.legal-document dl{grid-template-columns:1fr}.legal-document dt{border-bottom:0;padding-bottom:1px}.legal-document dd{padding-top:3px}}
