:root{color-scheme:light;--blue:#08519c;--text:#243447;--muted:#5f6f81;--line:#dce3eb}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:#f5f6f8;color:var(--text);font-family:Arial,"Apple SD Gothic Neo",sans-serif;font-size:16px;line-height:1.85;overflow-wrap:break-word}
a{color:var(--blue);text-underline-offset:3px}
a:focus-visible{outline:3px solid #6baed6;outline-offset:4px}
.report-header{background:#fff;border-bottom:1px solid var(--line);padding:22px 40px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.brand{font-size:20px;font-weight:700;text-decoration:none;color:var(--text);line-height:1.4}
.brand span{display:block;font-size:13px;font-weight:400;color:var(--muted);margin-top:4px}
.return-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;background:var(--blue);color:#fff;border-radius:8px;text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap}
.return-link:hover{background:#06417d}
.report-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:40px;max-width:1280px;margin:0 auto;padding:44px 32px 64px}
.report-nav{position:sticky;top:28px;align-self:start;display:grid;gap:8px;font-size:14px}
.report-nav a{padding:10px 8px;text-decoration:none;border-bottom:1px solid var(--line);color:var(--muted)}
.report-nav a:hover{color:var(--blue);background:#eff3ff}
.report-nav span{font-variant-numeric:tabular-nums;color:var(--blue);margin-right:8px;font-weight:600}
main{min-width:0;background:#fff;padding:38px 42px;border:1px solid var(--line);border-radius:12px}
h1{margin:0 0 16px;font-size:32px;line-height:1.45;letter-spacing:-.6px;color:#132c46}
h2{font-size:23px;line-height:1.5;margin:56px 0 20px;padding-top:24px;border-top:2px solid #bdd7e7;color:var(--blue)}
h3{font-size:18px;line-height:1.6;margin:32px 0 12px;color:#173e65}
p{margin:0 0 18px}
.report-subtitle{color:var(--muted);font-size:14px}
ul,ol{padding-left:24px;margin:0 0 22px}
li{margin:8px 0}
strong{font-weight:700;color:#153c63}
code{background:#f1f4f8;padding:2px 5px;border-radius:4px;font-size:.9em;overflow-wrap:anywhere}
figure{margin:24px 0 16px}
figure img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:6px}
.table-wrap{max-width:100%;overflow-x:auto;margin:20px 0 24px}
table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.65}
th,td{text-align:left;padding:11px 12px;vertical-align:top;border-bottom:1px solid var(--line);min-width:76px}
th{background:#eff3ff;color:#173e65;font-weight:600}
td{font-variant-numeric:tabular-nums}
.report-return{margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}
footer{text-align:center;padding:0 24px 28px;font-size:12px;color:var(--muted)}
.skip-link{position:absolute;left:12px;top:-100px;padding:10px;background:white;z-index:5}
.skip-link:focus{top:12px}
@media(max-width:1000px){.report-layout{grid-template-columns:1fr;gap:20px;padding:28px 20px 48px}.report-nav{position:static;display:flex;flex-wrap:wrap;gap:8px 16px}.report-nav a{padding:5px 0}}
@media(max-width:600px){.report-header{padding:18px 16px;align-items:flex-start;flex-wrap:wrap;gap:16px}.brand{font-size:18px}.return-link{padding:9px 14px}.report-layout{padding:20px 12px 36px}main{padding:24px 18px}h1{font-size:26px}h2{font-size:21px;margin-top:40px}h3{font-size:18px}body{font-size:15px}.report-nav{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* 분수·합 기호·첨자를 포함한 수식 */
.equation { margin: 24px 0; padding: 16px 8px; overflow-x: auto; color: #173e65; }
.equation math { font-size: 1.35em; margin: 0; }
.equation-label { margin-top: 24px; margin-bottom: 0; font-weight: 600; }
@media (max-width: 600px) { .equation math { font-size: 1.15em; } }


/* 시각화별 해석 */
h4 { font-size: 17px; line-height: 1.65; margin: 36px 0 14px; color: #173e65; padding-bottom: 9px; border-bottom: 1px solid #dce3eb; }
h4 + ol { padding-left: 25px; }
h4 + ol > li { margin-bottom: 16px; }

/* 지표 설명표의 항목 너비 */
.indicator-table th:first-child, .indicator-table td:first-child { min-width: 144px; width: 144px; }
