/* ATS View — 신문 1면. 명조 제목·괘선 단 나눔·붉은 인쇄색 하나. 전환·등장 애니메이션은 넣지 않는다. */

/* optional: 0.1초 안에 오면 쓰고, 늦으면 그 페이지는 기본 글꼴로 끝까지 — 도착 순간 제목 줄바꿈이 바뀌어 화면이 밀리는 것을 막는다
   (2026-09-14 측정: swap 일 때 첫 방문 CLS 0.19, 큰 톱기사 제목이 2줄→3줄로 바뀌며 아래가 통째로 밀림) */
@font-face{font-family:"Pretendard";font-weight:400;font-style:normal;font-display:optional;src:url(/static/fonts/Pretendard-Regular.subset.woff2) format("woff2")}
@font-face{font-family:"Pretendard";font-weight:700;font-style:normal;font-display:optional;src:url(/static/fonts/Pretendard-Bold.subset.woff2) format("woff2")}
@font-face{font-family:"ATS Serif";font-weight:700;font-style:normal;font-display:optional;src:url(/static/fonts/NotoSerifKR-Bold.subset.woff2) format("woff2")}
@font-face{font-family:"ATS Masthead";font-weight:900;font-style:normal;font-display:block;src:url(/static/fonts/NotoSerifKR-Black.latin.woff2) format("woff2")}

:root{
  --paper:#f6f2e9;--sheet:#fbf8f1;--well:#ede7da;
  --ink:#17140f;--ink-2:#4b453a;--ink-3:#877f71;
  --rule:#17140f;--hair:#d8d0bf;--hair-2:#e6dfd0;
  --red:#b3261e;--red-soft:#f3e0da;--blue:#1d4f8f;--blue-soft:#e1e8f1;--ochre:#8d5b0f;--ochre-soft:#f1e6d0;
  --bar:#a39a88;--bar-now:#b3261e;
  --c-contract:#1d6a3a;--c-bio:#5a3e98;--c-tech:#1d4f8f;--c-equity:#8d5b0f;--c-earnings:#9a2a61;--c-report:#4b453a;--c-risk:#b3261e;--c-etc:#5c6877;
  --c-contract-bg:#dfeee3;--c-bio-bg:#e9e3f4;--c-tech-bg:#dfe8f3;--c-equity-bg:#f1e5cf;--c-earnings-bg:#f3e0ea;--c-report-bg:#e7e2d7;--c-risk-bg:#f5dedb;--c-etc-bg:#e3e7eb;
  --accent-bar:#6a8bb3;--panel:#fbf8f1;
  --serif:"ATS Serif","Noto Serif KR","AppleMyungjo","Batang","BatangChe",serif;
  --sans:"Pretendard",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",sans-serif;
  --pop:0 10px 30px rgba(23,20,15,.16);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#12110f;--sheet:#191815;--well:#23211d;
  --ink:#ece6da;--ink-2:#bab2a2;--ink-3:#807969;
  --rule:#ece6da;--hair:#35312a;--hair-2:#28251f;
  --red:#ff7b6b;--red-soft:#3a1f1a;--blue:#90b5ff;--blue-soft:#1c2636;--ochre:#e2b35e;--ochre-soft:#33291a;
  --bar:#5d574c;--bar-now:#ff7b6b;
  --c-contract:#6fcf8f;--c-bio:#bba7ff;--c-tech:#90b5ff;--c-equity:#e2b35e;--c-earnings:#f38cc0;--c-report:#c9c1b1;--c-risk:#ff7b6b;--c-etc:#a3aebb;
  --c-contract-bg:rgba(111,207,143,.14);--c-bio-bg:rgba(187,167,255,.15);--c-tech-bg:rgba(144,181,255,.15);--c-equity-bg:rgba(226,179,94,.15);--c-earnings-bg:rgba(243,140,192,.15);--c-report-bg:rgba(201,193,177,.12);--c-risk-bg:rgba(255,123,107,.15);--c-etc-bg:rgba(163,174,187,.13);
  --accent-bar:#6f93c9;--panel:#1a1916;
  --pop:0 14px 36px rgba(0,0,0,.55);
  color-scheme:dark;
}}
:root[data-theme="dark"]{
  --paper:#12110f;--sheet:#191815;--well:#23211d;
  --ink:#ece6da;--ink-2:#bab2a2;--ink-3:#807969;
  --rule:#ece6da;--hair:#35312a;--hair-2:#28251f;
  --red:#ff7b6b;--red-soft:#3a1f1a;--blue:#90b5ff;--blue-soft:#1c2636;--ochre:#e2b35e;--ochre-soft:#33291a;
  --bar:#5d574c;--bar-now:#ff7b6b;
  --c-contract:#6fcf8f;--c-bio:#bba7ff;--c-tech:#90b5ff;--c-equity:#e2b35e;--c-earnings:#f38cc0;--c-report:#c9c1b1;--c-risk:#ff7b6b;--c-etc:#a3aebb;
  --c-contract-bg:rgba(111,207,143,.14);--c-bio-bg:rgba(187,167,255,.15);--c-tech-bg:rgba(144,181,255,.15);--c-equity-bg:rgba(226,179,94,.15);--c-earnings-bg:rgba(243,140,192,.15);--c-report-bg:rgba(201,193,177,.12);--c-risk-bg:rgba(255,123,107,.15);--c-etc-bg:rgba(163,174,187,.13);
  --accent-bar:#6f93c9;--panel:#1a1916;
  --pop:0 14px 36px rgba(0,0,0,.55);
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 var(--sans);word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
h1,h2,h3,p,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
small{font-size:.8em;font-weight:400;color:var(--ink-3)}
:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.wrap{width:100%;max-width:1260px;margin:0 auto;padding:0 24px}
@media (max-width:560px){.wrap{padding:0 16px}}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ink);color:var(--paper);padding:8px 14px}
.skip:focus{left:8px}
.ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.serif{font-family:var(--serif);font-weight:700}

/* ---- 제호·메뉴 ---- */
.mast{background:var(--paper);position:relative;z-index:40}
.mast-strip{display:flex;justify-content:space-between;gap:8px 20px;flex-wrap:wrap;padding-top:10px;padding-bottom:8px;font-size:12.5px;color:var(--ink-2);background:linear-gradient(var(--hair),var(--hair)) center bottom/calc(100% - 48px) 1px no-repeat}
@media (max-width:560px){.mast-strip{background-size:calc(100% - 32px) 1px}}
.mast-strip b{color:var(--ink);font-weight:700}
.mast-brand{text-align:center;padding-top:18px;padding-bottom:14px}
.mast-h1{margin:0;font-weight:400}
.wordmark{display:block;font:900 clamp(44px,6.4vw,82px)/1 "ATS Masthead",var(--serif);letter-spacing:-.02em;color:var(--ink);height:clamp(44px,6.4vw,82px);overflow:visible}
.mast-tag{display:block;margin-top:10px;font:700 13px/1.4 var(--sans);letter-spacing:.32em;padding-left:.32em;color:var(--ink-2)}
.gnb{background:var(--paper);border-top:3px solid var(--rule);border-bottom:1px solid var(--rule);box-shadow:inset 0 2px 0 var(--paper),inset 0 3px 0 var(--rule)}
@media (min-width:900px){.gnb{position:sticky;top:0;z-index:40}}
.front-mast .gnb{position:relative}
@media (min-width:900px){.front-mast{position:static}.front-mast .gnb{position:sticky;top:0}}
.gnb-row{display:flex;align-items:center;gap:6px 18px;min-height:52px;padding-top:3px}
.gnb-brand{display:block;height:25px;font:900 25px/1 "ATS Masthead",var(--serif);letter-spacing:-.02em;white-space:nowrap;margin-right:6px}
.gnb-links{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;min-width:0}
.gnb-links::-webkit-scrollbar{display:none}
.gnb-links a{position:relative;padding:14px 11px;font-size:15px;font-weight:700;color:var(--ink-2);white-space:nowrap}
.gnb-links a:hover{color:var(--ink)}
.gnb-links a[aria-current="page"]{color:var(--ink)}
.gnb-links a[aria-current="page"]::after{content:"";position:absolute;left:11px;right:11px;bottom:9px;height:2px;background:var(--red)}
.front-mast .gnb-row{justify-content:center}
/* 메뉴가 11개라 좁은 데스크톱에선 간격을 줄여 끝까지 보이게 */
/* 첫 방문(웹폰트 전 대체 글꼴이 더 넓음)에도 넘치지 않게 넓은 화면도 간격을 좁힌다 */
@media (min-width:900px){
  .gnb-links a{padding-left:7px;padding-right:7px;font-size:14.5px}
  .gnb-links a[aria-current="page"]::after{left:7px;right:7px}
  .gnb-row .sch{width:170px}
}
@media (min-width:900px) and (max-width:1199px){
  .gnb-links a{padding-left:5px;padding-right:5px;font-size:14px}
  .gnb-row .sch{width:140px}
}
.sch{position:relative;display:flex;align-items:center;margin-left:auto;width:230px;flex:none}
.sch-ic{position:absolute;left:2px;color:var(--ink-3);pointer-events:none;width:17px;height:17px}
.sch input{width:100%;height:36px;padding:0 30px 0 26px;border:0;border-bottom:1px solid var(--hair);border-radius:0;background:transparent;color:var(--ink);font:inherit;font-size:14.5px;appearance:none}
.sch input::placeholder{color:var(--ink-3)}
.sch input:focus{outline:none;border-bottom-color:var(--ink)}
.sch input::-webkit-search-cancel-button{display:none}
.sch kbd{position:absolute;right:0;font:700 11px/1 var(--sans);color:var(--ink-3);border:1px solid var(--hair);padding:3px 5px}
.sch input:focus~kbd{display:none}
.sch-list{position:absolute;top:calc(100% + 8px);left:-12px;right:-12px;min-width:300px;background:var(--sheet);border:1px solid var(--rule);box-shadow:var(--pop);padding:4px;max-height:380px;overflow:auto;z-index:60}
.sch-list li{display:flex;align-items:center;gap:10px;padding:9px 10px;cursor:pointer}
.sch-list li[aria-selected="true"]{background:var(--well)}
.sch-list .nm{font-family:var(--serif);font-weight:700;font-size:15.5px;flex:1;min-width:0}
.sch-list .nm mark{background:none;color:var(--red)}
.sch-list .cd{font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.sch-list .mk{font-size:11.5px;color:var(--ink-2);border:1px solid var(--hair);padding:0 5px}
.sch-list .none{color:var(--ink-3);cursor:default}
.gnb-tools{display:flex;align-items:center;gap:4px;flex:none}
.ibtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;min-width:36px;padding:0 8px;border:0;background:none;color:var(--ink-2);font-size:14px;font-weight:700;cursor:pointer}
.ibtn:hover{color:var(--ink)}
.i-sun{display:none}
:root[data-theme="dark"] .i-sun{display:block}:root[data-theme="dark"] .i-moon{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .i-sun{display:block}:root:not([data-theme="light"]) .i-moon{display:none}}
@media (max-width:899px){
  .gnb-row{flex-wrap:wrap;padding-top:6px;padding-bottom:6px;gap:0 10px}
  .gnb-brand{order:1;font-size:23px;height:41px;padding:8px 0}
  .gnb-tools{order:2;margin-left:auto}
  .gnb-links{order:3;flex-basis:100%;margin:0 -8px;border-top:1px solid var(--hair-2)}
  .gnb-links a{padding:11px 8px;font-size:14.5px}
  .gnb-links a[aria-current="page"]::after{left:8px;right:8px;bottom:6px}
  .sch{order:4;flex:1 1 100%;width:auto;margin:2px 0 6px}
  .sch kbd{display:none}
  .front-mast .gnb-tools{order:5;margin-left:8px}
  .front-mast .sch{order:4;flex:1 1 0}
  .front-mast .gnb-links{border-top:0}
  .mast-strip{font-size:12px;justify-content:center;text-align:center}
  .mast-strip .strip-meta{display:none}
  .mast-tag{letter-spacing:.3em;padding-left:.3em;font-size:12px}
  html[lang="en"] .mast-tag{letter-spacing:.12em;padding-left:.12em}
}
/* 영문 회사명은 길어서 줄임표 대신 줄바꿈 */
html[lang="en"] .rk-name{white-space:normal;overflow:visible}

/* ---- 본문 틀 ---- */
main.wrap{padding-bottom:64px;min-height:60vh}
.ph{padding:26px 0 18px;margin-bottom:22px;border-bottom:1px solid var(--rule)}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:12.5px;font-weight:700;color:var(--ink-3);margin-bottom:10px;letter-spacing:.02em}
.crumbs a:hover{color:var(--ink)}
.crumbs [aria-current]{color:var(--red)}
.ph-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 28px}
.ph-main{min-width:0;flex:1 1 460px}
.ph h1{font:700 clamp(28px,3.3vw,42px)/1.22 var(--serif);letter-spacing:-.03em}
.ph h1 .h1-sub{font-size:.5em;color:var(--ink-2);margin-left:10px;letter-spacing:-.02em;vertical-align:.18em}
.ph h1 .code{font:700 .45em var(--sans);color:var(--ink-3);letter-spacing:0;margin-left:10px;font-variant-numeric:tabular-nums;vertical-align:.25em}
.ph h1 .mk{display:inline-block;font:700 12.5px/1.6 var(--sans);color:var(--ink-2);border:1px solid var(--hair);padding:0 6px;margin-left:8px;vertical-align:.55em;letter-spacing:0}
.ph-sub{margin-top:10px;color:var(--ink-2);font-size:16px;line-height:1.7;max-width:820px}
.ph-btns{display:flex;flex-wrap:wrap;gap:8px}
.layout{display:grid;gap:32px;align-items:start}
@media (min-width:1024px){
  .layout{grid-template-columns:minmax(0,1fr) 340px;gap:0}
  .layout>.main{padding-right:28px}
  .layout>.rail{padding-left:28px;border-left:1px solid var(--hair);align-self:stretch}
}
.main,.rail{display:grid;gap:36px;min-width:0;align-content:start}
@media (max-width:1023px){
  .layout.reorder>.main,.layout.reorder>.rail{display:contents}
  .o-1{order:1}.o-2{order:2}.o-3{order:3}.o-4{order:4}.o-5{order:5}.o-6{order:6}.o-7{order:7}.o-8{order:8}.o-9{order:9}
  .layout.reorder>.rail>.ad{order:5}
  .layout.reorder>.rail>.cta{order:9}
}
.note{font-size:12.5px;color:var(--ink-3);margin-top:10px}

/* ---- 지면(섹션) ---- */
.card{position:relative;border-top:3px solid var(--rule);padding-top:10px;min-width:0}
.card::before{content:"";position:absolute;top:-3px;left:0;width:64px;height:3px;background:var(--red)}
/* 곁단은 옅은 종이색 칸으로 본문과 구분 */
.rail>.card,.front-rank>.card{background:var(--panel);padding:12px 16px 14px;box-shadow:0 0 0 1px var(--hair-2)}
.rail>.card .card-h,.front-rank>.card .card-h{border-bottom-color:var(--hair)}
.card-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:8px;margin-bottom:6px;border-bottom:1px solid var(--hair)}
.card-h h2{font:700 19px/1.35 var(--serif);letter-spacing:-.02em}
.card-h h2 small{margin-left:6px;font-family:var(--sans);font-size:12.5px}
.more,.card-more{display:inline-flex;align-items:center;gap:1px;font-size:13px;font-weight:700;color:var(--ink-3);white-space:nowrap}
.more:hover,.card-more:hover{color:var(--red)}
.more .ic,.card-more .ic{width:14px;height:14px}
.card-more{margin-top:10px}
.empty{color:var(--ink-3);font-size:14px;padding:12px 0}

/* ---- 지표 띠 ---- */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:-8px 0 26px;border-bottom:1px solid var(--hair)}
.stat{padding:4px 18px 14px;border-left:1px solid var(--hair);min-width:0}
.stat:first-child{border-left:0;padding-left:0}
.stat-l{display:block;font-size:12.5px;color:var(--ink-3);font-weight:700;letter-spacing:.02em}
.stat-v{display:block;margin-top:2px;font:700 28px/1.2 var(--serif);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stat-v small{font:700 14px var(--sans);margin-left:2px;color:var(--ink-2)}
.stat-v a:hover{color:var(--red)}
.stat-s{display:block;margin-top:2px;font-size:12.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stat-s a{color:var(--red);font-weight:700}
@media (max-width:860px){
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat:nth-child(odd){border-left:0;padding-left:0}
  .stat:nth-child(n+3){border-top:1px solid var(--hair-2);padding-top:10px}
  .stat-v{font-size:24px}
}
.summary{margin:0 0 30px;padding:14px 20px;background:var(--panel);border-left:4px solid var(--red);box-shadow:0 0 0 1px var(--hair-2);font-size:16.5px;line-height:1.85;color:var(--ink)}

/* ---- 탭 ---- */
.tablist{display:flex;gap:2px 16px;overflow-x:auto;scrollbar-width:none;margin:0 0 6px;border-bottom:1px solid var(--hair-2)}
.tablist::-webkit-scrollbar{display:none}
@media (min-width:720px){.tablist{flex-wrap:wrap;overflow:visible}}
.tab{position:relative;display:inline-flex;align-items:baseline;gap:4px;flex:none;padding:9px 0 10px;border:0;background:none;color:var(--ink-3);font-size:14px;font-weight:700;white-space:nowrap;cursor:pointer}
.tab:hover{color:var(--ink)}
.tab[aria-selected="true"],.tab[aria-current="page"],.tab[aria-pressed="true"]{color:var(--ink)}
.tab[aria-selected="true"]::after,.tab[aria-current="page"]::after,.tab[aria-pressed="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--red)}
.tab .cnt{font-size:12px;font-weight:400;color:var(--ink-3);font-variant-numeric:tabular-nums}
.ph+.tablist{margin-top:-8px;margin-bottom:6px}
.ph+.tablist+.note{margin:0 0 20px}
.ph+.tablist+.stats,.ph+.tablist+.layout{margin-top:22px}
.filters{display:grid;gap:0;margin-bottom:8px}

/* ---- 기사 목록 ---- */
.nl>li{border-top:1px solid var(--hair-2)}
.nl>li:first-child{border-top:0}
.ni{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;padding:13px 0}
.ni-t{font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums;padding-top:3px;line-height:1.4;font-weight:700}
.ni-t .d{display:block;font-size:11px;font-weight:400}
.ni-title{display:block;font:700 17px/1.48 var(--serif);letter-spacing:-.02em;color:var(--ink)}
.ni-title:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.ni-title:visited{color:var(--ink-2)}
.ni-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 10px;margin-top:5px;font-size:12.5px;color:var(--ink-3)}
.more-n{font-size:12px;color:var(--ink-3)}
/* 같은 소식 펼치기 */
.also{margin-top:6px;font-size:12.5px}
.also summary{display:inline-flex;align-items:center;gap:4px;cursor:pointer;list-style:none;font-weight:700;color:var(--ink-2);padding:1px 8px;box-shadow:inset 0 0 0 1px var(--hair)}
.also summary::-webkit-details-marker{display:none}
.also summary::before{content:"+";font-weight:700;color:var(--red)}
.also[open] summary::before{content:"−"}
.also summary span{font-weight:400;color:var(--ink-3)}
.also summary:hover{color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink-3)}
.also ul{margin-top:6px;padding:4px 0 2px 12px;border-left:2px solid var(--hair)}
.also li{padding:4px 0}
.also li a{font-family:var(--serif);font-weight:700;font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.also li a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.also li span{display:block;font-size:12px;color:var(--ink-3)}
.also .also-more{color:var(--ink-3)}
.ni-ad{padding:14px 0}
/* 기사 대표 이미지(원문 핫링크). 칸 크기를 고정해 불러오는 동안 줄이 밀리지 않게 */
.ni.has-img{grid-template-columns:48px minmax(0,1fr) 120px}
.issues>li.has-img{grid-template-columns:34px minmax(0,1fr) 120px}
.ni-img,.lead-img,.second-img{display:block;overflow:hidden;background:var(--well)}
.ni-img{width:120px;height:80px;margin-top:3px}
.ni-img img,.lead-img img,.second-img img{display:block;width:100%;height:100%;object-fit:cover}
.lead-list>li.has-img{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}
.lead-list>li>div{min-width:0}
.lead-img{flex:none;width:88px;height:59px;margin-top:3px}
.second-img{aspect-ratio:16/9;width:100%;max-width:100%;margin-bottom:12px}
@media (max-width:640px){
  .ni.has-img{grid-template-columns:40px minmax(0,1fr) 88px;gap:10px}
  .issues>li.has-img{grid-template-columns:28px minmax(0,1fr) 88px}
  .ni-img{width:88px;height:59px}
}
/* 주요·속보·단독·특징주 도장 — 색을 채워 제목 앞에서 바로 눈에 띄게 */
.bdg{display:inline-block;margin-right:7px;padding:0 5px;font:700 11.5px/19px var(--sans);vertical-align:3px;letter-spacing:0;color:#fff}
.b-major{background:var(--ink);color:var(--paper)}
.b-1{background:var(--red)}
.b-2{background:var(--blue)}
.b-4{background:var(--ochre)}
:root[data-theme="dark"] .bdg:not(.b-major){color:#12110f}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .bdg:not(.b-major){color:#12110f}}
/* 재료 종류 딱지 */
.cat{display:inline-block;padding:0 6px;font-size:12px;line-height:20px;font-weight:700}
.c-contract{color:var(--c-contract);background:var(--c-contract-bg)}.c-bio{color:var(--c-bio);background:var(--c-bio-bg)}
.c-tech{color:var(--c-tech);background:var(--c-tech-bg)}.c-equity{color:var(--c-equity);background:var(--c-equity-bg)}
.c-earnings{color:var(--c-earnings);background:var(--c-earnings-bg)}.c-report{color:var(--c-report);background:var(--c-report-bg)}
.c-risk{color:var(--c-risk);background:var(--c-risk-bg)}.c-etc{color:var(--c-etc);background:var(--c-etc-bg)}
/* 종목 이름 딱지 */
.sc{display:inline-flex;align-items:baseline;gap:4px;padding:0 6px;background:var(--blue-soft);color:var(--blue);font-weight:700;font-size:12.5px;line-height:20px;white-space:nowrap}
.sc:hover{background:var(--blue);color:var(--paper)}
.sc .cnt{font-weight:400;color:inherit;opacity:.7;font-size:11.5px;font-variant-numeric:tabular-nums}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips .sc{padding:3px 10px;font-family:var(--serif);font-size:15px;line-height:1.5;background:var(--sheet);color:var(--ink);box-shadow:inset 0 0 0 1px var(--hair)}
.chips .sc:hover{background:var(--ink);color:var(--paper);box-shadow:none}
@media (max-width:560px){.ni{grid-template-columns:40px minmax(0,1fr);gap:10px}.ni-title{font-size:16px}}

/* ---- 순위 ---- */
.rank>li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:baseline;column-gap:8px;padding:9px 0;border-top:1px solid var(--hair-2)}
.rank>li:first-child{border-top:0}
.rk{font:700 21px/1 var(--serif);color:var(--ink-3);font-variant-numeric:tabular-nums}
.rk.top{color:var(--red)}
.rk-name{font:700 16.5px/1.35 var(--serif);letter-spacing:-.02em;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rk-name:hover{color:var(--red)}
.rk-name small{margin-left:6px;font:400 11.5px var(--sans)}
.rk-n{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.rk-n small{margin-left:1px}
.rk-rep{grid-column:2/-1;font-size:13px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.dl{display:inline-block;min-width:34px;margin-left:6px;font-size:12px;font-weight:700;text-align:right;color:var(--ink-3)}
.dl.up{color:var(--red)}
.dl.down{color:var(--ink-3)}

/* ---- 막대 ---- */
.hb>li{display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr) 40px;align-items:center;gap:10px;padding:5px 0;font-size:13.5px}
.hb-l{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-2)}
.hb-l a:hover{color:var(--red)}
.hb-t{display:block;height:7px;background:var(--hair-2);overflow:hidden}
.hb-f{display:block;height:100%;background:var(--accent-bar)}
.hb-f.c-contract{background:var(--c-contract)}.hb-f.c-bio{background:var(--c-bio)}.hb-f.c-tech{background:var(--c-tech)}.hb-f.c-equity{background:var(--c-equity)}.hb-f.c-earnings{background:var(--c-earnings)}.hb-f.c-report{background:var(--c-report)}.hb-f.c-risk{background:var(--c-risk)}.hb-f.c-etc{background:var(--c-etc)}
.hb-n{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.tr>li>a{display:grid;grid-template-columns:minmax(0,1fr) 64px 34px 40px;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--hair-2);font-size:14px}
.tr>li:first-child>a{border-top:0}
.tr-n{font:700 15.5px/1.35 var(--serif);letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tr>li>a:hover .tr-n{color:var(--red)}
.tr-c{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.tr .dl{margin-left:0;min-width:0}
.cols{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:3px;height:140px;align-items:end;border-bottom:1px solid var(--rule);padding-bottom:0;margin-bottom:18px}
.col{display:flex;flex-direction:column;justify-content:flex-end;height:100%;min-width:0;position:relative}
.col-v{font-size:10.5px;text-align:center;color:var(--ink-3);font-variant-numeric:tabular-nums;line-height:1.4;white-space:nowrap}
.col-bar{display:block;min-height:1px;background:var(--bar)}
.col.now .col-bar,.col.peak .col-bar{background:var(--bar-now)}
.col.now .col-v,.col.peak .col-v{color:var(--red);font-weight:700}
.col-l{position:absolute;left:50%;bottom:-17px;transform:translateX(-50%);font-size:10.5px;color:var(--ink-3);line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}

/* ---- 1면 ---- */
.front{padding-top:26px}
.front-top{display:grid;gap:32px;padding-bottom:30px;border-bottom:1px solid var(--rule)}
@media (min-width:1024px){.front-top{grid-template-columns:minmax(0,1fr) 340px;gap:0}.front-top>.lead{padding-right:28px}.front-top>.front-rank{padding-left:28px;border-left:1px solid var(--hair)}}
.kicker{display:flex;flex-wrap:wrap;gap:6px;font-size:12.5px;font-weight:700;letter-spacing:.02em}
.k-main{display:inline-block;padding:1px 8px;background:var(--red);color:#fff}
.k-main.k-ink{background:var(--ink);color:var(--paper)}
.k-sub{display:inline-block;padding:0 7px;color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--hair)}
:root[data-theme="dark"] .k-main:not(.k-ink){color:#12110f}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .k-main:not(.k-ink){color:#12110f}}
.lead-h{margin-top:8px;font:700 clamp(32px,4.3vw,56px)/1.16 var(--serif);letter-spacing:-.04em}
.lead-h a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}
.lead-dek{margin-top:14px;font-size:18px;line-height:1.75;color:var(--ink-2);max-width:760px}
.lead-dek q{color:var(--ink);font-weight:700;quotes:"“" "”"}
.lead-body{display:grid;gap:24px;margin-top:22px;padding-top:18px;border-top:1px solid var(--hair)}
@media (min-width:720px){.lead-body{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}}
.lead-list>li{padding:9px 0;border-top:1px solid var(--hair-2)}
.lead-list>li:first-child{border-top:0;padding-top:0}
.lead-list a{font:700 16px/1.5 var(--serif);letter-spacing:-.02em}
.lead-list a:hover{text-decoration:underline;text-underline-offset:4px}
.lead-list .m{display:block;margin-top:2px;font-size:12.5px;color:var(--ink-3)}
.lead-chart h3{font-size:12.5px;font-weight:700;color:var(--ink-3);margin-bottom:8px;letter-spacing:.02em}
.lead-chart .cols{height:120px}
.lead-go{display:inline-flex;align-items:center;gap:2px;margin-top:8px;font-size:13.5px;font-weight:700;color:var(--red)}
.lead-go .ic{width:15px;height:15px}
.seconds{display:grid;gap:0;border-bottom:1px solid var(--rule);margin-bottom:34px}
@media (min-width:760px){.seconds{grid-template-columns:repeat(3,minmax(0,1fr))}}
.second{padding:20px 24px 22px;border-left:1px solid var(--hair);min-width:0}
.second:first-child{border-left:0;padding-left:0}
.second:last-child{padding-right:0}
@media (max-width:759px){.second{border-left:0;padding:18px 0;border-top:1px solid var(--hair-2)}.second:first-child{border-top:0}}
.second-h{margin-top:6px;font:700 24px/1.3 var(--serif);letter-spacing:-.03em}
.second-h a:hover{text-decoration:underline;text-underline-offset:5px}
.second-rep{margin-top:8px;font-size:14.5px;line-height:1.65;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.second-m{margin-top:8px;font-size:12.5px;color:var(--ink-3)}
.mats{margin-bottom:38px}
.mats-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-top:3px solid var(--rule);border-bottom:1px solid var(--rule);padding:9px 0 8px;margin-bottom:0}
.mats-h h2{font:700 21px/1.3 var(--serif);letter-spacing:-.02em}
.mats-h p{font-size:13px;color:var(--ink-3)}
@media (max-width:620px){.mats-h{flex-direction:column;gap:2px}.mats-h h2{white-space:nowrap}.mats-h p{font-size:12px}}
.mat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.mat{padding:14px 20px 18px;border-left:1px solid var(--hair);border-bottom:1px solid var(--hair);min-width:0}
.mat:nth-child(4n+1){border-left:0;padding-left:0}
.mat:nth-child(4n){padding-right:0}
.mat{--mc:var(--ink);--mbg:var(--well)}
.m-contract{--mc:var(--c-contract);--mbg:var(--c-contract-bg)}.m-bio{--mc:var(--c-bio);--mbg:var(--c-bio-bg)}
.m-tech{--mc:var(--c-tech);--mbg:var(--c-tech-bg)}.m-equity{--mc:var(--c-equity);--mbg:var(--c-equity-bg)}
.m-earnings{--mc:var(--c-earnings);--mbg:var(--c-earnings-bg)}.m-report{--mc:var(--c-report);--mbg:var(--c-report-bg)}
.m-risk{--mc:var(--c-risk);--mbg:var(--c-risk-bg)}.m-etc{--mc:var(--c-etc);--mbg:var(--c-etc-bg)}
.mat-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;padding:6px 10px;background:var(--mbg);border-top:3px solid var(--mc)}
.mat-h a{font-size:14.5px;font-weight:700;color:var(--mc)}
.mat-h a:hover{text-decoration:underline;text-underline-offset:3px}
.mat-h span{font-size:12px;font-weight:700;color:var(--mc);font-variant-numeric:tabular-nums}
.mat-list>li{padding:7px 0;border-top:1px solid var(--hair-2)}
.mat-list>li:first-child{border-top:0}
.mat-list a{font:700 15px/1.5 var(--serif);letter-spacing:-.02em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mat-list a:hover{text-decoration:underline;text-underline-offset:3px}
.mat-list .m{display:block;margin-top:1px;font-size:12px;color:var(--ink-3)}
@media (max-width:1023px){.mat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mat:nth-child(4n+1){border-left:1px solid var(--hair);padding-left:20px}.mat:nth-child(2n+1){border-left:0;padding-left:0}.mat:nth-child(2n){padding-right:0}}
@media (max-width:620px){.mat-grid{grid-template-columns:1fr}.mat,.mat:nth-child(n){border-left:0;padding-left:0;padding-right:0}}

/* ---- 테마 목록 ---- */
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));column-gap:28px}
.tcard{display:flex;flex-direction:column;gap:6px;padding:14px 0 16px;border-top:2px solid var(--rule);min-width:0}
.tcard-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.tcard-h b{font:700 21px/1.3 var(--serif);letter-spacing:-.03em}
.tcard:hover .tcard-h b{color:var(--red)}
.tcard-n{display:flex;gap:14px;font-size:13px;color:var(--ink-3)}
.tcard-n b{font-size:15px;color:var(--ink);font-variant-numeric:tabular-nums;margin-left:3px}
.tcard-s{font-size:13.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---- 날짜 목록 ---- */
.dl-list>li>a{display:grid;grid-template-columns:170px minmax(0,1fr) 90px 80px;align-items:center;gap:14px;padding:10px 0;border-top:1px solid var(--hair-2);font-size:14px}
.dl-list>li:first-child>a{border-top:0}
.dl-list>li>a:hover .dl-d{color:var(--red)}
.dl-d{font:700 16px var(--serif);white-space:nowrap}
.dl-d small{font-family:var(--sans)}
.dl-d.we small{color:var(--red)}
.dl-n{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}
.dl-n.sub{color:var(--ink-3);font-weight:400}
@media (max-width:560px){.dl-list>li>a{grid-template-columns:130px minmax(0,1fr) 70px}.dl-n.sub{display:none}}
.daynav{display:flex;gap:18px}
.daynav a{font-size:14px;font-weight:700;color:var(--ink-2)}
.daynav a:hover{color:var(--red)}

/* ---- 버튼·기타 ---- */
.btn{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}
.btn .ic{width:16px;height:16px}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-ghost:hover{background:var(--well)}
.btn-watch{background:transparent;color:var(--ink)}
.btn-watch:hover{background:var(--well)}
.btn-watch[aria-pressed="true"]{background:var(--red);border-color:var(--red);color:var(--paper)}
.btn-watch[aria-pressed="true"] .ic{fill:currentColor}
.pager{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:10px;padding-top:12px;border-top:1px solid var(--rule)}
.pager a{justify-self:start;font-size:14px;font-weight:700;color:var(--ink-2)}
.pager a:last-child{justify-self:end}
.pager a:hover{color:var(--red)}
.pg{font-size:13px;color:var(--ink-3)}
.cta{border:3px double var(--rule);padding:16px 18px;background:var(--sheet)}
.cta b{display:block;font:700 18px/1.4 var(--serif);letter-spacing:-.02em}
.cta p{font-size:13.5px;color:var(--ink-2);margin:6px 0 12px;line-height:1.7}
.wchip{display:inline-flex;align-items:center;border:1px solid var(--hair);background:var(--sheet)}
.wchip a{display:inline-flex;align-items:baseline;gap:6px;padding:0 4px 0 10px;line-height:32px;font:700 15px var(--serif)}
.wchip a:hover{color:var(--red)}
.wchip .cnt{font:400 12px var(--sans);color:var(--ink-3)}
.wchip button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:32px;border:0;background:none;color:var(--ink-3);cursor:pointer}
.wchip button:hover{color:var(--red)}
.wchip .ic{width:14px;height:14px}
.stock-cloud{margin-top:14px;gap:10px 18px}
.stock-cloud .sc{font-size:15px}
.ad{min-height:120px}
.prose{max-width:820px;line-height:1.9;font-size:15.5px}
.prose h2{font:700 21px/1.4 var(--serif);margin:30px 0 8px;letter-spacing:-.02em}
.prose p+p{margin-top:10px}
.prose ul{list-style:disc;padding-left:20px}
.prose li+li{margin-top:6px}
.prose a{color:var(--red);font-weight:700}
.prose.card{border-top:0;padding-top:0}
.prose.card::before{display:none}

/* ---- 주요 이슈 타임라인 ---- */
.issues>li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:12px 0;border-top:1px solid var(--hair-2)}
.issues>li:first-child{border-top:0;padding-top:4px}
.is-n{font:700 22px/1.1 var(--serif);color:var(--ink-3);font-variant-numeric:tabular-nums}
.issues>li:nth-child(-n+3) .is-n{color:var(--red)}
.is-t{display:block;font:700 17px/1.48 var(--serif);letter-spacing:-.02em}
.is-t:hover{text-decoration:underline;text-underline-offset:4px}
.is-k{font-weight:700;color:var(--red)}

/* ---- 관련주 표 ---- */
.tbl{overflow-x:auto}
.rel{width:100%;border-collapse:collapse;font-size:14px}
.rel th,.rel td{padding:9px 8px;border-top:1px solid var(--hair-2);text-align:left;white-space:nowrap}
.rel thead th{border-top:0;border-bottom:1px solid var(--rule);font-size:12.5px;color:var(--ink-3);font-weight:700}
.rel tbody th{font:700 15.5px var(--serif);letter-spacing:-.02em}
.rel tbody th a:hover{color:var(--red)}
.rel tbody th small{font-family:var(--sans);margin-left:4px}
.rel td.n,.rel th.n{text-align:right;font-variant-numeric:tabular-nums}
.rel td.rk{font:700 17px var(--serif);color:var(--ink-3);width:44px}
.rel td.rk.top{color:var(--red)}

/* ---- 공시 종류 목록 ---- */
.dtypes>li{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid var(--hair-2);font-size:14.5px}
.dtypes>li:first-child{border-top:0}
.dtypes a{font-weight:700}
.dtypes a:hover{color:var(--red)}
.dtypes span{color:var(--ink-3);font-variant-numeric:tabular-nums}
.prose-in p{font-size:15.5px;line-height:1.85;color:var(--ink)}
.prose-in p+p{margin-top:10px}

/* ---- 계산기 ---- */
.tool{display:grid;gap:14px}
.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 16px}
.tool-rows{display:grid;gap:8px}
.tr-row{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:end}
.tr-i{font:700 18px/40px var(--serif);color:var(--ink-3);text-align:center}
.tf{display:grid;gap:4px;min-width:0}
.tf>span:first-child{font-size:12.5px;font-weight:700;color:var(--ink-2)}
.tf-in{display:flex;align-items:center;border:1px solid var(--hair);background:var(--sheet)}
.tf-in:focus-within{border-color:var(--ink)}
.tf-in input{flex:1;min-width:0;height:40px;padding:0 10px;border:0;background:transparent;color:var(--ink);font:700 16px var(--sans);font-variant-numeric:tabular-nums;text-align:right}
.tf-in input:focus{outline:none}
.tf-in em{font-style:normal;font-size:13px;color:var(--ink-3);padding-right:10px}
.tool>.btn{justify-self:start}
.tool-out{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));border-top:2px solid var(--rule);border-bottom:1px solid var(--hair)}
.to{display:grid;gap:2px;padding:10px 12px;border-left:1px solid var(--hair-2)}
.to span{font-size:12.5px;color:var(--ink-3);font-weight:700}
.to b{font:700 19px/1.3 var(--serif);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.to.strong b{font-size:23px}
.to b.pos{color:var(--red)}
.to b.neg{color:var(--blue)}
.tool-sub{font:700 17px var(--serif);margin-top:8px;padding-top:12px;border-top:1px solid var(--hair)}
.tool-msg{font-size:13px;color:var(--red);min-height:1em}
.tool-table td{white-space:nowrap}
.tool-card-s{white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}

/* ---- 용어사전 ---- */
.gl-sec+.gl-sec{margin-top:30px}
.gl-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));column-gap:28px}
.gl-list li{border-top:1px solid var(--hair-2)}
.gl-list a{display:block;padding:10px 0}
.gl-list b{display:block;font:700 16.5px/1.4 var(--serif);letter-spacing:-.02em}
.gl-list a:hover b{color:var(--red)}
.gl-list span{display:block;margin-top:2px;font-size:13.5px;color:var(--ink-2);line-height:1.6}
.gl-body h2:first-child{margin-top:0}

/* ---- 영문판 ---- */
.lang-sw{font-size:13px;font-weight:700;letter-spacing:.02em;border:1px solid var(--hair);height:28px;padding:0 8px;margin-right:2px}
.lang-sw:hover{border-color:var(--ink)}
.en-note{font-size:13px;color:var(--ink-3);margin:0 0 22px;padding:8px 12px;background:var(--panel);box-shadow:inset 3px 0 0 var(--blue)}
.ni-title small{display:block;margin-top:2px;font:400 12.5px/1.5 var(--sans);color:var(--ink-3)}

/* ---- 공모주 청약 ---- */
.ipo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.ipo-card{display:grid;gap:8px;padding:14px 16px;border:1px solid var(--hair);background:var(--sheet)}
.ipo-card.open{box-shadow:inset 0 3px 0 var(--red)}
.ipo-card-h{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.ipo-card h3{font:700 19px/1.3 var(--serif);letter-spacing:-.02em}
.ipo-card h3 a:hover{color:var(--red)}
.ipo-tag{display:inline-block;padding:0 6px;font-size:11.5px;font-weight:700;line-height:20px;border:1px solid var(--hair);color:var(--ink-2)}
.ipo-dl{display:grid;gap:4px;font-size:13.5px}
.ipo-dl div{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--hair-2);padding-top:4px}
.ipo-dl dt{color:var(--ink-3)}
.ipo-dl dd{font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.ipo-dl dd small{font-weight:400;color:var(--ink-3)}
.ipo-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:0;counter-reset:st}
.ipo-steps li{position:relative;padding:12px 10px 10px 0;border-top:3px solid var(--hair)}
.ipo-steps li.past{border-top-color:var(--ink-3)}
.ipo-steps li.now{border-top-color:var(--red)}
.ipo-steps b{display:block;font-size:12.5px;color:var(--ink-3)}
.ipo-steps span{display:block;margin-top:2px;font:700 16px/1.35 var(--serif)}
.ipo-steps li.now span{color:var(--red)}

/* ---- 증시 일정 달력 ---- */
.cal-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:10px;font-size:12.5px;color:var(--ink-2)}
.cal-lg{display:inline-flex;align-items:center;gap:5px}
.cal-lg i{width:10px;height:10px;display:inline-block}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--rule);border-left:1px solid var(--hair)}
.cal-h{padding:6px 8px;font-size:12px;font-weight:700;color:var(--ink-3);border-right:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.cal-h.sat{color:var(--blue)}.cal-h.sun{color:var(--red)}
.cal-cell{min-height:92px;padding:5px 6px;border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);display:flex;flex-direction:column;gap:3px;min-width:0}
.cal-cell.off{background:var(--well)}
.cal-cell.today{box-shadow:inset 0 0 0 2px var(--red)}
.cal-cell.empty{background:transparent}
.cal-d{font-size:12.5px;font-weight:700;color:var(--ink-2)}
.cal-ev{display:block;padding:1px 5px;font-size:11.5px;line-height:17px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:3px solid currentColor}
.cal-more{font-size:11px;color:var(--ink-3)}
.k-ipo_open{color:var(--c-risk);background:var(--c-risk-bg)}.k-ipo_refund{color:var(--c-contract);background:var(--c-contract-bg)}
.k-public_open{color:var(--c-equity);background:var(--c-equity-bg)}.k-exrights{color:var(--c-earnings);background:var(--c-earnings-bg)}
.k-newlist{color:var(--c-tech);background:var(--c-tech-bg)}.k-holiday{color:var(--ink-3);background:var(--well)}.k-expiry{color:var(--c-report);background:var(--c-report-bg)}
.cal-lg i.k-ipo_open,.cal-lg i.k-ipo_refund,.cal-lg i.k-public_open,.cal-lg i.k-exrights,.cal-lg i.k-newlist,.cal-lg i.k-holiday,.cal-lg i.k-expiry{background:currentColor}
.cal-list{display:grid}
.cal-list li{display:grid;grid-template-columns:130px minmax(0,1fr);gap:4px 14px;padding:10px 0;border-top:1px solid var(--hair-2);font-size:14.5px;line-height:1.9}
.cal-list li:first-child{border-top:0}
.cal-list li.past{opacity:.6}
.cal-list li.now time{color:var(--red)}
.cal-list time{font-weight:700}
.cal-list a:hover{color:var(--red)}
@media (max-width:640px){
  .cal-cell{min-height:54px;padding:3px}
  .cal-ev{font-size:0;height:6px;padding:0;border-left:0}
  .cal-list li{grid-template-columns:minmax(0,1fr)}
}

/* ---- 사이트 공지(관리 화면에서 켬) ---- */
.ibtn.on{color:var(--red)}
.linkish{padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.linkish:hover{color:var(--red)}
.push-dlg{width:min(440px,calc(100vw - 32px));padding:0;border:1px solid var(--rule);background:var(--sheet);color:var(--ink);box-shadow:var(--pop)}
.push-dlg::backdrop{background:rgba(0,0,0,.45)}
.push-form{padding:20px}
.push-form h2{margin:0 0 4px;font-family:var(--serif);font-size:21px}
.push-sub{margin:0 0 14px;font-size:13px;color:var(--ink-3)}
.push-opt{display:flex;gap:10px;align-items:flex-start;padding:11px 0;border-top:1px solid var(--hair-2);cursor:pointer}
.push-opt input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--red);flex:none}
.push-opt b{display:block;font-size:15px}
.push-opt small{display:block;margin-top:2px;font-size:13px;color:var(--ink-3)}
.push-note{margin:0;padding:12px;font-size:14px;line-height:1.6;background:var(--well)}
.push-msg{min-height:20px;margin:8px 0 0;font-size:13px;font-weight:700;color:var(--ink-2)}
.push-act{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px}
.wg-code{display:block;width:100%;min-height:92px;margin:6px 0 8px;padding:10px;font:13px/1.5 ui-monospace,Consolas,monospace;color:var(--ink);background:var(--well);border:1px solid var(--hair);resize:vertical;box-sizing:border-box}
.site-notice{margin-top:14px;margin-bottom:-6px;padding-top:9px;padding-bottom:9px;font-size:14px;font-weight:700;color:var(--ink);background:var(--panel);box-shadow:inset 3px 0 0 var(--red)}

/* ---- 관리 화면(사이트와 따로 쓰는 대시보드 틀) ---- */
.adm{--ok:#1f7a4d;--ok-soft:rgba(31,122,77,.1);--warn:#a8640f;--warn-soft:rgba(168,100,15,.12);--bad:#b3261e;--bad-soft:rgba(179,38,30,.1);--r:12px;background:var(--paper)}
:root[data-theme="dark"] .adm{--ok:#5fcf97;--ok-soft:rgba(95,207,151,.12);--warn:#e8b25c;--warn-soft:rgba(232,178,92,.13);--bad:#ff8a7a;--bad-soft:rgba(255,138,122,.12)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .adm{--ok:#5fcf97;--ok-soft:rgba(95,207,151,.12);--warn:#e8b25c;--warn-soft:rgba(232,178,92,.13);--bad:#ff8a7a;--bad-soft:rgba(255,138,122,.12)}}
.adm-shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}
.adm-side{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:22px;padding:20px 12px;background:#171512;color:#d9d2c3;border-right:1px solid #2a2722}
.adm-brand{display:flex;align-items:center;gap:10px;padding:4px 8px;font:700 17px/1 var(--serif);color:#f6f2e9;letter-spacing:-.01em}
.adm-mark{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#b3261e;color:#fff;font:900 11.5px/1 var(--sans);letter-spacing:.04em}
.adm-nav{display:grid;gap:2px}
.adm-nav-a{display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border:0;border-radius:9px;background:none;color:#bdb5a5;font:700 14.5px/1.2 var(--sans);text-align:left;cursor:pointer;white-space:nowrap}
.adm-nav-a svg{flex:none;opacity:.85}
.adm-nav-a:hover{background:rgba(255,255,255,.06);color:#fff}
.adm-nav-a[aria-current="page"]{background:rgba(255,255,255,.1);color:#fff;box-shadow:inset 3px 0 0 #e0564b}
.adm-badge{margin-left:auto;padding:1px 7px;border-radius:999px;background:#b3261e;color:#fff;font:700 11px/17px var(--sans)}
.adm-badge.warn{background:#a8640f}
.adm-side-foot{margin-top:auto;display:grid;gap:2px;border-top:1px solid #2a2722;padding-top:12px}
.adm-logout{display:block}
.adm-main{display:grid;gap:22px;align-content:start;padding:26px clamp(16px,3vw,40px) 64px;max-width:1320px;width:100%}
.adm-top h1{font:700 28px/1.25 var(--serif);letter-spacing:-.02em;color:var(--ink)}
.adm-top p{margin-top:4px;font-size:13px;color:var(--ink-3)}
.adm-toast{padding:12px 16px;border-radius:var(--r);background:var(--sheet);border:1px solid var(--hair);box-shadow:inset 4px 0 0 var(--ok);font-weight:700;font-size:14px}
.adm-panel{background:var(--sheet);border:1px solid var(--hair);border-radius:14px;padding:18px 20px}
.adm-panel-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.adm-panel-h h2{font:700 16px/1.3 var(--sans);color:var(--ink)}
.adm-panel-h span{font-size:12.5px;color:var(--ink-3)}
.adm-panel-b{display:grid;gap:14px}
.adm-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.adm-cols.wide-left{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.adm-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.adm-kpi{display:grid;gap:4px;padding:16px 18px;border-radius:var(--r);background:var(--sheet);border:1px solid var(--hair)}
.adm-kpi span{font-size:13px;font-weight:700;color:var(--ink-3)}
.adm-kpi b{font:700 30px/1.15 var(--serif);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.adm-kpi b small{font:700 14px var(--sans);color:var(--ink-3);margin-left:2px}
.adm-kpi small{font-size:12.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adm-kpi.ok{box-shadow:inset 0 3px 0 var(--ok)}.adm-kpi.ok b{color:var(--ok)}
.adm-kpi.bad{box-shadow:inset 0 3px 0 var(--bad)}.adm-kpi.bad b{color:var(--bad)}
.adm-group+.adm-group{margin-top:6px}
.adm-group h3{margin-bottom:8px;font:700 12px/1 var(--sans);letter-spacing:.08em;color:var(--ink-3)}
.adm-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.adm-tile{display:grid;gap:4px;padding:12px 14px;border-radius:10px;background:var(--paper);border:1px solid var(--hair);box-shadow:inset 4px 0 0 var(--ok)}
.adm-tile.bad{box-shadow:inset 4px 0 0 var(--bad);background:var(--bad-soft)}
.adm-tile-h{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13.5px;font-weight:700;color:var(--ink-2)}
.adm-tile-h em{font-style:normal;font-size:11.5px;padding:1px 8px;border-radius:999px;background:var(--ok-soft);color:var(--ok)}
.adm-tile.bad .adm-tile-h em{background:var(--bad-soft);color:var(--bad)}
.adm-tile b{font:700 19px/1.3 var(--serif);color:var(--ink)}
.adm-tile p{font-size:12.5px;line-height:1.5;color:var(--ink-3)}
.adm-meter+.adm-meter{margin-top:6px}
.adm-meter-h{display:flex;justify-content:space-between;gap:8px;font-size:13.5px;font-weight:700;color:var(--ink-2)}
.adm-meter-h b{font-variant-numeric:tabular-nums;color:var(--ink)}
.adm-meter-h small{font-weight:400;color:var(--ink-3)}
.adm-meter-bar{height:8px;margin-top:6px;border-radius:999px;background:var(--well);overflow:hidden}
.adm-meter-bar i{display:block;height:100%;border-radius:999px;background:var(--ok)}
.adm-meter-bar i.mid{background:var(--warn)}.adm-meter-bar i.bad{background:var(--bad)}
.adm-meter p{margin-top:5px;font-size:12px;color:var(--ink-3)}
.adm-links{display:flex;flex-wrap:wrap;gap:8px}
.adm-links a{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:9px;border:1px solid var(--hair);background:var(--paper);font-size:13.5px;font-weight:700;color:var(--ink)}
.adm-links a svg{width:14px;height:14px;color:var(--ink-3)}
.adm-links a:hover{border-color:var(--ink)}
.adm-sep{height:1px;background:var(--hair)}
.adm-help{font-size:12.5px;line-height:1.6;color:var(--ink-3)}
.adm-help b{color:var(--ink-2)}
.adm-h3{font:700 14px var(--sans);color:var(--ink)}
.adm-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 16px;border-radius:9px;border:1px solid var(--hair);background:var(--paper);color:var(--ink);font:700 14px var(--sans);cursor:pointer;white-space:nowrap}
.adm-btn:hover{border-color:var(--ink)}
.adm-btn.primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.adm-btn.primary:hover{opacity:.9}
.adm-btn.danger{background:var(--bad);border-color:var(--bad);color:#fff}
:root[data-theme="dark"] .adm-btn.danger{color:#1a0d0b}
.adm-btn.ghost{background:transparent}
.adm-btn.wide{width:100%;height:44px}
.adm-form{display:grid;gap:12px}
.adm-form.narrow{max-width:460px}
.adm-form label{display:grid;gap:6px;font-size:13.5px;font-weight:700;color:var(--ink-2)}
.adm-form label small{font-weight:400;color:var(--ink-3)}
.adm-form input:not([type=radio]):not([type=hidden]),.adm-form select,.adm-search input{height:42px;padding:0 12px;border:1px solid var(--hair);border-radius:9px;background:var(--paper);color:var(--ink);font:inherit;font-size:15px}
.adm-form input:focus,.adm-form select:focus,.adm-search input:focus{outline:2px solid var(--ink);outline-offset:0}
.adm-form>button{justify-self:start}
.adm-form.row{display:flex;align-items:center;gap:8px}
.adm-form.row .adm-reason{width:170px;height:38px!important;font-size:13px!important}
.adm-form.chip{display:inline-flex;align-items:center;gap:2px;margin:0 6px 6px 0;padding:2px 3px 2px 11px;border-radius:999px;background:var(--blue-soft);font-size:12.5px;font-weight:700}
.adm-form.chip a{color:var(--blue)}
.adm-form.chip button{display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:50%;background:none;color:var(--ink-3);font-size:15px;line-height:1;cursor:pointer}
.adm-form.chip button:hover{background:var(--bad);color:#fff}
.adm-row{display:flex;flex-wrap:wrap;gap:10px}
.adm-field{display:grid;gap:6px}
.adm-lab{font-size:13.5px;font-weight:700;color:var(--ink-2)}
.adm-switch{display:inline-flex;padding:4px;border-radius:10px;background:var(--well);justify-self:start}
.adm-switch label{display:block!important;cursor:pointer}
.adm-switch input{position:absolute;opacity:0;pointer-events:none}
.adm-switch span{display:block;padding:7px 18px;border-radius:7px;font-size:14px;font-weight:700;color:var(--ink-3)}
.adm-switch input:checked+span{background:var(--sheet);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.adm-switch input:focus-visible+span{outline:2px solid var(--ink)}
.adm-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.adm-seg{display:inline-flex;padding:4px;border-radius:10px;background:var(--well)}
.adm-seg a{padding:7px 16px;border-radius:7px;font-size:14px;font-weight:700;color:var(--ink-3)}
.adm-seg a[aria-current="page"]{background:var(--sheet);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.adm-search{position:relative;display:flex;gap:8px;flex:1 1 380px;max-width:560px}
.adm-search svg{position:absolute;left:12px;top:12px;color:var(--ink-3);pointer-events:none}
.adm-search input{flex:1;min-width:0;padding-left:38px!important}
.adm-items{display:grid;gap:10px}
.adm-item{display:grid;gap:6px;padding:14px 16px;border-radius:var(--r);background:var(--sheet);border:1px solid var(--hair)}
.adm-panel .adm-item{background:var(--paper)}
.adm-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12.5px;color:var(--ink-3)}
.adm-item-meta time{font-weight:700;color:var(--ink-2);font-variant-numeric:tabular-nums}
.adm-item-title{font:700 15.5px/1.5 var(--sans);color:var(--ink)}
a.adm-item-title:hover{text-decoration:underline;text-underline-offset:3px}
.adm-item-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.adm-chip{font-style:normal;font-size:11.5px;font-weight:700;padding:1px 8px;border-radius:999px;background:var(--well);color:var(--ink-2)}
.adm-chip.wait{background:var(--warn-soft);color:var(--warn)}
.adm-empty{padding:28px 0;text-align:center;color:var(--ink-3)}
.adm-state{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--r)}
.adm-state svg{flex:none;width:24px;height:24px;margin-top:1px}
.adm-state b{font-size:15px}
.adm-state p{margin-top:2px;font-size:13px;line-height:1.55;color:var(--ink-2)}
.adm-state.ok{background:var(--ok-soft);color:var(--ok)}
.adm-state.warn{background:var(--warn-soft);color:var(--warn)}
.adm-steps{padding-left:20px;display:grid;gap:6px;font-size:14px;line-height:1.6;color:var(--ink-2);list-style:decimal}
.adm-steps a{color:var(--blue);font-weight:700}
.adm-secret{padding:14px 16px;border-radius:10px;background:var(--well);font:700 18px/1.4 ui-monospace,Consolas,monospace;letter-spacing:.06em;color:var(--ink);user-select:all;word-break:break-all}
.adm-timeline{display:grid;gap:0}
.adm-timeline li{position:relative;display:grid;grid-template-columns:86px minmax(0,1fr);gap:2px 12px;padding:9px 0 9px 14px;border-top:1px solid var(--hair)}
.adm-timeline li:first-child{border-top:0}
.adm-timeline li::before{content:"";position:absolute;left:0;top:15px;width:6px;height:6px;border-radius:50%;background:var(--ink-3)}
.adm-timeline li.warn::before{background:var(--warn)}.adm-timeline li.info::before{background:var(--blue)}
.adm-timeline.err li::before{background:var(--bad)}
.adm-timeline time{font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums;grid-row:span 2}
.adm-timeline b{font-size:14px;color:var(--ink)}
.adm-timeline p{font-size:13px;line-height:1.5;color:var(--ink-2);word-break:break-word}
.adm-mono{font-family:ui-monospace,Consolas,monospace;font-size:12.5px}
.adm-stats .stats{margin-top:0}
.adm-alert{padding:10px 14px;border-radius:10px;background:var(--bad-soft);color:var(--bad);font-weight:700;font-size:14px}
.adm-auth-body{min-height:100vh}
.adm-auth{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(1200px 500px at 50% -10%,var(--well),transparent)}
.adm-auth-card{width:min(420px,100%);display:grid;gap:16px;padding:30px 28px;border-radius:18px;background:var(--sheet);border:1px solid var(--hair);box-shadow:0 20px 50px rgba(0,0,0,.08)}
.adm-auth-card .adm-brand{color:var(--ink);padding:0}
.adm-auth-card h1{font:700 24px/1.3 var(--serif);letter-spacing:-.02em}
.adm-auth-sub,.adm-auth-note{font-size:13px;line-height:1.6;color:var(--ink-3)}
@media (max-width:1100px){.adm-cols,.adm-cols.wide-left{grid-template-columns:minmax(0,1fr)}}
@media (max-width:860px){
  .adm-shell{grid-template-columns:minmax(0,1fr)}
  .adm-side{position:sticky;z-index:30;height:auto;flex-direction:row;align-items:center;gap:8px;padding:8px 10px;overflow-x:auto;scrollbar-width:none;border-right:0;border-bottom:1px solid #2a2722}
  .adm-side::-webkit-scrollbar{display:none}
  .adm-brand span:last-child{display:none}
  .adm-nav{display:flex;gap:2px}
  .adm-nav-a{padding:9px 10px;font-size:13.5px}
  .adm-nav-a[aria-current="page"]{box-shadow:inset 0 -3px 0 #e0564b}
  .adm-side-foot{margin:0;display:flex;border:0;padding:0}
  .adm-side-foot .adm-nav-a span{display:none}
  .adm-main{padding-top:18px}
  .adm-top h1{font-size:23px}
  .adm-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .adm-kpi{padding:12px 14px}
  .adm-kpi b{font-size:24px}
  .adm-kpi small{white-space:normal}
  .adm-form.row{flex-wrap:wrap}
  .adm-form.row .adm-reason{flex:1 1 140px;width:auto}
  .adm-timeline li{grid-template-columns:minmax(0,1fr)}
  .adm-timeline time{grid-row:auto}
}

/* ---- 미국주식 ---- */
.ni-title.pos{box-shadow:inset 3px 0 0 var(--red);padding-left:9px}
.ni-title.neg{box-shadow:inset 3px 0 0 var(--blue);padding-left:9px}
.rel td.pos{color:var(--red);font-weight:700}
.rel td.neg{color:var(--blue);font-weight:700}
.rel td small{color:var(--ink-3);font-size:12px}
.rel td.wrap{white-space:normal;min-width:220px}
.us-tx td a:hover{color:var(--red)}
.us-tx th,.us-tx td{padding-left:6px;padding-right:6px}
.us-tx td.who{white-space:normal;min-width:150px;line-height:1.45}
.us-tx td.who small{display:block}
.us-tx tbody th{white-space:normal;min-width:96px;line-height:1.35}
.us-tx .up{color:var(--red);font-weight:700}
.us-tx .down{color:var(--blue);font-weight:700}
.us-tx td{vertical-align:top}
.sig{display:inline-block;margin:1px 0;padding:1px 6px;font-size:12px;font-weight:700;color:var(--ochre);background:var(--ochre-soft);white-space:nowrap}
/* 1면 큰 검색칸·조건 칩 */
.fsearch{margin:18px 0 26px;padding:16px 18px;background:var(--panel);border:1px solid var(--hair)}
.fsch{position:relative;display:flex;align-items:center;gap:8px}
.fsch-ic{position:absolute;left:12px;width:19px;height:19px;color:var(--ink-3);pointer-events:none}
.fsch input{flex:1;min-width:0;height:46px;padding:0 12px 0 40px;border:1px solid var(--rule);border-radius:0;background:var(--sheet);color:var(--ink);font:inherit;font-size:16px;appearance:none}
.fsch input:focus{outline:2px solid var(--ink);outline-offset:-2px}
.fsch input::-webkit-search-cancel-button{display:none}
.fsch .btn{height:46px;padding:0 18px}
.fsch .sch-list{left:0;right:0;top:calc(100% + 4px)}
.fs-rows{display:grid;gap:8px;margin-top:12px}
.fs-row,.frow{display:flex;align-items:baseline;gap:10px;min-width:0}
.flab{flex:none;width:64px;font-size:12.5px;font-weight:700;color:var(--ink-3)}
.fchips{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
.fchip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:13.5px;font-weight:700;color:var(--ink-2);background:var(--sheet);border:1px solid var(--hair);white-space:nowrap}
.fchip:hover{border-color:var(--ink);color:var(--ink)}
.fchip.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.fchip .cnt{font-weight:400;font-size:12px;opacity:.75}
.fbox{display:grid;gap:10px;margin:4px 0 18px;padding:14px 16px;background:var(--panel);border:1px solid var(--hair)}
@media (max-width:640px){
  .fsearch{margin:12px 0 18px;padding:12px}
  .fsch .btn{display:none}
  .fs-row,.frow{align-items:flex-start;flex-direction:column;gap:4px}
  .fs-row .fchips{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:2px;scrollbar-width:none}
  .flab{width:auto}
}
.ni-meta .fact{font-weight:700;color:var(--ink-2);font-variant-numeric:tabular-nums}
.faq{margin:0}
.faq dt{margin-top:12px;font-weight:700;font-size:14.5px;color:var(--ink)}
.faq dt:first-child{margin-top:2px}
.faq dd{margin:4px 0 0;font-size:14px;line-height:1.65;color:var(--ink-2)}
.coinfo{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 14px;margin:2px 0 4px;font-size:14px}
.coinfo dt{color:var(--ink-3);font-size:13px;white-space:nowrap}
.coinfo dd{margin:0;color:var(--ink);overflow-wrap:anywhere}
.coinfo a{text-decoration:underline;text-decoration-color:var(--hair);text-underline-offset:3px}
.coinfo .ic{width:13px;height:13px;vertical-align:-2px;margin-left:2px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrow .ibtn{height:30px;min-width:30px;padding:0}
.sigrow{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:-6px 0 18px;font-size:13px}
.sigrow .flab{width:auto;margin-right:2px}
a.sig:hover{text-decoration:underline}
.sigrow .more-link{margin-left:4px;font-size:12.5px;color:var(--ink-3);text-decoration:underline;text-underline-offset:3px}
.sig-desc li{display:block}
.sig-desc li span{display:block;margin-top:2px;text-align:left}
.krh tbody th{min-width:128px}
.krh td.who{min-width:110px}
.sig-new{color:var(--red);background:var(--red-soft)}
.sig-warn{color:var(--blue);background:var(--blue-soft)}
.up-t{color:var(--red);font-weight:700}
.down-t{color:var(--blue);font-weight:700}
.streak{display:inline-block;min-width:38px;padding:1px 6px;font-weight:700;text-align:center;background:var(--well)}
.streak.on{color:var(--ochre);background:var(--ochre-soft)}
.streak.hot{color:var(--red);background:var(--red-soft)}
.spark{display:inline-flex;align-items:flex-end;gap:1px;height:22px;vertical-align:middle}
.spark i{display:block;width:4px;background:var(--bar)}
.spark i:last-child{background:var(--bar-now)}
.us-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));column-gap:24px}
.us-grid li{display:flex;align-items:baseline;justify-content:space-between;gap:8px;border-top:1px solid var(--hair-2);padding:8px 0}
.us-grid a{min-width:0;display:flex;align-items:baseline;gap:6px}
.us-grid b{font:700 15.5px/1.4 var(--serif);letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.us-grid a:hover b{color:var(--red)}
.us-grid span{font-size:12px;color:var(--ink-3);font-weight:700}
.us-grid em{font-style:normal;font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}

/* ---- 판권(바닥) ---- */
.ft{border-top:3px double var(--rule);padding:30px 0 44px;font-size:13px;color:var(--ink-2)}
.ft-grid{display:grid;gap:18px 40px;grid-template-columns:minmax(0,1fr) auto}
.ft-word{font:900 30px/1 "ATS Masthead",var(--serif);letter-spacing:-.02em;color:var(--ink)}
.ft-brand p{margin-top:12px;max-width:660px;line-height:1.75}
.ft-nav{display:flex;flex-wrap:wrap;gap:6px 18px;align-content:flex-start;font-weight:700}
.ft-nav a:hover{color:var(--red)}
.ft-hubs{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 28px;border-top:1px solid var(--hair);padding-top:16px}
.ft-hubs div{display:flex;flex-wrap:wrap;gap:4px 12px;align-content:flex-start}
.ft-hubs b{flex-basis:100%;font:700 14px var(--serif);color:var(--ink);margin-bottom:2px}
.ft-hubs a{color:var(--ink-2);font-size:12.5px}
.ft-hubs a:hover{color:var(--red)}
@media (max-width:900px){.ft-hubs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.ft-hubs{grid-template-columns:1fr}}
.ft-co{grid-column:1/-1;color:var(--ink-3);border-top:1px solid var(--hair);padding-top:14px}
@media (max-width:720px){.ft-grid{grid-template-columns:1fr}}
