/* ═══════════════════════════════════════════════════════════════════
   법적 고지 페이지 (/privacy · /terms) 공용 스타일
   토큰 = index.html 과 동일 (앱 UI Night 모드, DESIGN_SYSTEM §2)
   본문은 통합관리자 /legal 발행본을 fetch 해 렌더한다 — SSOT 는 백엔드.
   ═══════════════════════════════════════════════════════════════════ */
:root{
  --bg:#120B1F; --bg-top:#160C24; --violet:#492069;
  --point:#984DC7; --yellow:#F7C644; --lavender:#B36FDE;
  --txt:#FFFFFF; --sub:#CABBE8;
  --line:rgba(203,187,232,.14);
  --wrap:820px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Pretendard Variable',Pretendard,-apple-system,system-ui,sans-serif;
  color:var(--txt); background:var(--bg); line-height:1.75;
  word-break:keep-all; -webkit-font-smoothing:antialiased;
}
.bg{
  position:fixed; inset:0; z-index:-1;
  background:
    radial-gradient(900px 620px at 78% -6%, rgba(73,32,105,.55), transparent 62%),
    linear-gradient(180deg,var(--bg-top) 0%,var(--bg) 58%);
}

nav{
  position:sticky; top:0; z-index:5;
  backdrop-filter:blur(12px); background:rgba(18,11,31,.78);
  border-bottom:1px solid var(--line);
}
.nav-in{
  max-width:var(--wrap); margin:0 auto; padding:12px 24px;
  display:flex; align-items:center; gap:16px;
}
.nav-in .logo{height:26px;width:auto;display:block}
.nav-r{margin-left:auto; display:flex; align-items:center; gap:16px}
.lang{display:flex; align-items:center; gap:2px; color:var(--sub); font-size:13px}
.lang button{
  background:transparent; border:0; color:var(--sub); font:inherit; font-size:13px;
  padding:3px 6px; border-radius:999px; cursor:pointer;
}
.lang button[aria-pressed="true"]{color:var(--txt); font-weight:600}
.lang .sep{opacity:.4}
.home{color:var(--sub); text-decoration:none; font-size:14px; white-space:nowrap}
.home:hover{color:var(--txt)}

main{max-width:var(--wrap); margin:0 auto; padding:36px 24px 84px}
.doc-meta{color:var(--sub); font-size:12.5px; letter-spacing:.3px; margin-bottom:18px; opacity:.85}
.doc h1{font-size:clamp(24px,3.6vw,32px); font-weight:700; margin:0 0 16px; letter-spacing:-.02em}
.doc h2{font-size:20px; font-weight:600; color:var(--lavender); margin:32px 0 8px}
.doc h3{font-size:16px; font-weight:600; color:var(--lavender); margin:22px 0 6px}
.doc p,.doc li{font-size:15px; color:#DFD6EE; font-weight:350; margin:8px 0}
.doc ul,.doc ol{margin:8px 0 8px 22px}
.doc strong,.doc b{color:#FFFFFF; font-weight:600}
.doc a{color:var(--lavender)}
.doc hr{border:none; border-top:1px solid var(--line); margin:28px 0}
.doc table{border-collapse:collapse; width:100%; margin:12px 0; display:block; overflow-x:auto}
.doc th,.doc td{border:1px solid var(--line); padding:7px 10px; text-align:left; font-size:14px}
.doc th{background:rgba(152,77,199,.12)}
.state{color:var(--sub); padding:52px 0; text-align:center; font-size:15px}

footer{border-top:1px solid var(--line); padding:28px 24px 40px}
footer .wrap{max-width:var(--wrap); margin:0 auto; text-align:center}
.foot-links{display:flex; flex-wrap:wrap; gap:8px 20px; justify-content:center}
.foot-links a{color:var(--sub); text-decoration:none; font-size:14px}
.foot-links a:hover{color:var(--txt)}
.sig{margin-top:14px; color:var(--sub); font-size:13px; opacity:.7}
