:root{color-scheme:dark;--bg:#171b23;--panel:#20252f;--text:#dce2f0;--muted:#a3afc1;--border:#394250;--accent:#c4ed7b}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.9 system-ui,-apple-system,"Noto Sans JP",sans-serif}
a{color:var(--accent);text-underline-offset:4px;overflow-wrap:anywhere}
a:hover{color:#e1ffad}
a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}
.legal-page{max-width:760px;margin:0 auto;padding:28px 28px 60px}
.legal-nav{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px;padding-bottom:20px;border-bottom:1px solid var(--border)}
.legal-nav .legal-brand{font-size:23px;font-weight:750;letter-spacing:-.04em;text-decoration:none}
.legal-nav .legal-brand span{color:var(--accent)}
.legal-kicker{margin:30px 0 6px;font:11px ui-monospace,monospace;letter-spacing:.15em;color:var(--accent)}
h1{font-size:27px;line-height:1.5;margin:0 0 8px;overflow-wrap:anywhere}
.legal-date{font-size:12px;color:var(--muted);margin:0 0 24px}
.legal-lead{padding:14px 18px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;background:var(--panel);margin:0 0 26px}
h2{font-size:17px;line-height:1.6;margin:28px 0 9px}
p{margin:10px 0;overflow-wrap:anywhere}
ul{margin:10px 0;padding-left:23px}
li{margin:7px 0}
.legal-contact{padding-top:20px;margin-top:30px;border-top:1px solid var(--border);font-size:13px;color:var(--muted)}
.legal-contact p{margin:6px 0}
.legal-footer{display:flex;gap:20px;flex-wrap:wrap;margin-top:28px;font-size:13px}
@media(max-width:580px){body{font-size:14px}.legal-page{padding:22px 18px 44px}h1{font-size:23px}h2{font-size:16px}.legal-lead{padding:12px 14px}.legal-nav{gap:12px;font-size:12px}}
