.judal-home-body { margin:0; background:#fff; }
.jh-home { color:#222; font-family:Helvetica,Arial,sans-serif; font-size:16px; line-height:1.5; }
.jh-home *, .jh-home *::before, .jh-home *::after { box-sizing:border-box; }
.jh-home a:not(.btn) { color:inherit; text-decoration:none; }
.jh-home a:not(.btn):hover { color:#e74c3c; }
.jh-home :focus-visible { outline:3px solid #2f80ed; outline-offset:2px; }
.jh-sr-only, .jh-skip:not(:focus) { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.jh-skip:focus { position:fixed; top:8px; left:8px; z-index:1050; padding:12px; background:white; }
.jh-header { background:#262626; color:white; }
.jh-header-inner { max-width:var(--jh-content-max); min-height:65px; margin:auto; display:flex; align-items:center; gap:var(--jh-space-md); flex-wrap:wrap; }
.jh-logo img { width:90px; height:38px; object-fit:contain; }
/* Reference navbar's effective desktop padding: Bootstrap 0.5rem per side. */
.jh-top-links { display:flex; gap:10px; align-items:center; }
.jh-top-links a { padding:3px 8px; border-radius:8px; font-weight:700; white-space:nowrap; }
.jh-top-links a[aria-current], .jh-top-links a:hover { background:white; color:#222; }
.jh-account-links { order:4; display:flex; gap:12px; font-size:13px; }
.jh-account-links a { padding:10px 0; }
.jh-account-links a + a { color:#bdbdbd; }
.jh-search { margin-left:auto; display:flex; width:216px; border-radius:5px; overflow:hidden; background:white; }
.jh-search input { width:100%; min-width:0; padding:8px; border:0; font:inherit; font-size:13px; color:#222; }
/* 검색 아이콘은 입력창 왼쪽에 두고 버튼의 키보드 접근성을 유지한다. */
.jh-search button { flex-shrink:0; display:flex; align-items:center; justify-content:center; padding:8px; border:0; background:white; color:#555; }
.jh-search button:hover { color:#222; background:#f3f4f5; }
.jh-search button:focus-visible { outline-offset:-3px; }
.jh-top-links .jh-notification-link { display:inline-flex; align-items:center; gap:4px; }
.jh-badge { display:inline-flex; align-items:center; justify-content:center; background:#dc3545; color:#fff; border-radius:20px; padding:2px 6px; font-size:12px; line-height:1; }
.jh-layout { max-width:var(--jh-content-max); margin:16px auto 0; display:grid; grid-template-columns:var(--jh-sidebar-width) minmax(0,1fr); gap:var(--jh-space-md); align-items:start; }
.jh-layout.jh-layout-full { grid-template-columns:minmax(0,1fr); }
.jh-home .fm-wrap { max-width:100%; }
.jh-treemap .stockTreeMapPage { width:100%; min-width:0; max-width:var(--jh-wide-max); margin-left:auto; margin-right:auto; }
.jh-treemap .stockTreeMapPageTitleRow { flex-wrap:wrap; }
@media (max-width:767px) {
    .jh-treemap #stockTreeMapCapture { padding:16px 0; }
    .jh-treemap .stmIndexRow { width:100%; margin-left:0; justify-content:flex-start; font-size:16px; gap:10px; }
    .jh-treemap .stockTreeMapBottomInfoWrap { flex-wrap:wrap; }
    .jh-treemap .stockTreeMapRateLegend { flex-wrap:wrap; }
    .jh-treemap .stmDownloadBtn { margin-left:0; white-space:normal; }
    .jh-treemap .stockTreeMapControlGroup { max-width:100%; flex-wrap:wrap; }
}
.jh-wide .jh-layout { max-width:none; margin-left:14px; margin-right:14px; }
.jh-wide .jh-header-inner { max-width:none; padding-left:14px; padding-right:20px; }
.jh-search-page .jh-layout { width:calc(100% - 28px); max-width:var(--jh-wide-max); margin-left:auto; margin-right:auto; }
.jh-search-page .jh-header-inner { max-width:calc(var(--jh-wide-max) + 28px); }
.jh-search-page .jh-page-content { overflow:visible; }
.jh-search-page .table-container { overflow-x:auto; padding-bottom:8px; }
.jh-search-page .table-container > table { width:100%; min-width:1100px!important; }
.jh-search-page .table-container:focus-visible { outline:2px solid #e74c3c; outline-offset:2px; }
.jh-navigation { background:#2f2f2f; color:white; border:1px solid #1c1c1c; border-radius:8px 8px 0 0; min-width:0; overflow:hidden; box-shadow:0 1px 4px #00000024; }
@media (min-width:1100px) {
    .jh-board .jh-navigation, .jh-pick .jh-navigation, .jh-mypage .jh-navigation { align-self:stretch; }
}
.jh-navigation > summary { padding:14px 16px; font-weight:700; cursor:pointer; }
.jh-navigation > summary span { font-size:12px; font-weight:400; margin-left:8px; color:#ddd; }
.jh-menu .sidebar-menu { list-style:none; padding:6px 0; margin:0; }
.jh-menu .sidebar-menu li a { display:flex; align-items:center; gap:3px; padding:3px 16px; width:100%; color:white; font-size:14px; overflow-wrap:anywhere; }
.jh-menu .sidebar-menu li a:hover { background:#4a4a4a; }
.jh-menu .sidebar-menu li a.active,
.jh-menu .sidebar-menu li a.active:hover { background:#e74c3c; color:#fff; font-weight:700; }
.jh-page-content { min-width:0; max-width:100%; overflow-x:auto; }
.jh-page-content .table-container { max-width:100%; overflow-x:auto; }
.jh-page-content > .container-fluid { min-width:0!important; }
.jh-page-content > .container-lg { max-width:100%!important; }
.jh-board .jh-page-content { padding:16px; border:1px solid var(--jh-border-color); border-radius:var(--jh-radius); }
.jh-mypage .jh-page-content { padding:var(--jh-space-md); border:1px solid var(--jh-border-color); border-radius:var(--jh-radius); }
.jh-mypage .joinWrap { width:100%; max-width:100%; }
.jh-mypage .formPosition { min-width:0; }
@media (max-width:767px) { .jh-mypage .jh-page-content { padding:12px 0; } }
/* 분류형 서브메뉴 공통 규격: PC 41px, 모바일 최소 44px. */
.jh-menu .sidebar-menu:is(.board-menu, .mypage-menu) li > a { padding:10px 16px; font-size:14px; line-height:1.5; }
/* 참고 게시판 규격. mainSidebar를 쓰는 메인·테마주 계열에는 적용하지 않는다. */
.jh-home.jh-compact-sidebar { --jh-sidebar-width:150px; }
.jh-compact-sidebar .jh-menu .sidebar-menu { padding:0 0 10px; }
.jh-compact-sidebar .jh-menu .sidebar-menu li > a { padding:8px 16px; font-size:16px; line-height:1.5; }
.jh-compact-sidebar .jh-menu .board-menu-personal { padding-top:10px; margin-top:2px; }
.jh-pick .jh-page-content { padding:16px; border:1px solid var(--jh-border-color); border-radius:var(--jh-radius); }
.jh-pick-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:20px; }
.jh-pick-layout > * { min-width:0; }
.jh-pick .pickMarketRateBox { min-width:0; }
.jh-pick .pickItemInner { display:block; }
.jh-pick .pickMarketListWrap { margin-left:0; margin-right:0; padding-left:0!important; padding-right:0!important; }
.jh-pick .pickWrap .container-lg { padding:0; }
.jh-pick .bh-recent li { cursor:pointer; }
.jh-pick .rank-num { display:inline-block; min-width:22px; font-weight:700; color:#e74c3c; }
@media (max-width:1199px) { .jh-pick-layout { grid-template-columns:minmax(0,1fr); } }
@media (max-width:767px) { .jh-pick .jh-page-content { padding:12px; } }
.jh-board .board-menu-personal { border-top:1px solid #555; }
.jh-board-home { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.jh-board-home .bh-box { min-width:0; padding:14px 18px; border-bottom:1px solid #e8e8e8; }
.jh-board-home .bh-box:nth-child(odd) { border-right:1px solid #e8e8e8; }
.jh-board-home .bh-box:nth-last-child(-n+2) { border-bottom:0; }
.jh-board-home h2 { font-size:16px; font-weight:700; margin:0 0 6px; }
.jh-board-home ul { list-style:none; padding:0; margin:0; }
.jh-board-home li + li { border-top:1px dashed #eee; }
.jh-board-home li a { display:flex; align-items:center; gap:6px; padding:8px 2px; }
.jh-board-home .bh-title { flex:0 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
.jh-board-home li a:hover .bh-title { text-decoration:none; }
.jh-board-home .bh-date { flex-shrink:0; margin-left:auto; font-size:12px; color:#888; }
.jh-board-home .bh-rep { color:#eb321a; font-size:12px; font-weight:700; }
.jh-board-home .bh-new { background:#e74c3c; color:#fff; font-size:10px; padding:2px 4px; border-radius:3px; }
.jh-board-home .bh-empty { color:#888; font-size:13px; padding:10px 2px; }
.jh-board-home .bh-rep, .jh-board-home .bh-new { flex-shrink:0; }
.jh-board-home-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:20px; align-items:start; }
.jh-board-home-rail { min-width:0; }
.jh-ad-slot { container-type:inline-size; width:100%; margin-bottom:20px; }
.jh-ad-frame { width:300px; height:250px; margin-inline:auto; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; position:relative; background:#f6f7f9; box-shadow:inset 0 0 0 1px #e2e5ea; color:#777; font-size:14px; }
.jh-ad-frame strong { font-size:18px; color:#555; }
.jh-ad-label { position:absolute; top:8px; left:10px; font-size:11px; color:#888; }
.jh-ad-size-small { display:none; }
.bh-ranking a { display:flex; align-items:baseline; gap:8px; }
.bh-ranking a > span:last-child { min-width:0; overflow-wrap:anywhere; }
.bh-rank-number { flex:0 0 18px; color:#e74c3c; font-weight:700; }
/* 320px phones can have less than 300px inside the page padding. Use another supported size. */
@container (max-width:299px) {
    .jh-ad-frame { width:200px; height:200px; }
    .jh-ad-size-default { display:none; }
    .jh-ad-size-small { display:inline; }
}
.bh-recent h2 { font-size:16px; font-weight:700; border-bottom:2px solid #333; padding-bottom:10px; }
.bh-recent ul { list-style:none; padding:0; margin:0; }
.bh-recent li { border-bottom:1px solid #eee; padding:10px 0; font-size:14px; overflow-wrap:anywhere; }
.bh-recent .bh-rep { color:#eb321a; white-space:nowrap; font-size:12px; }
.bh-ranking { background:#fff; border:1px solid #e8e8e8; border-radius:8px; padding:14px; margin-bottom:14px; box-shadow:0 1px 4px rgba(0,0,0,.14); }
.bh-ranking h2 { border:0; padding-bottom:0; margin-bottom:10px; font-size:16px; font-weight:800; letter-spacing:-.5px; color:#111; }
.bh-ranking li { padding:8px 0; }
.bh-ranking li:last-child { border-bottom:0; }
@media (max-width:1199px) { .jh-board-home-layout { grid-template-columns:minmax(0,1fr); } }
@media (max-width:767px) {
    .jh-board-home { grid-template-columns:minmax(0,1fr); }
    .jh-board-home .bh-box:nth-child(n) { padding:14px 12px; border-right:0; border-bottom:1px solid #e8e8e8; }
    .jh-board-home .bh-box:last-child { border-bottom:0; }
    .jh-board-home li a { min-height:44px; }
}
.jh-board #talkNavWrap_P #talkNav, .jh-board #talkNavWrap_M > .container-lg { display:none!important; }
.jh-board .jh-board-write-heading { margin-top:5px; }
@media (max-width:767px) { .jh-board .jh-board-write-heading { margin-top:0; } }
@media (max-width:767px) { .jh-board .jh-page-content { padding:12px 0; } }
.jh-menu .sidebar-featured { padding-bottom:4px; }
.jh-menu .sidebar-featured a { font-weight:700; }
.jh-menu .sidebar-featured a::before { content:'★'; color:#f2b705; margin-right:6px; font-size:12px; }
.jh-menu .sidebar-section-title { display:block; width:100%; border:0; text-align:left; background:#444; color:white; padding:9px 16px; font-size:17px; font-weight:700; margin-top:8px; }
.jh-menu .sidebar-toggle { cursor:pointer; display:flex; justify-content:space-between; align-items:center; }
.jh-menu .sidebar-toggle::after { content:'▴'; font-size:16px; }
.jh-menu .collapsed .sidebar-toggle::after { content:'▾'; }
.jh-menu .sidebar-collapse { overflow:hidden; }
.jh-menu .collapsed .sidebar-collapse { display:none; }
.jh-menu .theme-cat { display:flex; padding:6px 8px; background:#3a3a3a; }
.jh-menu .tc-btn { flex:1; min-width:0; border:0; background:#555; color:#ddd; font-size:14px; line-height:1; padding:9px 3px; cursor:pointer; }
.jh-menu .tc-btn:first-child { border-radius:3px 0 0 3px; }
.jh-menu .tc-btn:last-child { border-radius:0 3px 3px 0; }
.jh-menu .tc-btn + .tc-btn { border-left:1px solid #3a3a3a; }
.jh-menu .tc-btn.active { background:#e74c3c; color:white; font-weight:700; }
.jh-menu .theme-stock-list .hide { display:none; }
.jh-menu .theme-stock-list a > span { flex-shrink:0; white-space:nowrap; }
.jh-main, .jh-feeds, .jh-market-column { min-width:0; }
.jh-main:focus { outline:none; }
.jh-hero { display:block; border:1px solid #bcbcbc; border-radius:8px; overflow:hidden; margin-bottom:16px; }
.jh-hero-image { display:block; width:100%; height:auto; }
.jh-content-grid { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:var(--jh-space-md); align-items:start; }
.jh-feeds { display:grid; gap:var(--jh-space-md); }
.jh-card { min-width:0; background:white; border:1px solid #e8e8e8; border-radius:8px; padding:16px; box-shadow:0 1px 4px #00000024; }
.jh-card h2 { font-size:16px; font-weight:700; margin:0 0 8px; line-height:1.5; }
.jh-main .table { width:100%; margin:0; color:inherit; }
.jh-feed .table { table-layout:fixed; }
.jh-feed col:first-child { width:112px; }
.jh-feed .table td { overflow-wrap:anywhere; vertical-align:middle; }
.jh-feed .table td:has(.imgFrame) { width:112px; padding-right:12px!important; }
.jh-home .mainTalkWrap td .imgFrame { width:100px; height:70px; border:1px solid #ccc; }
.jh-home .mainTalkWrap p.title { font-size:15px; line-height:1.5; font-weight:700; }
.jh-home .mainTalkWrap p.content { font-size:14px; line-height:1.5; color:#666; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; white-space:normal; overflow-wrap:anywhere; }
.jh-feed .table tr:last-child > td { border-bottom:0; }
.jh-home .jh-popular-title { font-size:21px; font-weight:900; padding:15px 0; margin:var(--jh-space-md) 0 0; border-bottom:1px solid #7c7c7c; }
.jh-board-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.jh-board-box { min-width:0; padding:2px 0; }
.jh-board-box:nth-child(odd) { border-right:1px solid #e8e8e8; padding-right:18px; }
.jh-board-box:nth-child(even) { padding-left:18px; }
.jh-board-box:nth-child(-n+2) { border-bottom:1px solid #e8e8e8; padding-bottom:14px; }
.jh-board-box:nth-child(n+3) { padding-top:14px; }
.jh-board-list { list-style:none; padding:0; margin:0; }
.jh-board-list a { display:flex; gap:3px; align-items:baseline; padding:5px 2px; font-size:14px; }
.jh-board-list a span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.jh-board-list a:hover { text-decoration:underline; }
.jh-board-list small { flex-shrink:0; color:#eb321a; }
.jh-divider { margin:16px 0; border:0; border-top:1px solid #e8e8e8; opacity:1; }
.jh-praise-banner { display:flex; justify-content:space-between; align-items:center; gap:12px; background:linear-gradient(135deg,#e74c3c,#f28c38); color:white!important; border-radius:10px; padding:15px 22px; margin-bottom:16px; box-shadow:0 2px 8px #e74c3c38; container-type:inline-size; color-scheme:only light; }
.jh-praise-banner strong { font-size:min(17px,4.4cqw); font-weight:900; letter-spacing:-.5px; white-space:nowrap; color:#fff; }
.jh-praise-banner > span { flex-shrink:0; border-radius:20px; padding:6px 14px; background:#ffffff38; font-size:13px; font-weight:700; }
.jh-ai-title > span { color:#f36c4f; }
.jh-ai-list { column-count:2; column-gap:24px; list-style:none; margin:0; padding:0; }
.jh-ai-list li { break-inside:avoid; }
.jh-ai-list a { display:flex; justify-content:space-between; gap:8px; padding:8px 0; font-size:14px; }
.jh-ai-list a:hover { background:#ececec; color:inherit; }
.jh-analysis-text { color:#888; white-space:nowrap; }
.jh-right-box { background:#f9f9f9; border:1px solid #e8e8e8; border-radius:8px; padding:14px; box-shadow:0 1px 4px #00000024; }
.jh-right-box h2 { font-size:20px; font-weight:900; line-height:1.5; margin:20px 0 10px; padding-top:20px; border-top:1px solid #e8e8e8; letter-spacing:-1px; }
.jh-market .table { font-size:14px; table-layout:fixed; --bs-table-bg:transparent; }
.jh-market .table th { font-weight:400; }
.jh-market .table th:first-child { width:68%; }
.jh-market .jh-indices { table-layout:auto; font-size:.9em; }
.jh-market .jh-indices th, .jh-market .jh-indices td { font-weight:700; }
.jh-market .jh-indices th:first-child { width:auto; }
.jh-market .jh-indices td, .jh-market .jh-indices th { white-space:nowrap; }
.jh-market-ref { text-align:center; font-size:12px; color:#888; margin:6px 0 12px; }
.jh-related a { display:flex; justify-content:space-between; gap:8px; padding:6px 0; font-size:14px; }
.jh-empty { padding:16px 0!important; color:#777; font-size:14px; }
.jh-footer { grid-column:1 / -1; min-width:0; font-size:16px; overflow-wrap:anywhere; }
.jh-footer > * { max-width:100%; }
/* 모든 리뉴얼 페이지에서 사이드바를 포함한 상단 레이아웃 전체 너비를 따른다. */
.jh-footer > footer { width:100%; max-width:100%!important; padding-left:0; padding-right:0; margin-left:auto!important; margin-right:auto!important; }
.jh-footer { text-align:center; padding:24px 0 36px; color:#3a3a3a; line-height:1.7; }
.jh-footer .bottomNav { height:auto; min-height:50px; line-height:1.5; }
.jh-footer .bottomNav ul { display:flex; justify-content:center; flex-wrap:wrap; gap:8px 0; padding:12px 0; }
@media (min-width:1100px) { .jh-navigation > summary { display:none; } }
@media (max-width:1319px) { .jh-layout { margin-left:12px; margin-right:12px; } .jh-header-inner { padding:8px 12px; } }
@media (max-width:1099px) {
    .jh-layout { grid-template-columns:minmax(0,1fr); gap:14px; }
    .jh-navigation .jh-menu { max-height:65vh; overflow:auto; overscroll-behavior:contain; }
    .jh-header-inner { gap:10px; }
    .jh-top-links { order:5; width:100%; flex-wrap:wrap; gap:4px; }
    .jh-top-links a { padding:8px 12px; }
    .jh-account-links { margin-left:auto; }
    .jh-search { margin-left:auto; width:240px; }
    .jh-praise-banner { flex-wrap:wrap; }
}
@media (max-width:767px) {
    .jh-content-grid, .jh-board-grid { grid-template-columns:minmax(0,1fr); }
    .jh-header-inner { padding:10px 14px; }
    .jh-logo img { width:76px; height:34px; }
    .jh-search { order:4; width:100%; }
    .jh-account-links { order:2; font-size:13px; }
    .jh-top-links { justify-content:flex-start; }
    .jh-top-links a { font-size:13px; padding:9px 12px; }
    .jh-navigation > summary { padding:13px 12px; font-size:14px; }
    .jh-navigation > summary span { font-size:11px; margin-left:6px; }
    .jh-menu .sidebar-menu li a { min-height:44px; }
    .jh-menu .tc-btn { min-height:44px; }
    .jh-menu .sidebar-section-title { min-height:44px; }
    .jh-home .mainTalkWrap td .imgFrame { width:64px; height:52px; }
    .jh-feed .table td:has(.imgFrame) { width:76px; }
    .jh-feed col:first-child { width:76px; }
    .jh-board-box:nth-child(n) { border:0; padding:12px 0; }
    .jh-board-box:nth-child(n):not(:last-child) { border-bottom:1px solid #e8e8e8; }
    .jh-board-list a { padding:10px 2px; }
    .jh-board-list a span { white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow-wrap:anywhere; }
    .jh-ai-list { column-count:1; }
    .jh-praise-banner { padding:15px; }
    .jh-praise-banner strong { font-size:min(15px,4.4cqw); }
}

/* 단독 데이터 화면의 너비는 공탐지수·트리맵 기준으로 통일한다. */
.jh-home.jh-standard-page .jh-layout { width:calc(100% - 24px); max-width:var(--jh-content-max); margin-inline:auto; }
.jh-home.jh-standard-page .jh-header-inner { max-width:var(--jh-content-max); }

/* 코인 화면은 기존 넓은 본문을 유지하고 상단 메뉴도 같은 외곽선에 맞춘다. */
.jh-home.jh-coin-page .jh-header-inner { width:calc(100% - 28px); max-width:var(--jh-wide-max); margin-inline:auto; }

/* 코인 본문은 외곽선과 좌우 안쪽 여백을 없애 상단·푸터와 같은 너비로 표시한다. */
.jh-home.jh-coin-page .jh-page-content { border:0; border-radius:0; padding-inline:0; }

/* 모바일에서도 코인 상단과 본문에 동일한 좌우 여백을 적용한다. */
@media (max-width:767px) { .jh-home.jh-coin-page .jh-header-inner { width:calc(100% - 16px); } }
