@charset "UTF-8";

/* Original file: files/cache/assets/compiled/5e69ee4f04493e6e5585c8887a8ba955581a602f.rhymix.scss.min.css */

body,table,input,textarea,select,button{font-family:sans-serif;font-size:12px}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}body{position:relative}body.rx_modal_open{overflow:hidden;position:fixed}a img{border:0}[hidden]{display:none}.xe_content,.rhymix_content{font-family:inherit;font-size:14px;line-height:160%;word-break:keep-all;word-wrap:break-word;overflow-wrap:anywhere}.xe_content p,.rhymix_content p{margin:0 0 0px 0;line-height:160%}.xe_content p span,.rhymix_content p span{line-height:160%}.xe_content img,.xe_content video,.rhymix_content img,.rhymix_content video{max-width:100%;height:auto}.xe_content table,.rhymix_content table{font:inherit}.xe_content blockquote,.rhymix_content blockquote{padding:2px 0;border-style:solid;border-color:#ccc;border-width:0;border-left-width:5px;padding-left:20px;padding-right:8px}.xe_content blockquote:lang(ar),.xe_content blockquote:lang(arc),.xe_content blockquote:lang(dv),.xe_content blockquote:lang(ha),.xe_content blockquote:lang(he),.xe_content blockquote:lang(khw),.xe_content blockquote:lang(ks),.xe_content blockquote:lang(ku),.xe_content blockquote:lang(ps),.xe_content blockquote:lang(fa),.xe_content blockquote:lang(ur),.xe_content blockquote:lang(yi),.rhymix_content blockquote:lang(ar),.rhymix_content blockquote:lang(arc),.rhymix_content blockquote:lang(dv),.rhymix_content blockquote:lang(ha),.rhymix_content blockquote:lang(he),.rhymix_content blockquote:lang(khw),.rhymix_content blockquote:lang(ks),.rhymix_content blockquote:lang(ku),.rhymix_content blockquote:lang(ps),.rhymix_content blockquote:lang(fa),.rhymix_content blockquote:lang(ur),.rhymix_content blockquote:lang(yi){border-left-width:0px;border-right-width:5px;padding-left:8px;padding-right:20px}.xe_content ul,.rhymix_content ul{list-style-type:disc}.xe_content ol,.rhymix_content ol{list-style-type:decimal}.xe_content ul,.xe_content ol,.rhymix_content ul,.rhymix_content ol{display:block;margin-left:1em;margin-right:0;padding-left:25px;padding-right:0}.xe_content ul:lang(ar),.xe_content ul:lang(arc),.xe_content ul:lang(dv),.xe_content ul:lang(ha),.xe_content ul:lang(he),.xe_content ul:lang(khw),.xe_content ul:lang(ks),.xe_content ul:lang(ku),.xe_content ul:lang(ps),.xe_content ul:lang(fa),.xe_content ul:lang(ur),.xe_content ul:lang(yi),.xe_content ol:lang(ar),.xe_content ol:lang(arc),.xe_content ol:lang(dv),.xe_content ol:lang(ha),.xe_content ol:lang(he),.xe_content ol:lang(khw),.xe_content ol:lang(ks),.xe_content ol:lang(ku),.xe_content ol:lang(ps),.xe_content ol:lang(fa),.xe_content ol:lang(ur),.xe_content ol:lang(yi),.rhymix_content ul:lang(ar),.rhymix_content ul:lang(arc),.rhymix_content ul:lang(dv),.rhymix_content ul:lang(ha),.rhymix_content ul:lang(he),.rhymix_content ul:lang(khw),.rhymix_content ul:lang(ks),.rhymix_content ul:lang(ku),.rhymix_content ul:lang(ps),.rhymix_content ul:lang(fa),.rhymix_content ul:lang(ur),.rhymix_content ul:lang(yi),.rhymix_content ol:lang(ar),.rhymix_content ol:lang(arc),.rhymix_content ol:lang(dv),.rhymix_content ol:lang(ha),.rhymix_content ol:lang(he),.rhymix_content ol:lang(khw),.rhymix_content ol:lang(ks),.rhymix_content ol:lang(ku),.rhymix_content ol:lang(ps),.rhymix_content ol:lang(fa),.rhymix_content ol:lang(ur),.rhymix_content ol:lang(yi){padding-left:0px;padding-right:25px;margin-left:0;margin-right:1em}.xe_content li,.rhymix_content li{display:list-item}@media screen{img,video{max-width:none}}.xe-clearfix:before,.xe-clearfix:after{content:" ";display:table}.xe-clearfix:after{clear:both}.xe-widget-wrapper{overflow:hidden}#rhymix_popup_menu,#popup_menu_area{position:absolute;z-index:9999;margin:10px 0;padding:0;border:1px solid #eeeeee;border-radius:2px;font-size:12px;box-shadow:0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);background:#fff;min-width:80px}#rhymix_popup_menu ul,#popup_menu_area ul{margin:0;padding:0;list-style:none}#rhymix_popup_menu li,#popup_menu_area li{margin:0;padding:0;line-height:1.5}#rhymix_popup_menu a,#popup_menu_area a{display:block;padding:5px;text-decoration:none;color:#212121}#rhymix_popup_menu a:hover,#rhymix_popup_menu a:active,#rhymix_popup_menu a:focus,#popup_menu_area a:hover,#popup_menu_area a:active,#popup_menu_area a:focus{background:#eeeeee;outline:none}@media screen and (max-width:400px){#rhymix_popup_menu,#popup_menu_area{min-width:120px;max-width:95%;font-size:13px}#rhymix_popup_menu a,#popup_menu_area a{display:block;padding:10px;text-decoration:none;color:#212121}}.editable_preview{width:100%;min-height:240px;max-height:440px;box-sizing:border-box;margin:0;padding:6px;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);overflow-y:auto;cursor:text}.editable_preview p{margin-bottom:0px !important}.editable_preview_iframe{width:100%;height:440px;box-sizing:border-box;margin:0 0 -4px 0;padding:0;border:0}#rhymix_alert{display:none;position:fixed;left:50%;bottom:20%;min-width:250px;max-width:500px;background-color:#000;color:#fff;font-size:16px;text-align:center;opacity:0.6;padding:12px 20px;border:1px solid #fff;border-radius:10px;transform:translateX(-50%);z-index:999999999}#rhymix_debug_button{display:none;position:fixed;left:0;bottom:40px;background:#eeeeee;background:linear-gradient(to bottom, #f4f4f4 0%, #eaeaea 100%);border:1px solid #ccc;border-left:0;border-top-right-radius:4px;border-bottom-right-radius:4px;box-shadow:0 0 3px 0 rgba(0, 0, 0, 0.18), 0 0 6px 0 rgba(0, 0, 0, 0.12);z-index:1073741824}#rhymix_debug_button.visible{display:block}@media print{#rhymix_debug_button.visible{display:none}}#rhymix_debug_button:hover{background:#dddddd;background:linear-gradient(to bottom, #e8e8e8 0%, #d9d9d9 100%)}#rhymix_debug_button a{display:block;font:bold 12px/14px Arial, sans-serif;color:#444;text-decoration:none;padding:4px 8px}#rhymix_debug_button a.has_errors{color:#f44336}#rhymix_debug_panel{display:none;position:fixed;left:0;top:0;max-width:100%;height:100%;overflow-y:scroll;background:#fcfcfc;box-sizing:border-box;border-right:1px solid #ccc;box-shadow:0 0 4px 0 rgba(0, 0, 0, 0.18), 0 0 8px 0 rgba(0, 0, 0, 0.12);z-index:1073741824}#rhymix_debug_panel .debug_header{clear:both;width:100%;height:36px;background:#444444;background:linear-gradient(to right, #222222 0%, #444444 40%, #eeeeee 100%);position:relative}#rhymix_debug_panel .debug_header h2{font:bold 16px/20px Arial, sans-serif;color:#fcfcfc;position:absolute;left:10px;top:10px;margin:0;padding:0}#rhymix_debug_panel .debug_header .debug_maximize{font:normal 20px/24px Arial, sans-serif;text-decoration:none;color:#444444;position:absolute;right:32px;top:6px}#rhymix_debug_panel .debug_header .debug_close{font:normal 28px/28px Arial, sans-serif;text-decoration:none;color:#444444;position:absolute;right:10px;top:4px}#rhymix_debug_panel .debug_header .debug_close:hover{color:#f44336}#rhymix_debug_panel .debug_page{clear:both;margin:12px 10px;font:normal 12px/16px Arial, NanumBarunGothic, NanumGothic, "Malgun Gothic", sans-serif}#rhymix_debug_panel .debug_page .debug_page_header{padding-bottom:8px;border-bottom:1px solid #ddd;position:relative;cursor:pointer}#rhymix_debug_panel .debug_page .debug_page_header h3{color:#444;font:inherit;font-size:14px;font-weight:bold;margin:0;padding:0}#rhymix_debug_panel .debug_page .debug_page_header h3 .error_count{display:inline-block;margin-left:6px;border-radius:4px;padding:2px 6px;font-size:12px;line-height:12px;background:#f44336;color:#ffffff}#rhymix_debug_panel .debug_page .debug_page_collapse{display:block;position:absolute;right:0;top:0;color:#999;font-size:10px;line-height:12px;text-decoration:none;padding:2px 2px}#rhymix_debug_panel .debug_page .debug_page_body{margin:8px 4px 8px 10px}#rhymix_debug_panel .debug_page .debug_page_body h4{color:#444;font:inherit;font-size:13px;font-weight:bold;margin:0 0 8px 0;padding:0}#rhymix_debug_panel .debug_page .debug_entry{font-family:Consolas, "Courier New", monospace;color:#444;margin-left:38px;margin-bottom:8px;text-indent:-28px;word-wrap:break-word;word-break:break-all}#rhymix_debug_panel .debug_page .debug_entry.pre_wrap{white-space:pre-wrap}#rhymix_debug_panel .debug_page .debug_entry ul.debug_metadata{margin:0 0 0 -16px;padding:0}#rhymix_debug_panel .debug_page .debug_entry ul.debug_metadata li{list-style:disc;margin:0;padding:0;text-indent:0}#rhymix_debug_panel .debug_page .debug_entry ul.debug_backtrace{margin:4px 0 0 16px;padding:0}#rhymix_debug_panel .debug_page .debug_entry ul.debug_backtrace li{list-style:disc;margin:0;padding:0;text-indent:0;color:#888}#rhymix_debug_panel .debug_page .debug_entry ul.debug_backtrace li ul{padding-left:20px}#rhymix_debug_panel .debug_page .debug_entry ul.debug_backtrace li ul li{list-style:circle}.btnArea{clear:both;margin:10px 0;padding:0;text-align:right}.btnArea:after{clear:both;display:block;content:""}.btn{display:inline-block;margin:0;padding:0 12px !important;height:24px !important;overflow:visible;border:1px solid #bbbbbb;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);border-bottom-color:#a2a2a2;border-radius:2px;text-decoration:none !important;text-align:center;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);vertical-align:top;line-height:24px !important;font-family:inherit;font-size:12px;color:#333333;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);background-color:#f5f5f5;background-image:-moz-linear-gradient(top, #ffffff, #e6e6e6);background-image:-webkit-linear-gradient(top, #ffffff, #e6e6e6);background-image:-webkit-gradient(top, #ffffff, #e6e6e6);background-image:-o-linear-gradient(top, #ffffff, #e6e6e6);background-image:linear-gradient(top, #ffffff, #e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#e6e6e6", GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn:hover,.btn:active,.btn[disabled]{color:#333;background-color:#e6e6e6}.btn>a,.btn>button,.btn>input,.btn>span{display:inline-block;margin:0 -12px !important;padding:0 12px !important;overflow:visible;width:auto;height:24px;border:0;vertical-align:top;text-decoration:none !important;line-height:24px;font-family:inherit;font-size:12px;color:#333;cursor:pointer;background:none}input.btn,button.btn{height:26px !important}.btn-group{position:relative;display:inline-block;white-space:nowrap;vertical-align:middle;font-size:0}.btn-group+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px}.btn-group>.btn:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.rhymix_button_wrapper{clear:both;margin:10px 0;padding:0;text-align:right}.rhymix_button_wrapper:after{clear:both;display:block;content:""}.rhymix_button{display:inline-block;margin:0;padding:0 12px !important;height:24px !important;overflow:visible;border:1px solid #bbbbbb;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);border-bottom-color:#a2a2a2;border-radius:2px;text-decoration:none !important;text-align:center;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);vertical-align:top;line-height:24px !important;font-family:inherit;font-size:12px;color:#333333;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);background-color:#f5f5f5;background-image:-moz-linear-gradient(top, #ffffff, #e6e6e6);background-image:-webkit-linear-gradient(top, #ffffff, #e6e6e6);background-image:-webkit-gradient(top, #ffffff, #e6e6e6);background-image:-o-linear-gradient(top, #ffffff, #e6e6e6);background-image:linear-gradient(top, #ffffff, #e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#e6e6e6", GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.rhymix_button:hover,.rhymix_button:active,.rhymix_button[disabled]{color:#333;background-color:#e6e6e6}.rhymix_button>a,.rhymix_button>button,.rhymix_button>input,.rhymix_button>span{display:inline-block;margin:0 -12px !important;padding:0 12px !important;overflow:visible;width:auto;height:24px;border:0;vertical-align:top;text-decoration:none !important;line-height:24px;font-family:inherit;font-size:12px;color:#333;cursor:pointer;background:none}input.rhymix_button,button.rhymix_button{height:26px !important}.message{position:relative;margin:1em 0;padding:0 1em;border:1px solid #ddd;border-radius:4px;line-height:1.4;font-size:13px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#f8f8f8}.message p{margin:1em 0 !important}.message.info{border-color:#BCE8F1;color:#3A87AD;background-color:#D9EDF7}.message.error{border-color:#EED3D7;color:#B94A48;background-color:#F2DEDE}.message.update{border-color:#D6E9C6;color:#468847;background-color:#DFF0D8}body>.message{margin:1em}.rhymix_message{position:relative;margin:1em 0;padding:0 1em;border:1px solid #ddd;border-radius:4px;line-height:1.4;font-size:13px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#f8f8f8}.rhymix_message p{margin:1em 0 !important}.rhymix_message.info{border-color:#BCE8F1;color:#3A87AD;background-color:#D9EDF7}.rhymix_message.error{border-color:#EED3D7;color:#B94A48;background-color:#F2DEDE}.rhymix_message.update{border-color:#D6E9C6;color:#468847;background-color:#DFF0D8}body>.rhymix_message{margin:1em}/* sourceMappingURL=5e69ee4f04493e6e5585c8887a8ba955581a602f.rhymix.scss.min.map */

/* Original file: layouts/corin2/layout.css */

/* ==========================================================================
   코린이 (corin2) 레이아웃 — 코인판식 커뮤니티 껍데기
   tokens/components: /common/css/corin2/
   ========================================================================== */
body {
	margin: 0; background: var(--cp-bg); color: var(--cp-ink);
	font-family: var(--cp-font) !important;
	font-size: 13px; letter-spacing: 0; line-height: 1.5;
}
a { color: inherit; }

/* Amina/Bootstrap의 전역 Helvetica·sans-serif 규칙보다 우선해 글꼴을 통일한다. */
html body,
html body .cp-wrap { font-family: var(--cp-font) !important; letter-spacing: 0; }
body button,
body input,
body select,
body textarea { font-family: var(--cp-font) !important; letter-spacing: 0; }
.cp-wrap table,
.cp-wrap input,
.cp-wrap button,
.cp-wrap select,
.cp-wrap textarea { font-family: inherit; }

/* ── 헤더 ── */
.cp-head { background: var(--cp-head-bg); border-bottom: 1px solid var(--cp-line); position: sticky; top: 0; z-index: 100; }
.cp-head-inner { max-width: 1280px; margin: 0 auto; padding: 0 16px; height: 56px; display: flex; align-items: center; gap: 20px; }
.cp-logo { display: flex; align-items: center; gap: 8px; text-decoration: none; font-size: 20px; font-weight: 900; color: var(--cp-brand); flex-shrink: 0; }
.cp-logo img { width: 30px; height: 30px; }
.cp-gnb { flex: 1; min-width: 0; overflow-x: auto; }
/* 데스크톱: 메뉴 5칸이라 가로스크롤 불필요 — overflow를 풀어야 드롭다운 패널이 잘리지 않음 */
@media (min-width: 901px){ .cp-gnb{ overflow: visible; } }
.cp-gnb ul { display: flex; align-items: center; gap: 1px; list-style: none; margin: 0; padding: 0; white-space: nowrap; }
.cp-gnb li a { display: inline-block; padding: 8px 8px; font-size: 13px; font-weight: 600; color: var(--cp-sub); text-decoration: none; border-radius: 6px; }
.cp-gnb li a:hover { color: var(--cp-brand); background: var(--cp-brand-soft); }
.cp-gnb li.on a { color: var(--cp-brand); font-weight: 700; }
.cp-account { display: flex; align-items: center; gap: 8px; flex-shrink: 0; font-size: 13px; }
.cp-account a { text-decoration: none; color: var(--cp-sub); font-weight: 600; white-space: nowrap; }
.cp-account a:hover { color: var(--cp-ink); }
.cp-account .cp-join { background: var(--cp-brand); color: #fff; padding: 7px 14px; border-radius: 6px; }
.cp-account .cp-join:hover { background: var(--cp-brand-h); color: #fff; }
.cp-account .cp-nick { font-weight: 700; color: var(--cp-ink); text-decoration: none; }
.cp-account .cp-nick:hover { color: var(--cp-brand); }
.cp-account .cp-search-link { padding: 6px 10px; border-radius: 6px; border: 1px solid var(--cp-line); }
.cp-head-search{width:220px;height:34px;display:flex;align-items:center;border:1px solid var(--cp-line);background:var(--cp-panel)}
.cp-head-search input[type="search"]{min-width:0;flex:1;height:32px;padding:0 10px;border:0;outline:0;background:transparent;color:var(--cp-ink);font:inherit}
.cp-head-search button{width:34px;height:32px;padding:0;border:0;background:transparent;color:var(--cp-sub);font-size:20px;cursor:pointer}
.cp-head-search:focus-within{border-color:var(--cp-brand)}
.cp-search-mobile{display:none}

/* ── 본문 + 사이드바 ── */
.cp-body { max-width: 1280px; margin: 20px auto; padding: 0 16px; display: flex; gap: 20px; align-items: flex-start; }
.cp-content { flex: 1; min-width: 0; background: var(--cp-panel); border: 1px solid var(--cp-line); border-radius: var(--cp-radius); padding: 16px; box-shadow: var(--cp-shadow); }
.cp-content:has(.cp-home) { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.cp-body.cp-data-body { max-width: 1280px; }
.cp-data-body .cp-content { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.cp-data-body .cp-oc-dashboard,
.cp-data-body .cp-oc-kimp,
.cp-data-body .cp-oc-ind,
.cp-data-body .cp-oc-whale-v2,
.cp-data-body .cp-oc-poschart,
.cp-data-body .cp-oc-liq,
.cp-data-body .cp-oc-liqmap,
.cp-data-body .cp-oc-smart,
.cp-data-body .cp-oc-alarm { margin: 0; }

/* 데이터 도구 내부 내비게이션 — 게시판 탭처럼 단정한 공통 구조 */
.cp-tool-nav{
	display:flex; min-height:46px; margin:0; overflow:hidden;
	border:1px solid var(--cp-line); border-bottom:0; background:var(--cp-panel);
}
.cp-tool-nav-title{
	display:flex; flex:0 0 auto; align-items:center; padding:0 16px;
	border-right:1px solid var(--cp-line); background:var(--cp-head-bg);
	color:var(--cp-ink); font-size:13px; font-weight:800; white-space:nowrap;
}
.cp-tool-nav-scroll{
	display:flex; min-width:0; flex:1; align-items:stretch; overflow-x:auto; overflow-y:hidden;
	scrollbar-width:none; -webkit-overflow-scrolling:touch;
}
.cp-tool-nav-scroll::-webkit-scrollbar{ display:none; }
.cp-tool-nav-group{
	display:flex; flex:0 0 auto; align-items:center; padding:0 9px 0 13px;
	color:var(--cp-faint); font-size:10px; font-weight:800; letter-spacing:.4px; white-space:nowrap;
}
.cp-tool-nav-divider{
	width:1px; height:18px; margin:auto 3px; flex:0 0 1px; background:var(--cp-line);
}
.cp-tool-nav a{
	position:relative; display:flex; min-height:45px; flex:0 0 auto; align-items:center;
	padding:0 13px; color:var(--cp-sub); font-size:12.5px; font-weight:650;
	text-decoration:none; white-space:nowrap;
}
.cp-tool-nav a:hover{ background:var(--cp-brand-soft); color:var(--cp-brand); }
.cp-tool-nav a.on{
	background:var(--cp-brand-soft); color:var(--cp-brand); font-weight:800;
}
.cp-tool-nav a.on::after{
	position:absolute; right:10px; bottom:0; left:10px; height:3px;
	background:var(--cp-brand); content:"";
}
.cp-tool-nav a:focus-visible{ z-index:1; outline:2px solid var(--cp-brand); outline-offset:-2px; }
@media(max-width:760px){
	.cp-tool-nav-title{ padding:0 12px; }
	.cp-tool-nav-group{ display:none; }
	.cp-tool-nav-divider{ margin-right:5px; margin-left:5px; }
	.cp-tool-nav a{ min-height:44px; padding:0 12px; }
}
@media(max-width:480px){
	.cp-tool-nav-title{ position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); border:0; }
	.cp-tool-nav{ min-height:44px; }
}
.cp-data-discuss{
	display:flex; min-height:54px; align-items:center; justify-content:space-between; gap:12px;
	margin-top:10px; padding:9px 12px; border:1px solid var(--cp-line); background:var(--cp-head-bg);
}
.cp-data-discuss strong{ display:block; color:var(--cp-ink); font-size:12px; }
.cp-data-discuss span{ display:block; margin-top:2px; color:var(--cp-sub); font-size:10.5px; }
.cp-data-discuss a{
	flex:0 0 auto; padding:7px 11px; border:1px solid var(--cp-brand); color:var(--cp-brand);
	font-size:11px; font-weight:800; text-decoration:none;
}
.cp-data-discuss a:hover{ background:var(--cp-brand); color:#fff; }
@media(max-width:600px){
	.cp-data-discuss{ align-items:stretch; flex-direction:column; }
	.cp-data-discuss a{ min-height:42px; text-align:center; line-height:26px; }
}

/* 데이터 도구 공통 머리글 — 홈 시세판과 같은 커뮤니티 톤 */
.cp-data-body .cp-oc-dashboard > .cp-oc-head,
.cp-data-body .cp-oc-kimp > .cp-oc-head,
.cp-data-body .cp-oc-ind > .ind-head,
.cp-data-body .cp-oc-whale-v2 > .oc2-page-head,
.cp-data-body .cp-oc-poschart > .cp-oc-head,
.cp-data-body .cp-oc-liq > .cp-oc-head,
.cp-data-body .cp-oc-liqmap > .cp-oc-head,
.cp-data-body .cp-oc-smart > .cp-oc-head,
.cp-data-body .cp-oc-alarm > .al-head {
	min-height: 44px;
	display: flex;
	align-items: center;
	margin: 0;
	padding: 8px 14px;
	border: 1px solid #1d324d;
	background: #253b59;
	color: #fff;
}
.cp-data-body .cp-oc-dashboard > .cp-oc-head .md-title,
.cp-data-body .cp-oc-kimp > .cp-oc-head .cp-oc-title,
.cp-data-body .cp-oc-ind > .ind-head .ind-title,
.cp-data-body .cp-oc-whale-v2 > .oc2-page-head h1,
.cp-data-body .cp-oc-poschart > .cp-oc-head .pc-title,
.cp-data-body .cp-oc-liq > .cp-oc-head .cp-oc-title,
.cp-data-body .cp-oc-liqmap > .cp-oc-head .cp-oc-title,
.cp-data-body .cp-oc-smart > .cp-oc-head .cp-oc-title,
.cp-data-body .cp-oc-alarm > .al-head .al-title { color: #fff; font-size: 16px; }
.cp-data-body .cp-oc-dashboard > .cp-oc-head small,
.cp-data-body .cp-oc-kimp > .cp-oc-head small,
.cp-data-body .cp-oc-ind > .ind-head small,
.cp-data-body .cp-oc-whale-v2 > .oc2-page-head .oc2-subtitle,
.cp-data-body .cp-oc-whale-v2 > .oc2-page-head .oc2-eyebrow,
.cp-data-body .cp-oc-poschart > .cp-oc-head small,
.cp-data-body .cp-oc-liq > .cp-oc-head small,
.cp-data-body .cp-oc-liqmap > .cp-oc-head small,
.cp-data-body .cp-oc-smart > .cp-oc-head small,
.cp-data-body .cp-oc-alarm > .al-head small,
.cp-data-body .cp-oc-poschart > .cp-oc-head .pc-meta,
.cp-data-body .cp-oc-liq > .cp-oc-head .cp-oc-meta,
.cp-data-body .cp-oc-liqmap > .cp-oc-head .cp-oc-meta,
.cp-data-body .cp-oc-smart > .cp-oc-head .cp-oc-meta,
.cp-data-body .cp-oc-alarm > .al-head .al-meta { color: #c5d1de; }
.cp-data-body .cp-oc-whale-v2 > .oc2-page-head .oc2-eyebrow { margin: 0 10px 0 0; }
.cp-data-body .cp-oc-whale-v2 > .oc2-page-head .oc2-subtitle { margin: 0 0 0 10px; }
.cp-data-body .cp-oc-dashboard > .cp-oc-head button,
.cp-data-body .cp-oc-kimp > .cp-oc-head button,
.cp-data-body .cp-oc-whale-v2 > .oc2-page-head button,
.cp-data-body .cp-oc-whale-v2 > .oc2-page-head .oc2-export,
.cp-data-body .cp-oc-poschart > .cp-oc-head button,
.cp-data-body .cp-oc-liq > .cp-oc-head button,
.cp-data-body .cp-oc-liqmap > .cp-oc-head button,
.cp-data-body .cp-oc-smart > .cp-oc-head button {
	border-color: rgba(255,255,255,.35);
	background: rgba(255,255,255,.08);
	color: #fff;
}
.cp-content:has(.board){ padding: 12px 14px; box-shadow: none; }
.cp-content:has(.board){ padding: 12px 14px; box-shadow: none; }
.cp-side { width: 280px; flex-shrink: 0; display: flex; flex-direction: column; gap: 14px; }
.cp-card { background: var(--cp-panel); border: 1px solid var(--cp-line); border-radius: 10px; padding: 14px; }
.cp-card-head { font-size: 13px; font-weight: 800; color: var(--cp-ink); margin-bottom: 10px; padding-bottom: 8px; border-bottom: 2px solid var(--cp-brand); }
.cp-side-link { display: block; padding: 9px 10px; border-radius: 8px; text-decoration: none; color: var(--cp-ink); font-weight: 600; font-size: 13px; }
.cp-side-link:hover { background: var(--cp-brand-soft); color: var(--cp-brand); }
.cp-side-note { color: var(--cp-sub); font-size: 12.5px; margin: 0 0 12px; line-height: 1.6; }
.cp-side-btn { display: block; text-align: center; background: var(--cp-brand); color: #fff; padding: 10px; border-radius: 8px; font-weight: 700; text-decoration: none; font-size: 13px; }
.cp-side-btn:hover { background: var(--cp-brand-h); }

/* ── 실시간 시세 위젯 ── */
.cp-ticker .cp-card-head { display: flex; align-items: center; }
.cp-ticker-src { margin-left: auto; font-size: 10.5px; font-weight: 600; color: var(--cp-faint); }
.cp-ticker-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #1e8e3e; margin-left: 5px; animation: cpPulse 1.5s infinite; }
@keyframes cpPulse { 0%,100%{opacity:1;} 50%{opacity:.25;} }
.cp-ticker ul { list-style: none; margin: 0; padding: 0; }
.cp-ticker li { display: flex; align-items: center; gap: 8px; padding: 7px 2px; border-bottom: 1px solid var(--cp-line); font-size: 12.5px; }
.cp-ticker li:last-child { border-bottom: none; }
.cp-ticker .cp-tk-loading { color: var(--cp-faint); justify-content: center; }
.cp-tk-icon { width: 20px; height: 20px; border-radius: 50%; flex-shrink: 0; object-fit: cover; background: #fff; }
.cph-coin-head { display: flex; align-items: center; gap: 6px; margin-bottom: 1px; }
.cph-coin-icon { width: 22px; height: 22px; border-radius: 50%; flex-shrink: 0; object-fit: cover; background: #fff; }
.cp-tk-name { font-weight: 600; color: var(--cp-ink); flex: 1; white-space: nowrap; }
.cp-tk-price { color: var(--cp-ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
.cp-tk-rate { width: 58px; text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
.cp-tk-rate.up { color: var(--cp-up); }
.cp-tk-rate.dn { color: var(--cp-down); }

/* ── 홈 포털 대시보드 ── */
.cp-home { display: flex; flex-direction: column; gap: 12px; }
/* 좌측 광고형 날개배너 — 넓은 화면(≥1640px)에서만, 콘텐츠(1280) 왼쪽 여백에 고정 */
.cp-wing-ad { position: fixed; top: 92px; left: calc(50% - 808px); width: 150px; z-index: 50; display: none; flex-direction: column; gap: 12px; }
@media (min-width: 1640px) { .cp-wing-ad { display: flex; } }
.cp-wrap.cp-trade-mode .cp-wing-ad { display: none !important; }
.cp-wad { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 16px 12px 14px; border-radius: 14px; text-decoration: none; color: #fff; text-align: center; overflow: hidden; box-shadow: 0 4px 16px rgba(15,23,42,.18); transition: transform .12s, box-shadow .12s; }
.cp-wad:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(15,23,42,.28); }
.cp-wad-tg { background: linear-gradient(160deg, #2eaee4, #229ED9 55%, #1877b0); }
.cp-wad-ev { background: linear-gradient(160deg, #3a5bd9, #2a49b8 55%, #1c2f80); }
.cp-wad-ic { width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,.18); display: flex; align-items: center; justify-content: center; margin-bottom: 2px; }
.cp-wad strong { font-size: 15px; font-weight: 800; line-height: 1.25; }
.cp-wad-sub { font-size: 11px; opacity: .9; }
.cp-wad-btn { margin-top: 4px; font-size: 11.5px; font-weight: 800; background: rgba(255,255,255,.16); padding: 5px 12px; border-radius: 999px; }
.cp-wad-ev .cp-wad-btn { background: #fcd535; color: #3a2c00; }
.cp-wad-badge { position: absolute; top: 8px; right: 8px; font-size: 9.5px; font-weight: 800; background: #fcd535; color: #3a2c00; padding: 2px 7px; border-radius: 999px; }

.cp-home-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }

/* [QA수정] 게시판 위젯: 제목이 float 메타(날짜·댓글수) 위로 겹쳐 뭉개지던 것 → flex 전환으로 제목 말줄임 처리 */
.cp-home-widgets .post-list li a,
.basic-post-list .post-list li a,
.widget-box .post-list li a { display: flex !important; align-items: center; gap: 8px; }
.cp-home-widgets .post-list .cp-w-leading,
.basic-post-list .cp-w-leading { order: 0; flex: 1 1 auto; min-width: 0; max-width: none; }
.cp-home-widgets .post-list .cp-w-subject,
.basic-post-list .cp-w-subject { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.cp-home-widgets .post-list .cp-w-meta,
.basic-post-list .cp-w-meta { order: 1; float: none !important; flex: 0 0 auto; margin-left: auto; white-space: nowrap; }

/* [QA수정] 대시보드 코인카드 등락색을 한국 관례(상승=빨강/하락=파랑)로 — 홈 실시간시세와 색 통일(같은 BTC 등락이 페이지마다 다른색이던 문제) */
.md-card-sub.pos, .md-card-val.pos { color: var(--cp-up) !important; }
.md-card-sub.neg, .md-card-val.neg { color: var(--cp-down) !important; }
.cph-metric { display: flex; flex-direction: column; gap: 3px; padding: 14px; border: 1px solid var(--cp-line); border-radius: 10px; background: var(--cp-panel); text-decoration: none; color: inherit; transition: border-color .12s; }
.cph-metric:hover { border-color: var(--cp-brand); }
.cph-lbl { font-size: 11.5px; font-weight: 600; color: var(--cp-sub); }
.cph-val { font-size: 22px; font-weight: 800; color: var(--cp-ink); line-height: 1.1; font-variant-numeric: tabular-nums; }
.cph-metric.up .cph-val { color: var(--cp-up); }
.cph-metric.dn .cph-val { color: var(--cp-down); }
.cph-sub { font-size: 11px; color: var(--cp-faint); font-variant-numeric: tabular-nums; }
.cph-coins { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.cph-coin { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border: 1px solid var(--cp-line); border-radius: 9px; background: var(--cp-panel); }
.cph-cn { font-size: 12px; font-weight: 700; color: var(--cp-ink); }
.cph-cp { font-size: 14px; font-weight: 700; color: var(--cp-ink); font-variant-numeric: tabular-nums; }
.cph-cu { font-size: 11px; color: var(--cp-sub); font-variant-numeric: tabular-nums; }
.cph-cu em { font-style: normal; font-size: 9.5px; color: var(--cp-faint); font-weight: 700; }
.cph-cc { font-size: 11.5px; font-weight: 700; font-variant-numeric: tabular-nums; }
.cph-cc.up { color: var(--cp-up); } .cph-cc.dn { color: var(--cp-down); }
.cph-load { padding: 12px 10px; color: var(--cp-faint); font-size: 12px; list-style: none; }
.cph-tools { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.cph-tool { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 13px; border-radius: 10px; background: var(--cp-brand); color: #fff; font-weight: 700; font-size: 13px; text-decoration: none; }
.cph-tool:hover { background: var(--cp-brand-h); }
@media (max-width: 640px) {
	.cp-home-metrics { grid-template-columns: repeat(2, 1fr); }
	.cph-coins { grid-template-columns: repeat(2, 1fr); }
	.cp-home-posts { grid-template-columns: 1fr; }
	.cph-tools { grid-template-columns: repeat(2, 1fr); }
	.cph-val { font-size: 19px; }
}

/* ── 푸터 ── */
.cp-foot { border-top: 1px solid var(--cp-line); margin-top: 24px; background: var(--cp-head-bg); }
.cp-foot-inner { max-width: 1280px; min-height: 52px; margin: 0 auto; padding: 10px 16px; display: flex; flex-direction: row; align-items: center; gap: 8px 12px; white-space: nowrap; }
.cp-foot-brand { flex: 0 0 auto; font-weight: 800; color: var(--cp-brand); font-size: 13px; }
.cp-foot-text { flex: 1 1 260px; min-width: 0; overflow: hidden; text-overflow: ellipsis; color: var(--cp-faint); font-size: 11px; }

/* ── 모바일 ── */
@media (max-width: 900px) {
	/* column 전환시 align-items:flex-start(데스크톱 잔재)가 자식을 max-content 폭으로 만들어
	   내부 고정폭(에디터 등)이 판을 밀었음 → stretch + width 강제 */
	.cp-body { flex-direction: column; align-items: stretch; }
	.cp-content { width: 100%; max-width: 100%; box-sizing: border-box; }
	.cp-side { width: 100%; flex-direction: row; flex-wrap: wrap; }
	.cp-card { flex: 1; min-width: 240px; }
	.cp-body:not(:has(.cp-home)) .cp-side { display: none; }
	.board .list_footer .btnArea { display: none; }
}
@media (max-width: 1040px){.cp-head-search{display:none}.cp-search-mobile{display:inline-flex}}
@media (max-width: 600px) {
	.cp-head-inner { gap: 10px; padding: 0 12px; }
	.cp-logo span { display: none; }
	.cp-gnb li a { padding: 0 12px; font-size: 13px; min-height: 44px; display: inline-flex; align-items: center; }
	.cp-account .cp-login { display: none; }
	.cp-content { padding: 14px; border-radius: 8px; }
}

/* 야간루프 1회차: 회원 모듈(로그인/가입) 모바일 고정폭 해제 */
@media (max-width:600px) {
	.cp-content section.xm, .cp-content .xm { width: 100% !important; min-width: 0 !important; max-width: 100% !important; }
	.cp-content .xm input[type="text"], .cp-content .xm input[type="password"], .cp-content .xm input[type="email"],
	.cp-content .xm input[type="tel"], .cp-content .xm select { max-width: 100%; box-sizing: border-box; }
	.cp-content .xm fieldset, .cp-content .xm .x_control-group { max-width: 100%; }
}

/* 야간루프 1회차b: 모바일 본문 가로스크롤 안전망 (회원모듈 등 고정폭 잔재 클리핑) */
@media (max-width: 600px) {
	.cp-content { overflow-x: hidden; }
	.cp-content .xm li, .cp-content .xm ul { max-width: 100%; }
}

/* ============================================================
   야간루프 2회차 (Batch A): 모바일 헤더/회원폼/버튼/터치/다크 정비
   ============================================================ */

/* [mobile-ux high] GNB 우측 페이드 — '더 있다' 시각단서 */
@media (max-width: 900px){
  .cp-gnb{ -webkit-mask-image:linear-gradient(90deg,#000 80%,transparent); mask-image:linear-gradient(90deg,#000 80%,transparent); }
  .cp-gnb::-webkit-scrollbar{ height:0; }
}

/* [mobile-ux high] 모바일 로그인 진입점 복원 (기존 display:none 무력화) */
@media (max-width: 600px){
  .cp-account .cp-login{ display:inline-flex !important; align-items:center; padding:7px 10px; min-height:40px; font-size:13px; font-weight:700; color:var(--cp-brand); }
  .cp-account{ gap:6px; }
  .cp-account .cp-join{ padding:9px 12px; }
  /* [QA수정] 헤더 탭타겟 44px 권장 근접(기존 31~34px) */
  .cp-account a, .cp-account .cp-search-link, .cp-account .cp-nick, .cp-account .cp-logout{ min-height:40px; display:inline-flex; align-items:center; }
}

/* [designer high] 전역 버튼 통일 — 구 XE bevel(gradient/radius2) 제거 */
.cp-content .btn, .cp-content input[type="submit"], .cp-content button.btn, .cp-content .submit{
  display:inline-flex; align-items:center; justify-content:center;
  background:#eef1f5; background-image:none !important; box-shadow:none !important; text-shadow:none !important;
  border:1px solid var(--cp-line); border-radius:8px; min-height:40px; padding:0 16px;
  font-size:14px; font-weight:600; color:var(--cp-ink); text-decoration:none; cursor:pointer; line-height:1;
}
.cp-content .btn:hover{ border-color:var(--cp-brand); color:var(--cp-brand); }
.cp-content .btn-inverse, .cp-content input[type="submit"].btn-inverse, .cp-content .submit.btn-inverse{
  background:var(--cp-brand) !important; border-color:var(--cp-brand); color:#fff !important;
}
.cp-content .btn-inverse:hover{ background:var(--cp-brand-h) !important; color:#fff !important; }

/* [designer high] 회원 로그인/가입 카드 — Bootstrap2 잔재 → corin2 톤 */
.cp-content .signin{ max-width:400px; margin:24px auto; background:var(--cp-panel); border:1px solid var(--cp-line); border-radius:12px; overflow:hidden; }
.cp-content .signin .login-header{ padding:18px 22px; border-bottom:1px solid var(--cp-line); background:var(--cp-head-bg); }
.cp-content .signin .login-header h1{ margin:0; font-size:18px; font-weight:800; color:var(--cp-ink); }
.cp-content .signin .login-header i{ color:var(--cp-brand); }
.cp-content .signin .login-body{ padding:20px 22px; }
.cp-content .signin .login-footer{ padding:14px 22px; border-top:1px solid var(--cp-line); background:var(--cp-head-bg); font-size:13px; text-align:center; color:var(--cp-sub); }
.cp-content .signin .login-footer a{ color:var(--cp-brand); text-decoration:none; }
.cp-content .signin .control-group{ margin:0 0 12px; }
.cp-content .signin .submit{ width:100%; margin-top:6px; }

/* 회원 입력창 공통 */
.cp-content .signin input[type="text"], .cp-content .signin input[type="password"], .cp-content .signin input[type="email"],
.cp-content .form-horizontal input[type="text"], .cp-content .form-horizontal input[type="password"],
.cp-content .form-horizontal input[type="email"], .cp-content .form-horizontal input[type="tel"], .cp-content .form-horizontal select, .cp-content .form-horizontal textarea{
  width:100%; box-sizing:border-box; min-height:44px; padding:0 12px;
  border:1px solid var(--cp-line); border-radius:8px; font-size:15px; color:var(--cp-ink); background:var(--cp-panel);
  font-family:var(--cp-font);
}
.cp-content .form-horizontal textarea{ padding:10px 12px; min-height:96px; }
.cp-content .signin input:focus, .cp-content .form-horizontal input:focus, .cp-content .form-horizontal select:focus{ outline:none; border-color:var(--cp-link); box-shadow:0 0 0 3px var(--cp-focus-ring); }

/* [designer high] 회원가입 form-horizontal — 라벨 상단배치(전 폭 대응) */
.cp-content .form-horizontal{ max-width:560px; margin:20px auto; }
.cp-content .form-horizontal .control-group{ margin:0 0 16px; }
.cp-content .form-horizontal .control-label{ display:block; float:none; width:auto; text-align:left; margin:0 0 6px; padding:0; font-size:13px; font-weight:700; color:var(--cp-ink); }
.cp-content .form-horizontal .controls{ margin-left:0; }
.cp-content .form-horizontal .help-inline, .cp-content .form-horizontal .help-block{ display:block; margin:6px 0 0; font-size:12px; color:var(--cp-faint); }
.cp-content .form-horizontal .agreement{ border:1px solid var(--cp-line); border-radius:8px; padding:14px 16px; margin:0 0 16px; background:var(--cp-head-bg); }
.cp-content .form-horizontal .agreement .title{ font-weight:700; margin-bottom:8px; }
.cp-content .form-horizontal .agreement .text{ max-height:120px; overflow:auto; font-size:12px; color:var(--cp-sub); }
.cp-content .form-horizontal .btnArea{ display:flex; gap:8px; margin-top:8px; }
.cp-content .form-horizontal .btnArea .pull-right{ order:2; margin-left:auto; }
.cp-content .form-horizontal .btnArea .pull-left{ order:1; }

/* [designer low / mobile] 스팸 유인 홈페이지 필드 숨김(가입·댓글) */
.cp-content .control-group:has(input[name="homepage"]){ display:none; }
.cp-content input[name="homepage"]{ display:none; }

/* [mobile-ux medium] 터치타겟 44px — 체크박스/라디오 + 라벨 */
@media (max-width: 768px){
  .cp-content input, .cp-content textarea, .cp-content select{ font-size:16px !important; } /* iOS 포커스 확대 방지 */
  .cp-content input[type="checkbox"], .cp-content input[type="radio"]{ width:20px; height:20px; vertical-align:middle; }
  .cp-content .control-group label{ display:inline-flex; align-items:center; gap:6px; min-height:36px; }
  .cp-content .btn, .cp-content input[type="submit"], .cp-content .submit{ min-height:44px; }
}

/* [mobile-ux high] 회원가입 폼 모바일 — 라벨/입력 세로 스택 확정 */
@media (max-width: 640px){
  .cp-content .form-horizontal, .cp-content .signin{ max-width:100%; }
  .cp-content .form-horizontal .control-label, .cp-content .form-horizontal .controls{ width:100% !important; box-sizing:border-box; }
  .cp-content .form-horizontal input, .cp-content .form-horizontal select, .cp-content .form-horizontal textarea{ width:100% !important; max-width:100% !important; }
}

/* [designer high] 다크모드 — 로그인/가입 카드(흰 블록 잔존 해소) */
html.dark .cp-content .signin, html.rx_dark .cp-content .signin,
html.dark .cp-content .form-horizontal .agreement, html.rx_dark .cp-content .form-horizontal .agreement{ background:var(--cp-panel); border-color:var(--cp-line); }
html.dark .cp-content .signin input, html.rx_dark .cp-content .signin input,
html.dark .cp-content .form-horizontal input, html.rx_dark .cp-content .form-horizontal input,
html.dark .cp-content .form-horizontal select, html.rx_dark .cp-content .form-horizontal select,
html.dark .cp-content .form-horizontal textarea, html.rx_dark .cp-content .form-horizontal textarea{ background:#0d1117; color:var(--cp-ink); border-color:var(--cp-line); }

/* [seo] 홈 h1 슬로건 */
.cp-home-h1{ font-size:20px; font-weight:800; color:var(--cp-ink); margin:0 0 14px; letter-spacing:0; }
.cp-home-h1 span{ font-weight:600; color:var(--cp-sub); font-size:15px; }
@media (max-width:640px){ .cp-home-h1{ font-size:17px; } .cp-home-h1 span{ display:block; font-size:13px; margin-top:2px; } }

/* [perf/CWV] 홈 비동기 위젯 공간예약(컨테이너 단위) — 로드시 레이아웃 시프트(CLS) 제거 */
.cp-home-metrics{ min-height:94px; }
#cphCoins{ min-height:100px; }
.cp-home-posts{ min-height:300px; }
@media (max-width:640px){
  .cp-home-metrics{ min-height:191px; }
  #cphCoins{ min-height:318px; }
  .cp-home-posts{ min-height:560px; }
  }

/* [designer low] 회원가입 스팸유인 레거시필드(블로그) 숨김 — homepage와 함께 */
.cp-content .control-group:has(input[name="blog"]){ display:none; }
.cp-content input[name="blog"]{ display:none; }

/* [marketer] 가입 마찰↓: 생일 필드 숨김(블로그/홈페이지에 이어) */
.cp-content .control-group:has(input[name="birthday"]), .cp-content .control-group:has(select[name*="birthday"]){ display:none; }

/* [marketer] 첫방문 가입 CTA 밴드(로그아웃시) */
.cp-cta{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:0 0 14px; padding:14px 18px; background:linear-gradient(90deg,var(--cp-brand-soft-strong),var(--cp-brand-soft)); border:1px solid var(--cp-brand-border); border-radius:12px; }
.cp-cta-text{ font-size:14px; font-weight:600; color:var(--cp-ink); }
.cp-cta-btn{ flex-shrink:0; display:inline-flex; align-items:center; background:var(--cp-brand); color:#fff; padding:10px 20px; border-radius:8px; font-weight:800; font-size:14px; text-decoration:none; }
.cp-cta-btn:hover{ background:var(--cp-brand-h); color:#fff; }
/* [marketer] 홈 활력 지표 스트립 */
.cp-vitals{ display:flex; gap:20px; flex-wrap:wrap; margin:0 0 16px; padding:12px 16px; background:var(--cp-head-bg); border:1px solid var(--cp-line); border-radius:10px; }
.cp-vital{ font-size:13px; color:var(--cp-sub); }
.cp-vital b{ color:var(--cp-brand); font-weight:800; font-size:15px; margin-right:3px; }
@media (max-width:640px){ .cp-cta{ flex-direction:column; align-items:stretch; text-align:center; } .cp-cta-btn{ justify-content:center; } .cp-vitals{ justify-content:space-around; gap:10px; } }

/* 회원가입: 이름(user_name) 표시 — 닉네임과 동일 자동 채움 */
.cp-content .control-group:has(input[name="user_name"]) input[name="user_name"]{ min-height:44px; }

/* [a11y] 본문 바로가기 - 포커스시만 노출 */
.cp-skip{ position:absolute; left:-9999px; top:0; z-index:1000; background:var(--cp-brand); color:#fff; padding:10px 16px; border-radius:0 0 8px 0; font-weight:700; text-decoration:none; }
.cp-skip:focus{ left:0; }

/* [a11y] 커스텀 인터랙티브 요소 포커스 링 통일 */
a:focus-visible, button:focus-visible, .cph-metric:focus-visible, .cph-tool:focus-visible, .cp-cta-btn:focus-visible, .cph-tool:focus-visible, .cp-side-link:focus-visible{ outline:2px solid var(--cp-brand); outline-offset:2px; border-radius:4px; }
/* [seo] 푸터 키워드 내부링크 */
.cp-foot-links{ display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:2px; }
.cp-foot-links a{ font-size:12px; color:var(--cp-sub); text-decoration:none; }
.cp-foot-links a:hover{ color:var(--cp-brand); text-decoration:underline; }

/* [theme] 라이트/다크 토글 버튼 */
.cp-theme-btn{ display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; padding:0; margin-right:4px; border:1px solid var(--cp-line); background:transparent; border-radius:8px; color:var(--cp-sub); cursor:pointer; vertical-align:middle; }
.cp-theme-btn:hover{ color:var(--cp-brand); border-color:var(--cp-brand); }
.cp-theme-btn svg{ display:block; }
.cp-theme-btn .cp-th-sun{ display:none; }
html.dark .cp-theme-btn .cp-th-sun{ display:block; }
html.dark .cp-theme-btn .cp-th-moon{ display:none; }
@media (max-width:600px){ .cp-theme-btn{ width:34px; height:34px; } }

/* [onchain-menu] 온체인 드롭다운 (body portal) */


/* GNB 드롭다운 (2026-07-09 오너지시: 온체인 기능 메뉴 그룹핑) */
.cp-gnb li.cp-dd { position: relative; }
.cp-gnb li.cp-dd > a::after { content: ""; display: inline-block; margin-left: 5px; vertical-align: 2px; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 4.5px solid currentColor; opacity: .55; }
.cp-gnb .cp-dd-menu { display: none; position: absolute; top: calc(100% + 2px); left: 0; min-width: 138px; background: var(--cp-panel); border: 1px solid var(--cp-line); border-radius: 10px; box-shadow: 0 10px 28px rgba(15,23,42,.12); padding: 6px; margin: 0; list-style: none; z-index: 60; }
.cp-gnb li.cp-dd::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 4px; }
.cp-gnb li.cp-dd:hover > .cp-dd-menu, .cp-gnb li.cp-dd:focus-within > .cp-dd-menu, .cp-gnb li.cp-dd.open > .cp-dd-menu { display: block; }
.cp-gnb .cp-dd-menu li { display: block; }
.cp-gnb .cp-dd-menu a { display: block; padding: 8px 12px; border-radius: 7px; font-size: 13px; white-space: nowrap; }
.cp-gnb .cp-dd-menu a:hover { background: var(--cp-brand-soft); color: var(--cp-brand); }
.cp-gnb a.on { color: var(--cp-brand); font-weight: 700; }
@media (max-width: 900px) {
  /* 모바일: 드롭다운 해체 -> 가로 스크롤 평면 메뉴에 병합 */
  .cp-gnb li.cp-dd { display: contents; }
  .cp-gnb li.cp-dd > a { display: none; }
  .cp-gnb .cp-dd-menu { display: contents; }
  .cp-gnb .cp-dd-menu li { display: inline-block; }
  .cp-gnb .cp-dd-menu a { display: inline-flex; align-items: center; padding: 0 12px; min-height: 44px; border-radius: 6px; background: none; }
}


/* rank-sidebar.css 로 분리 */

/* 로그인 폼 — 체크박스 행/안내문 겹침 수정 (모바일 로그인창 깨짐)
   원인: member 스킨 CSS가 .submit을 position:absolute로 띄워 '로그인 유지' 라벨 위에 겹침 -> 흐름 배치로 강제 */
.cp-content .signin .control-group{ height:auto !important; }
.cp-content .signin .control-group label{ display:flex !important; align-items:center; gap:8px; margin:0 0 12px; font-size:13px; color:var(--cp-sub); line-height:1.5; cursor:pointer; position:static !important; }
.cp-content .signin input[type="checkbox"]{ width:16px; height:16px; margin:0; accent-color:var(--cp-brand); flex-shrink:0; position:static !important; }
.cp-content .signin .submit, .cp-content .signin input[type="submit"]{ position:static !important; display:block; width:100%; margin-top:6px; }
.cp-content .signin #warning p{ margin:0 0 12px; font-size:12px; color:var(--cp-sub); line-height:1.5; background:var(--cp-bg); border:1px solid var(--cp-line); border-radius:8px; padding:10px 12px; }
.cp-content .signin fieldset{ border:0; margin:0; padding:0; min-width:0; }


/* 로그인/가입 전용 셸 — PC에서 사이드바 없이 한 카드에 집중 */
.cp-body:has(.cp-auth){ justify-content:center; }
.cp-body:has(.cp-auth) .cp-content{
  width:100%; max-width:400px; margin:0 auto; padding:38px 0 54px;
  background:transparent; border:0; box-shadow:none;
}
.cp-auth{ width:100%; }
.cp-auth-card{
  width:100%; background:transparent; border:0; border-radius:0; overflow:visible;
}
.cp-auth-head{ padding:0 0 20px; text-align:left; border-bottom:2px solid var(--cp-ink); }
.cp-auth-title{ margin:0; font-size:21px; font-weight:800; color:var(--cp-ink); letter-spacing:0; }
.cp-auth-sub{ display:none; }
.cp-auth-form{ padding:22px 0 0; }
/* 스킨 기본 카드/헤더 중복 제거 — 바깥 카드만 남김 */
.cp-auth .signin{ max-width:none; margin:0; background:transparent; border:0; border-radius:0; overflow:visible; }
.cp-auth .signin .login-header{ display:none; }
.cp-auth .signin .login-body{ padding:8px 0 18px; }
.cp-auth .signin .control-group:first-child{ display:flex; flex-direction:column; gap:10px; }
.cp-auth .signin input[type="text"],
.cp-auth .signin input[type="password"],
.cp-auth .signin input[type="email"]{ margin:0; }

.cp-auth .signin .login-footer{ padding:14px 0 22px; border-top:1px solid var(--cp-line); background:transparent; }
.cp-auth .form-horizontal{ max-width:none; margin:0; padding:8px 0 22px; }
.cp-auth .xm{ width:100% !important; max-width:none !important; }
.cp-auth .message{ margin:0 0 12px; padding:10px 12px; border-radius:8px; font-size:13px; }
.cp-auth .message.error{ background:rgba(224,48,78,.08); color:#c62828; border:1px solid rgba(224,48,78,.25); }
.cp-auth .message.error p{ margin:0; }

/* 회원 가입 — 기본 스킨의 2000년대식 좌우 폼을 세로형 폼으로 재구성 */
.cp-auth .xm .signin{
  width:100%; max-width:none; margin:0; background:transparent; border:0; border-radius:0; box-shadow:none;
}
.cp-auth .xm .signin>.login-body{ max-height:none; padding:8px 0 18px; }
.cp-auth .xm .signin .control-group{ padding:0; margin:0 0 14px; }
.cp-auth .xm .signin input[type="text"],
.cp-auth .xm .signin input[type="email"],
.cp-auth .xm .signin input[type="password"]{
  box-sizing:border-box; width:100%; height:46px; padding:0 13px; border:1px solid var(--cp-line);
  border-radius:5px; background:var(--cp-panel); color:var(--cp-ink); font-size:14px;
}
.cp-auth .xm .signin input:focus,
.cp-auth .xm .form-horizontal input:focus{
  outline:0; border-color:var(--cp-link); box-shadow:0 0 0 2px var(--cp-focus-ring);
}
.cp-auth .xm .signin .submit{
  position:static; width:100%; height:44px; margin-top:14px; border:0; border-radius:5px;
  background:var(--cp-brand) !important; border-color:var(--cp-brand) !important; color:#fff; font-size:14px; font-weight:700;
}
.cp-auth .xm .signin .submit:hover{ background:var(--cp-brand-h) !important; border-color:var(--cp-brand-h) !important; }
.cp-auth .xm .signin .login-footer{
  margin:0; padding:16px 0 0; border:0; background:transparent; box-shadow:none; text-align:center;
  color:var(--cp-line); font-size:12px;
}
.cp-auth .xm .signin .login-footer a{ color:var(--cp-sub); font-weight:600; }
.cp-auth .xm .signin label{ font-size:13px; color:var(--cp-sub); }
.cp-auth .xm .signin #warning{ margin:8px 0 0; font-size:12px; color:var(--cp-faint); }
.cp-auth .xm>h1,
.cp-auth .xm .form-horizontal>h1{ display:none; }
.cp-auth .xm .form-horizontal .control-group{ margin:0 0 17px; }
.cp-auth .xm .form-horizontal .control-label{
  float:none; display:block; width:auto; padding:0; margin:0 0 7px; text-align:left;
  font-size:13px; font-weight:750; color:var(--cp-ink);
}
.cp-auth .xm .form-horizontal .control-label em{ color:#e5484d !important; font-style:normal; }
.cp-auth .xm .form-horizontal .controls{ display:block; margin:0; }
.cp-auth .xm .form-horizontal input[type="text"],
.cp-auth .xm .form-horizontal input[type="email"],
.cp-auth .xm .form-horizontal input[type="password"]{
  box-sizing:border-box; display:block; width:100%; height:46px; padding:0 13px; border:1px solid var(--cp-line);
  border-radius:5px; background:var(--cp-panel); color:var(--cp-ink); font-size:14px;
}
.cp-auth .xm .form-horizontal .help-inline{
  display:block; padding:0; margin:7px 0 0; color:var(--cp-sub); font-size:12px; line-height:1.45;
}
.cp-auth .xm .form-horizontal .btnArea{
  display:flex; flex-direction:row-reverse; gap:10px; align-items:center; margin:24px 0 0 !important;
  padding:20px 0 0 !important; border-color:var(--cp-line) !important;
}
.cp-auth .xm .form-horizontal .btnArea .btn{
  float:none; min-width:106px; height:42px; padding:0 16px; border:0; border-radius:5px;
  background:var(--cp-brand) !important; border-color:var(--cp-brand) !important; color:#fff; font-size:14px; font-weight:700; line-height:42px; text-align:center;
}
.cp-auth .xm .form-horizontal .btnArea .pull-right{ order:2; margin-left:auto; }
.cp-auth .xm .form-horizontal .btnArea .pull-left{
  order:1; background:transparent !important; border-color:transparent !important; color:var(--cp-sub);
}
.cp-auth .xm .form-horizontal .btnArea .pull-left:hover{ color:var(--cp-ink); }
.cp-auth .xm .form-horizontal input[type="radio"]{ margin:0 4px 0 0; accent-color:var(--cp-brand); }

/* 소셜 로그인 — 폼 아래 가로 2열 (카카오·구글) */
.cp-social-login{ max-width:none; margin:0; padding:4px 0 0; display:flex; flex-direction:column; gap:12px; }
.cp-sso-or{ display:flex; align-items:center; gap:10px; margin:0; font-size:12px; color:var(--cp-faint); }
.cp-sso-or::before, .cp-sso-or::after{ content:""; flex:1; height:1px; background:var(--cp-line); }
.cp-sso-or span{ flex-shrink:0; }
.cp-sso-row{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px; }
.cp-sso-btn{
  display:flex; flex-direction:row; align-items:center; justify-content:center; gap:8px;
  min-height:48px; padding:10px 14px; border-radius:8px; font-size:14px; font-weight:650;
  text-decoration:none; border:1px solid var(--cp-line); transition:border-color .12s, background .12s;
}
.cp-sso-btn:hover{ filter:none; border-color:#aeb7c2; background:rgba(107,118,132,.05); }
.cp-sso-btn svg{ width:22px; height:22px; flex-shrink:0; display:block; }
.cp-sso-btn span{ white-space:nowrap; line-height:1.2; }
.cp-sso-google{ background:var(--cp-panel); color:var(--cp-ink); }
.cp-sso-google svg{ width:24px; height:24px; }
.cp-sso-kakao{ background:var(--cp-panel); color:var(--cp-ink); border-color:var(--cp-line); }
.cp-sso-naver{ background:var(--cp-panel); color:var(--cp-ink); border-color:var(--cp-line); }
.cp-sso-naver path{ fill:#03C75A; }
.cp-sso-naver svg{ width:16px; height:16px; }
html.dark .cp-sso-google,
html.dark .cp-sso-kakao,
html.dark .cp-sso-naver{ background:var(--cp-panel); color:var(--cp-ink); }
/* 로그인 카드 안 푸터와 소셜 사이 간격 */
.cp-auth .signin .login-footer{ margin-bottom:4px; }
@media (max-width:640px){
  .cp-body:has(.cp-auth) .cp-content{ padding:24px 4px 36px; }
  .cp-auth-head{ padding:0 0 16px; }
  .cp-auth-form, .cp-social-login{ padding-left:0; padding-right:0; }
  .cp-auth-title{ font-size:20px; }
  .cp-sso-row{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px; }
  .cp-sso-btn{ min-height:46px; font-size:13px; gap:6px; padding:8px 10px; }
  .cp-sso-btn svg{ width:20px; height:20px; }
  .cp-sso-google svg{ width:22px; height:22px; }
}



.cp-auth-sub.cp-auth-sub--show{
  display:block; margin:8px 0 0; font-size:13px; color:var(--cp-sub); line-height:1.5;
}


/* 소셜가입 — 구 sns-signup 템플릿 fallback (cp-auth 안) */
.cp-auth .xm .sns-signup,
.cp-auth .sns-signup{
  width:100%; max-width:none; margin:0; padding:0; border:0; border-radius:0;
  box-shadow:none; background:transparent;
}
.cp-auth .sns-signup__hero{ display:none; }
.cp-auth .sns-signup__body{ padding:0; }
.cp-auth .sns-signup__profile{
  display:flex; align-items:center; gap:12px; margin:0 0 14px; padding:12px 14px;
  border:1px solid var(--cp-line); border-radius:5px; background:var(--cp-bg);
}
.cp-auth .sns-signup__profile-label{ font-size:11px; color:var(--cp-faint); }
.cp-auth .sns-signup__profile-name{ font-size:14px; font-weight:700; color:var(--cp-ink); margin-top:2px; }
.cp-auth .sns-signup__notice{
  margin:0 0 14px; padding:10px 12px; border:1px solid rgba(224,48,78,.25);
  border-radius:5px; background:rgba(224,48,78,.06); font-size:12px; line-height:1.5;
}
.cp-auth .sns-signup__notice strong{ display:block; margin:0 0 4px; font-size:13px; color:#c62828; }
.cp-auth .sns-signup__field{ margin:0 0 14px; }
.cp-auth .sns-signup__field label{ display:block; margin:0 0 7px; font-size:13px; font-weight:700; color:var(--cp-ink); }
.cp-auth .sns-signup__field input[type="text"],
.cp-auth .sns-signup__field input[type="email"]{
  box-sizing:border-box; width:100%; height:44px; padding:0 12px; border:1px solid var(--cp-line);
  border-radius:5px; background:var(--cp-panel); color:var(--cp-ink); font-size:14px;
}
.cp-auth .sns-signup__field input:focus{
  outline:0; border-color:var(--cp-link); box-shadow:0 0 0 2px var(--cp-focus-ring);
}
.cp-auth .sns-signup__hint{ margin:7px 0 0; font-size:12px; color:var(--cp-faint); line-height:1.45; }
.cp-auth .sns-signup .agreement{
  margin:0 0 10px; border:1px solid var(--cp-line); border-radius:5px; background:var(--cp-panel); overflow:hidden;
}
.cp-auth .sns-signup .agreement .title{
  padding:9px 12px; border-bottom:1px solid var(--cp-line); background:var(--cp-bg);
  font-size:13px; font-weight:700; color:var(--cp-ink);
}
.cp-auth .sns-signup .agreement .text{
  max-height:88px; overflow-y:auto; margin:0; padding:10px 12px; font-size:11px; line-height:1.55; color:var(--cp-sub);
}
.cp-auth .sns-signup .agreement .confirm{
  display:flex; align-items:flex-start; gap:8px; margin:0; padding:9px 12px 10px; font-size:12px; color:var(--cp-sub);
}
.cp-auth .sns-signup .agreement .confirm label{ display:flex; align-items:flex-start; gap:8px; cursor:pointer; margin:0; }
.cp-auth .sns-signup .agreement input[type="checkbox"]{ width:16px; height:16px; margin:2px 0 0; accent-color:var(--cp-brand); flex:0 0 16px; }
.cp-auth .sns-signup__footer{
  display:flex; gap:10px; align-items:center; margin:16px 0 0; padding:16px 0 0; border-top:1px solid var(--cp-line); background:transparent;
}
.cp-auth .sns-signup__footer .btn{
  display:inline-flex; align-items:center; justify-content:center; height:44px; padding:0 16px;
  border-radius:5px; font-size:14px; font-weight:700; text-decoration:none; border:1px solid transparent; margin:0;
}
.cp-auth .sns-signup__footer .btn-ghost{ background:transparent; border-color:var(--cp-line); color:var(--cp-sub); }
.cp-auth .sns-signup__footer .btn-primary{ flex:1; border:0; background:var(--cp-brand); color:#fff; cursor:pointer; }
.cp-auth .sns-signup__footer .btn-primary:hover{ background:var(--cp-brand-h); }

/* 소셜 가입(카카오 등) — cp-auth 카드 안에 맞춤 */
.cp-auth .auth.auth--embed{
  width:100%; max-width:none; margin:0; padding:0; border:0; border-radius:0;
  box-shadow:none; background:transparent; font-family:inherit;
}
.cp-auth .auth.auth--embed .auth__hero{ display:none; }
.cp-auth .auth.auth--embed .auth__body{ padding:0; }
.cp-auth .auth.auth--embed .auth__profile{
  display:flex; align-items:center; gap:12px; margin:0 0 14px; padding:12px 14px;
  border:1px solid var(--cp-line); border-radius:5px; background:var(--cp-bg);
}
.cp-auth .auth.auth--embed .auth__profile .av{
  width:36px; height:36px; border-radius:5px; display:grid; place-items:center;
  font-size:15px; font-weight:800; flex:0 0 36px;
}
.cp-auth .auth.auth--embed .auth__profile .av--kakao{ background:#fee500; color:#191919; }
.cp-auth .auth.auth--embed .auth__profile .lbl{ font-size:11px; color:var(--cp-faint); }
.cp-auth .auth.auth--embed .auth__profile .nm{ font-size:14px; font-weight:700; color:var(--cp-ink); margin-top:2px; }
.cp-auth .auth.auth--embed .auth__notice{
  margin:0 0 14px; padding:10px 12px; border:1px solid rgba(224,48,78,.25);
  border-radius:5px; background:rgba(224,48,78,.06); color:var(--cp-ink); font-size:12px; line-height:1.5;
}
.cp-auth .auth.auth--embed .auth__notice strong{ display:block; margin:0 0 4px; font-size:13px; color:#c62828; }
.cp-auth .auth.auth--embed .auth__notice p{ margin:0; color:var(--cp-sub); }
.cp-auth .auth.auth--embed .auth__field{ margin:0 0 14px; }
.cp-auth .auth.auth--embed .auth__field > label{
  display:block; margin:0 0 7px; font-size:13px; font-weight:700; color:var(--cp-ink);
}
.cp-auth .auth.auth--embed .auth__field > label .req{ color:#e5484d; margin-left:2px; }
.cp-auth .auth.auth--embed .auth__field input[type="text"],
.cp-auth .auth.auth--embed .auth__field input[type="email"]{
  box-sizing:border-box; width:100%; height:44px; padding:0 12px; border:1px solid var(--cp-line);
  border-radius:5px; background:var(--cp-panel); color:var(--cp-ink); font-size:14px;
}
.cp-auth .auth.auth--embed .auth__field input:focus{
  outline:0; border-color:var(--cp-link); box-shadow:0 0 0 2px var(--cp-focus-ring);
}
.cp-auth .auth.auth--embed .auth__hint{ margin:7px 0 0; font-size:12px; color:var(--cp-faint); line-height:1.45; }
.cp-auth .auth.auth--embed .auth__agreements{ margin:4px 0 0; }
.cp-auth .auth.auth--embed .agreement{
  margin:0 0 10px; border:1px solid var(--cp-line); border-radius:5px; background:var(--cp-panel); overflow:hidden;
}
.cp-auth .auth.auth--embed .agreement__head{
  padding:9px 12px; border-bottom:1px solid var(--cp-line); background:var(--cp-bg);
}
.cp-auth .auth.auth--embed .agreement__title{ font-size:13px; font-weight:700; color:var(--cp-ink); }
.cp-auth .auth.auth--embed .agreement__text{
  max-height:88px; overflow-y:auto; margin:0; padding:10px 12px; font-size:11px; line-height:1.55; color:var(--cp-sub);
}
.cp-auth .auth.auth--embed .agreement__check{
  display:flex; align-items:flex-start; gap:8px; margin:0; padding:9px 12px 10px; font-size:12px; color:var(--cp-sub); cursor:pointer;
}
.cp-auth .auth.auth--embed .agreement__check input{ width:16px; height:16px; margin:2px 0 0; accent-color:var(--cp-brand); flex:0 0 16px; }
.cp-auth .auth.auth--embed .auth__footer{
  display:flex; gap:10px; align-items:center; margin:16px 0 0; padding:16px 0 0; border-top:1px solid var(--cp-line);
}
.cp-auth .auth.auth--embed .auth__btn{
  display:inline-flex; align-items:center; justify-content:center; height:44px; padding:0 16px;
  border-radius:5px; font-size:14px; font-weight:700; text-decoration:none; border:1px solid transparent;
}
.cp-auth .auth.auth--embed .auth__btn--ghost{
  background:transparent; border-color:var(--cp-line); color:var(--cp-sub);
}
.cp-auth .auth.auth--embed .auth__btn--primary{
  flex:1; border:0; background:var(--cp-brand); color:#fff; cursor:pointer;
}
.cp-auth .auth.auth--embed .auth__btn--primary:hover{ background:var(--cp-brand-h); }
.cp-auth .auth.auth--embed .message{ margin:0 0 12px; padding:10px 12px; border-radius:5px; font-size:13px; }
.cp-auth .auth.auth--embed .message p{ margin:0; }


/* 모의선물(/trade) — GNB·사이드바 유지, 본문에 임베드 */
.cp-wrap.cp-trade-mode .cp-content {
  padding: 14px 16px 16px;
}
.cp-trade-embed-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  margin: 0 0 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--cp-line);
}
.cp-trade-embed-head h1 {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--cp-ink);
  letter-spacing: 0;
}
.cp-trade-embed-demo {
  padding: 3px 8px;
  border-radius: 4px;
  background: #f0b90b;
  color: #181a20;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
}
.cp-trade-embed-sub {
  flex: 1 1 100%;
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  color: var(--cp-sub);
}
#cpTradeFrame {
  display: block;
  width: 100%;
  min-height: 720px;
  height: calc(100vh - 150px);
  max-height: none;
  border: 1px solid var(--cp-line);
  border-radius: .25rem;
  background: #0b0e11;
}
@media (max-width: 900px) {
  #cpTradeFrame { height: calc(100vh - 120px); min-height: 560px; }
}

/* ==========================================================================
   Bootstrap 4 community UI
   익숙한 1140px 컨테이너, 4px radius, card/list/form 밀도로 통일
   ========================================================================== */
body{ font-size:14px; }
.cp-head-inner,
.cp-foot-inner{ max-width:1140px; }
.cp-head-inner{ height:56px; gap:16px; padding-right:15px; padding-left:15px; }
.cp-logo{ font-size:19px; }
.cp-gnb li a{ padding:7px 9px; border-radius:.25rem; font-weight:500; }
.cp-account .cp-join{ padding:6px 12px; border-radius:.25rem; }

.cp-body{
  max-width:1140px; margin:16px auto; padding:0 15px; gap:16px;
}
.cp-content{
  padding:16px; border-color:var(--cp-line); border-radius:.25rem; box-shadow:var(--cp-shadow);
}
.cp-side{ width:270px; gap:16px; }
.cp-card{
  padding:16px; border-color:var(--cp-line); border-radius:.25rem; box-shadow:var(--cp-shadow);
}
.cp-card-head{
  margin:-16px -16px 12px; padding:10px 16px; border-bottom:1px solid var(--cp-line);
  background:var(--cp-soft-bg); font-size:14px; font-weight:600;
}
.cp-side-link{ padding:7px 9px; border-radius:.25rem; font-weight:500; }
.cp-side-btn{ padding:8px 12px; border-radius:.25rem; font-weight:600; }

.cp-home{ gap:16px; }
.cp-home-metrics{ gap:10px; }
.cph-metric,
.cph-coin{ border-radius:.25rem; box-shadow:none; }
.cph-metric{ padding:12px; }
.cph-coin{ padding:9px 11px; }
.cph-tools{ gap:8px; }
.cph-tool{
  padding:9px 12px; border:1px solid var(--cp-line); border-radius:.25rem;
  background:var(--cp-soft-bg); color:var(--cp-brand); font-weight:600;
}
.cph-tool:hover{ border-color:var(--cp-brand); background:var(--cp-brand); color:#fff; }

.cp-content .btn,
.cp-content input[type="submit"],
.cp-content button.btn,
.cp-content .submit{
  min-height:38px; padding:.375rem .75rem; border-radius:.25rem; font-size:14px; font-weight:500;
}
.cp-cta{
  padding:12px 16px; border-radius:.25rem; background:var(--cp-soft-bg); box-shadow:none;
}
.cp-cta-btn{ padding:8px 14px; border-radius:.25rem; font-weight:600; }
.cp-vitals{ padding:10px 14px; border-radius:.25rem; }
.cp-theme-btn{ width:36px; height:36px; border-radius:.25rem; }
.cp-gnb .cp-dd-menu{
  border-radius:.25rem; padding:5px 0; box-shadow:0 .5rem 1rem rgba(0,0,0,.15);
}
.cp-gnb .cp-dd-menu a{ padding:7px 16px; border-radius:0; }

/* 드롭다운 그룹 라벨 (2026-07-11: 고래추적 메뉴에 청산·알람 통합) */
.cp-gnb .cp-dd-menu{ min-width:152px; }
.cp-gnb .cp-dd-label{
  display:block; padding:7px 16px 4px; font-size:11px; font-weight:800;
  color:var(--cp-sub); letter-spacing:.5px; cursor:default;
}
.cp-gnb .cp-dd-menu li + .cp-dd-label{ margin-top:5px; padding-top:9px; border-top:1px solid var(--cp-line); }
@media (max-width:900px){
  .cp-gnb .cp-dd-label{ display:none; }
}

/* 인증 화면도 Bootstrap 4 card/form 규격으로 복귀 */
.cp-body:has(.cp-auth) .cp-content{
  max-width:420px; padding:0; margin:24px auto 48px;
  background:var(--cp-panel); border:1px solid var(--cp-line);
  border-radius:.25rem; box-shadow:var(--cp-shadow);
}
.cp-auth-card{ background:var(--cp-panel); border-radius:.25rem; overflow:hidden; }
.cp-auth-head{
  padding:14px 20px; border-bottom:1px solid var(--cp-line); background:var(--cp-soft-bg); text-align:left;
}
.cp-auth-title{ font-size:18px; font-weight:600; letter-spacing:0; }
.cp-auth-form{ padding:20px 20px 0; }
.cp-auth .xm .signin input[type="text"],
.cp-auth .xm .signin input[type="email"],
.cp-auth .xm .signin input[type="password"],
.cp-auth .xm .form-horizontal input[type="text"],
.cp-auth .xm .form-horizontal input[type="email"],
.cp-auth .xm .form-horizontal input[type="password"]{
  height:38px; min-height:38px; padding:.375rem .75rem; border-radius:.25rem; font-size:14px;
}
.cp-auth .xm .signin .submit{
  height:38px; margin-top:12px; border-radius:.25rem; font-weight:600;
}
.cp-auth .xm .signin .login-footer{ padding:14px 0 0; font-size:13px; }
.cp-auth .xm .form-horizontal .control-group{ margin-bottom:16px; }
.cp-auth .xm .form-horizontal .control-label{ margin-bottom:6px; font-weight:600; }
.cp-auth .xm .form-horizontal .btnArea{ margin-top:20px !important; padding-top:16px !important; }
.cp-auth .xm .form-horizontal .btnArea .btn{ height:38px; border-radius:.25rem; line-height:38px; font-weight:600; }
.cp-social-login{ padding:4px 20px 20px; gap:12px; }
.cp-sso-btn{ min-height:48px; border-radius:8px; font-weight:650; }

@media (max-width:900px){
  .cp-body{ margin:12px auto; gap:12px; }
  .cp-side{ gap:12px; }
}
@media (max-width:600px){
  .cp-body{ padding:0 12px; }
  .cp-content{ padding:12px; }
  .cp-card{ padding:14px; }
  .cp-card-head{ margin:-14px -14px 10px; padding:9px 14px; }
  .cp-body:has(.cp-auth) .cp-content{ padding:0; margin:12px auto 28px; }
  .cp-auth-head{ padding:13px 16px; }
  .cp-auth-form{ padding:16px 16px 0; }
  .cp-social-login{ padding:4px 16px 16px; }
  .cp-auth .xm .signin input[type="text"],
  .cp-auth .xm .signin input[type="email"],
  .cp-auth .xm .signin input[type="password"],
  .cp-auth .xm .form-horizontal input[type="text"],
  .cp-auth .xm .form-horizontal input[type="email"],
  .cp-auth .xm .form-horizontal input[type="password"]{ height:44px; min-height:44px; font-size:16px; }
}

/* UX-023: 다크모드 body 배경 */
html.dark body, html.dark .cp-wrap { background: var(--cp-bg); }

/* UX-007/008: 모바일 터치·가독성 */
@media (max-width:820px) {
  .cp-oc-poschart .pc-tf, .cp-oc-poschart .cp-oc-refresh,
  .cp-oc-whale-v2 button, .cp-oc-whale-v2 select,
  .cp-oc-liq select, .cp-oc-liq .cp-oc-refresh,
  .cp-oc-kimp .cp-oc-refresh, .cp-oc-dashboard .cp-oc-refresh,
  .cp-oc-alarm button, .cp-oc-alarm select,
  .cp-oc-indicators .cvd-filter-btn, .cp-oc-indicators .oc-tab {
    min-height: 40px; min-width: 40px; font-size: 12px;
  }
  .cp-oc-scroll { position: relative; }
  .cp-oc-scroll::after {
    content: '← 옆으로 밀어 더 보기';
    position: sticky; left: 0; bottom: 0; display: block;
    padding: 6px 10px; font-size: 11px; color: var(--cp-sub);
    background: linear-gradient(90deg, var(--cp-panel) 70%, transparent);
    pointer-events: none;
  }
}
.cp-auth .xm .form-horizontal .btnArea .btn { height: 44px !important; line-height: 44px !important; min-height: 44px; }
.board_write .write_header .iText { min-height: 44px; font-size: 16px; }
.board_write .write_editor textarea, .board_write .write_editor .cke_contents { min-height: 180px; }

/* UX-014/046: 모바일 햄버거 내비 */
.cp-nav-toggle{ display:none; border:0; background:transparent; padding:8px; min-width:44px; min-height:44px; cursor:pointer; }
.cp-nav-toggle span{ display:block; width:20px; height:2px; background:var(--cp-ink); margin:4px 0; border-radius:1px; }
.cp-mobile-nav{ position:fixed; top:0; left:0; display:flex; flex-direction:column; width:min(300px,88vw); height:100vh; height:100dvh; background:var(--cp-panel); border-right:1px solid var(--cp-line); z-index:1200; overflow:hidden; padding:0; box-shadow:4px 0 24px rgba(0,0,0,.12); }
.cp-mobile-nav[hidden]{ display:none !important; }
.cp-mnav-head{ display:flex; justify-content:space-between; align-items:center; flex:0 0 auto; margin:0; padding:12px 14px 8px; }
.cp-mnav-scroll{ flex:1 1 auto; overflow:auto; padding:4px 14px 8px; -webkit-overflow-scrolling:touch; }
.cp-mnav-account{ flex:0 0 auto; padding:10px 14px calc(12px + env(safe-area-inset-bottom,0px)); border-top:1px solid var(--cp-line); background:var(--cp-panel); box-shadow:0 -6px 16px rgba(15,23,42,.08); }
.cp-mnav-account>span{ display:block; font-size:11px; font-weight:800; color:var(--cp-sub); margin:0 0 6px; letter-spacing:.04em; }
.cp-mnav-account a{ display:block; padding:10px 8px; min-height:44px; border-radius:8px; text-decoration:none; color:var(--cp-ink); font-size:14px; font-weight:600; }
.cp-mnav-account a.cp-mnav-join{ background:var(--cp-brand); color:#fff; text-align:center; margin-top:4px; }
.cp-mnav-account a.cp-mnav-join:hover{ background:var(--cp-brand-h); color:#fff; }
/* [QA수정] 다크모드에서 "메뉴" 헤딩이 #333(진회색)으로 안 보이던 것 → 테마 변수로 */
.cp-mnav-head span{ color:var(--cp-ink); font-weight:800; font-size:15px; }
.cp-mnav-head button{ border:0; background:transparent; font-size:24px; min-width:44px; min-height:44px; cursor:pointer; color:var(--cp-sub); }
.cp-mnav-section{ margin:0 0 10px; }
.cp-mnav-section>span{ display:block; font-size:11px; font-weight:800; color:var(--cp-sub); margin:0 0 6px; letter-spacing:.04em; }
.cp-mnav-section a{ display:block; padding:10px 8px; min-height:44px; border-radius:8px; text-decoration:none; color:var(--cp-ink); font-size:14px; font-weight:600; }
.cp-mnav-section a.on, .cp-mnav-section a[aria-current="page"]{ background:var(--cp-brand-soft,rgba(47,111,237,.12)); color:var(--cp-brand); }
.cp-nav-backdrop{ position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:1190; }
.cp-nav-backdrop[hidden]{ display:none !important; }
html.cp-nav-open{ overflow:hidden; }
@media (max-width:900px){
  .cp-nav-toggle{ display:inline-flex; flex-direction:column; align-items:center; justify-content:center; }
  .cp-gnb{ display:none !important; }
  .cp-gnb{ -webkit-mask-image:none; mask-image:none; }
}
.cp-gnb a.on, .cp-gnb a[aria-current="page"]{ background:var(--cp-brand-soft,rgba(47,111,237,.12)); border-radius:6px; }

.cp-auth .cp-auth-hint{ margin-top:-4px; font-size:12px; }
.cp-auth .cp-auth-hint a{ color:var(--cp-brand); font-weight:600; }

/* 2026-07-11 모바일 헤더: 메뉴 / 중앙 로고 / 필수 동작만 한 줄에 배치 */
.cp-visually-hidden{
  position:absolute !important; width:1px !important; height:1px !important; padding:0 !important;
  margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important;
  white-space:nowrap !important; border:0 !important;
}
@media (max-width:900px){
  .cp-head-inner{
    position:relative; height:52px; padding:0 10px; gap:0;
  }
  .cp-nav-toggle{
    width:44px; min-width:44px; height:44px; min-height:44px; padding:6px;
  }
  .cp-nav-toggle span{ margin:3px 0; }
  .cp-logo{
    position:static; transform:none; order:1; margin-right:auto;
    display:flex; gap:6px; height:34px; white-space:nowrap; z-index:3;
  }
  .cp-head-inner .cp-nav-toggle{ order:0; }
  .cp-head-inner .cp-account{ order:2; }
  .cp-logo img{ width:28px; height:28px; }
  .cp-logo span{ display:inline; font-size:17px; line-height:1; }
  .cp-account{ margin-left:auto; gap:4px; position:relative; z-index:2; }
  .cp-account .cp-search-link,
  .cp-theme-btn{
    box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center;
    width:44px; min-width:44px; height:44px; min-height:44px; padding:0;
    margin:0; border:0; border-radius:4px; background:transparent;
  }
  .cp-account .cp-search-link:hover,
  .cp-theme-btn:hover{ background:var(--cp-brand-soft); }
  .cp-account .cp-login,
  .cp-account .cp-join{
    display:inline-flex !important; align-items:center; justify-content:center;
    min-width:44px; min-height:44px; height:44px; padding:0 8px; font-size:12px; font-weight:700;
  }
  .cp-account .cp-join{ background:var(--cp-brand); color:#fff; border-radius:4px; margin-left:2px; }
  .cp-account .cp-admin,
  .cp-account .cp-logout{ display:none !important; }
  .cp-account .cp-nick{
    max-width:72px; min-height:36px; overflow:hidden; text-overflow:ellipsis;
  }
  .cp-global-tape .cp-market-loading{
    box-sizing:border-box; height:32px; padding:0 12px; display:flex; align-items:center; justify-content:center;
  }
}
@media (max-width:340px){
  .cp-theme-btn{ display:none; }
  .cp-account .cp-nick{ max-width:62px; }
}

/* 2026-07-11 회원 화면: 겹친 SaaS 카드 제거, 커뮤니티 공통 폼으로 통일 */
.cp-body:has(.cp-auth) .cp-content{
  width:100%; max-width:440px; margin:24px auto 48px; padding:0;
  border:0; border-radius:0; background:transparent; box-shadow:none;
}
.cp-body:has(.cp-auth .auth--wide) .cp-content{ max-width:620px; }
.cp-auth-card{ border:1px solid var(--cp-line); border-radius:0; background:var(--cp-panel); box-shadow:none; overflow:hidden; }
.cp-auth-head{ box-sizing:border-box; min-height:44px; padding:8px 14px; border:0; background:#253b59; color:#fff; }
.cp-auth-title{ color:#fff; font-size:16px; font-weight:800; }
.cp-auth-form{ padding:0; }
.cp-social-login{ padding:0 20px 20px; }
.cp-sso-btn{ min-height:44px; border-radius:2px; box-shadow:none; }
@media(max-width:640px){
  .cp-body:has(.cp-auth) .cp-content{ margin:12px auto 28px; padding:0; }
  .cp-auth-head{ padding:10px 13px; }
  .cp-social-login{ padding:0 14px 14px; }
}

/* 모의선물(/trade): 본문 폭 확장 · 우측 사이드바 축소 — iframe이 2열 터미널(≥900px)에 들어가도록 */
.cp-wrap.cp-trade-mode .cp-body {
  max-width: min(100%, 1680px) !important;
  margin: 10px auto;
  gap: 10px;
  padding: 0 10px;
}
.cp-wrap.cp-trade-mode .cp-content {
  flex: 1 1 0;
  min-width: 0;
  padding: 4px 6px 6px;
}
.cp-wrap.cp-trade-mode .cp-trade-embed-head {
  margin-bottom: 6px;
  padding-bottom: 6px;
}
.cp-wrap.cp-trade-mode .cp-trade-embed-sub {
  display: none;
}
.cp-wrap.cp-trade-mode .cp-side {
  width: 236px !important;
  min-width: 236px;
  gap: 10px;
}
.cp-wrap.cp-trade-mode .cp-side .cp-ticker,
.cp-wrap.cp-trade-mode .cp-side .cp-side-price,
.cp-wrap.cp-trade-mode .cp-side > .cp-card:last-of-type {
  display: none;
}
.cp-wrap.cp-trade-mode .cp-side-rank .cp-card-head {
  font-size: 12px;
  padding: 8px 12px;
  margin: -12px -12px 8px;
}
.cp-wrap.cp-trade-mode .cp-side .cp-card {
  padding: 12px;
}
@media (min-width: 1200px) {
  .cp-wrap.cp-trade-mode .cp-side {
    width: 268px !important;
    min-width: 268px;
  }
}
@media (max-width: 900px) {
  .cp-wrap.cp-trade-mode .cp-body {
    flex-direction: column;
    align-items: stretch;
  }
  .cp-wrap.cp-trade-mode .cp-side {
    width: 100% !important;
    min-width: 0;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .cp-wrap.cp-trade-mode .cp-side .cp-side-price {
    display: block;
  }
}

/* 2026-07-11 모의거래: 거래 터미널만 뷰포트를 가득 채우는 전용 모드 */
html:has(.cp-wrap.cp-trade-mode),
body:has(.cp-wrap.cp-trade-mode){
  width:100%; height:100%; margin:0; overflow:hidden; background:#0b0e11;
}
.cp-wrap.cp-trade-mode{
  width:100vw; height:100vh; height:100dvh; overflow:hidden; background:#0b0e11;
}
.cp-wrap.cp-trade-mode .cp-head,
.cp-wrap.cp-trade-mode .cp-mobile-nav,
.cp-wrap.cp-trade-mode .cp-nav-backdrop,
.cp-wrap.cp-trade-mode .cp-trade-embed-head,
.cp-wrap.cp-trade-mode .cp-side,
body:has(.cp-wrap.cp-trade-mode) .cp-foot{
  display:none !important;
}
.cp-wrap.cp-trade-mode .cp-body{
  display:block; width:100%; max-width:none !important; height:100%;
  margin:0; padding:0; overflow:hidden;
}
.cp-wrap.cp-trade-mode .cp-content{
  display:block; box-sizing:border-box; width:100%; max-width:none; height:100%;
  margin:0; padding:0; border:0; border-radius:0; background:#0b0e11; box-shadow:none;
  overflow-y:auto; overflow-x:hidden;
  -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
}
.cp-wrap.cp-trade-mode #cpTradeFrame{
  position:fixed; inset:0; z-index:2000; display:block; box-sizing:border-box;
  width:100vw !important; height:100vh !important; height:100dvh !important; min-height:0 !important;
  margin:0; padding:0; border:0; border-radius:0; background:#0b0e11;
}

/* 법규·약관 페이지 */
.cp-legal { max-width: 820px; line-height: 1.7; color: var(--cp-ink); }
.cp-legal h1 { font-size: 22px; margin: 0 0 8px; }
.cp-legal h2 { font-size: 15px; margin: 22px 0 8px; color: var(--cp-brand); }
.cp-legal-meta { color: var(--cp-faint); font-size: 12px; margin-bottom: 16px; }
.cp-legal-table { width: 100%; border-collapse: collapse; font-size: 13px; margin: 8px 0; }
.cp-legal-table th, .cp-legal-table td { border: 1px solid var(--cp-line); padding: 8px 10px; text-align: left; }
.cp-legal-table th { background: var(--cp-brand-soft); }
.cp-foot-legal { display: flex; flex: 0 0 auto; flex-direction: row; align-items: center; gap: 0; margin: 0; }
.cp-foot-legal a { font-size: 12px; color: var(--cp-sub); text-decoration: none; }
.cp-foot-legal a + a { margin-left: 9px; padding-left: 9px; border-left: 1px solid var(--cp-line); }
.cp-foot-legal a:hover { color: var(--cp-brand); text-decoration: underline; }
.cp-foot-contact,
.cp-foot-copy { flex: 0 0 auto; color: var(--cp-sub); font-size: 11px; text-decoration: none; }
.cp-foot-contact:hover { color: var(--cp-brand); text-decoration: underline; }
@media(max-width:700px){
  .cp-foot-inner{ min-height:0; padding:9px 14px; flex-wrap:wrap; gap:6px 10px; }
  .cp-foot-brand{ order:1; }
  .cp-foot-copy{ order:2; margin-left:auto; }
  .cp-foot-legal{ order:3; }
  .cp-foot-contact{ order:4; margin-left:auto; }
  .cp-foot-text{ display:none; }
}

/* [mobile-ux 20260713] 모바일 푸터에서 운영자 표기는 숨기지 않음(신뢰/애드센스용 identity) */
@media (max-width:700px){
	.cp-foot-inner .cp-foot-op{ display:block; order:5; flex:1 1 100%; overflow:visible; white-space:normal; }
}
/* cp-scroll-hint */

/* cp-scroll-hint : 모바일 가로 탭 스크롤러 우측 페이드(스크롤 존재 힌트) */
@media (max-width:900px){
  .cp-gnb, .cp-best-tabs, .cp-home-links{
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 22px), transparent);
            mask-image: linear-gradient(to right, #000 calc(100% - 22px), transparent);
  }
}

/* Original file: modules/board/skins/corin2/assets/css/board.base.css */

/* board.base — XE legacy neutralize + shell */
.board {
  font-family: var(--cp-font);
  font-size: 13px;
  color: var(--cp-ink);
  letter-spacing: 0 !important;
}
.board img { border: 0; }
.board label { margin: 0; }
.board select { margin: 0; }
.board .iCheck { width: 13px; height: 13px; margin: 0; vertical-align: middle; }
.board .board_header { display: none; }
.board .board_list,
.board .board_read,
.board .board_write { background: none !important; }
.board .board_list table { background: none !important; }
.board .cp-board-top {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 72px;
  padding: 10px 4px 14px;
  border-bottom: 1px solid var(--cp-line);
}
.board .cp-board-title { min-width: 0; flex: 1; }
.board .cp-board-h1 {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 21px;
  line-height: 1.3;
  font-weight: 800;
  color: var(--cp-ink);
}
.board .cp-board-title p {
  margin: 5px 0 0;
  color: var(--cp-sub);
  font-size: 12.5px;
  line-height: 1.45;
}
.board .cp-board-write-top {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 82px;
  height: 36px;
  padding: 0 14px;
  border: 1px solid var(--cp-brand);
  border-radius: 4px;
  background: var(--cp-brand);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.board .cp-board-write-top:hover { background: var(--cp-brand-h); border-color: var(--cp-brand-h); color: #fff; }
.board .cp-board-nav {
  display: flex;
  align-items: center;
  gap: 2px;
  margin: 0 0 12px;
  padding: 0;
  border-bottom: 1px solid var(--cp-line2);
  overflow-x: auto;
  white-space: nowrap;
}
.board .cp-board-nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 13px;
  color: var(--cp-sub);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}
.board .cp-board-nav a:hover { color: var(--cp-brand); }
.board .cp-board-nav a.on { color: var(--cp-brand); font-weight: 800; }
.board .cp-board-nav a.on::after {
  content: "";
  position: absolute;
  right: 12px;
  bottom: -1px;
  left: 12px;
  height: 2px;
  background: var(--cp-brand);
}
.board .cTab {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 0 0 12px;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid var(--cp-line);
}
.board .cTab > li { float: none; border: 0; margin: 0; }
.board .cTab > li > a {
  display: inline-block;
  padding: 8px 14px;
  border: 1px solid transparent;
  border-bottom: 0;
  border-radius: var(--cp-radius) var(--cp-radius) 0 0;
  font-size: 13px;
  font-weight: 500;
  color: var(--cp-sub);
  text-decoration: none;
}
.board .cTab > li.on > a {
  margin-bottom: -1px;
  border-color: var(--cp-line);
  border-bottom-color: var(--cp-panel);
  background: var(--cp-panel);
  color: var(--cp-brand);
  font-weight: 700;
}

@media (max-width: 640px) {
  .board .cp-board-top { min-height: 64px; padding: 8px 0 12px; }
  .board .cp-board-h1 { font-size: 19px; }
  .board .cp-board-title p { max-width: 230px; font-size: 12px; }
  .board .cp-board-write-top { min-width: 68px; height: 34px; padding: 0 11px; }
  .board .cp-board-nav { margin-right: -2px; margin-left: -2px; }
  .board .cp-board-nav a { min-height: 40px; padding: 0 11px; font-size: 12.5px; }
}

/* Original file: modules/board/skins/corin2/assets/css/board.list.css */

/* board.list — amina-style dense table */
.board .cp-board-listbar {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 36px;
  padding: 0 10px;
  border: 1px solid var(--cp-line2);
  border-bottom: 0;
  background: var(--cp-soft-bg);
}
.board .cp-board-listbar > strong { color: var(--cp-ink); font-size: 12.5px; font-weight: 800; }
.board .cp-board-listbar nav { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.board .cp-board-listbar nav a { color: var(--cp-faint); font-size: 11.5px; text-decoration: none; }
.board .cp-board-listbar nav a:hover,
.board .cp-board-listbar nav a.on { color: var(--cp-brand); font-weight: 700; }
.board .board_list { border: 1px solid var(--cp-line2); border-bottom: 0; }
.board .board_list table { width: 100%; border: 0 !important; border-collapse: collapse; table-layout: fixed; }
.board .board_list thead th {
  height: 36px; padding: 0 6px; border: 0; border-bottom: 1px solid var(--cp-line2);
  background: var(--cp-panel); font-size: 11.5px; font-weight: 600; color: var(--cp-faint); text-align: center;
}
.board .board_list thead th span { border: 0; padding: 0; height: auto; }
.board .board_list thead th.title { text-align: left; padding-left: 10px; }
.board .board_list thead th:nth-child(1) { width: 60px; }
.board .board_list thead th:nth-child(3) { width: 120px; }
.board .board_list thead th:nth-child(4) { width: 90px; }
.board .board_list thead th:nth-child(5) { width: 60px; }
.board .board_list thead th:nth-child(6) { width: 56px; }
.board .board_list tbody td {
  height: 42px; padding: 0 6px; border: 0; border-bottom: 1px solid var(--cp-line);
  font-size: 13px; line-height: 42px; color: var(--cp-sub); text-align: center;
  vertical-align: middle; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.board .board_list tbody tr { transition: background .12s; }
.board .board_list tbody tr:hover td { background: var(--cp-brand-soft); }
.board .board_list td.title { text-align: left; padding-left: 10px; color: var(--cp-ink); }
.board .board_list td.title > a { color: var(--cp-ink); text-decoration: none; font-weight: 550; }
.board .board_list td.title > a:hover { color: var(--cp-brand); text-decoration: underline; }
.board .board_list td.title a.replyNum { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 18px; margin-left: 4px; padding: 0 5px; border-radius: 3px; background: var(--cp-brand-soft); color: var(--cp-brand); font-weight: 800; font-size: 10.5px; line-height: 18px; text-decoration: none; vertical-align: 1px; }
.board .board_list .cp-row-hot { display: inline-block; margin-right: 5px; color: var(--cp-up); font-size: 9px; font-weight: 800; vertical-align: 1px; }
.board .board_list .cp-row-category { display: inline-block; margin-right: 6px; color: var(--cp-faint); font-size: 11px; }
.board .board_list td.title img { vertical-align: -2px; }
.board .board_list td.author a { color: var(--cp-sub); font-size: 12px; text-decoration: none; }
.board .board_list td.time, .board .board_list td.readNum { font-size: 11.5px; color: var(--cp-faint); font-variant-numeric: tabular-nums; }
.board .board_list td.voteNum { font-size: 12px; font-weight: 600; color: var(--cp-sub); }
.board .board_list tr.notice td { background: var(--cp-soft-bg); }
.board .board_list tr.notice td.no { color: var(--cp-brand); font-weight: 700; font-size: 11px; }
.board .board_list tr.notice td.title > a { font-weight: 700; }
.board .list_footer { margin-top: 12px; }
.board .list_footer .btnArea { float: right; margin: 0; }
.board .list_footer .bsToggle, .board .list_footer .tagSearch { display: none; }
@media (max-width: 640px) {
  .board .cp-board-listbar { margin: 0 -1px; }
  .board .board_list table, .board .board_list tbody, .board .board_list tr, .board .board_list td { display: block; width: auto !important; }
  .board .board_list thead { display: none; }
  .board .board_list tr { position: relative; padding: 11px 12px 10px; border-bottom: 1px solid var(--cp-line); }
  .board .board_list tbody td { height: auto; line-height: 1.45; border: 0 !important; padding: 0; text-align: left; white-space: normal; overflow: visible; }
  .board .board_list td.no, .board .board_list td.readNum { display: none; }
  .board .board_list td.title { font-size: 14px; font-weight: 600; margin-bottom: 6px; line-height: 1.55; }
  .board .board_list td.author, .board .board_list td.time, .board .board_list td.voteNum { display: inline; font-size: 12px; }
  .board .board_list td.author::after, .board .board_list td.time::after { content: " · "; color: var(--cp-faint); }
  .board .board_list td.voteNum::before { content: "추천 "; }
  .board .board_list td.check { position: absolute; right: 10px; bottom: 10px; }
}

/* Original file: modules/board/skins/corin2/assets/css/board.read.css */

.board .board_read { border: 0; border-radius: 0; background: var(--cp-panel) !important; overflow: visible; }
.board .read_header { background: var(--cp-panel) !important; padding: 4px 4px 0; border-bottom: 1px solid var(--cp-line2); }
.board .cp-read-boardline { display: flex; align-items: center; gap: 5px; margin-bottom: 9px; color: var(--cp-faint); font-size: 11.5px; }
.board .cp-read-boardline a { color: var(--cp-brand); font-weight: 700; text-decoration: none; }
.board .cp-read-boardline a:hover { text-decoration: underline; }
.board .read_header h1 { width: auto !important; margin: 0 0 13px !important; font-size: 22px; line-height: 1.45; font-weight: 750; color: var(--cp-ink) !important; white-space: normal !important; }
.board .read_header h1 a { color: var(--cp-ink) !important; text-decoration: none; }
.board .read_header h1 .category { border: 0; padding: 0; margin-right: 6px; font-size: 12px; font-weight: 700; color: var(--cp-brand); }
.board .read_header .meta { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; min-height: 40px; margin: 0 -4px; padding: 8px 10px; background: var(--cp-soft-bg) !important; border-top: 1px solid var(--cp-line); white-space: normal; color: var(--cp-sub); font-size: 12px; }
.board .read_header .meta .author { float: none; color: var(--cp-ink); font-weight: 600; }
.board .read_header .meta time { color: var(--cp-faint); font-size: 11.5px; }
.board .read_header .meta time::before { content: "·"; margin-right: 7px; color: var(--cp-line2); }
.board .read_header .meta .sum { display: flex; align-items: center; gap: 10px; float: none; margin-left: auto; color: var(--cp-faint); font-size: 11.5px; font-variant-numeric: tabular-nums; }
.board .read_header .meta .sum span + span { position: relative; }
.board .read_header .meta .sum span + span::before { content: ""; position: absolute; top: 50%; left: -6px; width: 1px; height: 10px; background: var(--cp-line2); transform: translateY(-50%); }
.board .read_body { max-width: 42rem; margin: 0 auto; min-height: 120px; padding: 22px 10px; font-size: 15px; line-height: 1.8; color: var(--cp-ink); word-break: break-word; }
.board .read_body img { max-width: 100%; height: auto; }
.board .read_footer { padding: 0 4px 8px; }
.board .read_footer .sns { display: none !important; }
.board .read_footer .tns:empty,
.board .read_footer .tns:not(:has(.tags, .action)) { display: none; }
.board .read_footer .tns { margin: 12px 0 0; padding-top: 10px; border-top: 1px solid var(--cp-line); }
.board .read_footer .tns .tags a { display: inline-block; margin: 0 4px 4px 0; padding: 2px 8px; border-radius: 3px; background: var(--cp-soft-bg); color: var(--cp-sub); font-size: 12px; text-decoration: none; }
.board .read_footer .tns .tags a:hover { background: var(--cp-brand-soft); color: var(--cp-brand); }
.board .read_footer .tns span { display: none; }

/* 글하단 — 공유 + 목록 한 줄 */
.board .cp-read-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 14px 0 0;
	padding-top: 12px;
	border-top: 1px solid var(--cp-line);
}
.board .cp-share {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}
.board .cp-share-label {
	flex-shrink: 0;
	font-size: 12px;
	font-weight: 700;
	color: var(--cp-sub);
}
.board .cp-share-actions {
	display: flex;
	align-items: center;
	gap: 5px;
}
.board .cp-share-item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	height: 28px;
	padding: 0 9px;
	border: 1px solid var(--cp-line2);
	border-radius: 4px;
	background: var(--cp-panel);
	color: var(--cp-ink);
	font-size: 12px;
	font-weight: 600;
	font-family: inherit;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: border-color .12s, color .12s, background .12s;
}
.board .cp-share-item.cp-share-icon {
	width: 28px;
	padding: 0;
}
.board .cp-share-item svg {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	fill: currentColor;
}
.board .cp-share-item:hover { border-color: var(--cp-brand); color: var(--cp-brand); }
.board .cp-share-copy.is-copied { border-color: var(--cp-brand); color: var(--cp-brand); background: var(--cp-brand-soft); }
.board .cp-share-tg:hover { border-color: #229ED9; color: #229ED9; }
.board .cp-share-x:hover { border-color: #111; color: #111; }
html.dark .board .cp-share-x:hover,
html.rx_dark .board .cp-share-x:hover { border-color: #e7ecf3; color: #e7ecf3; }
.board .cp-read-list {
	flex-shrink: 0;
	min-height: 32px;
	padding: 0 14px;
	font-size: 13px;
	font-weight: 600;
}

/* 글읽기 중에는 아래 목록·페이지네이션 숨김 */
.board.is-reading .board_list,
.board.is-reading .list_footer { display: none !important; }
.board .cp-author-actions{ display:flex; gap:8px; margin:12px 4px 0; padding-top:12px; border-top:1px solid var(--cp-line); }
.board .cp-author-actions .btn{ display:inline-flex; align-items:center; min-height:44px; padding:8px 16px; border:1px solid var(--cp-line2); border-radius:6px; font-size:13px; font-weight:600; text-decoration:none; color:var(--cp-ink); background:var(--cp-card,#fff); }
.board .cp-author-actions .btn:hover{ border-color:var(--cp-brand); color:var(--cp-brand); }

@media (max-width: 640px) {
	.board .read_header h1 { font-size: 19px; line-height: 1.5; }
	.board .read_header .meta { align-items: flex-start; gap: 5px; padding: 8px; }
	.board .read_header .meta .sum { width: 100%; margin: 1px 0 0; }
	.board .read_body { min-height: 100px; padding: 18px 6px; font-size: 14.5px; }
	.board .cp-read-foot { align-items: flex-end; }
	.board .cp-share-label { display: none; }
}

/* Original file: modules/board/skins/corin2/assets/css/board.form.css */

.board .board_write { background: none !important; }
.board .write_header { padding: 10px 0; background: none !important; }
.board input[name="title"], .board input.iText[name="title"] { height: 44px; font-size: 16px; font-weight: 600; width: 100%; }
.board .list_footer .board_search { float: left; display: flex; align-items: center; gap: 6px; }
.board .list_footer .board_search.off { display: none; }
.board input[name="homepage"], .board input[name="blog"] { display: none; }

.board .write_editor { margin: 12px 0 16px; }
.board .write_editor .rx_simpleeditor_wrapper { width: 100%; }
.board .write_editor .rx_simpleeditor { min-height: 320px; font-size: 14px; line-height: 1.6; border: 1px solid var(--cp-line, #ddd); border-radius: 4px; padding: 12px 14px; background: #fff; }
.board .write_editor .rx_editor_textarea { width: 100%; min-height: 320px; font-size: 14px; line-height: 1.6; border: 1px solid var(--cp-line, #ddd); border-radius: 4px; padding: 12px 14px; box-sizing: border-box; resize: vertical; }
.board .write_option label[for="allow_trackback"], .board .write_option input[name="allow_trackback"], .board .write_author .cp-write-tags { display: none !important; }
.board .write_footer .btnArea .btn, .board .write_footer .btnArea input.btn { min-width: 100px; height: 40px; font-size: 14px; font-weight: 700; }
html.dark .board .write_editor .rx_simpleeditor, html.rx_dark .board .write_editor .rx_simpleeditor { background: var(--cp-panel); border-color: var(--cp-line); color: var(--cp-ink); }
html.dark .board .write_editor .rx_editor_textarea, html.rx_dark .board .write_editor .rx_editor_textarea { background: var(--cp-panel); border-color: var(--cp-line); color: var(--cp-ink); }

/* Original file: modules/board/skins/corin2/assets/css/board.comment.css */

/* ── 댓글 영역 ── */
.board .feedback {
	margin-top: 20px;
	border: 1px solid var(--cp-line2);
	border-top: 2px solid var(--cp-brand);
	border-radius: 0;
	background: var(--cp-panel);
	overflow: hidden;
}
.board .feedback .fbHeader {
	margin: 0;
	padding: 11px 14px;
	background: var(--cp-soft-bg) !important;
	border-bottom: 1px solid var(--cp-line);
}
.board .feedback .fbHeader h2 {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	color: var(--cp-ink);
}
.board .feedback .fbHeader h2 em {
	color: var(--cp-brand);
	font-style: normal;
	font-weight: 800;
}
.board .fbList { margin: 0; padding: 0; list-style: none; }
.board .fbItem { padding: 14px; border-bottom: 1px solid var(--cp-line); list-style: none; transition: background .12s; }
.board .fbItem:hover { background: color-mix(in srgb, var(--cp-soft-bg) 55%, transparent); }
.board .fbItem.indent { padding-left: 30px; border-left: 3px solid var(--cp-brand-soft); background: var(--cp-soft-bg); }
.board .fbMeta { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.board .fbMeta .author { margin: 0; font-size: 13px; font-weight: 600; }
.board .fbMeta .time { margin: 0 0 0 auto; font-size: 12px; color: var(--cp-faint); }
.board .fbItem .xe_content { font-size: 14px; line-height: 1.65; word-break: break-word; }
.board .fbItem > .action { display: flex; justify-content: flex-end; align-items: center; gap: 4px; margin: 8px 0 0; color: var(--cp-faint); font-size: 11.5px; }
.board .fbItem > .action a {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 44px; min-width: 44px; padding: 0 10px;
	font-size: 13px; color: var(--cp-faint); text-decoration: none;
}
.board .fbItem > .action a:hover { color: var(--cp-brand); text-decoration: underline; }
.board .fbItem > .action .vote { margin-right: auto; color: var(--cp-brand); font-weight: 700; }

/* ── 댓글 입력 (커뮤니티식) ── */
.board .feedback .write_comment,
.board .feedback .cp-cmt-write {
	margin: 0 !important;
	padding: 12px 14px 14px !important;
	border: 0 !important;
	border-top: 1px solid var(--cp-line) !important;
	border-radius: 0 !important;
	background: var(--cp-soft-bg) !important;
	position: static !important;
	float: none !important;
}
.board .cp-cmt-compose {
	display: block;
	border: 1px solid var(--cp-line2);
	border-radius: 4px;
	background: #fff;
	overflow: hidden;
}
.board .cp-cmt-editor { margin: 0; }
.board .cp-cmt-editor .rx_editor_wrapper {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}
.board .write_comment .rx_editor_textarea,
.board .cp-cmt-write .rx_editor_textarea {
	display: block !important;
	width: 100% !important;
	height: 68px !important;
	min-height: 68px !important;
	max-height: 180px;
	margin: 0 !important;
	padding: 9px 11px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--cp-line) !important;
	border-radius: 0 !important;
	background: #fff !important;
	color: var(--cp-ink) !important;
	font-size: 16px !important;
	line-height: 1.55 !important;
	font-family: inherit !important;
	box-sizing: border-box !important;
	resize: vertical;
}
.board .write_comment .rx_editor_textarea:focus {
	outline: 0 !important;
	box-shadow: inset 0 0 0 1px var(--cp-link) !important;
}

/* 하단 바: 닉/비번 + 등록 */
.board .cp-cmt-bar {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 7px 8px;
	background: #f8f9fb;
	flex-wrap: wrap;
}
.board .cp-cmt-guest {
	display: flex;
	align-items: center;
	gap: 6px;
	flex: 0 0 auto;
}
.board .write_comment .cp-cmt-in,
.board .write_comment .cp-cmt-guest .iText {
	width: 96px !important;
	min-width: 84px !important;
	max-width: 110px;
	min-height: 30px !important;
	height: 30px !important;
	padding: 0 9px !important;
	margin: 0 !important;
	border: 1px solid var(--cp-line2) !important;
	border-radius: 3px !important;
	background: #fff !important;
	font-size: 12px !important;
	box-sizing: border-box !important;
	float: none !important;
}
.board .write_comment .cp-cmt-in::placeholder {
	color: var(--cp-faint);
	opacity: 1;
}
.board .write_comment .cp-cmt-in:focus {
	border-color: var(--cp-link) !important;
	box-shadow: 0 0 0 2px var(--cp-focus-ring) !important;
}
.board .cp-cmt-opts {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.board .cp-cmt-opts label {
	font-size: 12px;
	color: var(--cp-sub);
	cursor: pointer;
	margin: 0;
}
.board .write_comment .cp-cmt-submit,
.board .write_comment .btnArea .btn {
	margin-left: auto !important;
	flex-shrink: 0;
	min-width: 68px !important;
	min-height: 30px !important;
	height: 30px !important;
	padding: 0 12px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	border-radius: 3px !important;
	background: var(--cp-brand) !important;
	border: 1px solid var(--cp-brand) !important;
	color: #fff !important;
	float: none !important;
}
.board .write_comment .cp-cmt-submit:hover {
	background: var(--cp-brand-h) !important;
	border-color: var(--cp-brand-h) !important;
	color: #fff !important;
}

/* 레거시 클래스 무력화 */
.board .write_comment .write_author,
.board .write_comment .btnArea {
	float: none !important;
	display: contents;
}
.board .write_comment .iLabel { display: none !important; }
.board input[name="homepage"] { display: none !important; }

html.dark .board .cp-cmt-compose,
html.rx_dark .board .cp-cmt-compose { background: var(--cp-panel); border-color: var(--cp-line); }
html.dark .board .cp-cmt-bar,
html.rx_dark .board .cp-cmt-bar { background: var(--cp-soft-bg); }
html.dark .board .write_comment .rx_editor_textarea,
html.dark .board .write_comment .cp-cmt-in,
html.rx_dark .board .write_comment .rx_editor_textarea,
html.rx_dark .board .write_comment .cp-cmt-in {
	background: var(--cp-panel) !important;
}

@media (max-width: 480px) {
	.board .fbItem { padding: 12px 10px; }
	.board .fbItem.indent { padding-left: 22px; }
	.board .cp-cmt-bar { align-items: stretch; }
	.board .cp-cmt-guest { width: 100%; }
	.board .write_comment .cp-cmt-in,
	.board .write_comment .cp-cmt-guest .iText { flex: 1; max-width: none; width: auto !important; }
	.board .write_comment .cp-cmt-submit { width: 100%; margin-left: 0 !important; margin-top: 2px; }
}


/* ── 비회원: 로그인 유도 ── */
.board .cp-cmt-login {
	margin: 0;
	padding: 16px 14px;
	border-top: 1px solid var(--cp-line);
	background: var(--cp-soft-bg);
	text-align: center;
}
.board .cp-cmt-login-msg {
	margin: 0 0 10px;
	font-size: 13px;
	color: var(--cp-sub);
	line-height: 1.5;
}
.board .cp-cmt-login-msg .fa {
	margin-right: 4px;
	color: var(--cp-faint);
}
.board .cp-cmt-login-msg strong {
	color: var(--cp-ink);
	font-weight: 700;
}
.board .cp-cmt-login-btns {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
}
.board .cp-cmt-login-btn,
.board .cp-cmt-signup-btn {
	display: inline-block;
	min-height: 34px;
	padding: 0 16px;
	font-size: 13px;
	font-weight: 700;
	line-height: 34px;
	border-radius: 4px;
	text-decoration: none !important;
	box-sizing: border-box;
}
.board .cp-cmt-login-btn {
	background: #fff !important;
	border: 1px solid var(--cp-line2) !important;
	color: var(--cp-ink) !important;
}
.board .cp-cmt-login-btn:hover {
	border-color: var(--cp-brand) !important;
	color: var(--cp-brand) !important;
}
.board .cp-cmt-signup-btn {
	background: var(--cp-brand) !important;
	border: 1px solid var(--cp-brand) !important;
	color: #fff !important;
}
.board .cp-cmt-signup-btn:hover {
	background: var(--cp-brand-h) !important;
	border-color: var(--cp-brand-h) !important;
	color: #fff !important;
}

.board .cp-cmt-level-strip {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	margin-bottom: 10px;
	opacity: .92;
}
.board .cp-cmt-level-strip img {
	display: block;
	width: 18px;
	height: 18px;
	object-fit: contain;
}
.board .cp-cmt-login-sub {
	margin: -4px 0 12px;
	font-size: 12px;
	color: var(--cp-faint);
	line-height: 1.45;
}
.board .fbMeta .xe_point_level_icon,
.board .read_header .xe_point_level_icon,
.board .board_list .xe_point_level_icon {
	width: 16px;
	height: 16px;
	vertical-align: -3px;
	margin-right: 2px;
	object-fit: contain;
}

