:root{--navy:#0b2c5f;--blue:#1d4ed8;--teal:#0f766e;--gold:#b7791f;--ink:#172234;--muted:#66758b;--line:#d9e2ec;--bg:#f3f6fa;--card:#fff;--warn:#fff7dd}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Pretendard,"Noto Sans KR",system-ui,-apple-system,sans-serif}.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:38px max(24px,5vw) 30px;background:linear-gradient(135deg,#082655,#1d5ea8);color:#fff}.eyebrow{margin:0;color:#bcd5f3;font-size:12px;font-weight:800;letter-spacing:.15em}.hero h1{font-size:clamp(28px,4vw,50px);margin:7px 0 8px}.subtitle{margin:0;color:#dbeafe}.status{padding:10px 14px;border:1px solid #ffffff55;border-radius:999px;background:#ffffff18;font-weight:800;white-space:nowrap}.status.ok{background:#dff7eb;color:#075b3c;border-color:#9fe1c2}.status.warn{background:#fff1c4;color:#795300;border-color:#e6c45e}main{width:min(1500px,94vw);margin:22px auto 48px}.card,.kpi{background:var(--card);border:1px solid var(--line);border-radius:17px;box-shadow:0 8px 24px #16365b0d}.controls{padding:15px 17px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.control-group{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.control-label{font-size:12px;font-weight:800;color:var(--muted);margin-right:4px}.toggle,.range{border:1px solid var(--line);background:#f8fafc;border-radius:10px;padding:9px 13px;font-weight:800;color:#40516a;cursor:pointer}.toggle.active,.range.active{background:var(--navy);color:#fff;border-color:var(--navy)}.download{margin-left:auto;text-decoration:none;padding:9px 14px;border-radius:10px;background:#eaf2ff;color:var(--blue);font-weight:900}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:15px 0}.kpi{padding:16px;border-top:4px solid var(--navy)}.kpi.kospi{border-top-color:var(--blue)}.kpi.kosdaq{border-top-color:var(--teal)}.kpi.total{border-top-color:var(--gold)}.kpi span,.kpi small{display:block;color:var(--muted);font-size:12px;font-weight:700}.kpi strong{display:block;font-size:clamp(20px,2vw,29px);margin:5px 0;color:var(--navy)}.kpi.kospi strong{color:var(--blue)}.kpi.kosdaq strong{color:var(--teal)}.kpi.total strong{color:var(--gold)}.chart-card{padding:20px}.chart-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px}.chart-head h2{margin:0;font-size:25px;color:var(--navy)}.chart-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.series-switches{display:flex;gap:13px;flex-wrap:wrap;color:#40516a;font-size:13px;font-weight:800}.canvas-wrap{height:min(70vh,720px);min-height:480px;margin-top:12px}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:15px}.method{padding:18px}.method h3,.source-card h3{margin:0 0 10px;color:var(--navy)}.method p{color:#40516a;line-height:1.65}.method.warning{background:var(--warn);border-color:#ead28c}.source-card{padding:18px;margin-top:15px}.source-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0}.source-card dl div{background:#f8fafc;border-radius:10px;padding:12px}.source-card dt{font-size:11px;color:var(--muted);font-weight:800}.source-card dd{margin:4px 0 0;font-weight:800;word-break:break-word}footer{text-align:center;color:#758297;font-size:12px;padding:22px}@media(max-width:900px){.hero{align-items:flex-start;flex-direction:column}.kpis{grid-template-columns:repeat(2,1fr)}.method-grid{grid-template-columns:1fr}.source-card dl{grid-template-columns:1fr}.chart-head{align-items:flex-start;flex-direction:column}.canvas-wrap{height:560px}}@media(max-width:520px){.kpis{grid-template-columns:1fr}.controls{align-items:stretch}.download{margin-left:0;text-align:center}.canvas-wrap{height:500px;min-height:420px}}
.canvas-wrap{position:relative}.chart-tooltip{position:absolute;z-index:10;pointer-events:none;background:#0b2348;color:#fff;border-radius:10px;padding:10px 12px;box-shadow:0 8px 24px #0004;font-size:12px;min-width:220px}.chart-tooltip b{display:block;margin-bottom:6px}.chart-tooltip span{display:flex;align-items:center;gap:6px;padding:2px 0}.chart-tooltip span strong{margin-left:auto}.chart-tooltip i{width:9px;height:9px;border-radius:50%;display:inline-block}.chart-tooltip.hidden{display:none}
