:root{color-scheme:light dark;--paper:#fff;--bg:#f2f6fa;--ink:#172b44;--muted:#50647c;--line:#d9e3ee;--link:#075fc8;--gutter:clamp(12px,3vw,28px)}
*{box-sizing:border-box}
html{scroll-padding-top:24px}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.75 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);overflow-wrap:anywhere}
a{color:var(--link);text-underline-offset:4px;touch-action:manipulation}
a:focus-visible{outline:3px solid var(--link);outline-offset:4px;border-radius:4px}
.legal-header,main,footer{width:calc(100% - 2 * var(--gutter));max-width:880px;margin-inline:auto}
.legal-header{display:flex;align-items:center;gap:14px;min-height:88px;padding:20px 0;padding-top:max(20px,env(safe-area-inset-top))}
.back{display:grid;place-items:center;flex:0 0 44px;height:44px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.back svg{width:23px;height:23px}
.brand{min-width:0;min-height:44px;font-weight:750;text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:10px}
.brand img{width:36px;height:36px;border-radius:10px;flex:none}
main{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:clamp(20px,5vw,52px);box-shadow:0 12px 36px #172b4405}
h1{font-size:clamp(28px,5vw,42px);line-height:1.2;letter-spacing:-.03em;margin:12px 0 24px;text-wrap:balance}
h2{font-size:23px;line-height:1.4;margin:36px 0 12px;scroll-margin-top:24px}
h3{font-size:18px;line-height:1.5}
p,ul{margin:14px 0}
li{margin:8px 0}
ul{padding-left:24px}
.meta,footer{color:var(--muted);font-size:14px;line-height:1.6}
.meta{margin-top:0}
.notice{background:var(--bg);border-left:3px solid var(--link);padding:16px 20px;border-radius:4px 14px 14px 4px;line-height:1.7}
nav{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 28px}
nav a{display:flex;align-items:center;min-height:44px;max-width:100%;padding:8px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);font-size:14px;line-height:1.5;text-decoration:none}
nav a:hover{background:var(--bg);text-decoration:underline}
dl{display:grid;grid-template-columns:minmax(130px,180px) minmax(0,1fr);gap:12px 20px;margin:20px 0}
dt{font-weight:650}
dd{margin:0;min-width:0}
footer{padding:22px 0;padding-bottom:max(28px,env(safe-area-inset-bottom))}
footer nav{margin:14px 0 0}
@media(max-width:600px){
  body{font-size:16px}
  .legal-header{min-height:76px;padding-bottom:16px;padding-top:max(16px,env(safe-area-inset-top))}
  main{border-radius:18px}
  dl{display:block}
  dt{margin-top:16px}
  dd{margin-top:4px}
  h2{font-size:21px;margin-top:28px}
  .notice{padding:14px 16px}
  nav{gap:6px}
  nav a{padding:8px 12px}
}
@media(max-width:359px){
  main{padding:20px 16px}
  h1{font-size:27px}
  .meta,footer{font-size:13px}
  .notice{padding:12px}
}
@media(prefers-color-scheme:dark){:root{--paper:#152334;--bg:#0c1724;--ink:#edf4fc;--muted:#b9c8da;--line:#35475d;--link:#8fc7ff}}
@media print{
  body{background:#fff;color:#000;font-size:11pt;padding:0}
  .legal-header nav,.back,footer nav{display:none}
  main{max-width:none;border:0;padding:0;box-shadow:none}
  h2{break-after:avoid}
  a{color:inherit}
  main,footer,.legal-header{width:100%;margin:0}
  .notice{background:none}
}
