/* 일곱시선 리서치 — 색·서체는 tokens.css(--sl-*)만 쓴다. 라이트 면 전용(다크 금지 — Kevin 취향). */
@font-face{font-family:"Pretendard";src:url(/fonts/pretendard.woff2) format("woff2");font-weight:45 920;font-display:swap}
@font-face{font-family:"Inter";src:url(/fonts/inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--sl-bg);color:var(--sl-ink);font-family:var(--sl-font-body);font-size:15px;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}
a{color:var(--sl-brand);text-decoration:none}a:hover{text-decoration:underline}
img{max-width:100%;display:block}
.wrap{max-width:1360px;margin:0 auto;padding:0 16px}
@media(min-width:900px){.wrap{padding:0 28px}}

/* 머리 — 한도현 시안: 한 줄(로고 | 메뉴 | 기준 시각) · 활성 메뉴 = 보라 글자 + 강조색 밑줄 */
.top{background:var(--sl-surface);border-bottom:1px solid var(--sl-line);position:sticky;top:0;z-index:5}
.topin{display:flex;align-items:center;gap:24px;min-height:72px}
.brand{display:flex;flex-direction:column;line-height:1.15;color:var(--sl-ink);flex:none}
.brand:hover{text-decoration:none}
.logo svg{height:40px;width:auto;display:block}
.bname{font-family:var(--sl-font-head);font-weight:800;font-size:18px;letter-spacing:-.2px}
.ben{font-size:10.5px;letter-spacing:2.4px;color:var(--sl-muted)}
.asof{font-size:12px;color:var(--sl-muted);white-space:nowrap;font-family:var(--sl-font-num);font-variant-numeric:tabular-nums}
.nav{display:flex;gap:2px;flex:1;overflow-x:auto;scrollbar-width:none;align-self:stretch}
.nav::-webkit-scrollbar{display:none}
.nav a{flex:none;display:flex;align-items:center;padding:0 12px;font-size:15px;font-weight:500;color:var(--sl-ink-2);position:relative}
.nav a:hover{text-decoration:none;color:var(--sl-brand)}
.nav a.on{color:var(--sl-brand);font-weight:700}
.nav a.on::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;background:var(--sl-accent);border-radius:3px 3px 0 0}
@media(max-width:1100px){
  .topin{flex-wrap:wrap;gap:0 12px;min-height:0;padding-top:10px}
  .brand{flex:1}
  .nav{order:3;flex:0 0 100%;margin:6px -4px 0}
  .nav a{padding:10px 10px 12px}
  .nav a.on::after{left:10px;right:10px}
}

/* 공통 */
main.wrap{padding-top:22px;padding-bottom:40px}
.pg{font-family:var(--sl-font-head);font-size:24px;margin:6px 0 16px;letter-spacing:-.3px}
.pg small,.sec small{font-size:13px;font-weight:400;color:var(--sl-muted);margin-left:8px}
.sec{font-family:var(--sl-font-head);font-size:18px;margin:30px 0 12px;letter-spacing:-.2px}
.crumb{font-size:13px;color:var(--sl-muted);margin:0 0 6px}
.box{background:var(--sl-surface);border:1px solid var(--sl-line);border-radius:var(--sl-radius);padding:16px 18px;box-shadow:var(--sl-shadow)}
.box p{margin:4px 0}
.empty{background:var(--sl-surface);border:1px dashed var(--sl-line);border-radius:var(--sl-radius);padding:18px;color:var(--sl-muted);font-size:14px}
.empty.sm{padding:10px 14px}
.thin{color:var(--sl-muted);font-size:12.5px;font-weight:400}
/* 숫자 색 = 부호만(국내 관례 플러스 빨강·마이너스 파랑) + 삼각형 — 상태에는 쓰지 않는다(시안 §6) */
.gain,.loss,.flat{font-family:var(--sl-font-num);font-variant-numeric:tabular-nums;white-space:nowrap}
.gain{color:var(--sl-good)}.loss{color:var(--sl-bad)}.flat{color:var(--sl-muted)}   /* 0 = 회색 · 삼각형 없음 (✅ 2026-10-31) */
.gain::before,.loss::before{content:"";display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;margin-right:4px;vertical-align:2px}
.gain::before{border-bottom:6px solid currentColor}.loss::before{border-top:6px solid currentColor}
.warn{color:var(--sl-warn)}
.chip{display:inline-block;font-size:11.5px;font-weight:600;padding:1px 8px;border-radius:999px;white-space:nowrap}
.chip.na{background:var(--sl-surface-2);color:var(--sl-info);font-family:var(--sl-font-num)}
h4{font-size:13px;color:var(--sl-ink-2);margin:12px 0 4px}
h5{font-size:12.5px;color:var(--sl-muted);margin:12px 0 4px;font-weight:600}
ul{margin:0;padding-left:18px}li{margin:2px 0}

/* 홈 */
.hero{margin-bottom:18px}
.tagline{font-family:var(--sl-font-head);font-size:15px;color:var(--sl-ink-2);margin:0 0 12px}
.headline{display:flex;gap:16px;align-items:flex-start;background:var(--sl-surface);border:1px solid var(--sl-line);border-left:5px solid var(--sl-brand);border-radius:var(--sl-radius);padding:18px;box-shadow:var(--sl-shadow)}
.hl-ph{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none;background:var(--sl-surface-2)}
.hl-who{font-size:13px;color:var(--sl-muted)}
.hl-text{font-family:var(--sl-font-head);font-size:19px;font-weight:700;line-height:1.5;margin:4px 0 8px}
.more{font-size:13.5px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media(max-width:860px){.stats{grid-template-columns:repeat(2,1fr)}}
.stat{background:var(--sl-surface);border:1px solid var(--sl-line);border-radius:var(--sl-radius);padding:14px 16px;box-shadow:var(--sl-shadow);min-width:0}
.stat .k{font-size:12.5px;color:var(--sl-muted)}
.stat .v{font-family:var(--sl-font-num);font-size:30px;font-weight:800;letter-spacing:-.5px;line-height:1.25}
.stat .v small{font-size:16px;color:var(--sl-muted);font-weight:600}
.stat .v.sm{font-family:var(--sl-font-body);font-size:15px;font-weight:700;line-height:1.45;margin:6px 0 4px}
.stat .s{font-size:12px;color:var(--sl-muted)}
.strip,.log{display:flex;flex-direction:column;gap:8px}
.day,.logrow{display:grid;grid-template-columns:120px 210px 1fr;gap:4px 14px;align-items:baseline;background:var(--sl-surface);border:1px solid var(--sl-line);border-radius:var(--sl-radius-sm);padding:11px 14px;color:var(--sl-ink)}
.logrow .thin{grid-column:3}
.day:hover,.logrow:hover{text-decoration:none;border-color:var(--sl-brand)}
.dd{font-family:var(--sl-font-num);font-weight:700}
.mt{font-size:13px;color:var(--sl-muted)}
.hl{font-size:14.5px}
@media(max-width:760px){.day,.logrow{grid-template-columns:1fr}.logrow .thin{grid-column:1}}
.faces{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
@media(max-width:900px){.faces{grid-template-columns:repeat(4,1fr)}}
@media(max-width:480px){.faces{grid-template-columns:repeat(3,1fr)}}
.face{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--sl-surface);border:1px solid var(--sl-line);border-radius:var(--sl-radius);padding:12px 6px;color:var(--sl-ink)}
.face:hover{text-decoration:none;border-color:var(--sl-brand)}
.face img{width:72px;height:72px;border-radius:50%;object-fit:cover;background:var(--sl-surface-2)}
.face b{margin-top:6px;font-size:14px}.face span{font-size:11.5px;color:var(--sl-muted);line-height:1.3}

/* 회사 소개 */
.intro .co{font-family:var(--sl-font-head);font-size:22px;font-weight:800}
.intro .co span{font-size:12px;letter-spacing:2px;color:var(--sl-muted);font-weight:600;margin-left:6px}
.principles{counter-reset:p;list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:10px}
.principles li{counter-increment:p;background:var(--sl-surface);border:1px solid var(--sl-line);border-radius:var(--sl-radius);padding:14px 16px 14px 52px;position:relative;font-weight:600;margin:0}
.principles li::before{content:counter(p);position:absolute;left:14px;top:12px;width:26px;height:26px;border-radius:50%;background:var(--sl-brand);color:var(--sl-brand-ink);font-family:var(--sl-font-num);font-size:13px;display:grid;place-items:center}
.org{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:10px}
.orgcard{display:flex;gap:12px;align-items:center;background:var(--sl-surface);border:1px solid var(--sl-line);border-radius:var(--sl-radius);padding:12px;color:var(--sl-ink)}
.orgcard.lead{border-color:var(--sl-brand);background:var(--sl-brand-soft)}
.orgcard:hover{text-decoration:none;border-color:var(--sl-brand)}
.orgcard img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none}
.ot{font-size:12px;color:var(--sl-brand);font-weight:700}.on{font-weight:800}.or{font-size:12.5px;color:var(--sl-muted);line-height:1.45}
.flow{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;counter-reset:f}
@media(max-width:860px){.flow{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.flow{grid-template-columns:1fr}}
.flow li{counter-increment:f;background:var(--sl-surface);border:1px solid var(--sl-line);border-radius:var(--sl-radius);padding:14px 16px;margin:0}
.flow li::before{content:counter(f) " 단계";display:block;font-size:11.5px;color:var(--sl-accent);font-weight:700}
.flow b{display:block}.flow span{font-size:13px;color:var(--sl-muted)}
.flow li:last-child{border-color:var(--sl-accent);background:var(--sl-accent-soft)}

/* 사원증 — 한도현 시안 그대로(세로 CR80 260×412) */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px 18px}
.member{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--sl-ink)}
.member:hover{text-decoration:none}
.member:hover .badge{border-color:var(--sl-accent)}
.minfo{width:260px}
.mrole{font-size:13.5px;color:var(--sl-ink-2)}
.mline{font-size:13px;color:var(--sl-muted)}
.badge-wrap{position:relative;width:260px;padding-top:88px;flex:none}
.strap{position:absolute;left:50%;top:0;width:22px;margin-left:-11px;height:72px;background:var(--sl-brand)}
.strap::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:rgba(255,255,255,.28)}
.clip{position:absolute;left:50%;top:62px;width:30px;height:30px;margin-left:-15px;border-radius:6px;background:#CFCBD6;box-shadow:inset 0 0 0 1px #9C97A6;z-index:3}
.clip::after{content:"";position:absolute;left:50%;top:26px;width:14px;height:26px;margin-left:-7px;border:3px solid #9C97A6;border-top:0;border-radius:0 0 7px 7px}
.badge{position:relative;width:260px;height:412px;background:var(--sl-surface);border:1px solid var(--sl-line);border-radius:15px;box-shadow:var(--sl-shadow);overflow:hidden;color:var(--sl-ink)}
.slot{position:absolute;left:50%;top:20px;width:64px;height:12px;margin-left:-32px;border-radius:6px;background:var(--sl-bg);box-shadow:inset 0 1px 2px rgba(31,26,46,.28)}
.b-brand{position:absolute;top:60px;left:18px;right:18px;height:24px;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700}
.b-brand svg{display:block;flex:none}
.b-photo{position:absolute;top:90px;left:16px;right:16px;height:180px;border:1px solid var(--sl-line);border-radius:10px;overflow:hidden;background:#fff;display:grid;place-items:center;font-size:40px;font-weight:800;color:var(--sl-muted)}
.b-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 0}
.b-name{position:absolute;top:281px;left:20px;right:20px;font-family:var(--sl-font-head);font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.15}
.b-title{position:absolute;top:315px;left:20px;right:20px;font-size:14px;font-weight:600;color:var(--sl-brand);line-height:1.3}
.b-role{position:absolute;top:338px;left:20px;right:20px;font-size:12px;color:var(--sl-muted);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.b-foot{position:absolute;left:0;right:0;bottom:0;height:44px;background:var(--sl-brand);color:var(--sl-brand-ink);display:flex;align-items:center;justify-content:space-between;padding:0 20px}
.b-foot .id{font-family:var(--sl-font-num);font-size:14px;font-weight:600;letter-spacing:.08em}
.b-foot .en{font-family:var(--sl-font-num);font-size:9px;font-weight:600;letter-spacing:.14em}
.badge.control .b-title{color:var(--sl-ink-2)}
.badge.control .b-foot{background:var(--sl-ink-2)}
.idcard{position:relative;display:flex;gap:14px;align-items:center;background:var(--sl-surface);border:1px solid var(--sl-line);border-bottom:4px solid var(--sl-brand);border-radius:12px;padding:20px 14px 14px}
.idcard .lanyard{position:absolute;top:7px;left:50%;width:44px;height:6px;margin-left:-22px;border-radius:4px;background:var(--sl-surface);border:1px solid var(--sl-line)}
.idcard.lead{border-color:var(--sl-brand)}
.idcard.ctrl{border-bottom-color:var(--sl-ink-2)}
.idphoto{width:84px;height:104px;border-radius:8px;overflow:hidden;flex:none;background:#fff;border:1px solid var(--sl-line);display:grid;place-items:center;font-size:28px;font-weight:800;color:var(--sl-muted)}
.idphoto img{width:100%;height:100%;object-fit:cover;object-position:50% 0}
.idco{font-size:11px;color:var(--sl-muted);letter-spacing:.3px}
.idname{font-family:var(--sl-font-head);font-size:20px;font-weight:800;line-height:1.25;margin-top:2px}
.idtitle{font-size:13px;color:var(--sl-brand);font-weight:700}
.idcard.big .idphoto{width:132px;height:164px}
.idcard.big .idname{font-size:26px}
.idcard.mini{padding:16px 10px 10px;gap:10px;flex:1;min-width:0}
.idcard.mini .idphoto{width:60px;height:74px}
.idcard.mini .idname{font-size:17px}
.profile{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start}
@media(max-width:860px){.profile{grid-template-columns:1fr;justify-items:center}.pbody{width:100%}}
.pbody{background:var(--sl-surface);border:1px solid var(--sl-line);border-radius:var(--sl-radius);padding:16px 18px}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;font-size:14px}
@media(max-width:860px){.pgrid{grid-template-columns:1fr}}

/* 회의록 */
.leadbox{background:var(--sl-surface);border:1px solid var(--sl-line);border-left:5px solid var(--sl-brand);border-radius:var(--sl-radius);padding:16px 18px;box-shadow:var(--sl-shadow)}
.lb-who{font-size:12.5px;color:var(--sl-muted)}
.lcols{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;font-size:14px}
@media(max-width:900px){.lcols{grid-template-columns:1fr}}
.warnbox{margin-top:12px;background:var(--sl-accent-soft);border-radius:var(--sl-radius-sm);padding:10px 12px;font-size:13.5px}
.talk{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,400px),1fr));gap:14px}
.tk{background:var(--sl-surface);border:1px solid var(--sl-line);border-radius:var(--sl-radius);padding:12px 14px 14px;font-size:14px;min-width:0}
.tkhead{display:flex;gap:10px;align-items:stretch}
.tkst{display:flex;align-items:flex-start}
.claim{font-weight:700;margin-top:10px;line-height:1.5}
.claim-meta{font-size:12.5px;color:var(--sl-muted);margin-top:4px}
.src{font-size:12px;color:var(--sl-muted);word-break:break-all}
.q{color:var(--sl-ink-2)}
.reply{margin:5px 0;font-size:13.5px}.stance{font-weight:700;color:var(--sl-brand)}
.prob{color:var(--sl-warn);font-size:12.5px;margin-top:6px}
.st{display:inline-block;font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;white-space:nowrap}
.st.present{background:var(--sl-brand-soft);color:var(--sl-brand)}
.st.absent{background:#FBF0E4;color:var(--sl-warn)}
.st.none{background:var(--sl-surface-2);color:var(--sl-muted)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.call{display:inline-block;font-size:12.5px;padding:3px 9px;border-radius:999px;border:1px solid var(--sl-line);background:var(--sl-surface-2);margin:0}
.call.buy{border-color:var(--sl-brand);color:var(--sl-brand);background:var(--sl-brand-soft)}
.call.avoid{border-color:var(--sl-ink-2);color:var(--sl-ink-2)}
.call.short{background:#FBF0E4;color:var(--sl-warn);border-color:transparent}

/* 표 */
.tblwrap{overflow-x:auto;background:var(--sl-surface);border:1px solid var(--sl-line);border-radius:var(--sl-radius)}
table{border-collapse:collapse;width:100%;font-size:13.5px}
th,td{padding:9px 11px;border-bottom:1px solid var(--sl-line);text-align:center;white-space:nowrap}
th{background:var(--sl-surface-2);color:var(--sl-ink-2);font-weight:700;font-size:12.5px}
tr:last-child td{border-bottom:0}
td.nm{text-align:left;font-weight:600}
td.wrapcell{white-space:normal;text-align:left;min-width:220px;max-width:420px}
td{font-variant-numeric:tabular-nums}
.dec{font-weight:800;font-size:12.5px;padding:2px 8px;border-radius:6px}
.dec.ok{background:var(--sl-brand);color:var(--sl-brand-ink)}
.dec.no{background:var(--sl-surface-2);color:var(--sl-muted)}
.dec.hold{background:var(--sl-accent-soft);color:var(--sl-warn)}
.rule{font-size:14px;margin-bottom:14px}
tr.kept td{background:var(--sl-brand-soft)}

/* 주간·연구실 */
.week{margin-bottom:12px;font-size:14px}
.wk-h{font-weight:700;margin-bottom:4px}
.note{margin-bottom:10px}
.note summary{cursor:pointer;font-weight:700}
.note pre{white-space:pre-wrap;font-family:var(--sl-font-body);font-size:13px;line-height:1.6;margin:10px 0 0;max-height:520px;overflow:auto}

/* 발 */
.foot{border-top:1px solid var(--sl-line);background:var(--sl-surface);padding:16px 0 28px;font-size:12.5px;color:var(--sl-muted)}
.foot .disc{color:var(--sl-ink-2);font-weight:600;margin:0 0 4px}
.foot .meta{margin:0}
.footin{display:flex;gap:14px;align-items:flex-start}
.fmark{flex:none;border-radius:7px}

/* 자산운용(✅ 2026-10-29 — 곡선은 보라·회색만. 빨강·파랑은 숫자 부호에만) */
.sub{font-family:var(--sl-font-head);font-size:15px;margin:22px 0 10px}
.plain{margin:0;padding-left:18px;font-size:14px;line-height:1.7}

/* 달력(✅ 2026-10-29) — 휴장은 경고색 계열, 빨강·파랑은 쓰지 않는다(숫자 부호 전용) */
.calbox{background:var(--sl-surface);border:1px solid var(--sl-line);border-radius:var(--sl-radius);padding:12px;margin-bottom:14px;box-shadow:var(--sl-shadow)}
.cal-h{font-family:var(--sl-font-head);font-weight:800;font-size:16px;margin:0 0 8px}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal-wd{font-size:12px;font-weight:700;color:var(--sl-ink-2);text-align:center;padding:2px 0}
.cal-wd.we{color:var(--sl-muted)}
.cal-c{min-height:86px;border:1px solid var(--sl-line);border-radius:var(--sl-radius-sm);padding:4px 5px;font-size:11.5px;line-height:1.35;overflow:hidden;background:var(--sl-bg)}
.cal-c.out{opacity:.35}
.cal-c.we{background:var(--sl-surface-2)}
.cal-c.today{outline:2px solid var(--sl-brand);outline-offset:-1px}
.cal-c.closed{background:#FBF0E4}
.cal-d{font-family:var(--sl-font-num);font-weight:700;font-size:12.5px;margin-bottom:2px}
.cl{display:block;font-weight:700;color:var(--sl-warn);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cl.early{font-weight:600}
.ev{display:block;margin-top:2px;padding:1px 4px;border-radius:4px;background:var(--sl-surface-2);color:var(--sl-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ev.k-FOMC{background:var(--sl-accent-soft)}
.ev.k-실계좌{background:var(--sl-brand);color:var(--sl-brand-ink)}
.ev.k-팀{background:var(--sl-brand-soft)}
.ev.k-만기{background:var(--sl-surface-2);color:var(--sl-ink-2)}
.ev.k-주문서{background:var(--sl-brand-soft);color:var(--sl-brand)}
.cal-met{margin-top:3px;color:var(--sl-muted);font-size:10.5px}
.cal-legend{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;margin:0 0 10px;align-items:center}
.cal-legend .ev,.cal-legend .cl{display:inline-block;margin:0}
@media (max-width:700px){.cal-c{min-height:64px;font-size:10px;padding:3px}.cal{gap:2px}.ev{white-space:normal}}

/* 차트 카드 — 브랜드디자인/seven-lens/charts.md(한도현, ✅ 2026-10-29 Kevin 「자산운영과 성적표에 차트 디자인 적용해죠」)
   마크 = 계열 색(--sl-c*) · 숫자 글자 = 부호색(.gain/.loss · 0 은 .flat 회색) · 표본 부족 = .nv(색 끔) */
.cgrid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;grid-auto-flow:row dense;margin-top:16px}
.ccard{grid-column:span 12;background:var(--sl-surface);border-radius:var(--sl-radius-card);box-shadow:var(--sl-shadow-card);padding:24px;min-width:0;position:relative}
.w8{grid-column:span 8}.w7{grid-column:span 7}.w5{grid-column:span 5}.w4{grid-column:span 4}
@media(max-width:1099px){.w8{grid-column:span 12}.w7,.w5,.w4{grid-column:span 6}}
@media(max-width:759px){.cgrid{gap:14px}.cgrid>*{grid-column:1/-1}.ccard{padding:18px}}
.ch{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}
.ct{font-family:var(--sl-font-head);font-size:15px;font-weight:700;line-height:1.4;margin:0}
.cs{font-size:13px;color:var(--sl-muted);margin-top:2px}
.chero{font-family:var(--sl-font-num);font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;line-height:1.15;letter-spacing:-.01em;margin-top:10px}
.chero .lab{display:block;font:500 13px var(--sl-font-body);color:var(--sl-ink-2);letter-spacing:0;margin-bottom:2px}
.chero>.gain::before,.chero>.loss::before{border-left-width:7px;border-right-width:7px;vertical-align:6px;margin-right:6px}
.chero>.gain::before{border-bottom-width:11px}.chero>.loss::before{border-top-width:11px}
.nw{white-space:nowrap}
.chero .sub{display:block;font:400 12px var(--sl-font-body);color:var(--sl-muted);margin-top:4px;letter-spacing:0}
.clg{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;color:var(--sl-ink);margin-top:8px}
.lk{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.lk .gain,.lk .loss,.lk .nv,.lk .flat{font:600 13px var(--sl-font-num);font-variant-numeric:tabular-nums}
.cfoot{font-size:12px;line-height:1.5;color:var(--sl-muted);margin-top:14px}
.cfoot p{margin:0}
.nv{color:var(--sl-ink-2);font-family:var(--sl-font-num);font-variant-numeric:tabular-nums;white-space:nowrap}
.seg{display:inline-flex;gap:4px;flex:none}
.seg button{height:28px;padding:0 12px;border-radius:999px;border:1px solid var(--sl-line);background:var(--sl-surface);color:var(--sl-ink-2);font:600 13px var(--sl-font-body);cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--sl-brand);border-color:var(--sl-brand);color:var(--sl-brand-ink)}
.jump{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.jump a{height:28px;display:inline-flex;align-items:center;padding:0 12px;border-radius:999px;border:1px solid var(--sl-line);background:var(--sl-surface);color:var(--sl-ink-2);font-size:13px;font-weight:600}
.jump a:hover{text-decoration:none;border-color:var(--sl-brand)}
.ccard .tblwrap{border-radius:var(--sl-radius-inner);margin-top:16px;box-shadow:none}
.ccard>.tblwrap:first-child{margin-top:0}
.ccard hr{border:0;border-top:1px solid var(--sl-line);margin:18px 0 0}
details.cfold{background:var(--sl-surface);border-radius:var(--sl-radius-card);box-shadow:var(--sl-shadow-card);padding:14px 24px}
details.cfold summary{cursor:pointer;font-size:14px;color:var(--sl-ink-2);font-weight:600}
details.cfold[open] summary{margin-bottom:8px}
details.cfold p{margin:4px 0;font-size:14px}
.zone{margin-top:40px}
.zone>.sec{margin-top:0}
.cmsg{font-size:13px;color:var(--sl-muted);text-align:center;margin:10px 0 0}

/* 계열 표시 — 범례·말풍선(선 모양 그대로 14px · 네모 10px) */
.mk{display:inline-block;position:relative;flex:none;width:14px;height:10px;vertical-align:middle}
.mk::before,.mk::after{content:"";position:absolute;box-sizing:border-box}
.mk-team::before,.mk-rnd::before,.mk-idx::before,.mk-put::before{left:0;right:0;top:4px;border-top:2px solid var(--sl-c1)}
.mk-team::after{left:3px;top:1px;width:8px;height:8px;border-radius:50%;background:var(--sl-c1)}
.mk-rnd::before{border-top:2px dashed var(--sl-c2)}
.mk-rnd::after{left:3px;top:1px;width:8px;height:8px;border-radius:50%;background:#fff;border:2px solid var(--sl-c2)}
.mk-idx::before,.mk-put::before{border-top:2px dotted var(--sl-c3)}
.mk-idx::after,.mk-put::after{left:4px;top:2px;width:6px;height:6px;border-radius:1px;background:var(--sl-c3)}
.mk-c1,.mk-c3,.mk-c4,.mk-c6,.mk-track,.mk-hollow,.mk-weak{width:10px;height:10px;border-radius:3px}
.mk-c1{background:var(--sl-c1)}.mk-c3{background:var(--sl-c3)}.mk-c4{background:var(--sl-c4)}.mk-c6{background:var(--sl-c6)}
.mk-track{background:var(--sl-track);box-shadow:inset 0 0 0 1px var(--sl-line)}
.mk-hollow{background:#fff;border:2px solid var(--sl-c2);box-sizing:border-box}
.mk-weak{border:1.5px dashed var(--sl-c3);box-sizing:border-box}
.mk-ring1,.mk-ring2,.mk-ringx{width:12px;height:12px;border-radius:50%;box-sizing:border-box;border:2.5px solid var(--sl-c1)}
.mk-ring2{border-color:var(--sl-c2)}.mk-ringx{border:1.5px dashed var(--sl-c3)}
.bg-c1{background:var(--sl-c1)}.bg-c2{background:var(--sl-c2)}.bg-c3{background:var(--sl-c3)}.bg-c4{background:var(--sl-c4)}.bg-c6{background:var(--sl-c6)}
.bg-track{background:var(--sl-track);box-shadow:inset 0 0 0 1px var(--sl-line)}
.s-c1{stroke:var(--sl-c1)}.s-c2{stroke:var(--sl-c2)}.s-c3{stroke:var(--sl-c3)}.s-c4{stroke:var(--sl-c4)}.s-c6{stroke:var(--sl-c6)}.s-track{stroke:var(--sl-track)}

/* 말풍선 — 흰 바탕(검은 바탕이면 부호색이 글자 기준에 못 미친다) */
.ctip{position:absolute;z-index:20;background:var(--sl-surface);border:1px solid var(--sl-line);border-radius:var(--sl-radius-inner);box-shadow:var(--sl-shadow-tip);padding:10px 12px;min-width:140px;max-width:240px;font-size:13px;pointer-events:none;opacity:0;transition:opacity .12s}
.ctip.on{opacity:1}
.ctip::after{content:"";position:absolute;left:var(--tail,50%);bottom:-6px;width:10px;height:10px;background:var(--sl-surface);border-right:1px solid var(--sl-line);border-bottom:1px solid var(--sl-line);transform:translateX(-50%) rotate(45deg)}
.ctip.below::after{bottom:auto;top:-6px;transform:translateX(-50%) rotate(225deg)}
.ctip.fixed::after{display:none}
.ctip .th{font:12px var(--sl-font-num);font-variant-numeric:tabular-nums;color:var(--sl-muted);margin-bottom:4px}
.ctip .tr{display:flex;align-items:center;gap:8px;line-height:1.75}
.ctip .tn{flex:1;color:var(--sl-ink);white-space:nowrap}
.ctip .tv{font:600 13px var(--sl-font-num);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;color:var(--sl-ink)}
.ctip .tv.gain{color:var(--sl-good)}.ctip .tv.loss{color:var(--sl-bad)}.ctip .tv.nv{color:var(--sl-ink-2)}.ctip .tv.flat{color:var(--sl-muted)}

/* 선 차트(F3·R1) — 선·면·격자는 늘어나는 SVG, 글자·끝 표시는 HTML */
.lc{position:relative;margin-top:16px}
.lc-plot{position:relative;height:240px}
@media(max-width:759px){.lc-plot{height:180px}}
.lc-plot svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.lc .g{stroke:var(--sl-grid);stroke-width:1}
.lc .z{stroke:var(--sl-c3);stroke-width:1}
.lc .l{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.l-team{stroke:var(--sl-c1)}.l-rnd{stroke:var(--sl-c2);stroke-dasharray:6 4}.l-idx,.l-put{stroke:var(--sl-c3);stroke-dasharray:0 4}
.lc .ghost{stroke:var(--sl-track);stroke-dasharray:6 4}.lc .z.ghost{stroke-dasharray:none}
.area{fill:var(--sl-area)}
.lc-y{position:absolute;left:0;transform:translateY(-100%);padding-bottom:2px;font:500 12px var(--sl-font-num);font-variant-numeric:tabular-nums;color:var(--sl-muted);pointer-events:none}
.lc-xa{position:relative;height:18px;margin-top:6px}
.lc-xa span{position:absolute;top:0;transform:translateX(-50%);font:12px var(--sl-font-num);font-variant-numeric:tabular-nums;color:var(--sl-muted);white-space:nowrap}
.lc-xa span.first{transform:none}.lc-xa span.last{transform:translateX(-100%)}
@media(max-width:759px){.lc-xa .xm{display:none}}
.em{position:absolute;transform:translate(-50%,-50%);pointer-events:none;box-sizing:border-box}
.em-team{width:8px;height:8px;border-radius:50%;background:var(--sl-c1);box-shadow:0 0 0 2px #fff}
.em-rnd{width:8px;height:8px;border-radius:50%;background:#fff;border:2px solid var(--sl-c2);box-shadow:0 0 0 2px #fff}
.em-idx,.em-put{width:6px;height:6px;border-radius:1px;background:var(--sl-c3);box-shadow:0 0 0 2px #fff}
.lc-hit{position:absolute;inset:0;cursor:crosshair;touch-action:pan-y;outline:none}
.lc-hit:focus-visible{box-shadow:inset 0 0 0 2px var(--sl-accent);border-radius:8px}
.lc-x{position:absolute;top:0;bottom:0;width:1px;background:rgba(31,26,46,.25);pointer-events:none}
.lc-msg{position:absolute;left:50%;top:50%;transform:translate(-50%,-140%);font-size:13px;color:var(--sl-muted);background:rgba(255,255,255,.9);padding:4px 12px;border-radius:999px;white-space:nowrap;max-width:94%;overflow:hidden;text-overflow:ellipsis}

/* 0 기준 좌우 가로 막대(F1·S2) · 누적 가로 막대(S3) */
.hb{display:flex;flex-direction:column}
.hb-row{display:grid;grid-template-columns:180px minmax(0,1fr) 72px;column-gap:12px;align-items:center;min-height:40px;padding:0 8px;margin:0 -8px;border-radius:var(--sl-radius-inner);outline:none}
.hb-row:hover,.hb-row:focus-visible{background:var(--sl-accent-soft)}
.hb-l{display:flex;align-items:center;gap:8px;min-width:0}
.hb-rank{width:20px;flex:none;font:12px var(--sl-font-num);color:var(--sl-muted)}
.hb-nm{display:flex;align-items:baseline;gap:8px;min-width:0}
.hb-nm b{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hb-nm small{font-size:12px;color:var(--sl-muted);white-space:nowrap}
.hb-p{position:relative;align-self:stretch;min-height:40px}
.hb-z{position:absolute;top:0;bottom:0;width:1px;background:var(--sl-c3)}
.hb-b{position:absolute;top:50%;height:14px;margin-top:-7px;box-sizing:border-box}
.hb-b.pos{border-radius:0 7px 7px 0}.hb-b.neg{border-radius:7px 0 0 7px}
.hb-b.team{background:var(--sl-c1)}.hb-b.eng{background:var(--sl-c3)}
.hb-b.rnd{background:#fff;border:2px solid var(--sl-c2)}
.hb-b.weak{background:transparent;border:1.5px dashed var(--sl-c3)}
.hb-b.tick{width:2px;border-radius:0;border:0}.hb-b.tick.rnd{background:var(--sl-c2)}.hb-b.tick.weak{background:var(--sl-c3)}
.hb-r{text-align:right;font:600 13px var(--sl-font-num);font-variant-numeric:tabular-nums;white-space:nowrap}
.hb-r small{display:block;font:400 12px var(--sl-font-body);color:var(--sl-ink-2)}
.hb-r .chip{margin-left:4px}
.hb.s2 .hb-row{grid-template-columns:96px minmax(0,1fr) 128px;min-height:44px}
.hb.s2 .hb-p{min-height:44px}
.hb.sbk .hb-row{grid-template-columns:96px minmax(0,1fr) 118px;min-height:46px}
.hb.sbk .hb-p{min-height:46px}
.hb .gap{margin-top:8px}
.sb{position:absolute;left:0;top:50%;height:14px;margin-top:-7px;display:flex;gap:2px;min-width:2px}
.sb i{display:block;height:100%}
.sb i:last-child{border-radius:0 7px 7px 0}
.sb i.bg-hollow{background:#fff;border:2px solid var(--sl-c2);box-sizing:border-box}
.hb-zl{display:flex;justify-content:flex-start;font-size:12px;color:var(--sl-muted);gap:6px;align-items:center;margin:0 0 4px}
@media(max-width:759px){
  .hb-row{grid-template-columns:104px minmax(0,1fr) 72px;column-gap:8px}
  .hb-nm{flex-direction:column;gap:0}
  .hb-rank{width:14px}
  .hb.s2 .hb-row{grid-template-columns:64px minmax(0,1fr) 80px}
  .hb.s2 .hb-r .chip{display:block;width:max-content;margin:2px 0 0 auto}
  .hb.sbk .hb-row{grid-template-columns:72px minmax(0,1fr) 104px}
}

/* 도넛(F4) */
.dn{position:relative;width:168px;height:168px;margin:16px auto 0}
@media(max-width:759px){.dn{width:144px;height:144px}}
.dn svg{width:100%;height:100%;display:block;overflow:visible}
.dn-s{fill:none;outline:none}
.dn-s:focus-visible,.dn-s:hover{stroke-opacity:.82}
.dn-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;line-height:1.2}
.dn-c .k{font-size:12px;color:var(--sl-muted)}
.dn-c .v{font:600 28px var(--sl-font-num);margin:2px 0}
.dn-c .s{font-size:12px;color:var(--sl-muted)}
.dl{list-style:none;margin:16px 0 0;padding:0}
.dl li{display:grid;grid-template-columns:10px minmax(0,1fr) auto 48px;gap:8px;align-items:center;font-size:13px;padding:5px 8px;margin:0 -8px;border-radius:var(--sl-radius-inner);outline:none}
.dl li:hover,.dl li:focus-visible{background:var(--sl-accent-soft)}
.dl .sq{width:10px;height:10px;border-radius:3px}
.dl .n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dl .a,.dl .p{font-family:var(--sl-font-num);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.dl .p{color:var(--sl-ink-2)}

/* 진행 링(F6·S4·S1) */
.ring{position:relative;flex:none}
.ring svg{width:100%;height:100%;display:block}
.rg-t{fill:none;stroke:var(--sl-track)}
.rg-t.dash{stroke:var(--sl-c3);stroke-dasharray:3 3}
.rg-a{fill:none;stroke-linecap:round}
.rg-c{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:600 20px var(--sl-font-num);font-variant-numeric:tabular-nums}
.rg-c .nv,.rg-c .flat{font:inherit}
.rbox{display:flex;align-items:center;gap:18px;margin-top:16px}
.rbox .big{font-size:15px;color:var(--sl-ink);font-weight:600}
.rbox .sm{font-size:13px;color:var(--sl-ink-2);margin-top:2px}
.rbox .chip{margin-top:6px}
.trio{display:flex;flex-wrap:wrap;gap:6px 20px}
.trio div{display:flex;flex-direction:column}
.trio span{font-size:12px;color:var(--sl-muted)}
.trio b{font:600 15px var(--sl-font-num);font-variant-numeric:tabular-nums;color:var(--sl-ink)}

/* 보유 종목 범위 막대(F5) */
.rkey{font-size:12px;color:var(--sl-muted);margin:-6px 0 4px}
.rr{padding:14px 8px;margin:0 -8px;border-top:1px solid var(--sl-grid);border-radius:var(--sl-radius-inner);outline:none}
.ch+.rr,.rkey+.rr{border-top:0}
.rr:hover,.rr:focus-visible{background:var(--sl-accent-soft)}
.rr-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.rr-nm{font-size:14px;font-weight:600;min-width:0}
.rr-nm small{font-size:12px;color:var(--sl-muted);font-weight:400;margin-left:6px}
.rr-nm em{font-style:normal;font-size:12px;color:var(--sl-ink-2);font-weight:400;margin-left:6px}
.rr-ret .gain,.rr-ret .loss,.rr-ret .nv,.rr-ret .flat{font:600 15px var(--sl-font-num)}
.rr-trk{position:relative;height:14px;margin:12px 0 4px}
.rr-trk::before{content:"";position:absolute;left:0;right:0;top:4px;height:6px;border-radius:3px;background:var(--sl-track)}
.rr-fill{position:absolute;top:4px;height:6px;background:rgba(84,44,130,.3)}
.rr-tk{position:absolute;top:0;width:2px;height:14px;background:var(--sl-c3);transform:translateX(-50%)}
.rr-tk.e{top:1px;height:12px;background:var(--sl-ink-2)}
.rr-dot{position:absolute;top:7px;width:12px;height:12px;border-radius:50%;background:var(--sl-c1);box-shadow:0 0 0 2px #fff;transform:translate(-50%,-50%)}
.rr-lab{position:relative;display:flex;justify-content:space-between;font:12px var(--sl-font-num);font-variant-numeric:tabular-nums;color:var(--sl-muted);min-height:18px}
.rr-lab .e,.rr-lab .s{position:absolute;top:0;white-space:nowrap}
.rr-lab .short{display:none}
@media(max-width:1099px){.rr-lab .e{display:none}}
@media(max-width:759px){.rr-lab .long{display:none}.rr-lab .short{display:inline}}
.rr-bot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;margin-top:8px;font-size:12px;color:var(--sl-muted)}
.rr-bot b{font-weight:400;color:var(--sl-ink-2)}
.dots{display:inline-flex;gap:4px;vertical-align:middle;margin-right:8px}
.dots i{width:8px;height:8px;border-radius:50%;background:var(--sl-track)}
.dots i.on{background:var(--sl-c1)}
.dbar{display:inline-block;width:80px;height:6px;border-radius:3px;background:var(--sl-track);vertical-align:middle;margin-right:8px;position:relative;overflow:hidden}
.dbar i{position:absolute;left:0;top:0;bottom:0;background:var(--sl-c1)}
.due{font-size:12px;font-weight:600;color:var(--sl-warn);background:#FBF0E4;border-radius:999px;padding:2px 10px}
.ghost-trk{position:relative;height:6px;border-radius:3px;margin:16px 0 6px;background:repeating-linear-gradient(90deg,var(--sl-track) 0 6px,transparent 6px 10px)}

/* 끝난 매매 세로 막대(F6) */
.mb{position:relative;height:96px;margin-top:18px}
.mb-z{position:absolute;left:44px;right:0;height:1px;background:var(--sl-c3)}
.mb-y{position:absolute;left:0;font:12px var(--sl-font-num);font-variant-numeric:tabular-nums;color:var(--sl-muted);line-height:1}
.mb-bars{position:absolute;left:44px;right:0;top:0;bottom:0;display:flex;gap:2px}
.mb-c{position:relative;flex:0 1 10px;min-width:2px;outline:none;cursor:default}
.mb-c::before{content:"";position:absolute;inset:0 -1px}
.mb-b{position:absolute;left:0;right:0;background:var(--sl-c1)}
.mb-b.pos{border-radius:2px 2px 0 0}.mb-b.neg{border-radius:0 0 2px 2px}
.mb-c:hover .mb-b,.mb-c:focus-visible .mb-b{background:var(--sl-c4)}

/* 자리표 진행 링(S1) — concept §8 배치, 로고 아님 */
.seats{position:relative;width:343px;max-width:100%;aspect-ratio:6.6/5.98;margin:12px auto 0}
@media(max-width:759px){.seats{width:290px}}
.seat{position:absolute;width:30.303%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;outline:none}
.seat:focus-visible{box-shadow:0 0 0 2px var(--sl-accent)}
.seat svg{position:absolute;inset:0;width:100%;height:100%}
.seat .in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.25}
.seat .nm{font-size:13px;font-weight:600;color:var(--sl-ink)}
.seat .v{font:600 15px var(--sl-font-num);font-variant-numeric:tabular-nums;color:var(--sl-ink-2)}
.seat .ok{font-size:12px;font-weight:600;color:var(--sl-brand)}
.seat.rnd .ok{color:var(--sl-ink-2)}
.seat.out .nm{color:var(--sl-muted)}.seat.out .v{font:400 12px var(--sl-font-body);color:var(--sl-muted)}

/* 하부 메뉴(✅ 2026-10-29 Kevin 「실계좌 => 투자자 운영리포트 … 메뉴를 서브 메뉴로」)
   넓은 PC(1280px+)는 자산운용에 마우스를 올리면 펼침 · 그보다 좁으면 하부 쪽 위 탭 줄로 오간다 */
.nav-g{position:relative;display:flex;flex:none}
.nav-g>a .caret{display:inline-block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;margin-left:6px;opacity:.55}
.nav .nav-sub{display:none;position:absolute;left:4px;top:100%;min-width:184px;background:var(--sl-surface);border:1px solid var(--sl-line);border-radius:var(--sl-radius-inner);box-shadow:var(--sl-shadow-tip);padding:6px;z-index:10}
.nav .nav-sub a{display:block;padding:9px 12px;border-radius:10px;font-size:14px;font-weight:500;color:var(--sl-ink-2);white-space:nowrap}
.nav .nav-sub a:hover{background:var(--sl-accent-soft);color:var(--sl-brand);text-decoration:none}
.nav .nav-sub a.on{color:var(--sl-brand);font-weight:700}
.nav .nav-sub a.on::after{display:none}
@media(min-width:1280px){.nav{overflow:visible}.nav-g:hover .nav-sub,.nav-g:focus-within .nav-sub{display:block}}
.subnav{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.subnav a{height:32px;display:inline-flex;align-items:center;padding:0 14px;border-radius:999px;border:1px solid var(--sl-line);background:var(--sl-surface);color:var(--sl-ink-2);font-size:14px;font-weight:600}
.subnav a:hover{text-decoration:none;border-color:var(--sl-brand)}
.subnav a.on{background:var(--sl-brand);border-color:var(--sl-brand);color:var(--sl-brand-ink)}
.dl li.sub2{padding-top:0;margin-top:-6px;font-size:12px}
.dl li.sub2 .n{white-space:normal}

/* 팀 리서치 노트(✅ 2026-10-30 Kevin) — 마크다운 본문 */
.rnote{border-top:1px solid var(--sl-line);padding-top:12px;margin-top:14px}
.rnote:first-of-type{border-top:0;margin-top:8px}
.md{font-size:14px;line-height:1.7}
.md h1,.md h2,.md h3{font-family:var(--sl-font-head);font-size:15px;margin:14px 0 6px}
.md table{border-collapse:collapse;width:100%;margin:8px 0;font-size:13px;display:block;overflow-x:auto}
.md th,.md td{border:1px solid var(--sl-line);padding:5px 8px;text-align:left;vertical-align:top}
.md th{background:var(--sl-surface-2)}
.md code{font-family:var(--sl-font-num);font-size:12.5px;background:var(--sl-surface-2);padding:1px 4px;border-radius:4px}
.md ul,.md ol{padding-left:20px}
