/* 코리아주식정보 — 고령 독자용 디자인. 기준: 본문 19px(모바일 18px), 줄간격 1.75, 대비 AA 이상, 터치 영역 48px 이상 */
:root{
  --navy:#0B2A5B; --navy-900:#071B3D; --navy-50:#EEF3FB; --navy-100:#DCE6F5;
  --ink:#1A2233; --muted:#475467; --line:#D0D5DD; --bg:#F5F7FA; --white:#fff;
  --accent:#F5B700; --accent-ink:#7A5200;           /* 포인트: 골드 1색 */
  --up:#D92D20; --down:#1D4ED8;                       /* 한국 시장 색: 상승 빨강, 하락 파랑 */
  --radius:14px; --tap:48px;
  --font:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",system-ui,sans-serif;
}
html body{font-family:var(--font);font-size:19px;line-height:1.75;color:var(--ink);background:var(--bg);word-break:keep-all;overflow-wrap:break-word;-webkit-text-size-adjust:100%}
@media (max-width:640px){html body{font-size:18px}}
body.ksi-theme .site.grid-container,body.ksi-theme .grid-container{max-width:1200px}
body.ksi-theme .site-content{display:block;padding:0 16px}
body.ksi-theme .site-content .content-area{width:100%;float:none;margin:0}
body.ksi-theme .inside-article,body.ksi-theme .separate-containers .inside-article{background:transparent;padding:0}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
a{color:#0A3FA8;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
a:hover{color:var(--navy-900)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}
h1,h2,h3{font-family:var(--font);font-weight:800;color:var(--navy);line-height:1.35;margin:0 0 .6em}
h2{font-size:1.5rem} h3{font-size:1.2rem}
p{margin:0 0 1em}

/* 헤더 */
.ksi-header{background:var(--navy);color:#fff;margin:0 0 24px;padding:0}
.ksi-header-in{max-width:1200px;margin:0 auto;display:flex;gap:20px;align-items:center;padding:16px;flex-wrap:wrap}
.ksi-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;min-height:var(--tap)}
.ksi-brand:hover{color:#fff}
.ksi-brand-mark{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--accent);color:var(--navy-900);font-weight:900;font-size:24px}
.ksi-brand-name{font-size:1.5rem;font-weight:800;letter-spacing:-.02em}
.ksi-header-search{flex:1 1 360px;min-width:260px}
.ksi-nav{background:var(--navy-900);border-top:1px solid rgba(255,255,255,.12)}
.ksi-nav ul{max-width:1200px;margin:0 auto;padding:0 8px;list-style:none;display:flex;flex-wrap:wrap}
.ksi-nav a{display:flex;align-items:center;min-height:var(--tap);padding:0 16px;color:#fff;text-decoration:none;font-weight:700;font-size:1.05rem;border-bottom:4px solid transparent}
.ksi-nav a:hover{background:rgba(255,255,255,.08);color:#fff}
.ksi-nav a.is-active{border-bottom-color:var(--accent)}
@media (max-width:640px){.ksi-nav ul{display:grid;grid-template-columns:repeat(3,1fr);padding:0}.ksi-nav a{justify-content:center;padding:0 4px}.ksi-brand-name{font-size:1.3rem}}

/* 검색 */
.ksi-search{position:relative;display:flex;gap:8px;width:100%}
.ksi-search-input{flex:1;min-height:56px;font:inherit;font-size:1.1rem;padding:0 16px;border:2px solid transparent;border-radius:12px;background:#fff;color:var(--ink);width:100%}
.ksi-search-input::placeholder{color:#667085;opacity:1}
.ksi-search-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px rgba(245,183,0,.4)}
.ksi-search-btn{min-height:56px;min-width:84px;border:0;border-radius:12px;background:var(--accent);color:var(--navy-900);font:inherit;font-weight:800;font-size:1.05rem;cursor:pointer}
.ksi-search-btn:hover{filter:brightness(.95)}
.ksi-search--big .ksi-search-input,.ksi-search--big .ksi-search-btn{min-height:64px;font-size:1.25rem}
.ksi-suggest{position:absolute;z-index:50;top:calc(100% + 6px);left:0;right:0;margin:0;padding:6px;list-style:none;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(7,27,61,.25);max-height:380px;overflow:auto}
.ksi-suggest[hidden]{display:none}
.ksi-suggest li a{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:var(--tap);padding:6px 12px;border-radius:8px;text-decoration:none;color:var(--ink);font-weight:700}
.ksi-suggest li a small{font-weight:500;color:var(--muted);font-size:15px}
.ksi-suggest li a:hover,.ksi-suggest li a[aria-selected="true"]{background:var(--navy-50);color:var(--navy)}
.ksi-suggest .ksi-sg-none{padding:12px;color:var(--muted)}

/* 공통 블록 */
.ksi-stock section,.ksi-card,.ksi-hubpage section{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin:0 0 20px}
.ksi-card h2{margin-top:0}
.ksi-breadcrumb ol{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:4px;font-size:16px}
.ksi-breadcrumb li+li::before{content:"›";margin-right:6px;color:var(--muted)}
.ksi-breadcrumb a{display:inline-flex;align-items:center;min-height:32px}
.ksi-head{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-bottom:6px}
.ksi-h1{font-size:2.1rem;margin:0;letter-spacing:-.02em}
.ksi-h1-code{color:var(--muted);font-weight:700;font-size:.8em}
@media (max-width:640px){.ksi-h1{font-size:1.6rem}}
.ksi-lead{color:var(--muted);font-size:1.05rem}
.ksi-sub,.ksi-basis,.ksi-source,.ksi-note,.ksi-unit{font-size:15px;color:var(--muted);line-height:1.6}
.ksi-source{margin:14px 0 0}
.ksi-badge{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;font-size:15px;font-weight:800;background:var(--navy-100);color:var(--navy);vertical-align:middle}
.ksi-badge--kospi{background:var(--navy);color:#fff}
.ksi-badge--kosdaq{background:#fff;color:var(--navy);box-shadow:inset 0 0 0 2px var(--navy)}
.ksi-badge--fix{background:#FFF4D6;color:var(--accent-ink);box-shadow:inset 0 0 0 1.5px #E0A800}
.ksi-badge--demo{background:#FEE4E2;color:#912018}
.ksi-badge--new{background:var(--accent);color:var(--navy-900);margin-right:6px}
.ksi-demo-banner{background:#FEF3F2;border:2px dashed #F04438;color:#7A271A;padding:14px 18px;border-radius:12px;margin:0 0 20px}
.ksi-up{color:var(--up);font-weight:800}.ksi-down{color:var(--down);font-weight:800}.ksi-flat{color:var(--muted);font-weight:700}
.ksi-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap);padding:0 22px;border-radius:12px;background:var(--navy);color:#fff!important;font-weight:800;text-decoration:none;font-size:1.02rem}
.ksi-btn:hover{background:var(--navy-900)}
.ksi-btn--ghost{background:#fff;color:var(--navy)!important;box-shadow:inset 0 0 0 2px var(--navy)}
.ksi-linkrow{display:flex;gap:10px;flex-wrap:wrap}
.ksi-empty{color:var(--muted);padding:8px 0}

/* 레이아웃 */
.ksi-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
@media (min-width:1024px){.ksi-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start}}
.ksi-side{display:none}
@media (min-width:1024px){.ksi-side{display:block}.ksi-side-in{position:sticky;top:16px}}
.ksi-toc{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:16px}
.ksi-toc ul{list-style:none;margin:8px 0 0;padding:0}
.ksi-toc a{display:flex;align-items:center;min-height:44px;font-weight:700}

/* 한눈에 보기 */
.ksi-stock .ksi-glance{background:var(--navy-50);border:1px solid var(--navy-100);border-left:8px solid var(--navy)}
.ksi-glance h2{margin-bottom:12px}
.ksi-glance dl{margin:0;display:grid;gap:14px}
.ksi-glance-row{display:grid;grid-template-columns:96px 1fr;gap:6px 16px;align-items:start}
.ksi-glance dt{font-weight:800;color:var(--navy);background:#fff;border-radius:8px;text-align:center;padding:2px 8px;border:1px solid var(--navy-100)}
.ksi-glance dd{margin:0}
.ksi-answer{display:block;font-size:1.15rem;font-weight:700;color:var(--ink);line-height:1.6}
.ksi-basis{display:block}
@media (max-width:640px){.ksi-glance-row{grid-template-columns:1fr}.ksi-glance dt{justify-self:start}}

/* 시세 박스 */
.ksi-price-empty{background:repeating-linear-gradient(45deg,#fff,#fff 10px,#F9FAFB 10px,#F9FAFB 20px);border:2px dashed var(--line);border-radius:12px;padding:18px;text-align:center}
.ksi-price-empty p{margin-bottom:8px}.ksi-price-empty .ksi-linkrow{justify-content:center}
.ksi-quote-price{font-size:2rem;font-weight:900;margin-right:10px}

/* 재무 */
.ksi-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:18px}
.ksi-kpi{background:var(--bg);border-radius:12px;padding:14px 16px;display:grid;gap:2px}
.ksi-kpi-l{font-size:15px;color:var(--muted);font-weight:700}.ksi-kpi-v{font-size:1.45rem;font-weight:900;color:var(--navy);line-height:1.3}.ksi-kpi-d{font-size:16px}
.ksi-charts{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.ksi-chart{margin:0;border:1px solid var(--line);border-radius:12px;padding:14px}
.ksi-chart figcaption{margin-bottom:6px;font-size:1.1rem}
.ksi-chart-scroll{overflow-x:auto}
.ksi-chart svg{display:block;width:100%;height:auto;min-width:520px}
.ksi-ch-val{font-size:17px;font-weight:800;fill:var(--ink)}.ksi-ch-axis{font-size:17px;fill:#344054;font-weight:700}
.ksi-legend{list-style:none;display:flex;gap:16px;flex-wrap:wrap;margin:0 0 6px;padding:0;font-size:16px}
.ksi-sw{display:inline-block;width:14px;height:14px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.ksi-tbl-toggle summary{cursor:pointer;min-height:var(--tap);display:flex;align-items:center;font-weight:700;color:#0A3FA8}
.ksi-table-wrap{overflow-x:auto}
.ksi-table{width:100%;border-collapse:collapse;font-size:1rem}
.ksi-table th,.ksi-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.ksi-table thead th{background:var(--navy);color:#fff;font-weight:800;border-bottom:0;white-space:nowrap}
.ksi-table tbody tr:nth-child(even){background:#F9FAFB}
.ksi-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.ksi-d-date{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}
.ksi-d-title a{font-weight:700}
tr.ksi-new{background:#FFF8DB!important;animation:ksiflash 3s ease-out}
@keyframes ksiflash{from{background:#FFE58A}to{background:#FFF8DB}}
@media (prefers-reduced-motion:reduce){tr.ksi-new{animation:none}}
.ksi-live{font-size:15px;color:var(--muted);margin:-4px 0 10px}

/* 뉴스 · 개요 · FAQ · 칩 */
.ksi-news-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.ksi-news-list li{display:grid;gap:2px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.ksi-news-t{font-weight:800;font-size:1.1rem}.ksi-news-m{font-size:15px;color:var(--muted)}.ksi-news-d{font-size:16px;color:#344054}
.ksi-dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0 28px;margin:0}
.ksi-dl>div{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.ksi-dl dt{min-width:84px;color:var(--muted);font-weight:700}.ksi-dl dd{margin:0;font-weight:600}
.ksi-qa{border-bottom:1px solid var(--line)}
.ksi-qa summary{cursor:pointer;min-height:56px;display:flex;align-items:center;font-weight:800;color:var(--navy);list-style-position:inside;padding:6px 0}
.ksi-qa p{margin:0 0 14px;padding-left:4px}
.ksi-chips{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.ksi-chips a{display:inline-flex;align-items:center;gap:8px;min-height:var(--tap);padding:6px 18px;border-radius:999px;background:var(--navy-50);border:1px solid var(--navy-100);color:var(--navy);font-weight:800;text-decoration:none}
.ksi-chips a:hover{background:var(--navy);color:#fff}.ksi-chips a:hover .ksi-code{color:#fff}
.ksi-chips--big a{font-size:1.05rem}
.ksi-code{font-size:15px;color:var(--muted);font-weight:700}
.ksi-disclaimer{background:#FFFBEB!important;border-color:#F3D27A!important}
.ksi-disclaimer ul{margin:0;padding-left:1.2em}.ksi-disclaimer li{margin-bottom:6px}

/* 허브 목록 */
.ksi-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0 24px}
.ksi-list li a{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:8px 6px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.ksi-list li a:hover{background:var(--navy-50)}
.ksi-l-name{font-weight:800;color:var(--navy)}.ksi-l-meta{font-size:15px;color:var(--muted);white-space:nowrap}
.ksi-list .ksi-list-ad{grid-column:1/-1}
.ksi-pager{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.ksi-pager a,.ksi-pager .current{display:inline-flex;align-items:center;justify-content:center;min-width:var(--tap);min-height:var(--tap);padding:0 10px;border-radius:10px;border:1px solid var(--line);text-decoration:none;font-weight:800;background:#fff}
.ksi-pager .current{background:var(--navy);color:#fff;border-color:var(--navy)}

/* 첫 화면 */
.ksi-hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-900) 100%)!important;color:#fff;border:0!important;border-radius:20px!important;padding:44px 32px!important;margin-bottom:24px!important}
.ksi-hero h1{color:#fff;font-size:2.4rem;letter-spacing:-.02em}.ksi-hero p{color:#E4EAF5;font-size:1.15rem}
.ksi-hero .ksi-hero-note{font-size:15px;color:#C5D0E6;margin:14px 0 0}
.ksi-hero .ksi-search{max-width:760px;margin-top:8px}
@media (max-width:640px){.ksi-hero{padding:28px 18px!important}.ksi-hero h1{font-size:1.7rem}.ksi-br{display:none}}
.ksi-feed{list-style:none;margin:0 0 16px;padding:0}
.ksi-feed li{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--line)}
.ksi-feed-co{font-weight:800;min-width:150px}.ksi-feed-t{font-weight:600}
.ksi-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:20px}
.ksi-tile{display:grid;gap:4px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;border-top:6px solid var(--navy);color:var(--ink)}
.ksi-tile:hover{border-top-color:var(--accent);box-shadow:0 8px 24px rgba(7,27,61,.12)}
.ksi-tile strong{font-size:1.35rem;color:var(--navy)}.ksi-tile span{color:var(--muted);font-size:16px}
.ksi-h2-plain{margin:8px 0 12px}
.ksi-about ul{margin:0;padding-left:1.2em}.ksi-about li{margin-bottom:10px}

/* 광고 (CLS 방지: 높이는 인라인 min-height 로 예약) */
.ksi-ad{display:block;margin:0 0 20px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px 10px;text-align:center;overflow:hidden}
.ksi-ad-label{display:block;font-size:13px;color:#667085;text-align:left}
.ksi-ad--sidebar{position:static}
.ksi-list-ad .ksi-ad{margin:10px 0}

/* 푸터 */
.site-info{background:var(--navy-900)!important;color:#D5DDEE!important;margin:32px 0 0}
.site-info a{color:#fff}.ksi-footer{max-width:1200px;margin:0 auto;padding:24px 16px;font-size:16px;line-height:1.7}
.ksi-footer p{margin-bottom:8px}.ksi-footer-disc{color:#fff}.ksi-footer-c{color:#B5C2DD;font-size:15px}
.site-footer{margin:0}
@media print{.ksi-header,.ksi-ad,.ksi-search,.site-info{display:none}}
/* 모바일: 차트를 화면 폭에 맞추고 글자는 축소 비율만큼 키움 (가로 스크롤 제거) */


/* 질문형(AEO) 구조 */
.ksi-updated{margin:0 0 6px;font-size:15px;color:var(--muted)}
.ksi-direct{font-size:1.15rem;line-height:1.75;font-weight:600;color:var(--ink);margin:0 0 6px}
.ksi-direct strong{color:var(--navy);font-weight:900;background:linear-gradient(transparent 62%,#FFE58A 62%)}
.ksi-sec>h2{font-size:1.45rem;line-height:1.45;margin-top:0}
.ksi-jump{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;margin:0 0 20px}
.ksi-jump-h{font-size:1.15rem;margin:0 0 6px}
.ksi-jump ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 24px}
.ksi-jump a{display:flex;align-items:center;min-height:44px;font-weight:700;border-bottom:1px solid var(--line);text-decoration:none}
.ksi-inline-notice{margin:12px 0 0;padding:8px 12px;font-size:15px;color:#7A271A;background:#FEF3F2;border-radius:8px}
.ksi-inline-notice a{color:#7A271A;font-weight:800}
.ksi-issues{list-style:none;margin:10px 0;padding:0;display:grid;gap:12px}
.ksi-issues li{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;padding-bottom:12px;border-bottom:1px solid var(--line)}
.ksi-iss-t{font-weight:700;font-size:1.05rem}
.ksi-chip{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;background:var(--navy-50);border:1px solid var(--navy-100);color:var(--navy);font-size:15px;font-weight:800;text-decoration:none}
.ksi-chip--news{background:#FFF4D6;border-color:#E0A800;color:var(--accent-ink)}
.ksi-note{margin:10px 0 0}
.ksi-list--plain{display:block}
.ksi-list--plain li{padding:10px 0;border-bottom:1px solid var(--line)}
.ksi-qlist{list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 24px}
.ksi-qlist a{display:flex;align-items:center;min-height:48px;font-weight:700;border-bottom:1px solid var(--line);text-decoration:none}
/* 가이드·유의사항 페이지 (일반 WP 페이지) */
.ksi-theme.page .entry-content .ksi-direct,.ksi-theme.page .entry-content p{max-width:760px}
.ksi-theme.page .entry-content h2{font-size:1.4rem;margin:1.6em 0 .5em}
.ksi-theme.page .entry-content .ksi-qa p{max-width:none}
.ksi-footer-disc{font-size:16px}
.ksi-footer-disc a{text-decoration:underline}
/* 답변: 한 줄 결론 + 숫자 카드 (긴 문장 덩어리 대신) */
.ksi-direct strong{background:none;color:var(--navy);font-weight:900}
.ksi-direct{font-size:1.2rem;line-height:1.6;margin:0 0 14px}
.ksi-stats{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.ksi-stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;min-width:0}
.ksi-stat--main{border:2px solid var(--navy);background:var(--navy-50)}
.ksi-stat-l{font-size:16px;font-weight:700;color:#344054}
.ksi-stat-v{font-size:1.55rem;font-weight:900;color:var(--navy);line-height:1.25;word-break:keep-all;overflow-wrap:anywhere}
.ksi-stat-s{font-size:15px;color:var(--muted)}
@media (max-width:640px){.ksi-stats{grid-template-columns:1fr 1fr;gap:10px}.ksi-stat{padding:12px}.ksi-stat-v{font-size:1.3rem}.ksi-stat--main{grid-column:1/-1}}
/* 막대 3개 이상 묶음 그래프는 숫자 라벨이 겹치므로 숨기고 '표로 보기'로 확인 */
.ksi-chart--multi3 .ksi-ch-val{display:none}

/* =====================================================================
   v1.2 읽기 쉬운 카드 레이아웃 (모바일 우선)
   - 섹션 = 흰 카드, 카드 사이 24px 이상, 짧은 H2 → 한 줄 답 → 숫자 카드/표
   - 600px 이하에서 표는 "라벨: 값" 카드로 쌓여 가로 스크롤이 없음
   ===================================================================== */
:root{--gap:28px}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.ksi-stock{max-width:1112px;margin:0 auto}
.ksi-stock>.ksi-head,.ksi-stock>.ksi-updated,.ksi-stock>.ksi-lead,.ksi-stock>.ksi-summary,.ksi-stock>.ksi-demo-banner,.ksi-stock>.ksi-breadcrumb{max-width:760px}
@media (min-width:1024px){.ksi-stock>.ksi-tabs{max-width:760px}}
.ksi-h1{font-size:1.7rem;line-height:1.3;word-break:keep-all}
@media (min-width:641px){.ksi-h1{font-size:2rem}}
.ksi-updated{font-size:15px;line-height:1.6;margin:0 0 8px}
.ksi-lead{font-size:1.1rem;color:var(--ink);font-weight:600;margin:0 0 16px}

/* 핵심 요약 카드 2x2 */
.ksi-stock section.ksi-summary{background:none;border:0;padding:0;margin:0 0 20px;border-radius:0}
.ksi-sum-h{font-size:1.05rem;margin:0 0 10px;color:var(--muted)}
.ksi-sc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ksi-sc-i a{display:flex;flex-direction:column;gap:2px;height:100%;min-height:118px;padding:14px;border-radius:16px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);box-shadow:0 1px 2px rgba(16,24,40,.04)}
.ksi-sc-i a:hover,.ksi-sc-i a:focus-visible{border-color:var(--navy)}
.ksi-sc-l{font-size:15px;font-weight:800;color:var(--muted)}
.ksi-sc-v{font-size:1.45rem;font-weight:900;color:var(--navy);line-height:1.25;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.ksi-sc-s{font-size:15px;line-height:1.45;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ksi-sc-n{font-size:14px;font-weight:800;color:var(--accent-ink);margin-top:auto}
.ksi-sc-i--missing a,.ksi-sc-i--empty a,.ksi-sc-i--error a{background:#F9FAFB;border-style:dashed}
.ksi-sc-i--missing .ksi-sc-v,.ksi-sc-i--empty .ksi-sc-v,.ksi-sc-i--error .ksi-sc-v{font-size:1.1rem;color:#475467}
.ksi-sc-i--stale a{border-color:#E0A800}
@media (min-width:641px){.ksi-sc-v{font-size:1.6rem}}

/* 짧은 이동 메뉴: 위에 붙어 따라옴 */
.ksi-tabs{position:sticky;top:0;z-index:40;background:rgba(245,247,250,.97);margin:0 -16px 24px;padding:8px 16px;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.ksi-tabs ul{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:760px}
.ksi-tabs a{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:800;color:var(--navy);text-decoration:none;font-size:1.02rem}
.ksi-tabs a[aria-current="true"],.ksi-tabs a:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
@media (min-width:1024px){.ksi-tabs{margin:0 0 24px;padding:8px 0;background:var(--bg)}.ksi-tabs ul{margin:0}}

/* 2열 배치 */
.ksi-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
@media (min-width:1024px){.ksi-grid{grid-template-columns:minmax(0,760px) 320px;gap:32px;justify-content:start}}
.ksi-side-in{position:sticky;top:76px}
.ksi-side-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin:0 0 16px}
.ksi-side-h{display:block;font-size:1.05rem;color:var(--navy);margin-bottom:8px}
.ksi-side-dl{margin:0}.ksi-side-dl>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.ksi-side-dl dt{color:var(--muted);font-size:15px;font-weight:700}.ksi-side-dl dd{margin:0;font-weight:800;text-align:right;overflow-wrap:anywhere}
.ksi-side-dl a{text-decoration:none}

/* 그룹 라벨 + 섹션 카드 */
.ksi-group{scroll-margin-top:72px}
.ksi-group-label{display:flex;align-items:center;gap:12px;margin:8px 0 14px;font-size:15px;font-weight:900;letter-spacing:.08em;color:var(--muted)}
.ksi-group-label::after{content:"";flex:1;height:1px;background:var(--line)}
.ksi-stock .ksi-sec{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 18px;margin:0 0 var(--gap);scroll-margin-top:72px}
@media (min-width:641px){.ksi-stock .ksi-sec{padding:28px}}
.ksi-sec-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 12px}
.ksi-sec-head h2,.ksi-stock .ksi-sec>h2{font-size:1.4rem;line-height:1.35;margin:0}
.ksi-sec h3{font-size:1.1rem;margin:20px 0 8px}
.ksi-sec--sm{padding-top:16px;padding-bottom:16px}
.ksi-direct{font-size:1.15rem;font-weight:600;line-height:1.6;margin:0 0 14px;max-width:40em}
.ksi-basis{display:block;margin:12px 0 0;font-size:14px;color:var(--muted)}
.ksi-note,.ksi-source{font-size:15px;line-height:1.6;color:#475467;margin:10px 0 0;max-width:42em}
.ksi-points{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.ksi-points li{position:relative;padding-left:16px;font-size:15px;line-height:1.55;color:#475467;max-width:42em}
.ksi-points li::before{content:"";position:absolute;left:2px;top:.7em;width:6px;height:6px;border-radius:50%;background:var(--navy-100);box-shadow:inset 0 0 0 1.5px var(--navy)}
.ksi-points strong{color:var(--ink)}

/* 상태 표시 */
.ksi-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:14px;font-weight:800;background:#F2F4F7;color:#475467}
.ksi-pill--stale{background:#FFF4D6;color:var(--accent-ink)}.ksi-pill--error{background:#FEE4E2;color:#912018}.ksi-pill--empty,.ksi-pill--missing{background:#F2F4F7;color:#475467;box-shadow:inset 0 0 0 1px var(--line)}
.ksi-state-note{margin:0 0 10px;padding:10px 14px;border-radius:10px;font-size:15.5px;line-height:1.55;background:#F9FAFB;border:1px dashed var(--line);color:#344054;max-width:42em}
.ksi-state-note--stale{background:#FFFBEB;border-color:#F3D27A;color:#7A5200}.ksi-state-note--error{background:#FEF3F2;border-color:#FDA29B;color:#7A271A}
.ksi-partial{margin:0 0 12px;padding:8px 12px;border-left:4px solid #E0A800;background:#FFF8DB;border-radius:6px;font-size:15.5px;line-height:1.5}
.ksi-nolink{display:inline-block;font-size:14px;font-weight:700;color:#475467;border:1px dashed var(--line);border-radius:999px;padding:1px 10px;white-space:nowrap}
.ksi-extlink{margin:14px 0 0;font-size:15px}
.ksi-linkbtn{background:none;border:0;padding:0;font:inherit;color:#0A3FA8;text-decoration:underline;cursor:pointer;min-height:44px}

/* 숫자 카드 */
.ksi-stats{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));margin:0 0 6px}
.ksi-stat-v{font-size:1.5rem;font-variant-numeric:tabular-nums}
@media (max-width:640px){.ksi-stats{grid-template-columns:1fr 1fr}.ksi-stat-v{font-size:1.3rem}}
.ksi-kpis{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.ksi-kpi-v{font-size:1.5rem;font-variant-numeric:tabular-nums}
@media (max-width:640px){.ksi-kpis{grid-template-columns:1fr}.ksi-kpi{padding:12px 14px}}

/* 라벨: 값 목록 */
.ksi-defs{margin:0}
.ksi-defs>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:2px 16px;padding:12px 0;border-bottom:1px solid var(--line)}
.ksi-defs dt{font-weight:800;color:var(--muted);font-size:16px}
.ksi-defs dd{margin:0;font-weight:700;overflow-wrap:anywhere}
.ksi-defs dd small{display:block;margin-top:2px;font-weight:500;font-size:14.5px;line-height:1.5;color:var(--muted)}
.ksi-defs--sum{margin-top:12px;background:var(--navy-50);border-radius:12px;padding:2px 14px}
.ksi-defs--sum>div:last-child,.ksi-defs--sched>div:last-child,.ksi-defs--stock>div:last-child{border-bottom:0}
.ksi-subcard{border:1px solid var(--line);border-radius:12px;padding:6px 14px 8px;margin:0 0 12px}
.ksi-subcard h3{margin:8px 0 2px}.ksi-subcard h3 small{font-size:14px;color:var(--muted);font-weight:700}
@media (max-width:640px){.ksi-defs>div{grid-template-columns:1fr}}

/* 표: 600px 이하에서는 행 카드로 */
.ksi-table-wrap{overflow-x:visible}
.ksi-table th,.ksi-table td{font-size:1rem}
@media (max-width:640px){
  .ksi-table--stack{display:block}
  .ksi-table--stack thead{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
  .ksi-table--stack tbody,.ksi-table--stack tr,.ksi-table--stack th,.ksi-table--stack td{display:block;width:100%}
  .ksi-table--stack tbody tr,.ksi-table--stack tbody tr:nth-child(even){background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin:0 0 12px}
  .ksi-table--stack tbody th[scope="row"]{padding:0 0 6px;border:0;font-size:1.05rem;color:var(--navy);text-align:left;background:none}
  .ksi-table--stack td{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:6px 0;border:0;border-top:1px solid #F2F4F7;text-align:right;font-size:1rem}
  .ksi-table--stack td::before{content:attr(data-label);flex:0 0 auto;font-weight:700;font-size:15px;color:var(--muted);text-align:left}
  .ksi-table--stack td.num{white-space:normal}
  /* 공시 목록: 날짜 칩 + 제목(2줄) + 정정 배지 */
  .ksi-table--disc tbody tr,.ksi-table--today tbody tr{display:grid;grid-template-columns:1fr;gap:4px}
  .ksi-table--disc td,.ksi-table--today td{display:block;text-align:left;border:0;padding:0}
  .ksi-table--disc td::before,.ksi-table--today td::before{display:none}
  .ksi-table--disc td.ksi-d-date,.ksi-table--today td.ksi-d-date{display:inline-block;justify-self:start;font-size:14px;font-weight:800;color:#344054;background:var(--navy-50);border-radius:999px;padding:2px 10px}
  .ksi-table--disc td.ksi-d-by{font-size:14.5px;color:var(--muted)}
  .ksi-d-title{display:flex;flex-wrap:wrap;align-items:flex-start;gap:4px 8px}
}
.ksi-d-t{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:700;overflow-wrap:anywhere}
@media (min-width:641px){.ksi-d-t{display:inline;-webkit-line-clamp:unset}.ksi-table--disc th,.ksi-table--disc td{padding:12px}}

/* 차트: 화면 폭에 맞추고 라벨이 겹치지 않게 */
.ksi-charts{grid-template-columns:1fr}
@media (min-width:1280px){.ksi-charts{grid-template-columns:1fr}}
.ksi-chart{padding:12px}
.ksi-chart-scroll{overflow:visible}
.ksi-chart svg{min-width:0;width:100%;height:auto}
.ksi-ch-val{font-size:18px}.ksi-ch-axis{font-size:18px}
@media (max-width:640px){.ksi-ch-axis{font-size:30px}.ksi-ch-val{font-size:28px}.ksi-chart--multi .ksi-ch-val{display:none}}
.ksi-chart--multi3 .ksi-ch-val{display:none}

/* 배당 계산기 */
.ksi-calc{border:2px solid var(--navy-100);background:var(--navy-50);border-radius:14px;padding:14px 16px;margin:6px 0 4px}
.ksi-calc h3{margin:0 0 8px;font-size:1.1rem}
.ksi-calc-row{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.ksi-calc-row label{font-weight:800}
.ksi-calc-n{min-height:54px;font:inherit;font-size:1.35rem;font-weight:800;padding:0 14px;border:2px solid var(--navy);border-radius:12px;background:#fff;width:100%;max-width:320px;font-variant-numeric:tabular-nums}
.ksi-calc-kind{border:0;padding:0;margin:0 0 10px;display:flex;gap:10px;flex-wrap:wrap}
.ksi-calc-kind legend{font-weight:800;margin-bottom:6px;padding:0}
.ksi-calc-kind label{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 16px;border:2px solid var(--navy-100);border-radius:999px;background:#fff;font-weight:800;cursor:pointer}
.ksi-calc-kind input{width:20px;height:20px}
.ksi-calc-msg{min-height:1.4em;margin:0 0 6px;font-size:15px;font-weight:700;color:#B42318}
.ksi-calc-cap{margin:0 0 8px;font-size:15px;font-weight:700;color:#344054}
.ksi-stats--calc{grid-template-columns:1fr 1fr}

/* 가상/기타 */
.ksi-chip--off{background:#F2F4F7;border-color:var(--line);color:#475467}
.ksi-more{display:inline-flex;align-items:center;min-height:var(--tap);font-weight:800}
.ksi-recent .ksi-chips{margin:0 0 6px}
.ksi-guidebox .ksi-qlist{margin:0}
.ksi-inline-notice{font-size:14.5px;padding:6px 12px}
.ksi-demo-banner{font-size:15.5px;padding:12px 14px}
.ksi-sec--price .ksi-note{margin:0}
.ksi-front .ksi-recent{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin:0 0 20px}
@media (min-width:1024px) and (max-width:1200px){.ksi-grid{grid-template-columns:minmax(0,1fr) 300px}}
.ksi-state-note span{display:block}
.ksi-state-note span+span{margin-top:2px}
/* QA 수정(2026-10-29): 모바일 요약 카드·숫자 카드 줄바꿈/넘침 */
.ksi-sc{grid-template-columns:repeat(2,minmax(0,1fr))}
.ksi-sc-v{overflow-wrap:normal;word-break:keep-all}
@media (max-width:640px){
.ksi-sc-v{font-size:1.2rem}
.ksi-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.ksi-stat-v{font-size:1.15rem;word-break:keep-all;overflow-wrap:normal}
.ksi-stat-l{font-size:15px}
.ksi-calc-out,.ksi-calc .ksi-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.ksi-table{min-width:0;width:100%}
.ksi-table-wrap{max-width:100%}
}
@media (max-width:360px){.ksi-sc,.ksi-stats{grid-template-columns:1fr}}
/* 모바일 헤더 높이 줄이기: 메뉴를 한 줄 가로 스크롤로 (3줄 → 1줄) */
@media (max-width:640px){
.ksi-nav ul{display:flex!important;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:4px;padding:0 8px}
.ksi-nav ul::-webkit-scrollbar{display:none}
.ksi-nav li{flex:0 0 auto}
.ksi-nav a{padding:0 12px;white-space:nowrap}
}
@media (max-width:640px){.ksi-table--disc td.ksi-d-date{width:fit-content!important;max-width:max-content}}

/* ===== 2차 작업(1.3.0): 종목 하위 페이지 · 공통 탭 · 날짜/수식 카드 · 타임라인 · 필터 칩 · 홈 재방문 블록 ===== */
/* 공통 탭(개요/배당/실적/공시): 페이지 이동용 큰 버튼 4개 */
.ksi-ptabs{margin:0 0 20px}
.ksi-ptabs ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:760px}
.ksi-ptabs a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;padding:6px 4px;border-radius:12px;background:#fff;border:1.5px solid var(--navy-100);color:var(--navy);font-weight:800;text-decoration:none;line-height:1.25;text-align:center}
.ksi-ptabs a:hover{background:var(--navy-50);border-color:var(--navy)}
.ksi-ptabs a.is-on{background:var(--navy);border-color:var(--navy);color:#fff}
.ksi-ptabs small{display:block;font-size:12.5px;font-weight:600;color:var(--muted)}
.ksi-ptabs a.is-on small{color:#DCE6F5}
@media (min-width:1024px){.ksi-stock--sub>.ksi-ptabs ul,.ksi-stock>.ksi-ptabs ul{max-width:760px}}
/* 날짜 카드: 기준일 · 지급 예정일 · 결정 공시일을 따로 */
.ksi-dcards{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.ksi-dcard{position:relative;background:#fff;border:1px solid var(--line);border-left:6px solid var(--navy);border-radius:12px;padding:12px 14px 12px 16px;display:flex;flex-direction:column;gap:3px;min-width:0}
.ksi-dcard--pay{border-left-color:var(--accent)}
.ksi-dcard--dec,.ksi-dcard--board{border-left-color:#98A2B3}
.ksi-dcard-l{font-size:15.5px;font-weight:800;color:#344054}
.ksi-dcard-v{font-size:1.45rem;font-weight:900;color:var(--navy);line-height:1.25;font-variant-numeric:tabular-nums;word-break:keep-all}
.ksi-dcard-v--na{font-size:1.15rem;color:var(--muted)}
.ksi-dcard-wd{font-size:.95rem;font-weight:700;color:var(--muted)}
.ksi-dcard-s{font-size:14.5px;line-height:1.5;color:var(--muted)}
.ksi-dcard-tag{position:absolute;top:10px;right:10px;font-size:12.5px;font-weight:800;padding:2px 10px;border-radius:999px;background:var(--navy-50);color:var(--navy)}
@media (max-width:640px){.ksi-dcards{grid-template-columns:1fr}.ksi-dcard-v{font-size:1.3rem}}
/* 수식 카드 */
.ksi-fcards{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.ksi-fcard{background:var(--navy-50);border:1px solid var(--navy-100);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;min-width:0}
.ksi-fcard-t{font-size:15px;font-weight:800;color:#344054}
.ksi-fcard-f{font-size:1.15rem;font-weight:900;color:var(--navy);line-height:1.45;word-break:keep-all}
.ksi-fcard-e{font-size:15.5px;line-height:1.55;color:#1A2233;background:#fff;border-radius:8px;padding:8px 10px;overflow-wrap:anywhere}
/* 공시 유형 필터 칩 */
.ksi-fchips{margin:0 0 14px}
.ksi-fchips ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ksi-fchips a{display:inline-flex;align-items:center;gap:6px;min-height:var(--tap);padding:6px 16px;border-radius:999px;background:#fff;border:1.5px solid var(--navy-100);color:var(--navy);font-weight:800;text-decoration:none}
.ksi-fchips a span{font-size:.85rem;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.ksi-fchips a:hover{background:var(--navy-50);border-color:var(--navy)}
.ksi-fchips a.is-on{background:var(--navy);border-color:var(--navy);color:#fff}
.ksi-fchips a.is-on span{color:#DCE6F5}
/* 결정 공시 타임라인(자사주·유상증자·분할) */
.ksi-timeline{list-style:none;margin:0 0 12px;padding:0 0 0 14px;border-left:3px solid var(--navy-100)}
.ksi-timeline li{position:relative;display:grid;grid-template-columns:112px 64px minmax(0,1fr);gap:4px 12px;align-items:baseline;padding:9px 0 9px 14px;border-bottom:1px solid #EAECF0}
.ksi-timeline li::before{content:"";position:absolute;left:-22px;top:19px;width:11px;height:11px;border-radius:50%;background:var(--navy);border:2px solid #fff;box-shadow:0 0 0 1px var(--navy-100)}
.ksi-tl-d{font-weight:800;color:#344054;font-variant-numeric:tabular-nums;white-space:nowrap}
.ksi-tl-k{justify-self:start;font-size:13.5px;font-weight:800;padding:1px 10px;border-radius:999px;background:var(--navy-50);color:var(--navy)}
.ksi-tl-t{min-width:0;overflow-wrap:anywhere}
@media (max-width:640px){.ksi-timeline li{grid-template-columns:auto 1fr;grid-template-areas:"d k" "t t"}.ksi-tl-d{grid-area:d}.ksi-tl-k{grid-area:k}.ksi-tl-t{grid-area:t}}
/* 메인 → 하위 페이지 '자세히 보기' 링크 */
.ksi-more-row{margin:10px 0 0}
.ksi-more-row .ksi-more{display:inline-flex;align-items:center;min-height:var(--tap);padding:6px 16px;border-radius:10px;background:var(--navy-50);border:1px solid var(--navy-100);font-weight:800;text-decoration:none;color:var(--navy)}
.ksi-more-row .ksi-more:hover{background:var(--navy);color:#fff}
/* 허브 목록 한 줄 핵심 사실 */
.ksi-list li a{flex-wrap:wrap}
.ksi-l-fact{flex:1 0 100%;order:3;font-size:15px;font-weight:600;color:var(--navy);background:var(--navy-50);border-radius:8px;padding:1px 10px;width:fit-content}
/* 홈: 다가오는 배당 일정 · 최근 실적발표 */
.ksi-feed--up .ksi-feed-s{flex:1 0 100%;font-size:15px;color:var(--muted)}
.ksi-feed .ksi-d-date{min-width:92px;font-weight:800}
.ksi-upcoming .ksi-basis,.ksi-recent-earn .ksi-basis{margin-bottom:10px}
/* 하위 페이지 사이드바 링크 · 만화 섹션 */
.ksi-side-links{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
.ksi-side-links a{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:10px;border:1px solid var(--navy-100);background:#fff;font-weight:800;text-decoration:none;color:var(--navy)}
.ksi-side-links a[aria-current="page"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.ksi-sec--comic .ksi-cm{margin-top:4px}
.ksi-sec--empty{background:#fff;border:1px dashed var(--line);border-radius:var(--radius);padding:24px}
.ksi-sec--calc .ksi-calc{margin-top:0}
/* QA: 홈 피드 긴 공시 제목이 모바일에서 넘치지 않게 */
.ksi-feed li,.ksi-feed a{min-width:0}
.ksi-feed-t{overflow-wrap:anywhere;word-break:break-all;min-width:0;max-width:100%}
/* 순위 허브 (/rank/…) */
.ksi-rank-cov{background:var(--navy-50);border:1px solid var(--navy-100);border-radius:12px;padding:12px 16px;margin:0 0 14px;font-size:1rem}
.ksi-rank-basis{margin:0 0 16px}
.ksi-rank-sec{margin-top:28px}
.ksi-rank-sec h2{font-size:1.35rem}
.ksi-rank-notes{margin:8px 0 0;padding-left:1.2em}.ksi-rank-notes li{margin-bottom:6px}
.ksi-rank-tiles{list-style:none;margin:0 0 8px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.ksi-rank-tiles .ksi-tile{height:100%;padding:18px;box-sizing:border-box}
.ksi-rank-meta{font-size:15px;font-weight:700;color:var(--navy)}
.ksi-rank-chips a.is-on{background:var(--navy);color:#fff}
.ksi-rk-badge{display:inline-grid;place-items:center;min-width:40px;height:40px;padding:0 8px;border-radius:999px;background:var(--navy-50);color:var(--navy);font-weight:900;font-variant-numeric:tabular-nums;box-sizing:border-box}
.ksi-rk-badge--top{background:var(--accent);color:var(--navy-900)}
.ksi-table--rank .ksi-rk-name a{font-weight:800}
.ksi-table--rank .ksi-rk-val{font-weight:800;color:var(--navy)}
.ksi-rk-base{color:var(--muted);font-size:15px}
@media (max-width:640px){
  .ksi-table--rank{display:block}
  .ksi-table--rank thead{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
  .ksi-table--rank tbody,.ksi-table--rank tr,.ksi-table--rank td{display:block;width:100%;box-sizing:border-box}
  .ksi-table--rank tbody tr,.ksi-table--rank tbody tr:nth-child(even){position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px 12px 64px;margin:0 0 12px;min-height:84px}
  .ksi-table--rank td{padding:2px 0;border:0;text-align:left}
  .ksi-table--rank td::before{content:none}
  .ksi-table--rank td.ksi-rk{position:absolute;left:14px;top:12px;width:auto}
  .ksi-table--rank td.ksi-rk-name{font-size:1.1rem}
  .ksi-table--rank td.ksi-rk-val{font-size:1.5rem;line-height:1.3;white-space:normal;text-align:left;margin:2px 0}
  .ksi-table--rank td.ksi-rk-sub{font-size:15px;color:var(--muted);font-weight:600}
  .ksi-table--rank td.ksi-rk-sub::before{content:attr(data-label) " ";font-weight:700}
  .ksi-table--rank td.ksi-rk-base{font-size:14.5px}
}
/* 가이드 카드 목록 (글자만 빽빽한 링크 목록 대신) */
.ksi-gcards{list-style:none;margin:8px 0 24px;padding:0;display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
@media (min-width:760px){.ksi-gcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ksi-gcard{display:flex;align-items:center;gap:14px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:16px;text-decoration:none;color:var(--ink);height:100%;box-shadow:0 1px 2px rgba(16,24,40,.04);transition:border-color .15s,box-shadow .15s}
.ksi-gcard:hover,.ksi-gcard:focus-visible{border-color:var(--navy);box-shadow:0 4px 12px rgba(11,42,91,.10)}
.ksi-gcard-i{flex:0 0 52px;height:52px;display:grid;place-items:center;font-size:28px;background:var(--navy-50);border-radius:14px}
.ksi-gcard-b{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.ksi-gcard-t{font-size:1.15rem;font-weight:900;color:var(--navy);line-height:1.35;word-break:keep-all}
.ksi-gcard-q{font-size:16px;color:#475467;line-height:1.5;word-break:keep-all}
.ksi-gcard-tag{align-self:flex-start;margin-top:4px;font-size:14px;font-weight:800;color:#7A4B00;background:#FFF1C2;border-radius:999px;padding:2px 10px}
.ksi-gcard-go{flex:0 0 auto;font-size:28px;color:var(--navy);opacity:.5}
/* 링크 목록 격자가 화면 밖으로 넘치지 않게 */
.ksi-qlist{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.ksi-qlist a{word-break:keep-all;overflow-wrap:anywhere}
