@charset "utf-8";

/* Theme .ap bar is the player — skin #mp-bar is hidden */
#mp-bar { display: none !important; }

/* 모바일 목록 */
@media all and (max-width:767px) {
	.responsive #bo_list .float-left.float-md-none {
		margin-right:1.0rem;
	}
	.responsive #bo_list .na-title {
		margin-bottom:0.14rem;
	}
}

/* 게시판 읽기 */
#bo_v_title {
	font-size:23px;
	font-weight:bold;
	line-height:1.4;
	letter-spacing:-1px;
}
#bo_v_con {
	min-height:200px; 
	word-break:break-all;
	overflow:hidden
}
@media all and (max-width:575px) {
	.responsive #bo_v_title {
		font-size:20px;
		line-height:1.5;
	}
	.responsive #bo_v_con { 
		min-height:140px; 
	}
}

#bo_v_con img {
	max-width:100%;
	height:auto
}
#bo_v_img {
	width:100%;
	text-align:center;
	overflow:hidden;
	zoom:1;
}
#bo_v_img:after {
	display:block;
	visibility:hidden;
	clear:both;
	content:"";
}
#bo_v_img a.view_image {
	display:block;
}
#bo_v_img img {
	margin-bottom:1.0rem;
}

/* 게시판 읽기 : SNS 공유 */
#bo_v_sns_icon { 
	margin:-5px auto; 
}
#bo_v_sns_icon img { 
	width:40px; 
	border-radius:50%; 
	margin:5px;
}

/* 게시판 댓글 : 내용 */
.cmt-reply {
	top:0;
	left:-16px;
}
.by-writer { 
	background:#fbefef !important;
	border-top:1px solid #f6cece !important;
}
.cmt-content {
	word-break:break-all;
	overflow:hidden
}
.cmt-content img {
	max-width:100%;
	height:auto
}

/* 게시판 댓글 : 대댓글, 수정, 삭제 */
.cmt-btn ul { 
	list-style: none; 
	margin: 0; 
}
.cmt-btn ul > li { 
	float: left; 
	font-size:12px;
	padding: 0 10px; 
}
.cmt-btn ul > li::before { 
	float: left; 
	color:#ccc; 
	content: "|"; 
	margin-left:-12px;
}
.cmt-btn ul > li:last-child { 
	padding-right:0;
}
.cmt-btn ul > li:first-child::before, 
.cmt-btn ul > li.no-bar::before { 
	content: ""; 
	margin-left:0; 
}
.cmt-btn ul > li > a { 
	float:left;
	color:#888;
	white-space:nowrap;	
}

/* 게시판 댓글 : 쓰기폼 */
#fviewcomment #wr_content { 
	resize:none; 
}
@media all and (max-width:575px) {
	.responsive .cmt-box {
		border-right:0 !important;
	}
	.responsive #bo_vc_w .cmt-box {
		border-left:0 !important;
		border-radius:0 !important;
	}
	.responsive #bo_vc_login {
		border-left:0 !important;
		border-right:0 !important;
		border-radius:0 !important;
	}
}

/* 게시판 댓글 : SNS 등록 */
#bo_vc_opt ol {	
	margin:0;
	padding:0;
	list-style:none;
	zoom:1; 
	background:#ccc;
	border-radius:3px;
}
#bo_vc_opt ol:after { 
	display:block;
	visibility:hidden;
	clear:both;
	content:""; 
}
#bo_vc_opt ol li { 
	float:left;
	margin:0; 
}
#bo_vc_send_sns ul { 
	margin:0;
	padding:0;
	list-style:none;
	zoom:1; 
}
#bo_vc_send_sns ul:after { 
	display:block;
	visibility:hidden;
	clear:both;
	content:""; 
}
#bo_vc_send_sns ul li {	
	float:left;
	margin:0 1.0rem 0 0;
}
#bo_vc_send_sns input {	
	margin:0 0 0 0.5rem;
}

/* 게시판 쓰기 */
#bo_w .list-group-item {
	padding-left:0;
	padding-right:0;
	border-left:0;
	border-right:0;
}
#bo_w #wr_content { 
	margin-bottom:1.0rem !important;
}
@media all and (max-width:575px) {
	#bo_w .list-group-item {
		padding-left:1.0rem;
		padding-right:1.0rem;
	}
	.responsive #bo_w #wr_content {
		max-height:160px !important;
	}
}

/* ============================================================
   Music List
   ============================================================ */

/* List container */
.mp-list {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 0;
	margin: 0;
	list-style: none;
}

/* Header row */
.mp-list-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	padding: 8px 14px;
	margin-bottom: 6px;
	border-bottom: 1px solid var(--border, rgba(255,255,255,.1));
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--text-2, rgba(255,255,255,.4));
}

/* Header quick nav (분류 바로가기 — 기존 sly-tab 분류바와 동일 폰트/크기) */
.mp-hdr-nav {
	min-width: 0;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: normal;
	text-transform: none;
	color: #333;
}
.mp-hdr-nav ul.sly-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Header tools (정렬/검색/선택액션) — 오른쪽 배치 */
.mp-hdr-tools {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px;
	margin-left: auto;
	flex-shrink: 0;
}
.mp-hdr-tools .mp-hdr-btn {
	padding: 2px 9px;
	line-height: 1.5;
	font-size: 0.75rem;
	background: var(--accent);
	border-color: var(--accent);
	color: var(--accent-contrast, #fff);
}
.mp-hdr-row1,
.mp-hdr-row2 { display: contents; }
.mp-mob-show { display: none !important; }

/* 정렬 트리거 버튼 — 플레이어 고스트 필 스타일 */
.mp-hdr-sort-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 30px;
	padding: 0;
	border: 1px solid var(--border, rgba(255,255,255,.12));
	border-radius: 99px;
	background: rgba(255,255,255,.05);
	color: var(--text-2, rgba(255,255,255,.6));
	font-size: 13px;
	cursor: pointer;
	transition: background .15s, color .15s, border-color .15s;
}
.mp-hdr-sort-btn:hover,
.mp-hdr-sort-btn:focus {
	color: var(--accent, #1db954);
	background: rgba(var(--accent-rgb, 29,185,84),.12);
	border-color: rgba(var(--accent-rgb, 29,185,84),.4);
	outline: none;
	box-shadow: none;
}

/* 정렬 드롭다운 — 다크 글래스 메뉴 */
.mp-hdr-tools .btn-group {
	position: relative;
}
.mp-hdr-tools .dropdown-menu {
	position: absolute !important;
	top: calc(100% + 8px) !important;
	right: 0 !important;
	left: auto !important;
	display: none;
	min-width: 150px;
	margin: 0;
	padding: 6px !important;
	background: rgba(22,22,32,.96) !important;
	backdrop-filter: blur(18px) saturate(1.4);
	-webkit-backdrop-filter: blur(18px) saturate(1.4);
	border: 1px solid rgba(var(--accent-rgb, 29,185,84),.18) !important;
	border-radius: 14px;
	box-shadow: 0 18px 44px rgba(0,0,0,.5);
	z-index: 3000;
	text-align: left;
	letter-spacing: normal;
	animation: mpMenuIn .16s ease;
}
@keyframes mpMenuIn {
	from { opacity: 0; transform: translateY(-5px); }
	to   { opacity: 1; transform: translateY(0); }
}
.mp-hdr-tools .dropdown-menu .btn-group-vertical {
	display: block;
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
}
.mp-hdr-tools .dropdown-menu .mp-dd-item {
	display: flex;
	align-items: center;
	gap: 9px;
	width: 100%;
	padding: 8px 12px !important;
	margin: 0;
	font-size: 13px;
	font-weight: 600;
	color: var(--text-2, rgba(255,255,255,.65)) !important;
	text-align: left !important;
	text-decoration: none !important;
	border: 0;
	background: transparent;
	border-radius: 9px;
	line-height: 1.4;
	transition: background .15s, color .15s;
}
.mp-hdr-tools .dropdown-menu .mp-dd-item i { font-size: 12px; opacity: .8; }
.mp-hdr-tools .dropdown-menu .mp-dd-item:hover {
	background: rgba(var(--accent-rgb, 29,185,84),.14) !important;
	color: #fff !important;
}
.mp-hdr-tools .dropdown-menu .mp-dd-item.mp-on {
	background: rgba(var(--accent-rgb, 29,185,84),.2) !important;
	color: var(--accent, #1db954) !important;
}

/* 헤더 인라인 검색창 — 글래스 필, 돋보기 내장, 엔터 검색 */
.mp-hdr-search {
	display: inline-flex;
	align-items: center;
	position: relative;
	flex-shrink: 0;
}
.mp-hdr-search-input {
	height: 30px;
	width: 170px;
	padding: 0 34px 0 14px;
	border: 1px solid var(--border, rgba(255,255,255,.1));
	border-radius: 99px;
	background: rgba(255,255,255,.06);
	color: var(--text-3, #fff);
	font-size: 13px;
	outline: none;
	transition: border-color .15s, background .15s, box-shadow .15s;
}
.mp-hdr-search-input::placeholder { color: var(--text-2, rgba(255,255,255,.35)); }
.mp-hdr-search-input:focus {
	border-color: rgba(var(--accent-rgb, 29,185,84),.55);
	background: rgba(255,255,255,.09);
	box-shadow: 0 0 0 3px rgba(var(--accent-rgb, 29,185,84),.14);
}
.mp-hdr-search-input:focus::placeholder { opacity: 0; }
.mp-hdr-search-btn {
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--text-2, rgba(255,255,255,.45));
	font-size: 12px;
	cursor: pointer;
	padding: 0;
	transition: color .15s;
}
.mp-hdr-search-btn:hover { color: var(--accent, #1db954); }

/* Card row */
.mp-card-row {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 14px;
	border-radius: 12px;
	border: 1px solid transparent;
	background: rgba(255,255,255,.02);
	cursor: pointer;
	transition: background .2s, border-color .2s, transform .2s, box-shadow .2s;
	position: relative;
	overflow: hidden;
}
.mp-card-row:hover {
	background: rgba(var(--accent-rgb, 29,185,84),.07);
	border-color: rgba(var(--accent-rgb, 29,185,84),.15);
	transform: translateX(3px);
}
.mp-card-row.mp-card-notice {
	background: inherit;
	box-shadow: none;
	border-left-color: transparent;
}

/* Checkbox */
.mp-card-cb {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	flex-shrink: 0;
	cursor: pointer;
	position: relative;
	margin: 0;
}
.mp-card-cb input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	line-height: 0;
}
.mp-card-cb-box {
	display: inline-block;
	width: 18px;
	height: 18px;
	border-radius: 5px;
	border: 1.5px solid var(--border, rgba(255,255,255,.15));
	background: var(--bg-3, rgba(255,255,255,.06));
	transition: background .18s, border-color .18s;
	position: relative;
}
.mp-card-cb input:checked + .mp-card-cb-box {
	background: var(--accent, #1db954);
	border-color: var(--accent, #1db954);
}
.mp-card-cb input:checked + .mp-card-cb-box::after {
	content: '\2713';
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
}
.mp-card-cb:hover .mp-card-cb-box {
	border-color: rgba(var(--accent-rgb, 29,185,84),.6);
}

/* Thumbnail */
.mp-card-thumb {
	width: 42px;
	height: 42px;
	flex-shrink: 0;
	border-radius: 8px;
	overflow: hidden;
	background: linear-gradient(135deg, rgba(var(--accent-rgb, 29,185,84),.15), rgba(var(--accent-rgb, 29,185,84),.03));
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
.mp-card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.mp-card-thumb i {
	font-size: 1rem;
	color: var(--accent, #1db954);
	opacity: .6;
}

/* Play/Add buttons */
.mp-card-play {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	flex-shrink: 0;
}

/* mp-btn base (both play + add) */
.mp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: none;
	border-radius: 8px;
	cursor: pointer;
	font-size: 11px;
	transition: background .15s, color .15s, transform .1s;
	background: rgba(var(--accent-rgb, 29,185,84),.12);
	color: var(--accent, #1db954);
	position: relative;
}
.mp-btn:hover {
	background: rgba(var(--accent-rgb, 29,185,84),.25);
	transform: scale(1.1);
}
/* 재생 버튼도 + 버튼과 동일한 기본 스타일(배경 없음) 사용 */
.mp-btn.mp-play:hover {
	background: rgba(var(--accent-rgb, 29,185,84),.25);
}
.mp-add-cnt {
	position: absolute;
	top: -4px;
	right: -4px;
	background: #e0245e;
	color: #fff;
	font-size: 8px;
	font-weight: 700;
	line-height: 1;
	padding: 2px 3px;
	border-radius: 99px;
	pointer-events: none;
}

/* Title/Info (2줄: 제목 + 가수) */
.mp-card-info {
	flex: 1 1 0%;
	min-width: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1px;
}
.mp-card-title {
	display: block;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--text-1, #e9eaf6);
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	transition: color .2s;
}
.mp-card-row:hover .mp-card-title {
	color: var(--accent, #1db954);
}
/* 가수 (플레이어 재생목록의 mp-q-artist와 동일 톤) */
.mp-card-artist {
	font-size: 0.72rem;
	color: var(--text-3, #8a8fa8);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* 게시물 리스트 링크 밑줄 제거 (마우스 오버 포함) */
#bo_list a,
#bo_list a:focus,
#bo_list a:hover,
#bo_list a:active {
	text-decoration: none !important;
}

/* Duration */
.mp-card-dur {
	flex-shrink: 0;
	font-size: 0.78rem;
	color: var(--text-3, #8a8fa8);
	font-variant-numeric: tabular-nums;
	min-width: 36px;
	text-align: center;
}

/* Action buttons (like, download, add, video) */
.mp-card-act {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 28px;
	border-radius: 6px;
	cursor: pointer;
	transition: opacity .15s, color .15s, background .15s, transform .1s;
}
.mp-card-act a,
.mp-card-act span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: var(--text-2, rgba(255,255,255,.4));
	font-size: 12px;
	border-radius: 6px;
	transition: color .15s, background .15s;
}
.mp-card-act a:hover {
	color: var(--accent, #1db954);
	background: rgba(var(--accent-rgb, 29,185,84),.1);
}
/* 추천(♡) 등록 상태 — 플레이어 하트와 동일한 그린 */
.mp-card-act a.mp-rec-on i.fa-heart,
.mp-card-act span.mp-rec-on i.fa-heart { color: #1db954; }
.mp-card-act a i.fa-heart:hover { color: #f87171; }
.mp-card-act a i.fa-youtube:hover { color: #ef4444; }
.mp-card-act em {
	display: none;
	font-style: normal;
	font-size: 0.7rem;
	color: var(--text-2, rgba(255,255,255,.4));
	margin-left: 2px;
}
/* Mobile: show likes in title area */
@media (max-width: 767px) {
	.mp-card-act.mp-mob-hide { display: none !important; }
	.mp-card-dur.mp-mob-hide { display: none !important; }
	.mp-card-row { gap: 8px; padding: 8px 10px; }
	.mp-card-thumb { width: 38px; height: 38px; }
	.mp-list-header { flex-wrap: wrap; gap: 4px 8px; padding: 6px 10px; border-bottom: 1px solid var(--border, rgba(255,255,255,.1)); margin-bottom: 0; }
	#bo_btn_top { display: none !important; }
	.mp-hdr-row1 { display: none !important; }
	.mp-hdr-row2 { display: flex; align-items: center; width: 100%; order: 2; }
	.mp-hdr-tools { width: auto; gap: 4px; }
	.mp-hdr-tools .mp-hdr-btn { display: none !important; }
	.mp-hdr-nav { flex: 1; min-width: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
	.mp-hdr-nav::-webkit-scrollbar { display: none; }
	.mp-hdr-nav ul.sly-list { gap: 0; flex-wrap: nowrap; white-space: nowrap; }
	.mp-hdr-nav ul.sly-list li a { padding: 4px 5px !important; font-size: 13px; white-space: nowrap; }
	.mp-hdr-search-input { width: 100px; height: 28px; font-size: 12px; }
}
@media (orientation: landscape) and (max-width: 900px) {
	.mp-hdr-row1 { display: none !important; }
	.mp-hdr-row2 { flex-wrap: nowrap; }
	.mp-hdr-nav ul.sly-list li a { padding: 4px 5px !important; font-size: 13px; }
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.d-none{display:none!important}.d-block{display:block!important}.d-flex{display:flex!important}.d-inline-block{display:inline-block!important}
.d-md-none{display:none!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}
.d-sm-flex{display:flex!important}.d-sm-none{display:none!important}.d-sm-block{display:block!important}
.d-lg-block{display:block!important}
.flex-grow-1{flex-grow:1!important}.flex-sm-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}
.align-items-center{align-items:center!important}.align-items-end{align-items:flex-end!important}.align-self-center{align-self:center!important}
.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}
.flex-column{flex-direction:column!important}.flex-row{flex-direction:row!important}
.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap{flex-wrap:wrap!important}
.order-1{order:1}.order-2{order:2}.order-3{order:3}
.float-left{float:left!important}.float-right{float:right!important}
.clearfix::after{display:block;clear:both;content:""}
.text-center{text-align:center!important}.text-right{text-align:right!important}.text-left{text-align:left!important}
.text-nowrap{white-space:nowrap!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}
.text-decoration-none{text-decoration:none!important}
.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-light{font-weight:300!important}
.font-italic{font-style:italic!important}
.f-xs{font-size:12px!important}.f-sm{font-size:14px!important}.f-md{font-size:18px!important}.f-lg{font-size:16px!important}.f-xl{font-size:20px!important}
.en{font-family:'Roboto',sans-serif!important}
.bg-white{background-color:#fff!important}.bg-light{background-color:#f8f9fa!important}
.bg-primary{background-color:#007bff!important;color:#fff!important}.bg-transparent{background-color:transparent!important}.bg-dark{background-color:#343a40!important}
.border{border:1px solid #dee2e6!important}.border-0{border:0!important}
.border-top{border-top:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}
.border-left{border-left:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}
.border-primary{border-color:#007bff!important}
.border-top-0{border-top:0!important}.border-bottom-0{border-bottom:0!important}
.border-left-0{border-left:0!important}.border-right-0{border-right:0!important}
.rounded{border-radius:.25rem!important}.rounded-circle{border-radius:50%!important}
.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-auto{margin:auto!important}
.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}
.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}
.ml-0{margin-left:0!important}.ml-1{margin-left:.25rem!important}.ml-2{margin-left:.5rem!important}.ml-3{margin-left:1rem!important}.ml-auto{margin-left:auto!important}
.mr-0{margin-right:0!important}.mr-1{margin-right:.25rem!important}.mr-2{margin-right:.5rem!important}.mr-3{margin-right:1rem!important}.mr-auto{margin-right:auto!important}
.mx-0{margin-left:0!important;margin-right:0!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}
.mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-3{margin-left:1rem!important;margin-right:1rem!important}
.mx-auto{margin-left:auto!important;margin-right:auto!important}
.mx-n1{margin-left:-.25rem!important;margin-right:-.25rem!important}.mx-n2{margin-left:-.5rem!important;margin-right:-.5rem!important}
.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}
.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}
.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}
.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}
.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}
.pl-0{padding-left:0!important}.pl-1{padding-left:.25rem!important}.pl-2{padding-left:.5rem!important}.pl-3{padding-left:1rem!important}
.pr-0{padding-right:0!important}.pr-1{padding-right:.25rem!important}.pr-2{padding-right:.5rem!important}.pr-3{padding-right:1rem!important}
.px-0{padding-left:0!important;padding-right:0!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}
.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-3{padding-left:1rem!important;padding-right:1rem!important}
.px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xl-0{padding-left:0!important;padding-right:0!important}
.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}
.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}
@media(min-width:576px){.p-sm-3{padding:1rem!important}.pt-sm-0{padding-top:0!important}.px-sm-0{padding-left:0!important;padding-right:0!important}.px-sm-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.mx-sm-0{margin-left:0!important;margin-right:0!important}}
.w-100{width:100%!important}.h-100{height:100%!important}.mw-100{max-width:100%!important}
.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}
.top-0{top:0!important}.bottom-0{bottom:0!important}.left-0{left:0!important}.right-0{right:0!important}
.overflow-hidden{overflow:hidden!important}.overflow-auto{overflow:auto!important}
.shadow{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}
.row{display:flex;flex-wrap:wrap;margin-left:-.75rem;margin-right:-.75rem}
.col,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{position:relative;width:100%;padding-left:.75rem;padding-right:.75rem}
.col{flex-basis:0;flex-grow:1;max-width:100%}
.col-1{flex:0 0 8.333%;max-width:8.333%}.col-2{flex:0 0 16.666%;max-width:16.666%}.col-3{flex:0 0 25%;max-width:25%}
.col-4{flex:0 0 33.333%;max-width:33.333%}.col-5{flex:0 0 41.666%;max-width:41.666%}.col-6{flex:0 0 50%;max-width:50%}
.col-7{flex:0 0 58.333%;max-width:58.333%}.col-8{flex:0 0 66.666%;max-width:66.666%}.col-9{flex:0 0 75%;max-width:75%}
.col-10{flex:0 0 83.333%;max-width:83.333%}.col-11{flex:0 0 91.666%;max-width:91.666%}.col-12{flex:0 0 100%;max-width:100%}
@media(min-width:576px){.col-sm-1{flex:0 0 8.333%;max-width:8.333%}.col-sm-2{flex:0 0 16.666%;max-width:16.666%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.333%;max-width:33.333%}.col-sm-5{flex:0 0 41.666%;max-width:41.666%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.333%;max-width:58.333%}.col-sm-8{flex:0 0 66.666%;max-width:66.666%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.333%;max-width:83.333%}.col-sm-11{flex:0 0 91.666%;max-width:91.666%}.col-sm-12{flex:0 0 100%;max-width:100%}}
.collapse{display:none}.collapse.show{display:block}
.alert{padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}
.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}
.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}
.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}
.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}
.form-control:focus{border-color:#80bdff;outline:0}
.form-control-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}
.form-group{margin-bottom:1rem}
.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}
.form-row>.col,.form-row>[class*="col-"]{padding-right:5px;padding-left:5px}
.form-inline{display:flex;flex-flow:row wrap;align-items:center}
.form-check{display:block;min-height:1.5rem;padding-left:1.5rem;margin-bottom:.125rem}
.form-check-input{margin-top:.25rem}
.form-check-label{margin-bottom:0}
.noresize{resize:none!important}
.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}
.input-group>.form-control{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}
.input-group-append{display:flex}
.input-group-append .btn{position:relative;z-index:2}
.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}
.input-group-lg>.form-control{padding:.5rem 1rem}
.custom-select{display:inline-block;width:100%;padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background:#fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}
.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;margin-bottom:.25rem}
.custom-control-label{position:relative;margin-bottom:0;vertical-align:top;padding-left:.5rem}
.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;width:1rem;height:1rem;background-color:#fff;border:1px solid #adb5bd}
.custom-switch .custom-control-label::before{width:1.75rem;border-radius:.875rem}
.custom-switch .custom-control-label::after{left:calc(-1.75rem + 2px)}
.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border:1px solid transparent;border-radius:.25rem;transition:color .15s,background-color .15s,border-color .15s,box-shadow .15s}
.btn:hover{text-decoration:none}
.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}
.btn:disabled{opacity:.65}
.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}
.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}
.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}
.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}
.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}
.btn-outline-secondary{color:#6c757d;background-color:transparent;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}
.btn-outline-danger{color:#dc3545;background-color:transparent;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}
.btn-outline-primary{color:#007bff;background-color:transparent;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}
.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}
.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}
.btn-group{position:relative;display:inline-flex;vertical-align:middle}
.btn-group>.btn{position:relative;flex:1 1 auto}
.btn-group>.btn:hover{z-index:1}
.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}
.btn-group-vertical>.btn{width:100%}
.btn-group>.btn:not(:first-child){margin-left:-1px}
.nofocus{outline:none!important;box-shadow:none!important}
.dropdown{position:relative}
.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}
.dropdown-toggle-empty::after{display:none}
.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:.125rem 0;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}
.dropdown-menu-right{right:0;left:auto}
.dropdown-menu.show{display:block}
.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0;text-decoration:none}
.dropdown-item:hover,.dropdown-item:focus{color:#16181b;text-decoration:none;background-color:#e9ecef}
.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}
.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}
.nav-link{display:block;padding:.5rem 1rem}
.nav-link:hover,.nav-link:focus{text-decoration:none}
.breadcrumb{display:flex;flex-wrap:wrap;padding:0;margin-bottom:0;list-style:none;background-color:transparent}
.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}
.breadcrumb-item.active{color:var(--text-2)}
.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}
.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}
.na-table{display:table;width:100%;border-collapse:collapse}
.na-table-head{display:table-row}
.na-table-head>div{display:table-cell;padding:10px 6px;text-align:center;vertical-align:middle;font-size:13px;font-weight:bold;border-bottom:2px solid #dee2e6}
.na-subject{color:#333;text-decoration:none;font-weight:500}
.na-subject:hover{color:#007bff}
.na-icon{font-size:12px;margin-right:4px}
.na-hicon,.na-new,.na-hot,.na-secret,.na-reply{font-size:10px;font-weight:bold;margin-left:4px}
.na-new{color:#dc3545}.na-hot{color:#e67e22}.na-secret{color:#6c757d}
.na-title{font-size:15px;font-weight:bold}
.sly-tab{position:relative}
.sly-wrap{overflow:hidden}
.sly-list{list-style:none;margin:0;padding:0}
.sly-list li{display:inline-block}
.sly-list li a{display:block;padding:6px 12px;text-decoration:none;color:#ccc}
.sly-list li.active a,.sly-list li a:hover{color:var(--accent2,#818cf8);font-weight:bold}
.sly-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;cursor:pointer;color:#aaa}

/* ============================================================
   Dark Theme Overrides (for allplayer dark-midnight)
   ============================================================ */
[data-theme="dark-midnight"] #bo_list,
[data-theme="dark-midnight"] #bo_list_wrap {
    color:#e0e0e8 !important;
}
/* Card rows */
[data-theme="dark-midnight"] .mp-card-row { background:rgba(255,255,255,.02) !important; border-color:transparent !important; }
[data-theme="dark-midnight"] .mp-card-row:hover { background:rgba(29,185,84,.07) !important; border-color:rgba(29,185,84,.15) !important; }
[data-theme="dark-midnight"] .mp-card-title { color:#dfe5f2 !important; }
[data-theme="dark-midnight"] .mp-card-row:hover .mp-card-title { color:#1db954 !important; }
[data-theme="dark-midnight"] .mp-card-artist { color:#6d84ac !important; }
[data-theme="dark-midnight"] .mp-card-dur { color:#6d84ac !important; }
[data-theme="dark-midnight"] .mp-card-act a, [data-theme="dark-midnight"] .mp-card-act span { color:rgba(255,255,255,.4) !important; }
[data-theme="dark-midnight"] .mp-card-act a:hover { color:#1db954 !important; }
[data-theme="dark-midnight"] .mp-list-header { border-bottom-color:rgba(255,255,255,.1) !important; color:rgba(255,255,255,.4) !important; }
[data-theme="dark-midnight"] .mp-card-cb-box { border-color:rgba(255,255,255,.15) !important; background:rgba(255,255,255,.06) !important; }
/* Notice row */
[data-theme="dark-midnight"] .mp-card-notice { }
/* Header */
[data-theme="dark-midnight"] .na-table-head > div { color:#aaa !important; border-bottom-color:#262636 !important; background:rgba(255,255,255,.03) !important; }
/* Subject links */
[data-theme="dark-midnight"] .na-subject { color:#e0e0e8 !important; }
[data-theme="dark-midnight"] .na-subject:hover { color:var(--accent2,#818cf8) !important; }
[data-theme="dark-midnight"] .na-subject strong { color:#e0e0e8 !important; }
/* Inline color overrides */
[data-theme="dark-midnight"] #bo_list [style*="color:#333"],
[data-theme="dark-midnight"] #bo_list [style*="color: #333"],
[data-theme="dark-midnight"] #bo_list [style*="color:#888"],
[data-theme="dark-midnight"] #bo_list [style*="color: #888"],
[data-theme="dark-midnight"] #bo_list [style*="color:#aaa"],
[data-theme="dark-midnight"] #bo_list [style*="color: #aaa"],
[data-theme="dark-midnight"] #bo_list [style*="color:#666"],
[data-theme="dark-midnight"] #bo_list [style*="color: #666"] {
    color:inherit !important;
}
[data-theme="dark-midnight"] .na-table-head [style*="color:#333"],
[data-theme="dark-midnight"] .na-table-head [style*="color: #333"] {
    color:#aaa !important;
}
[data-theme="dark-midnight"] .na-table-head [style*="font-weight:bold"] {
    color:#888 !important;
}
/* Check all row */
[data-theme="dark-midnight"] #allCheck_mobile ~ label { color:#ccc !important; }
/* Search form */
[data-theme="dark-midnight"] #bo_search .alert { background:rgba(255,255,255,.05) !important; border-color:#262636 !important; }
[data-theme="dark-midnight"] .form-control { background-color:#16162a !important; color:#e0e0e8 !important; border-color:#262636 !important; }
[data-theme="dark-midnight"] .form-control:focus { background-color:#1a1a30 !important; border-color:var(--accent2,#818cf8) !important; color:#fff !important; }
[data-theme="dark-midnight"] .custom-select { background-color:#16162a !important; color:#e0e0e8 !important; border-color:#262636 !important; }
[data-theme="dark-midnight"] .input-group-text { background-color:#1a1a2e !important; color:#888 !important; border-color:#262636 !important; }
/* Buttons */
[data-theme="dark-midnight"] .btn-outline-secondary { color:#aaa !important; border-color:#444 !important; }
[data-theme="dark-midnight"] .btn-outline-secondary:hover { background:#333 !important; color:#fff !important; }
[data-theme="dark-midnight"] .btn-outline-danger { color:#f87171 !important; border-color:#7f1d1d !important; }
[data-theme="dark-midnight"] .btn-outline-danger:hover { background:#991b1b !important; color:#fff !important; }
[data-theme="dark-midnight"] .btn_b01 { color:#aaa !important; border-color:#444 !important; background:transparent !important; }
[data-theme="dark-midnight"] .btn_b01:hover { background:#333 !important; color:#fff !important; }
[data-theme="dark-midnight"] .btn_admin { color:#aaa !important; border-color:#444 !important; background:transparent !important; }
/* Dropdown menus */
[data-theme="dark-midnight"] .dropdown-menu { background:#16162a !important; border-color:#262636 !important; }
[data-theme="dark-midnight"] .dropdown-item { color:#ccc !important; }
[data-theme="dark-midnight"] .dropdown-item:hover { background:#262636 !important; color:#fff !important; }
[data-theme="dark-midnight"] .btn-group-vertical { background:#16162a !important; border-color:#262636 !important; }
[data-theme="dark-midnight"] .btn-group-vertical .btn { color:#ccc !important; border-color:#262636 !important; background:transparent !important; }
[data-theme="dark-midnight"] .btn-group-vertical .btn:hover { background:#262636 !important; }
/* Pagination / page info */
[data-theme="dark-midnight"] #bo_list_total { color:#aaa !important; }
/* Sort dropdown */
[data-theme="dark-midnight"] .dropdown-menu-right .btn-group-vertical { background:#1a1a2e !important; border-color:#262636 !important; }
[data-theme="dark-midnight"] .dropdown-menu-right .btn-group-vertical a { color:#ccc !important; }
[data-theme="dark-midnight"] .dropdown-menu-right .btn-group-vertical a:hover { background:#262636 !important; color:#fff !important; }
/* Checkbox labels */
[data-theme="dark-midnight"] #bo_list label { color:#ccc !important; }
/* Play buttons in list */
[data-theme="dark-midnight"] .mp-btn { color:#1db954 !important; }
[data-theme="dark-midnight"] .mp-btn:hover { background:rgba(29,185,84,.25) !important; color:#1db954 !important; }
/* Download btn in list */
[data-theme="dark-midnight"] #bo_list .btn-outline-secondary { color:#aaa !important; border-color:#444 !important; }
/* Like btn */
[data-theme="dark-midnight"] #bo_list a[style*="color:#888"] { color:#888 !important; }
[data-theme="dark-midnight"] #bo_list a[style*="color:#888"]:hover { color:#f87171 !important; }
/* Mobile select-all bar */
[data-theme="dark-midnight"] #allCheck_mobile { }
[data-theme="dark-midnight"] #allCheck_mobile + label { color:#ccc !important; }
[data-theme="dark-midnight"] .d-md-none.px-3.py-2 { border-bottom-color:#262636 !important; }
/* Category tabs */
[data-theme="dark-midnight"] .sly-list li a { color:#888 !important; }
[data-theme="dark-midnight"] .sly-list li.active a,
[data-theme="dark-midnight"] .sly-list li a:hover { color:var(--accent2,#818cf8) !important; }
[data-theme="dark-midnight"] .sly-tab { border-color:#262636 !important; }
[data-theme="dark-midnight"] .sly-tab hr { border-color:#262636 !important; }
[data-theme="dark-midnight"] .sly-tab hr::before { background-color:#262636 !important; }
[data-theme="dark-midnight"] .sly-btn { color:#888 !important; }
[data-theme="dark-midnight"] .sly-prev, [data-theme="dark-midnight"] .sly-next { color:#888 !important; }

#apTimerBtn { position: relative; }

/* ---------- Pagination (게시물 페이지 이동) — 플레이어 테마 통일 ---------- */
#bo_list_wrap .pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px;
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
}
#bo_list_wrap .pagination .page-item { list-style: none; }
#bo_list_wrap .page-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 34px;
	padding: 0 10px;
	border-radius: 10px;
	border: 1px solid var(--border, rgba(255,255,255,.12));
	background: rgba(255,255,255,.03);
	color: var(--text-2, rgba(255,255,255,.55));
	font-size: .82rem;
	font-weight: 600;
	line-height: 1;
	text-decoration: none !important;
	box-shadow: none !important;
	transition: background .15s, color .15s, border-color .15s;
}
#bo_list_wrap .page-link:hover,
#bo_list_wrap .page-link:focus {
	color: var(--accent, #1db954);
	background: rgba(var(--accent-rgb, 29,185,84),.1);
	border-color: rgba(var(--accent-rgb, 29,185,84),.35);
}
#bo_list_wrap .page-item.active .page-link {
	color: var(--accent-contrast, #fff) !important;
	background: var(--accent, #1db954) !important;
	border-color: var(--accent, #1db954) !important;
	font-weight: 700;
}
#bo_list_wrap .page-item.disabled .page-link {
	opacity: .35;
	pointer-events: none;
}
@media (max-width: 767px) {
	#bo_list_wrap .page-link {
		min-width: 30px;
		height: 30px;
		padding: 0 8px;
		font-size: .78rem;
	}
}