/* 약관·개인정보처리방침 공용 스타일 (estate.lifetiming.kr) */
:root{ --bg:#f5f6f8; --card:#fff; --ink:#1d1d1f; --sub:#666; --line:#e3e6ea; --accent:#007AFF; --accent2:#0a8a52; --warn:#c2410c; }
[data-theme="dark"]{ --bg:#15171c; --card:#1f232a; --ink:#e6e8ec; --sub:#9aa0ab; --line:#2c313a; --accent:#4f9dff; --accent2:#34c77b; --warn:#f0904e; }

*{ margin:0; padding:0; box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{ font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Segoe UI',sans-serif;
  background:var(--bg); color:var(--ink); line-height:1.75; }

.header{ background:linear-gradient(135deg,#0a84ff 0%,#0a8a52 100%); color:#fff; padding:30px 16px 24px; text-align:center; }
.header h1{ margin:0; font-size:27px; font-weight:800; letter-spacing:-0.4px; }
.header p{ margin:8px 0 0; font-size:14px; opacity:.85; color:#fff; }
.header-links{ margin:15px auto 0; display:flex; flex-wrap:nowrap; justify-content:safe center; gap:8px; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.header .home-link{ display:inline-flex; align-items:center; font-size:13px; color:#fff; background:rgba(255,255,255,.18);
  padding:7px 14px; border-radius:20px; text-decoration:none; white-space:nowrap; }

.wrap{ max-width:860px; margin:0 auto; padding:30px 20px 60px; }

.meta{ padding:13px 17px; background:var(--card); border:1px solid var(--line); border-radius:12px;
  font-size:13.5px; color:var(--sub); }

.callout{ margin:16px 0; padding:13px 17px; background:var(--card); border:1px solid var(--line);
  border-left:3px solid var(--accent); border-radius:0 10px 10px 0; font-size:14px; color:var(--sub); }
.callout.warn{ border-left-color:var(--warn); }
.callout.warn strong{ color:var(--warn); }

nav.toc{ margin-top:20px; padding:17px 21px; background:var(--card); border:1px solid var(--line); border-radius:12px; }
nav.toc strong{ display:block; font-size:14.5px; margin-bottom:9px; }
nav.toc ol{ margin:0; padding-left:20px; columns:2; column-gap:24px; }
nav.toc li{ font-size:13.5px; margin:4px 0; break-inside:avoid; }
nav.toc a{ color:var(--sub); text-decoration:none; }
nav.toc a:hover{ color:var(--accent); text-decoration:underline; }
@media(max-width:620px){ nav.toc ol{ columns:1; } }

section{ margin-top:34px; padding-top:24px; border-top:1px solid var(--line); scroll-margin-top:14px; }
h2{ font-size:18px; font-weight:700; color:var(--accent); margin-bottom:11px; }
h3{ font-size:15px; font-weight:700; margin:20px 0 7px; }
p{ margin:9px 0; font-size:14.5px; color:var(--sub); }
ul, ol.body{ margin:9px 0 9px 20px; }
li{ font-size:14.5px; color:var(--sub); margin:5px 0; }
a{ color:var(--accent); }

.scroll-x{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.scroll-x table{ min-width:560px; }
.scroll-x.wide table{ min-width:760px; }
table{ width:100%; border-collapse:collapse; margin:13px 0; font-size:13.5px; background:var(--card);
  border:1px solid var(--line); border-radius:12px; overflow:hidden; }
th,td{ padding:10px 13px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top; }
th{ background:rgba(0,122,255,.06); font-weight:700; font-size:12.5px; color:var(--ink); white-space:nowrap; }
[data-theme="dark"] th{ background:rgba(79,157,255,.1); }
tr:last-child td{ border-bottom:none; }
td{ color:var(--sub); }

/* 크기·간격은 nav.js 의 공통 푸터 규칙을 따른다. 여기선 배치와 색만 잡는다 */
.footer{ max-width:860px; margin:0 auto; padding:20px; color:var(--sub); border-top:1px solid var(--line); }
.footer a{ color:var(--accent); }

.theme-toggle{ position:fixed; top:12px; right:14px; z-index:200; width:38px; height:38px; border-radius:50%;
  border:1px solid rgba(255,255,255,.5); background:rgba(255,255,255,.18); color:#fff; font-size:17px;
  cursor:pointer; display:flex; align-items:center; justify-content:center; }
[data-theme="dark"] .theme-toggle{ background:#262a32; border-color:#3a3f4a; color:#ffd479; }

@media(max-width:600px){ .header h1{ font-size:22px; } .wrap{ padding:24px 16px 48px; } }
