
:root{color-scheme:dark;--ink:#f7f4ff;--muted:#b9b3c8;--hot:#ed1c55;--panel:#11101a;--line:rgba(255,255,255,.12)}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#050508;color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Noto Sans JP","Noto Sans CJK JP","Roboto","Segoe UI",sans-serif}
body{background:radial-gradient(circle at 10% 0%,rgba(237,28,85,.22),transparent 320px),#050508;line-height:1.7}
a{color:inherit}
.legal-shell{width:min(100%,860px);margin:0 auto;padding:22px 18px 54px}
.legal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.legal-brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:950;color:#ff3d73;font-size:24px;font-style:italic;letter-spacing:-.04em}
.legal-brand img{width:36px;height:36px;border-radius:10px;box-shadow:0 0 0 1px rgba(255,255,255,.18)}
.back-link{border:1px solid var(--line);border-radius:999px;padding:8px 13px;text-decoration:none;color:var(--muted);font-weight:800;font-size:13px}
.legal-card{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035));border:1px solid var(--line);border-radius:18px;padding:28px 24px;box-shadow:0 18px 50px rgba(0,0,0,.32)}
h1{margin:0 0 8px;font-size:clamp(2rem,7vw,3.3rem);line-height:1;letter-spacing:-.04em}
.updated{margin:0 0 26px;color:var(--muted);font-size:14px;font-weight:750}
h2{margin:28px 0 8px;font-size:20px;letter-spacing:-.02em}
p,li{color:#ddd7ea;font-size:15px}ul{padding-left:20px}.info-table{width:100%;border-collapse:collapse;margin-top:14px}.info-table th,.info-table td{border-top:1px solid var(--line);padding:12px 0;text-align:left;vertical-align:top}.info-table th{width:34%;color:var(--muted);font-size:14px}.legal-footer{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:22px;color:var(--muted);font-size:13px}.legal-footer a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:520px){.legal-card{padding:24px 18px}.legal-header{align-items:flex-start}.back-link{white-space:nowrap}.info-table th,.info-table td{display:block;width:100%;padding:8px 0}.info-table td{padding-top:0}}
