@charset "utf-8";
/* =====================================================================
 *  apywa v2 — 단독 통합 스타일 (B안: 신뢰 블루 + 틸 보조)
 *  기존 base/layout/contents.css 를 대체한다.
 *  구성: ① 리셋/전역  ② 색상 토큰  ③ 레이아웃(헤더/푸터)
 *        ④ 컴포넌트(메인)  ⑤ 등급/등락 색(기존값 유지)  ⑥ 반응형
 *  분기점: 모바일 ~767 / 태블릿 768~991 / PC 992~
 * ===================================================================== */

/* ---------- ① 리셋/전역 (기존 base.css 핵심만 계승) ---------- */
* { box-sizing: border-box; }
html, body { height: 100%; }
body {
	margin: 0; padding: 0;
	font-family: "Pretendard", sans-serif;
	font-size: 16px; color: var(--v2-text); font-weight: 400; letter-spacing: -0.02em;
	background: var(--v2-surface);
}
input, select, button, textarea { font-family: "Pretendard", sans-serif; font-weight: 400; font-size: 1em; }
h1,h2,h3,h4,h5,h6,strong,dt,th,b { font-weight: 600; }
a { text-decoration: none; color: inherit; }
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section { display: block; }
div,p,ul,ol,li,img,a,table,td,th,tr,h1,h2,h3,h4,h5,h6,form,input,span,dl,dt,dd { margin: 0; padding: 0; border: none; }
img { border: 0; vertical-align: middle; }
table { border-collapse: collapse; }
ul,ol,li { list-style: none; }
em, i { font-style: normal; }
a, button { transition: .2s ease-out; }
::selection { background: var(--v2-accent); color: #fff; text-shadow: none; }

/* 폼 기본 (기존 base.css 계승 — select 화살표/포커스링 등) */
input { border: 1px solid var(--v2-line); background: var(--v2-surface); color: var(--v2-text); height: 35px; line-height: 35px; border-radius: 5px; vertical-align: middle; }
input[type=button], input[type=submit], button { cursor: pointer; border-radius: 5px; }
input[type=radio] { vertical-align: top; border: none !important; height: auto !important; }
input[type=checkbox] { border: none !important; width: auto !important; height: auto !important; border-radius: 2px; vertical-align: middle; }
select { -moz-appearance: none !important; -webkit-appearance: none !important; appearance: none !important;
	background: #fff url("/images/select_arrow.png") right center no-repeat;
	padding-left: 10px !important; padding-right: 30px !important; border-radius: 5px; }
select::-ms-expand { display: none !important; }
input:focus, select:focus, textarea:focus { outline: solid 2px var(--v2-accent-weak) !important; }
/* v2 검색 input 은 위 기본 높이/테두리를 쓰지 않는다 */
.v2-search-input { border: none !important; height: auto; line-height: normal; }

/* ---------- ② 색상 토큰 (B안) ---------- */
:root {
	--v2-accent: #185FA5;        /* 주색: 신뢰 블루 */
	--v2-accent-dark: #0C447C;
	--v2-accent-weak: #E6F1FB;   /* 옅은 블루 배경 */
	--v2-teal: #0F6E56;          /* 보조: 틸 */
	--v2-teal-weak: #E1F5EE;
	--v2-text: #1A2233;
	--v2-text-sec: #4B5563;
	--v2-text-ter: #98A2B3;
	--v2-border: #E4E7EC;
	--v2-bg-soft: #F2F4F7;
	--v2-footer-bg: #eee;        /* 기존 푸터 배경 유지 */
	--v2-radius: 12px;
	--v2-radius-sm: 8px;

	/* 등락색: 기본(한국) — 상승 red / 하락 blue (기존 c_red/c_blue 계승) */
	--v2-up: red;
	--v2-down: blue;

	/* 11-01 다크모드용 추가 토큰 — 하드코딩 색을 치환한 것 */
	--v2-surface: #fff;          /* 카드·입력창·드롭다운 바탕 */
	--v2-warn-bg: #FAEEDA;  --v2-warn: #854F0B;      /* 유의·예정 */
	--v2-danger-bg: #FCEBEB; --v2-danger: #A32D2D;   /* 종료·오류 */
	--v2-g-a: #2e5de5; --v2-g-b: #2fc669; --v2-g-c: #e5d12e; --v2-g-d: #e59d2e; --v2-g-nr: #e52e2e;   /* 등급색 */
	--v2-star: #F5A524; --v2-star-bg: #FFF8E6;
	--v2-muted-bg: #EEF0F3; --v2-muted: #555;
	--v2-line: #ddd;             /* 기존 input/푸터 구분선 */
	--v2-bar-up: var(--v2-up); --v2-bar-down: var(--v2-down);   /* 변동 이유 막대 (다크에서는 한 단계 눌림) */
}
/* 영어 로케일: 상승 green / 하락 red (서구 관습) */
body.loc-en {
	--v2-up: #1D9E75;
	--v2-down: #A32D2D;
}

/* ---------- ③ 레이아웃: 공통 ---------- */
#wrap { position: relative; min-width: 360px; }
html, body { overflow-x: hidden; }   /* 모바일 가로 스크롤 방지 (11-01) */
.v2-container { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 16px; }
.v2-card { background: var(--v2-surface); border: 0.5px solid var(--v2-border); border-radius: var(--v2-radius); padding: 14px; }
.v2-sec-title { font-size: 15px; font-weight: 600; color: var(--v2-text); margin: 22px 0 10px; }
.v2-sec-title small { font-size: 12px; font-weight: 400; color: var(--v2-text-ter); margin-left: 6px; }
.v2-empty { color: var(--v2-text-ter); font-size: 14px; text-align: center; padding: 14px 0; }

/* 등락 표기 (토큰 기반 — 로케일 분기 자동 반영) */
.v2-up { color: var(--v2-up); }
.v2-down { color: var(--v2-down); }
.v2-flat { color: var(--v2-text-ter); }

/* ---------- ③-1 헤더 (기존 menu.js 동작 호환: #gnavi_btn 표시 여부로 PC/모바일 판별) ---------- */
.v2-header { position: relative; border-bottom: 0.5px solid var(--v2-border); background: var(--v2-surface); z-index: 100; }
.header_guide { position: relative; display: flex; align-items: center; gap: 18px; height: 72px; max-width: 1120px; margin: 0 auto; padding: 0 16px; }
.v2-logo { margin: 0; flex: 0 0 auto; }
.v2-logo img { height: 30px; }

/* PC GNB (가로) */
.v2-header nav { flex: 1 1 auto; }
#gnavibg { display: none; }
#gnavibox { display: flex; justify-content: flex-end; }
#gnavibox > ul { display: flex; gap: 6px; white-space: nowrap; }
nav .gnavi { position: relative; }
nav .gnavi > a { display: block; padding: 24px 14px; font-size: 15px; font-weight: 500; color: var(--v2-text-sec); }
nav .gnavi > a:hover, nav .gnavi > a:focus, nav .gnavi.on > a { color: var(--v2-accent); }
.v2-nav-auth { display: none; }   /* 모바일 메뉴 안 로그인/마이페이지 — ≤767px 에서만 표시 */
nav .gnavi > div { display: none; position: absolute; left: 50%; transform: translateX(-50%); min-width: 200px; background: var(--v2-surface);
	border: 0.5px solid var(--v2-border); border-top: none; border-radius: 0 0 var(--v2-radius-sm) var(--v2-radius-sm);
	box-shadow: 0 10px 20px rgba(0,0,0,.12); z-index: 1111; }
nav .gnavi > div > ul { padding: 10px 0; }
nav .mnavi > a { display: block; padding: 9px 18px; font-size: 14px; color: var(--v2-text-sec); white-space: nowrap; }
nav .mnavi > a:hover, nav .mnavi.on > a { color: var(--v2-accent); background: var(--v2-bg-soft); }
nav .mnavi > ul { display: none; }

/* 아이콘 버튼 (검색 · 언어 · 햄버거) — 기존 이미지 재사용 */
#gnavi_btn { display: none; }
/* 11-02: 아이콘은 ::before 에 그린다 — 다크모드 filter(흰색 반전)가 버튼 배경색까지 반전시켜 탭한 버튼이 흰 사각형으로 보이던 문제 */
.search_btn a, .global_btn a, #gnavi_btn a { display: block; position: relative; width: 40px; height: 40px; overflow: hidden; text-indent: -500px; border-radius: var(--v2-radius-sm); }
.search_btn a::before, .global_btn a::before, #gnavi_btn a::before { content: ''; position: absolute; inset: 0; background-position: center; background-repeat: no-repeat; background-size: 22px; }
.search_btn a:hover, .global_btn a:hover, #gnavi_btn a:hover, .search_btn a:active, .global_btn a:active, #gnavi_btn a:active { background-color: var(--v2-bg-soft); }
.search_btn a::before { background-image: url("/images/icon_search02.png"); }
.global_btn a::before { background-image: url("/images/icon_global.png"); background-size: 28px; }	/* 언어 전환 아이콘은 한 단계 크게 */
#gnavi_btn a::before { background-image: url("/images/icon_menu.png"); }
.v2-header .global_btn { position: relative; }

/* 검색 팝업 (기본 숨김, 기존 common.js가 토글) */
header .search_guide { display: none; position: fixed; left: 0; top: 72px; width: 100%; height: calc(100% - 72px);
	background: rgba(0,0,0,.55); z-index: 1111; padding: 40px 20%; }
header .search_guide .btn_close_all { cursor: pointer; position: absolute; top: 6px; right: 28px; color: #fff; font-size: 44px; line-height: 1; }
header .search_guide_form { width: 100%; height: 50px; background: var(--v2-surface) url("/images/icon_search01.png") 15px center no-repeat; background-size: 20px;
	border-radius: var(--v2-radius-sm); padding: 10px 10px 10px 44px; display: flex; align-items: center; }
header .search_guide_form input { width: 100%; height: 30px; border: none; background: none; outline: none; }
header .search_guide .search_popup_guide { display: none; position: relative; margin-top: 12px; padding: 20px; background: var(--v2-surface);
	border-radius: var(--v2-radius-sm); box-shadow: 0 3px 8px rgba(0,0,0,.3); }
header .search_guide .search_popup_guide .btn_close { cursor: pointer; position: absolute; top: 4px; right: 16px; font-size: 32px; line-height: 1; }
header .search_guide .search_popup_guide h3 { font-size: 16px; margin-bottom: 14px; }
header .search_guide .search_popup_guide .search_contents { overflow-y: auto; max-height: 260px; }
header .search_guide .search_contents .sear_item { border-top: 1px solid var(--v2-border); padding: 8px 0; }
header .search_guide .search_contents .sear_item a { display: flex; align-items: center; gap: 8px; padding: 4px 0; }
header .search_guide .search_contents .sear_item a img { width: 20px; height: 20px; }
header .search_guide .search_contents .sear_item.focused { background: var(--v2-accent-weak); border-radius: 6px; }
header .search_guide .search_contents .sear_item.focused a { color: var(--v2-accent); font-weight: 600; }

/* 언어 팝업 (기본 숨김) */
header .global_guide { display: none; position: absolute; right: 16px; top: 64px; width: 130px; background: var(--v2-surface); border-radius: var(--v2-radius);
	padding: 12px; z-index: 1111; box-shadow: 0 0 10px rgba(0,0,0,.2); }
header .global_guide .btn_close_all { cursor: pointer; position: absolute; top: -6px; right: 6px; font-size: 22px; }
header .global_guide ul li a { display: block; font-size: 14px; padding: 6px 10px; border-radius: 6px; }
header .global_guide ul li a:hover { background: var(--v2-bg-soft); }
header .global_guide ul li a.on { background: var(--v2-accent); color: #fff; }

/* 모바일·태블릿: 햄버거 + 세로 메뉴 (menu.js가 nav 를 slide 로 표시) */
@media (max-width: 991px) {
	.header_guide { height: 64px; padding: 0 16px; gap: 10px; }
	.v2-logo { margin-right: auto; }
	#gnavi_btn { display: block; order: 10; }
	.v2-header nav { display: none; position: absolute; left: 0; top: 64px; width: 100%; z-index: 111; }
	#gnavibox { display: block; width: 100%; background: var(--v2-surface); border-top: 1px solid var(--v2-border); box-shadow: 0 10px 10px rgba(0,0,0,.2); }
	#gnavibox > ul { flex-direction: column; gap: 0; }
	nav .gnavi { border-bottom: 1px solid var(--v2-border); }
	nav .gnavi > a { padding: 16px 5%; color: var(--v2-text); background: url("/images/menu_icon_basic.png") no-repeat calc(100% - 20px) center; }
	nav .gnavi > a.on, nav .gnavi.on > a, nav .gnavi > a:hover { color: #fff; background: var(--v2-accent) url("/images/menu_icon_active.png") no-repeat calc(100% - 20px) center; }   /* .gnavi.on: 서버가 붙이는 현재 메뉴 (menu.js 제거 후 a.on 은 안 생김, 11-06) */
	nav .gnavi > div { position: relative; left: 0; transform: none; width: 100%; min-width: 0; border: none; box-shadow: none; background: var(--v2-bg-soft); border-radius: 0; }
	nav .gnavi.on > div { display: block; }
	nav .mnavi > a { padding: 12px 8%; }
	header .search_guide { top: 64px; height: calc(100% - 64px); padding: 30px 16px; }
	header .global_guide { top: 56px; right: 16px; }
}

/* 시장현황 잠금 */
.v2-lockable.is-locked { color: var(--v2-text-ter); }
.v2-lock, .v2-lock-lg {
	display: inline-block; border: 1.5px solid currentColor; border-radius: 2px;
	width: 9px; height: 7px; position: relative; vertical-align: 0;
}
.v2-lock::before, .v2-lock-lg::before {
	content: ''; position: absolute; top: -4px; left: 1.5px; width: 4px; height: 4px;
	border: 1.5px solid currentColor; border-bottom: none; border-radius: 3px 3px 0 0;
}
.v2-lock-lg { width: 16px; height: 13px; color: var(--v2-accent); }
.v2-lock-lg::before { top: -7px; left: 3px; width: 8px; height: 7px; }

/* 인증 버튼 */
.v2-auth { display: flex; gap: 8px; align-items: center; }
.v2-btn {
	display: inline-block; font-size: 14px; line-height: 1; border-radius: var(--v2-radius-sm);
	padding: 9px 14px; text-align: center; cursor: pointer; white-space: nowrap;
}
.v2-btn-login { background: var(--v2-accent); color: #fff; }
.v2-btn-login:hover { background: var(--v2-accent-dark); }
.v2-btn-mypage { background: var(--v2-accent-weak); color: var(--v2-accent); }
.v2-btn-ghost { border: 0.5px solid var(--v2-border); color: var(--v2-text-sec); }
.v2-btn-block { display: block; width: 100%; }

/* 검색/언어 버튼 (기존 동작 클래스 유지) */
.search_btn, .global_btn { font-size: 14px; }
.search_btn a, .global_btn a { color: var(--v2-text-sec); }

/* 외부 시장 요약바 */
.v2-marketbar {
	display: flex; flex-wrap: wrap; gap: 14px;
	background: var(--v2-accent-weak); color: var(--v2-accent);
	font-size: 13px; padding: 7px 16px;
	/* 배경은 전폭, 내용은 본문 컨테이너(1120px) 좌측선에 정렬 */
	padding-left: max(16px, calc(50% - 560px + 16px));
	padding-right: max(16px, calc(50% - 560px + 16px));
}
.v2-marketbar b { font-weight: 600; }
/* 11-05 헤더 티커: 요약(왼쪽) + TOP30 등급·시세 롤링(남는 폭). 높이 고정으로 레이아웃 튐 방지 */
.v2-marketbar { align-items: center; flex-wrap: nowrap; }
.v2-mb-summary { display: flex; flex-wrap: wrap; gap: 14px; flex: 0 0 auto; }
.v2-ticker { flex: 1 1 auto; min-width: 0; height: 20px; overflow: hidden; position: relative; }
.v2-ticker:empty { display: none; }
.v2-ticker-slide { display: flex; gap: 18px; white-space: nowrap; height: 20px; align-items: center; opacity: 1; transition: opacity .25s; }
.v2-ticker-slide.is-out { opacity: 0; }
.v2-ticker-item { display: inline-flex; align-items: center; gap: 5px; color: var(--v2-accent); text-decoration: none; }
.v2-ticker-item:hover .v2-ticker-name { text-decoration: underline; text-underline-offset: 2px; }
.v2-ticker-rank { font-size: 11px; font-weight: 600; color: var(--v2-text-ter); }
.v2-ticker-name { font-weight: 500; }
.v2-ticker-grade { font-weight: 700; font-size: 12px; padding: 0 5px; border-radius: 4px; background: var(--v2-surface); line-height: 16px; }
.v2-ticker-price { font-weight: 600; font-variant-numeric: tabular-nums; }
.v2-ticker-chg { font-size: 12px; font-weight: 600; }
.v2-ticker-chg.v2-flat { color: var(--v2-text-ter); }
.v2-ticker-src { color: var(--v2-text-ter); font-size: 11px; margin-left: auto; padding-left: 10px; }
@media (max-width: 767px) {
	.v2-marketbar { flex-wrap: wrap; row-gap: 4px; }
	.v2-mb-summary { gap: 10px; }
	.v2-ticker { flex: 1 1 100%; }
	.v2-ticker-src { display: none; }
}
@media (prefers-reduced-motion: reduce) { .v2-ticker-slide { transition: none; } }
/* 다크: 요약바(회색 띠)와 카드 바탕이 비슷해 등급 칸이 묻힘 → 밝은 반투명으로 약하게 구분 */
:root[data-theme="dark"] .v2-ticker-grade { background: rgba(255,255,255,.09); box-shadow: inset 0 0 0 0.5px rgba(255,255,255,.12); }
:root[data-theme="dark"] .v2-ticker-rank { color: var(--v2-text-sec); }

/* ---------- ③-2 푸터 (기존 구조/색 계승) ---------- */
.v2-footer { position: relative; background: var(--v2-footer-bg); display: flex; justify-content: space-between; gap: 24px;
	/* 헤더·본문과 같은 1120px 기준선 */
	padding: 40px max(16px, calc(50% - 560px + 16px)) 60px; }
.v2-footer > div { display: flex; }
.v2-footer address { font-style: normal; padding-left: 50px; line-height: 1.5em; font-size: 0.93em; }
.v2-footer address em { display: inline-block; text-align: center; padding: 0 15px; }
.v2-footer address > p { margin-top: 10px; }
.v2-footer .sns_guide { margin-top: 20px; }
.v2-footer .sns_guide a {
	display: inline-block; width: 45px; height: 45px; overflow: hidden; text-indent: -500px;
	border-radius: 10px; background-color: rgba(0,0,0,0.4);
	background-position: center; background-repeat: no-repeat; margin-right: 6px;
}
.v2-footer .sns_guide .twitter  { background-image: url("/images/footer_sns01.png"); }
.v2-footer .sns_guide .telegram { background-image: url("/images/footer_sns02.png"); }
.v2-footer .sns_guide .youtube  { background-image: url("/images/footer_sns03.png"); }
.v2-footer .sns_guide .linkedin { background-image: url("/images/footer_sns04.png"); }
.v2-footer .sns_guide .blog     { background-image: url("/images/footer_sns05.png"); }
.v2-footer dl { margin-right: 40px; } .v2-footer dl dd { white-space: nowrap; }   /* 메뉴 항목 줄바꿈 방지 */
.v2-footer dl dt { margin-top: 20px; margin-bottom: 5px; }
.v2-footer dl dt:first-of-type { margin-top: 0; }
.v2-footer dl dd a { font-size: 14px; color: var(--v2-text-sec); }
.v2-footer dl a:hover { text-decoration: underline; }
.first_top_go { align-self: flex-start; } .first_top_go img { width: 60px; height: auto; }   /* 맨위로 아이콘 1/2 크기 */

/* ---------- ④ 컴포넌트: 메인 ---------- */
.v2-hero { padding: 26px 0 18px; border-bottom: 0.5px solid var(--v2-border); text-align: center; }
.v2-hero-eyebrow { font-size: 13px; color: var(--v2-text-ter); margin-bottom: 6px; }
.v2-hero-title { font-size: 20px; font-weight: 600; color: var(--v2-text); line-height: 1.4; margin-bottom: 16px; }
.v2-search { display: flex; max-width: 480px; margin: 0 auto; border: 0.5px solid var(--v2-text-ter);
	border-radius: var(--v2-radius-sm); overflow: hidden; background: var(--v2-surface); }
.v2-search-input { flex: 1; border: none; padding: 11px 14px; font-size: 14px; outline: none; height: auto; line-height: normal; }
.v2-search-btn { border: none; background: var(--v2-bg-soft); padding: 0 16px; cursor: pointer; }
.v2-ic-search::before { content: "\1F50D"; font-size: 14px; }

.v2-stats { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin: 16px 0; }
.v2-stat { background: var(--v2-bg-soft); border-radius: var(--v2-radius-sm); padding: 12px; }
.v2-stats .v2-stat-value { display: block; text-align: center; }	/* 메인·시장현황 요약 카드: 라벨은 왼쪽, 숫자만 가운데 */
.v2-stat-label { display: block; font-size: 13px; color: var(--v2-text-sec); margin-bottom: 2px; }
.v2-stat-value { font-size: 20px; font-weight: 600; color: var(--v2-text); }
.v2-stat-value em { font-size: 13px; font-style: normal; font-weight: 400; margin-left: 2px; }

.v2-signal-grid { display: grid; grid-template-columns: 1fr; gap: 10px; }
.v2-signal-head { font-size: 13px; color: var(--v2-text-sec); margin-bottom: 8px; }
.v2-signal-list { }
.v2-signal-list li { padding: 5px 0; font-size: 14px; }
.v2-signal-list a { display: flex; align-items: center; gap: 8px; color: var(--v2-text); }
.v2-signal-list .v2-rank { color: var(--v2-text-ter); width: 16px; }
.v2-signal-list .v2-coin { flex: 1; } .v2-signal-list .v2-symbol { color: var(--v2-text-ter); font-size: 12px; margin-left: 2px; }
.v2-signal-gate { background: var(--v2-accent-weak); border-color: #B5D4F4; display: flex; align-items: center; justify-content: center; }
.v2-gate-inner { text-align: center; padding: 6px; }
.v2-gate-text { font-size: 13px; color: var(--v2-accent); margin: 8px 0 12px; line-height: 1.6; }

.v2-table { width: 100%; border-collapse: collapse; }
.v2-table th { font-size: 12px; font-weight: 400; color: var(--v2-text-sec); text-align: left; padding: 8px 4px; }
.v2-table td { font-size: 14px; color: var(--v2-text); padding: 9px 4px; border-top: 0.5px solid var(--v2-border); }
.v2-table .v2-col-rank { width: 32px; color: var(--v2-text-ter); }
.v2-table .v2-symbol { color: var(--v2-text-ter); font-size: 12px; margin-left: 4px; }
.v2-table .v2-grade { font-weight: 600; }
.v2-table .v2-score { color: var(--v2-text-ter); font-size: 12px; }
.v2-table-more { text-align: center; padding-top: 10px; }
.v2-link-more { font-size: 14px; color: var(--v2-accent); }
.v2-br-mobile { display: inline; }

/* ---------- ⑤ 등급/등락 색 (기존 layout.css 값 그대로 유지) ---------- */
.c_red  { color: red; }
.c_blue { color: blue; }
.level_a  { color: var(--v2-g-a); }
.level_b  { color: var(--v2-g-b); }
.level_c  { color: var(--v2-g-c); }
.level_d  { color: var(--v2-g-d); }
.level_nr { color: var(--v2-g-nr); }
.level_a_bg  { background: var(--v2-g-a) !important; color: #fff !important; }
.level_b_bg  { background: var(--v2-g-b) !important; color: #fff !important; }
.level_c_bg  { background: var(--v2-g-c) !important; color: #fff !important; }
.level_d_bg  { background: var(--v2-g-d) !important; color: #fff !important; }
.level_nr_bg { background: var(--v2-g-nr) !important; color: #fff !important; }
.level_box  { display: inline-block; width: 25px; margin-right: 5px; text-align: center; border-radius: 4px; line-height: 20px; font-size: 14px; }
.score_box  { display: inline-block; width: 45px; text-align: center; border-radius: 4px; line-height: 20px; background: #eee; }

/* 등급 뱃지(메인 Top10/시그널의 .v2-grade)에 등급별 글자색 매핑 도우미 */
.v2-grade.g-a  { color: var(--v2-g-a); }
.v2-grade.g-b  { color: var(--v2-g-b); }
.v2-grade.g-c  { color: var(--v2-g-c); }
.v2-grade.g-d  { color: var(--v2-g-d); }
.v2-grade.g-nr { color: var(--v2-g-nr); }

/* ---------- ⑥ 반응형 ---------- */
@media (min-width: 768px) {
	.v2-hero-title { font-size: 24px; }
	.v2-stats { grid-template-columns: repeat(4,1fr); }
	.v2-signal-grid { grid-template-columns: repeat(3,1fr); }
	.v2-br-mobile { display: none; }
}
@media (min-width: 992px) {
	.v2-hero { padding: 40px 0 28px; }
	.v2-hero-title { font-size: 28px; }
	.v2-sec-title { font-size: 16px; }
	.v2-stat-value { font-size: 22px; }
	.v2-table td { padding: 11px 8px; font-size: 14px; }
	.v2-table th { padding: 10px 8px; }
}
@media (max-width: 767px) {
	.v2-marketbar { font-size: 12px; gap: 10px; }
	/* 헤더: 로고 + 검색·언어·햄버거만. 로그인/마이페이지는 햄버거 메뉴 안으로 (가로 넘침 방지, 11-01) */
	.header_guide { gap: 6px; }
	.v2-header .v2-auth { display: none; }
	.v2-nav-auth { display: flex !important; gap: 8px; padding: 14px 5%; border-bottom: none; background: var(--v2-bg-soft); }
	.v2-nav-auth .v2-btn { flex: 1; text-align: center; justify-content: center; padding: 10px 12px; font-size: 14px; }
	.v2-logo img { height: 26px; }
	/* 푸터: 로고 아래에 회사정보, 항목은 한 줄에 하나씩 */
	.v2-footer { flex-direction: column; padding: 30px 5%; gap: 0; }
	.v2-footer > div:first-child { flex-direction: column; gap: 12px; }
	.v2-footer > div:first-child > p img { height: 28px; }
	.v2-footer address { padding-left: 0; font-size: 14px; }
	.v2-footer address > em, .v2-footer address .v2-biz-br { display: none; }
	.v2-footer address .v2-biz { display: block; line-height: 1.7; }
	.v2-footer .sns_guide a { width: 40px; height: 40px; background-size: 18px; }
	.v2-footer .footer_menu { border-top: 1px solid var(--v2-line); padding-top: 20px; margin-top: 24px; }
}

/* ---------- ⑦ 인증 화면 (로그인·가입·메일인증) ---------- */
.v2-authpage { background: var(--v2-bg-soft); }
.v2-auth-wrap { max-width: 440px; margin: 0 auto; padding: 32px 16px 48px; }
.v2-social-note { font-size: 12px; color: var(--v2-text-ter); line-height: 1.5; margin: 8px 0 2px; text-align: center; } .v2-social-note a { color: var(--v2-text-sec); text-decoration: underline; }
.v2-auth-head { text-align: center; margin-bottom: 20px; }
.v2-auth-head img { height: 32px; }
.v2-auth-card { background: var(--v2-surface); border: 0.5px solid var(--v2-border); border-radius: var(--v2-radius); padding: 28px 24px; }
.v2-auth-title { font-size: 20px; font-weight: 600; text-align: center; margin-bottom: 18px; color: var(--v2-text); }
.v2-auth-desc { font-size: 14px; color: var(--v2-text-sec); text-align: center; line-height: 1.6; margin-bottom: 18px; }
.v2-auth-icon { width: 48px; height: 48px; margin: 0 auto 10px; border-radius: 50%; background: var(--v2-accent-weak); color: var(--v2-accent);
	display: flex; align-items: center; justify-content: center; font-size: 22px; }
.v2-auth-foot { text-align: center; margin-top: 14px; font-size: 14px; }
.v2-auth-foot a { display: inline-block; padding: 10px 18px; color: var(--v2-text-sec); border-radius: 999px; }   /* 탭 영역 확보 (11-01) */
.v2-auth-foot a:hover { background: var(--v2-surface); }
/* 모바일: 화면 맨 아래 가장자리(브라우저 툴바 복귀·제스처 영역)에 링크가 붙지 않도록 여백 확보 */
@media (max-width: 767px) { .v2-auth-wrap { padding: 24px 16px calc(96px + env(safe-area-inset-bottom, 0px)); } }
.v2-auth-links { text-align: center; font-size: 14px; color: var(--v2-text-sec); margin-top: 14px; }
.v2-auth-links a { color: var(--v2-accent); }

.v2-social { display: flex; flex-direction: column; gap: 8px; }
.v2-btn-social { display: block; text-align: center; padding: 12px; border-radius: var(--v2-radius-sm); font-size: 14px; font-weight: 600; }
.v2-btn-kakao  { background: #FEE500; color: #191919; }
.v2-btn-google { background: var(--v2-surface); color: var(--v2-text); border: 1px solid #DADCE0; }
.v2-btn-social:hover { filter: brightness(.96); }

.v2-divider { display: flex; align-items: center; gap: 10px; margin: 18px 0; color: var(--v2-text-ter); font-size: 13px; }
.v2-divider::before, .v2-divider::after { content: ''; flex: 1; height: 0.5px; background: var(--v2-border); }

.v2-form { display: flex; flex-direction: column; gap: 10px; }
.v2-field { display: block; }
.v2-field span { display: block; font-size: 13px; color: var(--v2-text-sec); margin-bottom: 4px; }
.v2-field input { width: 100%; height: 44px; line-height: normal; padding: 0 12px; border: 1px solid var(--v2-border); border-radius: var(--v2-radius-sm); font-size: 14px; }
.v2-field input:focus { border-color: var(--v2-accent); outline: none !important; box-shadow: 0 0 0 3px var(--v2-accent-weak); }
.v2-form .v2-btn-block { margin-top: 6px; padding: 13px; font-size: 14px; font-weight: 600; }

.v2-check { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--v2-text); cursor: pointer; }
.v2-check input { width: 16px; height: 16px; margin: 0; }
.v2-agree { display: flex; flex-direction: column; gap: 8px; padding: 12px; border: 0.5px solid var(--v2-border); border-radius: var(--v2-radius-sm); margin-top: 4px; }
.v2-check-all { padding-bottom: 8px; border-bottom: 0.5px solid var(--v2-border); }
.v2-agree-view { margin-left: auto; font-size: 13px; color: var(--v2-text-ter); text-decoration: underline; }

.v2-alert { border-radius: var(--v2-radius-sm); padding: 11px 14px; font-size: 14px; margin-bottom: 12px; line-height: 1.5; }
.v2-alert-info  { background: var(--v2-accent-weak); color: var(--v2-accent); }
.v2-alert-error { background: var(--v2-danger-bg); color: var(--v2-danger); }

/* 푸터 법적 링크 · B2B */
.v2-footer .v2-legal { margin-top: 8px; font-size: 14px; }
.v2-footer .v2-legal a { color: var(--v2-muted); }
.v2-footer .v2-legal em { padding: 0 8px; }
.v2-footer .v2-footer-b2b { color: var(--v2-text-sec); }   /* 다른 메뉴와 동일 색 (10-30) */

/* ---------- ⑧ 법적 문서 페이지 (약관·개인정보처리방침) ---------- */
.v2-legal-page { max-width: 820px; padding-top: 28px; padding-bottom: 48px; font-size: 14px; line-height: 1.75; color: var(--v2-text); }
.v2-legal-title { font-size: 24px; font-weight: 700; margin-bottom: 4px; }
.v2-legal-meta { color: var(--v2-text-ter); font-size: 13px; margin-bottom: 18px; }
.v2-legal-note { background: var(--v2-bg-soft); border-radius: var(--v2-radius-sm); padding: 10px 14px; font-size: 14px; color: var(--v2-text-sec); margin-bottom: 18px; }
.v2-legal-page h2 { font-size: 16px; font-weight: 600; margin: 26px 0 8px; }
.v2-legal-page p { margin-bottom: 10px; }
.v2-legal-page ol { padding-left: 22px; margin-bottom: 10px; }
.v2-legal-page ol li { list-style: decimal; margin-bottom: 4px; }
.v2-legal-table { width: 100%; border-collapse: collapse; margin: 8px 0 14px; font-size: 14px; }
.v2-legal-table th, .v2-legal-table td { border: 0.5px solid var(--v2-border); padding: 8px 10px; text-align: left; vertical-align: top; }
.v2-legal-table th { background: var(--v2-bg-soft); font-weight: 600; white-space: nowrap; }
.v2-legal-contact { color: var(--v2-text-sec); font-size: 14px; margin-top: 18px; }
@media (max-width: 767px) { .v2-legal-table { display: block; overflow-x: auto; } }

/* ---------- ⑨ 워치리스트 ★ · 한도 모달 ---------- */
.v2-star { background: none; border: 0.5px solid var(--v2-border); border-radius: var(--v2-radius-sm); width: 34px; height: 34px; color: var(--v2-text-ter); font-size: 17px; line-height: 1; cursor: pointer; }
.v2-star.is-on { color: var(--v2-star); border-color: var(--v2-star); background: var(--v2-star-bg); }
.v2-modal { position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.v2-modal-box { position: relative; background: var(--v2-surface); border-radius: var(--v2-radius); padding: 28px 24px 20px; max-width: 360px; width: 100%; text-align: center; }
.v2-modal-box h3 { font-size: 16px; font-weight: 600; margin-bottom: 6px; }
.v2-modal-box p { font-size: 14px; color: var(--v2-text-sec); line-height: 1.6; margin-bottom: 14px; }
.v2-modal-link { display: block; margin-top: 10px; font-size: 13px; color: var(--v2-text-ter); }
.v2-modal-close { position: absolute; top: 6px; right: 10px; border: none; background: none; font-size: 22px; color: var(--v2-text-ter); cursor: pointer; }

/* ---------- ⑩ 코인 상세 ---------- */
.v2-detail { padding-top: 18px; padding-bottom: 40px; display: flex; flex-direction: column; gap: 14px; }
.v2-detail-sec { padding: 18px 16px; }
.v2-detail-h { font-size: 15px; font-weight: 600; margin-bottom: 12px; color: var(--v2-text); }
.v2-detail-h small { font-size: 12px; font-weight: 400; color: var(--v2-text-ter); margin-left: 6px; }
.v2-detail-head { padding: 18px 16px; }
.v2-detail-title { display: flex; align-items: flex-start; gap: 12px; }
.v2-coin-logo { width: 44px; height: 44px; border-radius: 50%; }
.v2-detail-title h1 { font-size: 20px; font-weight: 700; line-height: 1.2; }
.v2-detail-title h1 .v2-symbol { font-size: 14px; color: var(--v2-text-ter); font-weight: 400; margin-left: 4px; }
.v2-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.v2-tags em { font-size: 12px; padding: 2px 8px; border-radius: 6px; background: var(--v2-bg-soft); color: var(--v2-text-sec); }
.v2-tags .v2-tag-caution, .v2-tags .v2-tag-pcaution, .v2-tags .v2-tag-ending { background: var(--v2-warn-bg); color: var(--v2-warn); }
.v2-tags .v2-tag-delisted { background: var(--v2-danger-bg); color: var(--v2-danger); }
.v2-tags .v2-tag-promising { background: var(--v2-teal-weak); color: var(--v2-teal); }
.v2-tags .v2-tag-rising { background: var(--v2-danger-bg); color: red; }
.v2-tags .v2-tag-falling { background: #E6F1FB; color: blue; }
body.loc-en .v2-tags .v2-tag-rising { color: var(--v2-up); } body.loc-en .v2-tags .v2-tag-falling { background: var(--v2-danger-bg); color: var(--v2-down); }
.v2-detail-actions { margin-left: auto; display: flex; gap: 6px; align-items: center; }
.v2-detail-score { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
.v2-stat-wide { grid-column: 1 / -1; }
.v2-stat-sm { font-size: 14px; }
.v2-stat-value.g-a { color: var(--v2-g-a); } .v2-stat-value.g-b { color: var(--v2-g-b); } .v2-stat-value.g-c { color: var(--v2-g-c); } .v2-stat-value.g-d { color: var(--v2-g-d); } .v2-stat-value.g-nr { color: var(--v2-g-nr); }
.v2-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.v2-links img { width: 30px; height: 30px; border-radius: 8px; }
.v2-links img.disabled { opacity: .3; }
.v2-overview { font-size: 14px; line-height: 1.7; color: var(--v2-text); }
.v2-hashtag { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 6px; }
.v2-hashtag span { font-size: 13px; color: var(--v2-accent); background: var(--v2-accent-weak); padding: 3px 9px; border-radius: 12px; }
.v2-detail-grid3, .v2-detail-grid2 { display: grid; grid-template-columns: 1fr; gap: 14px; }
.v2-detail-grid2-tight { gap: 12px; }
.v2-chart { position: relative; height: 220px; }
.v2-chart-sq { height: 240px; }
.v2-chart-wide { height: 280px; }
.v2-echart { width: 100%; height: 100%; }
.v2-detail-single { display: block; }
.v2-trend-table th { text-align: left; font-weight: 500; color: var(--v2-text-sec); font-size: 14px; padding: 8px 4px; }
.v2-trend-table td { padding: 8px 4px; }
.v2-trend { display: inline-block; font-size: 13px; padding: 3px 9px; border-radius: 6px; }
.v2-trend-th1, .v2-trend-th3, .v2-trend-th2 { background: var(--v2-danger-bg); color: var(--v2-danger); } .v2-trend-th2 { background: #FDF3F3; }
.v2-trend-tn { background: var(--v2-bg-soft); color: var(--v2-text-sec); }
.v2-trend-tl1, .v2-trend-tl3, .v2-trend-tl2 { background: #E6F1FB; color: #185FA5; } .v2-trend-tl2 { background: #F1F7FD; }
.v2-exlist { display: flex; gap: 10px; align-items: center; margin-bottom: 8px; }
.v2-exlist dt { font-size: 13px; color: var(--v2-text-sec); width: 34px; }
.v2-exlist dd { display: flex; flex-wrap: wrap; gap: 6px; }
.v2-exlist img { height: 26px; border-radius: 6px; } .v2-exlist img.disabled { opacity: .25; }
.v2-kv { display: flex; flex-direction: column; gap: 8px; }
.v2-kv li { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; font-size: 14px; border-bottom: 0.5px solid var(--v2-border); padding-bottom: 6px; }
.v2-kv li span { color: var(--v2-text-sec); } .v2-kv li strong { text-align: right; } .v2-kv li strong small { color: var(--v2-text-ter); font-weight: 400; margin-left: 4px; }
.v2-kv-sm { font-size: 13px; font-weight: 400; } .v2-kv-sm img { height: 14px; vertical-align: -2px; }
.v2-source { font-size: 12px; color: var(--v2-text-ter); margin-top: 10px; }
.v2-issue dt { font-size: 14px; font-weight: 600; margin-bottom: 6px; white-space: nowrap; }
.v2-issue dd { font-size: 14px; padding: 5px 0; border-bottom: 0.5px solid var(--v2-border); }
.v2-issue dd a { display: flex; align-items: baseline; gap: 8px; color: var(--v2-text); }
.v2-issue dd span { flex: 0 0 auto; color: var(--v2-text-ter); font-size: 13px; font-variant-numeric: tabular-nums; }
.v2-issue dd em { font-style: normal; line-height: 1.5; word-break: keep-all; overflow-wrap: anywhere; }
.v2-table-scroll { overflow-x: auto; }
.v2-history th, .v2-history td { white-space: nowrap; text-align: center; }
.v2-history .v2-td-left { text-align: left; white-space: normal; min-width: 240px; }
.v2-exicon { height: 20px; }
.v2-pager-row { display: flex; justify-content: space-between; align-items: center; margin-top: 12px; gap: 10px; flex-wrap: wrap; }
/* 페이저 공통 스타일은 ⑬ 자산 목록 섹션(.v2-pager / .v2-perpage) 을 같이 쓴다 */
.v2-htabs { display: flex; gap: 6px; flex-wrap: wrap; margin: -2px 0 12px; padding-bottom: 10px; border-bottom: 0.5px solid var(--v2-border); }
.v2-htabs a { display: inline-flex; align-items: center; padding: 5px 12px; border-radius: 999px; border: 0.5px solid var(--v2-border); font-size: 13px; color: var(--v2-text-sec); background: var(--v2-surface); text-decoration: none; }
.v2-htabs a b { font-weight: 500; color: var(--v2-text-ter); margin-left: 5px; font-size: 12px; }
.v2-htabs a.on { background: var(--v2-accent); border-color: var(--v2-accent); color: #fff; font-weight: 600; } .v2-htabs a.on b { color: rgba(255,255,255,.75); }
.v2-history .v2-state { margin-left: 0; font-size: 12px; padding: 2px 7px; } .v2-history .v2-ev-REG, .v2-history .v2-ev-ADH { background: var(--v2-bg-soft); color: var(--v2-text-sec); }
.v2-history .v2-rev { color: var(--v2-text-ter); font-size: 13px; } .v2-history .v2-up { color: var(--v2-teal); font-weight: 600; } .v2-history .v2-down { color: var(--v2-danger); font-weight: 600; } .v2-history .v2-td-left small { color: var(--v2-text-ter); }
.v2-share-sns { display: flex; justify-content: center; gap: 10px; margin: 10px 0 14px; }
.v2-share-sns button { border: none; background: none; cursor: pointer; } .v2-share-sns img { width: 44px; height: 44px; border-radius: 12px; }
.v2-share-copy { display: flex; gap: 6px; } .v2-share-copy input { flex: 1; font-size: 13px; }
.v2-disclaimer { font-size: 13px; color: var(--v2-text-ter); line-height: 1.6; padding: 0 4px; }
/* 게이팅 */
.v2-gate-wrap { position: relative; }
.v2-gate-blur { filter: blur(5px); pointer-events: none; user-select: none; display: flex; flex-direction: column; gap: 14px; }
.v2-gate-skel { height: 160px; background: linear-gradient(90deg, var(--v2-bg-soft), #E9EDF3, var(--v2-bg-soft)); border-radius: 8px; }
.v2-gate-box { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 20px; }
/* 11-01: 요소별 흰 반투명 배경 → 하나의 카드(테마 토큰) 로 통합, 상하 간격 확대 */
.v2-gate-card { display: flex; flex-direction: column; align-items: center; text-align: center; width: 100%; max-width: 420px; padding: 28px 24px 24px;
	background: var(--v2-surface); border: 1px solid var(--v2-border); border-radius: 14px; box-shadow: 0 8px 28px rgba(0,0,0,.12); }
.v2-gate-card .v2-lock-lg { width: 22px; height: 18px; } .v2-gate-card .v2-lock-lg::before { top: -9px; left: 4px; width: 12px; height: 10px; }
.v2-gate-card h3 { font-size: 17px; font-weight: 600; color: var(--v2-accent); margin: 16px 0 10px; }
.v2-gate-card p { font-size: 14px; color: var(--v2-text-sec); line-height: 1.7; margin: 0 0 20px; max-width: 360px; }
.v2-gate-card .v2-btn-block { width: 100%; max-width: 280px; padding: 11px 16px; }
.v2-gate-login { margin-top: 14px; font-size: 13px; color: var(--v2-text-sec); text-decoration: underline; text-underline-offset: 3px; }
.v2-gate-login:hover { color: var(--v2-accent); }
@media (min-width: 768px) {
	.v2-detail-score { grid-template-columns: 1fr 1fr 2fr; } .v2-stat-wide { grid-column: auto; }
	.v2-detail-grid3 { grid-template-columns: repeat(3, 1fr); }
	.v2-detail-grid2 { grid-template-columns: 1fr 1fr; }
	.v2-detail-title h1 { font-size: 24px; }
}

/* ---------- ⑪ 시장현황 ---------- */
.v2-market { padding-top: 18px; padding-bottom: 40px; display: flex; flex-direction: column; gap: 14px; }
.v2-market-head h1 { font-size: 22px; font-weight: 700; }
.v2-market-sub { font-size: 14px; color: var(--v2-text-sec); margin-top: 4px; }
.v2-market-grid2, .v2-market-grid3 { display: grid; grid-template-columns: 1fr; gap: 14px; }
.v2-market .v2-sec-title { margin: 8px 0 -4px; }
.v2-h-link { float: right; font-size: 13px; font-weight: 400; color: var(--v2-accent); }
.v2-stats-2 { grid-template-columns: 1fr 1fr; margin: 0; }
.v2-stat-value em { font-size: 14px; font-style: normal; margin-left: 4px; }
.v2-mini-logo { width: 22px; height: 22px; border-radius: 50%; vertical-align: middle; margin-right: 6px; }
.v2-list li { border-top: 0.5px solid var(--v2-border); }
.v2-list li:first-child { border-top: none; }
.v2-list li a, .v2-list li > span { display: flex; align-items: center; gap: 8px; padding: 8px 0; font-size: 14px; color: var(--v2-text); }
.v2-list-vol li { display: flex; align-items: center; gap: 8px; padding: 6px 0; font-size: 14px; }
.v2-list .v2-coin { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2-list .v2-coin small { color: var(--v2-text-ter); font-size: 12px; }
.v2-list .v2-grade { font-weight: 600; min-width: 24px; text-align: right; }
.v2-list .v2-score { color: var(--v2-text-ter); font-size: 13px; min-width: 34px; text-align: right; }
.v2-list-ev .v2-ev-date { color: var(--v2-text-ter); font-size: 12px; min-width: 34px; }
.v2-wl-grid { display: grid; grid-template-columns: 1fr; gap: 8px; }
.v2-wl-item { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 8px; padding: 10px 12px; border: 0.5px solid var(--v2-border); border-radius: var(--v2-radius-sm); background: var(--v2-bg-soft); font-size: 14px; }
.v2-wl-name small { color: var(--v2-text-ter); } .v2-wl-grade { white-space: nowrap; } .v2-wl-grade .v2-grade { font-weight: 600; }
.v2-state { font-size: 10px; padding: 1px 6px; border-radius: 5px; margin-left: 6px; background: var(--v2-bg-soft); color: var(--v2-text-sec); font-style: normal; }
.v2-state-C, .v2-state-P, .v2-state-E { background: var(--v2-warn-bg); color: var(--v2-warn); } .v2-state-D { background: var(--v2-danger-bg); color: var(--v2-danger); } .v2-state-A { background: var(--v2-teal-weak); color: var(--v2-teal); }
.v2-reason-grid { display: grid; grid-template-columns: 1fr; gap: 10px; }
.v2-reason { display: block; padding: 12px; border: 0.5px solid var(--v2-border); border-radius: var(--v2-radius-sm); }
.v2-reason-head { display: flex; align-items: center; gap: 6px; font-size: 14px; } .v2-reason-head small { color: var(--v2-text-ter); } .v2-reason-delta { margin-left: auto; font-weight: 600; }
.v2-reason-factors { margin-top: 8px; display: flex; flex-direction: column; gap: 5px; }
.v2-reason-factors li { display: grid; grid-template-columns: 76px 1fr 48px; align-items: center; gap: 8px; font-size: 13px; color: var(--v2-text-sec); }
.v2-reason-factors li > :last-child { text-align: right; }
.v2-bar { display: block; height: 6px; background: var(--v2-bg-soft); border-radius: 3px; overflow: hidden; } .v2-bar > i { display: block; height: 100%; border-radius: 3px; }
.v2-reason-date { font-size: 12px; color: var(--v2-text-ter); margin-top: 8px; }
.v2-ex-table th, .v2-ex-table td { text-align: left; white-space: nowrap; } .v2-ex-table small { font-size: 12px; margin-left: 4px; }
.v2-filters { float: right; display: flex; gap: 6px; } .v2-filters select { height: 30px; line-height: 30px; font-size: 13px; padding-left: 8px !important; padding-right: 24px !important; background-size: 10px; }
.v2-top30 th, .v2-top30 td { white-space: nowrap; } .v2-top30 .v2-muted { color: var(--v2-text-ter); } .v2-top30 .v2-grade { font-weight: 600; } .v2-top30 .v2-col-ex { display: none; }
.v2-star-sm { width: 28px; height: 28px; font-size: 14px; }
.v2-b2b-cta { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; background: var(--v2-accent-weak); border-radius: var(--v2-radius); padding: 18px 20px; }
.v2-b2b-cta b { font-size: 15px; color: var(--v2-accent); } .v2-b2b-cta p { font-size: 14px; color: var(--v2-text-sec); margin-top: 4px; }
@media (min-width: 768px) {
	.v2-market-grid2 { grid-template-columns: 1fr 1fr; } .v2-market-grid3 { grid-template-columns: repeat(3, 1fr); }
	.v2-wl-grid { grid-template-columns: repeat(2, 1fr); } .v2-reason-grid { grid-template-columns: repeat(3, 1fr); }
	.v2-top30 .v2-col-ex { display: table-cell; } .v2-b2b-cta { flex-direction: row; align-items: center; justify-content: space-between; }
}
@media (min-width: 992px) { .v2-wl-grid { grid-template-columns: repeat(3, 1fr); } }

/* ---------- ⑫ 마이페이지 ---------- */
.v2-mypage { padding-top: 18px; padding-bottom: 40px; display: grid; grid-template-columns: 1fr; gap: 14px; }
.v2-mypage-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 14px; }
.v2-mypage-head h1 { font-size: 22px; font-weight: 700; }
.v2-mypage-who { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--v2-text-sec); }
.v2-mypage-who b { color: var(--v2-text); }
.v2-plan { display: inline-block; font-size: 12px; font-weight: 600; padding: 2px 8px; border-radius: 999px; background: var(--v2-bg-soft); color: var(--v2-text-sec); }
.v2-plan-basic { background: var(--v2-accent-weak); color: var(--v2-accent); }
.v2-plan-pro, .v2-plan-enterprise { background: var(--v2-teal-weak); color: var(--v2-teal); }
.v2-plan-lg { font-size: 14px; padding: 4px 12px; }
.v2-mypage-nav { display: flex; gap: 4px; overflow-x: auto; border-bottom: 0.5px solid var(--v2-border); -webkit-overflow-scrolling: touch; }
.v2-mypage-nav a { flex: 0 0 auto; padding: 10px 12px; font-size: 14px; color: var(--v2-text-sec); border-bottom: 2px solid transparent; margin-bottom: -0.5px; white-space: nowrap; }
.v2-mypage-nav a.on { color: var(--v2-accent); border-bottom-color: var(--v2-accent); font-weight: 600; }
.v2-mypage-nav .v2-mypage-logout { margin-left: auto; color: var(--v2-text-ter); font-size: 14px; }
.v2-mypage-body { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.v2-mypage-grid { display: grid; grid-template-columns: 1fr; gap: 14px; }
.v2-mp-sec .v2-detail-h { margin-bottom: 10px; }
.v2-mp-sub { font-size: 14px; font-weight: 600; margin: 16px 0 8px; color: var(--v2-text); }
.v2-mp-desc { font-size: 14px; color: var(--v2-text-sec); line-height: 1.6; margin-bottom: 12px; }
.v2-mp-note { font-size: 13px; color: var(--v2-text-ter); margin-top: 8px; }
.v2-mp-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 14px; padding: 8px 0; }
.v2-mp-label { color: var(--v2-text-ter); min-width: 72px; }
.v2-hint { font-size: 13px; color: var(--v2-text-ter); margin-top: -4px; }
.v2-mp-form { max-width: 440px; }
.v2-form-actions { margin-top: 8px; }
.v2-form-actions .v2-btn { padding: 10px 18px; font-size: 14px; font-weight: 600; }
.v2-btn-xs { padding: 4px 10px; font-size: 13px; }
.v2-btn-danger { background: var(--v2-danger); color: #fff; } .v2-btn-danger:disabled { opacity: .4; cursor: not-allowed; }
.v2-mp-danger { border-color: #F3C9C9; } .v2-mp-danger .v2-detail-h { color: var(--v2-danger); }
.v2-ok { color: var(--v2-teal); font-weight: 600; } .v2-fail { color: var(--v2-danger); } .v2-muted { color: var(--v2-text-ter); } .v2-nowrap { white-space: nowrap; }
/* 플랜 */
.v2-plan-now { display: flex; flex-direction: column; gap: 6px; padding: 12px; background: var(--v2-bg-soft); border-radius: var(--v2-radius-sm); font-size: 14px; color: var(--v2-text-sec); }
.v2-plan-now small { font-size: 12px; color: var(--v2-text-ter); }
.v2-wl-meter { height: 6px; background: var(--v2-surface); border: 0.5px solid var(--v2-border); border-radius: 3px; overflow: hidden; } .v2-wl-meter i { display: block; height: 100%; background: var(--v2-accent); }
.v2-plan-list { display: grid; grid-template-columns: 1fr; gap: 8px; }
.v2-plan-list li { display: grid; grid-template-columns: 64px 1fr auto auto; align-items: center; gap: 8px; padding: 10px 12px; border: 0.5px solid var(--v2-border); border-radius: var(--v2-radius-sm); font-size: 14px; }
.v2-plan-list li.is-current { border-color: var(--v2-accent); background: var(--v2-accent-weak); }
.v2-plan-list li span { color: var(--v2-text-sec); white-space: nowrap; } .v2-plan-list li em { font-style: normal; font-weight: 600; white-space: nowrap; }
/* 아주 좁은 화면(≤400px): 한 줄에 다 못 들어가므로 2행 — [플랜명 · 가격] / [관심자산 n · 버튼] (11-02) */
@media (max-width: 400px) {
	.v2-plan-list li { grid-template-columns: 1fr auto; row-gap: 4px; }
	.v2-plan-list li > b { grid-column: 1; grid-row: 1; }
	.v2-plan-list li > em { grid-column: 2; grid-row: 1; }
	.v2-plan-list li > span:not(.v2-plan-cur) { grid-column: 1; grid-row: 2; }
	.v2-plan-list li > .v2-plan-cur, .v2-plan-list li > .v2-btn { grid-column: 2; grid-row: 2; justify-self: end; }
}
.v2-plan-cur { font-size: 12px; color: var(--v2-accent) !important; font-weight: 600; }
/* 알림 */
.v2-noti-list li { display: grid; grid-template-columns: auto 1fr auto; gap: 8px; align-items: center; padding: 8px 0; border-top: 0.5px solid var(--v2-border); font-size: 14px; }
.v2-noti-list li:first-child { border-top: none; } .v2-noti-list time { color: var(--v2-text-ter); font-size: 13px; white-space: nowrap; } .v2-noti-list small { color: var(--v2-text-ter); white-space: nowrap; }
.v2-opt { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border: 0.5px solid var(--v2-border); border-radius: var(--v2-radius-sm); cursor: pointer; font-size: 14px; }
.v2-opt input { width: 16px; height: 16px; margin-top: 2px; flex: 0 0 auto; } .v2-opt span { display: flex; flex-direction: column; gap: 2px; } .v2-opt small { color: var(--v2-text-sec); font-size: 13px; }
.v2-radio-row { display: flex; flex-wrap: wrap; gap: 10px 18px; }
/* 환경설정: 이 기기 테마 상태 (11-02) — data-state 는 v2.js 가 localStorage 를 보고 정한다 */
.v2-mp-desc-sm { font-size: 13px; color: var(--v2-text-ter); }
.v2-mp-device { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 4px 0 8px; padding: 10px 12px; font-size: 13px; color: var(--v2-text-sec); background: var(--v2-bg-soft); border-radius: var(--v2-radius-sm); }
.v2-mp-device b { color: var(--v2-text); } .v2-mp-device strong { color: var(--v2-accent); font-weight: 600; }
.v2-mp-device .v2-mp-device-own { display: none; align-items: center; gap: 8px; flex-wrap: wrap; }
.v2-mp-device[data-state="device"] .v2-mp-device-inherit { display: none; } .v2-mp-device[data-state="device"] .v2-mp-device-own { display: inline-flex; }
.v2-mp-device .v2-btn-sm { padding: 4px 10px; font-size: 12px; }
.v2-noti-table td { vertical-align: top; } .v2-noti-detail { margin-top: 4px; font-size: 13px; } .v2-noti-detail summary { color: var(--v2-accent); cursor: pointer; }
.v2-noti-detail ul { margin-top: 4px; display: flex; flex-direction: column; gap: 2px; color: var(--v2-text-sec); } .v2-noti-detail li span { margin-left: 6px; }
/* 워치리스트 관리 */
.v2-table-wrap { overflow-x: auto; }
.v2-wl-table td, .v2-wl-table th { white-space: nowrap; vertical-align: middle; } .v2-wl-asset { display: inline-flex; align-items: center; color: var(--v2-text); }
.v2-wl-table .v2-col-state, .v2-wl-table .v2-col-date { display: none; }
.v2-inline-form { display: inline; }
.v2-switch { display: inline-flex; align-items: center; gap: 6px; background: none; border: none; cursor: pointer; font-size: 13px; color: var(--v2-text-ter); padding: 0; }
.v2-switch i { display: inline-block; width: 32px; height: 18px; border-radius: 9px; background: #CFD4DC; position: relative; transition: .15s; }
.v2-switch i::after { content: ''; position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; border-radius: 50%; background: var(--v2-surface); transition: .15s; }
.v2-switch.is-on { color: var(--v2-accent); } .v2-switch.is-on i { background: var(--v2-accent); } .v2-switch.is-on i::after { left: 16px; }
/* 계정 */
.v2-id-list li { display: flex; align-items: center; justify-content: space-between; padding: 10px 0; border-top: 0.5px solid var(--v2-border); font-size: 14px; }
.v2-id-list li:first-child { border-top: none; } .v2-id-name { color: var(--v2-text); }
.v2-quick { display: flex; flex-wrap: wrap; gap: 8px; } .v2-quick a { padding: 8px 12px; border: 0.5px solid var(--v2-border); border-radius: var(--v2-radius-sm); font-size: 14px; color: var(--v2-accent); }
@media (min-width: 768px) {
	.v2-mypage { grid-template-columns: 180px 1fr; }
	.v2-mypage-head { grid-column: 1 / -1; }
	.v2-mypage-nav { flex-direction: column; gap: 2px; border-bottom: none; border-right: 0.5px solid var(--v2-border); padding-right: 14px; overflow: visible; align-self: start; position: sticky; top: 80px; }
	.v2-mypage-nav a { padding: 9px 10px; border-bottom: none; border-radius: var(--v2-radius-sm); margin-bottom: 0; }
	.v2-mypage-nav a.on { background: var(--v2-accent-weak); }
	.v2-mypage-nav .v2-mypage-logout { margin-left: 0; margin-top: 12px; }
	.v2-mypage-grid { grid-template-columns: 1fr 1fr; }
	.v2-wl-table .v2-col-state, .v2-wl-table .v2-col-date { display: table-cell; }
}

/* ---------- ⑬ 등급현황 목록 ---------- */
.v2-list { padding-top: 18px; padding-bottom: 40px; display: flex; flex-direction: column; gap: 12px; }
.v2-list-head h1 { font-size: 22px; font-weight: 700; } .v2-list-head h1 small { font-size: 15px; font-weight: 500; color: var(--v2-accent); }
.v2-list-sub { font-size: 14px; color: var(--v2-text-sec); margin-top: 4px; line-height: 1.5; }
.v2-chips { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; -webkit-overflow-scrolling: touch; scrollbar-width: none; } .v2-chips::-webkit-scrollbar { display: none; }
.v2-chips a { flex: 0 0 auto; padding: 6px 12px; border-radius: 999px; border: 0.5px solid var(--v2-border); font-size: 14px; color: var(--v2-text-sec); background: var(--v2-surface); white-space: nowrap; }
.v2-chips a.on { background: var(--v2-accent); border-color: var(--v2-accent); color: #fff; font-weight: 600; }
/* 필터 */
.v2-filter { padding: 0; }
.v2-filter-toggle { display: flex; align-items: center; gap: 6px; width: 100%; padding: 12px 14px; background: none; border: none; font-size: 14px; font-weight: 600; color: var(--v2-text); text-align: left; cursor: pointer; }
.v2-filter-toggle em { font-style: normal; font-size: 12px; background: var(--v2-accent); color: #fff; border-radius: 999px; padding: 1px 7px; }
.v2-filter-toggle i { margin-left: auto; width: 8px; height: 8px; border-right: 1.5px solid var(--v2-text-ter); border-bottom: 1.5px solid var(--v2-text-ter); transform: rotate(45deg); transition: .15s; }
.v2-filter-toggle.is-open i { transform: rotate(-135deg); }
.v2-filter-body { display: none; padding: 0 14px 14px; border-top: 0.5px solid var(--v2-border); }
.v2-filter-row { display: flex; flex-direction: column; gap: 6px; padding: 10px 0; border-bottom: 0.5px dashed var(--v2-border); }
.v2-filter-label { font-size: 13px; color: var(--v2-text-ter); }
.v2-chipset { display: flex; flex-wrap: wrap; gap: 6px; }
.v2-chipset-scroll { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 2px; scrollbar-width: thin; }
.v2-chip { position: relative; cursor: pointer; } .v2-chip input { position: absolute; opacity: 0; width: 0; height: 0; }
.v2-chip span { display: inline-block; padding: 5px 10px; border-radius: 6px; border: 0.5px solid var(--v2-border); font-size: 13px; color: var(--v2-text-sec); background: var(--v2-surface); white-space: nowrap; user-select: none; }
.v2-chip input:checked + span { background: var(--v2-accent-weak); border-color: var(--v2-accent); color: var(--v2-accent); font-weight: 600; }
.v2-chip input:focus-visible + span { box-shadow: 0 0 0 3px var(--v2-accent-weak); }
.v2-filter-actions { display: flex; justify-content: flex-end; gap: 8px; padding-top: 12px; } .v2-filter-actions .v2-btn { padding: 9px 16px; font-size: 14px; }
/* 표 */
.v2-list-card { padding: 0; overflow: hidden; }
.v2-list-bar { display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; font-size: 14px; color: var(--v2-text-sec); border-bottom: 0.5px solid var(--v2-border); } .v2-list-bar small { color: var(--v2-text-ter); font-size: 12px; }
.v2-list-table th, .v2-list-table td { padding-left: 10px; padding-right: 10px; }
.v2-list-table th { white-space: nowrap; position: sticky; top: 0; background: var(--v2-surface); z-index: 1; }
.v2-list-table th.v2-sortable { cursor: pointer; user-select: none; } .v2-list-table th.v2-sortable:hover { color: var(--v2-accent); }
.v2-list-table th.v2-sortable::after { content: '↕'; margin-left: 4px; color: var(--v2-border); font-size: 10px; }
.v2-list-table th.is-desc::after { content: '↓'; color: var(--v2-accent); } .v2-list-table th.is-asc::after { content: '↑'; color: var(--v2-accent); }
.v2-list-table tbody tr:hover td { background: var(--v2-bg-soft); }
.v2-asset { display: inline-flex; align-items: center; gap: 6px; color: var(--v2-text); font-weight: 500; } .v2-asset .v2-mini-logo { margin-right: 0; } .v2-asset small { color: var(--v2-text-ter); font-size: 12px; }
.v2-ex-logo { width: 20px; height: 20px; vertical-align: middle; margin-right: 2px; }   /* 시장현황 .v2-exicon 과 동일 표시 (11-01) */ .v2-ex-logo.is-off { opacity: .18; filter: grayscale(1); }
.v2-list-table .v2-grade { font-weight: 600; } .v2-list-table .v2-score { color: var(--v2-text-ter); font-size: 12px; }
.v2-list-table .v2-col-md { display: none; } .v2-col-wl { width: 36px; text-align: center; }
.v2-ev-CAU, .v2-ev-DEE { background: var(--v2-warn-bg); color: var(--v2-warn); } .v2-ev-DEL { background: var(--v2-danger-bg); color: var(--v2-danger); } .v2-ev-CAX, .v2-ev-IPO { background: var(--v2-accent-weak); color: var(--v2-accent); } .v2-ev-PRO { background: var(--v2-teal-weak); color: var(--v2-teal); }
.v2-list-foot { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 14px; border-top: 0.5px solid var(--v2-border); }
.v2-pager { display: flex; gap: 4px; } .v2-pager a { min-width: 32px; height: 32px; padding: 0 6px; display: inline-flex; align-items: center; justify-content: center; border-radius: 6px; border: 0.5px solid var(--v2-border); font-size: 14px; color: var(--v2-text-sec); }
.v2-pager a.on { background: var(--v2-accent); border-color: var(--v2-accent); color: #fff; font-weight: 600; }
.v2-perpage { font-size: 13px; color: var(--v2-text-ter); } .v2-perpage select { height: 30px; line-height: 30px; font-size: 13px; padding-left: 8px !important; padding-right: 24px !important; background-size: 10px; margin-left: 4px; }
@media (min-width: 768px) {
	.v2-list-table .v2-col-md { display: table-cell; }
	.v2-filter-row { flex-direction: row; align-items: flex-start; } .v2-filter-label { flex: 0 0 90px; padding-top: 6px; }
	.v2-chipset-scroll { flex-wrap: wrap; overflow: visible; }
	.v2-list-foot { flex-direction: row; justify-content: center; position: relative; } .v2-list-foot .v2-perpage { position: absolute; right: 14px; }
}

/* ---------- ⑭ B2B 문의 ---------- */
.v2-b2b { padding-top: 24px; padding-bottom: 48px; display: flex; flex-direction: column; gap: 16px; }
.v2-b2b-hero { text-align: center; padding: 20px 0 8px; } .v2-b2b-hero h1 { font-size: 26px; font-weight: 700; margin-bottom: 8px; }
.v2-b2b-hero p { font-size: 15px; color: var(--v2-text-sec); line-height: 1.6; max-width: 640px; margin: 0 auto; }
.v2-b2b-features { display: grid; grid-template-columns: 1fr; gap: 10px; }
.v2-b2b-feature b { display: block; font-size: 14px; color: var(--v2-accent); margin-bottom: 4px; } .v2-b2b-feature p { font-size: 14px; color: var(--v2-text-sec); line-height: 1.55; }
.v2-b2b-form { width: 100%; padding: 24px 24px; }   /* 다른 섹션과 같은 1120px 폭 (사용자 요청 10-29) */
.v2-b2b-fields .v2-grid2 { display: grid; grid-template-columns: 1fr; gap: 10px; }
.v2-b2b-fields textarea { width: 100%; padding: 10px 12px; border: 1px solid var(--v2-border); border-radius: var(--v2-radius-sm); font-size: 14px; line-height: 1.5; resize: vertical; }
.v2-b2b-fields textarea:focus { border-color: var(--v2-accent); outline: none; box-shadow: 0 0 0 3px var(--v2-accent-weak); }
.v2-b2b-fields select { width: 100%; height: 44px; line-height: 44px; border: 1px solid var(--v2-border); border-radius: var(--v2-radius-sm); font-size: 14px; }
.v2-b2b-fields .v2-chipset { margin-top: 2px; }
.v2-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.v2-b2b-direct { font-size: 13px; color: var(--v2-text-ter); text-align: center; margin-top: 12px; } .v2-b2b-direct a { color: var(--v2-accent); }
.v2-b2b-done { text-align: center; padding: 20px 0; } .v2-b2b-done h2 { font-size: 18px; font-weight: 600; margin-bottom: 6px; } .v2-b2b-done p { font-size: 14px; color: var(--v2-text-sec); margin-bottom: 16px; line-height: 1.6; }
@media (min-width: 768px) { .v2-b2b-features { grid-template-columns: repeat(2, 1fr); } .v2-b2b-fields .v2-grid2 { grid-template-columns: 1fr 1fr; } }
@media (min-width: 992px) { .v2-b2b-features { grid-template-columns: repeat(4, 1fr); } }

/* ---------- ⑮ 리소스센터 ---------- */
.v2-rs { padding-top: 18px; padding-bottom: 40px; display: flex; flex-direction: column; gap: 14px; }
.v2-rs-head h1 { font-size: 22px; font-weight: 700; } .v2-rs-head p { font-size: 14px; color: var(--v2-text-sec); margin-top: 4px; }
.v2-rs-badge { display: inline-block; font-size: 10px; font-weight: 600; padding: 2px 7px; border-radius: 999px; background: var(--v2-bg-soft); color: var(--v2-text-sec); white-space: nowrap; }
.v2-rs-badge-report { background: var(--v2-accent-weak); color: var(--v2-accent); } .v2-rs-badge-briefing { background: var(--v2-teal-weak); color: var(--v2-teal); }
.v2-rs-badge-notice { background: var(--v2-warn-bg); color: var(--v2-warn); } .v2-rs-badge-news, .v2-rs-badge-media { background: var(--v2-muted-bg); color: var(--v2-muted); }
.v2-rs-meta { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--v2-text-ter); flex-wrap: wrap; }
.v2-rs-thumb { aspect-ratio: 16 / 10; border-radius: var(--v2-radius-sm); overflow: hidden; background: var(--v2-bg-soft); }
.v2-rs-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.v2-rs-ph { width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; color: var(--v2-text-ter); }
.v2-rs-ph b { font-size: 26px; font-weight: 700; } .v2-rs-ph small { font-size: 13px; font-weight: 600; }
.v2-rs-ph-report { background: linear-gradient(135deg, #E8EFFF, #D6E2FF); color: var(--v2-accent); } .v2-rs-ph-briefing { background: linear-gradient(135deg, #E3F5EF, #CDEBE1); color: var(--v2-teal); }
.v2-rs-ph-notice { background: linear-gradient(135deg, var(--v2-warn-bg), #F5E1BF); color: var(--v2-warn); } .v2-rs-ph-news, .v2-rs-ph-media { background: linear-gradient(135deg, var(--v2-muted-bg), #E1E5EA); color: var(--v2-muted); }
/* 하이라이트 */
.v2-rs-hl { display: grid; grid-template-columns: 1fr; gap: 14px; padding: 16px; }
.v2-rs-hl-main { display: grid; grid-template-columns: 1fr; gap: 12px; color: var(--v2-text); }
.v2-rs-hl-body h2 { font-size: 18px; font-weight: 700; line-height: 1.4; margin: 6px 0; } .v2-rs-hl-body p { font-size: 14px; color: var(--v2-text-sec); line-height: 1.6; margin-bottom: 12px; }
.v2-rs-hl-body .v2-btn { padding: 9px 16px; font-size: 14px; font-weight: 600; } .v2-rs-hl-body .v2-lock { margin-left: 4px; }
.v2-rs-hl-side h3 { font-size: 14px; font-weight: 600; color: var(--v2-text-sec); margin-bottom: 8px; }
.v2-rs-hl-side li { border-top: 0.5px solid var(--v2-border); } .v2-rs-hl-side li:first-child { border-top: none; }
.v2-rs-hl-side li a { display: grid; grid-template-columns: auto auto minmax(0, 1fr); align-items: center; gap: 8px; padding: 8px 0; font-size: 14px; color: var(--v2-text); }
.v2-rs-hl-side li b { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .v2-rs-side-date { font-size: 12px; color: var(--v2-text-ter); }
/* 탭·도구 */
.v2-rs-bar { display: flex; flex-direction: column; gap: 10px; }
.v2-rs-tools { display: flex; gap: 6px; }
.v2-rs-search { flex: 1; display: flex; border: 1px solid var(--v2-border); border-radius: var(--v2-radius-sm); overflow: hidden; background: var(--v2-surface); }
.v2-rs-search input { flex: 1; border: none; height: 34px; line-height: normal; padding: 0 10px; font-size: 14px; border-radius: 0; } .v2-rs-search input:focus { outline: none !important; }
.v2-rs-search button { border: none; background: none; padding: 0 10px; cursor: pointer; }
.v2-rs-tools select { height: 36px; line-height: 36px; font-size: 13px; padding-left: 8px !important; padding-right: 24px !important; background-size: 10px; }
.v2-rs-count { font-size: 13px; color: var(--v2-text-ter); }
/* 카드 */
.v2-rs-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
.v2-rs-card { display: grid; grid-template-columns: 110px 1fr; grid-template-areas: 'thumb meta' 'thumb title' 'thumb sum' 'thumb foot'; gap: 2px 10px; color: var(--v2-text); padding: 10px; }
.v2-rs-card .v2-rs-thumb { grid-area: thumb; aspect-ratio: 4 / 3; } .v2-rs-card .v2-rs-meta { grid-area: meta; }
.v2-rs-card h3 { grid-area: title; font-size: 14px; font-weight: 600; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.v2-rs-card p { grid-area: sum; font-size: 13px; color: var(--v2-text-sec); line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.v2-rs-foot { grid-area: foot; display: flex; align-items: center; gap: 4px; font-size: 12px; color: var(--v2-text-ter); margin-top: auto; } .v2-rs-foot .v2-lock { margin-left: auto; }
.v2-rs-pager { justify-content: center; }
.v2-rs-cta { margin-top: 10px; }
/* 상세 */
.v2-rs-crumb { font-size: 13px; color: var(--v2-text-ter); } .v2-rs-crumb a { color: var(--v2-text-sec); }
.v2-rs-detail-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
.v2-rs-article { min-width: 0; } .v2-rs-article-head { padding-bottom: 14px; border-bottom: 0.5px solid var(--v2-border); margin-bottom: 14px; }
.v2-rs-article-head h1 { font-size: 22px; font-weight: 700; line-height: 1.4; margin-top: 8px; } .v2-rs-summary { font-size: 14px; color: var(--v2-text-sec); line-height: 1.7; margin-top: 10px; }
.v2-rs-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 12px; background: var(--v2-accent-weak); border-radius: var(--v2-radius-sm); margin-bottom: 16px; }
.v2-rs-actions .v2-btn { padding: 9px 14px; font-size: 14px; font-weight: 600; }
.v2-rs-video { aspect-ratio: 16 / 9; margin-bottom: 16px; } .v2-rs-video iframe { width: 100%; height: 100%; border: 0; border-radius: var(--v2-radius-sm); }
.v2-rs-body { font-size: 15px; line-height: 1.8; color: var(--v2-text); word-break: break-word; }
.v2-rs-body img { max-width: 100%; height: auto; } .v2-rs-body p { margin-bottom: 12px; } .v2-rs-body h2, .v2-rs-body h3 { margin: 22px 0 8px; font-weight: 600; } .v2-rs-body table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 10px 0; } .v2-rs-body td, .v2-rs-body th { border: 0.5px solid var(--v2-border); padding: 6px 8px; }
.v2-rs-body ul, .v2-rs-body ol { padding-left: 20px; margin-bottom: 12px; } .v2-rs-body ul li { list-style: disc; } .v2-rs-body ol li { list-style: decimal; }
.v2-rs-prevnext { display: flex; flex-direction: column; gap: 6px; margin-top: 24px; padding-top: 14px; border-top: 0.5px solid var(--v2-border); font-size: 14px; } .v2-rs-prevnext a { color: var(--v2-text-sec); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2-rs-back { margin-top: 16px; font-size: 14px; }
.v2-rs-aside { display: flex; flex-direction: column; gap: 12px; }
.v2-rs-related li { border-top: 0.5px solid var(--v2-border); } .v2-rs-related li:first-child { border-top: none; } .v2-rs-related a { display: block; padding: 8px 0; font-size: 14px; color: var(--v2-text); } .v2-rs-related b { display: block; font-weight: 500; line-height: 1.4; }
.v2-rs-promo { background: var(--v2-bg-soft); } .v2-rs-promo b { font-size: 14px; } .v2-rs-promo p { font-size: 13px; color: var(--v2-text-sec); margin: 4px 0 8px; line-height: 1.5; }
/* 게이팅 */
.v2-rs-gate { position: relative; min-height: 320px; }
.v2-rs-skel { filter: blur(3px); opacity: .7; display: flex; flex-direction: column; gap: 10px; padding: 4px 0; } .v2-rs-skel i { display: block; height: 14px; border-radius: 4px; background: linear-gradient(90deg, var(--v2-bg-soft), #E9EDF3, var(--v2-bg-soft)); }
.v2-rs-gate-card { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 0; padding: 20px; background: linear-gradient(180deg, rgba(255,255,255,.6), #fff 60%); }
.v2-rs-gate-card h2 { font-size: 17px; font-weight: 600; margin: 14px 0 10px; } .v2-rs-gate-card p { font-size: 14px; color: var(--v2-text-sec); max-width: 360px; line-height: 1.7; margin: 0 0 20px; }
.v2-rs-gate-card > div { display: flex; gap: 10px; } .v2-rs-gate-card .v2-btn { padding: 10px 20px; font-size: 14px; font-weight: 600; }
.v2-rs-gate-card .v2-lock-lg { width: 22px; height: 18px; } .v2-rs-gate-card .v2-lock-lg::before { top: -9px; left: 4px; width: 12px; height: 10px; }
/* 메인: 공지 띠 + 리소스센터 섹션 */
.v2-notice-bar { background: var(--v2-star-bg); border-bottom: 0.5px solid #F0DDA8; }
.v2-notice-bar .v2-container { display: flex; align-items: center; gap: 8px; padding-top: 8px; padding-bottom: 8px; font-size: 14px; }
.v2-notice-bar a { flex: 1; color: var(--v2-text); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .v2-notice-bar button { border: none; background: none; font-size: 18px; color: var(--v2-text-ter); cursor: pointer; line-height: 1; }
.v2-main-rs { margin-top: 8px; margin-bottom: 40px; }   /* 메인 마지막 섹션 — 푸터와 간격 */ .v2-sec-head { display: flex; align-items: baseline; justify-content: space-between; }
.v2-main-rs-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; } .v2-main-rs-grid > * { min-width: 0; }
.v2-main-rs-top { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 12px; color: var(--v2-text); } .v2-main-rs-top > * { min-width: 0; } .v2-main-rs-top .v2-rs-thumb { aspect-ratio: 4 / 3; }
.v2-main-rs-top h3 { font-size: 14px; font-weight: 600; margin: 4px 0; line-height: 1.4; } .v2-main-rs-top p { font-size: 13px; color: var(--v2-text-sec); line-height: 1.5; margin-bottom: 6px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.v2-main-rs-list li { border-top: 0.5px solid var(--v2-border); } .v2-main-rs-list li:first-child { border-top: none; }
.v2-main-rs-list a { display: flex; align-items: center; gap: 8px; padding: 8px 0; font-size: 14px; color: var(--v2-text); } .v2-main-rs-list b { flex: 1; min-width: 0; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .v2-main-rs-list time { flex: 0 0 auto; } .v2-main-rs-list time { font-size: 12px; color: var(--v2-text-ter); }
@media (min-width: 768px) {
	.v2-rs-hl { grid-template-columns: 1.6fr 1fr; } .v2-rs-hl-main { grid-template-columns: 260px 1fr; } .v2-rs-hl-side { border-left: 0.5px solid var(--v2-border); padding-left: 14px; }
	.v2-rs-bar { flex-direction: row; justify-content: space-between; align-items: center; } .v2-rs-search { width: 240px; flex: none; }
	.v2-rs-grid { grid-template-columns: repeat(2, 1fr); }
	.v2-rs-card { grid-template-columns: 1fr; grid-template-areas: 'thumb' 'meta' 'title' 'sum' 'foot'; gap: 6px; } .v2-rs-card .v2-rs-thumb { aspect-ratio: 16 / 10; }
	.v2-rs-detail-grid { grid-template-columns: 1fr 280px; } .v2-rs-prevnext { flex-direction: row; justify-content: space-between; } .v2-rs-prevnext a { max-width: 48%; }
	.v2-main-rs-grid { grid-template-columns: 1.2fr 1fr; }
}
@media (min-width: 992px) { .v2-rs-grid { grid-template-columns: repeat(3, 1fr); } }

/* ---------- ⑯ 평가방법론 ---------- */
.v2-method { padding-top: 24px; padding-bottom: 48px; display: flex; flex-direction: column; gap: 14px; }   /* max-width 900 제거 → 공통 1120px */
.v2-method-head h1 { font-size: 24px; font-weight: 700; } .v2-method-head p { font-size: 14px; color: var(--v2-text-sec); line-height: 1.7; margin-top: 8px; }
.v2-method-toc a { scroll-margin-top: 80px; }
.v2-method-sec { scroll-margin-top: 80px; padding: 18px; }
.v2-method-factors { display: grid; grid-template-columns: 1fr; gap: 10px; }
.v2-method-factor { display: grid; grid-template-columns: 10px 1fr; grid-template-rows: auto auto; gap: 2px 12px; padding: 12px 14px; border: 0.5px solid var(--v2-border); border-radius: var(--v2-radius-sm); }
.v2-method-factor i { grid-row: 1 / 3; width: 10px; border-radius: 5px; background: var(--v2-accent); }
.v2-method-factor b { font-size: 14px; } .v2-method-factor p { font-size: 14px; color: var(--v2-text-sec); line-height: 1.6; }
.v2-mf-market i { background: #2E5DE5; } .v2-mf-develop i { background: #1D9E75; } .v2-mf-liquidity i { background: var(--v2-star); } .v2-mf-community i { background: #8B5CF6; } .v2-mf-security i { background: var(--v2-danger); }
.v2-method-grades td { vertical-align: middle; } .v2-method-grades .v2-grade { font-weight: 700; font-size: 14px; }
.v2-method-trend { display: flex; flex-wrap: wrap; gap: 8px; } .v2-method-trend .v2-trend { font-size: 14px; padding: 6px 12px; }
.v2-method-dl dt { font-weight: 600; font-size: 14px; margin-top: 10px; } .v2-method-dl dd { font-size: 14px; color: var(--v2-text-sec); line-height: 1.6; margin-top: 2px; }
.v2-method-list { padding-left: 18px; } .v2-method-list li { list-style: disc; font-size: 14px; color: var(--v2-text-sec); line-height: 1.7; }
.v2-method-cta-btns { display: flex; gap: 8px; flex-wrap: wrap; } .v2-method-cta-btns .v2-btn { padding: 9px 16px; font-size: 14px; font-weight: 600; }
@media (min-width: 768px) { .v2-method-factors { grid-template-columns: 1fr 1fr; } }
/* ⑯-1 평가방법론 본문 (v1 원문 이식) */
.v2-method-p { font-size: 14px; line-height: 1.8; color: var(--v2-text); margin-bottom: 10px; } .v2-method-small { font-size: 14px; color: var(--v2-text-sec); }
.v2-method-sub { font-size: 15px; font-weight: 600; margin: 18px 0 8px; padding-left: 10px; border-left: 3px solid var(--v2-accent); }
.v2-method-note { font-size: 13px; color: var(--v2-text-ter); }
.v2-method-grades th { background: var(--v2-bg-soft); font-weight: 600; white-space: nowrap; } .v2-method-grades td { border-top: 0.5px solid var(--v2-border); }
.v2-method-grade-desc { font-size: 14px; line-height: 1.6; color: var(--v2-text-sec); }

/* ---------- ⑰ 메인 다듬기 (10-01): 시그널 기준 표기 · 조회수 카드 · 배너 슬롯 · Top10 거래소 열 ---------- */
.v2-signal-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.v2-signal-basis { font-size: 12px; color: var(--v2-text-ter); font-weight: 400; }
.v2-ic-hot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--v2-star); vertical-align: middle; margin-right: 2px; }
.v2-signal-hit { font-size: 13px; color: var(--v2-text-ter); } .v2-signal-hit::after { content: ''; }
.v2-signal { display: flex; flex-direction: column; } .v2-signal-list { flex: 1; }
.v2-signal-more { display: block; margin-top: 6px; font-size: 13px; color: var(--v2-accent); text-align: right; }
.v2-main-banner-wrap { margin-top: 18px; }
.v2-main-banner { position: relative; border: 0.5px solid var(--v2-border); border-radius: var(--v2-radius); overflow: hidden; background: var(--v2-surface); display: flex; }
.v2-main-banner > a, .v2-main-banner > div { flex: 1; min-height: 96px; }   /* 배너 내용이 컨테이너를 꽉 채우도록 — 하단 흰 띠 수정 */
.v2-ad-label { position: absolute; top: 8px; left: 8px; z-index: 2; font-size: 10px; font-weight: 700; letter-spacing: .04em; padding: 2px 6px; border-radius: 4px; background: rgba(0,0,0,.55); color: #fff; }
.v2-main-banner-img { display: block; } .v2-main-banner-img img { display: block; width: 100%; height: auto; }
.v2-main-banner-house { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 22px 16px 18px; text-align: center; background: linear-gradient(135deg, var(--v2-accent-weak), #EAF4FF); color: var(--v2-text); }
.v2-main-banner-text { display: flex; flex-direction: column; gap: 3px; } .v2-main-banner-text em { font-style: normal; font-size: 12px; font-weight: 700; color: var(--v2-accent); letter-spacing: .02em; } .v2-main-banner-text b { font-size: 17px; line-height: 1.35; } .v2-main-banner-text small { font-size: 13px; color: var(--v2-text-sec); line-height: 1.5; }
.v2-main-banner-btns { display: flex; gap: 8px; flex-shrink: 0; } .v2-main-banner-btns .v2-btn-ghost { background: var(--v2-surface); }
.v2-main-banner-b2b { background: linear-gradient(135deg, var(--v2-teal-weak), #EAF7F3); } .v2-main-banner-b2b .v2-main-banner-text em { color: var(--v2-teal); }
.v2-main-banner-house .v2-btn { padding: 9px 16px; font-size: 14px; font-weight: 600; white-space: nowrap; }
.v2-main-banner-text em { font-style: normal; font-size: 12px; font-weight: 700; color: var(--v2-accent); letter-spacing: .02em; }
.v2-main-banner-text small { line-height: 1.5; }
.v2-main-banner-btns { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.v2-signal-grade { white-space: nowrap; } .v2-signal-grade .v2-grade { font-weight: 600; } .v2-signal-grade .v2-score { font-size: 12px; color: var(--v2-text-ter); }
.v2-table-top10 .v2-col-ex { display: none; white-space: nowrap; }
@media (min-width: 768px) {
	.v2-main-banner-house { flex-direction: row; justify-content: space-between; gap: 24px; text-align: left; padding: 22px 32px 22px 72px; }
	.v2-main-banner-text b { font-size: 19px; }
	.v2-table-top10 .v2-col-ex { display: table-cell; }
}

/* ===========================================================================
   ⑱ 요금 안내 · 환불정책 (PG 심사 대비, 9단계 3차)
   =========================================================================== */
.v2-plans { max-width: 960px; padding-top: 28px; padding-bottom: 56px; }
.v2-plans-head { text-align: center; margin-bottom: 26px; }
.v2-plans-head h1 { font-size: 26px; font-weight: 700; margin-bottom: 8px; }
.v2-plans-lead { color: var(--v2-text-sec); font-size: 14px; }
.v2-plans-lead-sm { color: var(--v2-text-sec); font-size: 14px; margin-bottom: 10px; }
.v2-plans-soon { display: inline-block; margin-top: 14px; padding: 8px 14px; background: var(--v2-accent-weak); color: var(--v2-accent-dark); border-radius: 999px; font-size: 14px; }
.v2-plans-soon b { margin-right: 6px; }
.v2-plans-prelim { max-width: 640px; margin: 10px auto 0; font-size: 13px; color: var(--v2-text-ter); line-height: 1.6; }   /* 출시 전 변경 가능 고지 (11-05) */

.v2-plans-grid { display: grid; grid-template-columns: 1fr; gap: 14px; }
.v2-plan-card { position: relative; background: var(--v2-surface); border: 0.5px solid var(--v2-border); border-radius: var(--v2-radius); padding: 22px 20px 20px; display: flex; flex-direction: column; }
.v2-plan-card h2 { font-size: 17px; font-weight: 700; margin-bottom: 8px; }
.v2-plan-card-hi { border: 1.5px solid var(--v2-accent); box-shadow: 0 6px 20px rgba(24, 95, 165, .10); }
.v2-plan-card-muted { opacity: .72; }
.v2-plan-card.is-current { background: var(--v2-bg-soft); }
.v2-plan-badge { position: absolute; top: -11px; left: 18px; background: var(--v2-accent); color: #fff; font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: 999px; }
.v2-plan-price { display: flex; align-items: baseline; gap: 4px; flex-wrap: wrap; margin-bottom: 6px; }
.v2-plan-price b { font-size: 28px; font-weight: 700; letter-spacing: -0.5px; }
.v2-plan-price span { font-size: 14px; color: var(--v2-text-sec); }
.v2-plan-price small { width: 100%; font-size: 12px; color: var(--v2-text-ter); }
.v2-plan-desc { font-size: 14px; color: var(--v2-text-sec); min-height: 38px; margin-bottom: 12px; }
.v2-plan-feats { list-style: none; padding: 0; margin: 0 0 18px; font-size: 14px; flex: 1; }
.v2-plan-feats li { padding: 5px 0 5px 20px; position: relative; border-top: 0.5px solid var(--v2-border); }
.v2-plan-feats li::before { content: '✓'; position: absolute; left: 2px; color: var(--v2-accent); font-weight: 700; }
.v2-plan-card .v2-btn.is-disabled { opacity: .6; cursor: default; pointer-events: none; text-align: center; }
.v2-plan-card .v2-btn-block { padding: 12px; font-size: 14px; font-weight: 600; text-align: center; }

.v2-plans-h2 { font-size: 18px; font-weight: 700; margin: 40px 0 12px; }
.v2-plans-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.v2-plans-table th, .v2-plans-table td { border-bottom: 0.5px solid var(--v2-border); padding: 10px 8px; text-align: center; }
.v2-plans-table thead th { font-weight: 600; background: var(--v2-bg-soft); }
.v2-plans-table tbody th { text-align: left; font-weight: 500; color: var(--v2-text-sec); white-space: nowrap; }
.v2-plans-table .is-hi { background: rgba(24, 95, 165, .05); font-weight: 600; color: var(--v2-accent-dark); }

.v2-plans-terms { display: grid; grid-template-columns: 1fr; gap: 0; border: 0.5px solid var(--v2-border); border-radius: var(--v2-radius-sm); overflow: hidden; font-size: 14px; }
.v2-plans-terms dt { background: var(--v2-bg-soft); padding: 9px 12px 2px; font-weight: 600; }
.v2-plans-terms dd { padding: 2px 12px 10px; margin: 0; color: var(--v2-text-sec); line-height: 1.6; border-bottom: 0.5px solid var(--v2-border); }
.v2-plans-terms dd:last-child { border-bottom: 0; }
.v2-plans-links { margin-top: 14px; font-size: 14px; }
.v2-plans-links a { color: var(--v2-accent); }
.v2-plans-links em { padding: 0 8px; color: var(--v2-text-ter); font-style: normal; }

.v2-plans-faq details { border-bottom: 0.5px solid var(--v2-border); padding: 10px 0; font-size: 14px; }
.v2-plans-faq summary { cursor: pointer; font-weight: 600; list-style: none; position: relative; padding-right: 24px; }
.v2-plans-faq summary::-webkit-details-marker { display: none; }
.v2-plans-faq summary::after { content: '+'; position: absolute; right: 4px; top: 0; color: var(--v2-text-ter); }
.v2-plans-faq details[open] summary::after { content: '−'; }
.v2-plans-faq p { margin: 8px 0 0; font-size: 14px; color: var(--v2-text-sec); line-height: 1.7; }

.v2-legal-formula { background: var(--v2-bg-soft); border-radius: var(--v2-radius-sm); padding: 8px 12px; margin: 8px 0; font-size: 14px; font-weight: 600; }

@media (min-width: 768px) {
	.v2-plans-grid { grid-template-columns: repeat(3, 1fr); gap: 18px; align-items: stretch; }
	.v2-plans-terms { grid-template-columns: 160px 1fr; }
	.v2-plans-terms dt { padding: 10px 12px; border-bottom: 0.5px solid var(--v2-border); }
	.v2-plans-terms dt:nth-last-child(2) { border-bottom: 0; }
	.v2-plans-terms dd { padding: 10px 14px; }
}
.v2-mp-inline { display:inline-block; margin:6px 8px 0 0; }

/* ===========================================================================
   ⑲ 브리핑 본문 (v1 notice.css 이식, 2026-10-28) — .v2-rs-body 아래로 범위 한정
   본문은 관리페이지 TinyMCE 로 작성된 HTML(.briefing_guide > .briefing_tit / .briefing_contents / .cta_box / .copyright)
   =========================================================================== */
.v2-rs-body .briefing_guide { width: 100%; background:#f4f5f7; padding: 25px 15px; box-sizing: border-box;}
.v2-rs-body .briefing_guide > div {max-width: 640px; margin: 0 auto; background: #ffffff; border-radius: 14px; box-shadow: 0 2px 10px rgba(0,0,0,0.06); overflow: hidden;}

.v2-rs-body .briefing_tit { display: flex; justify-content: space-between;align-items: center; background: #0f172a; color: #ffffff; padding: 20px;}
.v2-rs-body .briefing_tit > div:first-of-type {display: flex; gap: 10px; align-items: flex-start; flex-wrap: wrap;}
.v2-rs-body .briefing_tit .logo {display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 8px; background:url(https://static.apywa.io/images/web/notice/logo.png) top center no-repeat;}
.v2-rs-body .briefing_tit h1 {font-size: 18px; margin: 0;}
.v2-rs-body .briefing_tit p {opacity: 0.8; font-size: 13px; margin: 0;}
.v2-rs-body .briefing_tit > div:nth-of-type(2) {font-size: 13px; opacity: 0.9;}

.v2-rs-body .briefing_contents {padding: 20px;}
.v2-rs-body .briefing_contents * {margin: 0; padding: 0;}
.v2-rs-body .briefing_contents .info_box { margin-bottom: 10px;}
.v2-rs-body .briefing_contents .info_box div {display: inline-block; padding: 4px 8px; background: #f1f5f9; border-radius: 999px; font-size: 13px; margin-bottom: 2px;}
.v2-rs-body .briefing_contents dl {margin-bottom: 20px; border: 1px solid #e5e7eb; border-radius: 12px; overflow: hidden;}
.v2-rs-body .briefing_contents dl dt {font-size: 15px; background: #f9fafb; padding: 12px 14px; border-bottom: 1px solid #e5e7eb; font-weight: bold;}
.v2-rs-body .briefing_contents dl dd {padding: 20px;}
.v2-rs-body .briefing_contents dl dd > div {color: #6b7280; font-size: 14px;}
.v2-rs-body .briefing_contents table {width: 100%; border-collapse: collapse;text-align: center; margin-bottom: 10px; border:0; }
.v2-rs-body .briefing_contents table th {padding: 8px 6px; border:0; font-size: 14px; color: #374151; font-weight: bold; background: #fbfdff;}
.v2-rs-body .briefing_contents table tbody {border-top: 1px solid #eee; }
.v2-rs-body .briefing_contents table td {padding: 8px 6px; border:0; border-bottom: 1px solid #f1f1f1; font-size: 14px;}
.v2-rs-body .briefing_contents table td em {font-size: 13px; padding: 2px 6px; border-radius: 6px; background: #eef2ff; color: #4338ca; display: inline-block; font-style: normal;}
.v2-rs-body .briefing_contents table td strong {font-size: 15px;}
.v2-rs-body .briefing_contents table td p {color: #6b7280; font-size: 14px;}
.v2-rs-body .briefing_contents ul {display: flex; justify-content: space-between; gap:10px; list-style: none; margin-bottom: 10px;}
.v2-rs-body .briefing_contents ul li {flex: 1; border: 1px solid #eee; border-radius: 10px; padding: 12px;}

.v2-rs-body .briefing_contents .total { font-size: 14px;}

.v2-rs-body .cta_box {margin-bottom: 20px; border: 1px solid #e5e7eb; border-radius: 12px; padding: 20px;}
.v2-rs-body .cta_box p {color: #6b7280; font-size: 14px; margin-bottom: 10px;}
.v2-rs-body .cta_box a {display: inline-block; padding: 10px 14px; background: #111827; color: #fff; border-radius: 10px; font-weight: bold; font-size: 14px;}

.v2-rs-body .copyright {color: #6b7280; font-size: 13px; text-align: center; padding: 20px 0;}

@media all and (max-width: 700px) {
.v2-rs-body .briefing_guide { background:none; padding: 0px; padding-bottom: 10px;}
.v2-rs-body .briefing_guide > div {max-width: auto; width: 100%; box-shadow: 0 0px 10px rgba(0,0,0,0.15);}

.v2-rs-body .briefing_contents ul {flex-direction: column;}
}

@media all and (max-width: 450px) {
.v2-rs-body .briefing_guide > div {box-shadow: none;}
.v2-rs-body .briefing_tit {flex-direction: column; align-items: stretch;}
.v2-rs-body .briefing_tit > div:nth-of-type(2) {width: 100%;text-align: right; margin-top: 5px;}
.v2-rs-body .briefing_tit h1 {letter-spacing: -0.05em;}

.v2-rs-body .briefing_contents {padding: 15px 0;}
.v2-rs-body .briefing_contents dl dd {padding: 15px;}
.v2-rs-body .briefing_contents table th {white-space: nowrap; font-size: 12px;}
.v2-rs-body .briefing_contents table td {font-size: 13px;}
.v2-rs-body .briefing_contents table td strong {font-size: 14px;}

.v2-rs-body .copyright {padding: 10px 0;}
}
.v2-rs-body .briefing_contents ul li { list-style: none; }
.v2-rs-body .briefing_contents table td, .v2-rs-body .briefing_contents table th { border: 0; }
.v2-rs-body .briefing_contents table td { border-bottom: 1px solid #f1f1f1; }
.v2-rs-body .briefing_tit h1 { font-size: 18px; margin: 0; font-weight: 700; }
/* ⑲-1 브리핑 표·목록 폭 보정 — 본문 기본 word-break:break-word 때문에 셀이 글자 단위로 쪼개지며 표가 최소 폭으로 줄어드는 현상 방지 */
.v2-rs-body .briefing_contents { word-break: keep-all; overflow-wrap: normal; }
.v2-rs-body .briefing_contents dl dd { overflow-x: auto; }
.v2-rs-body .briefing_contents dl dd > div, .v2-rs-body .briefing_contents dl dd > p, .v2-rs-body .briefing_contents dl dd > span { display: block; }
.v2-rs-body .briefing_contents table { display: table; width: 100% !important; min-width: 100%; table-layout: auto; }
.v2-rs-body .briefing_contents table th, .v2-rs-body .briefing_contents table td { white-space: nowrap; }
.v2-rs-body .briefing_contents table td p, .v2-rs-body .briefing_contents table td div { white-space: normal; }
.v2-rs-body .briefing_contents ul { display: flex; }
.v2-rs-body .briefing_contents ul li { min-width: 0; }

/* ⑳ 메인 검색 자동완성 (2026-10-29) */
.v2-search-wrap { position: relative; max-width: 480px; margin: 0 auto; }
.v2-search-ac { position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 60; background: var(--v2-surface); border: 0.5px solid var(--v2-border); border-radius: var(--v2-radius-sm); box-shadow: 0 8px 24px rgba(0,0,0,.10); max-height: 340px; overflow-y: auto; text-align: left; }
.v2-search-ac[hidden] { display: none; }
.v2-ac-item { display: flex; align-items: center; gap: 10px; padding: 9px 12px; font-size: 14px; color: var(--v2-text); cursor: pointer; border-top: 0.5px solid var(--v2-border); }
.v2-ac-item:first-child { border-top: 0; }
.v2-ac-item.focused, .v2-ac-item:hover { background: var(--v2-bg-soft); }
.v2-ac-item img { width: 22px; height: 22px; border-radius: 50%; flex: 0 0 22px; }
.v2-ac-item b { font-weight: 600; min-width: 52px; }
.v2-ac-item span { flex: 1; color: var(--v2-text-sec); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2-ac-item .v2-grade { flex: 0 0 auto; }
.v2-ac-empty, .v2-ac-login { padding: 12px 14px; font-size: 14px; color: var(--v2-text-sec); }
.v2-ac-login a { color: var(--v2-accent); font-weight: 600; }
.v2-list-q { font-style: normal; margin-left: 8px; color: var(--v2-accent); } .v2-list-q a { color: var(--v2-text-ter); margin-left: 4px; text-decoration: none; }

/* ㉑ Turnstile 위젯 */
.v2-turnstile { margin: 6px 0 10px; min-height: 65px; }

/* ---------- ⑳-D 다크모드 (11-01, B안: 파랑 한 단계 낮춤 · 요약바 회색) ----------
 * <html data-theme="dark"> 일 때 토큰만 바뀐다. 레이아웃·크기는 동일.
 * 브리핑·보고서 본문(.v2-rs-body, TinyMCE 인라인 색)은 밝은 박스로 그대로 둔다. */
:root[data-theme="dark"] {
	--v2-accent: #6E9CD2;
	--v2-accent-dark: #9CBCE4;
	--v2-accent-weak: #192A40;
	--v2-teal: #4FC5A2;
	--v2-teal-weak: #113A2F;
	--v2-text: #E6EAF2;
	--v2-text-sec: #B0B8C6;
	--v2-text-ter: #737E91;
	--v2-border: #2A3344;
	--v2-bg-soft: #1C2331;
	--v2-footer-bg: #0B0F17;
	--v2-surface: #161C28;
	--v2-warn-bg: #3A2A10;  --v2-warn: #F2C078;
	--v2-danger-bg: #3B1A1A; --v2-danger: #F08585;
	--v2-g-a: #7B9BF0; --v2-g-b: #5CD48E; --v2-g-c: #E3CB4A; --v2-g-d: #F0AE55; --v2-g-nr: #F06A6A;
	--v2-star: #F5B544; --v2-star-bg: #3A2E12;
	--v2-muted-bg: #222A38; --v2-muted: #B0B8C6;
	--v2-line: #2A3344;
	--v2-up: #FF7A7A;
	--v2-down: #7FA9FF;
	--v2-bar-up: #C96868; --v2-bar-down: #5F84C8;
	color-scheme: dark;
}
:root[data-theme="dark"] body.loc-en { --v2-up: #5CD48E; --v2-down: #F08585; --v2-bar-up: #4FA874; --v2-bar-down: #C96868; }
:root[data-theme="dark"] body { background: #0F141E; }
:root[data-theme="dark"] .v2-header { background: #0F141E; }
:root[data-theme="dark"] .v2-marketbar { background: var(--v2-bg-soft); color: var(--v2-text-sec); }   /* B안: 파란 띠 → 회색 띠 */
:root[data-theme="dark"] .v2-btn-login, :root[data-theme="dark"] .v2-search button, :root[data-theme="dark"] .v2-pager a.on, :root[data-theme="dark"] .v2-htabs a.on { background: #2A5E94; border-color: #2A5E94; color: #fff; }
:root[data-theme="dark"] .search_btn a::before, :root[data-theme="dark"] .global_btn a::before, :root[data-theme="dark"] #gnavi_btn a::before { filter: brightness(0) invert(.92); }   /* PNG 아이콘만 흰색으로 (배경색은 반전 안 됨) */
:root[data-theme="dark"] .search_btn a:hover, :root[data-theme="dark"] .global_btn a:hover, :root[data-theme="dark"] #gnavi_btn a:hover,
:root[data-theme="dark"] .search_btn a:active, :root[data-theme="dark"] .global_btn a:active, :root[data-theme="dark"] #gnavi_btn a:active { background-color: rgba(255,255,255,.1); }
/* 로고: 다크 전용 파일(logo_dark.png — 파란 W 마크 + 밝은 회색 글자). 필터 없음. 푸터는 회색 로고 밝기만 올림 */
:root[data-theme="dark"] .v2-logo img, :root[data-theme="dark"] .v2-auth-head img { content: url("/images/logo_dark.png"); }
:root[data-theme="dark"] .v2-footer > div > p img { filter: brightness(1.7); }
/* 메인 광고·B2B 배너: 밝은 그라데이션 → 어두운 톤 */
:root[data-theme="dark"] .v2-main-banner-house { background: linear-gradient(135deg, #192A40, #161C28); }
:root[data-theme="dark"] .v2-main-banner-b2b { background: linear-gradient(135deg, #113A2F, #161C28); }
:root[data-theme="dark"] .v2-main-banner-btns .v2-btn-ghost { background: transparent; color: var(--v2-text); }
/* 리소스센터 썸네일 대체 배경(이미지 없을 때): 밝은 파스텔 그라데이션 → 어두운 톤, 글자색은 각 분류색 유지 */
:root[data-theme="dark"] .v2-rs-ph-report   { background: linear-gradient(135deg, #1B2A48, #15203A); color: var(--v2-accent); }
:root[data-theme="dark"] .v2-rs-ph-briefing { background: linear-gradient(135deg, #123A30, #0F2C25); color: var(--v2-teal); }
:root[data-theme="dark"] .v2-rs-ph-notice   { background: linear-gradient(135deg, #3A2A10, #2C200C); color: var(--v2-warn); }
:root[data-theme="dark"] .v2-rs-ph-news, :root[data-theme="dark"] .v2-rs-ph-media { background: linear-gradient(135deg, #252D3B, #1C2331); color: var(--v2-text-sec); }
:root[data-theme="dark"] .v2-rs-thumb { background: var(--v2-bg-soft); }
@media (max-width: 991px) { :root[data-theme="dark"] nav .gnavi > a { background-image: none; } }
:root[data-theme="dark"] .v2-card, :root[data-theme="dark"] .v2-table-wrap, :root[data-theme="dark"] .v2-modal-box, :root[data-theme="dark"] .global_guide, :root[data-theme="dark"] .search_guide { box-shadow: 0 1px 2px rgba(0,0,0,.4); }
:root[data-theme="dark"] .v2-rs-body { background: #fff; color: #1A2233; padding: 16px; border-radius: var(--v2-radius); }   /* 본문은 밝은 박스 (brf-theme 없는 예전 브리핑, apywa-rpt 없는 예전 보고서) */
:root[data-theme="dark"] .v2-rs-body a { color: #185FA5; }
/* 11-06: 공지·뉴스·보도자료는 에디터 글이라 흰 박스 대신 페이지 바탕 그대로 + 토큰색 (인라인 색이 있으면 그 색이 이김) */
:root[data-theme="dark"] .v2-rs-body-notice, :root[data-theme="dark"] .v2-rs-body-news, :root[data-theme="dark"] .v2-rs-body-media { background: transparent; color: var(--v2-text); padding: 0; }
:root[data-theme="dark"] .v2-rs-body-notice a, :root[data-theme="dark"] .v2-rs-body-news a, :root[data-theme="dark"] .v2-rs-body-media a { color: var(--v2-accent); }
:root[data-theme="dark"] .v2-rs-body-notice td, :root[data-theme="dark"] .v2-rs-body-notice th, :root[data-theme="dark"] .v2-rs-body-news td, :root[data-theme="dark"] .v2-rs-body-news th { border-color: var(--v2-border); }
:root[data-theme="dark"] .v2-mini-logo, :root[data-theme="dark"] .v2-coin-logo { background: #fff; }   /* 투명 PNG 코인 로고 뒷배경 (거래소 로고는 원본 그대로) */
:root[data-theme="dark"] ::placeholder { color: var(--v2-text-ter); }
:root[data-theme="dark"] select { background-color: var(--v2-surface); color: var(--v2-text); }
:root[data-theme="dark"] .v2-notice-bar { background: #2A2410; border-bottom-color: #4A3C14; }
:root[data-theme="dark"] .v2-gate-skel, :root[data-theme="dark"] .v2-rs-skel i { background: linear-gradient(90deg, var(--v2-bg-soft), #222A38, var(--v2-bg-soft)); }
:root[data-theme="dark"] .v2-gate-card { box-shadow: 0 8px 28px rgba(0,0,0,.45); }
:root[data-theme="dark"] .v2-rs-gate-card { background: linear-gradient(180deg, rgba(22,28,40,.6), var(--v2-surface) 60%); }
:root[data-theme="dark"] .v2-signal-gate { border-color: #2A4A6E; }
/* 추세 뱃지: 하락(tl*)은 라이트 전용 #E6F1FB 가 하드코딩이라 다크에서 밝게 튀던 것 → 어두운 파랑 바탕 (11-05). 상승(th*)은 토큰이라 이미 어두움 */
:root[data-theme="dark"] .v2-trend-tl1, :root[data-theme="dark"] .v2-trend-tl3 { background: #1B2E4A; color: var(--v2-accent); }
:root[data-theme="dark"] .v2-trend-tl2 { background: #15243A; color: var(--v2-accent); }
:root[data-theme="dark"] .v2-trend-th2 { background: #2E1818; }
:root[data-theme="dark"] .v2-btn-google { background: #fff; color: #1A2233; }   /* 구글 버튼은 브랜드 가이드대로 흰색 유지 */
:root[data-theme="dark"] .score_box { background: var(--v2-bg-soft); }

/* 테마 전환 버튼 (헤더 · 모바일 메뉴) */
.v2-theme-btn { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: var(--v2-radius-sm); color: var(--v2-text-sec); font-size: 20px; line-height: 1; cursor: pointer; }
.v2-theme-btn:hover { background: var(--v2-bg-soft); }
.v2-theme-btn .v2-ic-moon, .v2-theme-btn .v2-ic-sun { display: none; }
:root:not([data-theme="dark"]) .v2-theme-btn .v2-ic-moon { display: inline; }
:root[data-theme="dark"] .v2-theme-btn .v2-ic-sun { display: inline; }
.v2-nav-auth .v2-theme-btn { flex: 0 0 auto; border: 0.5px solid var(--v2-border); }

/* ===========================================================================
   ㉒ 분석 보고서 본문 공통 컴포넌트 (.apywa-rpt, 2026-11-04) — .v2-rs-body 안에서 사용
   - 월간 평가 분석 보고서(MonthlyRatingReport v1.8~)가 자동으로 사용, 추세 분석 등 다른 보고서는
     관리페이지 에디터 코드(<>) 보기에서 <div class="apywa-rpt"> … </div> 로 감싸 사용 (report_components_guide.html)
   - 색은 ② 색상 토큰(--v2-*)만 사용 → ⑳-D 다크모드 · body.loc-en(상승 초록/하락 빨강) 자동 적용
   - ⑮ .v2-rs-body 공통 규칙(ul li disc, td/th 사방 테두리)과 ⑳-D 의 '본문 흰 박스'를 이 블록 안에서만 해제
   - 기존 '⑳ 월간 디지털자산 평가 분석 보고서'(.apywa-mr) 블록은 이 블록으로 대체 (삭제)
   컴포넌트: rpt-lead/rpt-basis · rpt-kpis/rpt-kpi(rpt-bad, rpt-neutral) · rpt-h/rpt-sub · rpt-points
            rpt-callout(-warn, -good) · rpt-cols · rpt-figure · rpt-table-wrap/rpt-table(rpt-num, rpt-left, rpt-muted, rpt-current)
            rpt-grade(rpt-g-a~nr) · rpt-up/rpt-down/rpt-flat · rpt-dot · rpt-cta · rpt-note
   =========================================================================== */
.apywa-rpt { --rpt-cta-1: #0C447C; --rpt-cta-2: #185FA5; color: var(--v2-text); font-size: 15px; line-height: 1.75; word-break: keep-all; overflow-wrap: anywhere; }
:root[data-theme="dark"] .apywa-rpt { --rpt-cta-1: #1B3D66; --rpt-cta-2: #2A5E94; }
/* 다크모드: ⑳-D 의 '본문 흰 박스' 해제 (보고서 본문은 토큰으로 직접 다크 처리) */
:root[data-theme="dark"] .v2-rs-body:has(> .apywa-rpt) { background: transparent; padding: 0; color: var(--v2-text); }
@supports not selector(:has(*)) {   /* :has 미지원 브라우저: 흰 박스(패딩 16px) 위를 페이지 배경으로 덮음 */
	:root[data-theme="dark"] .apywa-rpt { background: #0F141E; margin: -16px; padding: 16px; border-radius: var(--v2-radius); }
}

/* 기본 요소 (⑮ .v2-rs-body 규칙 덮어씀) */
.apywa-rpt p { margin: 0 0 12px; }
.apywa-rpt b, .apywa-rpt strong { font-weight: 600; color: var(--v2-text); }
.apywa-rpt a, :root[data-theme="dark"] .v2-rs-body .apywa-rpt a { color: var(--v2-accent); text-decoration: underline; text-underline-offset: 3px; }
.apywa-rpt ul, .apywa-rpt ul li, .apywa-rpt ol, .apywa-rpt ol li { list-style: none; margin: 0; padding: 0; }
.apywa-rpt img { max-width: 100%; height: auto; border-radius: var(--v2-radius-sm); }
.apywa-rpt .rpt-note { font-size: 13px; color: var(--v2-text-ter); margin: 8px 0 0; }

/* 리드 + 기준 정보 */
.apywa-rpt .rpt-lead { background: var(--v2-bg-soft); border-radius: var(--v2-radius); padding: 16px 18px; margin: 0 0 16px; }
.apywa-rpt .rpt-lead p { margin: 0 0 10px; color: var(--v2-text-sec); font-size: 14px; }
.apywa-rpt .rpt-lead p:last-child { margin-bottom: 0; }
.apywa-rpt .rpt-basis { margin: 0; display: grid; gap: 4px; font-size: 14px; }
.apywa-rpt .rpt-basis > div { display: flex; gap: 12px; align-items: baseline; flex-wrap: wrap; }
.apywa-rpt .rpt-basis dt { flex: 0 0 auto; min-width: 104px; font-weight: 600; color: var(--v2-accent); }
.apywa-rpt .rpt-basis dd { margin: 0; color: var(--v2-text); }
.apywa-rpt .rpt-rev { display: inline-block; font-size: 12px; color: var(--v2-text-sec); background: var(--v2-surface); border: 0.5px solid var(--v2-border); border-radius: 999px; padding: 0 8px; line-height: 20px; }
.apywa-rpt .rpt-arrow { color: var(--v2-text-ter); margin: 0 4px; }

/* 지표 카드 (2~5개 자동 배치) — ④ .v2-stat 과 같은 톤 */
.apywa-rpt .rpt-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; margin: 0 0 24px; }
.apywa-rpt .rpt-kpi { background: var(--v2-accent-weak); border-radius: var(--v2-radius-sm); padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.apywa-rpt .rpt-kpi.rpt-bad { background: var(--v2-danger-bg); }
.apywa-rpt .rpt-kpi.rpt-neutral { background: var(--v2-bg-soft); }
.apywa-rpt .rpt-kpi-l { font-size: 13px; color: var(--v2-text-sec); }
.apywa-rpt .rpt-kpi strong { font-size: 24px; line-height: 1.3; font-weight: 700; color: var(--v2-text); font-variant-numeric: tabular-nums; }
.apywa-rpt .rpt-kpi strong small { font-size: 14px; font-weight: 400; margin-left: 2px; color: var(--v2-text-sec); }
.apywa-rpt .rpt-kpi-d { font-size: 13px; color: var(--v2-text-ter); }

/* 소제목 — ⑯-1 .v2-method-sub 와 같은 왼쪽 막대 */
.apywa-rpt .rpt-h { font-size: 17px; font-weight: 700; color: var(--v2-text); margin: 28px 0 10px; padding: 0 0 0 10px; border-left: 3px solid var(--v2-accent); line-height: 1.4; }
.apywa-rpt .rpt-sub { font-size: 13px; font-weight: 400; color: var(--v2-text-ter); margin-left: 6px; }

/* 핵심 요약 목록 */
.apywa-rpt .rpt-points li { position: relative; padding: 9px 0 9px 16px; border-bottom: 0.5px dashed var(--v2-border); color: var(--v2-text-sec); font-size: 15px; }
.apywa-rpt .rpt-points li:last-child { border-bottom: 0; }
.apywa-rpt .rpt-points li::before { content: ""; position: absolute; left: 2px; top: 20px; width: 5px; height: 5px; border-radius: 50%; background: var(--v2-accent); }

/* 강조 박스 — ⑦ .v2-alert 색 체계 */
.apywa-rpt .rpt-callout { border-left: 3px solid var(--v2-accent); background: var(--v2-accent-weak); border-radius: var(--v2-radius-sm); padding: 12px 16px; margin: 0 0 16px; color: var(--v2-text-sec); font-size: 14px; }
.apywa-rpt .rpt-callout > strong:first-child { display: block; margin-bottom: 2px; color: var(--v2-accent); }
.apywa-rpt .rpt-callout p:last-child { margin-bottom: 0; }
.apywa-rpt .rpt-callout.rpt-callout-warn { background: var(--v2-warn-bg); border-left-color: var(--v2-warn); }
.apywa-rpt .rpt-callout.rpt-callout-warn > strong:first-child { color: var(--v2-warn); }
.apywa-rpt .rpt-callout.rpt-callout-good { background: var(--v2-teal-weak); border-left-color: var(--v2-teal); }
.apywa-rpt .rpt-callout.rpt-callout-good > strong:first-child { color: var(--v2-teal); }

/* 2단 배치 · 그림 */
.apywa-rpt .rpt-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0 0 16px; }
.apywa-rpt .rpt-figure { margin: 0 0 16px; border: 0.5px solid var(--v2-border); border-radius: var(--v2-radius); padding: 12px; background: var(--v2-surface); }
.apywa-rpt .rpt-figure img { display: block; width: 100%; }
.apywa-rpt .rpt-figure figcaption { font-size: 13px; color: var(--v2-text-ter); margin-top: 8px; text-align: center; }
:root[data-theme="dark"] .apywa-rpt .rpt-figure img { background: #fff; }   /* 투명 PNG 차트가 어두운 바탕에 묻히지 않게 */

/* 표 — 헤더 배경 + ⑮ 의 td/th 사방 테두리 해제, 모바일 가로 스크롤 */
.apywa-rpt .rpt-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 0.5px solid var(--v2-border); border-radius: var(--v2-radius-sm); margin: 0 0 8px; }
.apywa-rpt .rpt-table { width: 100%; border-collapse: collapse; font-size: 14px; white-space: nowrap; background: var(--v2-surface); margin: 0; }
.apywa-rpt .rpt-table th, .apywa-rpt .rpt-table td { border: 0; }
.apywa-rpt .rpt-table thead th { background: var(--v2-accent-weak); color: var(--v2-accent-dark); font-weight: 600; font-size: 13px; text-align: center; padding: 10px 12px; border-bottom: 0.5px solid var(--v2-border); }
.apywa-rpt .rpt-table td, .apywa-rpt .rpt-table tbody th { padding: 10px 12px; border-top: 0.5px solid var(--v2-border); text-align: center; color: var(--v2-text); font-weight: 400; background: var(--v2-surface); }
.apywa-rpt .rpt-table tbody tr:first-child td, .apywa-rpt .rpt-table tbody tr:first-child th { border-top: 0; }
.apywa-rpt .rpt-table tbody tr:hover td, .apywa-rpt .rpt-table tbody tr:hover th { background: var(--v2-bg-soft); }
.apywa-rpt .rpt-table tbody th { text-align: left; font-weight: 600; }
.apywa-rpt .rpt-table .rpt-num { text-align: center; font-variant-numeric: tabular-nums; }
.apywa-rpt .rpt-table .rpt-left { text-align: left; white-space: normal; min-width: 180px; }
.apywa-rpt .rpt-table .rpt-muted, .apywa-rpt .rpt-muted { color: var(--v2-text-ter); font-size: 12px; }
.apywa-rpt .rpt-table tr.rpt-current td, .apywa-rpt .rpt-table tr.rpt-current th { font-weight: 600; background: var(--v2-bg-soft); }
.apywa-rpt .rpt-table em { font-size: 12px; margin-left: 4px; font-weight: 600; }

/* 등급 뱃지(⑤ level_*_bg 와 같은 색) · 증감(② --v2-up/down) · 색 점 */
.apywa-rpt .rpt-grade { display: inline-block; min-width: 28px; padding: 0 6px; border-radius: 4px; font-size: 13px; font-weight: 600; line-height: 20px; text-align: center; color: #fff; background: var(--v2-g-nr); }
.apywa-rpt .rpt-grade.rpt-g-a { background: var(--v2-g-a); } .apywa-rpt .rpt-grade.rpt-g-b { background: var(--v2-g-b); }
.apywa-rpt .rpt-grade.rpt-g-c { background: var(--v2-g-c); } .apywa-rpt .rpt-grade.rpt-g-d { background: var(--v2-g-d); }
.apywa-rpt .rpt-grade.rpt-g-nr { background: var(--v2-g-nr); }
:root[data-theme="dark"] .apywa-rpt .rpt-grade { color: #0F141E; }
.apywa-rpt .rpt-up { color: var(--v2-up); }
.apywa-rpt .rpt-down { color: var(--v2-down); }
.apywa-rpt .rpt-flat { color: var(--v2-text-ter); }
.apywa-rpt .rpt-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 8px; vertical-align: 1px; background: var(--v2-accent); box-shadow: 0 0 0 1px var(--v2-border); }

/* PDF 보고서 안내 (유료화 연결) — 사이트 블루 그라데이션 + 흰 버튼 */
.apywa-rpt .rpt-cta { position: relative; overflow: hidden; display: flex; align-items: center; gap: 22px; margin: 28px 0 4px; padding: 24px 26px;
	border-radius: var(--v2-radius); color: #fff; background: linear-gradient(120deg, var(--rpt-cta-1) 0%, var(--rpt-cta-2) 100%); box-shadow: 0 8px 24px rgba(12, 68, 124, .22); }
.apywa-rpt .rpt-cta::after { content: ""; position: absolute; right: -60px; top: -80px; width: 260px; height: 260px; border-radius: 50%; border: 34px solid rgba(255,255,255,.07); pointer-events: none; }
.apywa-rpt .rpt-cta-icon { flex: 0 0 auto; position: relative; width: 52px; height: 64px; border-radius: 6px; background: #fff; box-shadow: 0 6px 14px rgba(0,0,0,.18); }
.apywa-rpt .rpt-cta-icon::before { content: ""; position: absolute; right: 0; top: 0; width: 16px; height: 16px; background: linear-gradient(225deg, var(--rpt-cta-1) 50%, #DCE8F5 50%); border-radius: 0 6px 0 4px; }
.apywa-rpt .rpt-cta-icon::after { content: "PDF"; position: absolute; left: 0; right: 0; bottom: 10px; text-align: center; font-size: 12px; font-weight: 700; letter-spacing: .5px; color: #A32D2D; }
.apywa-rpt .rpt-cta-body { flex: 1 1 auto; min-width: 0; position: relative; z-index: 1; }
.apywa-rpt .rpt-cta-eyebrow { display: inline-block; font-size: 12px; font-weight: 600; padding: 2px 10px; border-radius: 999px; background: rgba(255,255,255,.18); color: #fff; margin-bottom: 8px; }
.apywa-rpt .rpt-cta-title, .apywa-rpt strong.rpt-cta-title { display: block; font-size: 19px; font-weight: 700; line-height: 1.4; color: #fff; margin-bottom: 4px; }
.apywa-rpt .rpt-cta-desc { font-size: 14px; color: rgba(255,255,255,.82); margin: 0 0 10px; }
.apywa-rpt .rpt-cta-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 18px; }
.apywa-rpt .rpt-cta-list li { position: relative; padding-left: 20px; font-size: 14px; color: #fff; }
.apywa-rpt .rpt-cta-list li::before { content: ""; position: absolute; left: 2px; top: 7px; width: 9px; height: 5px; border-left: 2px solid #8FE3B8; border-bottom: 2px solid #8FE3B8; transform: rotate(-45deg); }
.apywa-rpt .rpt-cta-side { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; gap: 8px; position: relative; z-index: 1; }
.apywa-rpt a.rpt-cta-btn, :root[data-theme="dark"] .v2-rs-body .apywa-rpt a.rpt-cta-btn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 20px; border-radius: var(--v2-radius-sm);
	background: #fff; color: #0C447C; font-size: 15px; font-weight: 700; text-decoration: none; white-space: nowrap; box-shadow: 0 4px 12px rgba(0,0,0,.18); }
.apywa-rpt a.rpt-cta-btn::after { content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin: -4px 0 0 2px; }
.apywa-rpt a.rpt-cta-btn:hover { transform: translateY(-1px); box-shadow: 0 8px 18px rgba(0,0,0,.24); }
.apywa-rpt .rpt-cta-meta { font-size: 12px; color: rgba(255,255,255,.75); }

@media (max-width: 767px) {
	.apywa-rpt .rpt-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.apywa-rpt .rpt-kpi strong { font-size: 20px; }
	.apywa-rpt .rpt-basis dt { min-width: 0; width: 100%; }
	.apywa-rpt .rpt-cols { grid-template-columns: 1fr; }
	.apywa-rpt .rpt-table { font-size: 13px; }
	.apywa-rpt .rpt-cta { flex-direction: column; align-items: stretch; gap: 14px; padding: 20px 18px; }
	.apywa-rpt .rpt-cta-icon { display: none; }
	.apywa-rpt .rpt-cta-title, .apywa-rpt strong.rpt-cta-title { font-size: 17px; }
	.apywa-rpt .rpt-cta-list { grid-template-columns: 1fr; }
	.apywa-rpt a.rpt-cta-btn, :root[data-theme="dark"] .v2-rs-body .apywa-rpt a.rpt-cta-btn { justify-content: center; width: 100%; }
}

/* ===========================================================================
   ㉓ 데일리 브리핑 다크모드 (DailyBriefing v2.6~, 2026-11-04) — v2.css 맨 아래(㉒ 다음)에 추가
   - 대상: <div class="briefing_guide brf-theme"> 로 저장된 브리핑만 (v2.6 이후 자동 작성분)
     brf-theme 가 없는 예전 수기 브리핑은 ⑳-D 의 '본문 흰 박스' 그대로 유지
   - 라이트모드는 ⑲ + 본문 인라인 색 그대로 (변경 없음). 다크모드에서만 아래 규칙이 덮어씀
     본문에 v1 호환용 인라인 색(style="color: …")이 남아 있어 해당 요소는 !important 로 덮음
   - 색은 ② 색상 토큰(--v2-*) 사용. 등락색은 본문(라이트)과 같은 의미 유지: 상승 빨강 / 하락 파랑 (한·영 공통)
   =========================================================================== */

/* ⑳-D '본문 흰 박스' 해제 */
:root[data-theme="dark"] .v2-rs-body:has(> .brf-theme) { background: transparent; padding: 0; color: var(--v2-text); }
@supports not selector(:has(*)) {   /* :has 미지원 브라우저: 흰 박스(패딩 16px) 위를 페이지 배경으로 덮음 */
	:root[data-theme="dark"] .v2-rs-body .briefing_guide.brf-theme { background: #0F141E; margin: -16px; width: calc(100% + 32px); border-radius: var(--v2-radius); }
}

/* 바탕 · 카드 · 헤더 */
:root[data-theme="dark"] .v2-rs-body .brf-theme { background: transparent; color: var(--v2-text); }
:root[data-theme="dark"] .v2-rs-body .brf-theme > div { background: var(--v2-surface); border: 1px solid var(--v2-border); box-shadow: 0 1px 2px rgba(0,0,0,.4); }
:root[data-theme="dark"] .v2-rs-body .brf-theme .briefing_tit { background: #0B0F17; color: var(--v2-text); border-bottom: 1px solid var(--v2-border); }

/* 본문 */
:root[data-theme="dark"] .v2-rs-body .brf-theme .briefing_contents { color: var(--v2-text); }
:root[data-theme="dark"] .v2-rs-body .brf-theme .info_box div { background: var(--v2-bg-soft); color: var(--v2-text); }
:root[data-theme="dark"] .v2-rs-body .brf-theme dl { border-color: var(--v2-border); }
:root[data-theme="dark"] .v2-rs-body .brf-theme dl dt { background: var(--v2-bg-soft); border-bottom-color: var(--v2-border); color: var(--v2-text); }
:root[data-theme="dark"] .v2-rs-body .brf-theme dl dd > div { color: var(--v2-text-sec); }

/* 표 */
:root[data-theme="dark"] .v2-rs-body .brf-theme table th { background: var(--v2-bg-soft); color: var(--v2-text-sec); }
:root[data-theme="dark"] .v2-rs-body .brf-theme table tbody { border-top-color: var(--v2-border); }
:root[data-theme="dark"] .v2-rs-body .brf-theme table td { border-bottom-color: #232B3A; color: var(--v2-text); }
:root[data-theme="dark"] .v2-rs-body .brf-theme table td em { background: var(--v2-accent-weak); color: var(--v2-accent-dark); }
:root[data-theme="dark"] .v2-rs-body .brf-theme table td strong { color: var(--v2-text); }
:root[data-theme="dark"] .v2-rs-body .brf-theme table td p { color: var(--v2-text-sec); }

/* 도미넌스 카드 */
:root[data-theme="dark"] .v2-rs-body .brf-theme ul li { border-color: var(--v2-border); background: var(--v2-bg-soft); }
:root[data-theme="dark"] .v2-rs-body .brf-theme .brf-dom-l { color: var(--v2-text-sec) !important; }
:root[data-theme="dark"] .v2-rs-body .brf-theme .brf-dom-v { color: var(--v2-text); }

/* 등락 · 링크 (인라인 색 덮음) */
:root[data-theme="dark"] .v2-rs-body .brf-theme .brf-up   { color: #FF7A7A !important; }
:root[data-theme="dark"] .v2-rs-body .brf-theme .brf-down { color: #7FA9FF !important; }
:root[data-theme="dark"] .v2-rs-body .brf-theme .brf-flat { color: var(--v2-text-ter) !important; }
:root[data-theme="dark"] .v2-rs-body .brf-theme a.brf-link { color: var(--v2-accent) !important; text-underline-offset: 3px; }

/* 시장 심리지표 (공포·탐욕) — 그라데이션 막대는 그대로, 바탕·회색 덮개만 어둡게 */
:root[data-theme="dark"] .v2-rs-body .brf-theme .brf-fg { background-color: var(--v2-bg-soft) !important; border-color: var(--v2-border) !important; color: var(--v2-text) !important; }
:root[data-theme="dark"] .v2-rs-body .brf-theme .brf-fg-label { color: var(--v2-text-sec) !important; }
:root[data-theme="dark"] .v2-rs-body .brf-theme .brf-fg-bar,
:root[data-theme="dark"] .v2-rs-body .brf-theme .brf-fg-mask { background-color: #2A3344 !important; }
:root[data-theme="dark"] .v2-rs-body .brf-theme .brf-fg-grad { opacity: .9; }
:root[data-theme="dark"] .v2-rs-body .brf-theme .brf-fg-guide { color: var(--v2-text-ter) !important; }
:root[data-theme="dark"] .v2-rs-body .brf-theme .brf-fg-desc { color: var(--v2-text-sec) !important; }
:root[data-theme="dark"] .v2-rs-body .brf-theme .brf-fg-extreme_fear  { color: #6E9CFF !important; }
:root[data-theme="dark"] .v2-rs-body .brf-theme .brf-fg-fear          { color: #8FB8FF !important; }
:root[data-theme="dark"] .v2-rs-body .brf-theme .brf-fg-neutral       { color: #B0B8C6 !important; }
:root[data-theme="dark"] .v2-rs-body .brf-theme .brf-fg-greed         { color: #FF8A8A !important; }
:root[data-theme="dark"] .v2-rs-body .brf-theme .brf-fg-extreme_greed { color: #FF6B6B !important; }

/* 안내 · 저작권 */
:root[data-theme="dark"] .v2-rs-body .brf-theme .cta_box { border-color: var(--v2-border); }
:root[data-theme="dark"] .v2-rs-body .brf-theme .cta_box p { color: var(--v2-text-sec); }
:root[data-theme="dark"] .v2-rs-body .brf-theme .cta_box a { background: #2A5E94; color: #fff; }
:root[data-theme="dark"] .v2-rs-body .brf-theme .copyright { color: var(--v2-text-ter); }

@media all and (max-width: 700px) {
	:root[data-theme="dark"] .v2-rs-body .brf-theme > div { box-shadow: none; }
}
