:root{
  --bg:#f5f7fb;--panel:#fff;--text:#111827;--muted:#667085;--line:#e5e7eb;
  --navy:#14213d;--blue:#2563eb;--cyan:#0891b2;--amber:#b7791f;--red:#b42318;
  --green:#027a48;--purple:#7c3aed;--shadow:0 12px 35px rgba(15,23,42,.06);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Pretendard,"Noto Sans KR",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
.wrap{width:min(1440px,calc(100% - 40px));margin:0 auto}
.hero{background:linear-gradient(125deg,#0f172a 0%,#15284b 55%,#173f5f 100%);color:white;padding:50px 0 34px}
.eyebrow,.tag{font-size:11px;font-weight:800;letter-spacing:.14em}
.eyebrow{color:#93c5fd;margin-bottom:12px}
.hero-grid{display:grid;grid-template-columns:1fr 340px;gap:34px;align-items:end}
h1{font-size:clamp(34px,5vw,62px);line-height:1.04;margin:0 0 16px;letter-spacing:-.045em}
.lead{max-width:860px;color:#d7e3f4;font-size:18px;margin:0}
.status-card{display:flex;align-items:center;gap:13px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.15);padding:18px 20px;border-radius:16px}
.status-card strong,.status-card small{display:block}.status-card small{color:#b8c5d9;margin-top:3px}
.status-dot{width:11px;height:11px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.14)}
.status-dot.loading{background:#f59e0b;box-shadow:0 0 0 5px rgba(245,158,11,.16)}
.status-dot.error{background:#ef4444;box-shadow:0 0 0 5px rgba(239,68,68,.15)}
.notice{margin-top:28px;padding:12px 15px;border-left:3px solid #60a5fa;background:rgba(96,165,250,.09);color:#c8dbf4;font-size:13px;border-radius:0 8px 8px 0}
main{padding:28px 0 52px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px 20px;box-shadow:var(--shadow);min-height:118px}
.kpi span,.kpi small{display:block;color:var(--muted)}
.kpi span{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.035em}
.kpi strong{display:block;font-size:30px;line-height:1;margin:14px 0 8px;letter-spacing:-.04em}
.kpi small{font-size:12px}
.kpi.accent{border-top:3px solid var(--blue)}.kpi.japan{border-top:3px solid var(--red)}.kpi.korea{border-top:3px solid var(--green)}
.grid{display:grid;gap:18px;margin-bottom:18px}.grid.two{grid-template-columns:1fr 1fr}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow);margin-bottom:18px}
.grid .panel{margin-bottom:0}
.panel-head{display:flex;gap:20px;align-items:flex-start;justify-content:space-between;margin-bottom:15px}
.tag{color:var(--blue);display:block;margin-bottom:5px}
h2{font-size:22px;margin:0 0 5px;letter-spacing:-.03em}
.panel-head p{margin:0;color:var(--muted);font-size:13px;max-width:760px}
select{border:1px solid var(--line);border-radius:9px;background:white;padding:8px 10px;color:var(--text)}
.chart-box{height:330px;position:relative}.chart-box.tall{height:390px}.chart-box.short{height:220px}
.lag-control{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:12px}
.lag-control label{display:flex;justify-content:space-between;font-size:13px}
.lag-control input{width:100%;margin:14px 0 6px}
.corr{display:flex;justify-content:space-between;align-items:end}.corr span{font-size:12px;color:var(--muted)}.corr strong{font-size:26px}
.signal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.signal{border:1px solid var(--line);border-radius:14px;padding:17px;background:#fbfcfe}
.signal h3{margin:0 0 6px;font-size:15px}.signal p{margin:0;color:var(--muted);font-size:13px}.signal .value{font-weight:800;font-size:25px;margin:10px 0 5px}
.signal.up{border-left:4px solid var(--red)}.signal.down{border-left:4px solid var(--green)}.signal.neutral{border-left:4px solid var(--amber)}
.skeleton{height:118px;background:linear-gradient(90deg,#f1f5f9,#fafafa,#f1f5f9);background-size:200% 100%;animation:shine 1.4s infinite}
@keyframes shine{to{background-position:-200% 0}}
.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.method-grid>div{border:1px solid var(--line);border-radius:12px;padding:15px}.method-grid strong{display:block;font-size:13px}.method-grid code{display:inline-block;margin:10px 0 5px;font-size:12px;background:#eef2ff;color:#3730a3;padding:4px 7px;border-radius:6px}.method-grid p{margin:0;color:var(--muted);font-size:12px}
.source-table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;font-size:13px;min-width:780px}
th,td{text-align:left;border-bottom:1px solid var(--line);padding:13px 10px;vertical-align:top}
th{font-size:11px;letter-spacing:.04em;color:#475467;background:#f8fafc}
td a{color:var(--blue);text-decoration:none;font-weight:700}td a:hover{text-decoration:underline}
footer{border-top:1px solid var(--line);background:#fff;color:var(--muted);font-size:12px;padding:20px 0}
@media(max-width:1000px){
  .hero-grid,.grid.two{grid-template-columns:1fr}.status-card{max-width:480px}
  .kpis{grid-template-columns:repeat(2,1fr)}.method-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .wrap{width:min(100% - 22px,1440px)}.hero{padding:34px 0 24px}.lead{font-size:15px}
  .kpis,.signal-grid,.method-grid{grid-template-columns:1fr 1fr}.kpi{padding:15px;min-height:104px}.kpi strong{font-size:25px}
  .panel{padding:16px}.panel-head{display:block}.panel-head select{margin-top:12px}.chart-box,.chart-box.tall{height:315px}
}
@media(max-width:460px){.kpis,.signal-grid,.method-grid{grid-template-columns:1fr}.chart-box,.chart-box.tall{height:300px}}
