/* ═══════════════ 岐路 KIRO — 약관·정책 문서 공통 스타일 ═══════════════
   index.html의 팔레트(먹·금·주홍)를 그대로 따르되, 읽기용이라 본문 폭을 좁히고
   행간을 넉넉하게 잡았다. 다크/라이트 양쪽 대응. */
:root{
  --paper:#0d0b0a; --panel:#16130f; --panel-2:#1d1913; --raise:#241f17;
  --ink:#f1ece0; --ink-soft:#d3ccbc; --muted:#948b7a; --faint:#6c6455;
  --gold:#c9a24b; --gold-hi:#e9cd84; --gold-dim:#8f6f2e;
  --seal:#c0402c;
  --line:rgba(201,162,75,.16); --line-soft:rgba(241,236,224,.08);
  --serif:"Nanum Myeongjo","Noto Serif KR","Batang",Georgia,serif;
  --sans:"Pretendard",system-ui,-apple-system,"Segoe UI","Noto Sans KR","Malgun Gothic",sans-serif;
}
@media (prefers-color-scheme: light){
  :root{
    --paper:#e9e0cc; --panel:#f3ebd7; --panel-2:#ede3cc; --raise:#e5d9bd;
    --ink:#221c12; --ink-soft:#43392a; --muted:#7c705a; --faint:#9a8d72;
    --gold:#9c7a26; --gold-hi:#c29a3e; --gold-dim:#7c5f1e; --seal:#b23524;
    --line:rgba(124,95,30,.24); --line-soft:rgba(34,28,18,.10);
  }
}
:root[data-theme="dark"]{
  --paper:#0d0b0a; --panel:#16130f; --panel-2:#1d1913; --raise:#241f17;
  --ink:#f1ece0; --ink-soft:#d3ccbc; --muted:#948b7a; --faint:#6c6455;
  --gold:#c9a24b; --gold-hi:#e9cd84; --gold-dim:#8f6f2e; --seal:#c0402c;
  --line:rgba(201,162,75,.16); --line-soft:rgba(241,236,224,.08);
}
:root[data-theme="light"]{
  --paper:#e9e0cc; --panel:#f3ebd7; --panel-2:#ede3cc; --raise:#e5d9bd;
  --ink:#221c12; --ink-soft:#43392a; --muted:#7c705a; --faint:#9a8d72;
  --gold:#9c7a26; --gold-hi:#c29a3e; --gold-dim:#7c5f1e; --seal:#b23524;
  --line:rgba(124,95,30,.24); --line-soft:rgba(34,28,18,.10);
}

*{box-sizing:border-box}
body{
  margin:0; background:var(--paper); color:var(--ink-soft);
  font-family:var(--sans); font-size:15px; line-height:1.85;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--gold); text-decoration:none}
a:hover{color:var(--gold-hi); text-decoration:underline}

/* ── 상단바 ── */
.topbar{
  position:sticky; top:0; z-index:20;
  background:color-mix(in srgb,var(--paper) 88%,transparent);
  backdrop-filter:blur(12px); border-bottom:1px solid var(--line);
}
.topbar-in{
  display:flex; align-items:center; gap:14px;
  max-width:860px; margin:0 auto; padding:0 22px; height:58px;
}
.topbar .home{
  display:flex; align-items:center; gap:9px;
  font-family:var(--serif); font-size:17px; letter-spacing:.06em; color:var(--ink);
}
.topbar .home img{width:32px; height:32px; border-radius:8px; object-fit:cover}
.topbar .home:hover{color:var(--gold); text-decoration:none}
.doc-nav{display:flex; gap:16px; margin-left:auto; flex-wrap:wrap}
.doc-nav a{font-size:13px; font-weight:600; color:var(--muted)}
.doc-nav a.on{color:var(--ink); border-bottom:2px solid var(--gold); padding-bottom:2px}

/* ── 본문 ── */
.wrap{max-width:860px; margin:0 auto; padding:44px 22px 90px}
h1{
  font-family:var(--serif); font-size:30px; line-height:1.4; color:var(--ink);
  margin:0 0 10px; font-weight:700;
}
.lede{color:var(--muted); font-size:14px; margin:0 0 6px}
.stamp{
  display:inline-block; margin:14px 0 34px; padding:5px 12px;
  border:1px solid var(--line); border-radius:20px;
  font-size:12px; color:var(--muted); letter-spacing:.02em;
}
h2{
  font-family:var(--serif); font-size:20px; color:var(--gold-hi);
  margin:42px 0 14px; padding-bottom:9px; border-bottom:1px solid var(--line);
  font-weight:700;
}
h3{font-size:15.5px; color:var(--ink); margin:26px 0 8px; font-weight:700}
p{margin:0 0 14px}
ul,ol{margin:0 0 16px; padding-left:22px}
li{margin-bottom:7px}
strong{color:var(--ink); font-weight:700}
/* 표 안의 부연 설명 — 본문보다 한 단계 낮추되 읽을 수는 있어야 하므로 --faint 는 쓰지 않는다 */
.muted{color:var(--muted); font-size:.92em}
code{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:13px;
  background:var(--panel-2); border:1px solid var(--line-soft);
  border-radius:5px; padding:1px 6px; color:var(--gold-hi);
}

/* ── 강조 박스 ── */
.callout{
  background:var(--panel); border:1px solid var(--line);
  border-left:3px solid var(--gold); border-radius:10px;
  padding:16px 20px; margin:20px 0;
}
.callout.warn{border-left-color:var(--seal)}
.callout p:last-child{margin-bottom:0}
.callout .k{
  display:block; font-family:var(--serif); font-size:14px;
  color:var(--gold-hi); margin-bottom:7px; letter-spacing:.03em;
}
.callout.warn .k{color:var(--seal)}

/* 채워 넣어야 하는 자리 — 오픈 전에 반드시 실제 값으로 바꿀 것 */
.fill{
  background:rgba(192,64,44,.14); border:1px dashed var(--seal);
  border-radius:5px; padding:1px 8px; color:var(--seal); font-weight:700;
  font-size:.94em; white-space:nowrap;
}

/* ── 표 ── */
.tablewrap{overflow-x:auto; margin:18px 0}
table{border-collapse:collapse; width:100%; min-width:460px; font-size:14px}
th,td{border:1px solid var(--line); padding:9px 13px; text-align:left; vertical-align:top}
th{background:var(--panel-2); color:var(--ink); font-weight:700; white-space:nowrap}

/* ── 푸터 ── */
.doc-foot{
  max-width:860px; margin:0 auto; padding:26px 22px 60px;
  border-top:1px solid var(--line-soft);
  font-size:12.5px; color:var(--faint); text-align:center; line-height:1.9;
}
.doc-foot a{color:var(--muted)}

@media (max-width:640px){
  .wrap{padding:32px 18px 70px}
  h1{font-size:24px}
  h2{font-size:18px}
  .topbar-in{height:auto; padding:10px 18px; flex-wrap:wrap; gap:10px}
  .doc-nav{margin-left:0; width:100%; gap:14px}
}
@media (prefers-reduced-motion: reduce){ *{animation:none !important; transition:none !important} }
