:root { color-scheme: light; --bg:#f4f6f5; --card:#fff; --text:#15201d; --muted:#64716d; --line:#e2e7e5; --brand:#01875f; --warn:#8a4b00; --warn-bg:#fff4d6; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--text); font:16px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif; }
a { color:#006b52; text-underline-offset:3px; }
.legal-header { padding:16px max(20px,calc((100vw - 850px)/2)); background:#fff; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:11px; color:inherit; text-decoration:none; font-weight:750; font-size:18px; }
.brand img { width:42px; height:42px; border-radius:12px; }
.legal-main { max-width:850px; margin:28px auto 56px; padding:0 20px; }
.legal-nav { display:flex; flex-wrap:wrap; gap:8px 18px; margin:0 0 22px; }
.legal-nav a { font-size:14px; }
.legal-card { padding:clamp(20px,5vw,40px); border:1px solid var(--line); border-radius:18px; background:var(--card); box-shadow:0 2px 10px rgba(15,23,42,.04); }
h1 { margin:0 0 4px; font-size:clamp(27px,5vw,36px); line-height:1.2; letter-spacing:-.03em; }
.updated { color:var(--muted); font-size:13px; margin:0 0 26px; }
h2 { margin:28px 0 8px; font-size:19px; line-height:1.35; }
h3 { margin:20px 0 6px; font-size:16px; }
p,ul,ol { margin-top:7px; }
li+li { margin-top:5px; }
.notice { padding:14px 16px; border:1px solid #efcc7b; border-radius:12px; background:var(--warn-bg); color:var(--warn); }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:14px; }
th,td { padding:10px 12px; border:1px solid var(--line); text-align:left; vertical-align:top; }
th { background:#f6f9f8; }
.legal-footer { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 20px; margin:22px 0; font-size:13px; }
@media(prefers-color-scheme:dark) { :root { color-scheme:dark; --bg:#0d1513; --card:#16211e; --text:#e7efec; --muted:#93a39e; --line:#26332f; --warn:#ffca78; --warn-bg:#332814; } a { color:#5be0c0; } .legal-header,.legal-card { background:var(--card); } th { background:#1b2925; } }
:focus-visible { outline:3px solid #01875f; outline-offset:3px; }
