:root{--bg:#f6f8fb;--card:#fff;--ink:#16202b;--sub:#5b6878;--line:#e2e8f0;--brand:#1d4ed8;--acc:#2563eb;--hi:#eaf0fe;--up:#d1242f;--dn:#1f6feb;--amber:#9a5b00;--amber-bg:#fff4dc;--red:#b42318;--red-bg:#fdecea}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f141a;--card:#161d25;--ink:#e6edf3;--sub:#9aa7b4;--line:#26313d;--brand:#8ab4ff;--acc:#79a8ff;--hi:#17233a;--up:#ff7b72;--dn:#79c0ff;--amber:#f2c66d;--amber-bg:#33270f;--red:#ff9b8f;--red-bg:#3a1714}}
:root[data-theme=dark]{--bg:#0f141a;--card:#161d25;--ink:#e6edf3;--sub:#9aa7b4;--line:#26313d;--brand:#8ab4ff;--acc:#79a8ff;--hi:#17233a;--up:#ff7b72;--dn:#79c0ff;--amber:#f2c66d;--amber-bg:#33270f;--red:#ff9b8f;--red-bg:#3a1714}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.7 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",sans-serif;word-break:keep-all;overflow-wrap:anywhere}
/* 전체 폭 반응형 광고가 화면 밖으로 삐져나가 가로 스크롤이 생기지 않게 */
/* 가로 넘침만 자른다. hidden 은 body 를 따로 스크롤되는 상자로 만들어, 광고가 높이를 바꾸면 스크롤이 잠긴 것처럼 된다 */
html,body{overflow-x:clip}@supports not (overflow:clip){html{overflow-x:hidden}}
a{color:var(--acc)}
.wrap{max-width:1000px;margin:0 auto;padding:0 16px}
.top{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.top-in{display:flex;align-items:center;justify-content:space-between;height:56px;gap:12px}
.logo{display:flex;align-items:center;gap:8px;font-weight:800;font-size:19px;color:var(--brand);text-decoration:none;flex-shrink:0;white-space:nowrap}
.logo-mark{width:30px;height:30px;border-radius:8px;background:var(--brand);color:var(--card);display:inline-flex;align-items:center;justify-content:center;font-size:13px;letter-spacing:-.5px}
.nav{display:flex;gap:4px}
.nav a{padding:6px 10px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:15px;white-space:nowrap}
.nav a[aria-current]{background:var(--hi);color:var(--brand);font-weight:700}
main{padding:20px 16px 48px}
h1{font-size:28px;line-height:1.35;margin:8px 0 10px}
h2{font-size:21px;margin:32px 0 10px}
h3{font-size:18px;margin:24px 0 8px}
.lead{color:var(--sub);margin:0 0 12px}
.crumbs{font-size:13px;color:var(--sub);margin-bottom:4px}
.crumbs a{color:var(--sub)}
.hero{padding:20px 0 8px}
.hero h1{font-size:32px}
.hero p{color:var(--sub);max-width:680px}
.sec{margin-top:32px}
.cards{list-style:none;padding:0;margin:12px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.card{display:block;height:100%;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;text-decoration:none;color:var(--ink)}
.card:hover{border-color:var(--acc)}
.card .k{display:block;font-size:14px;color:var(--sub)}
.card strong{display:block;font-size:26px;line-height:1.3;margin:2px 0;font-variant-numeric:tabular-nums}
.card span{font-size:13px;color:var(--sub)}
.card strong span{font-size:inherit}
.up,.card strong .up{color:var(--up)}.dn,.card strong .dn{color:var(--dn)}
.asof,.meta{font-size:13px;color:var(--sub)}
.sub{color:var(--sub);font-size:14px}
.note{background:var(--hi);padding:10px 12px;border-radius:8px;font-size:15px}
.disc{margin-top:32px;font-size:13px;color:var(--sub);border-top:1px dashed var(--line);padding-top:12px}
/* 표 */
.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--card);border:1px solid var(--line);border-radius:12px}
.data{width:100%;border-collapse:collapse;font-size:15px}
.data th,.data td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.data th{font-weight:600;color:var(--sub);font-size:13px;background:var(--hi)}
.data th:first-child,.data td:first-child{text-align:left}
.data tr:last-child td{border-bottom:0}
.data a{text-decoration:none;color:var(--ink)}
.data a:hover strong{color:var(--acc)}
.tag{display:inline-block;font-size:12px;padding:1px 7px;border-radius:6px;background:var(--hi);color:var(--brand);font-weight:700;vertical-align:1px;white-space:nowrap}
.tag.red{background:var(--red-bg);color:var(--red)}
.tag.amber{background:var(--amber-bg);color:var(--amber)}
.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}
.tabs a{padding:5px 10px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--ink);font-size:14px;background:var(--card)}
.tabs a[aria-current]{background:var(--brand);border-color:var(--brand);color:var(--card)}
.dlist{list-style:none;padding:0;margin:0}
.dlist li{padding:10px 0;border-bottom:1px solid var(--line)}
.dlist a{text-decoration:none;color:var(--ink)}
.dlist .sub{display:block;font-size:14px;margin-top:2px}
.glist{list-style:none;padding:0}
.glist li{padding:14px 0;border-bottom:1px solid var(--line)}
.glist a{text-decoration:none}
.glist p{margin:4px 0 0;color:var(--sub);font-size:15px}
/* 그래프 */
.chart{margin:8px 0 4px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 8px 6px}
.chart svg{display:block;width:100%;height:auto}
.chart text{font-size:11px;fill:var(--sub);font-family:inherit}
.chart .g{stroke:var(--line);stroke-width:1}
.chart .z{stroke:var(--sub);stroke-width:1;stroke-dasharray:4 3}
.chart .ln{fill:none;stroke:var(--acc);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.chart .dot{fill:var(--acc)}
.chart figcaption{font-size:13px;color:var(--sub);padding:4px 6px 0}
/* 본문 */
.prose{max-width:760px;margin-top:8px}
.prose.wide{max-width:820px}
.prose table{border-collapse:collapse;width:100%;margin:12px 0;font-size:15px}
.prose th,.prose td{border:1px solid var(--line);padding:8px 10px;text-align:left}
.prose thead th{background:var(--hi)}
.prose .formula{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--acc);border-radius:8px;padding:10px 14px;font-weight:700}
.prose .tbl{margin:12px 0}
.prose .data th,.prose .data td{border:0;border-bottom:1px solid var(--line)}
.facts{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.prose .facts th,.prose .facts td{border:0;border-bottom:1px solid var(--line);padding:10px 12px}
.facts th{width:42%;color:var(--sub);font-weight:400;text-align:left}
.facts td{font-weight:600;font-variant-numeric:tabular-nums}
.more{max-width:760px;margin-top:28px}
.more h2{font-size:18px}
.src{font-size:14px}
.foot{border-top:1px solid var(--line);background:var(--card);padding:24px 0;font-size:13px;color:var(--sub)}
.foot a{color:var(--sub)}
.foot-note{max-width:760px}
/* 다크·라이트 전환 버튼 */
.thm{flex-shrink:0;width:36px;height:36px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;margin-left:4px}
.thm svg{width:18px;height:18px}
.thm .sun{display:none}
:root[data-theme=dark] .thm .sun{display:block}:root[data-theme=dark] .thm .moon{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .thm .sun{display:block}:root:not([data-theme=light]) .thm .moon{display:none}}
@media (max-width:760px){h1{font-size:24px}.hero h1{font-size:26px}.card strong{font-size:22px}}
@media (max-width:640px){
.top-in{flex-wrap:wrap;height:auto;padding-top:8px;padding-bottom:4px;row-gap:2px;position:relative}
.nav{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -4px}
.nav::-webkit-scrollbar{display:none}
.nav a{font-size:14px;padding:6px 9px}
.thm{position:absolute;top:10px;right:16px}
/* 모바일: 상단 메뉴를 고정하지 않는다 (애드센스 앵커 광고와 겹쳐 본문이 가려지지 않게) */
.top{position:static}
.data th,.data td{padding:8px 9px;font-size:14px}
.cards{grid-template-columns:1fr 1fr}
.card{padding:12px}
}
/* 글자 포함 로고: 라이트·다크 버전 전환 */
.logo .wm{display:block;height:36px;width:auto}
.logo .wm-d{display:none}
:root[data-theme=dark] .logo .wm-l{display:none}:root[data-theme=dark] .logo .wm-d{display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .logo .wm-l{display:none}:root:not([data-theme=light]) .logo .wm-d{display:block}}
@media (max-width:640px){.logo .wm{height:32px}}
/* 삽화 배너·히어로 (그림이 밝으니 글자는 항상 진하게) */
.pbanner{position:relative;border-radius:16px;background:linear-gradient(90deg,#f1f6fe 0 30%,rgba(241,246,254,.85) 40%,rgba(241,246,254,0) 56%),var(--bg) right center/auto 100% no-repeat,#f1f6fe;padding:28px 28px 22px;margin:4px 0 20px;min-height:220px;color:#0f172a;overflow:hidden}
.pbanner h1{margin-top:0;color:#0f172a;max-width:46%}
.pbanner p{color:#3b4a5e;max-width:44%;margin:6px 0 0}
.pbanner a:not(.btn){color:#1d4ed8}
.pbanner strong{color:#0f172a}
.pbanner .crumbs,.pbanner .crumbs a{color:#5b6878}
.pbanner.hero{min-height:300px;padding:40px 32px 28px}
.pbanner.hero h1{font-size:34px}
.pbanner .search{max-width:44%}
:root[data-theme=dark] .pbanner{filter:brightness(.92)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pbanner{filter:brightness(.92)}}
@media (max-width:640px){
.pbanner{background:var(--bgs) right top/auto 150px no-repeat,#f1f6fe;padding:150px 16px 16px;min-height:0}
.pbanner h1,.pbanner p,.pbanner .search{max-width:none}
.pbanner.hero{padding:160px 16px 18px;background-size:auto 170px}
.pbanner.hero h1{font-size:26px}
}
/* 자매 사이트 추천 상자 */
.calcbox{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--acc);border-radius:10px;padding:12px 14px;margin:16px 0}
.calcbox p{margin:4px 0}
.calcbox-t{font-weight:800;color:var(--brand)}
.calcbox .sub{font-size:13px;color:var(--sub)}
.calcbox.sister{max-width:760px}.calcbox.sister ul{margin:6px 0 2px;padding-left:20px}.calcbox.sister li{margin:2px 0}
/* 메뉴가 8개라 좁은 화면에서는 가로로 밀어 본다 */
@media (max-width:1000px) and (min-width:641px){.nav{overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav a{padding:6px 7px;font-size:14px}}
.summary{font-size:17px;font-weight:700;margin:10px 0}
/* 환산 계산기 */
#cv label{display:inline-block;margin:4px 12px 4px 0;font-size:15px}
#cv input,#cv select{font:inherit;font-size:16px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);max-width:100%}
#cv input{width:11em;text-align:right;font-variant-numeric:tabular-nums}
