/* 사전 페이지 전용 — 앱과 독립이라 자바스크립트가 없어도 읽힌다 */
:root{
  --paper:#faf8f4; --card:#fff; --ink:#1a1c1f; --ink2:#3f444b; --ink3:#767c85;
  --line:#e3ded4; --line2:#efeae1; --accent:#2f6fbf; --pos:#2c66a4; --neg:#8a6520;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:"Noto Serif KR",Georgia,serif;font-size:16px;line-height:1.85;
  font-weight:300;word-break:keep-all;overflow-wrap:break-word}
a{color:inherit}
.wrap{max-width:760px;margin:0 auto;padding:28px 22px 60px}
.crumb{font-size:12.5px;color:var(--ink3);margin:0 0 22px;line-height:1.9}
.crumb a{color:var(--ink3);text-decoration:none}
.crumb a:hover{color:var(--accent)}
.crumb span{opacity:.5;margin:0 2px}
.crumb b{color:var(--ink2);font-weight:600}
.dhead{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:8px}
.dmeta{font-size:12px;letter-spacing:.08em;color:var(--ink3);text-transform:uppercase;margin-bottom:10px}
h1{font-size:31px;font-weight:700;line-height:1.35;margin:0 0 4px;letter-spacing:-.01em}
.den{margin:0;font-size:14px;color:var(--ink3);font-style:italic}
.dlead{margin:16px 0 0;font-size:17.5px;line-height:1.8;color:var(--ink2);font-weight:400}
h2{font-size:15px;font-weight:700;margin:38px 0 12px;padding-bottom:8px;
  border-bottom:1px solid var(--line2);letter-spacing:-.005em}
h2 .cnt{font-size:12px;color:var(--ink3);font-weight:400;margin-left:6px}
p{margin:0 0 15px}
section p:last-child{margin-bottom:0}
.premium-note{border:1px dashed var(--line);border-radius:10px;padding:14px 16px;background:var(--card)}
.premium-note h2{margin:0 0 8px;border:0;padding:0;font-size:13px;color:var(--ink3)}
.premium-note p{font-size:14px;color:var(--ink2);line-height:1.75}
.rel{margin:0 0 14px}
.rel b{display:block;font-size:12.5px;color:var(--ink3);margin-bottom:7px;font-weight:600}
.chip{display:inline-block;margin:0 6px 6px 0;padding:5px 11px;border-radius:99px;
  border:1px solid var(--line);background:var(--card);font-size:13.5px;text-decoration:none}
.chip:hover{border-color:var(--accent);color:var(--accent)}
.rel.ally .chip{border-left:3px solid var(--pos)}
.rel.rival .chip{border-left:3px solid var(--neg)}
.tens{margin:0;padding-left:20px}
.tens li{margin-bottom:9px;font-size:14.5px;line-height:1.75}
.thinkers{font-size:14.5px;color:var(--ink2)}
.refs{margin:0;padding-left:20px;font-size:13.5px;line-height:1.75}
.refs li{margin-bottom:11px}
.refs cite{font-style:normal;color:var(--ink2)}
.rnote{display:block;color:var(--ink3);font-size:12.5px;margin-top:3px}
.dblurb{font-size:14px;color:var(--ink3);margin:0 0 14px;line-height:1.75}
.ilist{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--line2);
  border:1px solid var(--line2);border-radius:10px;overflow:hidden}
.ilist a{display:block;padding:13px 15px;background:var(--card);text-decoration:none}
.ilist a:hover{background:var(--paper)}
.ilist b{font-weight:600;font-size:15.5px}
.ilist .en{color:var(--ink3);font-size:12.5px;font-style:italic;margin-left:7px}
.ilist .one{display:block;color:var(--ink2);font-size:13.5px;line-height:1.7;margin-top:3px}
.cta{margin:44px 0 0;padding:20px 22px;border:1px solid var(--line);border-radius:12px;
  background:var(--card)}
.cta b{display:block;font-size:16px;font-weight:700;margin-bottom:6px}
.cta p{font-size:14px;color:var(--ink2);margin:0 0 14px;line-height:1.75}
.ctab{display:inline-block;padding:11px 20px;border-radius:9px;background:var(--ink);
  color:var(--paper);text-decoration:none;font-size:14.5px;font-weight:600}
.ctab:hover{opacity:.87}
.dfoot{border-top:1px solid var(--line);margin-top:0;padding:24px 22px 40px;text-align:center;
  font-size:12.5px;color:var(--ink3);line-height:1.9}
.dfoot a{color:var(--ink3)}
.dfoot .tiny{font-size:11.5px;opacity:.85;margin:6px 0 0}
/* 정책 문서도 이 스타일을 쓴다 */
.legal h2{font-size:17px;margin-top:34px}
.legal h3{font-size:15px;margin:22px 0 8px}
.legal table{border-collapse:collapse;width:100%;font-size:14px;margin:10px 0 16px}
.legal th,.legal td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.legal th{background:var(--card);font-weight:600}
.legal ul,.legal ol{padding-left:22px}
.legal li{margin-bottom:6px}
.legal .box{border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:var(--card);margin:12px 0}
.legal .hl{background:rgba(255,220,120,.25);padding:0 3px}
@media(max-width:640px){
  body{font-size:15.5px}
  .wrap{padding:20px 17px 48px}
  h1{font-size:25px}
  .dlead{font-size:16px}
  .cta{padding:17px 18px}
  .ctab{display:block;text-align:center}
}
@media print{ .cta,.crumb{display:none} }
