:root{
  --navy:#123d4c;--navy-dk:#0b2a35;--teal:#16938a;--teal-lt:#1fb3a6;
  --term:#0a0d12;--term-2:#121722;--term-line:#1e2635;
  --paper:#ffffff;--soft:#f3f5f6;--card:#fafbfb;
  --ink:#11151a;--fg:#1d2126;--dim:#646c75;--line:#d9dee2;--rule:#11151a;
  --up:#d92b2b;--down:#1a5fd0;--flat:#8a939c;
  --up-t:#ff6b6b;--down-t:#6aa8ff;
  --gold:#8a6a00;--gold-bg:#fdf6de;--gold-line:#e6d79f;
  --sans:"Inter","Noto Sans KR","Malgun Gothic","Apple SD Gothic Neo",-apple-system,sans-serif;
  --mono:"JetBrains Mono","SF Mono",Consolas,monospace;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--fg);font-family:var(--sans);
     line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.wrap{max-width:1680px;margin:0 auto;padding:0 40px}
.up{color:var(--up)}.down{color:var(--down)}.flat{color:var(--flat)}

/* ── 제호 ── */
.util{background:var(--navy-dk);color:#b7cdd4}
.util .wrap{max-width:1680px;margin:0 auto;display:flex;justify-content:space-between;
            gap:14px;font-size:11.5px;padding:6px 40px}
.util .mono{font-family:var(--mono);font-size:10.5px}
.mast{background:var(--navy);color:#fff}
.mast .wrap{max-width:1680px;margin:0 auto;display:flex;align-items:flex-end;
            gap:20px;padding:15px 40px 13px}
.title{line-height:.82}
.title strong{display:block;font-size:62px;font-weight:900;letter-spacing:-3.2px;color:#fff;
              white-space:nowrap;
              line-height:.82}
.title strong em{font-style:normal;color:var(--teal-lt,#1fb3a6)}
.title span{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.42em;
            color:var(--teal-lt);font-weight:700;margin-top:9px}
.mast .desc{border-left:1px solid rgba(255,255,255,.24);padding-left:20px;
            font-size:12.5px;color:#cadde3;line-height:1.7}
.mast .desc b{display:block;color:#fff;font-size:13.5px;font-weight:700}
.mast .edition{margin-left:auto;text-align:right;font-size:11.5px;color:#b7cdd4}
.mast .edition b{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;
                 color:var(--teal-lt);font-weight:700;margin-bottom:2px}
nav.sec{background:var(--navy);border-bottom:4px solid var(--navy-dk)}
nav.sec .wrap{display:flex;overflow-x:auto}
nav.sec a{padding:9px 15px 10px;font-size:14.5px;font-weight:700;color:#c6dae0;
          white-space:nowrap;border-bottom:3px solid transparent}
nav.sec a:first-child{padding-left:0}
nav.sec a:hover{color:#fff}
nav.sec a.on{color:#fff;border-bottom-color:var(--teal-lt)}
nav.sec a.room{margin-left:auto;color:var(--teal-lt)}
nav.sec a.split{padding-left:15px;border-left:1px solid rgba(255,255,255,.2);color:#d9c79a}

/* ── 터미널 ── */
.term{background:#000;color:#e8e8e8;border-bottom:3px solid #1c1c1c;font-size:15px}
.tape{position:relative;display:flex;align-items:center;height:42px;max-width:1680px;margin:0 auto;
      border-bottom:1px solid #1c1c1c;overflow:hidden;background:#000}
.tape .live{display:flex;align-items:center;gap:7px;color:#ff3b3b;font-size:12px;
            font-family:var(--mono);font-weight:700;letter-spacing:1px;
            padding:0 16px 0 40px;flex:none;z-index:2;background:#000;
            box-shadow:12px 0 14px -6px #000}
.tape .twrap{flex:1;min-width:0;overflow:hidden}
.tape .track{display:flex;width:max-content;animation:marquee 66s linear infinite}
.tape:hover .track{animation-play-state:paused}
.tape .lane{display:flex}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.tape .track{animation:none}.tape{overflow-x:auto}}
.tape .tk{display:flex;align-items:baseline;gap:9px;padding:0 17px;white-space:nowrap;
          border-right:1px solid #1c1c1c}
.tape .lb{color:#c0c0c0;font-size:12px;font-weight:700;letter-spacing:.6px}
.tape .vl{font-family:var(--mono);font-weight:700;font-size:17px;color:#fff;letter-spacing:-.3px}
.tape .up,.tape .down,.tape .flat{font-family:var(--mono);font-size:12px;font-weight:700}
.dot{width:7px;height:7px;border-radius:50%;background:#ff3b3b;
     box-shadow:0 0 8px #ff3b3b;animation:blink 2s infinite}
@keyframes blink{50%{opacity:.3}}
.term .up{color:#ff3b3b}.term .down{color:#1aff66}.term .flat{color:#a8a8a8}

.tgrid{max-width:1680px;margin:0 auto;display:grid;
       grid-template-columns:minmax(300px,1fr) minmax(280px,.88fr) minmax(400px,1.42fr) minmax(300px,1fr);
       gap:0;padding:14px 40px 16px;align-items:stretch}
.pan{min-width:0;padding:0 24px}
.pan:first-child{padding-left:0}
.pan:last-child{padding-right:0}
.pan+.pan{border-left:1px solid #1c1c1c}
.tgrid .ph{font-family:var(--mono);font-size:11px;letter-spacing:1px;color:#e8c078;
           font-weight:700;margin-bottom:10px;display:flex;gap:9px;align-items:baseline}
.tgrid .ph span{color:#a8a8a8;letter-spacing:.3px;font-size:11px;font-weight:400}
.tgrid .foot{margin-top:9px;font-size:11px;color:#a8a8a8}

/* 지수 — 2열 */
.igrid2{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.ir{display:flex;align-items:baseline;gap:8px;padding:5px 0;min-width:0}
.ir .nm{color:#c0c0c0;font-size:12px;font-weight:700;letter-spacing:.4px;
        white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ir .pv{margin-left:auto;font-family:var(--mono);font-size:15px;font-weight:700;
        color:#fff;letter-spacing:-.3px;white-space:nowrap}
.ir .up,.ir .down,.ir .flat{font-family:var(--mono);font-size:11.5px;font-weight:700;
     min-width:56px;text-align:right}
.ir .as{font-family:var(--mono);font-size:10px;color:#a8a8a8;min-width:34px;text-align:right}

/* 원자재 펄스 */
.big{margin-bottom:12px}
.big .row{display:flex;align-items:baseline;padding:4px 0}
.big .row span{font-size:12.5px;color:#c0c0c0;font-weight:700;letter-spacing:.4px}
.big .row b{margin-left:auto;font-family:var(--mono);font-size:23px;font-weight:700;line-height:1.15}
.big .u b{color:#ff3b3b}.big .d b{color:#1aff66}
.big .f b{color:#e8e8e8}.big .t b{color:#fff}
.movers{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.mh{font-family:var(--mono);font-size:11px;font-weight:700;margin-bottom:6px;letter-spacing:.4px}
.movers ul{list-style:none;margin:0;padding:0}
.movers li{display:flex;gap:8px;align-items:baseline;padding:3px 0;font-size:12px;min-width:0}
.movers li span{color:#e8e8e8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.movers li b{margin-left:auto;font-family:var(--mono);font-size:11.5px;font-weight:700}

/* 오늘의 등락 */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}
.cellx{display:flex;align-items:baseline;gap:7px;padding:4px 8px;background:#141414;
       border:1px solid #1c1c1c;min-width:0}
.cellx b{flex:1;min-width:0;font-size:12px;font-weight:700;color:#fff;
         overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.2px}
.cellx span{flex:none;font-family:var(--mono);font-size:11.5px;color:#fff;font-weight:700}
.cellx.u1{background:#3d1214}.cellx.u2{background:#68171a}.cellx.u3{background:#9c1f23}
.cellx.d1{background:#0f2647}.cellx.d2{background:#153567}.cellx.d3{background:#1a4694}
.sub2{margin-top:9px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.ph2{grid-column:1/-1;font-family:var(--mono);font-size:11px;letter-spacing:1px;
     color:#e8c078;font-weight:700;margin-bottom:4px}
.sr{display:flex;align-items:baseline;gap:8px;padding:2px 0;font-size:11.5px;min-width:0}
.sr .lb{color:#e8e8e8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sr .n{margin-left:auto;font-family:var(--mono);font-size:10px;color:#a8a8a8}
.sr .up,.sr .down,.sr .flat,.sr .mono{font-family:var(--mono);font-size:11.5px;font-weight:700;
    min-width:56px;text-align:right;color:#e8e8e8}
.sr .mono i{font-style:normal}
.legend{margin-top:7px;font-size:10.5px;color:#a8a8a8}

@media(max-width:1480px){.tgrid{grid-template-columns:1fr 1fr}}
@media(max-width:1200px){.tgrid{grid-template-columns:1fr 1fr}
  .pan:nth-child(3){grid-column:1/-1;border-left:0;padding:14px 0 0;margin-top:12px;
                    border-top:1px solid #1c1c1c}}
@media(max-width:820px){.tgrid{grid-template-columns:1fr}
  .pan+.pan{border-left:0;border-top:1px solid #1c1c1c;padding:12px 0 0;margin-top:10px}
  .grid{grid-template-columns:repeat(2,1fr)}}

main{padding:22px 0 10px}

/* ── 1면 3단 ── */
.front3{display:grid;grid-template-columns:minmax(270px,21%) minmax(0,1fr) minmax(350px,27%);
        gap:0 30px;padding-bottom:22px;border-bottom:3px solid var(--rule)}
.colL{border-right:1px solid var(--line);padding-right:30px}
/* 섹션 지면의 추가 묶음 */
.secmore{margin-top:30px;padding-top:22px;border-top:3px solid var(--rule)}
.secmore .lh{margin-bottom:14px}
.secmore .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:0 26px}
@media(max-width:900px){.secmore .cards{grid-template-columns:1fr}}
.colR{border-left:1px solid var(--line);padding-left:30px}
.lh{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--navy);
    font-weight:700;padding-bottom:7px;margin-bottom:10px;border-bottom:2px solid var(--rule)}
.latest{list-style:none;margin:0 0 18px;padding:0}
.latest li{border-bottom:1px solid var(--line)}
.latest li.none{padding:8px 0;font-size:12.5px;color:var(--dim)}
.latest a{display:block;padding:7px 0}
.latest .s{display:inline-block;font-family:var(--mono);font-size:9px;font-weight:700;
           letter-spacing:.06em;color:#fff;background:var(--navy);padding:1px 5px;margin-bottom:4px}
.latest b{display:block;font-size:14.5px;font-weight:650;line-height:1.44;letter-spacing:-.3px}
.latest .d{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
            font-size:12.5px;color:var(--dim);line-height:1.55;margin:3px 0 4px}
.latest .t{font-family:var(--mono);font-size:10px;color:var(--dim)}
.card .sm{font-size:13.5px;color:#3a4048;line-height:1.55;margin:0 0 7px;font-weight:500}
.card .ex{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;
          font-size:13px;color:var(--dim);line-height:1.68;margin:0 0 8px;
          padding-top:8px;border-top:1px solid var(--line)}
.colR .readon{margin-top:0;border-top:0;padding-top:0}
.colR .card{padding-bottom:15px;margin-bottom:15px}
.latest a:hover b{color:var(--navy-lt,#1a6b85)}

.brief{border:1px solid var(--line);background:var(--card)}
.brief .bh{font-family:var(--mono);font-size:10px;letter-spacing:.12em;font-weight:700;
           color:#fff;background:var(--navy);padding:6px 10px}
.bl{display:flex;align-items:baseline;gap:8px;padding:7px 11px;border-bottom:1px solid var(--line);
    font-size:13px}
.bl:last-child{border-bottom:0}
.bl span{color:var(--dim)}
.bl .v{margin-left:auto;font-family:var(--mono);font-weight:700;font-size:12.5px;color:var(--ink)}
.bl .up,.bl .down,.bl .flat{margin-left:auto;font-family:var(--mono);font-size:12px;font-weight:700}
.bl .v+.up,.bl .v+.down,.bl .v+.flat{margin-left:8px}

.kick{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.12em;
      color:var(--navy);margin-bottom:10px;text-transform:uppercase}
.lead h1{font-size:42px;line-height:1.14;letter-spacing:-2.1px;margin:0 0 14px;font-weight:900;color:var(--ink)}
.lead .sf{font-size:17.5px;color:#3a4048;line-height:1.62;margin:0 0 15px}
.by{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--dim);flex-wrap:wrap;margin-top:13px}
.bn{font-weight:800;color:var(--ink);font-size:13px}
.aitag{font-family:var(--mono);font-size:9.5px;font-weight:700;color:#fff;background:var(--navy);padding:3px 7px}
.gd{font-family:var(--mono);font-size:9.5px;font-weight:700;background:var(--teal);color:#fff;padding:3px 7px}
/* 갈래 배지 — 분석은 붉은 테두리, 집중분석은 붉은 바탕 */
.edition .pub{display:block;margin-top:2px;font-family:var(--mono);font-size:10px;
               font-weight:400;color:var(--sub);letter-spacing:0}
.kd{display:inline-block;font-size:10px;font-weight:700;padding:2px 6px;margin-right:6px;
    border:1.5px solid #d42a2a;color:#d42a2a;letter-spacing:-.2px;vertical-align:middle}
.kd.ft{background:#d42a2a;border-color:#d42a2a;color:#fff;font-weight:800;letter-spacing:.04em}
.kd.sb{border-color:#d42a2a;color:#d42a2a;font-weight:800}
.kd.an{background:#d42a2a;color:#fff;font-weight:800}
figure.art{margin:24px 0;padding:0}
figure.art svg{display:block;width:100%;height:auto;background:#fff;border:1px solid var(--line)}
figure.art figcaption{margin-top:8px;font-size:13px;color:var(--sub);line-height:1.6}
.kd.dt{border-color:#b08a2e;color:#8a6a00}
.list li .kd,.latest .kd{font-size:9.5px;padding:1px 5px}
.srcbox{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--teal);
        padding:10px 13px;font-size:12px;color:#49505a;line-height:1.66}
.srcbox b{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:var(--navy);margin-right:5px}
.srcbox.big{margin:0 0 22px}
.srcbox ul{margin:4px 0 0;padding-left:16px}
.srcbox li{font-family:var(--mono);font-size:10.5px;word-break:break-all}
.disc{background:#fff7e8;border:1px solid #e8d6a8;color:#7a5c00;padding:10px 13px;
      margin:0 0 22px;font-size:12.5px;line-height:1.6}
.disc b{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;margin-right:6px}

/* 1면 톱기사 본문 */
.lead-bd{font-size:16.5px;line-height:1.8;margin-top:18px}
.lead-bd p{margin:0 0 17px}
.lead-bd h2{font-size:19px;margin:26px 0 10px;padding:0 0 0 11px;border-left:4px solid var(--teal);font-weight:800}
.lead-bd table{width:100%;min-width:100%;border-collapse:collapse;margin:0;font-size:14px}
.lead-bd th,.lead-bd td{border-bottom:1px solid var(--line);padding:7px 10px;text-align:left}
.lead-bd thead th{background:var(--navy);color:#fff;border-bottom:0;font-family:var(--mono);
                  font-size:11px;letter-spacing:.05em;white-space:nowrap}
.lead-bd td:not(:first-child),.lead-bd th:not(:first-child){text-align:right;font-family:var(--mono);font-size:13px}
.lead-bd tbody tr:nth-child(even){background:var(--card)}
.lead-bd .chart{margin:0 0 20px}
.readon{display:inline-flex;align-items:center;gap:8px;margin-top:4px;padding:8px 0 0;
        border-top:1px solid var(--line);width:100%;
        font-size:13.5px;font-weight:700;color:var(--navy);font-family:var(--sans)}
.readon i{font-style:normal}
.readon em{margin-left:auto;font-style:normal;font-weight:400;font-size:11.5px;
           color:var(--dim);font-family:var(--mono)}
.readon:hover{color:var(--teal)}
.readon.sm{font-size:12.5px;margin-top:2px}
.lead .dek{font-size:17px;color:#3a4048;line-height:1.6;margin:0 0 12px}

/* 중앙단 2보·3보 */
.mids{margin-top:26px;padding-top:22px;border-top:3px solid var(--rule);
      display:grid;grid-template-columns:1fr 1fr;gap:0 26px}
.mid+.mid{border-left:1px solid var(--line);padding-left:26px}
.mid h2{font-size:22px;line-height:1.32;letter-spacing:-.8px;margin:8px 0 8px;font-weight:850}
.mid .sf{font-size:14px;color:var(--dim);line-height:1.6;margin:0 0 10px}
.mid-bd{font-size:14.5px;line-height:1.7;color:#3a4048}
.mid-bd p{margin:0 0 12px}

.card{padding:0 0 11px;margin-bottom:11px;border-bottom:1px solid var(--line)}
.card:last-child{border-bottom:0;margin-bottom:0}
.k{display:inline-block;font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.1em;
   color:#fff;background:var(--navy);padding:2px 6px;margin-bottom:8px}
.k.pr{background:var(--gold-bg);color:var(--gold);border:1px solid var(--gold-line)}
.card h3{font-size:18.5px;line-height:1.38;margin:0 0 6px;letter-spacing:-.55px;font-weight:800}
.card p{margin:0;font-size:13.8px;color:var(--dim);line-height:1.58}
.card .m{font-family:var(--mono);font-size:10px;color:var(--dim);margin-top:7px}

.desks{display:grid;grid-template-columns:repeat(4,1fr);gap:0 22px;padding-top:18px}
.desks .d{padding-bottom:18px}
.desks .d:not(:nth-child(4n+1)){border-left:1px solid var(--line);padding-left:22px}
.desks .d:nth-child(n+5){border-top:1px solid var(--line);padding-top:18px}
.desks h2{font-size:15.5px;margin:0 0 3px;font-weight:900;letter-spacing:-.5px;
          padding-left:9px;border-left:4px solid var(--teal)}
.desks .sub{font-size:10.5px;color:var(--dim);margin:0 0 8px;padding:0 0 7px 13px;border-bottom:2px solid var(--rule)}
.desks article{padding:7px 0;border-bottom:1px solid var(--line)}
.desks h4{font-size:14.5px;margin:0 0 3px;line-height:1.4;font-weight:700;letter-spacing:-.35px}
.desks .m{font-family:var(--mono);font-size:10px;color:var(--dim)}
.desks .empty{font-size:12.5px;color:var(--dim);margin:0}

.press{border-top:3px double var(--rule);margin-top:6px;padding-top:18px}
.press .note{font-size:12.5px;color:var(--gold);background:var(--gold-bg);
             border:1px solid var(--gold-line);padding:10px 13px;margin-bottom:14px}
.press .list{display:grid;grid-template-columns:repeat(4,1fr);gap:0 22px}
.press article+article{border-left:1px solid var(--line);padding-left:24px}
.press h4{font-size:15.5px;margin:0 0 5px;line-height:1.42;font-weight:700}
.press p{margin:0;font-family:var(--mono);font-size:10.5px;color:var(--dim)}
.pr-notice{background:var(--gold-bg);border:1px solid var(--gold-line);color:var(--gold);
           padding:13px 15px;margin:0 0 22px;font-size:14px;line-height:1.6}
.pr-notice strong{display:block;margin-bottom:3px}

.pt{font-size:36px;font-weight:900;letter-spacing:-1.7px;margin:4px 0 4px}
.pd{color:var(--dim);font-size:13.5px;margin:0 0 20px;padding-bottom:12px;border-bottom:3px solid var(--rule)}
.cards{max-width:820px}

/* ── 기사 ── */
.article{max-width:780px;margin:0 auto}
.article header{padding-bottom:18px;margin-bottom:22px;border-bottom:3px solid var(--rule)}
.article h1{font-size:37px;line-height:1.2;letter-spacing:-1.8px;margin:9px 0 12px;font-weight:900;color:var(--ink)}
.article .sub{font-size:17px;color:#3a4048;margin:0;line-height:1.64}
.bd{font-size:17px;line-height:1.84}
.bd h2{font-size:21px;margin:34px 0 12px;letter-spacing:-.6px;font-weight:800;
       padding:0 0 0 12px;border-left:5px solid var(--teal)}
.bd h3{font-size:18px;margin:26px 0 10px;font-weight:750}
.bd p{margin:0 0 19px}
.bd ul,.bd ol{margin:0 0 19px;padding-left:22px}
.bd li{margin-bottom:8px}
/* 인용 — 남의 말임이 한눈에 보여야 한다 */
.bd blockquote,.lead-bd blockquote{margin:20px 0;padding:15px 18px;background:#f4f6f8;
    border-left:4px solid var(--navy);color:var(--ink);font-size:16px;line-height:1.75}
.bd blockquote p,.lead-bd blockquote p{margin:0 0 9px}
.bd blockquote p:last-child,.lead-bd blockquote p:last-child{margin:0;font-size:13px;
    color:var(--sub);font-family:var(--mono)}
.bd code{background:var(--soft);padding:2px 6px;font-family:var(--mono);font-size:.86em}
.bd table{width:100%;min-width:100%;border-collapse:collapse;margin:0;font-size:15px}
.tw{overflow-x:auto;margin:0 0 24px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.lead-bd .tw{margin:0 0 18px}
.bd th:first-child,.bd td:first-child,.lead-bd th:first-child,.lead-bd td:first-child{width:100%}
.bd tr:last-child td,.lead-bd tr:last-child td{border-bottom:0}
.bd th,.bd td{border-bottom:1px solid var(--line);padding:9px 12px;text-align:left}
.bd thead th{background:var(--navy);color:#fff;border-bottom:0;font-weight:700;white-space:nowrap;
             font-family:var(--mono);font-size:11.5px;letter-spacing:.05em}
.bd td:not(:first-child),.bd th:not(:first-child){text-align:right;font-family:var(--mono);font-size:13.5px}
.bd tbody tr:nth-child(even){background:var(--card)}

/* ── 차트 ── */
.chart{margin:0 0 26px;border:1px solid var(--line);background:var(--card);padding:12px 14px 6px}
.chart figcaption{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-bottom:6px;
                  font-size:12.5px;color:var(--dim)}
.chart figcaption b{font-size:14px;color:var(--ink);font-weight:800}
.chart .unit{font-family:var(--mono);font-size:10.5px}
.chart .chg{font-family:var(--mono);font-size:12px;font-weight:700}
.chart .chg.up{color:var(--up)}.chart .chg.down{color:var(--down)}
.chart .rangelabel{margin-left:auto;font-family:var(--mono);font-size:10px}
.chart svg{width:100%;height:auto;display:block}
.chart .line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.chart .axis{stroke:var(--line);stroke-width:1}
.chart .cx{font-family:var(--mono);font-size:9px;fill:var(--dim);text-anchor:middle}
.chart .cy{font-family:var(--mono);font-size:9px;fill:var(--dim);text-anchor:end;dominant-baseline:middle}
.chart.missing{padding:14px;font-size:12.5px;color:var(--dim);font-family:var(--mono)}

.tags{margin:30px 0 0;padding-top:16px;border-top:1px solid var(--line)}
.tags span{display:inline-block;background:var(--soft);padding:3px 10px;margin:0 6px 6px 0;
           font-size:12px;color:var(--dim)}
.more{margin-top:36px;padding-top:18px;border-top:3px solid var(--rule)}
.more h2{font-size:13px;margin:0 0 10px;color:var(--dim);font-weight:700;
         font-family:var(--mono);letter-spacing:.1em}
.more article{padding:9px 0;border-bottom:1px solid var(--line)}
.more h4{font-size:16px;margin:0;font-weight:700;line-height:1.4}

footer{background:var(--navy);color:#c6dae0;margin-top:42px;padding:26px 0 46px;
       font-size:12.5px;line-height:1.9}
footer b{color:#fff;font-weight:650}
footer .fm{font-size:23px;font-weight:900;color:#fff;letter-spacing:-1.2px;margin-bottom:12px}
footer .fm em{font-style:normal;color:var(--teal-lt)}
footer .g{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 26px;margin-bottom:14px}
footer .ai{padding-top:12px;margin-top:10px;border-top:1px solid rgba(255,255,255,.18);color:#bcd2d9}
footer .cp{margin-top:12px;font-size:11.5px;color:#a6c0c9}

@media(max-width:980px){
  .tgrid{grid-template-columns:1fr;gap:16px 0}
  .heat .grid{grid-template-columns:repeat(2,1fr)}
  .front,.desks,.press .list{grid-template-columns:1fr}
  .desks .d:nth-child(n){border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:16px}
  .press article+article{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:14px;margin-top:14px}
  .title strong{font-size:46px;letter-spacing:-2.4px}
  .mast .wrap{flex-direction:column;align-items:flex-start;gap:9px}
  .title{flex:none}
  .lead h1{font-size:29px}.article h1{font-size:27px}.pt{font-size:27px}
  .mast .desc,.mast .edition{display:none}
  .bd{font-size:16.5px}
}

/* 원화 환산 가격표 */
.ktab{margin-top:8px;max-height:214px;overflow-y:auto;border-top:1px solid #1c1c1c}
.ktab::-webkit-scrollbar{width:6px}
.ktab::-webkit-scrollbar-thumb{background:#2a2a2a}
.ktab table{width:100%;border-collapse:collapse}
.ktab th{position:sticky;top:0;background:#0a0a0a;font-family:var(--mono);font-size:9.5px;
         font-weight:700;letter-spacing:.06em;color:#c0c0c0;text-align:right;padding:5px 4px;
         border-bottom:1px solid #1c1c1c;white-space:nowrap}
.ktab th:first-child{text-align:left}
.ktab td{font-size:11.5px;color:#e8e8e8;padding:3px 4px;text-align:right;white-space:nowrap;
         border-bottom:1px solid #141414}
.ktab td:first-child{text-align:left;color:#a8a8a8;max-width:120px;overflow:hidden;
                     text-overflow:ellipsis}
.ktab td.won{font-family:var(--mono)}
.ktab td.up{color:#ff3b3b}
.ktab td.down{color:#1aff66}
.ktab td.flat{color:#9a9a9a}
.ktab td.un{font-family:var(--mono);font-size:9.5px;color:#7a7a7a;text-align:left}
.ktab th:nth-child(2){text-align:left}
.ktab tr.sec td{color:#e8c078;font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;
                background:#0d0d0d;padding-top:6px}

/* 분야별 등록 기사 */
footer .tally{padding-top:14px;margin-top:12px;border-top:1px solid rgba(255,255,255,.18)}
footer .tally .th{font-size:12.5px;color:#bcd2d9;margin-bottom:10px}
footer .tally .th b{color:#fff}
footer .tally .tg{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));
                  gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14)}
footer .tally .tg div{background:var(--navy);padding:9px 11px}
footer .tally .tg b{display:block;font-family:var(--mono);font-size:19px;font-weight:700;color:#fff;
                    line-height:1.1}
footer .tally .tg span{display:block;font-size:11.5px;color:#cadde3;margin-top:3px}
footer .tally .tg i{display:block;font-style:normal;font-family:var(--mono);font-size:10px;
                    color:#8fd5ce;margin-top:1px}
footer .tally .tg .sum{grid-column:1/-1;background:#fff;color:var(--ink)}
footer .tally .tg .sum b{color:var(--ink);font-size:30px}
footer .tally .tg .sum span{color:#4a5560;font-size:12.5px}
footer .tally .tg .sum i{color:#0f6b63}
footer .tally .tg .dt b{color:#e8c078}
footer .tally .tg .dt i{color:#c9a45a}

/* 데이터를 읽는 법 */
footer .rg{margin-top:14px;padding-top:13px;border-top:1px solid rgba(255,255,255,.18)}
footer .rg summary{cursor:pointer;font-size:12.5px;font-weight:700;color:#fff;list-style:none}
footer .rg summary::-webkit-details-marker{display:none}
footer .rg summary::before{content:"＋ ";color:var(--teal-lt,#1fb3a6)}
footer .rg[open] summary::before{content:"− "}
footer .rg ul{margin:11px 0 0;padding-left:0;list-style:none;
              display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:9px 26px}
footer .rg li{font-size:12px;line-height:1.72;color:#bcd2d9}
footer .rg li b{display:block;color:#fff}

/* ── 지표판 축소형 (기사 지면) ── */
.term.compact{padding:12px 0 0}
.term.compact .ph{max-width:1680px;margin:0 auto 9px;padding:0 24px;
    font-family:var(--mono);font-size:11px;letter-spacing:1px;color:#e8c078;font-weight:700}
.term.compact .ph span{color:#a8a8a8;letter-spacing:.3px;font-weight:400}
.cbgrid{max-width:1680px;margin:0 auto;padding:0 24px;display:grid;
    grid-template-columns:repeat(6,1fr);gap:2px;background:#000;border:1px solid #000}
.cbgrid .cb{padding:7px 11px;display:flex;align-items:baseline;
    gap:7px;white-space:nowrap;overflow:hidden;border-left:3px solid transparent}
/* 바탕색이 묶음을 뜻한다 — .cbgrid 를 앞에 둬야 특이도가 밀리지 않는다 */
.cbgrid .g-fx{background:#113036;border-left-color:#2fd9c9}
.cbgrid .g-kr{background:#331a28;border-left-color:#ff6fae}
.cbgrid .g-cn{background:#3a191c;border-left-color:#ff5a5a}
.cbgrid .g-as{background:#17331f;border-left-color:#59d47c}
.cbgrid .g-we{background:#16233f;border-left-color:#6fa3ff}
.cbgrid .g-cm{background:#372d16;border-left-color:#ffd27a}
.cblg .g-fx{border-left-color:#2fd9c9}
.cblg .g-kr{border-left-color:#ff6fae}
.cblg .g-cn{border-left-color:#ff5a5a}
.cblg .g-as{border-left-color:#59d47c}
.cblg .g-we{border-left-color:#6fa3ff}
.cblg .g-cm{border-left-color:#ffd27a}
.cblg{max-width:1680px;margin:8px auto 0;padding:0 24px;display:flex;flex-wrap:wrap;gap:0 6px}
.cblg .lg{font-family:var(--mono);font-size:10px;color:#9aa6b2;padding:2px 9px;
    border-left:3px solid transparent}
.cbgrid .n{color:#9aa6b2;font-size:11px;font-weight:700;letter-spacing:.2px;
    flex:none;min-width:52px}
.cbgrid .v{font-family:var(--mono);font-size:14px;font-weight:700;color:#fff;
    margin-left:auto}
.cbgrid .up,.cbgrid .down,.cbgrid .flat{font-family:var(--mono);font-size:11.5px;
    font-weight:700;flex:none;min-width:54px;text-align:right}
.cbgrid .cb i{font-style:normal;font-family:var(--mono);font-size:9px;color:#5b6672;
    flex:none}
@media(max-width:1400px){.cbgrid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1000px){.cbgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.cbgrid{grid-template-columns:repeat(2,1fr)}}
.tmore{margin-top:10px;border-top:1px solid #1c222b;padding:9px 16px;text-align:center}
.tmore a{font-family:var(--mono);font-size:11.5px;font-weight:700;color:#8fd5ce;
         letter-spacing:.03em}
.tmore a i{font-style:normal;margin-left:5px}
.tmore a:hover{color:#fff}

/* ── 시세 지면 ── */
.msec{margin-top:34px;padding-top:22px;border-top:3px solid var(--rule)}
.msec h2{font-size:20px;font-weight:800;letter-spacing:-.5px;margin:0 0 4px}
.msec h2 span{font-family:var(--mono);font-size:12px;font-weight:400;color:var(--sub);
              margin-left:8px;letter-spacing:0}
.mcharts{display:grid;grid-template-columns:repeat(2,1fr);gap:22px 26px;margin-top:18px}
.mch{margin:0;border:1px solid var(--line);padding:12px 14px 8px;background:#fff}
.mch figcaption{font-size:13.5px;font-weight:700;color:var(--ink);margin-bottom:6px}
.mch figcaption span{font-family:var(--mono);font-size:10.5px;font-weight:400;color:var(--sub)}
.mch svg{display:block;width:100%;height:auto}
@media(max-width:900px){.mcharts{grid-template-columns:1fr}}

/* 표에서 뽑은 막대그래프 */
.tbar{margin:-6px 0 22px;padding:14px 16px 8px;border:1px solid var(--line);
      border-top:0;background:#fbfcfd}
.tbar svg{display:block;width:100%;height:auto}
@media(max-width:640px){.tbar{padding:10px 10px 6px}}

/* 지면 삽화 */
.secart{margin:0 0 26px}
.secart svg{display:block;width:100%;height:auto;aspect-ratio:720/200;
            border:1px solid var(--line)}
.secart figcaption{margin-top:7px;font-size:12.5px;color:var(--sub)}
.article .secart{margin:0 0 22px}

/* 지면 맨 위 추이 띠 */
.spks{max-width:1680px;margin:10px auto 0;padding:0 24px;display:grid;
      grid-template-columns:repeat(4,1fr);gap:2px;background:#000;border:1px solid #000}
.spkh{grid-column:1/-1;background:#0d1116;padding:5px 11px;font-family:var(--mono);
      font-size:10px;font-weight:700;letter-spacing:.1em;color:#e8c078}
.spk{background:#0d1116;padding:5px 11px;display:flex;align-items:center;gap:9px}
.spk .sn{font-size:11px;font-weight:700;color:#9aa6b2;flex:none;min-width:52px;
         white-space:nowrap}
.spk svg{flex:1;min-width:0;height:26px}
.spk .sv{font-family:var(--mono);font-size:11.5px;font-weight:700;flex:none;
         min-width:52px;text-align:right}
@media(max-width:1000px){.spks{grid-template-columns:repeat(2,1fr)}}
