:root {
	--theme-accent: #a89bc4;
	--theme-accent-warm: #c9b896;
	--theme-border: rgba(168,155,196,.28);
	--theme-border-hover: rgba(168,155,196,.48);
	--theme-glow: rgba(168,155,196,.12);
	--theme-bg: #0b0b14;
	--theme-text: #eceff4;
	--theme-muted: #9ca3af;
}

/* ===== 全站背景 ===== */
body.relative {
	position: relative;
	isolation: isolate;
	background-color: var(--theme-bg);
	background-image:
		radial-gradient(ellipse 70% 45% at 15% -5%, rgba(77,150,255,.18), transparent 55%),
		radial-gradient(ellipse 55% 40% at 85% 5%, rgba(199,125,255,.14), transparent 50%),
		radial-gradient(ellipse 50% 35% at 50% 105%, rgba(255,107,107,.1), transparent 55%),
		linear-gradient(175deg, #13131f 0%, #0e0e18 45%, #0a0a12 100%);
	background-attachment: fixed;
	color: var(--theme-text);
}
body.relative::before {
	content: '';
	position: fixed;
	inset: 0;
	z-index: -2;
	pointer-events: none;
	background-image: radial-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
	background-size: 28px 28px;
	opacity: .6;
}
body.relative::after {
	content: '';
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.15) 100%);
}
body.relative .is-home,
body.relative .content-without-search {
	position: relative;
}
/* 固定顶栏不遮挡首页标题 */
.is-home.content-without-search {
	padding-top: 5rem;
}
.home-hero {
	position: relative;
	z-index: 2;
	padding-top: .5rem;
	padding-bottom: 1rem;
}
.home-hero h1 {
	color: #f0f4f8 !important;
	text-shadow: 0 2px 12px rgba(0,0,0,.45);
}
.home-hero h1 .text-primary {
	color: var(--theme-accent-warm) !important;
}

/* ===== 顶栏导航 ===== */
.site-header-wrap {
	position: relative;
	z-index: 200;
}
body.relative .site-nav-bar,
body.madou-min-width .site-nav-bar {
	background: rgba(10,10,18,.97) !important;
	background-image: none !important;
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	border-bottom: 1px solid rgba(255,255,255,.12);
	box-shadow: 0 4px 30px rgba(0,0,0,.5);
}
.site-nav-bar.bg-gradient-to-b.from-darkest {
	--tw-gradient-from: rgba(10,10,18,.97) !important;
	--tw-gradient-to: rgba(10,10,18,.97) !important;
}
.site-nav-bar .site-nav-inner {
	padding-top: .5rem;
	padding-bottom: .5rem;
}
.site-nav-bar .nav-logo img {
	transition: filter .2s, transform .2s;
}
.site-nav-bar .nav-logo:hover img {
	filter: brightness(1.1);
	transform: scale(1.02);
}
/* 顶栏所有文字强制亮色 */
.site-nav-bar nav a,
.site-nav-bar .menu,
.site-nav-bar .toggleSearch,
.site-nav-bar .mtoggleSearch,
.site-nav-bar .lang,
.site-nav-bar .text-nord6,
.site-nav-bar .text-nord4,
.site-nav-bar .link,
.site-nav-bar svg {
	color: #f0f4f8 !important;
	fill: currentColor;
}
.site-nav-bar nav a:hover,
.site-nav-bar .menu:hover,
.site-nav-bar .toggleSearch:hover,
.site-nav-bar .mtoggleSearch:hover,
.site-nav-bar .link:hover {
	color: var(--theme-accent-warm) !important;
}
/* 下拉菜单：深色底 + 亮字 */
.site-nav-bar .langDropdown,
.site-nav-bar .menuDropdown,
.site-nav-bar .userDropdown,
.site-nav-bar .linkDropdown,
.site-nav-bar .langDropdown > div,
.site-nav-bar .menuDropdown > div,
.site-nav-bar .userDropdown > div,
.site-nav-bar .linkDropdown > div {
	background: rgba(18,18,28,.98) !important;
	border: 1px solid var(--theme-border);
	box-shadow: 0 12px 40px rgba(0,0,0,.5);
	color: #f0f4f8 !important;
}
.site-nav-bar .bg-nord5,
.site-nav-bar .bg-gray-900 {
	background: rgba(18,18,28,.98) !important;
}
.site-nav-bar .langDropdown a,
.site-nav-bar .menuDropdown a,
.site-nav-bar .userDropdown a,
.site-nav-bar .linkDropdown a,
.site-nav-bar .text-gray-700,
.site-nav-bar .text-nord0,
.site-nav-bar .userDropdown p,
.site-nav-bar .userDropdown span {
	color: #f0f4f8 !important;
}
.site-nav-bar .border-nord4,
.site-nav-bar .border-t {
	border-color: rgba(255,255,255,.1) !important;
}
.site-nav-bar .langDropdown a:hover,
.site-nav-bar .menuDropdown a:hover,
.site-nav-bar .userDropdown a:hover,
.site-nav-bar .linkDropdown a:hover,
.site-nav-bar a.hover\:bg-nord4:hover {
	background: rgba(168,155,196,.12) !important;
	color: var(--theme-accent-warm) !important;
}
.site-nav-bar .linkDropdown a.bg-nord3,
.site-nav-bar .linkDropdown span a {
	background: rgba(30,32,42,.8) !important;
	color: #d1d5db !important;
}
.site-nav-bar .search {
	background: rgba(10,10,18,.98) !important;
	border-bottom: 1px solid var(--theme-border);
}
.site-nav-bar .search input {
	background: rgba(30,32,42,.9) !important;
	color: #eceff4 !important;
	border-color: var(--theme-border) !important;
}
.site-nav-bar .search button {
	background: linear-gradient(135deg, var(--theme-accent-warm), var(--theme-accent)) !important;
	color: #1a1a2e !important;
}
.site-nav-bar .nav-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .35rem;
	border-radius: .375rem;
	transition: background .2s;
}
.site-nav-bar .nav-icon-btn:hover {
	background: rgba(168,155,196,.1);
}

/* ===== 首页通用变量 ===== */
.is-home {
	overflow-x: hidden;
	--home-accent: var(--theme-accent);
	--home-accent-warm: var(--theme-accent-warm);
	--home-border: var(--theme-border);
	--home-border-hover: var(--theme-border-hover);
	--home-glow: var(--theme-glow);
}

/* 搜索框 */
.cborder-search .flex.rounded-md {
	border: 1px solid var(--home-border);
	border-radius: .5rem !important;
	overflow: hidden;
	background: rgba(20,20,32,.6);
	box-shadow: 0 4px 20px rgba(0,0,0,.25);
}
.cborder-search select {
	background: rgba(30,32,42,.95) !important;
	color: #eceff4 !important;
	border-color: var(--home-border) !important;
}
.cborder-search select option {
	background: #1e2028;
	color: #eceff4;
}
.cborder-search input {
	background: rgba(30,32,42,.9) !important;
	border-color: var(--home-border) !important;
	color: #eceff4 !important;
}
.cborder-search input::placeholder { color: #6b7280; }
.cborder-search input:focus {
	border-color: var(--home-border-hover) !important;
	box-shadow: 0 0 0 2px var(--home-glow);
}
.cborder-search button {
	background: linear-gradient(135deg, var(--home-accent-warm), var(--home-accent)) !important;
	color: #1a1a2e !important;
	border-color: transparent !important;
	font-weight: 700;
}
.cborder-search button:hover { opacity: .9; }

/* 首页轮播 */
body.relative .content-without-search:not(.is-home) {
	padding-top: 5rem;
}
.home-carousel-wrap {
	max-width: 75rem;
	margin: 0 auto 1.25rem;
	padding: 0 1rem;
	position: relative;
	z-index: 1;
	clear: both;
}
.home-carousel {
	border-radius: .75rem;
	overflow: hidden;
	border: 1px solid var(--home-border);
	box-shadow: 0 12px 40px rgba(0,0,0,.4), 0 0 24px var(--home-glow);
	background: rgba(20,20,32,.5);
}
.home-carousel .carousel-inner {
	border-radius: .75rem;
}
.home-carousel .carousel-inner img {
	width: 100%;
	height: auto;
	max-height: 28rem;
	object-fit: cover;
	display: block;
}
.home-carousel .carousel-control {
	background: rgba(10,10,18,.45);
	width: 2.75rem;
	opacity: 0;
	transition: opacity .25s;
}
.home-carousel:hover .carousel-control { opacity: 1; }
.home-carousel .carousel-control:hover {
	background: rgba(168,155,196,.25);
}
.home-carousel .carousel-indicators li {
	border-color: var(--home-accent);
	background: transparent;
}
.home-carousel .carousel-indicators .active {
	background: var(--home-accent);
}

/* 公告栏 */
.cborder-box,
.home-notice-bar {
	position: relative;
	border-radius: .5rem;
	padding: .55rem .85rem;
	background: rgba(255,255,255,.03);
	border: 1px solid var(--home-border);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	max-width: 75rem;
	margin: 0 auto 1.25rem;
}
.home-notice-bar .notice-icon {
	color: var(--home-accent-warm);
	margin-right: .5rem;
	flex-shrink: 0;
}
.home-notice-bar marquee,
.home-notice-bar .notice-text {
	color: #d1d5db;
	font-size: .875rem;
	line-height: 1.6;
}
.home-notice-bar .notice-label {
	color: #f87171;
	font-weight: 700;
	margin-right: .35rem;
}
.home-notice-bar .card.board {
	background: transparent;
	border: none;
	box-shadow: none;
	padding: 0;
	margin: 0;
	display: flex;
	align-items: center;
}

/* 地址发布条（独立一行，不与栏目标题同排） */
.home-addr-strip {
	margin-bottom: .75rem;
}
.home-addr-strip-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: .65rem 1rem;
	padding: .7rem 1rem;
	border-radius: .625rem;
	background: rgba(255,255,255,.04);
	border: 1px solid var(--home-border);
	box-shadow: 0 4px 20px rgba(0,0,0,.2);
}
.home-addr-item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .35rem .5rem;
}
.home-addr-label {
	font-size: .8125rem;
	font-weight: 700;
	color: #f87171;
	white-space: nowrap;
}
.home-addr-link {
	font-size: .875rem;
	font-weight: 700;
	color: #93c5fd;
	text-decoration: none;
	white-space: nowrap;
}
.home-addr-link:hover { color: var(--home-accent-warm); }
.home-addr-btn {
	display: inline-block;
	padding: .3rem .75rem;
	font-size: .8125rem;
	font-weight: 700;
	color: #1a1a2e !important;
	text-decoration: none;
	white-space: nowrap;
	border-radius: .375rem;
	background: linear-gradient(135deg, var(--home-accent-warm), var(--home-accent));
	box-shadow: 0 2px 10px rgba(168,155,196,.25);
	transition: opacity .2s, transform .15s;
}
.home-addr-btn:hover { opacity: .92; transform: translateY(-1px); }

/* 今日热播榜 */
.home-hot-rank {
	margin-bottom: 1rem;
	padding: .75rem .85rem;
	border-radius: .625rem;
	background: rgba(255,255,255,.04);
	border: 1px solid var(--home-border, var(--theme-border));
	box-shadow: 0 4px 20px rgba(0,0,0,.2);
}
.home-hot-rank-head {
	display: flex;
	align-items: center;
	gap: .4rem;
	margin-bottom: .55rem;
}
.home-hot-rank-icon { font-size: 1rem; line-height: 1; }
.home-hot-rank-title {
	font-size: .875rem;
	font-weight: 700;
	color: #fbbf24;
	letter-spacing: .02em;
}
.home-hot-rank-track {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem .55rem;
}
.home-hot-rank-item {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	max-width: 100%;
	padding: .35rem .65rem;
	border-radius: 9999px;
	font-size: .8125rem;
	text-decoration: none;
	color: #c4cad4;
	background: rgba(30,32,42,.65);
	border: 1px solid rgba(168,155,196,.18);
	transition: color .25s, background .25s, border-color .25s, box-shadow .25s, transform .25s;
}
.home-hot-rank-item:hover {
	color: #e8dcc8;
	border-color: rgba(201,184,150,.4);
	background: rgba(201,184,150,.1);
}
.home-hot-rank-item.is-active {
	color: #1a1a2e;
	font-weight: 600;
	border-color: transparent;
	background: linear-gradient(135deg, #fbbf24, #f59e0b);
	box-shadow: 0 4px 14px rgba(251,191,36,.28);
	transform: translateY(-1px);
}
.home-hot-rank-item.is-active .home-hot-rank-num {
	background: rgba(0,0,0,.18);
	color: #fff;
}
.home-hot-rank-num {
	flex-shrink: 0;
	min-width: 1.25rem;
	height: 1.25rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	font-size: .6875rem;
	font-weight: 700;
	color: #fbbf24;
	background: rgba(251,191,36,.12);
}
.home-hot-rank-name {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 11rem;
}
.home-section-subtitle {
	display: flex;
	align-items: center;
	gap: .45rem;
	margin: 0 0 .85rem;
	font-size: .9375rem;
	font-weight: 600;
	color: #b0b8c4;
}
.home-section-subtitle::before {
	content: '';
	width: 3px;
	height: .9rem;
	border-radius: 2px;
	background: linear-gradient(180deg, var(--theme-accent-warm), var(--theme-accent));
}
.list-section-subtitle { margin-top: .25rem; }
@media (max-width: 639px) {
	.home-hot-rank-track {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding-bottom: .15rem;
		scrollbar-width: none;
	}
	.home-hot-rank-track::-webkit-scrollbar { display: none; }
	.home-hot-rank-item { flex-shrink: 0; }
	.home-hot-rank-name { max-width: 8.5rem; }
}
.home-addr-divider {
	width: 1px;
	height: 1.25rem;
	background: rgba(168,155,196,.35);
	flex-shrink: 0;
}
.addr-show-sm { display: none; }

/* 旧地址条（保留兼容） */
.cborder-addr-bar {
	font-size: .8125rem;
	line-height: 1.5;
	color: var(--theme-muted);
	padding: .5rem .65rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .25rem .5rem;
	border-radius: .5rem;
	background: rgba(255,255,255,.03);
	border: 1px solid var(--home-border);
	margin-bottom: .5rem;
}
.cborder-addr-bar .addr-hot { color: #f87171; font-weight: 700; white-space: nowrap; }
.cborder-addr-bar a { color: #93c5fd; font-weight: 600; white-space: nowrap; text-decoration: none; }
.cborder-addr-bar a:hover { color: var(--home-accent-warm); }
.cborder-addr-bar .addr-btn {
	color: #1a1a2e !important;
	background: linear-gradient(135deg, var(--home-accent-warm), var(--home-accent));
	padding: .25rem .5rem;
	border-radius: .375rem;
	font-weight: 700;
}

/* 视频卡片 */
.cborder-card {
	border-radius: .5rem;
	padding: 0;
	background: transparent;
	border: 1px solid var(--home-border);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.cborder-card > .relative,
.cborder-card .aspect-w-16 {
	border-radius: .5rem .5rem 0 0;
	overflow: hidden;
}
.cborder-card:hover {
	transform: translateY(-2px);
	border-color: var(--home-border-hover);
	box-shadow: 0 8px 24px rgba(0,0,0,.35), 0 0 16px var(--home-glow);
}
/* 封面未加载：漏斗占位图 */
.cborder-card .aspect-w-16,
.thumbnail .aspect-w-16 {
	background: #10101a;
}
.cborder-card img.lozad,
.thumbnail img.lozad {
	background-color: #10101a;
	background-image: none;
}
.cborder-card img.lozad[src*="lazy-funnel"],
.thumbnail img.lozad[src*="lazy-funnel"] {
	object-fit: cover;
}
.cborder-title-bar {
	display: inline-block;
	width: 4px;
	height: 1.1em;
	margin-right: .5rem;
	vertical-align: middle;
	border-radius: 2px;
	background: linear-gradient(180deg, var(--home-accent-warm), var(--home-accent));
}

/* 分页广告 / 通用广告位 */
.page-ad-banner,
.play-ad-zone {
	width: 100%;
	max-width: 48rem;
	margin: 1.25rem auto;
	padding: 0;
	border-radius: .875rem;
	overflow: hidden;
	background: linear-gradient(165deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,.02) 100%);
	border: 1px solid var(--theme-border);
	box-shadow: 0 10px 32px rgba(0,0,0,.28);
}
.ad-zone-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	padding: .55rem .9rem;
	background: rgba(0,0,0,.22);
	border-bottom: 1px solid var(--theme-border);
}
.ad-zone-label {
	font-size: .6875rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--theme-muted);
}
.ad-zone-note {
	font-size: .6875rem;
	color: rgba(147,197,253,.85);
	white-space: nowrap;
	text-decoration: none;
	transition: color .15s ease;
}
.ad-zone-note:hover { color: #93c5fd; text-decoration: underline; }
.ad-close-btn {
	appearance: none;
	border: 1px solid rgba(74,222,128,.35);
	background: rgba(74,222,128,.12);
	color: #86efac;
	font-size: .6875rem;
	font-weight: 700;
	line-height: 1;
	padding: .35rem .55rem;
	border-radius: .375rem;
	cursor: pointer;
	white-space: nowrap;
	transition: background .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}
.ad-close-btn:hover {
	background: rgba(74,222,128,.22);
	border-color: rgba(74,222,128,.55);
	color: #bbf7d0;
	transform: translateY(-1px);
}
.ad-close-btn:focus-visible {
	outline: 2px solid rgba(134,239,172,.65);
	outline-offset: 2px;
}
html.ads-hidden .page-ad-banner,
html.ads-hidden .play-ad-zone,
html.ads-hidden [data-ad-zone] {
	display: none !important;
}
.ad-zone-grid {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: .75rem;
	padding: .85rem;
}
.page-ad-banner::before,
.play-ad-zone::before {
	content: none;
	display: none;
}
.page-ad-banner a.ad-slot,
.play-ad-zone a.ad-slot,
.page-ad-banner a,
.play-ad-zone a {
	display: block;
	width: 100%;
	border-radius: .625rem;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.08);
	background: rgba(12,12,20,.55);
	transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}
.page-ad-banner a.ad-slot:hover,
.play-ad-zone a.ad-slot:hover,
.page-ad-banner a:hover,
.play-ad-zone a:hover {
	border-color: rgba(147,197,253,.35);
	box-shadow: 0 8px 24px rgba(0,0,0,.35), 0 0 18px rgba(77,150,255,.18);
	transform: translateY(-2px);
}
.page-ad-banner img,
.play-ad-zone img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	border-radius: 0;
	vertical-align: middle;
}
.play-ad-zone .ad-img-main { max-width: 37.5rem; width: 100%; margin-left: auto; margin-right: auto; }
.ad-slot:focus-visible {
	outline: 2px solid rgba(147,197,253,.7);
	outline-offset: 2px;
}
@media (min-width: 640px) {
	.ad-zone-head { padding: .6rem 1rem; }
	.ad-zone-grid { padding: 1rem; gap: .9rem; }
}

/* 播放页 VPN 提示按钮 */
.tip-vpn-cta { margin-top: .65rem !important; margin-bottom: 0 !important; }
.tip-vpn-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .35rem;
	padding: .55rem 1.15rem;
	border-radius: .5rem;
	font-size: .9375rem;
	font-weight: 700;
	text-decoration: none !important;
	color: #0f172a !important;
	background: linear-gradient(135deg, #fbbf24, #f59e0b);
	box-shadow: 0 4px 16px rgba(245,158,11,.35);
	transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.tip-vpn-btn:hover {
	filter: brightness(1.05);
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(245,158,11,.45);
}
.cborder-tip-card.play-tip-warn .tip-vpn-btn { color: #0f172a !important; }

/* APP 下载提示卡 */
.cborder-tip-card {
	text-align: center;
	margin: 1.25rem auto;
	max-width: 95%;
	padding: .85rem 1rem;
	border-radius: .625rem;
	background: rgba(255,255,255,.04);
	border: 1px solid var(--theme-border);
}
.cborder-tip-card p { margin: 0; color: #fca5a5; font-size: .9375rem; }
.cborder-tip-card a { color: #fca5a5; font-weight: 700; text-decoration: underline; }
.cborder-tip-card .tip-title { color: var(--theme-accent-warm); font-weight: 700; margin-bottom: .5rem; }
.cborder-tip-card .tip-btn {
	display: inline-block;
	margin-top: .65rem;
	padding: .5rem 1.125rem;
	background: linear-gradient(135deg, var(--theme-accent-warm), var(--theme-accent));
	color: #1a1a2e !important;
	border-radius: 1.5625rem;
	text-decoration: none !important;
	font-weight: 700;
	box-shadow: 0 4px 16px rgba(168,155,196,.25);
	transition: opacity .2s, transform .15s;
}
.cborder-tip-card .tip-btn:hover { opacity: .92; transform: translateY(-1px); }

/* ===== 分页美化 ===== */
.cborder-paging-wrap { margin-top: 1.5rem; }
.cborder-paging {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .75rem;
}
.cborder-paging-desk {
	display: none;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: .35rem;
}
@media (min-width: 768px) {
	.cborder-paging-desk { display: flex; }
	.cborder-paging-mobile { display: none !important; }
}
.cborder-page-btn {
	display: inline-flex;
	align-items: center;
	padding: .45rem .85rem;
	font-size: .875rem;
	font-weight: 500;
	color: #d1d5db;
	background: rgba(30,32,42,.8);
	border: 1px solid var(--theme-border);
	border-radius: .5rem;
	text-decoration: none;
	transition: background .2s, border-color .2s, color .2s;
}
.cborder-page-btn:hover {
	background: rgba(168,155,196,.12);
	border-color: var(--theme-border-hover);
	color: var(--theme-accent-warm);
}
.cborder-page-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.25rem;
	padding: .45rem .65rem;
	font-size: .875rem;
	color: #d1d5db;
	background: rgba(30,32,42,.6);
	border: 1px solid transparent;
	border-radius: .5rem;
	text-decoration: none;
	transition: background .2s, color .2s;
}
.cborder-page-num:hover {
	background: rgba(168,155,196,.1);
	color: var(--theme-accent-warm);
}
.cborder-page-num.is-active {
	background: linear-gradient(135deg, var(--theme-accent-warm), var(--theme-accent));
	color: #1a1a2e;
	font-weight: 700;
	border-color: transparent;
	cursor: default;
}
.cborder-page-dots {
	color: #6b7280;
	padding: 0 .25rem;
}
.cborder-page-jump {
	position: relative;
	display: inline-flex;
	align-items: center;
}
.cborder-page-input {
	width: 4.5rem;
	padding: .45rem .65rem;
	padding-right: 2.5rem;
	font-size: .875rem;
	color: #eceff4;
	background: rgba(30,32,42,.9);
	border: 1px solid var(--theme-border);
	border-radius: .5rem;
	outline: none;
}
.cborder-page-input:focus {
	border-color: var(--theme-border-hover);
	box-shadow: 0 0 0 2px var(--theme-glow);
}
.cborder-page-total {
	position: absolute;
	right: .65rem;
	font-size: .8125rem;
	color: #6b7280;
	pointer-events: none;
}
.cborder-paging-hint {
	font-size: .8125rem;
	color: var(--theme-muted);
	text-align: center;
}

/* ===== 列表页 ===== */
.type-sub-nav {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem .625rem;
	margin-bottom: 1.5rem;
	align-items: center;
}
.type-sub-nav:empty {
	display: none;
}
.type-sub-item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .45rem .9rem;
	font-size: .8125rem;
	font-weight: 500;
	line-height: 1.3;
	color: #e5e7eb;
	background: linear-gradient(145deg, rgba(168,155,196,.14), rgba(201,184,150,.08));
	border: 1px solid var(--theme-border);
	border-radius: 999px;
	text-decoration: none;
	white-space: nowrap;
	transition: color .2s, background .2s, border-color .2s, transform .15s, box-shadow .2s;
}
.type-sub-item:hover {
	color: #fff;
	background: linear-gradient(145deg, rgba(168,155,196,.32), rgba(201,184,150,.22));
	border-color: var(--theme-border-hover);
	box-shadow: 0 4px 14px rgba(0,0,0,.25), 0 0 12px var(--theme-glow);
	transform: translateY(-1px);
}
.type-sub-item.is-active {
	color: #1a1a2e;
	background: linear-gradient(145deg, var(--theme-accent-warm), #b8a47a);
	border-color: rgba(201,184,150,.65);
	box-shadow: 0 4px 14px rgba(0,0,0,.28), 0 0 14px rgba(201,184,150,.2);
	font-weight: 600;
}
.type-sub-item.is-active:hover {
	color: #1a1a2e;
	background: linear-gradient(145deg, #d4c4a0, var(--theme-accent-warm));
	transform: none;
}
.list-page-head {
	text-align: center;
	margin-bottom: 1.5rem;
}
.list-page-head h1 {
	font-size: 1.5rem;
	color: var(--theme-text);
}
.list-toolbar {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: .75rem 1rem;
	margin-bottom: 1.5rem;
}
.list-toolbar-side {
	min-width: 0;
}
.list-toolbar-left {
	justify-self: start;
}
.list-toolbar-right {
	justify-self: end;
	text-align: right;
}
.list-toolbar-center {
	justify-self: center;
}
.list-toolbar-meta {
	font-size: .95rem;
	font-weight: 500;
	color: #f0f4f8;
	white-space: nowrap;
}
.list-view-switch {
	display: inline-flex;
	align-items: center;
	padding: 3px;
	border-radius: 10px;
	border: 1px solid rgba(255,255,255,.12);
	background: rgba(0,0,0,.28);
	gap: 2px;
}
.list-view-btn {
	appearance: none;
	border: none;
	background: transparent;
	color: var(--theme-muted);
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	padding: 8px 14px;
	border-radius: 8px;
	cursor: pointer;
	transition: color .2s, background .2s;
	white-space: nowrap;
}
.list-view-btn:hover {
	color: var(--theme-text);
}
.list-view-btn.is-active {
	color: #1a1208;
	background: linear-gradient(135deg, var(--theme-accent-warm), var(--theme-accent));
}
.list-flow-status {
	text-align: center;
	padding: 1rem 0 1.5rem;
	font-size: 13px;
	color: var(--theme-muted);
}
.list-vod-grid.is-waterfall {
	display: block;
	column-count: 2;
	column-gap: 1.25rem;
}
.list-vod-grid.is-waterfall > .thumbnail,
.list-vod-grid.is-waterfall > .cborder-card {
	display: inline-block;
	width: 100%;
	break-inside: avoid;
	margin: 0 0 1.25rem;
	vertical-align: top;
}
@media (min-width: 768px) {
	.list-vod-grid.is-waterfall { column-count: 3; }
}
@media (min-width: 1280px) {
	.list-vod-grid.is-waterfall { column-count: 4; }
}
@media (max-width: 639px) {
	.list-toolbar {
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"center center"
			"left right";
	}
	.list-toolbar-center { grid-area: center; }
	.list-toolbar-left { grid-area: left; }
	.list-toolbar-right { grid-area: right; }
	.list-view-btn { padding: 7px 12px; font-size: 12px; }
}
.list-toolbar a { color: #f0f4f8 !important; }
body.relative .filterDropdown {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
}
body.relative .filterDropdown > div,
body.relative .filterDropdown .bg-nord5,
.list-toolbar .filterDropdown > div,
.list-toolbar .filterDropdown .bg-nord5 {
	background: rgba(18,18,28,.98) !important;
	border: 1px solid var(--theme-border) !important;
	box-shadow: 0 12px 36px rgba(0,0,0,.45), 0 0 20px rgba(168,155,196,.08) !important;
	border-radius: .5rem !important;
	color: #eceff4 !important;
}
body.relative .filterDropdown .text-nord0,
.list-toolbar .filterDropdown .text-nord0 {
	color: #eceff4 !important;
}
body.relative .filterDropdown a,
.list-toolbar .filterDropdown a {
	color: #eceff4 !important;
}
body.relative .filterDropdown a:hover,
.list-toolbar .filterDropdown a:hover,
body.relative .filterDropdown a.hover\:bg-nord4:hover {
	background: rgba(168,155,196,.12) !important;
	color: var(--theme-accent-warm) !important;
}
.list-toolbar .filter {
	color: #eceff4 !important;
}
.list-toolbar .filter svg {
	color: #c4cad4 !important;
}
.list-toolbar .filter:hover svg {
	color: var(--theme-accent-warm) !important;
}

/* ===== 播放页 ===== */
.play-page {
	--home-border: var(--theme-border);
	--home-border-hover: var(--theme-border-hover);
	--home-glow: var(--theme-glow);
}
.play-page.content-without-search {
	padding-top: 5.25rem;
}
.play-main {
	position: relative;
}
.play-main .seo-breadcrumb {
	position: relative;
	z-index: 2;
	margin-bottom: 1rem;
}
.play-player-wrap {
	position: relative;
	z-index: 1;
	margin-top: 0;
	margin-bottom: 0;
	border-radius: .75rem;
	overflow: hidden;
	border: 1px solid var(--home-border);
	box-shadow: 0 12px 40px rgba(0,0,0,.45), 0 0 30px var(--home-glow);
}
/* 播放页 · 实时观看 / 动态开通提示 */
.play-live-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .65rem .85rem;
	margin: .75rem 0 1rem;
	padding: .65rem .85rem;
	border-radius: .625rem;
	background: rgba(18,18,28,.92);
	border: 1px solid rgba(168,155,196,.22);
	box-shadow: 0 4px 18px rgba(0,0,0,.25);
}
.play-live-viewers {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	font-size: .8125rem;
	color: #b0b8c4;
}
.play-live-dot {
	width: .5rem;
	height: .5rem;
	border-radius: 50%;
	background: #34d399;
	box-shadow: 0 0 8px rgba(52,211,153,.65);
	animation: play-live-pulse 1.6s ease-in-out infinite;
}
@keyframes play-live-pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50% { opacity: .55; transform: scale(.85); }
}
.play-live-label { color: #9ca3af; }
.play-live-count {
	font-size: 1rem;
	font-weight: 700;
	color: #6ee7b7;
	min-width: 2.5rem;
	text-align: center;
	transition: color .25s;
}
.play-live-unit { color: #9ca3af; }
.play-live-feed {
	flex: 1;
	min-width: 12rem;
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .35rem .65rem;
	border-radius: .375rem;
	background: rgba(251,191,36,.06);
	border: 1px solid rgba(251,191,36,.18);
	font-size: .8125rem;
	color: #d1d5db;
	overflow: hidden;
	transition: opacity .35s ease, transform .35s ease;
}
.play-live-feed.is-switching {
	animation: play-live-feed-in .45s ease;
}
@keyframes play-live-feed-in {
	from { opacity: 0; transform: translateY(4px); }
	to { opacity: 1; transform: translateY(0); }
}
.play-live-feed-icon {
	color: #fbbf24;
	font-size: .5rem;
	flex-shrink: 0;
}
.play-live-feed-text b {
	color: #e8dcc8;
	font-weight: 700;
}
.play-live-feed:hover {
	border-color: rgba(251,191,36,.35);
	background: rgba(251,191,36,.1);
}
@media (max-width: 639px) {
	.play-live-bar { flex-direction: column; align-items: stretch; }
	.play-live-feed { min-width: 0; width: 100%; }
}
/* 播放页性能：减轻 GPU / 带宽争抢 */
body.play-perf-mode .play-player-wrap video,
body.play-perf-mode .play-player-wrap iframe {
	transform: translateZ(0);
	-webkit-transform: translateZ(0);
}
body.play-perf-mode .play-defer-below {
	content-visibility: auto;
	contain-intrinsic-size: auto 480px;
}
body.play-perf-mode .play-live-dot {
	animation-duration: 2.4s;
}
body.play-perf-mode .site-nav-bar {
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	background: rgba(10,10,18,.98) !important;
}
.play-page .play-player-wrap .aspect-w-16 {
	position: relative;
	width: 100%;
}
/* 16:9 播放框：padding-bottom 兜底，兼容不支持 aspect-ratio 的浏览器/内置 WebView */
.play-page .play-player-wrap .aspect-w-16.aspect-h-9 {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	background: #000;
}
.play-page .play-player-wrap .aspect-w-16.aspect-h-9 > .plyr__video-wrapper {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	inset: 0;
}
.play-page .play-player-wrap .aspect-w-16,
.play-page .plyr__video-wrapper {
	border-radius: .75rem;
	overflow: hidden;
}
.play-page .plyr__video-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 12rem;
	background: #000;
}
.play-page .plyr__video-wrapper iframe,
.play-page .plyr__video-wrapper video,
.play-page .plyr__video-wrapper embed,
.play-page .plyr__video-wrapper object,
.play-page .plyr__video-wrapper .MacPlayer,
.play-page .plyr__video-wrapper .popedom {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
	background: #000;
}
.play-page .plyr__video-wrapper .MacPlayer,
.play-page .plyr__video-wrapper .MacPlayer table,
.play-page .plyr__video-wrapper .MacPlayer #playleft {
	width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
}
.play-page .plyr__video-wrapper .MacPlayer iframe {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	border: 0 !important;
}
.play-page .plyr__video-wrapper .MacPlayer iframe#buffer,
.play-page .plyr__video-wrapper .MacPlayer iframe#install {
	display: none !important;
	pointer-events: none !important;
	z-index: -1 !important;
}
.play-page .plyr__video-wrapper .popedom .img-box,
.play-page .plyr__video-wrapper .popedom .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
@supports (aspect-ratio: 16 / 9) {
	.play-page .play-player-wrap .aspect-w-16.aspect-h-9 {
		height: auto;
		padding-bottom: 0;
		aspect-ratio: 16 / 9;
	}
}
.play-vip-lock .video-tips {
	background: rgba(8,8,16,.82) !important;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.play-vip-badge {
	display: inline-block;
	font-size: 1.125rem;
	font-weight: 700;
	color: #e8dcc8;
	padding: .75rem 1.25rem;
	border-radius: .625rem;
	background: rgba(168,155,196,.12);
	border: 1px solid var(--home-border);
}
.play-info-card {
	display: flex;
	align-items: center;
	gap: .75rem 1rem;
	margin-top: .65rem;
	margin-bottom: .35rem;
	padding: .55rem .85rem;
	border-radius: .625rem;
	background: rgba(255,255,255,.04);
	border: 1px solid var(--home-border);
}
.play-info-title {
	flex: 1;
	min-width: 0;
	margin: 0;
	font-size: .9375rem;
	font-weight: 600;
	line-height: 1.35;
	color: #eceff4;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.play-info-actions {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	gap: .35rem;
}
.play-info-btn {
	display: inline-flex;
	align-items: center;
	gap: .25rem;
	padding: .3rem .55rem;
	border: 0;
	border-radius: .4rem;
	background: rgba(255,255,255,.04);
	color: #c8d0da;
	font-size: .75rem;
	font-weight: 500;
	line-height: 1;
	cursor: pointer;
	white-space: nowrap;
	transition: background .15s, color .15s;
}
.play-info-btn svg {
	width: .9rem;
	height: .9rem;
	flex-shrink: 0;
}
.play-info-btn:hover {
	background: rgba(168,155,196,.16);
	color: #e8dcc8;
}
@media (max-width: 639px) {
	.play-info-card {
		padding: .5rem .7rem;
		gap: .5rem;
	}
	.play-info-title {
		font-size: .875rem;
		-webkit-line-clamp: 2;
	}
	.play-info-btn span { display: none; }
	.play-info-btn {
		padding: .4rem;
		border-radius: .45rem;
	}
	.play-info-btn svg {
		width: 1rem;
		height: 1rem;
	}
}
@media (min-width: 1024px) {
	.play-info-title { font-size: 1rem; }
}
.play-sidebar-inner {
	padding: 1rem;
	border-radius: .75rem;
	background: rgba(255,255,255,.04);
	border: 1px solid var(--home-border);
}
.play-sidebar-title {
	font-size: 1rem;
	font-weight: 700;
	color: var(--theme-text);
	margin-bottom: .75rem;
}
.play-notice-wrap {
	overflow: hidden;
	border-radius: .375rem;
	background: rgba(168,155,196,.08);
	border: 1px solid rgba(168,155,196,.15);
	padding: .25rem .5rem;
}
.play-notice-wrap marquee,
.play-notice-wrap .play-notice {
	color: var(--theme-accent-warm);
	font-size: .8125rem;
}
.cborder-tip-card.play-tip-warn {
	background: rgba(251,191,36,.06);
	border-color: rgba(251,191,36,.25);
}

/* 播放页 - 标题与操作栏 */
.play-meta-header {
	margin-top: 1rem;
	padding: 1rem 1.15rem;
	border-radius: .875rem;
	background: rgba(18,18,28,.88);
	border: 1px solid var(--home-border);
	box-shadow: 0 8px 32px rgba(0,0,0,.35);
}
.play-title {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--theme-text) !important;
	line-height: 1.45;
	margin: 0 0 .85rem;
}
@media (min-width: 1024px) {
	.play-title { font-size: 1.25rem; }
}
.play-action-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: .65rem;
}
.play-action-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .4rem;
	min-width: 6.5rem;
	padding: .55rem 1.1rem;
	border-radius: 9999px;
	font-size: .875rem;
	font-weight: 600;
	color: #d1d5db !important;
	background: rgba(255,255,255,.05);
	border: 1px solid rgba(168,155,196,.28);
	cursor: pointer;
	transition: color .2s, border-color .2s, background .2s, transform .15s, box-shadow .2s;
	box-shadow: none !important;
}
.play-action-btn svg {
	flex-shrink: 0;
	width: 1rem;
	height: 1rem;
}
.play-action-btn:hover {
	transform: translateY(-1px);
}
.play-action-fav:hover {
	color: #fca5a5 !important;
	border-color: rgba(248,113,113,.45);
	background: rgba(248,113,113,.1);
	box-shadow: 0 4px 16px rgba(248,113,113,.15);
}
.play-action-share:hover {
	color: #93c5fd !important;
	border-color: rgba(77,150,255,.45);
	background: rgba(77,150,255,.1);
	box-shadow: 0 4px 16px rgba(77,150,255,.15);
}

/* 播放页 - 详情卡片 */
.play-detail-card {
	margin-top: 1rem;
	padding: 0 1.15rem 1.25rem;
	border-radius: .875rem;
	background: rgba(18,18,28,.88);
	border: 1px solid var(--home-border);
	box-shadow: 0 8px 32px rgba(0,0,0,.35);
	overflow: hidden;
}
.play-tab-bar {
	border-bottom: 1px solid rgba(168,155,196,.18);
	margin: 0 -1.15rem;
	padding: 0 1.15rem;
}
.play-tab-nav {
	display: flex;
	gap: .5rem;
}
.play-tab-item {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .85rem .65rem;
	margin-bottom: -1px;
	font-size: .875rem;
	font-weight: 600;
	color: #9ca3af !important;
	border-bottom: 2px solid transparent;
	text-decoration: none;
	transition: color .2s, border-color .2s;
}
.play-tab-item svg {
	width: 1.15rem;
	height: 1.15rem;
	color: inherit;
}
.play-tab-active {
	color: var(--theme-accent-warm) !important;
	border-bottom-color: var(--theme-accent-warm) !important;
}
.play-detail-body {
	padding-top: 1rem;
}
.play-detail-meta {
	display: flex;
	flex-direction: column;
	gap: .75rem;
	margin-bottom: .25rem;
}
.play-meta-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: .5rem .65rem;
	font-size: .875rem;
	line-height: 1.6;
}
.play-meta-label {
	flex-shrink: 0;
	color: #9ca3af;
	min-width: 4rem;
}
.play-meta-label::after {
	content: '：';
}
.play-meta-value {
	color: #eceff4;
	font-weight: 500;
}
.play-meta-tags {
	display: flex;
	align-items: flex-start;
	gap: .65rem;
}
.play-tag-list {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem .65rem;
	flex: 1;
	min-width: 0;
}
.play-tag {
	display: inline-block;
	padding: .28rem .75rem;
	border-radius: 9999px;
	font-size: .8125rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--theme-accent-warm) !important;
	background: rgba(201,184,150,.1);
	border: 1px solid rgba(201,184,150,.28);
	text-decoration: none;
	transition: background .2s, border-color .2s, transform .15s;
}
.play-tag:hover {
	background: rgba(201,184,150,.18);
	border-color: rgba(201,184,150,.45);
	transform: translateY(-1px);
	color: #e8dcc8 !important;
}

/* 播放页 - 播放列表 / 资源下载 */
.play-playlist-card {
	margin-top: 1.15rem;
	padding: 1rem 1.05rem 1.15rem;
	border-radius: .875rem;
	background: rgba(18,18,28,.88);
	border: 1px solid var(--home-border, rgba(168,155,196,.18));
	box-shadow: 0 8px 28px rgba(0,0,0,.28);
}
.play-page .play-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem .75rem;
	margin-bottom: .85rem;
}
.play-page .play-head .play-notice-wrap {
	flex: 1;
	min-width: 8rem;
}
@media (max-width: 639px) {
	.play-page .play-head .play-notice-wrap {
		flex: 1 1 100%;
		order: 3;
	}
}
.play-page .play_title {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	margin: 0;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: .02em;
	color: var(--theme-text) !important;
}
.play-page .play_title .cborder-title-bar {
	width: 3px;
	height: 1rem;
	border-radius: 2px;
	background: linear-gradient(180deg, var(--theme-accent-warm), var(--theme-accent));
}
.play-page .play_title-download .cborder-title-bar-green {
	background: linear-gradient(180deg, #34d399, #10b981);
}
.play-page .play_title-download {
	color: #6ee7b7 !important;
}
.play-download-hint {
	font-size: .75rem;
	font-weight: 500;
	color: #8b93a3;
	letter-spacing: .01em;
}
.play-page .play-sort-btn {
	margin-left: auto;
	padding: .35rem .75rem;
	border-radius: 9999px;
	font-size: .8125rem;
	font-weight: 600;
	color: #d1d5db !important;
	background: rgba(255,255,255,.05);
	border: 1px solid rgba(168,155,196,.25);
	text-decoration: none;
	transition: background .2s, border-color .2s, color .2s;
}
.play-page .play-sort-btn:hover {
	color: var(--theme-accent-warm) !important;
	border-color: rgba(201,184,150,.4);
	background: rgba(201,184,150,.1);
}
.play-page .plays-from {
	margin-bottom: .85rem;
}
.play-page .plays-from .clearfix {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem;
}
.play-page .play-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .45rem .9rem;
	border-radius: 9999px;
	font-size: .8125rem;
	font-weight: 600;
	color: #b0b8c4 !important;
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(168,155,196,.22) !important;
	text-decoration: none;
	transition: color .2s, background .2s, border-color .2s, box-shadow .2s;
}
.play-page .play-btn:hover {
	color: var(--theme-accent-warm) !important;
	border-color: rgba(201,184,150,.4) !important;
	background: rgba(201,184,150,.08);
}
.play-page .play-btn.active {
	color: #1a1a2e !important;
	background: linear-gradient(135deg, #c9b896, #a89bc4) !important;
	border-color: transparent !important;
	box-shadow: 0 4px 14px rgba(168,155,196,.35);
}
.play-page .play-plays-list {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -.25rem;
	padding: 0;
	list-style: none;
}
.play-page .play-li {
	float: none !important;
	width: auto !important;
	padding: .25rem;
	box-sizing: border-box;
}
.play-page .play-col-xs-4 { width: 33.333% !important; }
@media (min-width: 640px) {
	.play-page .play-col-sm-2 { width: 16.666% !important; }
}
.play-page .play-url {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 2.35rem;
	padding: .45rem .5rem;
	border-radius: .5rem;
	font-size: .8125rem;
	font-weight: 500;
	line-height: 1.3;
	text-align: center;
	color: #c4cad4 !important;
	background: rgba(30,32,42,.75);
	border: 1px solid rgba(168,155,196,.22) !important;
	text-decoration: none;
	transition: color .2s, background .2s, border-color .2s, transform .15s, box-shadow .2s;
}
.play-page .play-url:hover {
	color: var(--theme-accent-warm) !important;
	border-color: rgba(201,184,150,.4) !important;
	background: rgba(201,184,150,.08);
	transform: translateY(-1px);
}
.play-page .play-url.active {
	color: #1a1a2e !important;
	font-weight: 700;
	background: linear-gradient(135deg, #c9b896, #a89bc4) !important;
	border-color: transparent !important;
	box-shadow: 0 4px 14px rgba(168,155,196,.3);
}
.play-download-divider {
	width: 100%;
	height: 1px;
	margin: 1.15rem 0 1rem;
	border: none;
	background: linear-gradient(90deg, transparent, rgba(52,211,153,.28), rgba(168,155,196,.28), transparent);
}
.play-download-block {
	margin-top: .15rem;
	padding: .85rem .9rem 1rem;
	border-radius: .75rem;
	background: linear-gradient(180deg, rgba(16,185,129,.06), rgba(16,185,129,.02));
	border: 1px solid rgba(52,211,153,.16);
}
.play-page .play-url-locked {
	color: #9ca3af !important;
	border-color: rgba(107,114,128,.35) !important;
}
.play-page .play-url-locked:hover {
	color: #d1d5db !important;
	border-color: rgba(156,163,175,.45) !important;
	background: rgba(255,255,255,.06);
}
.play-page .play-url-vip {
	color: #fbbf24 !important;
	border-color: rgba(251,191,36,.35) !important;
	background: rgba(251,191,36,.06);
}
.play-page .play-url-vip:hover {
	color: #fcd34d !important;
	border-color: rgba(251,191,36,.55) !important;
	background: rgba(251,191,36,.12);
}
.play-page .play-url-download {
	color: #6ee7b7 !important;
	border-color: rgba(52,211,153,.35) !important;
	background: rgba(16,185,129,.08);
}
.play-page .play-url-download:hover {
	color: #a7f3d0 !important;
	border-color: rgba(52,211,153,.55) !important;
	background: rgba(16,185,129,.16);
	box-shadow: 0 4px 12px rgba(16,185,129,.18);
}
.play-vip-banner {
	text-align: center;
	background: linear-gradient(135deg, rgba(168,155,196,.15), rgba(201,184,150,.12));
	color: #e8dcc8;
	font-size: 1.125rem;
	font-weight: 700;
	padding: 1rem 1.25rem;
	border: 1px solid rgba(201,184,150,.35);
	border-radius: .625rem;
	box-shadow: 0 0 24px rgba(168,155,196,.15);
	margin-bottom: .75rem;
}

/* ===== 会员中心 / 充值 ===== */
body.madou-min-width {
	position: relative;
	isolation: isolate;
	background-color: var(--theme-bg);
	background-image:
		radial-gradient(ellipse 70% 45% at 15% -5%, rgba(77,150,255,.18), transparent 55%),
		radial-gradient(ellipse 55% 40% at 85% 5%, rgba(199,125,255,.14), transparent 50%),
		linear-gradient(175deg, #13131f 0%, #0a0a12 100%);
	background-attachment: fixed;
	color: var(--theme-text);
}
body.madou-min-width .site-header-wrap {
	position: relative;
	z-index: 200;
}
body.madou-min-width .madou-back-whits {
	background-color: rgba(20,20,32,.88) !important;
	color: #eceff4 !important;
	border: 1px solid var(--theme-border);
	border-radius: .5rem;
}
body.madou-min-width .madou-line-bottom,
body.madou-min-width .madou-line-top {
	border-color: rgba(255,255,255,.08) !important;
}
body.madou-min-width .madou-user-input,
body.madou-min-width .madou-font-xvi,
body.madou-min-width .madou-padding-x,
body.madou-min-width .madou-user-title h2 {
	color: #eceff4 !important;
}
body.madou-min-width .madou-text-gules { color: var(--theme-accent-warm) !important; }
body.madou-min-width .madou-more { color: var(--theme-accent) !important; }
body.madou-min-width .vip-line { color: #9ca3af !important; }
body.madou-min-width .vip-line em { color: #fca5a5 !important; }
body.madou-min-width .vip-line.vip-hot {
	background: rgba(251,191,36,.08) !important;
	border: 1px solid rgba(251,191,36,.2);
}
body.madou-min-width .madou-user-form .madou-user-input:hover {
	background: rgba(168,155,196,.06);
}
body.madou-min-width .madou-tabs-title,
body.madou-min-width .madou-tabs-title span {
	color: #eceff4 !important;
}
body.madou-min-width .madou-subm-group {
	color: #d1d5db !important;
}
body.madou-min-width .madou-subm-group:hover {
	color: var(--theme-accent-warm) !important;
}
body.madou-min-width .madou-list-head {
	background: rgba(255,255,255,.02) !important;
	border-bottom: 1px solid rgba(255,255,255,.08) !important;
}
body.madou-min-width .madou-part-layout {
	border-radius: .625rem;
	overflow: hidden;
}
body.madou-min-width .madou-main-info {
	padding-top: 5rem;
}
body.madou-min-width .madou-btns-green,
body.madou-min-width #btn_submit.madou-btns-green {
	background: linear-gradient(135deg, var(--theme-accent-warm), var(--theme-accent)) !important;
	color: #1a1a2e !important;
	border: none !important;
	border-radius: .5rem !important;
	font-weight: 700 !important;
	box-shadow: 0 4px 16px rgba(168,155,196,.25);
}
body.madou-min-width .madou-user-pays label,
body.madou-min-width .madou-user-zpay label,
body.madou-min-width .madou-user-mpay label {
	color: #eceff4 !important;
	margin-right: .75rem;
}
body.madou-min-width .madou-icon-you {
	color: #6b7280 !important;
}
body.madou-min-width strong {
	color: var(--theme-accent-warm);
}

/* 升级页 VIP 套餐卡片 */
.vip-page-wrap { padding: 0 .5rem 1rem; }
.vip-page-intro {
	margin: .75rem 1rem 1rem;
	padding: .75rem 1rem;
	border-radius: .5rem;
	background: rgba(168,155,196,.08);
	border: 1px solid var(--theme-border);
	color: #d1d5db;
	font-size: .875rem;
	line-height: 1.6;
}
.vip-page-intro strong { color: var(--theme-accent-warm); }
.vip-section-title {
	font-size: 1rem;
	font-weight: 700;
	color: #eceff4;
	padding: .75rem 1rem .25rem;
}
body.madou-min-width .madou-user-form > li {
	list-style: none;
}
body.madou-min-width .madou-user-form .madou-line-bottom {
	border-color: rgba(255,255,255,.06) !important;
}
body.madou-min-width .upgrade_vip,
body.madou-min-width .madou-text-gules.upgrade_vip {
	color: var(--theme-accent-warm) !important;
	font-weight: 700;
}
body.madou-min-width a.madou-subm-group[style*="ff4d4f"] {
	color: #fca5a5 !important;
}
.vip-backup-tip {
	text-align: center;
	margin: 1rem auto;
	max-width: 95%;
}
.vip-backup-tip-inner {
	display: inline-block;
	padding: .85rem 1.15rem;
	border-radius: .625rem;
	background: rgba(251,191,36,.06);
	border: 1px solid rgba(251,191,36,.22);
	color: #d1d5db;
	font-size: .875rem;
	line-height: 1.7;
	text-align: left;
}
.vip-backup-tip-inner a {
	color: #fca5a5;
	font-weight: 700;
}
.vip-backup-tip-inner a.link-blue { color: #93c5fd; }
.vip-btn-orders {
	display: inline-block;
	padding: .65rem 1.15rem;
	background: linear-gradient(135deg, #ef4444, #dc2626);
	color: #fff !important;
	border-radius: .5rem;
	font-size: .9375rem;
	font-weight: 700;
	text-decoration: none;
	box-shadow: 0 4px 16px rgba(239,68,68,.3);
	transition: opacity .2s, transform .15s;
}
.vip-btn-orders:hover { opacity: .92; transform: translateY(-1px); }

/* 支付页 */
.pay-page-wrap { padding: 0 .5rem 1.5rem; }
.pay-order-card {
	margin: .75rem 1rem 1rem;
	padding: .25rem 0;
	border-radius: .625rem;
	background: rgba(255,255,255,.03);
	border: 1px solid var(--theme-border);
	overflow: hidden;
}
.pay-order-card .madou-user-input {
	padding: .85rem 1rem;
	border-bottom: 1px solid rgba(255,255,255,.06);
}
.pay-order-card .madou-user-input:last-child {
	border-bottom: none;
}
.pay-order-card .madou-col-xs4,
.pay-order-card .madou-col-sm3 {
	color: var(--theme-muted) !important;
}
.pay-order-card .madou-col-xs7,
.pay-order-card .madou-col-sm6 {
	color: #eceff4 !important;
	font-weight: 600;
}
.pay-submit-wrap {
	padding: 1rem;
}
.pay-submit-wrap #btn_submit {
	width: 100%;
	padding: .75rem !important;
	font-size: 1rem !important;
	cursor: pointer;
	transition: opacity .2s, transform .15s;
}
.pay-submit-wrap #btn_submit:hover {
	opacity: .92;
	transform: translateY(-1px);
}
.pay-channel-block {
	margin: 0 1rem 1rem;
	padding: .75rem;
	border-radius: .625rem;
	background: rgba(255,255,255,.03);
	border: 1px solid var(--theme-border);
}

.vip-upgrade-tip {
	text-align: center;
	margin: 1.25rem auto;
	padding: 1rem;
	border-radius: .625rem;
	background: rgba(255,255,255,.04);
	border: 1px solid var(--theme-border);
}
.vip-upgrade-tip p { color: var(--theme-accent-warm); font-size: .9375rem; margin-bottom: .5rem; }
.vip-upgrade-tip a {
	display: inline-block;
	padding: .5rem 1rem;
	background: linear-gradient(135deg, var(--theme-accent-warm), var(--theme-accent));
	color: #1a1a2e !important;
	border-radius: .375rem;
	font-weight: 700;
	text-decoration: none;
}
.vip-upgrade-tip .vip-tip-sub { font-size: .75rem; color: #6b7280; margin-top: .35rem; }

/* 支付页提示 */
.pay-notice-tip {
	text-align: center;
	color: #fca5a5;
	font-weight: 700;
	font-size: 1rem;
	margin: .65rem 0;
}
.cborder-tip-card.pay-notice-card {
	text-align: center;
	line-height: 1.6;
	font-size: .9375rem;
}
.cborder-tip-card.pay-notice-card .pay-warn { color: var(--theme-accent-warm); }
.cborder-tip-card.pay-notice-card .pay-highlight { color: #fca5a5; font-weight: 700; }
.cborder-tip-card.pay-notice-card .pay-info { color: #93c5fd; font-weight: 600; margin-top: .5rem; }

/* 限时免费标题区 PC 防溢出 */
@media (min-width: 640px) {
	.is-home .free-section-head {
		flex-wrap: nowrap;
	}
}

@media (max-width: 400px) {
	.cborder-addr-bar .addr-hide-sm,
	.home-addr-strip .addr-hide-sm { display: none; }
	.home-addr-strip .addr-show-sm { display: inline; }
	.home-addr-divider { display: none; }
	.home-addr-strip-inner {
		flex-direction: column;
		align-items: stretch;
		gap: .5rem;
	}
	.home-addr-item { justify-content: center; }
}

/* ===== 升级页 · 彩色卡片风格（深色底，仅 upgrade.html） ===== */
@keyframes vip-rainbow-shift {
	0%, 100% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
}
body.madou-min-width.vip-colorful-page {
	background-color: #0b0b14 !important;
	background-image:
		radial-gradient(ellipse 60% 50% at 10% 0%, rgba(255,107,107,.14), transparent 55%),
		radial-gradient(ellipse 55% 45% at 90% 10%, rgba(77,150,255,.16), transparent 50%),
		radial-gradient(ellipse 50% 40% at 50% 100%, rgba(199,125,255,.12), transparent 55%),
		linear-gradient(175deg, #13131f 0%, #0e0e18 45%, #0a0a12 100%) !important;
	background-attachment: fixed;
}
body.madou-min-width.vip-colorful-page .madou-back-whits {
	background: rgba(20,20,32,.9) !important;
	color: #eceff4 !important;
	border: 1px solid rgba(168,155,196,.22) !important;
	box-shadow: 0 8px 32px rgba(0,0,0,.35);
}
body.madou-min-width.vip-colorful-page .madou-user-title h2,
body.madou-min-width.vip-colorful-page .madou-font-xvi,
body.madou-min-width.vip-colorful-page .madou-user-input,
body.madou-min-width.vip-colorful-page .madou-padding-x,
body.madou-min-width.vip-colorful-page .madou-tabs-title span {
	color: #eceff4 !important;
}
body.madou-min-width.vip-colorful-page .madou-text-gules,
body.madou-min-width.vip-colorful-page a.upgrade_vip.madou-text-gules {
	color: #fff !important;
	font-weight: 700;
}
body.madou-min-width.vip-colorful-page a.madou-subm-group.upgrade_vip {
	color: #93c5fd !important;
	font-weight: 600;
}
body.madou-min-width.vip-colorful-page .madou-subm-group {
	color: #93c5fd !important;
	font-weight: 600;
}
body.madou-min-width.vip-colorful-page a.madou-subm-group[href*="hailo"] {
	color: #fca5a5 !important;
}
body.madou-min-width.vip-colorful-page .madou-more {
	color: #a89bc4 !important;
}
body.madou-min-width.vip-colorful-page .madou-line-bottom,
body.madou-min-width.vip-colorful-page .madou-line-top {
	border-color: rgba(255,255,255,.08) !important;
}
body.madou-min-width.vip-colorful-page .madou-list-head {
	background: linear-gradient(90deg, rgba(255,107,107,.1), rgba(255,217,61,.08), rgba(77,150,255,.1)) !important;
}
body.madou-min-width.vip-colorful-page .madou-user-form > li {
	list-style: none;
}
body.madou-min-width.vip-colorful-page .vip-line {
	display: block;
	font-size: .8125rem;
	color: #9ca3af;
	margin-top: .5rem;
	line-height: 1.55;
	white-space: normal !important;
}
body.madou-min-width.vip-colorful-page .vip-line em {
	color: #fca5a5;
	font-style: normal;
	font-weight: 700;
}
body.madou-min-width.vip-colorful-page .vip-line.vip-hot {
	background: rgba(251,191,36,.1);
	border-radius: .375rem;
	padding: .35rem .5rem;
	border: 1px solid rgba(251,191,36,.28);
	color: #fcd34d;
}

/* 套餐彩色卡片 */
.vip-colorful-page .vip-plan-card {
	margin: .85rem 1rem;
	padding: 0 !important;
	border: none !important;
	overflow: visible;
}
.vip-colorful-page .vip-plan-card .madou-user-input {
	position: relative;
	border-radius: .75rem;
	padding: 1rem 1rem .85rem !important;
	background: rgba(24,24,38,.95);
	box-shadow: 0 8px 28px rgba(0,0,0,.35);
	overflow: visible;
}
.vip-colorful-page .vip-plan-has-badge .madou-user-input {
	padding-top: 1.35rem !important;
}
.vip-colorful-page .vip-plan-card .madou-user-input::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: .75rem;
	padding: 2px;
	background: linear-gradient(135deg, #ff6b6b, #ffd93d, #6bcb77, #4d96ff, #c77dff, #ff6b6b);
	background-size: 300% 300%;
	animation: vip-rainbow-shift 5s ease infinite;
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
	z-index: 0;
}
/* 角标：卡片右上角，不挡名称和购买 */
.vip-plan-badge {
	position: absolute;
	top: -.55rem;
	right: .85rem;
	z-index: 3;
	padding: .2rem .65rem;
	font-size: .6875rem;
	font-weight: 700;
	line-height: 1.3;
	border-radius: 1rem;
	white-space: nowrap;
	box-shadow: 0 3px 12px rgba(0,0,0,.35);
	pointer-events: none;
}
.vip-plan-badge-recommend {
	color: #1a1a2e;
	background: linear-gradient(135deg, #ffd93d, #ff6b6b);
}
.vip-plan-badge-best {
	color: #fff;
	background: linear-gradient(135deg, #4d96ff, #c77dff);
}
.vip-plan-badge-premium {
	color: #fff;
	background: linear-gradient(135deg, #6bcb77, #4d96ff);
}
.vip-colorful-page .vip-plan-has-badge .madou-user-input {
	background: rgba(32,28,24,.95);
}
/* 购买按钮：右侧醒目可点 */
.vip-colorful-page .vip-plan-card .madou-text-right {
	position: relative;
	z-index: 2;
	flex-shrink: 0;
	overflow: visible !important;
}
.vip-colorful-page .vip-plan-card a.vip-buy-btn,
.vip-colorful-page .vip-plan-card a.madou-text-gules.upgrade_vip {
	display: inline-block;
	position: relative;
	z-index: 2;
	padding: .3rem .75rem;
	border-radius: .375rem;
	background: linear-gradient(135deg, #ef4444, #dc2626);
	color: #fff !important;
	font-weight: 700;
	font-size: .875rem;
	text-decoration: none;
	box-shadow: 0 2px 10px rgba(239,68,68,.35);
	white-space: nowrap;
	cursor: pointer;
	transition: opacity .2s, transform .15s;
}
.vip-colorful-page .vip-plan-card a.vip-buy-btn:hover,
.vip-colorful-page .vip-plan-card a.madou-text-gules.upgrade_vip:hover {
	opacity: .92;
	transform: translateY(-1px);
}
.vip-colorful-page .vip-plan-card .madou-part-eone.madou-text-right {
	text-overflow: clip;
	overflow: visible !important;
}

/* 彩色提示区（深色半透明） */
.vip-color-tip {
	margin: .85rem 1rem;
	padding: .85rem 1rem;
	border-radius: .625rem;
	text-align: center;
	font-size: .875rem;
	line-height: 1.65;
	color: #d1d5db;
	box-shadow: 0 4px 20px rgba(0,0,0,.25);
}
.vip-color-tip-asmr {
	background: rgba(251,191,36,.08);
	border: 1px solid rgba(251,191,36,.25);
}
.vip-color-tip-asmr .vip-color-tip-lead {
	font-size: .9375rem;
	color: #fcd34d;
	margin-bottom: .4rem;
}
.vip-color-tip-intro {
	background: rgba(77,150,255,.08);
	border: 1px solid rgba(77,150,255,.25);
	color: #d1d5db;
	text-align: left;
}
.vip-color-tip-intro strong { color: #fca5a5; }
.vip-color-section-title {
	font-size: 1rem;
	font-weight: 700;
	color: #eceff4;
	padding: .5rem 1rem .25rem;
}
.vip-color-tip-warn {
	background: rgba(251,191,36,.08);
	border: 1px solid rgba(251,191,36,.22);
	color: #d1d5db;
	text-align: left;
	max-width: 100%;
}
.vip-color-tip-warn a { color: #fca5a5; font-weight: 700; }
.vip-color-tip-warn a.link-blue { color: #93c5fd; font-weight: 600; }
.vip-color-tip-vpn {
	background: rgba(77,150,255,.08);
	border: 1px solid rgba(77,150,255,.25);
	color: #d1d5db;
}
.vip-color-tip-vpn a { color: #93c5fd; font-weight: 700; text-decoration: underline; }
.vip-color-btn-blue {
	display: inline-block;
	padding: .5rem 1rem;
	background: linear-gradient(135deg, #4d96ff, #337fe5);
	color: #fff !important;
	border-radius: .375rem;
	font-size: .9375rem;
	font-weight: 700;
	text-decoration: none;
	box-shadow: 0 4px 14px rgba(51,127,229,.35);
}
.vip-color-btn-blue:hover { opacity: .9; }
.vip-color-btn-red {
	display: inline-block;
	padding: .65rem 1.15rem;
	background: linear-gradient(135deg, #ef4444, #dc2626);
	color: #fff !important;
	border-radius: .375rem;
	font-size: .9375rem;
	font-weight: 700;
	text-decoration: none;
	box-shadow: 0 4px 14px rgba(239,68,68,.35);
}
.vip-color-btn-red:hover { opacity: .92; }
.vip-colorful-page .vip-tip-sub {
	font-size: .75rem;
	color: #6b7280;
	margin-top: .35rem;
}
.vip-colorful-page .madou-user-form > li:not(.vip-plan-card) .madou-user-input:hover {
	background: rgba(168,155,196,.06);
}

/* ===== Layer 弹窗 · 深色主题（会员中心等） ===== */
body.madou-min-width .layui-layer,
.layui-layer.vip-layer-dark {
	background: rgba(18,18,28,.98) !important;
	border: 1px solid rgba(168,155,196,.32) !important;
	border-radius: .75rem !important;
	box-shadow: 0 20px 56px rgba(0,0,0,.55), 0 0 32px rgba(168,155,196,.1) !important;
	color: #eceff4 !important;
}
body.madou-min-width .layui-layer-title,
.layui-layer.vip-layer-dark .layui-layer-title {
	background: linear-gradient(90deg, rgba(255,107,107,.14), rgba(255,217,61,.1), rgba(77,150,255,.14)) !important;
	color: #eceff4 !important;
	border-bottom: 1px solid rgba(255,255,255,.1) !important;
	font-weight: 700;
	border-radius: .75rem .75rem 0 0 !important;
}
body.madou-min-width .layui-layer-dialog .layui-layer-content,
.layui-layer.vip-layer-dark .layui-layer-content {
	color: #d1d5db !important;
	line-height: 1.65 !important;
	padding: 1.15rem 1.25rem !important;
}
body.madou-min-width .layui-layer-dialog .layui-layer-content .vip-layer-warn,
.layui-layer.vip-layer-dark .vip-layer-warn {
	display: block;
	margin-top: .65rem;
	padding: .55rem .65rem;
	border-radius: .375rem;
	background: rgba(239,68,68,.1);
	border: 1px solid rgba(239,68,68,.28);
	color: #fca5a5 !important;
	font-size: .8125rem;
	line-height: 1.55;
}
body.madou-min-width .layui-layer-btn,
.layui-layer.vip-layer-dark .layui-layer-btn {
	border-top: 1px solid rgba(255,255,255,.08) !important;
	background: rgba(255,255,255,.02) !important;
	padding: .65rem .85rem !important;
	border-radius: 0 0 .75rem .75rem !important;
}
body.madou-min-width .layui-layer-btn a,
.layui-layer.vip-layer-dark .layui-layer-btn a {
	height: auto !important;
	line-height: 1.4 !important;
	padding: .5rem 1rem !important;
	margin: 0 .25rem !important;
	border-radius: .375rem !important;
	font-weight: 700 !important;
	border: none !important;
}
body.madou-min-width .layui-layer-btn .layui-layer-btn0,
.layui-layer.vip-layer-dark .layui-layer-btn0 {
	background: linear-gradient(135deg, #c9b896, #a89bc4) !important;
	color: #1a1a2e !important;
	box-shadow: 0 4px 14px rgba(168,155,196,.3);
}
body.madou-min-width .layui-layer-btn .layui-layer-btn0:hover,
.layui-layer.vip-layer-dark .layui-layer-btn0:hover {
	opacity: .92;
}
body.madou-min-width .layui-layer-btn .layui-layer-btn1,
.layui-layer.vip-layer-dark .layui-layer-btn1 {
	background: rgba(255,255,255,.08) !important;
	color: #9ca3af !important;
}
body.madou-min-width .layui-layer-btn .layui-layer-btn1:hover,
.layui-layer.vip-layer-dark .layui-layer-btn1:hover {
	background: rgba(255,255,255,.14) !important;
	color: #eceff4 !important;
}
body.madou-min-width .layui-layer-msg,
.layui-layer-msg.vip-layer-msg {
	background: rgba(18,18,28,.96) !important;
	border: 1px solid rgba(168,155,196,.28) !important;
	color: #eceff4 !important;
	box-shadow: 0 8px 28px rgba(0,0,0,.45) !important;
	border-radius: .5rem !important;
}
body.madou-min-width .layui-layer-setwin .layui-layer-close,
.layui-layer.vip-layer-dark .layui-layer-close {
	color: #9ca3af !important;
	opacity: .85;
}
body.madou-min-width .layui-layer-setwin .layui-layer-close:hover,
.layui-layer.vip-layer-dark .layui-layer-close:hover {
	color: #eceff4 !important;
}
body.madou-min-width .layui-layer-shade,
body.relative .layui-layer-shade,
.layui-layer-shade {
	background-color: rgba(0,0,0,.65) !important;
}

/* ===== 登录/注册弹窗 ===== */
.auth-modal-overlay {
	background: rgba(0,0,0,.72) !important;
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}
.auth-modal-panel {
	position: relative;
	border-radius: .875rem;
	padding: 1.75rem 1.35rem 1.35rem;
	background: rgba(18,18,28,.98);
	border: 1px solid rgba(168,155,196,.32);
	box-shadow: 0 24px 64px rgba(0,0,0,.55), 0 0 40px rgba(168,155,196,.1);
	animation: auth-modal-in .35s ease;
}
@keyframes auth-modal-in {
	from { opacity: 0; transform: translateY(12px) scale(.98); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}
.auth-modal-close {
	position: absolute;
	top: .55rem;
	right: .55rem;
	z-index: 3;
	width: 2rem;
	height: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
	border-radius: 50%;
	font-size: 1.35rem;
	line-height: 1;
	color: #9ca3af;
	background: rgba(255,255,255,.06);
	cursor: pointer;
	transition: color .2s, background .2s;
}
.auth-modal-close:hover {
	color: #eceff4;
	background: rgba(255,255,255,.12);
}
.auth-modal-panel .auth-form {
	position: relative;
	z-index: 1;
}
.auth-modal-panel .text-group label,
.auth-modal-panel .text-group .auth-field label {
	color: #b0b8c4 !important;
}
.auth-modal-panel .text-group,
.auth-modal-panel .auth-input-group {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}
.auth-modal-panel input[type="text"],
.auth-modal-panel input[type="password"],
.auth-modal-panel input[type="tel"],
.auth-modal-panel input[type="email"],
.auth-modal-panel .text-group input,
.auth-modal-panel .auth-field input {
	width: 100% !important;
	background-color: #12121c !important;
	background: #12121c !important;
	border: 1px solid rgba(168,155,196,.22) !important;
	color: #d8dee9 !important;
	-webkit-text-fill-color: #d8dee9 !important;
	box-shadow: inset 0 1px 3px rgba(0,0,0,.35) !important;
	-webkit-appearance: none;
	appearance: none;
}
.auth-modal-panel input[type="text"]:focus,
.auth-modal-panel input[type="password"]:focus,
.auth-modal-panel input[type="tel"]:focus,
.auth-modal-panel input[type="email"]:focus,
.auth-modal-panel .text-group input:focus,
.auth-modal-panel .auth-field input:focus {
	background-color: #151520 !important;
	background: #151520 !important;
	border-color: rgba(168,155,196,.38) !important;
	color: #eceff4 !important;
	-webkit-text-fill-color: #eceff4 !important;
	box-shadow: inset 0 1px 2px rgba(0,0,0,.25), 0 0 0 3px rgba(168,155,196,.1) !important;
	outline: none !important;
}
.auth-modal-panel input::placeholder {
	color: #5c6370 !important;
	opacity: 1 !important;
}
.auth-modal-panel input:-webkit-autofill,
.auth-modal-panel input:-webkit-autofill:hover,
.auth-modal-panel input:-webkit-autofill:focus,
.auth-modal-panel input:-webkit-autofill:active {
	-webkit-box-shadow: 0 0 0 1000px #12121c inset !important;
	box-shadow: 0 0 0 1000px #12121c inset !important;
	-webkit-text-fill-color: #d8dee9 !important;
	caret-color: #d8dee9;
	transition: background-color 99999s ease-out 0s;
}
.auth-modal-panel::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: .875rem;
	padding: 1.5px;
	background: linear-gradient(135deg, #ff6b6b, #ffd93d, #6bcb77, #4d96ff, #c77dff, #ff6b6b);
	background-size: 300% 300%;
	animation: vip-rainbow-shift 6s ease infinite;
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
}
.auth-form-head {
	text-align: center;
	margin-bottom: .25rem;
}
.auth-form-icon {
	width: 2.75rem;
	height: 2.75rem;
	margin: 0 auto .65rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.25rem;
	border-radius: 50%;
	background: rgba(168,155,196,.12);
	border: 1px solid rgba(168,155,196,.28);
}
.auth-form-title {
	font-size: 1.25rem;
	font-weight: 700;
	color: #eceff4;
	margin: 0;
}
.auth-form-sub {
	margin: .45rem 0 0;
	font-size: .8125rem;
	color: #9ca3af;
	line-height: 1.5;
}
.auth-form-link {
	color: #c9b896 !important;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
	transition: color .2s;
}
.auth-form-link:hover {
	color: #a89bc4 !important;
	text-decoration: underline;
}
.auth-input-group {
	display: flex;
	flex-direction: column;
	gap: .65rem;
}
.auth-field label {
	display: block;
	font-size: .8125rem;
	color: #b0b8c4;
	margin-bottom: .35rem;
}
.auth-field input[type="text"],
.auth-field input[type="password"],
.auth-field input[type="tel"] {
	width: 100%;
	padding: .65rem .85rem;
	border-radius: .5rem;
	font-size: .9375rem;
	color: #d8dee9;
	background-color: #12121c;
	background: #12121c;
	border: 1px solid rgba(168,155,196,.22);
	outline: none;
	transition: border-color .2s, box-shadow .2s, background-color .2s;
	box-sizing: border-box;
	box-shadow: inset 0 1px 3px rgba(0,0,0,.35);
}
.auth-field input:focus {
	background-color: #151520;
	border-color: rgba(168,155,196,.38);
	box-shadow: inset 0 1px 2px rgba(0,0,0,.25), 0 0 0 3px rgba(168,155,196,.1);
	color: #eceff4;
}
.auth-field input::placeholder { color: #5c6370; }
.auth-captcha-row {
	display: flex;
	gap: .5rem;
	align-items: stretch;
}
.auth-captcha-row input { flex: 1; min-width: 0; }
.auth-captcha-img {
	flex-shrink: 0;
	height: 2.65rem;
	border-radius: .5rem;
	border: 1px solid rgba(168,155,196,.28);
	cursor: pointer;
	transition: border-color .2s, opacity .2s;
}
.auth-captcha-img:hover {
	border-color: rgba(201,184,150,.45);
	opacity: .9;
}
.auth-form-options {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
	flex-wrap: wrap;
	font-size: .8125rem;
}
.auth-remember {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	color: #d1d5db;
	cursor: pointer;
	margin: 0;
}
.auth-remember input[type="checkbox"] {
	width: 1rem;
	height: 1rem;
	accent-color: #a89bc4;
	cursor: pointer;
}
.auth-submit-btn,
.auth-modal-panel .button-primary.button-block {
	display: block;
	width: 100%;
	padding: .7rem 1rem !important;
	border: none !important;
	border-radius: .5rem !important;
	font-size: .9375rem !important;
	font-weight: 700 !important;
	color: #1a1a2e !important;
	background: linear-gradient(135deg, #c9b896, #a89bc4) !important;
	box-shadow: 0 4px 18px rgba(168,155,196,.35);
	cursor: pointer;
	transition: opacity .2s, transform .15s;
}
.auth-submit-btn:hover,
.auth-modal-panel .button-primary.button-block:hover {
	opacity: .92;
	transform: translateY(-1px);
}
.auth-sms-btn {
	display: inline-block;
	margin-top: .5rem;
	padding: .45rem .85rem;
	font-size: .8125rem;
	font-weight: 600;
	color: #1a1a2e;
	background: linear-gradient(135deg, #4d96ff, #337fe5);
	border-radius: .375rem;
	cursor: pointer;
	transition: opacity .2s;
}
.auth-sms-btn:hover { opacity: .9; }
.auth-sms-btn[disabled] {
	opacity: .55;
	cursor: not-allowed;
}
/* 登录页（独立页面） */
.auth-page-wrap {
	max-width: 26rem;
	margin: 0 auto;
	padding: 0 1rem 2rem;
}
.auth-page-card {
	padding: 1.5rem 1.25rem;
	border-radius: .875rem;
	background: rgba(18,18,28,.95);
	border: 1px solid rgba(168,155,196,.28);
	box-shadow: 0 12px 40px rgba(0,0,0,.4);
}
.auth-page-card .madou-user-text,
.auth-page-card .madou-input {
	width: 100%;
	margin-bottom: .65rem;
	padding: .65rem .85rem;
	border-radius: .5rem;
	font-size: .9375rem;
	color: #d8dee9 !important;
	background-color: #12121c !important;
	background: #12121c !important;
	border: 1px solid rgba(168,155,196,.22) !important;
	box-sizing: border-box;
	box-shadow: inset 0 1px 3px rgba(0,0,0,.35) !important;
}
.auth-page-card .madou-user-text:focus,
.auth-page-card .madou-input:focus {
	background-color: #151520 !important;
	border-color: rgba(168,155,196,.38) !important;
	color: #eceff4 !important;
}
.auth-page-card .madou-user-text::placeholder,
.auth-page-card .madou-input::placeholder {
	color: #5c6370 !important;
}
.auth-page-card .madou-user-code {
	height: 2.65rem !important;
	border: 1px solid rgba(168,155,196,.28) !important;
	border-radius: .5rem !important;
}
.auth-page-card .madou-subm-login,
.auth-page-card .madou-btns-green {
	background: linear-gradient(135deg, #c9b896, #a89bc4) !important;
	color: #1a1a2e !important;
	border: none !important;
	border-radius: .5rem !important;
	font-weight: 700 !important;
	padding: .7rem !important;
	box-shadow: 0 4px 16px rgba(168,155,196,.3);
}
.auth-page-card a {
	color: #c9b896;
}
.auth-page-card a:hover { color: #a89bc4; }

/* layer 提示：前台页面也使用深色 */
body.relative .layui-layer,
body.relative .layui-layer-msg {
	background: rgba(18,18,28,.98) !important;
	border: 1px solid rgba(168,155,196,.28) !important;
	color: #eceff4 !important;
	box-shadow: 0 12px 40px rgba(0,0,0,.45) !important;
	border-radius: .5rem !important;
}

/* ===== SEO 内容区 / 详情页 ===== */
.seo-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .35rem;
	margin-bottom: 1rem;
	font-size: .8125rem;
	color: #9ca3af;
}
.seo-breadcrumb a {
	color: #c9b896;
	text-decoration: none;
}
.seo-breadcrumb a:hover { color: #a89bc4; text-decoration: underline; }
.seo-breadcrumb-sep { color: #6b7280; }
.play-vod-synopsis,
.detail-section.seo-content {
	margin-top: 1rem;
	padding: 1rem 1.1rem;
	border-radius: .75rem;
	background: rgba(255,255,255,.03);
	border: 1px solid rgba(168,155,196,.15);
}
.play-synopsis-title,
.detail-section-title {
	margin: 0 0 .65rem;
	font-size: 1rem;
	font-weight: 700;
	color: #eceff4;
}
.play-synopsis-body,
.detail-synopsis {
	font-size: .875rem;
	line-height: 1.75;
	color: #c4cad4;
	word-break: break-word;
}
.detail-page { padding-top: .5rem; }
.detail-layout {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
	margin-bottom: 1.25rem;
}
.detail-poster {
	flex: 0 0 12rem;
	max-width: 100%;
}
.detail-poster img {
	width: 100%;
	border-radius: .75rem;
	border: 1px solid rgba(168,155,196,.22);
}
.detail-play-btn {
	display: block;
	margin-top: .75rem;
	padding: .65rem 1rem;
	text-align: center;
	font-weight: 700;
	color: #1a1a2e;
	background: linear-gradient(135deg, #c9b896, #a89bc4);
	border-radius: .5rem;
	text-decoration: none;
}
.detail-info { flex: 1; min-width: 16rem; }
.detail-title {
	margin: 0 0 .85rem;
	font-size: 1.35rem;
	font-weight: 700;
	color: #eceff4;
	line-height: 1.4;
}
.detail-meta-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: .45rem;
	font-size: .875rem;
	color: #c4cad4;
}
.detail-meta-label {
	display: inline-block;
	min-width: 3rem;
	margin-right: .5rem;
	color: #9ca3af;
}
.detail-tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
	margin-top: .75rem;
}
.detail-vod-intro {
	margin-top: 1rem;
	padding-top: .75rem;
	border-top: 1px solid rgba(168,155,196,.15);
}
.detail-vod-intro .detail-meta-label {
	display: block;
	margin-bottom: .5rem;
	font-weight: 600;
	color: #d8dee9;
}
.detail-vod-intro .vod-intro-text {
	font-size: .875rem;
	line-height: 1.75;
	color: #c4cad4;
}
.detail-vod-intro .vod-intro-loading {
	color: #9ca3af;
}
.detail-play-source { margin-bottom: 1rem; }
.detail-source-name {
	margin: 0 0 .5rem;
	font-size: .9375rem;
	font-weight: 600;
	color: #d8dee9;
}
.detail-episode-list {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.detail-episode-list a {
	display: inline-block;
	padding: .4rem .75rem;
	border-radius: .375rem;
	font-size: .8125rem;
	color: #c4cad4;
	background: rgba(30,32,42,.75);
	border: 1px solid rgba(168,155,196,.22);
	text-decoration: none;
}
.detail-episode-list a:hover {
	color: #c9b896;
	border-color: rgba(201,184,150,.4);
}
.detail-related { margin-top: 2rem; }
.detail-article {
	padding: 1.15rem;
	border-radius: .875rem;
	background: rgba(18,18,28,.88);
	border: 1px solid rgba(168,155,196,.22);
}

/* ===== 右下角人工客服回复气泡 ===== */
.kefu-reply-toast {
	position: fixed;
	right: 1rem;
	bottom: 6.25rem;
	z-index: 9992;
	max-width: 20rem;
	width: calc(100% - 2rem);
	opacity: 0;
	transform: translateY(10px) scale(.97);
	pointer-events: none;
	transition: opacity .32s ease, transform .32s ease;
}
.kefu-reply-toast:not([hidden]) { display: block; }
.kefu-reply-toast.is-show {
	opacity: 1;
	transform: translateY(0) scale(1);
	pointer-events: auto;
}
.kefu-reply-toast.is-hide {
	opacity: 0;
	transform: translateY(6px) scale(.98);
}
.kefu-reply-toast-inner {
	display: flex;
	align-items: flex-start;
	gap: .65rem;
	padding: .8rem .9rem .8rem .75rem;
	border-radius: .75rem;
	text-decoration: none;
	color: #eceff4;
	background: rgba(18,18,28,.97);
	border: 1px solid rgba(74,222,128,.35);
	box-shadow: 0 12px 36px rgba(0,0,0,.45), 0 0 20px rgba(74,222,128,.12);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	position: relative;
}
.kefu-reply-toast-inner:hover {
	border-color: rgba(74,222,128,.55);
	box-shadow: 0 14px 40px rgba(0,0,0,.5), 0 0 28px rgba(74,222,128,.2);
}
.kefu-reply-toast-icon {
	flex-shrink: 0;
	width: 2.1rem;
	height: 2.1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: .55rem;
	background: rgba(74,222,128,.12);
	color: #6ee7b7;
}
.kefu-reply-toast-icon svg { display: block; }
.kefu-reply-toast-body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: .2rem;
}
.kefu-reply-toast-title {
	display: block;
	font-size: .875rem;
	font-weight: 700;
	color: #6ee7b7;
}
.kefu-reply-toast-preview {
	display: block;
	font-size: .75rem;
	line-height: 1.45;
	color: #b0b8c4;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.kefu-reply-toast-badge {
	position: absolute;
	top: -.35rem;
	right: -.2rem;
	min-width: 1.25rem;
	height: 1.25rem;
	padding: 0 .35rem;
	border-radius: 999px;
	background: #ef4444;
	color: #fff;
	font-size: .6875rem;
	font-weight: 700;
	align-items: center;
	justify-content: center;
	display: none;
	box-shadow: 0 2px 8px rgba(239,68,68,.45);
}
.kefu-reply-toast-close {
	position: absolute;
	top: -.45rem;
	left: -.35rem;
	width: 1.35rem;
	height: 1.35rem;
	border: none;
	border-radius: 50%;
	background: rgba(255,255,255,.12);
	color: #d1d5db;
	font-size: .95rem;
	line-height: 1;
	cursor: pointer;
	z-index: 2;
}
.kefu-reply-toast-close:hover {
	background: rgba(255,255,255,.22);
	color: #fff;
}
@media (max-width: 639px) {
	.kefu-reply-toast {
		bottom: 5.5rem;
		max-width: 17.5rem;
	}
}

/* ===== 右下角 VIP 开通气泡 ===== */
.vip-social-toast {
	position: fixed;
	right: 1rem;
	bottom: 1.25rem;
	z-index: 9990;
	max-width: 19rem;
	width: calc(100% - 2rem);
	opacity: 0;
	transform: translateY(12px) scale(.96);
	pointer-events: none;
	transition: opacity .35s ease, transform .35s ease;
}
.vip-social-toast:not([hidden]) {
	display: block;
}
.vip-social-toast.is-show {
	opacity: 1;
	transform: translateY(0) scale(1);
	pointer-events: auto;
}
.vip-social-toast.is-hide {
	opacity: 0;
	transform: translateY(8px) scale(.98);
}
.vip-social-toast-inner {
	display: flex;
	align-items: flex-start;
	gap: .65rem;
	padding: .75rem .85rem .75rem .75rem;
	border-radius: .75rem;
	text-decoration: none;
	color: #eceff4;
	background: rgba(18,18,28,.96);
	border: 1px solid rgba(201,184,150,.32);
	box-shadow: 0 12px 36px rgba(0,0,0,.45), 0 0 24px rgba(168,155,196,.12);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.vip-social-toast-inner:hover {
	border-color: rgba(201,184,150,.48);
	box-shadow: 0 14px 40px rgba(0,0,0,.5), 0 0 28px rgba(168,155,196,.18);
}
.vip-social-toast-icon {
	flex-shrink: 0;
	width: 2rem;
	height: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1rem;
	border-radius: 50%;
	background: rgba(201,184,150,.12);
}
.vip-social-toast-text {
	flex: 1;
	font-size: .8125rem;
	line-height: 1.55;
	color: #d1d5db;
	padding-right: 1rem;
}
.vip-social-toast-text strong {
	color: #e8dcc8;
	font-weight: 700;
}
.vip-social-toast-close {
	position: absolute;
	top: .35rem;
	right: .4rem;
	z-index: 1;
	width: 1.5rem;
	height: 1.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
	border-radius: 50%;
	font-size: 1.1rem;
	line-height: 1;
	color: #9ca3af;
	background: rgba(255,255,255,.06);
	cursor: pointer;
	transition: color .2s, background .2s;
}
.vip-social-toast-close:hover {
	color: #eceff4;
	background: rgba(255,255,255,.12);
}
@media (max-width: 639px) {
	.vip-social-toast {
		right: .75rem;
		bottom: 1rem;
		max-width: 17.5rem;
	}
}

/* ===== 人工在线客服 ===== */
.kefu-page-body { padding: 0 !important; }
.kefu-page-layout { overflow: hidden; }
.kefu-panel {
	display: flex;
	flex-direction: column;
	height: min(72vh, 640px);
	min-height: 420px;
	background: rgba(0,0,0,.22);
	border-radius: 12px;
	border: 1px solid rgba(255,255,255,.08);
	overflow: hidden;
}
.kefu-panel-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 16px;
	border-bottom: 1px solid rgba(255,255,255,.08);
	background: rgba(255,255,255,.03);
}
.kefu-panel-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--theme-text);
}
.kefu-status-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #6b7280;
	box-shadow: none;
	flex-shrink: 0;
	transition: background .2s, box-shadow .2s;
}
.kefu-status-dot.is-online {
	background: #4ade80;
	box-shadow: 0 0 8px rgba(74,222,128,.5);
}
.kefu-status-dot.is-away {
	background: #fbbf24;
	box-shadow: 0 0 8px rgba(251,191,36,.35);
}
.kefu-clear {
	padding: 4px 10px;
	font-size: 12px;
	color: var(--theme-muted);
	background: transparent;
	border: 1px solid rgba(255,255,255,.1);
	border-radius: 6px;
	cursor: pointer;
}
.kefu-clear:hover { color: var(--theme-text); border-color: rgba(255,255,255,.2); }
.kefu-quick-section {
	border-bottom: 1px solid rgba(255,255,255,.06);
	background: rgba(255,255,255,.02);
	position: relative;
	z-index: 3;
	flex-shrink: 0;
}
.kefu-quick-toggle {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	border: none;
	background: transparent;
	color: var(--theme-text);
	cursor: pointer;
	text-align: left;
	font: inherit;
}
.kefu-quick-toggle:hover { background: rgba(255,255,255,.03); }
.kefu-quick-toggle-label {
	font-size: 12px;
	font-weight: 600;
}
.kefu-quick-toggle-hint {
	flex: 1;
	font-size: 11px;
	color: var(--theme-muted);
}
.kefu-quick-section.is-open .kefu-quick-toggle-hint { opacity: 0; }
.kefu-quick-chevron {
	width: 8px;
	height: 8px;
	border-right: 1.5px solid var(--theme-muted);
	border-bottom: 1.5px solid var(--theme-muted);
	transform: rotate(45deg);
	transition: transform .2s;
	flex-shrink: 0;
}
.kefu-quick-section.is-open .kefu-quick-chevron {
	transform: rotate(-135deg);
	margin-top: 4px;
}
.kefu-quick {
	display: none;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0 14px 12px;
}
.kefu-quick-section.is-open .kefu-quick {
	display: flex;
}
.kefu-quick-btn {
	padding: 7px 14px;
	font-size: 12px;
	font-weight: 500;
	color: var(--theme-text);
	background: rgba(255,255,255,.05);
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 8px;
	cursor: pointer;
	transition: color .2s, border-color .2s, background .2s, transform .15s;
	white-space: nowrap;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
}
.kefu-quick-btn:hover {
	color: var(--theme-accent-warm);
	border-color: var(--theme-border-hover);
	background: var(--theme-glow);
	transform: translateY(-1px);
}
.kefu-quick-btn:active { transform: translateY(0); }
.kefu-messages {
	flex: 1;
	overflow-y: auto;
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	scroll-behavior: smooth;
	background:
		radial-gradient(ellipse at top, rgba(168,155,196,.05), transparent 55%),
		rgba(0,0,0,.08);
}
.kefu-msg {
	display: flex;
	gap: 10px;
	max-width: 88%;
	animation: kefuMsgIn .22s ease;
}
@keyframes kefuMsgIn {
	from { opacity: 0; transform: translateY(6px); }
	to { opacity: 1; transform: none; }
}
.kefu-msg-user {
	align-self: flex-end;
	flex-direction: row-reverse;
}
.kefu-msg-system {
	align-self: center;
	max-width: 94%;
	flex-direction: column;
	align-items: center;
	gap: 0;
}
.kefu-msg-avatar {
	flex-shrink: 0;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #1a1208;
	background: linear-gradient(135deg, var(--theme-accent-warm), var(--theme-accent));
}
.kefu-msg-avatar svg { display: block; }
.kefu-msg-admin .kefu-msg-avatar {
	background: linear-gradient(135deg, #34d399, #059669);
	color: #fff;
}
.kefu-msg-admin .kefu-msg-name { color: #6ee7b7; }
.kefu-msg-system .kefu-msg-avatar { display: none; }
.kefu-msg-body { min-width: 0; }
.kefu-msg-name {
	font-size: 11px;
	color: var(--theme-muted);
	margin-bottom: 4px;
}
.kefu-msg-user .kefu-msg-name { text-align: right; }
.kefu-msg-system .kefu-msg-name {
	text-align: center;
	margin-bottom: 6px;
	font-size: 10px;
	letter-spacing: .04em;
}
.kefu-msg-text {
	padding: 10px 14px;
	font-size: 14px;
	line-height: 1.65;
	max-width: 100%;
	word-break: break-word;
	color: var(--theme-text);
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.08);
	border-radius: 12px;
	border-top-left-radius: 4px;
}
.kefu-msg-text a {
	color: var(--theme-accent-warm);
	text-decoration: underline;
}
.kefu-msg-user .kefu-msg-text {
	background: rgba(168,155,196,.2);
	border-color: var(--theme-border);
	border-top-left-radius: 12px;
	border-top-right-radius: 4px;
}
.kefu-msg-admin .kefu-msg-text {
	background: rgba(52,211,153,.1);
	border-color: rgba(52,211,153,.28);
}
.kefu-msg-system .kefu-msg-text {
	background: transparent;
	border: 1px dashed rgba(255,255,255,.14);
	border-radius: 10px;
	color: var(--theme-muted);
	font-size: 12.5px;
	line-height: 1.55;
	text-align: center;
	padding: 8px 12px;
}
.kefu-msg-time {
	font-size: 10px;
	color: var(--theme-muted);
	margin-top: 4px;
	opacity: .75;
}
.kefu-msg-user .kefu-msg-time { text-align: right; }
.kefu-msg-system .kefu-msg-time { text-align: center; }
.kefu-typing .kefu-msg-text span {
	display: inline-block;
	width: 6px;
	height: 6px;
	margin: 0 2px;
	border-radius: 50%;
	background: var(--theme-muted);
	animation: kefuDot 1.2s infinite ease-in-out;
}
.kefu-typing .kefu-msg-text span:nth-child(2) { animation-delay: .15s; }
.kefu-typing .kefu-msg-text span:nth-child(3) { animation-delay: .3s; }
@keyframes kefuDot {
	0%, 80%, 100% { opacity: .3; transform: scale(.8); }
	40% { opacity: 1; transform: scale(1); }
}
.kefu-compose {
	display: flex;
	align-items: flex-end;
	gap: 10px;
	padding: 12px 14px;
	border-top: 1px solid rgba(255,255,255,.08);
	background: rgba(0,0,0,.18);
	position: relative;
	z-index: 2;
}
.kefu-input {
	flex: 1;
	min-width: 0;
	min-height: 42px;
	max-height: 120px;
	padding: 11px 14px;
	font-size: 14px;
	line-height: 1.4;
	color: var(--theme-text);
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 12px;
	resize: none;
	outline: none;
	overflow-y: auto;
}
.kefu-input:focus {
	border-color: var(--theme-border-hover);
	box-shadow: 0 0 0 2px var(--theme-glow);
	background: rgba(255,255,255,.08);
}
.kefu-send {
	flex-shrink: 0;
	width: 42px;
	height: 42px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #1a1208;
	background: linear-gradient(135deg, var(--theme-accent-warm), var(--theme-accent));
	border: none;
	border-radius: 12px;
	cursor: pointer;
	transition: opacity .2s, transform .2s;
	position: relative;
	z-index: 2;
}
.kefu-send-icon { display: inline-flex; }
.kefu-send-spin {
	display: none;
	width: 16px;
	height: 16px;
	border: 2px solid rgba(26,18,8,.25);
	border-top-color: #1a1208;
	border-radius: 50%;
	animation: kefuSpin .7s linear infinite;
}
.kefu-send.is-sending .kefu-send-icon { display: none; }
.kefu-send.is-sending .kefu-send-spin { display: block; }
.kefu-send:disabled,
.kefu-send.is-sending {
	opacity: .7;
	cursor: wait;
	transform: none;
}
.kefu-send:not(:disabled):hover { opacity: .92; transform: translateY(-1px); }
@keyframes kefuSpin {
	to { transform: rotate(360deg); }
}
.kefu-panel-foot {
	padding: 8px 14px;
	font-size: 11px;
	text-align: center;
	color: var(--theme-muted);
	border-top: 1px solid rgba(255,255,255,.05);
}
@media (max-width: 767px) {
	.kefu-panel {
		height: calc(100dvh - 200px);
		height: calc(100vh - 200px);
		min-height: 320px;
		border-radius: 0;
		border-left: none;
		border-right: none;
	}
	.kefu-quick-section.is-open .kefu-quick {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
		padding-bottom: 14px;
	}
}

/* ===== 一键注册 / 账号保存图 ===== */
.quick-reg-modal {
	position: fixed;
	inset: 0;
	z-index: 99990;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	box-sizing: border-box;
}
.quick-reg-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,.75);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}
.quick-reg-panel {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 420px;
	max-height: 90vh;
	overflow-y: auto;
	padding: 1.5rem 1.25rem 1.25rem;
	border-radius: .875rem;
	background: rgba(18,18,28,.98);
	border: 1px solid rgba(168,155,196,.32);
	box-shadow: 0 24px 64px rgba(0,0,0,.55);
}
.quick-reg-close {
	position: absolute;
	top: .5rem;
	right: .5rem;
	width: 2rem;
	height: 2rem;
	border: none;
	border-radius: 50%;
	font-size: 1.35rem;
	line-height: 1;
	color: #9ca3af;
	background: rgba(255,255,255,.06);
	cursor: pointer;
}
.quick-reg-close:hover { color: #eceff4; background: rgba(255,255,255,.12); }
.quick-reg-head { text-align: center; margin-bottom: 1rem; }
.quick-reg-icon {
	width: 2.75rem;
	height: 2.75rem;
	margin: 0 auto .5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.25rem;
	border-radius: 50%;
	background: rgba(168,155,196,.12);
	border: 1px solid rgba(168,155,196,.28);
}
.quick-reg-title {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 700;
	color: #eceff4;
}
.quick-reg-sub {
	margin: .35rem 0 0;
	font-size: .8125rem;
	color: #9ca3af;
}
.quick-reg-img-wrap {
	border-radius: .5rem;
	overflow: hidden;
	border: 1px solid rgba(168,155,196,.22);
	margin-bottom: .75rem;
}
.quick-reg-img {
	display: block;
	width: 100%;
	height: auto;
}
.quick-reg-text-info {
	padding: .65rem .75rem;
	border-radius: .5rem;
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(168,155,196,.15);
	margin-bottom: .75rem;
	font-size: .875rem;
}
.quick-reg-text-info p {
	margin: .25rem 0;
	display: flex;
	gap: .5rem;
	color: #d1d5db;
}
.quick-reg-text-info span {
	flex-shrink: 0;
	width: 2.5rem;
	color: #9ca3af;
}
.quick-reg-text-info strong {
	color: #fff;
	word-break: break-all;
}
.quick-reg-actions {
	display: flex;
	gap: .5rem;
}
.quick-reg-btn {
	flex: 1;
	padding: .65rem .5rem;
	border: none;
	border-radius: .5rem;
	font-size: .875rem;
	font-weight: 600;
	cursor: pointer;
}
.quick-reg-btn-primary {
	color: #1a1a2e;
	background: linear-gradient(135deg, #c9b896, #a89bc4);
}
.quick-reg-btn-secondary {
	color: #eceff4;
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(168,155,196,.25);
}
.btn-quick-reg {
	display: block;
	width: 100%;
	margin-top: .65rem;
	padding: .65rem 1rem;
	border: 1px dashed rgba(168,155,196,.45);
	border-radius: .5rem;
	font-size: .875rem;
	font-weight: 600;
	color: #c9b896;
	background: rgba(168,155,196,.08);
	cursor: pointer;
	transition: background .2s, border-color .2s;
}
.btn-quick-reg:hover:not(:disabled) {
	background: rgba(168,155,196,.15);
	border-color: rgba(201,184,150,.55);
}
.btn-quick-reg:disabled {
	opacity: .6;
	cursor: not-allowed;
}

/* 会员中心 - 保存账号信息 */
.madou-account-save-panel {
	margin-bottom: 1rem;
	border-radius: .5rem;
	overflow: hidden;
	background: #fff;
	border: 1px solid #f0e6ec;
}
.madou-account-save-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: .85rem 1rem;
	cursor: pointer;
	background: linear-gradient(135deg, #fff5f8, #fff);
	user-select: none;
}
.madou-account-save-head h3 {
	margin: 0;
	font-size: .9375rem;
	font-weight: 600;
	color: #333;
}
.madou-account-save-head .madou-acc-hint {
	font-size: .75rem;
	color: #fe628e;
}
.madou-acc-arrow {
	display: inline-block;
	transition: transform .2s;
	color: #999;
}
.madou-acc-arrow.madou-acc-open {
	transform: rotate(90deg);
}
.madou-account-body {
	display: none;
	padding: 0 1rem 1rem;
}
.madou-account-empty {
	padding: 1rem;
	font-size: .8125rem;
	color: #999;
	text-align: center;
}
.madou-acc-row {
	display: flex;
	padding: .5rem 0;
	border-bottom: 1px solid #f5f5f5;
	font-size: .875rem;
}
.madou-acc-row:last-child { border-bottom: none; }
.madou-acc-label {
	flex-shrink: 0;
	width: 5rem;
	color: #888;
}
.madou-acc-value {
	flex: 1;
	color: #333;
	word-break: break-all;
	font-weight: 500;
}
.madou-acc-preview {
	display: block;
	width: 100%;
	max-width: 320px;
	margin: .75rem auto 0;
	border-radius: .375rem;
	border: 1px solid #eee;
}
.madou-acc-actions {
	display: flex;
	gap: .5rem;
	margin-top: .75rem;
}
.madou-acc-btn {
	flex: 1;
	padding: .5rem;
	border: none;
	border-radius: .375rem;
	font-size: .8125rem;
	font-weight: 600;
	cursor: pointer;
}
.madou-acc-btn-primary {
	color: #fff;
	background: #fe628e;
}
.madou-acc-btn-secondary {
	color: #666;
	background: #f4f5f7;
}
