@charset "UTF-8";
/*!
 * ============================================================
 *  RiPro-V5 子主题 · 华为毛玻璃（Glassmorphism）UI 皮肤
 *  ------------------------------------------------------------
 *  · 所有代码仅存在于子主题，不修改父主题 ripro-v5 任何文件
 *  · 在父主题 assets/css/main.min.css 之后加载，完整覆盖其视觉皮肤
 *  · 设计规范来自「样式.css」：毛玻璃卡片 / 胶囊导航 / 渐变按钮 /
 *    大圆角 / 柔和蓝灰阴影 / 高饱和模糊
 * ============================================================
 */

/* ============================================================
   0. 设计令牌（Design Tokens）
   ============================================================ */
:root{
	--gl-blue:#4172fa;
	--gl-blue-light:#648cff;
	--gl-blue-deep:#3262e6;
	--gl-ink:#0b1a33;
	--gl-ink-2:#1e3a5f;
	--gl-ink-3:#4a5b78;
	--gl-line:rgba(200,218,245,.8);
	--gl-line-soft:rgba(200,218,245,.55);
	--gl-surface:rgba(240,246,255,.6);
	--gl-surface-strong:rgba(244,249,255,.72);
	--gl-white:rgba(255,255,255,.72);
	--gl-blur:blur(16px) saturate(180%);
	--gl-blur-strong:blur(24px) saturate(180%);
	--gl-inner:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.12));
	--gl-inner-shadow:inset 0 1px 0 rgba(255,255,255,.6);
	--gl-shadow:0 8px 32px rgba(0,20,60,.06),0 2px 8px rgba(255,255,255,.5),var(--gl-inner-shadow);
	--gl-shadow-sm:0 4px 20px rgba(0,20,60,.04),var(--gl-inner-shadow);
	--gl-shadow-md:0 8px 24px rgba(0,20,60,.07),var(--gl-inner-shadow);
	--gl-shadow-lg:0 16px 56px rgba(0,20,60,.12),var(--gl-inner-shadow);
	--gl-shadow-hover:0 12px 36px rgba(0,20,60,.08),var(--gl-inner-shadow);
	--gl-r-xs:10px;
	--gl-r-sm:12px;
	--gl-r-md:16px;
	--gl-r-lg:20px;
	--gl-r-xl:24px;
	/* ---- 页头导航胶囊（<div class="navbar">）尺寸 ----
	   想调大小只改这三行即可，响应式与占位块会自动跟随 */
	--gl-nav-h:54px;      /* 胶囊高度（竖向大小）：原为 64px */
	--gl-nav-pad-y:6px;   /* 胶囊上下内边距：原为 8px（改小会再矮一点） */
	--gl-nav-r:999px;     /* 胶囊圆角：999px = 全圆胶囊；想让它是圆角矩形就改 16~20px */
	/* ---- 登录 / 注册 / 找回密码弹窗（两栏）----
	   表单栏宽度 = --gl-popup-login-w - --gl-popup-brand-w（740 - 320 = 420，表单 420 左右最舒服）
	   想左边更宽就加大 --gl-popup-brand-w */
	--gl-popup-login-w:740px;  /* 弹窗总宽（父主题 JS 写死的是 320px） */
	--gl-popup-brand-w:320px;  /* 左侧品牌栏宽度（窄屏 ≤767px 自动折叠到顶部） */
	--gl-grad-page:linear-gradient(180deg,#d6e6ff 0%,#eef3fb 30%,#f7f9fd 60%,#fdfeff 100%);
	--gl-grad-blue:linear-gradient(180deg,#648cff,#4172fa);
	--gl-grad-cyan:linear-gradient(180deg,#7eb8ff,#5a9cfc);
	--gl-grad-red:linear-gradient(180deg,#f78989,#f56c6c);
	--gl-grad-green:linear-gradient(180deg,#7dd84a,#67c23a);
	--gl-grad-orange:linear-gradient(180deg,#f6c05a,#e6a23c);
	--gl-grad-white:linear-gradient(-180deg,#fff 8%,#f2f2f7 97%);
	--gl-grad-dark:linear-gradient(180deg,#2b3550,#1a2338);
	--gl-focus:0 0 0 5px rgba(65,114,250,.2);
	--gl-caret:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6.2 8 10.2l4-4' fill='none' stroke='%234a5b78' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--gl-bt:all .2s cubic-bezier(.22,.61,.36,1);
}

/* ============================================================
   1. 覆盖父主题全局变量（--ri-* 即 Bootstrap 主题变量）
   ============================================================ */
:root,[data-bs-theme=light]{
	--ri-primary:#4172fa;
	--ri-primary-rgb:65,114,250;
	--ri-primary-text:#2f5ce0;
	--ri-primary-bg-subtle:#e2ebfe;
	--ri-primary-border-subtle:#bcd0fb;
	--ri-link-color:#1e3a5f;
	--ri-link-hover-color:#4172fa;
	--ri-link-color-rgb:30,58,95;
	--ri-link-hover-color-rgb:65,114,250;
	--ri-body-bg:#eef3fb;
	--ri-body-bg-rgb:238,243,251;
	--ri-body-color:#3d4a63;
	--ri-body-color-rgb:61,74,99;
	--ri-body-font-family:'HarmonyOS Sans SC','HarmonyOS Sans','Inter','SF Pro Text',-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC',Roboto,Arial,sans-serif;
	--ri-body-font-size:.9375rem;
	--ri-body-font-weight:500;
	--ri-body-line-height:1.6;
	--ri-emphasis-color:#0b1a33;
	--ri-heading-color:#0b1a33;
	--ri-secondary-color:rgba(30,58,95,.72);
	--ri-secondary-bg:rgba(238,243,251,.8);
	--ri-tertiary-bg:#f5f8fd;
	--ri-border-color:rgba(0,20,60,.08);
	--ri-border-color-translucent:rgba(200,218,245,.8);
	--ri-border-radius:.75rem;
	--ri-border-radius-sm:.5rem;
	--ri-border-radius-lg:1rem;
	--ri-border-radius-xl:1.25rem;
	--ri-border-radius-2xl:1.5rem;
	--ri-box-shadow:0 8px 32px rgba(0,20,60,.06);
	--ri-box-shadow-sm:0 4px 20px rgba(0,20,60,.04);
	--ri-box-shadow-lg:0 16px 56px rgba(0,20,60,.12);
	--ri-form-control-bg:rgba(255,255,255,.72);
	--ri-form-control-disabled-bg:rgba(238,243,251,.8);
	--ri-code-color:#4172fa;
	--ri-btn-border-radius:.625rem;
	--ri-btn-font-weight:600;
	--ri-btn-padding-y:.5rem;
	--ri-btn-padding-x:1.1rem;
	--ri-pagination-color:#1e3a5f;
	--ri-pagination-bg:rgba(255,255,255,.6);
	--ri-pagination-border-color:rgba(200,218,245,.9);
	--ri-pagination-active-bg:#4172fa;
	--ri-pagination-active-border-color:#4172fa;
}

/* 暗色模式玻璃变量 */
[data-bs-theme=dark]{
	--gl-ink:#e8eefb;
	--gl-ink-2:#c3d0e6;
	--gl-ink-3:#93a3bd;
	--gl-line:rgba(120,150,205,.28);
	--gl-line-soft:rgba(120,150,205,.2);
	--gl-surface:rgba(24,32,52,.55);
	--gl-surface-strong:rgba(28,37,60,.72);
	--gl-white:rgba(255,255,255,.08);
	--gl-inner:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.02));
	--gl-inner-shadow:inset 0 1px 0 rgba(255,255,255,.08);
	--gl-shadow:0 8px 32px rgba(0,0,0,.35),var(--gl-inner-shadow);
	--gl-shadow-sm:0 4px 20px rgba(0,0,0,.28),var(--gl-inner-shadow);
	--gl-shadow-md:0 8px 24px rgba(0,0,0,.32),var(--gl-inner-shadow);
	--gl-shadow-lg:0 16px 56px rgba(0,0,0,.45),var(--gl-inner-shadow);
	--gl-shadow-hover:0 12px 36px rgba(0,0,0,.4),var(--gl-inner-shadow);
	--gl-grad-page:linear-gradient(180deg,#0e1424 0%,#111a2c 35%,#131c30 60%,#16203a 100%);
	--gl-grad-blue:linear-gradient(180deg,#5f92ff,#3f6ff0);
	--gl-grad-cyan:linear-gradient(180deg,#69a6f5,#4a83e6);
	--gl-grad-white:linear-gradient(-180deg,#2a3550 8%,#1d2740 97%);
	--gl-grad-dark:linear-gradient(180deg,#0f1729,#0b1120);
	--gl-grad-orange:linear-gradient(180deg,#f0b25a,#d9930f);
	--gl-caret:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6.2 8 10.2l4-4' fill='none' stroke='%23c3d0e6' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--ri-primary:#6b96ff;
	--ri-primary-rgb:107,150,255;
	--ri-body-bg:#101726;
	--ri-body-bg-rgb:16,23,38;
	--ri-body-color:#c3d0e6;
	--ri-body-color-rgb:195,208,230;
	--ri-link-color:#c3d0e6;
	--ri-link-hover-color:#6b96ff;
	--ri-heading-color:#e8eefb;
	--ri-emphasis-color:#f0f4fd;
	--ri-border-color:rgba(255,255,255,.1);
	--ri-form-control-bg:rgba(255,255,255,.06);
}

/* ============================================================
   2. 全局背景 / 排版 / 细节
   ============================================================ */
body{
	background-color:#eef3fb !important;
	background-image:
		radial-gradient(closest-side at 10% 6%,rgba(120,160,255,.30),rgba(120,160,255,0) 100%),
		radial-gradient(closest-side at 90% 8%,rgba(150,215,255,.26),rgba(150,215,255,0) 100%),
		radial-gradient(closest-side at 82% 92%,rgba(160,200,255,.26),rgba(160,200,255,0) 100%),
		radial-gradient(closest-side at 8% 88%,rgba(190,225,255,.22),rgba(190,225,255,0) 100%),
		var(--gl-grad-page) !important;
	background-attachment:fixed !important;
	background-repeat:no-repeat !important;
	background-size:cover,cover,cover,cover,cover !important;
	color:var(--gl-ink-2);
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}
[data-bs-theme=dark] body{
	background-color:#0e1424 !important;
}

h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{
	color:var(--gl-ink);
	font-weight:700;
	letter-spacing:-.2px;
}
a{color:var(--gl-ink-2);transition:var(--gl-bt);}
a:hover{color:var(--gl-blue);}
hr{border-top-color:var(--gl-line-soft);opacity:1;}
::selection{background:rgba(65,114,250,.2);color:var(--gl-ink);}
:focus-visible{outline:2px solid rgba(65,114,250,.55);outline-offset:2px;}

/* 滚动条：细、圆、玻璃感 */
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{
	background:rgba(65,114,250,.22);
	border-radius:20px;
	border:2px solid transparent;
	background-clip:padding-box;
}
::-webkit-scrollbar-thumb:hover{background:rgba(65,114,250,.4);background-clip:padding-box;}

/* 不支持 backdrop-filter 时的降级：提高不透明度保证可读性 */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
	:root{--gl-surface:rgba(248,251,255,.95);--gl-surface-strong:rgba(252,253,255,.97);--gl-white:rgba(255,255,255,.95);}
}

/* ============================================================
   3. 页头 / 胶囊毛玻璃导航
   ============================================================ */
.site-header{
	background-color:transparent !important;
	background-image:none !important;
	box-shadow:none !important;
	color:var(--gl-ink) !important;
	padding:0 16px !important;
}
.site-header.navbar-sticky{
	background-color:transparent !important;
	box-shadow:none !important;
}
.site-header.navbar-now{transform:translateY(-110px);}

.site-header .navbar{
	height:auto !important;
	min-height:var(--gl-nav-h);
	margin:12px auto;
	padding:var(--gl-nav-pad-y) 20px;
	max-width:1400px;
	background-color:var(--gl-surface) !important;
	background-image:var(--gl-inner) !important;
	-webkit-backdrop-filter:var(--gl-blur-strong);
	backdrop-filter:var(--gl-blur-strong);
	border:1px solid var(--gl-line);
	border-radius:var(--gl-nav-r) !important;
	box-shadow:var(--gl-shadow);
}
.site-header.navbar-sticky .navbar{margin:8px auto;}
/* 占位块（父主题 menu.php:59 的 .header-gap）必须与页头总高一致，
   否则正文会被固定页头盖住或留白。
   这里用 calc 跟随 --gl-nav-h 自动算，改令牌即可，不必手改这几个数：
     总高 = 胶囊高 + 上下 margin(24) + 上下边框(2) + 少量余量(6) */
.header-gap{height:calc(var(--gl-nav-h) + 32px);}
.header-transparent .header-gap{height:0;}
.header-transparent main>.home-widget:first-child.home-search-box .search-bg{padding-top:calc(var(--gl-nav-h) + 46px);}

/* Logo */
.site-header .logo-wrapper .logo.text,
.site-header .logo-wrapper .logo{
	font-size:1.5rem;font-weight:700;letter-spacing:-.5px;color:var(--gl-ink);
}
.site-header .logo-wrapper .logo img{max-height:34px;width:auto;}
.site-header .navbar .sep:after{background-color:var(--gl-line);}

/* 主菜单 */
.navbar .nav-list{gap:2px;display:flex;align-items:center;}
.navbar .nav-list .menu-item{display:inline-block;position:relative;}
.navbar .nav-list a,
.navbar .nav-list>.menu-item>a{
	color:var(--gl-ink-2) !important;
	font-weight:600;
	transition:var(--gl-bt);
}
.navbar .nav-list>.menu-item>a{
	display:inline-block;
	border-radius:999px;
}
.navbar .nav-list>.menu-item>a:hover,
.navbar .nav-list>.menu-item>a:focus{
	color:var(--gl-blue) !important;
}
.navbar .nav-list>.menu-item.current-menu-item>a,
.navbar .nav-list>.menu-item.current-menu-ancestor>a{
	background-color:rgba(65,114,250,.15) !important;
	color:var(--gl-blue) !important;
	box-shadow:inset 0 0 0 1px rgba(65,114,250,.18);
}
.navbar .nav-list .menu-item-has-children>a:after{color:currentColor;opacity:.6;}

/* 下拉子菜单：玻璃浮层 */
.navbar .nav-list .sub-menu{
	background-color:var(--gl-surface-strong) !important;
	background-image:var(--gl-inner) !important;
	-webkit-backdrop-filter:var(--gl-blur-strong);
	backdrop-filter:var(--gl-blur-strong);
	border:1px solid var(--gl-line);
	border-radius:var(--gl-r-md) !important;
	box-shadow:var(--gl-shadow-lg) !important;
	padding:8px !important;
	overflow:visible;
}
.navbar .nav-list .sub-menu:before{
	border-bottom-color:var(--gl-line) !important;
}
.navbar .nav-list .sub-menu li{border-radius:var(--gl-r-xs);overflow:hidden;}
.navbar .nav-list .sub-menu a{
	border-radius:var(--gl-r-xs) !important;
	padding:8px 14px !important;
	color:var(--gl-ink-2) !important;
	font-weight:500;
}
.navbar .nav-list .sub-menu a:hover{
	background-color:rgba(65,114,250,.14) !important;
	color:var(--gl-blue) !important;
}

/* 右侧动作区 */
.navbar .actions .action-btn{
	color:var(--gl-ink-2) !important;
	border-radius:999px;
	padding:.35rem;
	transition:var(--gl-bt);
}
.navbar .actions .action-btn:hover{
	color:var(--gl-blue) !important;
	background-color:rgba(65,114,250,.12);
}
/* 页头「登录」按钮（标记：<a class="action-btn login-btn btn-sm btn">）
   父主题把它做成 padding:.35rem .9rem / radius:20px 的蓝色胶囊，
   旧版 .login-btn（48px 高大按钮）又把它撑高，两个叠加后在页头里显得笨重。
   这里重做为与其它 .action-btn 同高的紧凑胶囊，并补齐完整状态机。 */
.navbar .actions .action-btn.login-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height:34px;
	min-height:34px;
	padding:0 15px !important;
	margin:0;
	border:0 !important;
	border-radius:999px !important;
	background-color:transparent !important;
	background-image:linear-gradient(180deg,#6b92ff 0%,#3f6ff0 100%) !important;
	color:#fff !important;
	font-size:.8125rem;
	font-weight:600;
	line-height:1 !important;
	letter-spacing:0;
	text-decoration:none;
	box-shadow:
		0 3px 10px rgba(44,71,146,.3),
		inset 0 1px 0 rgba(255,255,255,.4),
		inset 0 -2px 0 0 var(--gl-blue-deep) !important;
	transition:transform .18s cubic-bezier(.22,.61,.36,1),box-shadow .2s ease,background-image .2s ease,color .2s ease;
	white-space:nowrap;
	-webkit-tap-highlight-color:transparent;
}
.navbar .actions .action-btn.login-btn i{
	margin-right:5px !important;
	font-size:.8125rem;
	line-height:1;
}
.navbar .actions .action-btn.login-btn:hover{
	background-image:linear-gradient(180deg,#5a83ff 0%,#2f61e8 100%) !important;
	color:#fff !important;
	transform:translateY(-1px);
	box-shadow:
		0 6px 16px rgba(44,71,146,.4),
		inset 0 1px 0 rgba(255,255,255,.45),
		inset 0 -2px 0 0 #2852c4 !important;
}
.navbar .actions .action-btn.login-btn:active{
	transform:translateY(0) scale(.97);
	box-shadow:0 2px 6px rgba(44,71,146,.35),inset 0 2px 4px rgba(20,45,110,.35) !important;
}
.navbar .actions .action-btn.login-btn:focus-visible{
	outline:0;
	box-shadow:0 0 0 3px rgba(255,255,255,.9),0 0 0 6px rgba(65,114,250,.45) !important;
}
@media (max-width:991.98px){
	.navbar .actions .action-btn.login-btn{height:30px;padding:0 12px !important;font-size:.75rem;}
	.navbar .actions .action-btn.login-btn i{font-size:.75rem;}
}
.navbar .avatar-warp .avatar-img.rounded-circle{
	border:2px solid rgba(255,255,255,.9);
	box-shadow:0 2px 10px rgba(0,20,60,.12);
}
.navbar .burger{
	width:36px;height:36px;line-height:36px;text-align:center;border-radius:var(--gl-r-xs);
	color:var(--gl-ink-2);background-color:rgba(255,255,255,.55);border:1px solid var(--gl-line);
}

/* 悬浮用户面板 */
.hover-warp{
	background-color:var(--gl-surface-strong) !important;
	background-image:var(--gl-inner) !important;
	-webkit-backdrop-filter:var(--gl-blur-strong);
	backdrop-filter:var(--gl-blur-strong);
	border:1px solid var(--gl-line);
	border-radius:var(--gl-r-lg) !important;
	box-shadow:var(--gl-shadow-lg) !important;
	color:var(--gl-ink-2);
	overflow:hidden;
}
.hover-warp .hover-info,
.hover-warp .hover-balance{border-color:var(--gl-line-soft) !important;}
.hover-warp .hover-item,
.hover-warp .abstop-item{border-radius:var(--gl-r-sm);transition:var(--gl-bt);}
.hover-warp .hover-item:hover,
.hover-warp .abstop-item:hover{background-color:rgba(65,114,250,.1);}

/* 头部搜索浮层 */
.navbar-search{background-color:transparent;}
.navbar-search .search-form{width:min(760px,100%);margin:0 auto;}

/* 搜索框：玻璃胶囊 */
.search-form{
	background-color:var(--gl-white);
	background-image:var(--gl-inner);
	-webkit-backdrop-filter:var(--gl-blur);
	backdrop-filter:var(--gl-blur);
	border:1px solid var(--gl-line);
	border-radius:999px;
	padding:6px;
	box-shadow:var(--gl-shadow-sm);
	color:var(--gl-ink-2) !important;
	transition:var(--gl-bt);
}

/* 分类筛选下拉：独立玻璃胶囊 + 与输入框明确分隔 */
.search-form .search-select{
	position:relative;
	flex:0 0 auto;
	max-width:170px;
	padding-right:14px;
	margin-right:14px;
	border-right:1px solid var(--gl-line);
}
.search-form .search-select .form-select{
	border:1px solid var(--gl-line) !important;
	border-radius:var(--gl-r-xs) !important;
	background-color:rgba(255,255,255,.55) !important;
	color:var(--gl-ink) !important;
	font-size:.875rem !important;
	font-weight:600;
	line-height:1.4;
	padding:.42rem 2.2rem .42rem .95rem !important;
	box-shadow:none !important;
	cursor:pointer;
	transition:var(--gl-bt);
}
.search-form .search-select .form-select:hover{
	border-color:rgba(65,114,250,.45) !important;
	background-color:rgba(255,255,255,.85) !important;
}
.search-form .search-select .form-select:focus{
	border-color:var(--gl-blue) !important;
	background-color:rgba(255,255,255,.9) !important;
	box-shadow:var(--gl-focus) !important;
}
.search-form .search-select .form-select option{
	background-color:#fff;
	color:var(--gl-ink);
	font-size:.875rem;
}
[data-bs-theme=dark] .search-form .search-select .form-select option{background-color:#1a2340;color:#e8eefb;}

/* 关键词输入（右侧留白由 --gl-sfield-pad 统一控制） */
.search-form .search-fields{
	position:relative;
	overflow:visible !important;
	border-radius:999px;
	--gl-sbtn:42px;        /* 提交圆钮直径 */
	--gl-sbtn-gap:5px;     /* 圆钮距容器右侧 */
	--gl-sfield-pad:3.2rem;/* 输入框右侧为圆钮预留的留白 */
}
.search-form .search-fields input{
	border:0 !important;
	background-color:transparent !important;
	color:var(--gl-ink) !important;
	outline:0 !important;
	font-weight:500;
	padding:.5rem var(--gl-sfield-pad) .5rem 1rem !important;
}
.search-form .search-fields input::placeholder{color:var(--gl-ink-3);opacity:.75;}

/* ============================================================
   3.2 搜索提交按钮（重写）
   ------------------------------------------------------------
   父主题原规则：
     .search-form .search-fields button{
        position:absolute;right:0;top:0;border:none!important;
        background:0 0!important;height:100%;padding:0 1rem;opacity:.6}
   `background:0 0` 是简写且带 !important，会连带清空 background-image，
   因此必须用同等权重的长写覆盖；尺寸统一由 CSS 变量收口，
   大屏/移动端只需改变量，不再重复声明 width/height/right。
   ============================================================ */
.search-form .search-fields button{
	/* 定位：垂直居中、贴容器右侧 */
	position:absolute !important;
	top:50% !important;
	right:var(--gl-sbtn-gap) !important;
	left:auto !important;
	bottom:auto !important;
	transform:translateY(-50%);
	/* 尺寸 */
	width:var(--gl-sbtn);
	height:var(--gl-sbtn);
	min-width:var(--gl-sbtn);
	padding:0 !important;
	margin:0 !important;
	box-sizing:border-box;
	/* 盒模型 */
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	border:0 !important;
	border-radius:50% !important;
	outline:0 !important;
	overflow:hidden;
	line-height:1 !important;
	opacity:1 !important;
	/* 配色：蓝色立体渐变（顶部高光 + 底部内暗边） */
	color:#fff !important;
	background-color:transparent !important;
	background-image:linear-gradient(180deg,#7aa0ff 0%,#4a7bfa 52%,#3f6ff0 100%) !important;
	box-shadow:
		0 3px 8px rgba(44,71,146,.34),
		0 1px 2px rgba(44,71,146,.2),
		inset 0 1px 0 rgba(255,255,255,.5),
		inset 0 -2px 0 0 rgba(32,66,158,.55) !important;
	-webkit-appearance:none;
	appearance:none;
	cursor:pointer;
	user-select:none;
	transition:transform .16s ease,box-shadow .2s ease,background-image .2s ease;
}
/* 图标固定纯白，且不拦截点击 */
.search-form .search-fields button i,
.search-form .search-fields button svg,
.search-form .search-fields button span{
	color:#fff !important;
	fill:#fff !important;
	font-size:calc(var(--gl-sbtn) * .4);
	line-height:1;
	pointer-events:none;
}
/* 悬停：加深并轻微放大 */
.search-form .search-fields button:hover{
	background-image:linear-gradient(180deg,#6b93ff 0%,#3d6ef5 52%,#3262e6 100%) !important;
	box-shadow:
		0 6px 16px rgba(44,71,146,.45),
		inset 0 1px 0 rgba(255,255,255,.55),
		inset 0 -2px 0 0 rgba(28,58,140,.6) !important;
	transform:translateY(-50%) scale(1.04);
}
/* 按下 */
.search-form .search-fields button:active{
	background-image:linear-gradient(180deg,#4172fa 0%,#3262e6 100%) !important;
	box-shadow:
		0 2px 5px rgba(44,71,146,.4),
		inset 0 2px 4px rgba(20,45,110,.4) !important;
	transform:translateY(-50%) scale(.92);
}
/* 键盘聚焦（双环，保证在浅色/深色底上都可见） */
.search-form .search-fields button:focus-visible{
	box-shadow:
		0 0 0 3px rgba(255,255,255,.85),
		0 0 0 6px rgba(65,114,250,.45),
		inset 0 1px 0 rgba(255,255,255,.5) !important;
}
/* 禁用 / 提交中 */
.search-form .search-fields button:disabled,
.search-form .search-fields button.is-loading{
	opacity:.55 !important;
	cursor:not-allowed;
	background-image:linear-gradient(180deg,#9db4e8,#8aa3dd) !important;
	box-shadow:none !important;
	transform:translateY(-50%);
}
.search-form .search-fields button:disabled:hover,
.search-form .search-fields button.is-loading:hover{
	transform:translateY(-50%);
	background-image:linear-gradient(180deg,#9db4e8,#8aa3dd) !important;
}

/* ============================================================
   3.1 语言切换下拉（translate.js 注入的 native select）
   ============================================================ */
.navbar .actions .language-selector,
.navbar .actions .language-selector:hover{
	display:inline-flex;
	align-items:center;
	padding:0 !important;
	background-color:transparent !important;
	box-shadow:none !important;
	border-radius:0;
}
.navbar .actions .language-selector>span{display:none;}
.navbar .actions .language-selector select,
.navbar .actions .language-selector .form-select,
#translate select,
#translateSelectLanguage,
select[class*="SelectLanguage"]{
	-webkit-appearance:none;
	appearance:none;
	height:34px;
	padding:0 30px 0 14px !important;
	margin:0;
	border:1px solid var(--gl-line) !important;
	border-radius:999px !important;
	background-color:rgba(255,255,255,.6) !important;
	background-image:var(--gl-caret) !important;
	background-repeat:no-repeat !important;
	background-position:right 11px center !important;
	background-size:13px 13px !important;
	color:var(--gl-ink-2) !important;
	font-size:.8125rem;
	font-weight:600;
	line-height:32px;
	box-shadow:none !important;
	cursor:pointer;
	transition:var(--gl-bt);
}
.navbar .actions .language-selector select:hover,
#translate select:hover,
#translateSelectLanguage:hover,
select[class*="SelectLanguage"]:hover{
	border-color:rgba(65,114,250,.5) !important;
	background-color:rgba(255,255,255,.88) !important;
	color:var(--gl-blue) !important;
}
.navbar .actions .language-selector select:focus,
#translate select:focus,
#translateSelectLanguage:focus,
select[class*="SelectLanguage"]:focus{
	border-color:var(--gl-blue) !important;
	box-shadow:var(--gl-focus) !important;
	outline:0 !important;
}
.navbar .actions .language-selector select option,
#translate select option,
#translateSelectLanguage option,
select[class*="SelectLanguage"] option{
	background-color:#fff;
	color:var(--gl-ink);
	font-size:.8125rem;
	padding:6px 10px;
}
[data-bs-theme=dark] .navbar .actions .language-selector select,
[data-bs-theme=dark] #translate select,
[data-bs-theme=dark] #translateSelectLanguage,
[data-bs-theme=dark] select[class*="SelectLanguage"]{
	background-color:rgba(255,255,255,.08) !important;
	border-color:var(--gl-line) !important;
	color:var(--gl-ink-2) !important;
}
[data-bs-theme=dark] .navbar .actions .language-selector select option,
[data-bs-theme=dark] #translate select option,
[data-bs-theme=dark] select[class*="SelectLanguage"] option{
	background-color:#1a2340;
	color:#e8eefb;
}

/* ============================================================
   4. 离屏菜单 / 移动端 / 浮动小组件
   ============================================================ */
.off-canvas{
	background-color:var(--gl-surface-strong) !important;
	background-image:var(--gl-inner) !important;
	-webkit-backdrop-filter:var(--gl-blur-strong);
	backdrop-filter:var(--gl-blur-strong);
	border-left:1px solid var(--gl-line);
	box-shadow:var(--gl-shadow-lg);
}
.off-canvas .canvas-close{
	width:36px;height:36px;line-height:36px;text-align:center;
	border-radius:999px;background-color:rgba(255,255,255,.6);
	border:1px solid var(--gl-line);color:var(--gl-ink-2);
}
.off-canvas .mobile-menu a{color:var(--gl-ink-2);}
.off-canvas .mobile-menu .menu-item>a{
	display:block;padding:10px 16px;border-radius:var(--gl-r-sm);
	transition:var(--gl-bt);
}
.off-canvas .mobile-menu .menu-item>a:hover,
.off-canvas .mobile-menu .current-menu-item>a{
	background-color:rgba(65,114,250,.12);color:var(--gl-blue);
}
.off-canvas .sub-menu{
	background-color:rgba(255,255,255,.4) !important;
	border-radius:var(--gl-r-sm);
	padding:6px;
	margin:4px 0;
}

.m-navbar{
	background-color:var(--gl-surface-strong) !important;
	background-image:var(--gl-inner) !important;
	-webkit-backdrop-filter:var(--gl-blur-strong);
	backdrop-filter:var(--gl-blur-strong);
	border-top:1px solid var(--gl-line);
	box-shadow:0 -8px 24px rgba(0,20,60,.08) !important;
}
.m-navbar ul li a{color:var(--gl-ink-3);transition:var(--gl-bt);}
.m-navbar ul li a.active,
.m-navbar ul li a:hover{color:var(--gl-blue);}

.dimmer{
	background:rgba(11,26,51,.32) !important;
	-webkit-backdrop-filter:blur(4px);
	backdrop-filter:blur(4px);
}

.rollbar .actions{
	background-color:var(--gl-surface-strong) !important;
	background-image:var(--gl-inner) !important;
	-webkit-backdrop-filter:var(--gl-blur);
	backdrop-filter:var(--gl-blur);
	border:1px solid var(--gl-line);
	border-radius:var(--gl-r-md) !important;
	box-shadow:var(--gl-shadow-md) !important;
}
.rollbar .actions li a{color:var(--gl-ink-2);}
.rollbar .actions li a:hover{color:var(--gl-blue);background-color:rgba(65,114,250,.1);}

.back-top{
	background-image:var(--gl-grad-blue) !important;
	background-color:transparent !important;
	border-radius:var(--gl-r-sm) !important;
	box-shadow:0 6px 18px rgba(44,71,146,.35) !important;
	color:#fff !important;
	transition:var(--gl-bt) !important;
}
.back-top:hover{transform:translateY(-3px) scale(.97);}

/* ============================================================
   5. 按钮：立体渐变 / 玻璃 / 柔和色
   ============================================================ */
.btn{
	--ri-btn-border-radius:.625rem;
	--ri-btn-font-weight:600;
	--ri-btn-padding-y:.5rem;
	--ri-btn-padding-x:1.1rem;
	letter-spacing:.2px;
	transition:var(--gl-bt);
}
.btn:not(.btn-link):not(.btn-close){box-shadow:var(--gl-shadow-sm);}
.btn:hover{transform:scale(.97);}
.btn:active{transform:scale(.94);}
.btn-sm{
	--ri-btn-padding-y:.32rem;
	--ri-btn-padding-x:.85rem;
	--ri-btn-font-size:.8125rem;
	--ri-btn-border-radius:.5rem;
}
.btn-lg{--ri-btn-padding-y:.7rem;--ri-btn-padding-x:1.5rem;--ri-btn-border-radius:.75rem;}
.btn-pill,.rounded-pill .btn{border-radius:999px !important;}

/* 主色 / 蓝 */
.btn-primary,
.btn-info{
	--ri-btn-bg:transparent;
	--ri-btn-border-color:rgba(51,100,237,.35);
	--ri-btn-hover-bg:transparent;
	--ri-btn-hover-border-color:rgba(51,100,237,.45);
	--ri-btn-active-bg:transparent;
	--ri-btn-disabled-bg:transparent;
	background-image:var(--gl-grad-blue);
	color:#fff;
	box-shadow:0 3px 4px 0 rgba(44,71,146,.32),inset 0 -2px 0 0 var(--gl-blue-deep);
}
.btn-primary:hover,
.btn-info:hover{
	background-image:linear-gradient(180deg,#5a7fff,var(--gl-blue-deep));
	box-shadow:0 4px 8px 0 rgba(44,71,146,.4),inset 0 -2px 0 0 #2852c4;
	color:#fff;
}
.btn-primary:focus-visible,
.btn-info:focus-visible{box-shadow:var(--gl-focus);}

/* 成功 / 浅蓝下载按钮 */
.btn-success{
	--ri-btn-bg:transparent;
	--ri-btn-border-color:rgba(65,114,250,.25);
	--ri-btn-hover-bg:transparent;
	--ri-btn-active-bg:transparent;
	background-image:var(--gl-grad-cyan);
	color:#fff;
	box-shadow:0 3px 4px 0 rgba(40,80,160,.22),inset 0 -2px 0 0 #488ae0;
}
.btn-success:hover{
	background-image:linear-gradient(180deg,#6da8ff,#488ae0);
	color:#fff;
}

/* 危险 / 红 */
.btn-danger{
	--ri-btn-bg:transparent;
	--ri-btn-border-color:rgba(245,108,108,.35);
	--ri-btn-hover-bg:transparent;
	--ri-btn-active-bg:transparent;
	background-image:var(--gl-grad-red);
	color:#fff;
	box-shadow:0 3px 4px 0 rgba(180,40,40,.25),inset 0 -2px 0 0 #e05555;
}
.btn-danger:hover{background-image:linear-gradient(180deg,#f07070,#e05555);color:#fff;}

/* 白 / 浅色 */
.btn-white,
.btn-light{
	--ri-btn-color:#3b426b;
	--ri-btn-bg:transparent;
	--ri-btn-border-color:#e9eaec;
	--ri-btn-hover-color:#3b426b;
	--ri-btn-hover-bg:transparent;
	--ri-btn-active-bg:transparent;
	background-image:var(--gl-grad-white);
	box-shadow:0 3px 4px 0 rgba(44,71,146,.2),inset 0 -2px 0 0 #e1e3e8;
	color:#3b426b;
}
.btn-white:hover,
.btn-light:hover{
	background-image:linear-gradient(-180deg,#f8f9fc 8%,#e8e9f0 97%);
	box-shadow:0 4px 8px 0 rgba(44,71,146,.25),inset 0 -2px 0 0 #d0d2d8;
	color:#3b426b;
}

/* 深色 */
.btn-dark{
	--ri-btn-bg:transparent;
	--ri-btn-hover-bg:transparent;
	--ri-btn-active-bg:transparent;
	background-image:var(--gl-grad-dark);
	color:#fff;
	box-shadow:0 3px 4px 0 rgba(10,16,32,.3),inset 0 -2px 0 0 #0b1120;
}

/* 柔和色按钮 -> 玻璃质感 */
.btn-primary-soft,.btn-info-soft,.btn-success-soft,.btn-danger-soft,.btn-warning-soft,.btn-secondary-soft{
	background-image:var(--gl-inner) !important;
	border:1px solid var(--gl-line) !important;
	-webkit-backdrop-filter:var(--gl-blur);
	backdrop-filter:var(--gl-blur);
	box-shadow:var(--gl-shadow-sm) !important;
	font-weight:600;
}
.btn-primary-soft{color:var(--gl-blue) !important;background-color:rgba(65,114,250,.12) !important;}
.btn-info-soft{color:#4a83e6 !important;background-color:rgba(90,156,252,.14) !important;}
.btn-success-soft{color:#3d8f6d !important;background-color:rgba(103,194,58,.14) !important;}
.btn-danger-soft{color:#e05555 !important;background-color:rgba(245,108,108,.14) !important;}
.btn-warning-soft{color:#a9770f !important;background-color:rgba(230,162,60,.16) !important;}
.btn-primary-soft:hover{background-image:var(--gl-grad-blue) !important;color:#fff !important;border-color:transparent !important;}
.btn-danger-soft:hover{background-image:var(--gl-grad-red) !important;color:#fff !important;border-color:transparent !important;}
.btn-success-soft:hover{background-image:var(--gl-grad-cyan) !important;color:#fff !important;border-color:transparent !important;}
.btn-info-soft:hover{background-image:var(--gl-grad-cyan) !important;color:#fff !important;border-color:transparent !important;}
.btn-link{color:var(--gl-blue);text-decoration:none;background-image:none;box-shadow:none;}
.btn-link:hover{color:var(--gl-blue-deep);}
.btn-outline-light{
	border-color:rgba(255,255,255,.5) !important;
	background-color:rgba(255,255,255,.12) !important;
	-webkit-backdrop-filter:var(--gl-blur);
	backdrop-filter:var(--gl-blur);
	color:#fff !important;
}
.btn-group .btn{border-radius:var(--gl-r-xs) !important;}

/* ============================================================
   6. 表单控件：玻璃输入
   ============================================================ */
.form-control,.form-select,textarea.form-control,
select,textarea,input[type=text],input[type=password],input[type=email],input[type=search],input[type=number]{
	border-radius:var(--gl-r-xs) !important;
	border:1px solid var(--gl-line) !important;
	background-color:var(--gl-white) !important;
	-webkit-backdrop-filter:blur(10px);
	backdrop-filter:blur(10px);
	color:var(--gl-ink) !important;
	transition:var(--gl-bt);
}
.form-control:focus,.form-select:focus,textarea.form-control:focus,
select:focus,textarea:focus,input[type=text]:focus,input[type=password]:focus,
input[type=email]:focus,input[type=search]:focus,input[type=number]:focus{
	border-color:var(--gl-blue) !important;
	background-color:rgba(255,255,255,.85) !important;
	box-shadow:var(--gl-focus) !important;
	outline:0 !important;
}
.form-control::placeholder,textarea::placeholder{color:var(--gl-ink-3);opacity:.7;}
.form-select{background-color:var(--gl-white) !important;}
.form-label{color:var(--gl-ink);font-weight:600;font-size:.8125rem;}
.form-text,.form-hint{color:var(--gl-ink-3);}
.form-check-input{
	border-color:var(--gl-line) !important;
	background-color:rgba(255,255,255,.7) !important;
}
.form-check-input:checked{
	background-color:var(--gl-blue) !important;
	border-color:var(--gl-blue) !important;
}
.form-check-input:focus{box-shadow:var(--gl-focus) !important;}
.input-group-text{
	background-color:rgba(255,255,255,.55) !important;
	border-color:var(--gl-line) !important;
	color:var(--gl-ink-3);
	border-radius:var(--gl-r-xs) !important;
}
.form-switch .form-check-input{
	background-color:rgba(200,218,245,.7) !important;
}

/* ============================================================
   7. 卡片 / 文章列表卡片
   ============================================================ */
.card,.post-item,.price-card,.division-item{
	background-color:rgba(255,255,255,.6) !important;
	background-image:var(--gl-inner) !important;
	-webkit-backdrop-filter:var(--gl-blur);
	backdrop-filter:var(--gl-blur);
	border:1px solid var(--gl-line) !important;
	border-radius:var(--gl-r-xl) !important;
	box-shadow:var(--gl-shadow-sm) !important;
}
.card{padding:1.75rem;}
@media (max-width:575.98px){.card{padding:1.1rem;border-radius:var(--gl-r-lg) !important;}}

.card-header{
	background-color:transparent !important;
	border-bottom:1px solid var(--gl-line-soft) !important;
	padding:0 0 1rem;
	font-weight:700;
	color:var(--gl-ink);
	font-size:1.05rem;
}
.card-body{padding:0;}
.card-footer{background-color:transparent !important;border-top:1px solid var(--gl-line-soft) !important;}

.post-item{transition:var(--gl-bt);overflow:hidden;}
.post-item:hover{
	transform:translateY(-4px);
	box-shadow:var(--gl-shadow-hover) !important;
	border-color:rgba(65,114,250,.28) !important;
}
.post-item.item-grid,.post-item.item-list{border-radius:var(--gl-r-lg) !important;}
.post-item .entry-wrapper{padding:14px 16px;}
.post-item.item-list .entry-wrapper{padding:4px 16px;}
.post-item .entry-title{
	font-size:.9375rem;
	font-weight:600;
	line-height:1.5;
	margin-bottom:6px;
}
.post-item .entry-title a{color:var(--gl-ink);}
.post-item .entry-title a:hover{color:var(--gl-blue);}
.post-item .entry-desc{color:var(--gl-ink-3);font-size:.8125rem;line-height:1.6;}
.post-item .entry-meta{color:var(--gl-ink-3);font-size:.75rem;}
.post-item .entry-meta a{color:var(--gl-ink-3);}
.post-item .entry-meta a:hover{color:var(--gl-blue);}
.post-item .entry-cat-dot>a{color:var(--gl-blue);font-weight:600;font-size:.75rem;}
.post-item .entry-media .media-img{
	background-color:rgba(226,235,251,.8);
	border-radius:inherit;
}
.post-item .entry-media{border-radius:var(--gl-r-lg) var(--gl-r-lg) 0 0;overflow:hidden;}
.post-item.item-list .entry-media{border-radius:var(--gl-r-md) !important;}
.post-item .post-format-icon{
	background-color:rgba(11,26,51,.42) !important;
	-webkit-backdrop-filter:blur(6px);
	backdrop-filter:blur(6px);
	color:#fff;
	border-radius:999px;
}
.post-item .media-preview .progress,
.post-item .entry-media .progress{
	background-color:rgba(255,255,255,.35) !important;
	-webkit-backdrop-filter:blur(6px);
	backdrop-filter:blur(6px);
	border-radius:999px;
	overflow:hidden;
}
.post-item .progress-bar{background-image:var(--gl-grad-blue);}

/* 徽标 / 标签 */
.badge{
	border-radius:999px !important;
	font-weight:600;
	padding:.3em .75em;
	-webkit-backdrop-filter:blur(8px);
	backdrop-filter:blur(8px);
}
.badge.bg-dark,.badge.bg-dark.bg-opacity-75{
	background-color:rgba(11,26,51,.65) !important;
	border:1px solid rgba(255,255,255,.18);
}
.badge.bg-warning{
	background-image:linear-gradient(180deg,#f6c05a,#e6a23c) !important;
	color:#4a3405 !important;
	border:1px solid rgba(255,255,255,.35);
}
.badge.bg-primary{background-image:var(--gl-grad-blue) !important;color:#fff !important;}
.badge.bg-success{background-image:var(--gl-grad-green) !important;color:#fff !important;}
.badge.bg-danger{background-image:var(--gl-grad-red) !important;color:#fff !important;}
.badge.bg-info{background-image:var(--gl-grad-cyan) !important;color:#fff !important;}
.badge.bg-secondary,.badge.bg-light{
	background-color:rgba(255,255,255,.7) !important;
	color:var(--gl-ink-2) !important;
	border:1px solid var(--gl-line);
}
/* 半透明徽标（bg-opacity-10 / bg-opacity-75）：改为淡彩玻璃标签 */
.badge.bg-primary.bg-opacity-10,
.badge.bg-info.bg-opacity-10{
	background-image:none !important;
	background-color:rgba(65,114,250,.12) !important;
	color:var(--gl-blue) !important;
	border:1px solid rgba(65,114,250,.22) !important;
}
.badge.bg-success.bg-opacity-10{
	background-image:none !important;
	background-color:rgba(103,194,58,.14) !important;
	color:#3d8f6d !important;
	border:1px solid rgba(103,194,58,.26) !important;
}
.badge.bg-warning.bg-opacity-10{
	background-image:none !important;
	background-color:rgba(230,162,60,.16) !important;
	color:#a9770f !important;
	border:1px solid rgba(230,162,60,.3) !important;
}
.badge.bg-danger.bg-opacity-10{
	background-image:none !important;
	background-color:rgba(245,108,108,.14) !important;
	color:#c94848 !important;
	border:1px solid rgba(245,108,108,.26) !important;
}

/* 状态标签（移植自 样式.css .status-tag） */
.status-tag{display:inline-block;padding:2px 12px;border-radius:20px;font-size:11px;font-weight:500;}
.tag-active{background:rgba(103,194,58,.12);color:#67c23a;}
.tag-unused{background:rgba(144,147,153,.1);color:#909399;}
.tag-banned{background:rgba(245,108,108,.12);color:#f56c6c;}
.tag-expired{background:rgba(230,162,60,.12);color:#e6a23c;}
.tag-pending{background:rgba(65,114,250,.12);color:#4172fa;}

/* ============================================================
   8. 面包屑 / 详情页头部
   ============================================================ */
.container-full.bg-white{
	background-color:rgba(255,255,255,.5) !important;
	background-image:var(--gl-inner);
	-webkit-backdrop-filter:var(--gl-blur);
	backdrop-filter:var(--gl-blur);
	border-bottom:1px solid var(--gl-line);
	box-shadow:none !important;
}
.breadcrumb{margin-bottom:0;}
.breadcrumb a,.breadcrumb-item a{color:var(--gl-ink-3);font-size:.8125rem;}
.breadcrumb a:hover{color:var(--gl-blue);}
.breadcrumb-item+.breadcrumb-item::before{color:var(--gl-line);}
.breadcrumb-item.active{color:var(--gl-ink-2);font-weight:600;}

.article-header .post-title{
	font-size:1.65rem;
	line-height:1.4;
	font-weight:700;
	color:var(--gl-ink);
	letter-spacing:-.4px;
}
.article-meta{color:var(--gl-ink-3);font-size:.8125rem;}
.article-meta li,.article-meta span{color:var(--gl-ink-3);}
.article-meta a{color:var(--gl-ink-2);}
.article-meta a:hover{color:var(--gl-blue);}
.article-meta li{list-style:none;padding:3px 0;}

/* ============================================================
   9. 正文内容
   ============================================================ */
.post-content{font-size:1rem;line-height:1.9;color:var(--gl-ink-2);}
.post-content h2,.post-content h3,.post-content h4{
	color:var(--gl-ink);margin-top:1.6em;margin-bottom:.7em;font-weight:700;
}
.post-content h2{
	padding-left:14px;border-left:4px solid var(--gl-blue);
	border-radius:2px;line-height:1.4;
}
.post-content a:not(.btn){color:var(--gl-blue);text-decoration:none;border-bottom:1px solid rgba(65,114,250,.3);}
.post-content a:not(.btn):hover{border-bottom-color:var(--gl-blue);}
.post-content img{border-radius:var(--gl-r-md);box-shadow:var(--gl-shadow-sm);max-width:100%;height:auto;}
.post-content blockquote{
	margin:1.2em 0;padding:16px 20px;
	background-color:rgba(255,255,255,.55);
	background-image:var(--gl-inner);
	-webkit-backdrop-filter:var(--gl-blur);
	backdrop-filter:var(--gl-blur);
	border:1px solid var(--gl-line);
	border-left:4px solid var(--gl-blue);
	border-radius:var(--gl-r-md);
	color:var(--gl-ink-2);
}
.post-content code{
	background-color:rgba(65,114,250,.1);
	color:var(--gl-blue-deep);
	padding:.15em .45em;border-radius:6px;font-size:.9em;
}
.post-content pre{
	background-color:rgba(16,25,45,.92) !important;
	-webkit-backdrop-filter:var(--gl-blur);
	backdrop-filter:var(--gl-blur);
	border:1px solid rgba(255,255,255,.1);
	border-radius:var(--gl-r-md);
	padding:18px;
	box-shadow:var(--gl-shadow-md);
}
.post-content pre code{background:0 0;color:#e6edf6;padding:0;}
.post-content ul,.post-content ol{padding-left:1.4em;}
.post-content li{margin-bottom:.35em;}
.post-content table{width:100%;border-collapse:separate;border-spacing:0;border-radius:var(--gl-r-md);overflow:hidden;box-shadow:var(--gl-shadow-sm);}
.post-content th{
	background-color:rgba(65,114,250,.06);color:var(--gl-ink);
	font-weight:600;padding:12px 14px;text-align:left;border-bottom:1px solid rgba(0,20,60,.08);
}
.post-content td{padding:11px 14px;border-bottom:1px solid rgba(0,20,60,.04);color:var(--gl-ink-2);}
.post-content .single-page-link,.post-content .custom-nav{margin-top:1.4rem;}

/* ============================================================
   10. 侧边栏 / 小工具
   ============================================================ */
.sidebar .widget{
	background-color:rgba(255,255,255,.6) !important;
	background-image:var(--gl-inner) !important;
	-webkit-backdrop-filter:var(--gl-blur);
	backdrop-filter:var(--gl-blur);
	border:1px solid var(--gl-line);
	border-radius:var(--gl-r-xl);
	box-shadow:var(--gl-shadow-sm);
	padding:20px;
	margin-bottom:20px;
}
.sidebar .widget:last-child{margin-bottom:0;}
.widget-title,.sidebar .widget .widget-title,.off-canvas .widget .widget-title{
	border-bottom:1px solid var(--gl-line-soft) !important;
	background-color:transparent !important;
	color:var(--gl-ink) !important;
	font-size:1rem;font-weight:700;
	padding:0 0 14px !important;margin:0 0 18px !important;
	position:relative;
}
.widget-title:after{
	content:'';position:absolute;left:0;bottom:-1px;width:40px;height:3px;
	background-image:var(--gl-grad-blue);border-radius:3px;
}
.sidebar .widget .post-item{
	background-color:rgba(255,255,255,.55) !important;
	box-shadow:none !important;
	border-color:var(--gl-line-soft) !important;
}
.sidebar .widget .post-item:hover{
	box-shadow:var(--gl-shadow-sm) !important;
	border-color:rgba(65,114,250,.28) !important;
}

/* 排行榜 */
.sidebar-ranking-list .ranking-item{padding:8px 0;border-bottom:1px dashed var(--gl-line-soft);transition:var(--gl-bt);}
.sidebar-ranking-list .ranking-item:last-child{border-bottom:0;}
.sidebar-ranking-list .ranking-item:hover{padding-left:6px;}
.sidebar-ranking-list .ranking-num{
	font-size:.75rem !important;margin-right:.6rem;padding:4px 9px !important;
	border-radius:8px !important;min-width:24px;text-align:center;
	background-color:rgba(200,218,245,.5) !important;color:var(--gl-ink-2) !important;
	box-shadow:none !important;
}
.sidebar-ranking-list .ranking-item:nth-child(1) .ranking-num{background-image:var(--gl-grad-red) !important;color:#fff !important;}
.sidebar-ranking-list .ranking-item:nth-child(2) .ranking-num{background-image:linear-gradient(180deg,#f6c05a,#e6a23c) !important;color:#fff !important;}
.sidebar-ranking-list .ranking-item:nth-child(3) .ranking-num{background-image:var(--gl-grad-cyan) !important;color:#fff !important;}
.ranking-title,.sidebar-ranking-list .ranking-title{color:var(--gl-ink-2);font-size:.875rem;}
.sidebar-ranking-list .ranking-item:hover .ranking-title{color:var(--gl-blue);}

/* 作者卡 */
.sidebar-author-info .author-header{padding-bottom:14px;border-bottom:1px solid var(--gl-line-soft);}
.sidebar-author-info .author-body{padding:14px 0;}
.avatar{border-radius:999px;overflow:hidden;}
.avatar img,.avatar-img{
	border-radius:999px;
	border:2px solid rgba(255,255,255,.9);
	box-shadow:0 4px 14px rgba(0,20,60,.12);
}
.avatar-xl,.avatar-xl img{width:88px;height:88px;}

/* 付费/下载模块（通用） */
.ri-down-warp{
	background-color:rgba(255,255,255,.62) !important;
	background-image:var(--gl-inner) !important;
	-webkit-backdrop-filter:var(--gl-blur);
	backdrop-filter:var(--gl-blur);
	border:1px solid var(--gl-line) !important;
	border-radius:var(--gl-r-lg) !important;
	padding:20px !important;
	box-shadow:var(--gl-shadow-sm) !important;
	overflow:hidden;
}
.down-buy-warp .buy-title{
	color:var(--gl-ink) !important;
	font-weight:700;font-size:1rem;
	display:flex;align-items:center;gap:8px;
	padding-bottom:12px;margin-bottom:14px !important;
	border-bottom:1px solid var(--gl-line-soft);
}
.down-buy-warp .buy-title i{color:var(--gl-blue);}
.down-buy-warp .buy-desc{color:var(--gl-ink-3) !important;font-size:.875rem;}
.prices-info{
	background-color:rgba(65,114,250,.06) !important;
	border:1px dashed rgba(65,114,250,.35) !important;
	border-radius:var(--gl-r-sm) !important;
	color:var(--gl-ink-2) !important;
	padding:12px 14px !important;
}
.prices-info .price-item{padding:3px 0;}
.prices-info .price-item span{color:var(--gl-blue);font-weight:600;}
.ri-down-warp .down-msg{
	background-image:var(--gl-grad-red);color:#fff;
	box-shadow:0 4px 12px rgba(180,40,40,.25);
}
.copy-pwd{opacity:.9;}

/* ============================================================
   11. 商品/资源信息区（single shop 样式）
   ============================================================ */
.archive-shop{
	background-color:rgba(255,255,255,.55) !important;
	background-image:var(--gl-inner) !important;
	-webkit-backdrop-filter:var(--gl-blur);
	backdrop-filter:var(--gl-blur);
	border:1px solid var(--gl-line);
	border-radius:var(--gl-r-xl);
	padding:18px;
	box-shadow:var(--gl-shadow-sm);
}
.archive-shop .img-box{
	position:relative;border-radius:var(--gl-r-lg);overflow:hidden;
	box-shadow:var(--gl-shadow-md);
}
.archive-shop .img-box img{display:block;width:100%;height:auto;}
.archive-shop .views-rounded-dot{
	position:absolute;left:10px;top:10px;width:10px;height:10px;border-radius:999px;
	background-image:var(--gl-grad-blue);box-shadow:0 0 0 4px rgba(65,114,250,.18);
}
.archive-shop .info-box .article-meta{
	background-color:rgba(255,255,255,.5);
	border:1px solid var(--gl-line-soft);
	border-radius:var(--gl-r-md);
	padding:12px 16px;
}
.archive-shop .buy-btns{display:flex;flex-wrap:wrap;gap:10px;}

/* ============================================================
   12. 作者/标签/上下篇/相关文章/社交
   ============================================================ */
.entry-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:1.2rem;}
.entry-tags a,.entry-tags .tag{
	display:inline-block;padding:5px 14px;border-radius:999px;
	background-color:rgba(65,114,250,.1);
	border:1px solid var(--gl-line-soft);
	color:var(--gl-blue);font-size:.8125rem;text-decoration:none;
	transition:var(--gl-bt);
}
.entry-tags a:hover{background-image:var(--gl-grad-blue);color:#fff;border-color:transparent;}

.entry-navigation{margin-top:1.5rem;}
.entry-navigation a.entry-page-prev,
.entry-navigation a.entry-page-next{
	background-color:rgba(255,255,255,.6) !important;
	background-image:var(--gl-inner) !important;
	-webkit-backdrop-filter:var(--gl-blur);
	backdrop-filter:var(--gl-blur);
	border:1px solid var(--gl-line) !important;
	border-radius:var(--gl-r-lg) !important;
	box-shadow:var(--gl-shadow-sm) !important;
	transition:var(--gl-bt);
	min-height:64px;
}
.entry-navigation a.entry-page-prev:hover,
.entry-navigation a.entry-page-next:hover{
	transform:translateY(-3px);
	box-shadow:var(--gl-shadow-hover) !important;
	border-color:rgba(65,114,250,.3) !important;
}
.entry-navigation .title,.entry-navigation .rnav{color:var(--gl-ink);font-weight:600;}
.entry-navigation .entry-page-icon{
	background-color:rgba(65,114,250,.12);
	color:var(--gl-blue);
	border-radius:var(--gl-r-sm);
}
.entry-navigation a:hover .entry-page-icon{background-image:var(--gl-grad-blue);color:#fff;}

.related-posts{
	background-color:rgba(255,255,255,.6) !important;
	background-image:var(--gl-inner) !important;
	-webkit-backdrop-filter:var(--gl-blur);
	backdrop-filter:var(--gl-blur);
	border:1px solid var(--gl-line);
	border-radius:var(--gl-r-xl);
	padding:20px;
	box-shadow:var(--gl-shadow-sm);
}
.related-posts .related-posts-title{color:var(--gl-ink);font-size:1.15rem;}
.related-posts .related-posts-title:before{
	content:'';display:inline-block;width:4px;height:18px;margin-right:10px;
	background-image:var(--gl-grad-blue);border-radius:3px;vertical-align:-2px;
}

.entry-social{
	background-color:rgba(255,255,255,.6) !important;
	background-image:var(--gl-inner) !important;
	border:1px solid var(--gl-line);
	border-radius:var(--gl-r-lg);
	padding:16px 20px;
	-webkit-backdrop-filter:var(--gl-blur);
	backdrop-filter:var(--gl-blur);
	box-shadow:var(--gl-shadow-sm);
}

/* ============================================================
   13. 评论
   ============================================================ */
#comments.entry-comments{
	background-color:rgba(255,255,255,.6) !important;
	background-image:var(--gl-inner) !important;
	-webkit-backdrop-filter:var(--gl-blur);
	backdrop-filter:var(--gl-blur);
	border:1px solid var(--gl-line);
	border-radius:var(--gl-r-xl) !important;
	padding:24px !important;
	margin-top:1.5rem;
	box-shadow:var(--gl-shadow-sm);
}
.comments-title{font-size:1.15rem;font-weight:700;color:var(--gl-ink);margin-bottom:1.2rem;}
.comment-form .comment-form-author,
.comment-form .comment-form-email,
.comment-form .comment-form-url{margin-bottom:12px;}
.comment-form input:not([type=submit]):not([type=checkbox]):not([type=hidden]),
.comment-form textarea,
#comments input:not([type=submit]):not([type=checkbox]):not([type=hidden]),
#comments textarea{
	width:100%;padding:12px 18px;
	border:1px solid var(--gl-line) !important;
	border-radius:var(--gl-r-sm) !important;
	background-color:var(--gl-white) !important;
	color:var(--gl-ink) !important;
	outline:0;transition:var(--gl-bt);
}
#comments input:not([type=submit]):focus,#comments textarea:focus{
	border-color:var(--gl-blue) !important;box-shadow:var(--gl-focus) !important;
}
#comments .submit,.comment-form .submit,
#comments input[type=submit]{
	display:inline-flex;align-items:center;justify-content:center;
	height:42px;padding:0 26px;border:0;border-radius:var(--gl-r-xs);
	background-image:var(--gl-grad-blue);color:#fff;font-weight:600;font-size:.875rem;
	box-shadow:0 3px 4px 0 rgba(44,71,146,.32),inset 0 -2px 0 0 var(--gl-blue-deep);
	transition:var(--gl-bt);cursor:pointer;
}
#comments input[type=submit]:hover{transform:scale(.97);}
.comments-list{list-style:none;padding:0;margin:0;}
.comments-list .comment-inner{
	background-color:rgba(255,255,255,.5);
	border:1px solid var(--gl-line-soft);
	border-radius:var(--gl-r-md);
	padding:14px 16px;
	margin-top:12px;
	-webkit-backdrop-filter:blur(8px);
	backdrop-filter:blur(8px);
	transition:var(--gl-bt);
}
.comments-list .comment-inner:hover{border-color:rgba(65,114,250,.28);box-shadow:var(--gl-shadow-sm);}
.comment-author .nickname,.nickname{color:var(--gl-ink);font-weight:600;}
.comment-content{color:var(--gl-ink-2);font-size:.875rem;}
.comment-meta,.comment-time{color:var(--gl-ink-3);font-size:.75rem;}
.comments-nav .comments-pagination{margin-top:1rem;}

/* ============================================================
   14. 分页
   ============================================================ */
.pagination{gap:6px;flex-wrap:wrap;}
.pagination .page-item{margin:0 !important;}
.pagination .page-link,.page-link{
	display:inline-flex;align-items:center;justify-content:center;
	min-width:38px;height:38px;padding:0 12px !important;margin:0 !important;
	border:1.5px solid var(--gl-line) !important;
	border-radius:var(--gl-r-xs) !important;
	background-color:rgba(255,255,255,.6) !important;
	background-image:var(--gl-inner);
	-webkit-backdrop-filter:blur(8px);
	backdrop-filter:blur(8px);
	color:var(--gl-ink-2) !important;
	font-size:.8125rem;font-weight:600;
	box-shadow:none !important;line-height:1 !important;
	transition:var(--gl-bt);
}
.pagination .page-link:hover,.page-link:hover{
	background-color:rgba(65,114,250,.1) !important;
	border-color:rgba(65,114,250,.35) !important;
	color:var(--gl-blue) !important;
}
.pagination .page-item.active .page-link,.page-item.active .page-link{
	background-image:var(--gl-grad-blue) !important;
	background-color:transparent !important;
	border-color:transparent !important;
	color:#fff !important;
	box-shadow:0 4px 12px rgba(65,114,250,.35) !important;
}
.pagination .page-item.disabled .page-link,.page-item.disabled .page-link{
	background-color:rgba(255,255,255,.35) !important;
	border-color:var(--gl-line-soft) !important;
	color:#b6c0d3 !important;
	opacity:.75;
	box-shadow:none !important;
}
.comments-pagination .page-numbers,.page-numbers{
	display:inline-flex;align-items:center;justify-content:center;
	min-width:38px;height:38px;margin:0 3px;
	border:1.5px solid var(--gl-line);border-radius:var(--gl-r-xs);
	background-color:rgba(255,255,255,.6);color:var(--gl-ink-2);
	font-size:.8125rem;font-weight:600;text-decoration:none;
	-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
	transition:var(--gl-bt);
}
.page-numbers:hover{background-color:rgba(65,114,250,.1);border-color:rgba(65,114,250,.35);color:var(--gl-blue);}
.page-numbers.current{background-image:var(--gl-grad-blue);border-color:transparent;color:#fff;}

/* ============================================================
   15. 弹层 / 提示 / 列表组
   ============================================================ */
/* ------------------------------------------------------------
   15.1 弹层（ri.popup）重做
   ------------------------------------------------------------
   main.min.js 的 popup() 生成的结构（JS 不能改）：
     <div class="ri-popup">
       <div class="ri-popup-body" style="width:Npx">
         <div class="ri-popup-close"><span class="svg-close"></span></div>
         <div class="ri-popup-content">…内容…</div>
       </div>
     </div>
   主要用途：登录/注册/找回密码表单（宽 320）、公告（380）、
   支付提示（280）、账号操作提示（240）、分享二维码。

   父主题的两个缺陷 → 本版修正：
   1. .ri-popup-body 只是「布局壳」（其内 .ri-popup-close 是
      transform:translateY(25%) 悬在卡片下方的圆形按钮），上一版
      把玻璃底错误地加在它身上，而内部 .ri-popup-content 又自带
      #fff 底 → 双层白卡、边缘发灰。
      → 现在玻璃底交给 .ri-popup-content，body 回归纯透明布局壳。
   2. .ri-popup-body 上的 overflow:hidden 会把关闭按钮裁掉。
      → body 改 overflow:visible，关闭按钮移入卡片右上角。
   ------------------------------------------------------------ */

/* 遮罩层 */
.ri-popup{
	background-color:rgba(11,26,51,.4) !important;
	-webkit-backdrop-filter:blur(10px) saturate(120%);
	backdrop-filter:blur(10px) saturate(120%);
	padding:24px 16px;
	-webkit-tap-highlight-color:transparent;
}

/* 布局壳：全透明，不再承担任何视觉 */
.ri-popup .ri-popup-body{
	background-color:transparent !important;
	background-image:none !important;
	border:0 !important;
	border-radius:0 !important;
	box-shadow:none !important;
	-webkit-backdrop-filter:none !important;
	backdrop-filter:none !important;
	overflow:visible !important;
	padding:0 !important;
	margin:auto;
	width:auto;
	min-width:min(280px,100%);
	max-width:min(100%,520px);
	transform:translateY(-24px) scale(.96);
	transition:transform .32s cubic-bezier(.22,1,.36,1);
	/*
	 * 注意：这里绝对不能写 opacity / visibility，
	 * 显隐由父主题的 .ri-popup-open .ri-popup-body 控制。
	 */
}
.ri-popup-open .ri-popup-body{transform:translateY(0) scale(1);}

/* 卡片本体：毛玻璃面板 */
.ri-popup .ri-popup-content{
	position:relative;
	padding:26px 22px 22px;
	background-color:rgba(255,255,255,.88) !important;
	background-image:var(--gl-inner) !important;
	-webkit-backdrop-filter:blur(28px) saturate(180%);
	backdrop-filter:blur(28px) saturate(180%);
	border:1px solid rgba(255,255,255,.75);
	border-radius:var(--gl-r-xl);
	box-shadow:0 24px 64px rgba(0,20,60,.18),0 4px 16px rgba(0,20,60,.08),var(--gl-inner-shadow);
	color:var(--gl-ink-2);
	font-size:.875rem;
	line-height:1.75;
	/* 内容过高（长公告 / 小屏下的登录表单）时改为卡片内滚动，
	   而不是让整张卡片超出视口；关闭按钮在 .ri-popup-body 上，不会跟着滚走 */
	max-height:min(80vh,760px);
	overflow-x:hidden;
	overscroll-behavior:contain;
	-webkit-overflow-scrolling:touch;
}
/* 首行让开右上角关闭按钮；居中的 logo 不受影响 */
.ri-popup .ri-popup-content>*:first-child{margin-top:0;padding-right:36px;}
.ri-popup .ri-popup-content>.logo-wrapper:first-child{padding-right:0;}
.ri-popup .ri-popup-content>*:last-child{margin-bottom:0;}

/* ------------------------------------------------------------
   15.2 登录 / 注册 / 找回密码弹窗：加宽
   ------------------------------------------------------------
   宽度由父主题 main.min.js 写死：
     zb_get_site_login → ri.popup(html, 320)
     → <div class="ri-popup-body" style="width:320px">
   内联样式优先级高于样式表，**必须 !important** 才能覆盖
   （只写 max-width 是无效的，这也是它一直很窄的真正原因）。

   同一个 320 也被「分享二维码」弹窗使用，所以这里用 :has() 只针对登录表单：
   #account-from 是父主题 template-parts/page/login-form.php 的表单根节点，
   登录 / 注册 / 找回密码三处共用这一份模板。
   公告(380) / 支付提示(240~280) / 分享二维码(320) 都不受影响。

   兼容性：:has() 自 2023 年起主流浏览器均支持；不支持时本条被忽略，
   弹窗保持原宽 320px（不会破版）。
   宽度改 --gl-popup-login-w 即可（第 0 节设计令牌）。
   ------------------------------------------------------------ */
.ri-popup .ri-popup-body:has(#account-from){
	/* 注意：这里必须是 100%（= 可用宽度），不能写 20% —— 写成百分比会随视口缩放，
	   1920 宽的屏上 20% 只有 384px，看起来「设置没生效」。上限交给令牌 */
	width:min(100%,var(--gl-popup-login-w)) !important;
	/* 基础规则里有 max-width:min(100%,520px)，不一起抬高就会被卡在 520px */
	max-width:min(100%,var(--gl-popup-login-w)) !important;
}

/* ------------------------------------------------------------
   15.3 登录类弹窗：左侧品牌栏 + 右侧表单（两栏布局）
   ------------------------------------------------------------
   父主题 AJAX（inc/template-ajax.php:289-293）输出的 HTML 只有两个节点：
     <div class="ri-popup-content">
       <div class="logo-wrapper">…</div>              ← 左栏：品牌
       <form id="account-from">…全部表单内容…</form>   ← 右栏：表单
     </div>
   表单里已包含：字段 / 提交按钮 / 「快捷登录注册」分隔线 / QQ·微信按钮 /
   协议与版权 —— 所以只需把这两个子节点分成两栏，
   **不改父主题任何模板**，表单的 name、nonce、AJAX 提交逻辑全部不变。

   登录 / 注册 / 找回密码三态共用 #account-from，本组规则对三者同时生效，
   只有左栏欢迎语按状态区分（用 :has([value="zb_user_*"]) 读隐藏字段判断）。

   窄屏（≤767px）自动折成一栏，左栏变成顶部横向品牌条。
   ------------------------------------------------------------ */

/* ---------- 两栏栅格 ---------- */
.ri-popup .ri-popup-content:has(#account-from){
	display:grid;
	grid-template-columns:var(--gl-popup-brand-w) minmax(0,1fr);
	align-items:stretch;
	gap:0;
	padding:0;              /* 两栏各自负责内边距，品牌栏才能贴到卡片左边缘 */
}

/* ---------- 左栏：品牌面板 ---------- */
.ri-popup .ri-popup-content:has(#account-from)>.logo-wrapper{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:14px;
	margin:0;
	padding:32px 22px;
	text-align:center;
	background-image:
		radial-gradient(closest-side at 50% 16%,rgba(255,255,255,.3),rgba(255,255,255,0) 100%),
		linear-gradient(160deg,#648cff,var(--gl-blue) 46%,var(--gl-blue-deep));
	color:#fff;
	border-radius:var(--gl-r-xl) 0 0 var(--gl-r-xl);   /* 只圆左侧，与卡片圆角对齐 */
	box-shadow:inset -1px 0 0 rgba(255,255,255,.22);
}
/* logo 落在白色圆角底片上，浅色 logo 在渐变上也看得清 */
.ri-popup .ri-popup-content:has(#account-from)>.logo-wrapper>a{display:block;line-height:0;}
.ri-popup .ri-popup-content:has(#account-from)>.logo-wrapper .logo{
	max-height:38px;
	width:auto;
	padding:9px 14px;
	background-color:rgba(255,255,255,.96);
	border-radius:12px;
	box-shadow:0 8px 20px rgba(9,32,77,.24);
	font-size:1rem;font-weight:800;
	color:var(--gl-blue) !important;
}
/* 欢迎语：伪元素生成，免改模板 */
.ri-popup .ri-popup-content:has(#account-from)>.logo-wrapper::after{
	content:'欢迎登录';
	font-size:1.0625rem;
	font-weight:800;
	letter-spacing:.5px;
	color:#fff;
	text-shadow:0 1px 3px rgba(9,32,77,.26);
}
/* 注册 / 找回密码的欢迎语（读表单隐藏字段判断状态） */
.ri-popup .ri-popup-body:has(#account-from [value="zb_user_register"]) .ri-popup-content>.logo-wrapper::after{content:'欢迎注册';}
.ri-popup .ri-popup-body:has(#account-from [value="zb_user_lostpwd"]) .ri-popup-content>.logo-wrapper::after,
.ri-popup .ri-popup-body:has(#account-from [value="zb_user_restpwd"]) .ri-popup-content>.logo-wrapper::after{content:'找回密码';}

/* ---------- 右栏：表单 ---------- */
.ri-popup .ri-popup-content:has(#account-from)>#account-from{
	grid-column:2;
	min-width:0;
	margin:0;
	/* 顶部留出关闭按钮的位置，避免压住第一个输入框 */
	padding:42px 24px 22px;
}

/* ---------- 主按钮：登录 / 注册 / 重置密码 ---------- */
.ri-popup .ri-popup-content:has(#account-from) .btn-primary.w-100,
.ri-popup .ri-popup-content:has(#account-from) .btn-danger.w-100{
	height:46px;
	border:0;
	border-radius:12px;
	font-size:.9375rem;
	font-weight:700;
	letter-spacing:.5px;
	background-image:linear-gradient(180deg,#648cff,var(--gl-blue-deep));
	box-shadow:0 8px 20px rgba(44,71,146,.28),inset 0 -2px 0 0 rgba(9,32,77,.22),inset 0 1px 0 rgba(255,255,255,.3);
	transition:transform .18s ease,box-shadow .2s ease,background-image .2s ease;
}
.ri-popup .ri-popup-content:has(#account-from) .btn-danger.w-100{
	background-image:var(--gl-grad-red);
	box-shadow:0 8px 20px rgba(180,40,40,.26),inset 0 -2px 0 0 rgba(140,20,20,.28),inset 0 1px 0 rgba(255,255,255,.3);
}
.ri-popup .ri-popup-content:has(#account-from) .btn-primary.w-100:hover,
.ri-popup .ri-popup-content:has(#account-from) .btn-primary.w-100:focus{
	background-image:linear-gradient(180deg,#7599ff,#2a56d6);
	transform:translateY(-1px);
	box-shadow:0 12px 26px rgba(44,71,146,.34),inset 0 -2px 0 0 rgba(9,32,77,.22);
}
.ri-popup .ri-popup-content:has(#account-from) .btn-danger.w-100:hover,
.ri-popup .ri-popup-content:has(#account-from) .btn-danger.w-100:focus{
	background-image:linear-gradient(180deg,#f07070,#e05555);
	transform:translateY(-1px);
}

/* ---------- 第三方登录：改成「轻量次级」样式，与主按钮拉开主次 ---------- */
.ri-popup .ri-popup-content:has(#account-from) .btn-qq-login,
.ri-popup .ri-popup-content:has(#account-from) .btn-weixin-login,
.ri-popup .ri-popup-content:has(#account-from) .btn-mpweixin-login{
	height:42px;
	background-image:none;
	background-color:rgba(255,255,255,.88);
	color:var(--gl-ink-2) !important;
	border:1px solid var(--gl-line);
	box-shadow:var(--gl-shadow-sm);
	font-weight:600;
}
.ri-popup .ri-popup-content:has(#account-from) .btn-qq-login:hover,
.ri-popup .ri-popup-content:has(#account-from) .btn-weixin-login:hover,
.ri-popup .ri-popup-content:has(#account-from) .btn-mpweixin-login:hover{
	background-color:#fff;
	border-color:rgba(65,114,250,.4);
	color:var(--gl-blue) !important;
	transform:translateY(-1px);
	box-shadow:var(--gl-shadow-md);
}
.ri-popup .ri-popup-content:has(#account-from) .btn-qq-login i{color:#12a0dc;}
.ri-popup .ri-popup-content:has(#account-from) .btn-weixin-login i,
.ri-popup .ri-popup-content:has(#account-from) .btn-mpweixin-login i{color:#07b95a;}

/* ---------- 「快捷登录/注册」分隔线：白底块改圆角胶囊 ---------- */
.ri-popup .ri-popup-content:has(#account-from) #account-from>div.position-relative>hr{
	margin:0;
	border-color:var(--gl-line-soft);
	opacity:1;
}
.ri-popup .ri-popup-content:has(#account-from) #account-from>div.position-relative>p{
	background-color:rgba(255,255,255,.94) !important;
	border-radius:999px;
	padding:1px 12px !important;
	color:var(--gl-ink-3);
	font-size:.6875rem !important;
	font-weight:600;
	letter-spacing:.5px;
}

/* ---------- 暗色模式 ---------- */
[data-bs-theme=dark] .ri-popup .ri-popup-content:has(#account-from)>.logo-wrapper{
	background-image:
		radial-gradient(closest-side at 50% 16%,rgba(255,255,255,.22),rgba(255,255,255,0) 100%),
		linear-gradient(160deg,#4a6ee0,#2a52c4);
}
[data-bs-theme=dark] .ri-popup .ri-popup-content:has(#account-from) #account-from>div.position-relative>p{
	background-color:rgba(28,37,60,.94) !important;
}
[data-bs-theme=dark] .ri-popup .ri-popup-content:has(#account-from) .btn-qq-login,
[data-bs-theme=dark] .ri-popup .ri-popup-content:has(#account-from) .btn-weixin-login,
[data-bs-theme=dark] .ri-popup .ri-popup-content:has(#account-from) .btn-mpweixin-login{
	background-color:rgba(255,255,255,.08);
	color:var(--gl-ink) !important;
}
[data-bs-theme=dark] .ri-popup .ri-popup-content:has(#account-from) .btn-qq-login:hover,
[data-bs-theme=dark] .ri-popup .ri-popup-content:has(#account-from) .btn-weixin-login:hover,
[data-bs-theme=dark] .ri-popup .ri-popup-content:has(#account-from) .btn-mpweixin-login:hover{
	background-color:rgba(255,255,255,.16);
}

/* ---------- 窄屏：折成一栏，品牌栏变顶部横条 ---------- */
@media (max-width:767.98px){
	.ri-popup .ri-popup-content:has(#account-from){grid-template-columns:minmax(0,1fr);}
	.ri-popup .ri-popup-content:has(#account-from)>.logo-wrapper{
		flex-direction:row;
		justify-content:center;
		gap:12px;
		padding:16px 18px;
		border-radius:var(--gl-r-xl) var(--gl-r-xl) 0 0;
		box-shadow:inset 0 -1px 0 rgba(255,255,255,.22);
	}
	.ri-popup .ri-popup-content:has(#account-from)>.logo-wrapper::after{font-size:.9375rem;}
	.ri-popup .ri-popup-content:has(#account-from)>.logo-wrapper .logo{max-height:28px;padding:6px 10px;border-radius:9px;}
	.ri-popup .ri-popup-content:has(#account-from)>#account-from{grid-column:1;padding:22px 18px 18px;}
}

/* 右上角关闭按钮：玻璃圆钮 + CSS 画的叉 */
.ri-popup .ri-popup-close{
	position:absolute;
	top:10px;
	right:10px;
	bottom:auto;
	left:auto;
	width:auto;
	text-align:center;
	transform:none;
	z-index:99;
	line-height:0;
}
.ri-popup .ri-popup-close .svg-close{
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:30px;
	height:30px;
	background-image:none !important; /* 干掉父主题那个巨大的 base64 圆图 */
	/* 默认透明：避免在内容右上角出现一个「色块」，文本行不会与之冲突 */
	background-color:transparent;
	border:1px solid transparent;
	border-radius:50%;
	opacity:.7;
	cursor:pointer;
	vertical-align:middle;
	filter:none !important;
	transition:transform .25s ease,background-color .2s ease,border-color .2s ease,opacity .2s ease;
}
.ri-popup .ri-popup-close .svg-close:hover{opacity:1;}
.ri-popup .ri-popup-close .svg-close::before,
.ri-popup .ri-popup-close .svg-close::after{
	content:'';
	position:absolute;
	left:50%;top:50%;
	width:13px;height:2px;
	border-radius:2px;
	background-color:var(--gl-ink-3);
	transform:translate(-50%,-50%) rotate(45deg);
	transition:background-color .2s ease;
}
.ri-popup .ri-popup-close .svg-close::after{transform:translate(-50%,-50%) rotate(-45deg);}
.ri-popup .ri-popup-close .svg-close:hover{
	transform:rotate(90deg);
	opacity:1;
	background-color:rgba(245,108,108,.14) !important;
	border-color:rgba(245,108,108,.28);
	filter:none !important;
}
.ri-popup .ri-popup-close .svg-close:hover::before,
.ri-popup .ri-popup-close .svg-close:hover::after{background-color:#e05555;}
.ri-popup .ri-popup-close .svg-close:active{transform:rotate(90deg) scale(.9);}

/* 内容排版 */
.ri-popup .ri-popup-content h1,
.ri-popup .ri-popup-content h2,
.ri-popup .ri-popup-content h3,
.ri-popup .ri-popup-content h4,
.ri-popup .ri-popup-content .h3,
.ri-popup .ri-popup-content .h4{
	font-size:1.0625rem;
	font-weight:700;
	line-height:1.4;
	letter-spacing:-.2px;
	color:var(--gl-ink);
	margin:0 0 14px;
}
.ri-popup .ri-popup-content p{color:var(--gl-ink-2);font-size:.875rem;line-height:1.75;margin:0 0 10px;}
.ri-popup .ri-popup-content .text-muted{color:var(--gl-ink-3) !important;}
.ri-popup .ri-popup-content hr{border:0;border-top:1px solid var(--gl-line-soft);opacity:1;}
.ri-popup .ri-popup-content img{max-width:100%;height:auto;border-radius:var(--gl-r-sm);}
.ri-popup .ri-popup-content a:not(.btn){color:var(--gl-blue);text-decoration:none;}
.ri-popup .ri-popup-content a:not(.btn):hover{color:var(--gl-blue-deep);}

/* 弹窗顶部 logo（AJAX 注入 logo-wrapper，脱离页头后需重新约束尺寸） */
.ri-popup .ri-popup-content .logo-wrapper{
	display:flex;
	align-items:center;
	justify-content:center;
	margin-bottom:18px;
}
.ri-popup .ri-popup-content .logo-wrapper img,
.ri-popup .ri-popup-content .logo-wrapper .logo{
	display:block;
	max-width:170px;
	max-height:40px;
	width:auto;
	height:auto;
	margin:0;
}
.ri-popup .ri-popup-content .logo-wrapper .logo.text{
	font-size:1.25rem;font-weight:700;letter-spacing:-.3px;color:var(--gl-ink);
}

/* 表单（登录/注册/找回密码） */
.ri-popup .ri-popup-content form>:first-child{padding-right:38px;}
/* 标签行用 flex：让「密码 ………… 忘记密码？」这类行内链接自动靠右 */
.ri-popup .ri-popup-content .form-label{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:8px;
	margin-bottom:6px;
	font-size:.75rem;
	font-weight:600;
	color:var(--gl-ink);
}
.ri-popup .ri-popup-content .form-control,
.ri-popup .ri-popup-content select,
.ri-popup .ri-popup-content textarea,
.ri-popup .ri-popup-content input[type=text],
.ri-popup .ri-popup-content input[type=password],
.ri-popup .ri-popup-content input[type=email]{
	width:100%;
	padding:11px 14px;
	border-radius:var(--gl-r-xs) !important;
	background-color:rgba(255,255,255,.72) !important;
	border:1px solid var(--gl-line) !important;
	color:var(--gl-ink) !important;
	font-size:.8125rem;
}
.ri-popup .ri-popup-content .form-control:focus,
.ri-popup .ri-popup-content input:focus{
	border-color:var(--gl-blue) !important;
	background-color:rgba(255,255,255,.92) !important;
	box-shadow:var(--gl-focus) !important;
}
.ri-popup .ri-popup-content .form-check-input{
	width:16px;height:16px;
	margin-top:2px;
	vertical-align:-3px;
	border-radius:5px !important;
	border:1px solid var(--gl-line) !important;
	background-color:rgba(255,255,255,.8) !important;
}
.ri-popup .ri-popup-content .form-check-input:checked{
	background-color:var(--gl-blue) !important;
	border-color:var(--gl-blue) !important;
}
.ri-popup .ri-popup-content .form-check-label{font-size:.75rem;color:var(--gl-ink-2);}
.ri-popup .ri-popup-content .input-group{display:flex;gap:8px;}
.ri-popup .ri-popup-content .input-group>.form-control{flex:1 1 auto;min-width:0;}
/* 图片验证码：固定尺寸，与输入框同高（父主题只给了 data-src，尺寸会塌陷） */
.ri-popup .ri-popup-content #captcha-img{
	flex:0 0 auto;
	width:104px;
	height:42px;
	max-width:104px;
	object-fit:cover;
	cursor:pointer;
	border-radius:var(--gl-r-xs) !important;
	border:1px solid var(--gl-line);
	background-color:rgba(255,255,255,.7);
	transition:var(--gl-bt);
}
.ri-popup .ri-popup-content #captcha-img:hover{border-color:rgba(65,114,250,.45);}
.ri-popup .ri-popup-content .btn{width:auto;}
.ri-popup .ri-popup-content .btn.w-100{width:100%;}
.ri-popup .ri-popup-content .mb-3{margin-bottom:14px !important;}

/* 「快捷登录/注册」分隔行：把绝对定位标签改成常规行，
   避免 .bg-white 在玻璃卡上留下白色色块 */
.ri-popup .ri-popup-content .my-4{
	display:flex;
	align-items:center;
	gap:10px;
	margin:18px 0 !important;
}
.ri-popup .ri-popup-content .my-4>hr{flex:1 1 auto;margin:0;min-width:24px;}
.ri-popup .ri-popup-content .my-4>p{
	position:static !important;
	top:auto;left:auto;
	transform:none !important;
	flex:0 0 auto;
	margin:0 !important;
	padding:0 !important;
	background-color:transparent !important;
	color:var(--gl-ink-3) !important;
	font-size:.75rem;
	white-space:nowrap;
}
.ri-popup .ri-popup-content .bg-white{background-color:transparent !important;}

/* 分享二维码 */
.ri-popup .ri-popup-content .share-qrcode{display:block;margin:0 auto;max-width:100%;}

/* ---- 弹窗内的「文字型」.login-btn ----
   登录/注册/找回密码表单里的「忘记密码？/注册账号/登录账号」都是
   <a class="login-btn btn-link text-primary">，而父主题把 .login-btn 做成蓝色胶囊，
   再叠一个 .text-muted!important 灰字，就成了「蓝底灰字的小胶囊」。
   这里还原为干净的行内文字链接。 */
.ri-popup .ri-popup-content .login-btn:not(.btn){
	display:inline;
	height:auto;
	min-height:0;
	padding:0 !important;
	margin:0;
	background-image:none !important;
	background-color:transparent !important;
	border:0;
	border-radius:0;
	box-shadow:none !important;
	color:var(--gl-blue) !important;
	font-size:.75rem;
	font-weight:600;
	letter-spacing:0;
	line-height:1.6;
	text-decoration:none;
	transform:none !important;
	transition:color .2s ease;
}
.ri-popup .ri-popup-content .login-btn:not(.btn):hover{
	color:var(--gl-blue-deep) !important;
	text-decoration:underline;
	background-color:transparent !important;
}
.ri-popup .ri-popup-content .login-btn.text-muted{color:var(--gl-ink-3) !important;}
.ri-popup .ri-popup-content .login-btn.text-primary{color:var(--gl-blue) !important;}
.ri-popup .ri-popup-content .login-btn.text-danger{color:#e05555 !important;}

/* 主按钮：登录/注册/找回密码的提交按钮，给足点击高度 */
.ri-popup .ri-popup-content .btn-primary.w-100,
.ri-popup .ri-popup-content .btn-danger.w-100{
	height:44px;
	border-radius:var(--gl-r-xs);
	font-size:.875rem;
	font-weight:600;
}

/* ---- 快捷登录 / 注册按钮 ---- */
.ri-popup .ri-popup-content .btn-qq-login,
.ri-popup .ri-popup-content .btn-weixin-login,
.ri-popup .ri-popup-content .btn-mpweixin-login{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:38px;
	margin:0 !important;
	padding:0 14px;
	border:0;
	border-radius:var(--gl-r-xs);
	font-size:.8125rem;
	font-weight:600;
	color:#fff !important;
	text-decoration:none;
	box-shadow:0 3px 10px rgba(0,20,60,.14),inset 0 1px 0 rgba(255,255,255,.3);
	transition:transform .18s ease,box-shadow .2s ease;
}
.ri-popup .ri-popup-content .btn-qq-login{background-image:linear-gradient(180deg,#41b6f5,#12a0dc);}
.ri-popup .ri-popup-content .btn-weixin-login,
.ri-popup .ri-popup-content .btn-mpweixin-login{background-image:linear-gradient(180deg,#2ecf74,#07b95a);}
.ri-popup .ri-popup-content .btn-qq-login:hover,
.ri-popup .ri-popup-content .btn-weixin-login:hover,
.ri-popup .ri-popup-content .btn-mpweixin-login:hover{
	transform:translateY(-1px);
	box-shadow:0 6px 16px rgba(0,20,60,.2),inset 0 1px 0 rgba(255,255,255,.35);
	color:#fff !important;
}
/* d-grid 已提供 gap，桌面端 d-md-block 无间距，这里补上 */
@media (min-width:768px){
	.ri-popup .ri-popup-content .btn-qq-login,
	.ri-popup .ri-popup-content .btn-weixin-login,
	.ri-popup .ri-popup-content .btn-mpweixin-login{margin-bottom:8px !important;}
}

/* ---- 弹窗底部（用户协议 / 版权）---- */
.ri-popup .ri-popup-content form>p.mt-2.text-center{
	margin-top:16px !important;
	padding-top:14px;
	border-top:1px solid var(--gl-line-soft);
	font-size:.6875rem !important;
	line-height:1.75;
}
.ri-popup .ri-popup-content form>p.mt-2.text-center small{font-size:inherit;}
.ri-popup .ri-popup-content form>p.mt-2.text-center a{
	color:var(--gl-ink-3) !important;
	text-decoration:none;
	transition:color .2s ease;
}
.ri-popup .ri-popup-content form>p.mt-2.text-center a:hover{color:var(--gl-blue) !important;}

/* ---- 暗色模式 ---- */
[data-bs-theme=dark] .ri-popup{background-color:rgba(4,8,18,.6) !important;}
[data-bs-theme=dark] .ri-popup .ri-popup-content{
	background-color:rgba(24,33,54,.9) !important;
	border-color:rgba(255,255,255,.1);
}
[data-bs-theme=dark] .ri-popup .ri-popup-close .svg-close{
	background-color:transparent;
	border-color:transparent;
}
[data-bs-theme=dark] .ri-popup .ri-popup-close .svg-close::before,
[data-bs-theme=dark] .ri-popup .ri-popup-close .svg-close::after{background-color:#c3d0e6;}
[data-bs-theme=dark] .ri-popup .ri-popup-content .form-control,
[data-bs-theme=dark] .ri-popup .ri-popup-content input[type=text],
[data-bs-theme=dark] .ri-popup .ri-popup-content input[type=password],
[data-bs-theme=dark] .ri-popup .ri-popup-content input[type=email]{
	background-color:rgba(255,255,255,.07) !important;
	color:var(--gl-ink) !important;
}

/* ---- 窄屏 ---- */
@media (max-width:575.98px){
	.ri-popup{padding:16px 12px;}
	.ri-popup .ri-popup-body{max-width:100%;min-width:min(260px,100%);}
	.ri-popup .ri-popup-content{padding:26px 18px 20px;border-radius:var(--gl-r-lg);}
	.ri-popup .ri-popup-content h1,
	.ri-popup .ri-popup-content h2,
	.ri-popup .ri-popup-content h3{font-size:1rem;}
	.ri-popup .ri-popup-close{top:9px;right:9px;}
	.ri-popup .ri-popup-close .svg-close{width:30px;height:30px;}
	.ri-popup .ri-popup-content form>:first-child{padding-right:34px;}
}

.ri-notice{
	background-color:rgba(11,26,51,.78) !important;
	-webkit-backdrop-filter:var(--gl-blur-strong);
	backdrop-filter:var(--gl-blur-strong);
	border:1px solid rgba(255,255,255,.15);
	border-radius:var(--gl-r-sm) !important;
	box-shadow:var(--gl-shadow-lg) !important;
	color:#fff;
}

.dropdown-menu{
	background-color:var(--gl-surface-strong) !important;
	background-image:var(--gl-inner) !important;
	-webkit-backdrop-filter:var(--gl-blur-strong);
	backdrop-filter:var(--gl-blur-strong);
	border:1px solid var(--gl-line) !important;
	border-radius:var(--gl-r-md) !important;
	box-shadow:var(--gl-shadow-lg) !important;
	padding:8px;
}
.dropdown-item{border-radius:var(--gl-r-xs);color:var(--gl-ink-2);transition:var(--gl-bt);}
.dropdown-item:hover,.dropdown-item:focus{background-color:rgba(65,114,250,.12);color:var(--gl-blue);}
.dropdown-divider{border-top-color:var(--gl-line-soft);}

.alert{
	border-radius:var(--gl-r-md) !important;
	border:1px solid var(--gl-line) !important;
	background-image:var(--gl-inner);
	-webkit-backdrop-filter:var(--gl-blur);
	backdrop-filter:var(--gl-blur);
	box-shadow:var(--gl-shadow-sm);
	color:var(--gl-ink-2);
}
.alert-success{background-color:rgba(103,194,58,.12) !important;border-color:rgba(103,194,58,.3) !important;color:#3d8f6d;}
.alert-danger{background-color:rgba(245,108,108,.12) !important;border-color:rgba(245,108,108,.3) !important;color:#c94848;}
.alert-warning{background-color:rgba(230,162,60,.14) !important;border-color:rgba(230,162,60,.32) !important;color:#a9770f;}
.alert-info{background-color:rgba(65,114,250,.1) !important;border-color:rgba(65,114,250,.28) !important;color:var(--gl-blue-deep);}

.list-group{
	border-radius:var(--gl-r-md);
	overflow:hidden;
	border:1px solid var(--gl-line);
	box-shadow:var(--gl-shadow-sm);
}
.list-group-item{
	background-color:rgba(255,255,255,.55) !important;
	border-color:var(--gl-line-soft) !important;
	color:var(--gl-ink-2);
	transition:var(--gl-bt);
}
.list-group-item-action:hover{background-color:rgba(65,114,250,.08) !important;color:var(--gl-blue);}
.list-group-item.active{
	background-image:var(--gl-grad-blue) !important;
	border-color:transparent !important;
	color:#fff !important;
}
.progress{
	background-color:rgba(200,218,245,.4) !important;
	border-radius:999px;overflow:hidden;height:8px;
}
.progress-bar{background-image:var(--gl-grad-blue) !important;}

/* ============================================================
   16. 首页模块
   ============================================================ */
.home-widget{margin-bottom:0;}

/* 首页搜索大屏 */
.home-search-box .search-bg{
	position:relative;
	background-color:rgba(226,238,255,.6) !important;
	background-image:
		radial-gradient(closest-side at 20% 10%,rgba(120,160,255,.35),rgba(120,160,255,0) 100%),
		radial-gradient(closest-side at 80% 20%,rgba(150,215,255,.3),rgba(150,215,255,0) 100%),
		var(--gl-grad-page) !important;
	background-size:cover !important;
}
.home-search-box .search-bg canvas{display:none !important;}
.home-search-box .search-bg .search-bg-overlay{
	background-image:linear-gradient(180deg,rgba(255,255,255,.25),rgba(255,255,255,0)) !important;
	-webkit-backdrop-filter:blur(2px);
	backdrop-filter:blur(2px);
}
.home-search-box .search-title{
	font-size:2.4rem;font-weight:700;letter-spacing:-1.2px;
	color:var(--gl-ink);text-shadow:0 2px 16px rgba(255,255,255,.6);
}
.home-search-box .search-desc{color:var(--gl-ink-2);opacity:.85;font-size:1.05rem;max-width:640px;margin:12px auto 26px;}
.home-search-box .search-form{max-width:760px;margin:0 auto;padding:8px;}
.home-search-box .search-form .search-select{padding-right:16px;margin-right:16px;}
.home-search-box .search-form .search-select .form-select{font-size:.9375rem !important;padding:.55rem 2.4rem .55rem 1.1rem !important;}
.home-search-box .search-form .search-fields{--gl-sbtn:48px;--gl-sbtn-gap:8px;--gl-sfield-pad:3.6rem;}
.home-search-box .search-form .search-fields input{padding:.65rem var(--gl-sfield-pad) .65rem 1.1rem !important;font-size:1rem;}
.search-hots{margin-top:18px;color:var(--gl-ink-3) !important;}
.search-hots a{
	display:inline-block;margin:5px 8px 0 0;padding:6px 16px;
	border-radius:999px;background-color:rgba(255,255,255,.6);
	border:1px solid var(--gl-line);color:var(--gl-ink-2);
	font-size:.8125rem;text-decoration:none;transition:var(--gl-bt);
	-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
}
.search-hots a:hover{background-image:var(--gl-grad-blue);color:#fff;border-color:transparent;transform:translateY(-2px);}

/* 区块标题 */
.section-title h3{font-size:1.5rem;font-weight:700;letter-spacing:-.5px;color:var(--gl-ink);}
.section-title p{color:var(--gl-ink-3) !important;}
.section-cat-navbtn .btn{
	background-image:var(--gl-grad-white);
	border:1px solid var(--gl-line) !important;
	color:var(--gl-ink-2) !important;
	border-radius:999px !important;
	box-shadow:0 2px 8px rgba(0,20,60,.05);
}
.section-cat-navbtn .btn:hover{border-color:rgba(65,114,250,.4) !important;color:var(--gl-blue) !important;}
.section-cat-navbtn .btn.active{
	background-image:var(--gl-grad-blue);
	color:#fff !important;border-color:transparent !important;
	box-shadow:0 4px 12px rgba(65,114,250,.32);
}

/* 数据概览 */
.home-overview .bg-warp{position:relative;overflow:hidden;}
.home-overview .bg-warp:after{
	content:'';position:absolute;left:0;top:0;right:0;bottom:0;
	background-image:linear-gradient(180deg,rgba(11,26,51,.42),rgba(11,26,51,.62));
	z-index:0;
}
.home-overview .bg-warp .container{position:relative;z-index:1;}
.home-overview .count-item span{font-weight:700;letter-spacing:-1px;}

/* VIP 价格卡 */
.price-card{border-radius:var(--gl-r-xl) !important;}
.price-card:hover{transform:translateY(-6px);box-shadow:var(--gl-shadow-hover) !important;}
.price-card .price-header{
	background-color:rgba(65,114,250,.08) !important;
	background-image:var(--gl-inner) !important;
	color:var(--gl-ink) !important;
	border-bottom:1px solid var(--gl-line);
}
.price-card .price-plan{color:var(--gl-ink) !important;font-weight:700;}
.price-card .price-sub,.price-card .price-desc{color:var(--gl-ink-3) !important;}
.price-card .price-body{border-color:var(--gl-line-soft) !important;}
.price-card .price-ammount{
	color:var(--gl-blue) !important;font-weight:700;letter-spacing:-1px;
	background-image:none !important;-webkit-text-fill-color:currentColor !important;
}
.price-card .price-footer{
	background-color:rgba(255,255,255,.4) !important;
	border-top:1px solid var(--gl-line-soft) !important;
}

/* 分类/功能宫格 */
.division-item{border-radius:var(--gl-r-lg) !important;padding:14px !important;}
.division-item:hover{transform:translateY(-4px);box-shadow:var(--gl-shadow-hover) !important;border-color:rgba(65,114,250,.28) !important;}
.division-icon{
	background-color:rgba(65,114,250,.1) !important;
	color:var(--gl-blue) !important;
	border-radius:var(--gl-r-sm);
}
.division-title{color:var(--gl-ink);font-weight:600;}
.division-desc{color:var(--gl-ink-3);}

/* 轮播 / Owl 组件 */
.widget-slider,.widget-catbox{border-radius:var(--gl-r-xl) !important;overflow:hidden;}
.widget-slider-item,.widget-catbox-item,.cms-left-itme,.cms-right-itme{border-radius:var(--gl-r-lg);overflow:hidden;}
.widget-slider .slider-warp{
	background-image:linear-gradient(180deg,rgba(11,26,51,0),rgba(11,26,51,.65)) !important;
}
.owl-theme .owl-dots .owl-dot span{
	background-color:rgba(255,255,255,.6) !important;
	-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
	border-radius:999px;transition:var(--gl-bt);
}
.owl-theme .owl-dots .owl-dot.active span{
	background-image:var(--gl-grad-blue) !important;
	width:24px !important;border-radius:999px !important;
}
.owl-theme .owl-nav button.owl-prev,.owl-theme .owl-nav button.owl-next{
	background-color:rgba(255,255,255,.72) !important;
	-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
	border:1px solid var(--gl-line) !important;
	border-radius:999px !important;
	color:var(--gl-ink) !important;
	box-shadow:var(--gl-shadow-sm);
	transition:var(--gl-bt);
}
.owl-theme .owl-nav button.owl-prev:hover,.owl-theme .owl-nav button.owl-next:hover{
	background-image:var(--gl-grad-blue) !important;color:#fff !important;border-color:transparent !important;
}
.home-cat-box .catbox-content,.home-cat-box .catbox-title{color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.45);}

/* 通用背景区块 */
.bg-warp{border-radius:var(--gl-r-xl);overflow:hidden;}
.bg-warp .bg-title{color:#fff;font-weight:700;text-shadow:0 2px 14px rgba(0,0,0,.4);}
.bg-warp .bg-desc{color:rgba(255,255,255,.86);}

/* ============================================================
   17. 用户中心（/user/* 全部页面重做）
   ------------------------------------------------------------
   覆盖子主题 template-parts/user/index.php 与 part/*.php。
   统一前缀 uc-：
     uc-hero        顶部欢迎条
     uc-tabnav      移动端横向导航（父主题手机端原本无导航）
     uc-user-card   侧栏用户卡
     uc-menu        侧栏菜单
     uc-pagehead    当前页面标题条
     uc-panel       内容面板（取代父主题 .card）
     uc-metrics     指标卡网格
     uc-rows        记录列表
     uc-btn / uc-tag / uc-empty / uc-form 等基础件
   ============================================================ */
.uc-page{background-color:transparent !important;}
.uc-wrap{position:relative;z-index:1;}

/* ============ 顶部欢迎条 ============ */
.uc-hero{
	display:flex;
	align-items:center;
	gap:16px;
	padding:18px 22px;
	margin-bottom:16px;
	background-color:rgba(255,255,255,.62);
	background-image:linear-gradient(120deg,rgba(65,114,250,.14),rgba(255,255,255,.2) 55%);
	-webkit-backdrop-filter:var(--gl-blur);
	backdrop-filter:var(--gl-blur);
	border:1px solid var(--gl-line);
	border-radius:var(--gl-r-xl);
	box-shadow:var(--gl-shadow);
}
.uc-hero__avatar{flex:0 0 auto;width:56px;height:56px;border-radius:50%;overflow:hidden;border:2px solid rgba(255,255,255,.9);box-shadow:0 6px 18px rgba(0,20,60,.14);}
.uc-hero__avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.uc-hero__text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px;}
.uc-hero__hi{
	display:flex;align-items:center;gap:8px;flex-wrap:wrap;
	font-size:1.0625rem;font-weight:700;color:var(--gl-ink);letter-spacing:-.2px;
}
.uc-hero__badge{margin:0;}
.uc-hero__sub{
	display:flex;align-items:center;gap:12px;flex-wrap:wrap;
	font-size:.75rem;color:var(--gl-ink-3);
}
.uc-hero__sub i{color:var(--gl-blue);margin-right:4px;}
.uc-hero__dot{width:4px;height:4px;border-radius:50%;background-color:var(--gl-line);font-style:normal;}
.uc-hero__actions{flex:0 0 auto;display:flex;align-items:center;gap:8px;}
.uc-hero__btn{
	display:inline-flex;align-items:center;gap:6px;
	height:34px;padding:0 14px;
	border:1px solid var(--gl-line);
	border-radius:999px;
	background-color:rgba(255,255,255,.6);
	background-image:var(--gl-inner);
	color:var(--gl-ink-2);font-size:.8125rem;font-weight:600;text-decoration:none;
	transition:var(--gl-bt);
}
.uc-hero__btn:hover{color:var(--gl-blue);border-color:rgba(65,114,250,.4);background-color:rgba(255,255,255,.9);transform:translateY(-1px);}
.uc-hero__btn.is-quiet{color:var(--gl-ink-3);}

/* ============ 移动端横向导航 ============ */
.uc-tabnav{
	display:flex;gap:8px;
	margin-bottom:14px;
	padding:6px;
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
	scrollbar-width:none;
	background-color:rgba(255,255,255,.55);
	-webkit-backdrop-filter:var(--gl-blur);
	backdrop-filter:var(--gl-blur);
	border:1px solid var(--gl-line);
	border-radius:var(--gl-r-lg);
	box-shadow:var(--gl-shadow-sm);
}
.uc-tabnav::-webkit-scrollbar{display:none;}
.uc-tabnav .uc-tab{
	flex:0 0 auto;
	display:inline-flex;flex-direction:column;align-items:center;gap:4px;
	min-width:68px;padding:9px 10px;
	border-radius:var(--gl-r-sm);
	color:var(--gl-ink-3);font-size:.6875rem;font-weight:600;text-decoration:none;
	transition:var(--gl-bt);
}
.uc-tabnav .uc-tab i{font-size:.9375rem;}
.uc-tabnav .uc-tab.is-active{
	background-image:var(--gl-grad-blue);
	color:#fff;
	box-shadow:0 4px 12px rgba(65,114,250,.32);
}

/* ============ 侧栏：用户卡 ============ */
.uc-user-card{
	padding:22px 18px 16px;
	margin-bottom:16px;
	text-align:center;
	background-color:rgba(255,255,255,.62);
	background-image:linear-gradient(180deg,rgba(65,114,250,.16),rgba(255,255,255,.1) 42%);
	-webkit-backdrop-filter:var(--gl-blur);
	backdrop-filter:var(--gl-blur);
	border:1px solid var(--gl-line);
	border-radius:var(--gl-r-xl);
	box-shadow:var(--gl-shadow);
}
.uc-user-card__top{display:flex;flex-direction:column;align-items:center;gap:6px;}
.uc-user-card__avatar{
	width:76px;height:76px;border-radius:50%;overflow:hidden;
	border:3px solid rgba(255,255,255,.92);
	box-shadow:0 8px 24px rgba(0,20,60,.16);
	margin-bottom:6px;
}
.uc-user-card__avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.uc-user-card__name{
	display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;
	font-size:1rem;font-weight:700;color:var(--gl-ink);line-height:1.3;
}
.uc-user-card__name img{border-radius:50%;}
.uc-user-card__id{font-size:.75rem;color:var(--gl-ink-3);}
.uc-user-card__vip{
	display:inline-flex;align-items:center;gap:5px;
	margin-top:2px;padding:4px 12px;border-radius:999px;
	font-size:.6875rem;font-weight:600;
	background-color:rgba(255,255,255,.65);border:1px solid var(--gl-line);
	color:var(--gl-ink-3);
}
.uc-user-card__vip.is-on{
	background-image:var(--gl-grad-orange);
	background-color:transparent;border-color:transparent;color:#fff;
	box-shadow:0 4px 12px rgba(180,120,20,.28);
}
.uc-user-card__quota{
	display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
	margin-top:16px;padding-top:16px;
	border-top:1px dashed var(--gl-line-soft);
}
.uc-quota{display:flex;flex-direction:column;gap:2px;}
.uc-quota b{font-size:1.0625rem;font-weight:800;color:var(--gl-ink);letter-spacing:-.3px;line-height:1.2;}
.uc-quota i{font-size:.6875rem;font-style:normal;color:var(--gl-ink-3);}
.uc-quota.is-used b{color:#a9770f;}
.uc-quota.is-left b{color:#3d8f6d;}
.uc-user-card__signin{margin-top:14px;}
.uc-signin{
	display:flex;align-items:center;justify-content:center;gap:7px;
	width:100%;height:40px;border-radius:var(--gl-r-sm);
	background-image:var(--gl-grad-orange);
	color:#fff;font-size:.8125rem;font-weight:700;text-decoration:none;
	box-shadow:0 4px 12px rgba(180,120,20,.3),inset 0 -2px 0 0 rgba(180,120,20,.55);
	transition:var(--gl-bt);
}
.uc-signin:hover{color:#fff;transform:translateY(-2px);}
.uc-signin.is-done{
	background-image:none;background-color:rgba(103,194,58,.14);
	color:#3d8f6d;box-shadow:none;
	border:1px solid rgba(103,194,58,.26);
	cursor:default;
}
.uc-signin.is-done:hover{transform:none;}

/* ============ 侧栏：菜单 ============ */
.uc-menu{
	padding:10px;
	background-color:rgba(255,255,255,.62);
	background-image:var(--gl-inner);
	-webkit-backdrop-filter:var(--gl-blur);
	backdrop-filter:var(--gl-blur);
	border:1px solid var(--gl-line);
	border-radius:var(--gl-r-xl);
	box-shadow:var(--gl-shadow);
}
.uc-menu .uc-menu-warp{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.uc-menu-warp .menu-item{text-align:left;letter-spacing:0;}
.uc-menu-warp .menu-item a{
	display:flex;align-items:center;gap:11px;
	padding:11px 13px;border-radius:var(--gl-r-sm);
	color:var(--gl-ink-2) !important;font-size:.8125rem;font-weight:600;
	text-decoration:none;transition:var(--gl-bt);
}
.uc-menu__icon{flex:0 0 16px;width:16px;text-align:center;color:var(--gl-ink-3);font-size:.875rem;transition:var(--gl-bt);}
.uc-menu__text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.uc-menu__arrow{flex:0 0 auto;font-size:.625rem;color:var(--gl-line);opacity:.9;transition:var(--gl-bt);}
.uc-menu-warp .menu-item a:hover{background-color:rgba(65,114,250,.1) !important;color:var(--gl-blue) !important;}
.uc-menu-warp .menu-item a:hover .uc-menu__icon{color:var(--gl-blue);}
.uc-menu-warp .menu-item a:hover .uc-menu__arrow{color:var(--gl-blue);transform:translateX(2px);}
.uc-menu-warp .menu-item.current-menu-item a{
	background-image:var(--gl-grad-blue) !important;
	color:#fff !important;
	box-shadow:0 4px 12px rgba(65,114,250,.3);
}
.uc-menu-warp .menu-item.current-menu-item .uc-menu__icon{color:#fff;}
.uc-menu-warp .menu-item.current-menu-item .uc-menu__arrow{color:rgba(255,255,255,.7);}
.uc-menu-warp .menu-item.is-logout{margin-top:6px;padding-top:6px;border-top:1px dashed var(--gl-line-soft);}
.uc-menu-warp .menu-item.is-logout a{color:var(--gl-ink-3) !important;}
.uc-menu-warp .menu-item.is-logout a:hover{background-color:rgba(245,108,108,.1) !important;color:#c94848 !important;}
.uc-menu-warp .menu-item.is-logout a:hover .uc-menu__icon{color:#c94848;}

/* ============ 页面标题条 ============ */
.uc-pagehead{
	display:flex;align-items:center;gap:12px;
	padding:0 2px 14px;
	margin-bottom:14px;
	border-bottom:1px solid var(--gl-line-soft);
}
.uc-pagehead__icon{
	flex:0 0 38px;width:38px;height:38px;
	display:inline-flex;align-items:center;justify-content:center;
	border-radius:13px;
	background-image:var(--gl-grad-blue);
	color:#fff;font-size:.9375rem;
	box-shadow:0 6px 16px rgba(65,114,250,.3),inset 0 1px 0 rgba(255,255,255,.45);
}
.uc-pagehead__text{display:flex;flex-direction:column;gap:2px;min-width:0;}
.uc-pagehead__title{font-size:1.125rem;font-weight:700;color:var(--gl-ink);line-height:1.3;letter-spacing:-.2px;}
.uc-pagehead__sub{font-size:.6875rem;color:var(--gl-ink-3);}

/* ============ 通用面板 ============ */
.uc-panel{
	position:relative;
	margin-bottom:16px;
	background-color:rgba(255,255,255,.62);
	background-image:var(--gl-inner);
	-webkit-backdrop-filter:var(--gl-blur);
	backdrop-filter:var(--gl-blur);
	border:1px solid var(--gl-line);
	border-radius:var(--gl-r-xl);
	box-shadow:var(--gl-shadow);
	overflow:hidden;
}
.uc-panel:last-child{margin-bottom:0;}
.uc-panel--dim{background-color:rgba(255,255,255,.4);background-image:none;box-shadow:var(--gl-shadow-sm);}

.uc-panel__head{
	display:flex;align-items:center;gap:12px;
	padding:16px 20px;
	background-image:linear-gradient(180deg,rgba(65,114,250,.1),rgba(65,114,250,0));
	border-bottom:1px solid var(--gl-line-soft);
}
.uc-panel__icon{
	flex:0 0 38px;width:38px;height:38px;
	display:inline-flex;align-items:center;justify-content:center;
	border-radius:13px;
	background-image:var(--gl-grad-blue);
	color:#fff;font-size:.875rem;
	box-shadow:0 6px 16px rgba(65,114,250,.28),inset 0 1px 0 rgba(255,255,255,.45);
}
.uc-panel__text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px;}
.uc-panel__title{font-size:.9375rem;font-weight:700;color:var(--gl-ink);line-height:1.3;}
.uc-panel__sub{font-size:.6875rem;color:var(--gl-ink-3);line-height:1.45;}
.uc-panel__count{
	flex:0 0 auto;display:flex;align-items:baseline;gap:3px;
	font-size:1.25rem;font-weight:800;color:var(--gl-blue);letter-spacing:-.5px;
}
.uc-panel__count i{font-size:.6875rem;font-style:normal;font-weight:600;color:var(--gl-ink-3);letter-spacing:0;}
.uc-panel__actions{flex:0 0 auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.uc-panel__body{padding:18px 20px 20px;}
.uc-panel__center{display:flex;justify-content:center;margin-top:18px;}
.uc-panel__pager{margin-top:20px;}
.uc-panel .post-item{
	background-color:rgba(255,255,255,.55) !important;
	box-shadow:none !important;
	border-color:var(--gl-line-soft) !important;
}

/* ============ 面板内切换标签 ============ */
.uc-tabs{
	display:flex;gap:8px;
	padding:12px 20px 0;
	overflow-x:auto;
	scrollbar-width:none;
}
.uc-tabs::-webkit-scrollbar{display:none;}
.uc-tab{
	flex:0 0 auto;
	display:inline-flex;align-items:center;gap:7px;
	padding:8px 15px;
	border-radius:999px;
	border:1px solid var(--gl-line);
	background-color:rgba(255,255,255,.5);
	color:var(--gl-ink-2);font-size:.8125rem;font-weight:600;text-decoration:none;
	transition:var(--gl-bt);
}
.uc-tab:hover{border-color:rgba(65,114,250,.4);color:var(--gl-blue);}
.uc-tab.is-active{
	background-image:var(--gl-grad-blue);
	border-color:transparent;color:#fff;
	box-shadow:0 4px 12px rgba(65,114,250,.3);
}
.uc-tab__num{
	font-style:normal;font-size:.6875rem;font-weight:700;
	min-width:18px;height:18px;line-height:18px;text-align:center;
	padding:0 5px;border-radius:999px;
	background-color:rgba(11,26,51,.08);color:inherit;
}
.uc-tab.is-active .uc-tab__num{background-color:rgba(255,255,255,.28);}

/* ============ 指标卡 ============ */
.uc-metrics{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(118px,1fr));
	gap:10px;
}
.uc-metric{
	position:relative;
	display:flex;flex-direction:column;gap:3px;
	padding:14px 15px;
	border-radius:var(--gl-r-md);
	background-color:rgba(255,255,255,.6);
	border:1px solid var(--gl-line-soft);
	overflow:hidden;
	transition:var(--gl-bt);
}
.uc-metric:hover{transform:translateY(-2px);box-shadow:var(--gl-shadow-sm);}
.uc-metric__icon{
	position:absolute;right:10px;top:10px;
	font-size:1.125rem;opacity:.16;color:currentColor;
}
.uc-metric__num{
	font-size:1.5rem;font-weight:800;line-height:1.15;letter-spacing:-.5px;
	color:var(--gl-ink);
}
.uc-metric__num em{font-size:.8125rem;font-style:normal;font-weight:700;margin-right:1px;}
.uc-metric__label{font-size:.6875rem;color:var(--gl-ink-3);font-weight:600;}
.uc-metric.is-blue{background-image:linear-gradient(135deg,rgba(65,114,250,.16),rgba(65,114,250,.03));border-color:rgba(65,114,250,.22);color:var(--gl-blue);}
.uc-metric.is-blue .uc-metric__num{color:var(--gl-blue);}
.uc-metric.is-green{background-image:linear-gradient(135deg,rgba(103,194,58,.16),rgba(103,194,58,.03));border-color:rgba(103,194,58,.24);color:#3d8f6d;}
.uc-metric.is-green .uc-metric__num{color:#3d8f6d;}
.uc-metric.is-orange{background-image:linear-gradient(135deg,rgba(230,162,60,.18),rgba(230,162,60,.03));border-color:rgba(230,162,60,.28);color:#a9770f;}
.uc-metric.is-orange .uc-metric__num{color:#a9770f;}
.uc-metric.is-purple{background-image:linear-gradient(135deg,rgba(139,92,246,.16),rgba(139,92,246,.03));border-color:rgba(139,92,246,.24);color:#7c4de0;}
.uc-metric.is-purple .uc-metric__num{color:#7c4de0;}
.uc-metric.is-red{background-image:linear-gradient(135deg,rgba(245,108,108,.16),rgba(245,108,108,.03));border-color:rgba(245,108,108,.24);color:#c94848;}
.uc-metric.is-red .uc-metric__num{color:#c94848;}
.uc-metric.is-muted .uc-metric__num{color:var(--gl-ink-3);}

/* ============ 记录列表 ============ */
.uc-rows{display:flex;flex-direction:column;gap:8px;}
.uc-row{
	position:relative;
	display:flex;align-items:center;gap:12px;
	padding:14px 18px 14px 16px;
	border-radius:var(--gl-r-md);
	background-color:rgba(255,255,255,.55);
	border:1px solid var(--gl-line-soft);
	color:inherit;text-decoration:none;
	transition:var(--gl-bt);
}
.uc-row:hover{
	border-color:rgba(65,114,250,.3);
	background-color:rgba(255,255,255,.88);
	transform:translateY(-2px);
	box-shadow:var(--gl-shadow-sm);
}
/* 左侧色条 */
.uc-row::before{
	content:'';position:absolute;left:0;top:14px;bottom:14px;width:3px;
	border-radius:0 3px 3px 0;
	background-image:var(--gl-grad-blue);opacity:0;
	transition:opacity .2s ease;
}
.uc-row:hover::before{opacity:1;}
.uc-row__thumb{
	flex:0 0 54px;width:54px;height:40px;
	border-radius:9px;
	background-color:rgba(226,235,251,.85);
	background-size:cover;background-position:center;background-repeat:no-repeat;
	border:1px solid var(--gl-line-soft);
}
.uc-row__thumb.is-avatar{width:38px;height:38px;flex-basis:38px;border-radius:50%;overflow:hidden;background-size:cover;}
.uc-row__thumb.is-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.uc-row__icon{
	flex:0 0 38px;width:38px;height:38px;
	display:inline-flex;align-items:center;justify-content:center;
	border-radius:12px;
	background-color:rgba(65,114,250,.1);color:var(--gl-blue);font-size:.875rem;
}
.uc-row__icon.is-green{background-color:rgba(103,194,58,.14);color:#3d8f6d;}
.uc-row__icon.is-orange{background-color:rgba(230,162,60,.16);color:#a9770f;}
.uc-row__main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:5px;}
.uc-row__title{
	display:flex;align-items:center;gap:8px;flex-wrap:wrap;
	font-size:.8125rem;font-weight:600;color:var(--gl-ink);line-height:1.45;
	min-width:0;
}
.uc-row__title a{color:inherit;text-decoration:none;}
.uc-row__title a:hover{color:var(--gl-blue);}
.uc-row__gain{
	display:inline-flex;align-items:center;
	font-style:normal;font-size:.75rem;font-weight:700;
	padding:2px 8px;border-radius:999px;
	background-color:rgba(65,114,250,.12);color:var(--gl-blue);
}
.uc-row__gain.is-big{font-size:.9375rem;padding:3px 11px;background-image:var(--gl-grad-green);color:#fff;}
.uc-row__sub{font-style:normal;font-size:.75rem;font-weight:500;color:var(--gl-ink-3);}
.uc-row__meta{
	display:flex;align-items:center;gap:14px;flex-wrap:wrap;
	font-size:.6875rem;color:var(--gl-ink-3);
}
.uc-row__meta i{margin-right:4px;opacity:.85;}
.uc-row__side{
	flex:0 0 auto;
	display:flex;flex-direction:column;align-items:flex-end;gap:4px;
	text-align:right;
}
.uc-row__side.is-actions{flex-direction:row;align-items:center;gap:6px;}
.uc-row__price{font-size:1rem;font-weight:800;color:var(--gl-blue);letter-spacing:-.3px;}
.uc-row__time{font-size:.6875rem;color:var(--gl-ink-3);white-space:nowrap;}
.uc-row__arrow{color:var(--gl-line);font-size:.6875rem;}
.uc-row:hover .uc-row__arrow{color:var(--gl-blue);transform:translateX(2px);}
.uc-row__op{
	display:inline-flex;align-items:center;gap:5px;
	height:30px;padding:0 11px;border-radius:9px;
	border:1px solid var(--gl-line);
	background-color:rgba(255,255,255,.5);
	color:var(--gl-ink-2);font-size:.75rem;font-weight:600;text-decoration:none;
	transition:var(--gl-bt);
}
.uc-row__op:hover{border-color:rgba(65,114,250,.4);color:var(--gl-blue);background-color:rgba(255,255,255,.9);}
.uc-row__op.is-danger:hover{border-color:rgba(245,108,108,.4);color:#c94848;background-color:rgba(245,108,108,.08);}
.uc-row.is-post{align-items:flex-start;}

/* ============ 状态标签 ============ */
.uc-tag{
	display:inline-flex;align-items:center;gap:4px;
	padding:3px 10px;border-radius:999px;
	font-size:.6875rem;font-weight:700;line-height:1.5;white-space:nowrap;
}
.uc-tag i{font-size:.625rem;}
.uc-tag.is-blue{background-color:rgba(65,114,250,.12);color:var(--gl-blue);}
.uc-tag.is-green{background-color:rgba(103,194,58,.14);color:#3d8f6d;}
.uc-tag.is-orange{background-color:rgba(230,162,60,.16);color:#a9770f;}
.uc-tag.is-red{background-color:rgba(245,108,108,.14);color:#c94848;}
.uc-tag.is-muted{background-color:rgba(11,26,51,.06);color:var(--gl-ink-3);}

/* ============ 空状态 ============ */
.uc-empty{
	display:flex;flex-direction:column;align-items:center;gap:10px;
	padding:44px 20px;
	color:var(--gl-ink-3);font-size:.8125rem;text-align:center;
}
.uc-empty>i{font-size:2rem;opacity:.35;}
.uc-empty__btn{
	display:inline-flex;align-items:center;
	margin-top:4px;padding:9px 20px;border-radius:999px;
	background-image:var(--gl-grad-blue);color:#fff;
	font-size:.8125rem;font-weight:600;text-decoration:none;
	box-shadow:0 4px 12px rgba(65,114,250,.3);
	transition:var(--gl-bt);
}
.uc-empty__btn:hover{color:#fff;transform:translateY(-2px);}

/* ============ 按钮体系 ============ */
.uc-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:7px;
	height:40px;padding:0 18px;
	border:1px solid transparent;
	border-radius:var(--gl-r-xs);
	font-size:.8125rem;font-weight:700;
	text-decoration:none;cursor:pointer;
	transition:var(--gl-bt);
	white-space:nowrap;
}
.uc-btn i{font-size:.875rem;}
.uc-btn:disabled,.uc-btn.is-disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none !important;}
.uc-btn.is-block,.uc-btn.is-lg{width:100%;}
.uc-btn.is-lg{height:46px;font-size:.875rem;border-radius:var(--gl-r-sm);}
.uc-btn.is-blue{
	background-image:var(--gl-grad-blue);color:#fff;
	box-shadow:0 4px 12px rgba(44,71,146,.3),inset 0 -2px 0 0 var(--gl-blue-deep),inset 0 1px 0 rgba(255,255,255,.35);
}
.uc-btn.is-blue:hover{background-image:linear-gradient(180deg,#5a7fff,var(--gl-blue-deep));transform:translateY(-2px);color:#fff;}
.uc-btn.is-red{
	background-image:var(--gl-grad-red);color:#fff;
	box-shadow:0 4px 12px rgba(180,40,40,.28),inset 0 -2px 0 0 #e05555,inset 0 1px 0 rgba(255,255,255,.35);
}
.uc-btn.is-red:hover{background-image:linear-gradient(180deg,#f07070,#e05555);transform:translateY(-2px);color:#fff;}
.uc-btn.is-green{
	background-image:var(--gl-grad-green);color:#fff;
	box-shadow:0 4px 12px rgba(60,130,30,.26),inset 0 -2px 0 0 #55a830,inset 0 1px 0 rgba(255,255,255,.35);
}
.uc-btn.is-green:hover{background-image:linear-gradient(180deg,#6cc83a,#55a830);transform:translateY(-2px);color:#fff;}
.uc-btn.is-orange{
	background-image:var(--gl-grad-orange);color:#fff;
	box-shadow:0 4px 12px rgba(180,120,20,.28),inset 0 -2px 0 0 rgba(180,120,20,.55),inset 0 1px 0 rgba(255,255,255,.35);
}
.uc-btn.is-orange:hover{background-image:linear-gradient(180deg,#f0b25a,#d9930f);transform:translateY(-2px);color:#fff;}
.uc-btn.is-dark{
	background-image:var(--gl-grad-dark);color:#fff;
	box-shadow:0 4px 12px rgba(10,16,32,.3),inset 0 -2px 0 0 #0b1120;
}
.uc-btn.is-dark:hover{transform:translateY(-2px);color:#fff;}
.uc-btn.is-soft{
	background-color:rgba(255,255,255,.7);
	background-image:var(--gl-inner);
	border-color:var(--gl-line);
	color:var(--gl-ink-2);
	box-shadow:var(--gl-shadow-sm);
}
.uc-btn.is-soft:hover{border-color:rgba(65,114,250,.4);color:var(--gl-blue);background-color:rgba(255,255,255,.95);}
.uc-btn.is-ghost{
	background-color:rgba(255,255,255,.45);
	border-color:var(--gl-line);
	color:var(--gl-ink-2);
}
.uc-btn.is-ghost:hover{border-color:rgba(65,114,250,.4);color:var(--gl-blue);background-color:rgba(255,255,255,.85);}
.uc-btn:active{transform:translateY(0) scale(.98);}

/* ============ 表单 ============ */
.uc-form{display:flex;flex-direction:column;gap:16px;}
.uc-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.uc-form__col{min-width:0;display:flex;flex-direction:column;gap:6px;}
.uc-form__col.is-full{grid-column:1 / -1;}
.uc-form__foot{
	display:flex;align-items:center;justify-content:flex-end;gap:10px;
	flex-wrap:wrap;
	padding-top:4px;
}
.uc-form__foot.is-center{justify-content:center;}

/* ============ 分割线 / 有序列表 ============ */
.uc-divider{
	display:flex;align-items:center;gap:12px;
	margin:18px 0;
	font-size:.75rem;color:var(--gl-ink-3);font-weight:600;
}
.uc-divider:before,.uc-divider:after{
	content:'';flex:1 1 auto;height:1px;background-color:var(--gl-line-soft);
}
.uc-divider>span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;}
.uc-divider__num{
	display:inline-flex;align-items:center;justify-content:center;
	min-width:20px;height:20px;padding:0 6px;border-radius:999px;
	background-image:var(--gl-grad-green);color:#fff;
	font-style:normal;font-size:.6875rem;font-weight:700;
}
.uc-list{
	list-style:none;counter-reset:uc-list;
	margin:0;padding:0;display:flex;flex-direction:column;gap:8px;
}
.uc-list li{
	position:relative;
	counter-increment:uc-list;
	padding:11px 16px 11px 44px;
	border-radius:var(--gl-r-sm);
	background-color:rgba(255,255,255,.5);
	border:1px solid var(--gl-line-soft);
	color:var(--gl-ink-2);font-size:.75rem;line-height:1.7;
}
.uc-list li:before{
	content:counter(uc-list);
	position:absolute;left:13px;top:11px;
	width:20px;height:20px;line-height:20px;text-align:center;
	border-radius:6px;
	background-image:var(--gl-grad-blue);color:#fff;
	font-size:.625rem;font-weight:700;
}

/* ============ 余额英雄区 ============ */
.uc-balance{
	display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
	padding:22px 24px;
}
.uc-balance__text{display:flex;flex-direction:column;gap:8px;min-width:0;}
.uc-balance__label{font-size:.75rem;color:var(--gl-ink-3);font-weight:600;}
.uc-balance__num{
	display:flex;align-items:baseline;gap:5px;
	font-size:2.25rem;font-weight:800;line-height:1;letter-spacing:-1px;
	color:var(--gl-blue);
}
.uc-balance__num i{font-size:1.125rem;margin-right:2px;opacity:.85;}
.uc-balance__num em{font-size:.875rem;font-style:normal;font-weight:700;color:var(--gl-ink-3);letter-spacing:0;}
.uc-balance__side{flex:0 0 auto;}

/* ============ 充值面额 ============ */
.uc-coins{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(104px,1fr));
	gap:10px;
}
/*
 * 关键结构：父主题 JS 是这样清除其它卡选中态的 ——
 *   $(this).addClass("active").parent().siblings().find(".coin-pay-card").removeClass("active")
 * 它依赖「每张卡都有一个独占的父元素」。
 * 若把 .coin-pay-card 直接铺在网格里，parent() 就是整个网格，
 * siblings() 为空 → removeClass 永不执行 → 多张卡同时高亮（重复样式）。
 * 所以这里必须包一层 .uc-coin-col。
 */
.uc-coins .uc-coin-col{display:flex;min-width:0;}
.uc-coin-card{
	flex:1 1 auto;
	position:relative;
	display:flex;flex-direction:column;align-items:center;gap:4px;
	padding:16px 10px;
	border-radius:var(--gl-r-md);
	background-color:rgba(255,255,255,.6);
	border:1px solid var(--gl-line);
	cursor:pointer;
	transition:var(--gl-bt);
	overflow:hidden;
}
.uc-coin-card:hover{border-color:rgba(65,114,250,.5);transform:translateY(-2px);box-shadow:var(--gl-shadow-sm);}
.uc-coin-card__num{
	display:flex;align-items:baseline;gap:2px;
	font-size:1.25rem;font-weight:800;color:var(--gl-blue);letter-spacing:-.4px;line-height:1.1;
}
.uc-coin-card__num em{font-size:.6875rem;font-style:normal;font-weight:700;}
.uc-coin-card__price{font-size:.75rem;color:var(--gl-ink-3);font-weight:600;}
.uc-coin-card__tick{
	position:absolute;right:0;top:0;
	width:0;height:0;
	border-top:26px solid transparent;
	border-right:26px solid transparent;
	transition:var(--gl-bt);
}
.uc-coin-card.active{
	border-color:transparent;
	background-image:linear-gradient(135deg,rgba(65,114,250,.2),rgba(65,114,250,.05));
	box-shadow:0 6px 18px rgba(65,114,250,.24),inset 0 0 0 1px rgba(65,114,250,.5);
}
.uc-coin-card.active .uc-coin-card__num{color:var(--gl-blue-deep);}
.uc-coin-card.active .uc-coin-card__tick{
	border-right-color:var(--gl-blue);
}
.uc-coin-card.active .uc-coin-card__tick:after{
	content:'\f00c';
	position:absolute;right:-24px;top:-22px;
	font-family:'Font Awesome 5 Free';font-weight:900;
	font-size:.625rem;color:#fff;
}
.uc-pay-bar{display:flex;justify-content:center;margin-top:20px;}

/* ============ 验证码 ============ */
.uc-captcha{display:flex;gap:10px;align-items:stretch;}
.uc-captcha>.form-control{flex:1 1 auto;min-width:0;}
.uc-captcha__img{
	flex:0 0 auto;max-width:110px;
	cursor:pointer;
	border-radius:var(--gl-r-xs) !important;
	border:1px solid var(--gl-line);
	background-color:rgba(255,255,255,.6);
}

/* ============ 头像上传行 ============ */
.uc-avatar-row{
	display:flex;align-items:center;gap:18px;
	padding:16px 18px;
	margin-bottom:18px;
	border-radius:var(--gl-r-md);
	background-color:rgba(255,255,255,.5);
	border:1px dashed var(--gl-line);
}
.uc-avatar-row__pic{
	flex:0 0 72px;width:72px;height:72px;border-radius:50%;overflow:hidden;
	border:3px solid rgba(255,255,255,.9);
	box-shadow:0 6px 18px rgba(0,20,60,.14);
}
.uc-avatar-row__pic img{width:100%;height:100%;object-fit:cover;display:block;}
.uc-avatar-row__text{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;}
.uc-avatar-row__text b{font-size:.9375rem;font-weight:700;color:var(--gl-ink);}
.uc-avatar-row__text em{font-size:.6875rem;font-style:normal;color:var(--gl-ink-3);}
.uc-avatar-row__text .uc-btn{height:34px;padding:0 14px;font-size:.75rem;}

/* ============ 第三方绑定 ============ */
.uc-oauth{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;}

/* ============ 会员概况 ============ */
.uc-vip-user{
	display:flex;align-items:center;gap:16px;
	padding-bottom:18px;margin-bottom:18px;
	border-bottom:1px dashed var(--gl-line-soft);
}
.uc-vip-user__avatar{position:relative;flex:0 0 64px;width:64px;height:64px;}
.uc-vip-user__avatar>img{
	width:64px;height:64px;border-radius:50%;object-fit:cover;
	border:3px solid rgba(255,255,255,.9);
	box-shadow:0 6px 18px rgba(0,20,60,.14);
}
.uc-vip-user__crown{
	position:absolute;right:-2px;bottom:-2px;
	width:24px;height:24px;line-height:24px;text-align:center;
	border-radius:50%;
	background-image:var(--gl-grad-orange);color:#fff;font-size:.6875rem;
	border:2px solid #fff;
	box-shadow:0 3px 8px rgba(180,120,20,.35);
}
.uc-vip-user__text{display:flex;flex-direction:column;gap:4px;min-width:0;}
.uc-vip-user__name{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:1rem;font-weight:700;color:var(--gl-ink);}
.uc-vip-user__id{font-size:.75rem;color:var(--gl-ink-3);}
.uc-vip-user__date{font-size:.75rem;color:var(--gl-ink-3);}
.uc-vip-user__date i{color:var(--gl-blue);margin-right:5px;}

/* ============ VIP 套餐网格 ============ */
.uc-prices{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
	gap:14px;
	align-items:stretch;
}
.uc-prices .price-card{display:flex;flex-direction:column;height:100%;}
.uc-prices .price-card .price-body{flex:1 1 auto;}
.uc-prices .price-card.is-vip .price-header{
	background-image:linear-gradient(135deg,rgba(103,194,58,.24),rgba(103,194,58,.05)) !important;
	border-bottom-color:rgba(103,194,58,.25) !important;
}
.uc-prices .price-card.is-boosvip .price-header{
	background-image:linear-gradient(135deg,rgba(230,162,60,.26),rgba(230,162,60,.05)) !important;
	border-bottom-color:rgba(230,162,60,.28) !important;
}
.uc-prices .price-card.is-boosvip{
	border-color:rgba(230,162,60,.35) !important;
	box-shadow:0 8px 28px rgba(180,120,20,.16) !important;
}
.uc-prices .price-desc{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;}
.uc-prices .price-desc li{
	position:relative;padding-left:20px;
	font-size:.75rem;color:var(--gl-ink-2);line-height:1.6;
}
.uc-prices .price-desc li:before{
	content:'\f00c';
	position:absolute;left:0;top:0;
	font-family:'Font Awesome 5 Free';font-weight:900;
	font-size:.625rem;color:#3d8f6d;
}
.uc-prices .price-footer{padding-top:14px;}

/* ============ 推广中心 ============ */
.uc-aff-link{
	display:flex;flex-direction:column;gap:7px;
	padding:14px 18px;
	margin-bottom:18px;
	border-radius:var(--gl-r-md);
	background-image:linear-gradient(135deg,rgba(65,114,250,.14),rgba(65,114,250,.03));
	border:1px dashed rgba(65,114,250,.35);
}
.uc-aff-link__label{font-size:.75rem;font-weight:600;color:var(--gl-ink-3);}
.uc-aff-link__label i{color:var(--gl-blue);margin-right:6px;}
.uc-aff-link__value{
	font-size:.8125rem;font-weight:700;color:var(--gl-blue);
	word-break:break-all;line-height:1.6;
	cursor:copy;
}
.uc-aff-users{display:flex;flex-wrap:wrap;gap:8px;}
.uc-aff-users__item{
	width:36px;height:36px;border-radius:50%;overflow:hidden;
	border:2px solid rgba(255,255,255,.9);
	box-shadow:0 3px 10px rgba(0,20,60,.12);
	transition:var(--gl-bt);
}
.uc-aff-users__item:hover{transform:translateY(-3px) scale(1.06);}
.uc-aff-users__item img{width:100%;height:100%;object-fit:cover;display:block;}
.uc-aff-users__none{margin:0;font-size:.75rem;color:var(--gl-ink-3);}

/* ============ 工单对话 ============ */
.uc-chat{
	display:flex;flex-direction:column;gap:12px;
	padding:16px 18px;
	margin-bottom:14px;
	border-radius:var(--gl-r-lg);
	background-color:rgba(255,255,255,.5);
	border:1px solid var(--gl-line-soft);
}
.uc-chat.is-reply{
	background-image:linear-gradient(135deg,rgba(103,194,58,.12),rgba(103,194,58,.02));
	border-color:rgba(103,194,58,.24);
}
.uc-chat__head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.uc-chat__avatar{
	flex:0 0 34px;width:34px;height:34px;border-radius:50%;overflow:hidden;
	border:2px solid rgba(255,255,255,.9);
}
.uc-chat__avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.uc-chat__who{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px;}
.uc-chat__who b{font-size:.8125rem;font-weight:700;color:var(--gl-ink);}
.uc-chat__who em{font-size:.6875rem;font-style:normal;color:var(--gl-ink-3);}
.uc-chat__tags{display:flex;gap:6px;flex-wrap:wrap;}
.uc-chat__body{display:flex;flex-direction:column;gap:10px;}
.uc-chat__title{
	display:flex;align-items:center;gap:8px;
	margin:0;font-size:.9375rem;font-weight:700;color:var(--gl-ink);
}
.uc-chat__title i{color:var(--gl-blue);}
.uc-chat__content{
	padding:14px 16px;
	border-radius:var(--gl-r-md);
	background-color:rgba(255,255,255,.6);
	border:1px solid var(--gl-line-soft);
	color:var(--gl-ink-2);font-size:.8125rem;line-height:1.8;
	word-break:break-word;
}
.uc-chat__file{display:flex;flex-direction:column;gap:10px;align-items:flex-start;}
.uc-chat__img:not([src=""]){max-width:100%;border-radius:var(--gl-r-sm);border:1px solid var(--gl-line);}
.uc-chat__img[src=""]{display:none;}

/* ============ 响应式 ============ */
@media (max-width:991.98px){
	.uc-hero{padding:16px;gap:12px;}
	.uc-hero__avatar{width:48px;height:48px;}
	.uc-hero__actions{width:100%;justify-content:flex-start;margin-top:4px;}
	.uc-panel__head{padding:14px 16px;gap:10px;}
	.uc-panel__icon{flex-basis:34px;width:34px;height:34px;border-radius:12px;}
	.uc-panel__body{padding:16px;}
	.uc-tabs{padding:10px 16px 0;}
	.uc-pagehead{flex-direction:row;}
	.uc-pagehead__icon{flex-basis:34px;width:34px;height:34px;border-radius:11px;}
	.uc-row{padding:12px 14px;}
	.uc-balance{padding:18px 16px;}
	.uc-balance__num{font-size:1.75rem;}
}
@media (max-width:575.98px){
	.uc-hero{flex-direction:column;align-items:flex-start;}
	.uc-hero__actions{gap:6px;}
	.uc-hero__btn{height:32px;padding:0 12px;font-size:.75rem;}
	.uc-form__row{grid-template-columns:1fr;gap:14px;}
	.uc-metrics{grid-template-columns:repeat(2,1fr);}
	.uc-prices{grid-template-columns:1fr;}
	.uc-balance{flex-direction:column;align-items:stretch;}
	.uc-balance__side .uc-btn{width:100%;}
	.uc-row{flex-wrap:wrap;gap:10px;}
	.uc-row__side{width:100%;flex-direction:row;align-items:center;justify-content:space-between;}
	.uc-row__side.is-actions{justify-content:flex-end;}
	.uc-row__thumb{flex-basis:44px;width:44px;height:34px;}
	.uc-avatar-row{flex-direction:column;text-align:center;align-items:center;}
	.uc-avatar-row__text{align-items:center;}
	.uc-vip-user{flex-direction:column;text-align:center;align-items:center;}
	.uc-vip-user__text{align-items:center;}
	.uc-chat{padding:14px;}
	.uc-divider{margin:14px 0;}
}

/* 暗色模式 */
[data-bs-theme=dark] .uc-hero,
[data-bs-theme=dark] .uc-tabnav,
[data-bs-theme=dark] .uc-user-card,
[data-bs-theme=dark] .uc-menu,
[data-bs-theme=dark] .uc-panel{
	background-color:rgba(28,37,60,.62) !important;
	border-color:var(--gl-line);
}
[data-bs-theme=dark] .uc-panel--dim{background-color:rgba(255,255,255,.04) !important;}
[data-bs-theme=dark] .uc-row,
[data-bs-theme=dark] .uc-metric,
[data-bs-theme=dark] .uc-coin-card,
[data-bs-theme=dark] .uc-list li,
[data-bs-theme=dark] .uc-chat,
[data-bs-theme=dark] .uc-avatar-row,
[data-bs-theme=dark] .uc-chat__content,
[data-bs-theme=dark] .uc-tab,
[data-bs-theme=dark] .uc-btn.is-soft,
[data-bs-theme=dark] .uc-btn.is-ghost,
[data-bs-theme=dark] .uc-hero__btn,
[data-bs-theme=dark] .uc-row__op,
[data-bs-theme=dark] .uc-user-card__vip{
	background-color:rgba(255,255,255,.07) !important;
	border-color:var(--gl-line);
}
[data-bs-theme=dark] .uc-row:hover{background-color:rgba(255,255,255,.13) !important;}
[data-bs-theme=dark] .uc-tab:hover,
[data-bs-theme=dark] .uc-btn.is-ghost:hover,
[data-bs-theme=dark] .uc-hero__btn:hover,
[data-bs-theme=dark] .uc-row__op:hover{background-color:rgba(255,255,255,.15) !important;}
[data-bs-theme=dark] .uc-tag.is-muted,
[data-bs-theme=dark] .uc-tab__num{background-color:rgba(255,255,255,.12);}
[data-bs-theme=dark] .uc-coin-card.active{
	background-image:linear-gradient(135deg,rgba(107,150,255,.26),rgba(107,150,255,.06));
	box-shadow:0 6px 18px rgba(0,0,0,.3),inset 0 0 0 1px rgba(107,150,255,.5);
}
[data-bs-theme=dark] .uc-chat.is-reply{
	background-image:linear-gradient(135deg,rgba(103,194,58,.18),rgba(103,194,58,.03));
}
[data-bs-theme=dark] .uc-panel .post-item{background-color:rgba(255,255,255,.06) !important;}

/* ============================================================
   18. 页脚
   ============================================================ */
.site-footer{
	background-color:rgba(255,255,255,.55) !important;
	background-image:var(--gl-inner) !important;
	-webkit-backdrop-filter:var(--gl-blur-strong);
	backdrop-filter:var(--gl-blur-strong);
	border-top:1px solid var(--gl-line) !important;
	color:var(--gl-ink-3) !important;
	box-shadow:0 -4px 24px rgba(0,20,60,.04);
}
.site-footer .widget-title{
	border-bottom:0 !important;padding:0 0 12px !important;margin:0 0 12px !important;
	color:var(--gl-ink) !important;font-size:.9375rem;font-weight:700;
}
.site-footer .widget-title:after{width:32px;height:3px;}
.site-footer a{color:var(--gl-ink-3) !important;transition:var(--gl-bt);}
.site-footer a:hover{color:var(--gl-blue) !important;}
.site-footer .widget-links li{margin-bottom:8px;}
.site-footer .footer-links{border-top:1px solid var(--gl-line-soft);padding-top:14px;color:var(--gl-ink-3);}
.site-footer .footer-links li{display:inline-block;margin:0 10px;}
.site-footer .text-center.small{color:var(--gl-ink-3) !important;opacity:.85;}

/* ============================================================
   19. 通用工具类（移植自 样式.css，供自定义/HTML 模板使用）
   ============================================================ */
.glass{
	background-color:var(--gl-surface);
	background-image:var(--gl-inner);
	-webkit-backdrop-filter:var(--gl-blur);
	backdrop-filter:var(--gl-blur);
	border:1px solid var(--gl-line);
	border-radius:var(--gl-r-xl);
	padding:40px;
	box-shadow:var(--gl-shadow);
}
.panel{
	background-color:rgba(255,255,255,.6);
	background-image:var(--gl-inner);
	-webkit-backdrop-filter:var(--gl-blur);
	backdrop-filter:var(--gl-blur);
	border:1px solid var(--gl-line);
	border-radius:var(--gl-r-xl);
	padding:28px;margin-bottom:20px;
	box-shadow:var(--gl-shadow-sm);
}
.panel h3{
	font-size:1.1rem;font-weight:600;color:var(--gl-ink);
	margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(0,20,60,.08);
}
.stat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px;margin-bottom:24px;}
.stat-card{
	background-color:rgba(240,246,255,.6);
	-webkit-backdrop-filter:var(--gl-blur);backdrop-filter:var(--gl-blur);
	border:1px solid var(--gl-line);border-radius:var(--gl-r-lg);
	padding:22px 20px;box-shadow:var(--gl-shadow-sm);transition:var(--gl-bt);
}
.stat-card:hover{transform:translateY(-4px);box-shadow:var(--gl-shadow-hover);}
.stat-card .num{font-size:2rem;font-weight:700;color:var(--gl-ink);letter-spacing:-.02em;}
.stat-card .label{font-size:12px;color:var(--gl-ink-2);margin-top:4px;opacity:.7;}
.table-wrap{overflow-x:auto;border-radius:var(--gl-r-md);}
.table-wrap table{width:100%;border-collapse:collapse;font-size:13px;}
.table-wrap th{
	background-color:rgba(65,114,250,.06);padding:12px 14px;text-align:left;
	font-weight:600;color:var(--gl-ink);border-bottom:1px solid rgba(0,20,60,.08);
}
.table-wrap td{padding:11px 14px;border-bottom:1px solid rgba(0,20,60,.04);color:var(--gl-ink-2);}
.table-wrap tr:hover{background-color:rgba(65,114,250,.04);}
.search-bar{display:flex;gap:10px;margin-bottom:20px;align-items:center;flex-wrap:wrap;}
.pager{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:24px;flex-wrap:wrap;}
.pager .pager-btn,.pager .pager-num{
	display:inline-flex;align-items:center;justify-content:center;
	height:36px;min-width:36px;padding:0 16px;
	border:1.5px solid var(--gl-line);border-radius:var(--gl-r-xs);
	font-size:13px;color:var(--gl-ink-2);text-decoration:none;
	background-color:rgba(255,255,255,.6);transition:var(--gl-bt);cursor:pointer;
}
.pager .pager-btn:hover,.pager .pager-num:hover{background-color:rgba(65,114,250,.1);border-color:rgba(65,114,250,.35);color:var(--gl-blue);}
.pager .pager-num.current{background-image:var(--gl-grad-blue);border-color:transparent;color:#fff;font-weight:600;}
.pager .pager-btn.disabled{color:#c0c4cc;background-color:rgba(245,247,250,.6);cursor:not-allowed;pointer-events:none;}
.pager .pager-dots{color:#c0c4cc;padding:0 4px;}
.pager .pager-info{font-size:12px;color:var(--gl-ink-3);margin-left:12px;}
.form-group{margin-bottom:14px;}
.form-group label{display:block;margin-bottom:5px;font-size:12px;font-weight:600;color:var(--gl-ink);}
.form-group input,.form-group select,.form-group textarea{
	width:100%;padding:10px 16px;border:1px solid var(--gl-line);
	border-radius:var(--gl-r-xs);font-size:13px;outline:none;
	background-color:rgba(255,255,255,.7);color:var(--gl-ink);
	box-sizing:border-box;transition:var(--gl-bt);
}
.form-group textarea{border-radius:var(--gl-r-md);min-height:80px;resize:vertical;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gl-blue);box-shadow:var(--gl-focus);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-group.error input,.form-group.error select,.form-group.error textarea{
	border-color:#f56c6c !important;background-color:#fff5f5 !important;
}
.form-group.error .field-error{display:block !important;}
.field-error{display:none;color:#f56c6c;font-size:11px;margin-top:4px;}
.field-error.show{display:block;}
.tabs{display:flex;gap:0;margin-bottom:20px;overflow-x:auto;}
.tab-item{
	padding:8px 20px;cursor:pointer;font-size:13px;font-weight:500;
	color:var(--gl-ink-2);border-radius:30px;text-decoration:none;
	transition:var(--gl-bt);white-space:nowrap;
}
.tab-item:hover{background-color:rgba(65,114,250,.08);color:var(--gl-blue);}
.tab-item.active{background-color:rgba(65,114,250,.12);color:var(--gl-blue);font-weight:600;}
.blue-btn{
	display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
	height:40px;padding:0 20px;min-width:80px;
	border:1px solid rgba(51,100,237,.35);color:#fff;font-size:12px;font-weight:500;
	border-radius:8px;background-image:var(--gl-grad-blue);
	box-shadow:0 3px 4px 0 rgba(44,71,146,.32),inset 0 -2px 0 0 var(--gl-blue-deep);
	text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,color .15s ease;user-select:none;
}
.blue-btn:hover{
	background-image:linear-gradient(180deg,#5a7fff,var(--gl-blue-deep));
	box-shadow:0 4px 8px 0 rgba(44,71,146,.4),inset 0 -2px 0 0 #2852c4;
	transform:scale(.97);color:#fff;
}
.blue-btn:active{transform:scale(.94);}
.white-btn{
	display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
	height:40px;padding:0 20px;min-width:80px;
	background-image:var(--gl-grad-white);
	border:1px solid #e9eaec;
	box-shadow:0 3px 4px 0 rgba(44,71,146,.2),inset 0 -2px 0 0 #e1e3e8;
	border-radius:8px;font-size:12px;font-weight:600;color:#3b426b;
	text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,color .15s ease;user-select:none;
}
.white-btn:hover{
	background-image:linear-gradient(-180deg,#f8f9fc 8%,#e8e9f0 97%);
	box-shadow:0 4px 8px 0 rgba(44,71,146,.25),inset 0 -2px 0 0 #d0d2d8;
	transform:scale(.97);
}
.white-btn:active{transform:scale(.94);}
.red-btn{
	display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
	height:40px;padding:0 20px;min-width:80px;
	border:1px solid rgba(245,108,108,.35);color:#fff;font-size:12px;font-weight:500;
	border-radius:8px;background-image:var(--gl-grad-red);
	box-shadow:0 3px 4px 0 rgba(180,40,40,.25),inset 0 -2px 0 0 #e05555;
	text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,color .15s ease;user-select:none;
}
.red-btn:hover{background-image:linear-gradient(180deg,#f07070,#e05555);transform:scale(.97);color:#fff;}
.red-btn:active{transform:scale(.94);}
.green-btn{
	display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
	height:40px;padding:0 20px;min-width:80px;
	border:1px solid rgba(65,114,250,.25);color:#fff;font-size:12px;font-weight:500;
	border-radius:8px;background-image:var(--gl-grad-cyan);
	box-shadow:0 3px 4px 0 rgba(40,80,160,.22),inset 0 -2px 0 0 #488ae0;
	text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,color .15s ease;user-select:none;
}
.green-btn:hover{background-image:linear-gradient(180deg,#6da8ff,#488ae0);transform:scale(.97);color:#fff;}
.green-btn:active{transform:scale(.94);}
.modal{
	display:none;position:fixed;left:0;top:0;width:100%;height:100%;
	background-color:rgba(0,20,60,.35);
	-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
	z-index:1000;align-items:center;justify-content:center;
}
.modal.show{display:flex;}
.modal-content{
	background-color:rgba(255,255,255,.95);
	-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
	border-radius:var(--gl-r-xl);padding:32px;width:520px;max-width:92vw;max-height:94vh;
	border:1px solid rgba(255,255,255,.8);box-shadow:var(--gl-shadow-lg);
	animation:glFlipIn .35s ease;
}
.modal-header{font-size:1.1rem;font-weight:700;color:var(--gl-ink);margin-bottom:20px;}
@keyframes glFlipIn{from{opacity:0;transform:perspective(400px) rotateX(-90deg);}to{opacity:1;transform:perspective(400px) rotateX(0);}}
.hero{padding:60px 0 40px;text-align:center;}
.hero h1{font-size:2.8rem;font-weight:700;letter-spacing:-.03em;color:var(--gl-ink);}
.hero p{font-size:1.1rem;color:var(--gl-ink-2);max-width:600px;margin:16px auto 32px;opacity:.8;}
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:40px 0;}
.feature-card{
	background-color:rgba(240,246,255,.65);
	-webkit-backdrop-filter:var(--gl-blur);backdrop-filter:var(--gl-blur);
	border:1px solid var(--gl-line);border-radius:var(--gl-r-lg);
	padding:28px 24px;box-shadow:var(--gl-shadow-sm);transition:.25s;
}
.feature-card:hover{transform:translateY(-6px);box-shadow:var(--gl-shadow-hover);}
.feature-card .icon{font-size:2rem;margin-bottom:12px;}
.feature-card h3{font-size:1.1rem;font-weight:600;margin-bottom:6px;}
.feature-card p{font-size:13px;color:var(--gl-ink-2);opacity:.8;}
.stats{
	display:flex;justify-content:space-around;flex-wrap:wrap;gap:24px;margin:40px 0;
	background-color:rgba(240,246,255,.55);
	-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
	border:1px solid var(--gl-line);border-radius:48px;padding:48px 40px;
}
.stat-item{text-align:center;}
.stat-number{font-size:2.4rem;font-weight:700;letter-spacing:-.02em;color:var(--gl-ink);}
.stat-label{color:var(--gl-ink-2);font-size:14px;margin-top:4px;opacity:.7;}
.cta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;margin:40px 0;padding:48px 40px;}
.cta h2{font-size:1.8rem;font-weight:700;}
.cta p{color:var(--gl-ink-2);opacity:.8;max-width:400px;margin-top:8px;}
.cta-btns{display:flex;gap:16px;}

/* 独立登录 / 安装 / 验证页共享 */
body.login-body{
	background-color:#eef3fb !important;
	background-image:var(--gl-grad-page) !important;
	background-size:cover !important;
	display:flex;align-items:center;justify-content:center;min-height:100vh;
}
.login-box{
	width:400px;max-width:92vw;
	background-color:rgba(240,246,255,.7);
	background-image:var(--gl-inner);
	-webkit-backdrop-filter:var(--gl-blur);backdrop-filter:var(--gl-blur);
	border:1px solid var(--gl-line);border-radius:var(--gl-r-xl);
	padding:40px 36px;box-shadow:var(--gl-shadow);
}
.login-box h2{font-size:1.6rem;font-weight:700;color:var(--gl-ink);margin-bottom:28px;text-align:center;letter-spacing:-.5px;}
.login-error{background-color:rgba(245,108,108,.12);color:#f56c6c;padding:10px 16px;border-radius:var(--gl-r-sm);font-size:13px;margin-bottom:16px;text-align:center;}
.login-links{text-align:center;margin-top:16px;font-size:12px;}
.login-links a{color:var(--gl-ink-2);text-decoration:none;margin:0 8px;opacity:.6;transition:var(--gl-bt);}
.login-links a:hover{opacity:1;color:var(--gl-blue);}
/* 【重要】.login-btn 在父主题里是「通用修饰类」，被用在 20+ 处：
   页头登录按钮、评论「登录后评论」、购买按钮（btn-info）、VIP 卡（btn-outline-secondary）、
   登录/注册/找回密码表单里的「忘记密码？/注册账号/登录账号」文字链接……
   所以这里的「独立登录页大按钮」样式必须限定在 .login-box 容器内，
   否则它会把上述所有元素都撑成 48px 高、带蓝色渐变的按钮（页头登录按钮被撑高即由此而来）。 */
.login-box .login-btn{
	display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
	height:48px;padding:0 20px;border:1px solid rgba(51,100,237,.35);
	color:#fff;font-size:14px;font-weight:600;border-radius:8px;
	background-image:var(--gl-grad-blue);
	box-shadow:0 3px 4px 0 rgba(44,71,146,.32),inset 0 -2px 0 0 var(--gl-blue-deep);
	letter-spacing:.5px;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease,color .15s ease;user-select:none;
	text-decoration:none;
}
.login-box .login-btn:hover{background-image:linear-gradient(180deg,#5a7fff,var(--gl-blue-deep));box-shadow:0 4px 8px 0 rgba(44,71,146,.4);transform:scale(.97);color:#fff;}
.login-box .login-btn:active{transform:scale(.94);}
body.agent-page .login-box .login-btn{background-image:var(--gl-grad-green);border-color:rgba(103,194,58,.35);}
body.agent-page .login-box .login-btn:hover{background-image:linear-gradient(180deg,#6cc83a,#55a830);}

/* ---------- 修复：.login-btn 与 Bootstrap 按钮组合时抢走语义色 ----------
   父主题自身把 .login-btn 定义成蓝色渐变（padding:.35rem .9rem;border-radius:20px），
   它出现顺序晚于 Bootstrap 的 .btn-*，于是「登录后下载(btn-info)」等全部变成同一种蓝。
   这里按实际用到的组合把语义色还原回来。 */
.login-btn.btn-info{background-image:var(--gl-grad-cyan) !important;}
.login-btn.btn-primary{background-image:var(--gl-grad-blue) !important;}
.login-btn.btn-dark{background-image:var(--gl-grad-dark) !important;}
.login-btn.btn-outline-info{
	background-image:none !important;
	background-color:rgba(65,114,250,.1) !important;
	border:1px solid rgba(65,114,250,.28) !important;
	color:var(--gl-blue) !important;
	box-shadow:var(--gl-shadow-sm) !important;
}
.login-btn.btn-outline-info:hover{background-color:rgba(65,114,250,.2) !important;color:var(--gl-blue-deep) !important;}
.login-btn.btn-outline-secondary{
	background-image:none !important;
	background-color:rgba(255,255,255,.7) !important;
	border:1px solid var(--gl-line) !important;
	color:var(--gl-ink-2) !important;
	box-shadow:var(--gl-shadow-sm) !important;
}
.login-btn.btn-outline-secondary:hover{border-color:rgba(65,114,250,.45) !important;color:var(--gl-blue) !important;background-color:rgba(255,255,255,.95) !important;}
.error-msg{color:#f56c6c;font-size:13px;margin-bottom:16px;background-color:rgba(245,108,108,.1);padding:10px 16px;border-radius:var(--gl-r-sm);}
.success-msg{color:#67c23a;font-size:13px;margin-bottom:12px;background-color:rgba(103,194,58,.1);padding:10px 16px;border-radius:var(--gl-r-sm);}
.steps{display:flex;gap:0;margin-bottom:24px;}
.step{flex:1;text-align:center;font-size:12px;font-weight:600;color:#c0c4cc;padding:8px 0;border-bottom:3px solid rgba(200,218,245,.6);transition:var(--gl-bt);}
.step.active{color:var(--gl-blue);border-color:var(--gl-blue);}
.step.done{color:#67c23a;border-color:#67c23a;}
.check-grid{display:grid;gap:8px;margin-bottom:20px;}
.check-item{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background-color:rgba(255,255,255,.4);border-radius:var(--gl-r-sm);font-size:13px;}
.check-pass{color:#67c23a;font-weight:600;}
.check-fail{color:#f56c6c;font-weight:600;}

/* ============================================================
   20. 暗色模式补充（覆盖本文件中硬编码的浅色表面）
   ============================================================ */
[data-bs-theme=dark] .card,
[data-bs-theme=dark] .post-item,
[data-bs-theme=dark] .price-card,
[data-bs-theme=dark] .division-item,
[data-bs-theme=dark] .sidebar .widget,
[data-bs-theme=dark] .related-posts,
[data-bs-theme=dark] #comments.entry-comments,
[data-bs-theme=dark] .archive-shop,
[data-bs-theme=dark] .ri-down-warp,
[data-bs-theme=dark] .entry-social,
[data-bs-theme=dark] .site-footer,
[data-bs-theme=dark] .glass,
[data-bs-theme=dark] .panel,
[data-bs-theme=dark] .stat-card,
[data-bs-theme=dark] .feature-card,
[data-bs-theme=dark] .stats,
[data-bs-theme=dark] .login-box,
[data-bs-theme=dark] .modal-content,
/* 注意：不要把 .ri-popup-body / .ri-popup-content 放进这里。
   body 必须保持全透明；content 的暗色样式在 15.1 节单独定义（阴影更强）。 */
[data-bs-theme=dark] .site-header .navbar,
[data-bs-theme=dark] .navbar .nav-list .sub-menu,
[data-bs-theme=dark] .hover-warp,
[data-bs-theme=dark] .off-canvas,
[data-bs-theme=dark] .m-navbar,
[data-bs-theme=dark] .rollbar .actions,
[data-bs-theme=dark] .dropdown-menu{
	background-color:rgba(28,37,60,.62) !important;
	border-color:var(--gl-line) !important;
	box-shadow:var(--gl-shadow-md) !important;
	color:var(--gl-ink-2);
}
[data-bs-theme=dark] .entry-navigation a.entry-page-prev,
[data-bs-theme=dark] .entry-navigation a.entry-page-next,
[data-bs-theme=dark] .pagination .page-link,
[data-bs-theme=dark] .page-numbers,
[data-bs-theme=dark] .comments-list .comment-inner,
[data-bs-theme=dark] .list-group-item,
[data-bs-theme=dark] .search-form,
[data-bs-theme=dark] .archive-shop .info-box .article-meta,
[data-bs-theme=dark] .section-cat-navbtn .btn,
[data-bs-theme=dark] .pager .pager-btn,
[data-bs-theme=dark] .pager .pager-num,
[data-bs-theme=dark] .form-group input,
[data-bs-theme=dark] .form-group select,
[data-bs-theme=dark] .form-group textarea{
	background-color:rgba(255,255,255,.08) !important;
	border-color:var(--gl-line) !important;
	color:var(--gl-ink-2) !important;
}
[data-bs-theme=dark] .container-full.bg-white{background-color:rgba(20,28,46,.55) !important;}
[data-bs-theme=dark] .form-control,
[data-bs-theme=dark] .form-select,
[data-bs-theme=dark] textarea.form-control,
[data-bs-theme=dark] input[type=text],
[data-bs-theme=dark] input[type=password],
[data-bs-theme=dark] input[type=email],
[data-bs-theme=dark] input[type=search],
[data-bs-theme=dark] input[type=number]{
	background-color:rgba(255,255,255,.06) !important;
	color:var(--gl-ink) !important;
}
[data-bs-theme=dark] #comments input:not([type=submit]):not([type=checkbox]):not([type=hidden]),
[data-bs-theme=dark] #comments textarea{
	background-color:rgba(255,255,255,.06) !important;
	color:var(--gl-ink) !important;
}
[data-bs-theme=dark] .btn-white,
[data-bs-theme=dark] .btn-light,
[data-bs-theme=dark] .white-btn{background-image:var(--gl-grad-white);color:#dbe4f5;}
[data-bs-theme=dark] .home-search-box .search-title{text-shadow:0 2px 18px rgba(0,0,0,.4);}
[data-bs-theme=dark] .search-hots a{background-color:rgba(255,255,255,.1);}
[data-bs-theme=dark] .home-search-box .search-bg{background-color:#101726 !important;}

/* ============================================================
   21. 响应式
   ============================================================ */
@media (max-width:1199.98px){
	.site-header .navbar{max-width:100%;}
}
@media (max-width:991.98px){
	.site-header{padding:0 10px !important;}
	.site-header .navbar{
		min-height:calc(var(--gl-nav-h) - 6px);padding:var(--gl-nav-pad-y) 14px;margin:8px auto;
		border-radius:min(var(--gl-nav-r),26px) !important;
	}
	.header-gap{height:calc(var(--gl-nav-h) + 18px);}
	.header-transparent main>.home-widget:first-child.home-search-box .search-bg{padding-top:calc(var(--gl-nav-h) + 32px);}
	.home-search-box .search-title{font-size:1.9rem;}
	.card,.sidebar .widget,#comments.entry-comments,.related-posts,.archive-shop{border-radius:var(--gl-r-lg) !important;}
	.sidebar-wrapper{margin-top:1rem;}
}
@media (max-width:767.98px){
	.post-content{font-size:.9375rem;line-height:1.85;}
	.article-header .post-title{font-size:1.35rem;}
	.hero h1{font-size:2rem;}
	.features{grid-template-columns:1fr 1fr;}
	.stats{flex-direction:column;gap:20px;border-radius:32px;padding:32px 24px;}
	.glass{padding:24px;}
}
@media (max-width:575.98px){
	.header-gap{height:calc(var(--gl-nav-h) + 12px);}
	.site-header .navbar{border-radius:min(var(--gl-nav-r),22px) !important;}
	.search-form{border-radius:20px;padding:4px;}
	.search-form .search-select{max-width:104px;padding-right:10px;margin-right:10px;}
	.search-form .search-fields{--gl-sbtn:38px;--gl-sbtn-gap:4px;--gl-sfield-pad:2.8rem;}
	.search-form .search-fields input{padding:.45rem var(--gl-sfield-pad) .45rem .8rem !important;}
	.home-search-box .search-form{border-radius:22px;padding:6px;max-width:100%;}
	.home-search-box .search-form .search-select{max-width:120px;padding-right:12px;margin-right:12px;}
	.home-search-box .search-form .search-fields{--gl-sbtn:42px;--gl-sbtn-gap:6px;--gl-sfield-pad:3.1rem;}
	.home-search-box .search-form .search-fields input{padding:.6rem var(--gl-sfield-pad) .6rem .9rem !important;}
	.home-search-box .search-title{font-size:1.6rem;letter-spacing:-.6px;}
	.form-row{grid-template-columns:1fr;}
	.stat-cards{grid-template-columns:repeat(2,1fr);}
	.features{grid-template-columns:1fr;}
	.entry-navigation .row{gap:12px;}
}
@media (prefers-reduced-motion:reduce){
	*,*:before,*:after{
		animation-duration:.01ms !important;
		animation-iteration-count:1 !important;
		transition-duration:.01ms !important;
	}
	.btn:hover,.post-item:hover,.stat-card:hover,.feature-card:hover,.division-item:hover,.price-card:hover{transform:none !important;}
}

/* ============================================================
   22. 自定义毛玻璃下拉框（由 assets/js/child-ui.js 生成）
   ------------------------------------------------------------
   原生 <select> 的 option 列表由系统绘制、CSS 无法定制，
   因此脚本把指定 select 升级为 .gl-select 组件：
   触发器 + 玻璃面板 + 自定义选项（语言项带国旗）。
   ============================================================ */

/* 被接管的原生 select：彻底隐藏但保留在 DOM 中（表单/事件照常） */
select.gl-select-native{
	position:absolute !important;
	left:0 !important;
	top:0 !important;
	width:1px !important;
	height:1px !important;
	min-width:0 !important;
	padding:0 !important;
	margin:-1px !important;
	border:0 !important;
	overflow:hidden !important;
	clip:rect(0 0 0 0) !important;
	clip-path:inset(50%) !important;
	white-space:nowrap !important;
	opacity:0 !important;
	pointer-events:none !important;
}

/* ---- 组件容器与触发器 ---- */
.gl-select{position:relative;display:inline-block;max-width:100%;vertical-align:middle;}
.gl-select-trigger{
	display:inline-flex;
	align-items:center;
	gap:8px;
	height:34px;
	max-width:100%;
	padding:0 11px;
	margin:0;
	border:1px solid var(--gl-line) !important;
	border-radius:var(--gl-r-xs);
	background-color:rgba(255,255,255,.55) !important;
	background-image:var(--gl-inner);
	-webkit-backdrop-filter:blur(10px);
	backdrop-filter:blur(10px);
	box-shadow:none;
	-webkit-appearance:none;
	appearance:none;
	color:var(--gl-ink) !important;
	font-family:inherit;
	font-size:.875rem;
	font-weight:600;
	line-height:1;
	cursor:pointer;
	user-select:none;
	transition:var(--gl-bt);
}
.gl-select-trigger:hover{
	border-color:rgba(65,114,250,.45) !important;
	background-color:rgba(255,255,255,.88) !important;
}
.gl-select.is-open .gl-select-trigger,
.gl-select-trigger:focus-visible{
	border-color:var(--gl-blue) !important;
	box-shadow:var(--gl-focus) !important;
	outline:0;
}
.gl-select-label{
	flex:1 1 auto;
	min-width:0;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	text-align:left;
}
.gl-select-caret{
	width:7px;height:7px;flex:0 0 auto;
	margin:-3px 2px 0 1px;
	border-right:2px solid var(--gl-ink-3);
	border-bottom:2px solid var(--gl-ink-3);
	transform:rotate(45deg);
	transition:transform .22s ease,border-color .2s ease;
}
.gl-select.is-open .gl-select-caret{
	transform:rotate(-135deg);
	margin-top:3px;
	border-color:var(--gl-blue);
}

/* ---- 下拉面板 ---- */
.gl-select-menu{
	position:absolute;
	z-index:1200;
	top:calc(100% + 8px);
	left:0;
	min-width:100%;
	max-height:320px;
	overflow-y:auto;
	overscroll-behavior:contain;
	margin:0;
	padding:8px;
	list-style:none;
	background-color:var(--gl-surface-strong) !important;
	background-image:var(--gl-inner) !important;
	-webkit-backdrop-filter:var(--gl-blur-strong);
	backdrop-filter:var(--gl-blur-strong);
	border:1px solid var(--gl-line);
	border-radius:var(--gl-r-md);
	box-shadow:var(--gl-shadow-lg);
	opacity:0;
	visibility:hidden;
	transform:translateY(-8px) scale(.97);
	transform-origin:top center;
	transition:opacity .18s ease,transform .18s ease,visibility .18s;
}
.gl-select-menu.is-right{left:auto;right:0;transform-origin:top right;}
.gl-select.is-open .gl-select-menu{
	opacity:1;
	visibility:visible;
	transform:translateY(0) scale(1);
}

/* ---- 选项 ---- */
.gl-select-option{
	display:flex;
	align-items:center;
	gap:9px;
	padding:9px 12px;
	border-radius:var(--gl-r-xs);
	color:var(--gl-ink-2);
	font-size:.875rem;
	font-weight:500;
	line-height:1.4;
	cursor:pointer;
	user-select:none;
	white-space:nowrap;
	transition:background-color .15s ease,color .15s ease;
}
.gl-select-option:hover,
.gl-select-option.is-active{
	background-color:rgba(65,114,250,.12);
	color:var(--gl-blue);
}
.gl-select-option[aria-selected="true"]{
	background-color:rgba(65,114,250,.16);
	color:var(--gl-blue);
	font-weight:700;
}
.gl-select-option[aria-selected="true"]::after{
	content:'\f00c';
	font-family:'Font Awesome 5 Free','Font Awesome 5 Pro';
	font-weight:900;
	font-size:.68rem;
	margin-left:auto;
	padding-left:10px;
	opacity:.9;
}
.gl-select-opttext{overflow:hidden;text-overflow:ellipsis;}
/* 层级缩进：兼容 wp_dropdown_categories 的 level-N */
.gl-select-option[data-level="1"]{padding-left:26px;font-weight:400;}
.gl-select-option[data-level="2"]{padding-left:40px;font-weight:400;}
.gl-select-option[data-level="3"]{padding-left:54px;font-weight:400;}
.gl-select-option[data-level="4"]{padding-left:68px;font-weight:400;}
.gl-select-option[data-level="5"]{padding-left:82px;font-weight:400;}

/* ---- 国旗 ---- */
.gl-flag{
	width:20px;
	height:15px;
	flex:0 0 20px;
	border-radius:3px;
	overflow:hidden;
	background-color:#dbe6f7;
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	box-shadow:0 0 0 1px rgba(0,20,60,.14),0 1px 2px rgba(0,20,60,.12);
	color:var(--gl-ink-3);
	font-size:8px;
	font-weight:700;
	line-height:15px;
	letter-spacing:-.4px;
	text-align:center;
	text-indent:0;
}
.gl-select-trigger>.gl-flag:empty{display:none;}

/* 搜索表单内的分类下拉：沿用原来的分隔与尺寸 */
.search-form .search-select{position:relative;}
.search-form .search-select .gl-select{max-width:170px;width:100%;}
.search-form .search-select .gl-select-trigger{
	width:100%;
	height:34px;
	padding:0 10px;
	font-size:.875rem;
	justify-content:space-between;
}
.search-form .search-select .gl-select-menu{min-width:220px;}
.home-search-box .search-form .search-select .gl-select-trigger{
	height:38px;
	font-size:.9375rem;
	padding:0 12px;
}
.home-search-box .search-form .search-select .gl-select-menu{min-width:240px;}

/* 语言下拉：胶囊 + 国旗 */
.navbar .actions .language-selector .gl-select{display:inline-flex;}
.navbar .actions .language-selector .gl-select-trigger{
	height:34px;
	padding:0 13px;
	border-radius:999px;
	background-color:rgba(255,255,255,.6) !important;
	font-size:.8125rem;
}
.navbar .actions .language-selector .gl-select-menu{min-width:180px;}

/* 暗色模式 */
[data-bs-theme=dark] .gl-select-trigger{
	background-color:rgba(255,255,255,.08) !important;
	color:var(--gl-ink-2) !important;
}
[data-bs-theme=dark] .gl-select-trigger:hover{background-color:rgba(255,255,255,.16) !important;}
[data-bs-theme=dark] .gl-select-menu{
	background-color:rgba(28,37,60,.86) !important;
	border-color:var(--gl-line);
}
[data-bs-theme=dark] .gl-flag{background-color:rgba(255,255,255,.12);color:var(--gl-ink-2);}

/* 移动端 */
@media (max-width:575.98px){
	.gl-select-menu{max-height:260px;padding:6px;}
	.gl-select-option{padding:8px 10px;font-size:.8125rem;}
	.search-form .search-select .gl-select{max-width:104px;}
	.search-form .search-select .gl-select-trigger{font-size:.8125rem;padding:0 8px;gap:5px;}
	.search-form .search-select .gl-select-menu{min-width:190px;}
	.home-search-box .search-form .search-select .gl-select{max-width:120px;}
	.home-search-box .search-form .search-select .gl-select-trigger{font-size:.8125rem;height:36px;padding:0 10px;}
	.navbar .actions .language-selector .gl-select-trigger{height:32px;padding:0 10px;gap:6px;}
	.navbar .actions .language-selector .gl-select-menu{min-width:170px;}
	.gl-flag{width:18px;height:13px;flex-basis:18px;line-height:13px;font-size:7px;}
}

/* 【编号说明】原第 23 节「资源购买信息组件 · 初版」已删除，
   其内容已合并进文末第 28 节（该组件现有唯一定义处）。 */

/* ============================================================
   24. 用户中心 · v2「大气版」尺度与版式
   ------------------------------------------------------------
   放在文件末尾，用于覆盖第 17 节早期定义的具体数值（同特异性
   时后出现者胜出），集中管理尺度，便于一处调节整体疏密。

   v2 版式变化：
     · 身份区从侧栏小卡上移为「通栏 Banner」，脱离 .container
       全宽出血，头像 88px、昵称 1.5rem，视觉重心明确
     · 侧栏只保留「下载额度卡 + 菜单」，不再重复展示头像昵称
     · 全站级放大竖向节奏：区块间距 16→24px，面板内边距 20→28px
     · 标题体系重排：页标题 1.5rem / 面板标题 1.125rem / 指标 2rem
     · ≥1400px 视口下容器放宽到 1320px，横向更舒展
   注意：.uc-user-card* 系列规则为 v1 遗留（v2 已不用该结构）。
   ============================================================ */

.uc-wrap{padding-bottom:48px;}

/*
 * 父主题 main.min.css 里有全局 section{padding-top:2.5rem;padding-bottom:2.5rem}，
 * 而面板用的就是 <section class="uc-panel">，不重置的话每块面板上下各多出 40px 白色空白。
 * 面板的内边距由 .uc-panel__head / .uc-panel__body 负责，这里必须清零。
 */
.uc-panel{padding-top:0;padding-bottom:0;}

/* ---------- 通栏 Banner ---------- */
.uc-banner{
	position:relative;
	margin-bottom:28px;
	padding:30px 0 32px;
	overflow:hidden;
	background-color:rgba(255,255,255,.6);
	background-image:linear-gradient(120deg,rgba(65,114,250,.2) 0%,rgba(90,156,252,.1) 42%,rgba(255,255,255,.15) 100%);
	-webkit-backdrop-filter:var(--gl-blur-strong);
	backdrop-filter:var(--gl-blur-strong);
	border-bottom:1px solid var(--gl-line);
	box-shadow:0 10px 40px rgba(0,20,60,.06);
}
.uc-banner .container{margin-top:0 !important;margin-bottom:0 !important;}
.uc-banner__glow{
	position:absolute;
	inset:-40% -10% auto -10%;
	height:220%;
	pointer-events:none;
	background-image:
		radial-gradient(closest-side at 12% 30%,rgba(120,160,255,.4),rgba(120,160,255,0)),
		radial-gradient(closest-side at 72% 12%,rgba(150,215,255,.36),rgba(150,215,255,0)),
		radial-gradient(closest-side at 92% 76%,rgba(160,200,255,.3),rgba(160,200,255,0));
	opacity:.9;
}
.uc-banner .uc-hero{position:relative;z-index:1;}

/* ---------- Banner 内容 ---------- */
.uc-hero{
	display:flex;
	align-items:center;
	gap:26px;
	padding:0;
	margin:0;
	background:none;
	border:0;
	box-shadow:none;
	-webkit-backdrop-filter:none;
	backdrop-filter:none;
}
.uc-hero__avatar{
	position:relative;
	flex:0 0 88px;width:88px;height:88px;
	border-radius:50%;
	border:4px solid rgba(255,255,255,.95);
	box-shadow:0 14px 36px rgba(0,20,60,.2);
}
.uc-hero__avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.uc-hero__crown{
	position:absolute;right:-2px;bottom:-2px;
	width:30px;height:30px;line-height:30px;text-align:center;
	border-radius:50%;
	background-image:var(--gl-grad-orange);
	color:#fff;font-size:.75rem;
	border:3px solid #fff;
	box-shadow:0 4px 12px rgba(180,120,20,.4);
}
.uc-hero__text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:11px;}
.uc-hero__hi{
	display:flex;align-items:center;gap:10px;flex-wrap:wrap;
	font-size:1.5rem;font-weight:800;letter-spacing:-.6px;line-height:1.25;
	color:var(--gl-ink);
}
.uc-hero__badge{margin:0;font-size:.75rem;}
.uc-hero__sub{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.uc-hero__chip{
	display:inline-flex;align-items:center;gap:6px;
	padding:5px 13px;border-radius:999px;
	background-color:rgba(255,255,255,.62);
	border:1px solid var(--gl-line);
	font-size:.8125rem;font-style:normal;font-weight:600;color:var(--gl-ink-2);
	-webkit-backdrop-filter:blur(8px);
	backdrop-filter:blur(8px);
}
.uc-hero__chip i{color:var(--gl-blue);font-size:.75rem;}
.uc-hero__chip.is-coin{color:var(--gl-blue);border-color:rgba(65,114,250,.28);background-color:rgba(65,114,250,.1);}
.uc-hero__chip.is-coin i{color:#e6a23c;}
.uc-hero__actions{flex:0 0 auto;display:flex;align-items:center;gap:12px;}
.uc-hero__icon-btn{
	width:44px;height:44px;
	display:inline-flex;align-items:center;justify-content:center;
	border-radius:50%;
	border:1px solid var(--gl-line);
	background-color:rgba(255,255,255,.6);
	background-image:var(--gl-inner);
	color:var(--gl-ink-2);font-size:.9375rem;text-decoration:none;
	-webkit-backdrop-filter:blur(10px);
	backdrop-filter:blur(10px);
	transition:var(--gl-bt);
}
.uc-hero__icon-btn:hover{
	color:var(--gl-blue);
	border-color:rgba(65,114,250,.45);
	background-color:rgba(255,255,255,.95);
	transform:translateY(-2px);
	box-shadow:var(--gl-shadow-sm);
}

/* ---------- Banner 里的按钮放大 ---------- */
.uc-banner .uc-btn{height:44px;padding:0 22px;font-size:.875rem;border-radius:var(--gl-r-sm);}

/* ---------- 移动端横向导航放大 ---------- */
.uc-tabnav{gap:10px;padding:8px;margin-bottom:20px;border-radius:var(--gl-r-xl);}
.uc-tabnav .uc-tab{min-width:82px;padding:12px 12px;gap:6px;font-size:.75rem;border-radius:var(--gl-r-md);}
.uc-tabnav .uc-tab i{font-size:1.0625rem;}

/* ---------- 侧栏额度卡 ---------- */
.uc-quota-card{
	padding:20px;
	margin-bottom:20px;
	background-color:rgba(255,255,255,.62);
	background-image:linear-gradient(180deg,rgba(65,114,250,.14),rgba(255,255,255,.06) 46%);
	-webkit-backdrop-filter:var(--gl-blur);
	backdrop-filter:var(--gl-blur);
	border:1px solid var(--gl-line);
	border-radius:var(--gl-r-xl);
	box-shadow:var(--gl-shadow);
}
.uc-quota-card__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;}
.uc-quota-card__title{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;font-weight:700;color:var(--gl-ink);}
.uc-quota-card__title i{color:var(--gl-blue);}
.uc-quota-card__vip{
	padding:3px 10px;border-radius:999px;
	background-image:var(--gl-grad-orange);color:#fff;
	font-size:.6875rem;font-weight:700;
}
.uc-quota-card__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.uc-quota-card .uc-quota{
	padding:11px 6px;
	border-radius:var(--gl-r-sm);
	background-color:rgba(255,255,255,.6);
	border:1px solid var(--gl-line-soft);
	text-align:center;
	transition:var(--gl-bt);
}
.uc-quota-card .uc-quota:hover{transform:translateY(-2px);box-shadow:var(--gl-shadow-sm);}
.uc-quota-card .uc-quota b{font-size:1.5rem;font-weight:800;letter-spacing:-.6px;line-height:1.15;display:block;}
.uc-quota-card .uc-quota i{font-size:.6875rem;font-style:normal;color:var(--gl-ink-3);display:block;margin-top:2px;}
.uc-quota-card .uc-quota.is-used b{color:#a9770f;}
.uc-quota-card .uc-quota.is-left b{color:#3d8f6d;}
.uc-quota-card__foot{
	display:flex;align-items:center;gap:7px;
	margin-top:16px;padding-top:14px;
	border-top:1px dashed var(--gl-line-soft);
	font-size:.75rem;color:var(--gl-ink-3);
}
.uc-quota-card__foot i:first-child{color:#e6a23c;}
.uc-quota-card__foot.is-link{color:var(--gl-blue);font-weight:600;text-decoration:none;}
.uc-quota-card__foot.is-link:hover{color:var(--gl-blue-deep);}
.uc-quota-card__foot.is-link .fa-chevron-right{margin-left:auto;font-size:.625rem;}

/* ---------- 侧栏菜单放大 ---------- */
.uc-menu{padding:12px;border-radius:var(--gl-r-xl);}
.uc-menu__label{
	display:block;
	padding:6px 10px 10px;
	font-size:.6875rem;font-weight:700;letter-spacing:1px;
	color:var(--gl-ink-3);text-transform:uppercase;
}
.uc-menu .uc-menu-warp{gap:3px;}
.uc-menu-warp .menu-item a{gap:13px;padding:14px 16px;font-size:.875rem;border-radius:var(--gl-r-md);}
.uc-menu__icon{flex:0 0 18px;width:18px;font-size:1rem;}
.uc-menu__arrow{font-size:.6875rem;}

/* ---------- 页面标题条放大 ---------- */
.uc-pagehead{gap:16px;padding:0 4px 22px;margin-bottom:26px;}
.uc-pagehead__icon{flex:0 0 50px;width:50px;height:50px;border-radius:16px;font-size:1.125rem;}
.uc-pagehead__title{font-size:1.5rem;font-weight:800;letter-spacing:-.5px;line-height:1.2;}
.uc-pagehead__sub{font-size:.8125rem;}

/* ---------- 面板放大 ---------- */
.uc-panel{margin-bottom:24px;border-radius:var(--gl-r-xl);}
.uc-panel__head{gap:16px;padding:22px 28px;}
.uc-panel__icon{flex:0 0 44px;width:44px;height:44px;border-radius:15px;font-size:1rem;}
.uc-panel__title{font-size:1.125rem;font-weight:700;letter-spacing:-.2px;}
.uc-panel__sub{font-size:.75rem;}
.uc-panel__count{font-size:1.5rem;}
.uc-panel__count i{font-size:.75rem;}
.uc-panel__body{padding:24px 28px 28px;}
.uc-panel__center{margin-top:24px;}

/* ---------- 面板内标签放大 ---------- */
.uc-tabs{gap:10px;padding:16px 28px 0;}
.uc-tabs .uc-tab{padding:10px 18px;font-size:.875rem;gap:8px;}

/* ---------- 指标卡放大 ---------- */
.uc-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;}
.uc-metric{padding:20px;border-radius:var(--gl-r-lg);gap:5px;}
.uc-metric__icon{font-size:1.5rem;right:14px;top:14px;}
.uc-metric__num{font-size:2rem;letter-spacing:-.8px;}
.uc-metric__num em{font-size:.9375rem;}
.uc-metric__label{font-size:.75rem;}

/* ---------- 记录行放大 ---------- */
.uc-rows{gap:12px;}
.uc-row{gap:16px;padding:18px 24px 18px 22px;border-radius:var(--gl-r-lg);}
.uc-row::before{top:16px;bottom:16px;width:4px;}
.uc-row__thumb{flex-basis:76px;width:76px;height:54px;border-radius:12px;}
.uc-row__thumb.is-avatar{flex-basis:44px;width:44px;height:44px;}
.uc-row__icon{flex-basis:44px;width:44px;height:44px;border-radius:14px;font-size:1rem;}
.uc-row__main{gap:7px;}
.uc-row__title{font-size:.9375rem;gap:10px;}
.uc-row__gain{font-size:.8125rem;padding:3px 10px;}
.uc-row__gain.is-big{font-size:1.0625rem;padding:4px 13px;}
.uc-row__sub{font-size:.8125rem;}
.uc-row__meta{gap:18px;font-size:.75rem;}
.uc-row__price{font-size:1.125rem;}
.uc-row__time{font-size:.75rem;}
.uc-row__op{height:34px;padding:0 13px;font-size:.8125rem;border-radius:10px;}
.uc-tag{padding:4px 12px;font-size:.75rem;}

/* ---------- 空状态放大 ---------- */
.uc-empty{padding:64px 24px;gap:14px;font-size:.875rem;}
.uc-empty>i{font-size:2.5rem;}
.uc-empty__btn{padding:11px 26px;font-size:.875rem;}

/* ---------- 其它放大 ---------- */
.uc-form{gap:20px;}
.uc-form__row{gap:20px;}
.uc-divider{margin:24px 0;font-size:.8125rem;}
.uc-list li{padding:14px 18px 14px 50px;font-size:.8125rem;}
.uc-list li:before{left:15px;top:13px;width:22px;height:22px;line-height:22px;}
.uc-balance{padding:30px 32px;}
.uc-balance__label{font-size:.875rem;}
.uc-balance__num{font-size:3rem;letter-spacing:-1.4px;}
.uc-balance__num i{font-size:1.375rem;}
.uc-balance__num em{font-size:1rem;}
.uc-coins{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:14px;}
.uc-coin-card{padding:20px 12px;gap:5px;}
.uc-coin-card__num{font-size:1.375rem;}
.uc-coin-card__price{font-size:.8125rem;}
.uc-avatar-row{padding:22px 26px;gap:22px;margin-bottom:22px;}
.uc-avatar-row__pic{flex-basis:88px;width:88px;height:88px;}
.uc-avatar-row__text b{font-size:1.0625rem;}
.uc-vip-user{gap:20px;padding-bottom:22px;margin-bottom:22px;}
.uc-vip-user__avatar,.uc-vip-user__avatar>img{flex-basis:80px;width:80px;height:80px;}
.uc-vip-user__name{font-size:1.125rem;}
.uc-vip-user__id{font-size:.8125rem;}
.uc-vip-user__date{font-size:.8125rem;}
.uc-chat{gap:14px;padding:20px 24px;margin-bottom:18px;}
.uc-chat__avatar{flex-basis:40px;width:40px;height:40px;}
.uc-chat__who b{font-size:.875rem;}
.uc-chat__who em{font-size:.75rem;}
.uc-chat__title{font-size:1.0625rem;gap:10px;}
.uc-chat__content{padding:16px 18px;font-size:.875rem;}
.uc-aff-link{padding:18px 22px;margin-bottom:22px;border-radius:var(--gl-r-lg);}
.uc-aff-link__label{font-size:.8125rem;}
.uc-aff-link__value{font-size:.875rem;}
.uc-aff-users{gap:10px;}
.uc-aff-users__item{width:42px;height:42px;}
.uc-prices{gap:18px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));}

/* ---------- ≥1400px：容器放宽，横向更舒展 ---------- */
@media (min-width:1400px){
	.uc-banner .container,
	.uc-wrap.container{max-width:1320px;}
}

/* ---------- 响应式 ---------- */
@media (max-width:1199.98px){
	.uc-hero{gap:20px;}
	.uc-hero__avatar{flex-basis:76px;width:76px;height:76px;}
	.uc-hero__hi{font-size:1.3125rem;}
	.uc-hero{flex-wrap:wrap;}
	.uc-hero__actions{width:100%;justify-content:flex-start;}
}
@media (max-width:991.98px){
	.uc-banner{padding:24px 0 26px;margin-bottom:22px;}
	.uc-hero{gap:16px;}
	.uc-hero__avatar{flex-basis:66px;width:66px;height:66px;border-width:3px;}
	.uc-hero__hi{font-size:1.1875rem;letter-spacing:-.4px;}
	.uc-hero__text{gap:9px;}
	.uc-hero__chip{font-size:.75rem;padding:4px 11px;}
	.uc-banner .uc-btn{height:40px;padding:0 18px;font-size:.8125rem;}
	.uc-hero__icon-btn{width:40px;height:40px;}
	.uc-pagehead{flex-direction:row;gap:13px;padding:0 2px 18px;margin-bottom:22px;}
	.uc-pagehead__icon{flex-basis:42px;width:42px;height:42px;border-radius:14px;font-size:1rem;}
	.uc-pagehead__title{font-size:1.25rem;}
	.uc-panel__head{gap:13px;padding:18px 20px;}
	.uc-panel__icon{flex-basis:38px;width:38px;height:38px;border-radius:13px;}
	.uc-panel__title{font-size:1rem;}
	.uc-panel__count{font-size:1.25rem;}
	.uc-panel__body{padding:20px;}
	.uc-tabs{padding:14px 20px 0;}
	.uc-row{padding:16px 18px 16px 16px;gap:13px;}
	.uc-row__thumb{flex-basis:64px;width:64px;height:46px;}
	.uc-balance{padding:24px 22px;}
	.uc-balance__num{font-size:2.25rem;}
}
@media (max-width:767.98px){
	.uc-metrics{grid-template-columns:repeat(2,1fr);gap:12px;}
	.uc-metric{padding:16px;}
	.uc-metric__num{font-size:1.625rem;}
	.uc-prices{grid-template-columns:1fr;}
	.uc-avatar-row{flex-direction:column;text-align:center;align-items:center;padding:20px;}
	.uc-avatar-row__text{align-items:center;}
	.uc-vip-user{flex-direction:column;text-align:center;align-items:center;}
	.uc-vip-user__text{align-items:center;}
}
@media (max-width:575.98px){
	.uc-banner{padding:20px 0 22px;margin-bottom:18px;}
	.uc-hero{flex-direction:column;align-items:center;text-align:center;gap:14px;}
	.uc-hero__text{align-items:center;text-align:center;}
	.uc-hero__sub{justify-content:center;}
	.uc-hero__actions{justify-content:center;gap:8px;}
	.uc-hero__hi{font-size:1.125rem;}
	.uc-banner .uc-btn{height:38px;padding:0 15px;font-size:.75rem;}
	.uc-hero__icon-btn{width:38px;height:38px;}
	.uc-tabnav .uc-tab{min-width:74px;padding:10px 10px;}
	.uc-wrap{padding-bottom:28px;}
	.uc-panel__head{padding:16px;}
	.uc-panel__icon{flex-basis:34px;width:34px;height:34px;border-radius:12px;}
	.uc-panel__body{padding:16px;}
	.uc-pagehead__title{font-size:1.125rem;}
	.uc-row{flex-wrap:wrap;gap:12px;padding:14px;}
	.uc-row__side{width:100%;flex-direction:row;align-items:center;justify-content:space-between;}
	.uc-row__side.is-actions{justify-content:flex-end;}
	.uc-row__thumb{flex-basis:52px;width:52px;height:38px;}
	.uc-balance{flex-direction:column;align-items:stretch;padding:20px 18px;}
	.uc-balance__num{font-size:1.875rem;}
	.uc-balance__side .uc-btn{width:100%;}
	.uc-coins{grid-template-columns:repeat(2,1fr);gap:10px;}
	.uc-quota-card{padding:16px;}
	.uc-quota-card .uc-quota b{font-size:1.25rem;}
}

/* ---------- 暗色模式（Banner / 额度卡等新增件） ---------- */
[data-bs-theme=dark] .uc-banner{
	background-color:rgba(24,33,54,.7) !important;
	background-image:linear-gradient(120deg,rgba(107,150,255,.22) 0%,rgba(107,150,255,.08) 45%,rgba(255,255,255,.02) 100%);
	border-bottom-color:var(--gl-line);
}
[data-bs-theme=dark] .uc-banner__glow{opacity:.5;}
[data-bs-theme=dark] .uc-quota-card{background-color:rgba(28,37,60,.62) !important;border-color:var(--gl-line);}
[data-bs-theme=dark] .uc-quota-card .uc-quota{
	background-color:rgba(255,255,255,.07) !important;
	border-color:var(--gl-line);
}
[data-bs-theme=dark] .uc-hero__chip,
[data-bs-theme=dark] .uc-hero__icon-btn{
	background-color:rgba(255,255,255,.08) !important;
	border-color:var(--gl-line);
	color:var(--gl-ink-2);
}
[data-bs-theme=dark] .uc-hero__chip.is-coin{
	background-color:rgba(107,150,255,.16) !important;
	border-color:rgba(107,150,255,.3);
	color:#89a9f9;
}
[data-bs-theme=dark] .uc-hero__icon-btn:hover,
[data-bs-theme=dark] .uc-hero__chip:hover{background-color:rgba(255,255,255,.15) !important;}

/* ============================================================
   25. 用户中心 · VIP 页（/user/vip/）专用版式
   ------------------------------------------------------------
   放在文件末尾以覆盖第 17 / 24 节的相关数值。
   要点：
     · 会员身份区整块垂直居中（头像 / 昵称 / 状态胶囊 / 操作按钮）
     · 套餐卡改为 flex 居中排布，任意数量都居中且等宽
     · 套餐卡内部（套餐名 / 价格 / 权益 / 按钮）全部居中
     · 面板标题走「居中头」变体（图标在上、标题在下）
   ============================================================ */

/* 锚点跳转时让开吸顶导航 */
.uc-wrap [id]{scroll-margin-top:120px;}
/*
 * 注意：这里**不要**加 html{scroll-behavior:smooth}。
 * 父主题返回顶部用的是 jQuery("html, body").animate({scrollTop:0})，
 * 它每帧赋值 scrollTop；若根元素是 smooth，每次赋值都会再触发一次
 * 平滑滚动，两者叠加会出现明显卡顿/极慢的滚动。锚点跳转保持瞬移即可。
 */

/* ---------- 会员状态：整块居中 ---------- */
.uc-vip-status{
	padding:34px 28px 28px;
	background-image:
		radial-gradient(closest-side at 50% 0%,rgba(65,114,250,.2),rgba(65,114,250,0) 100%),
		var(--gl-inner);
}
.uc-vip-user{
	flex-direction:column;
	align-items:center;
	text-align:center;
	gap:14px;
	padding-bottom:0;
	margin-bottom:0;
	border-bottom:0;
}
.uc-vip-user__avatar,
.uc-vip-user__avatar>img{flex-basis:92px;width:92px;height:92px;}
.uc-vip-user__avatar>img{border-width:4px;}
.uc-vip-user__crown{width:30px;height:30px;line-height:30px;font-size:.8125rem;right:0;bottom:0;}
.uc-vip-user__text{align-items:center;text-align:center;gap:6px;}
.uc-vip-user__name{justify-content:center;font-size:1.375rem;font-weight:800;letter-spacing:-.4px;}
.uc-vip-user__id{font-size:.8125rem;}

/* 会员状态胶囊 */
.uc-vip-user__pill{
	display:inline-flex;flex-direction:column;align-items:center;gap:3px;
	min-width:280px;padding:15px 28px;
	border-radius:var(--gl-r-lg);
	background-color:rgba(255,255,255,.62);
	border:1px solid var(--gl-line);
	box-shadow:var(--gl-shadow-sm);
}
.uc-vip-user__pill>i{font-size:1.125rem;color:#a9770f;margin-bottom:2px;}
.uc-vip-user__pill b{font-size:1.0625rem;font-weight:800;color:var(--gl-ink);letter-spacing:-.2px;}
.uc-vip-user__pill em{font-size:.75rem;font-style:normal;color:var(--gl-ink-3);}
.uc-vip-user__pill.is-on{
	background-image:linear-gradient(135deg,rgba(65,114,250,.16),rgba(90,156,252,.05));
	border-color:rgba(65,114,250,.3);
}
.uc-vip-user__pill.is-on>i{color:var(--gl-blue);}
.uc-vip-user__pill.is-on b{color:var(--gl-blue);}
.uc-vip-user__actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:6px;}

/* 指标四等分 */
.uc-vip-status .uc-metrics{margin-top:28px;}
.uc-metrics.is-4{grid-template-columns:repeat(4,minmax(0,1fr));}

/* ---------- 面板头「居中」变体 ---------- */
.uc-panel__head.is-center{
	flex-direction:column;
	align-items:center;
	text-align:center;
	gap:12px;
	padding:30px 28px 6px;
	background-image:none;
	border-bottom:0;
}
.uc-panel__head.is-center .uc-panel__text{align-items:center;gap:6px;}
.uc-panel__head.is-center .uc-panel__title{font-size:1.375rem;letter-spacing:-.4px;}

/* ---------- 套餐卡：居中排布 + 内容居中 ---------- */
.price-card{text-align:center;}
.uc-prices{
	display:flex;flex-wrap:wrap;justify-content:center;
	gap:18px;
}
.uc-prices .price-card{
	flex:1 1 260px;
	max-width:340px;
	display:flex;flex-direction:column;
	padding:0;
	text-align:center;
}
.uc-prices .price-card__ribbon{
	position:absolute;right:0;top:0;z-index:2;
	display:inline-flex;align-items:center;gap:5px;
	padding:6px 14px;
	border-radius:0 var(--gl-r-xl) 0 var(--gl-r-md);
	background-image:var(--gl-grad-orange);
	color:#fff;font-size:.6875rem;font-weight:700;
	box-shadow:0 4px 12px rgba(180,120,20,.3);
}
.uc-prices .price-header{
	display:flex;flex-direction:column;align-items:center;gap:8px;
	padding:26px 20px 20px;
}
.uc-prices .price-plan{font-size:1.1875rem;font-weight:800;letter-spacing:-.3px;}
.uc-prices .price-sub{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;}
.uc-prices .price-sub i{color:#a9770f;}
.uc-prices .price-body{
	display:flex;flex-direction:column;align-items:center;gap:14px;
	padding:24px 22px 26px;
	flex:1 1 auto;
}
.uc-prices .price-ammount{
	display:flex;align-items:baseline;justify-content:center;gap:4px;
	margin:0;font-size:2.75rem;font-weight:800;line-height:1;
	letter-spacing:-1.6px;
}
.uc-prices .price-ammount sup{font-size:.9375rem;font-weight:700;letter-spacing:0;}
.uc-prices .price-day{margin:0;font-size:.8125rem;}
.uc-prices .price-desc{
	list-style:none;margin:0 auto;padding:0;
	width:100%;max-width:250px;
	display:flex;flex-direction:column;gap:9px;
}
.uc-prices .price-desc li{
	display:flex;align-items:flex-start;gap:8px;
	padding:0;text-align:left;
	font-size:.8125rem;line-height:1.6;
}
.uc-prices .price-desc li:before{
	position:static;flex:0 0 auto;
	content:'\f00c';
	font-family:'Font Awesome 5 Free';font-weight:900;
	font-size:.6875rem;color:#3d8f6d;
	margin-top:3px;
}
.uc-prices .price-footer{padding:0 22px 26px;background:none !important;border-top:0 !important;}

/* 推荐档强调 */
.uc-prices .price-card.is-featured{
	border-color:rgba(230,162,60,.42) !important;
	box-shadow:0 14px 40px rgba(180,120,20,.18),var(--gl-inner-shadow) !important;
}
.uc-prices .price-card.is-featured .price-header{
	background-image:linear-gradient(135deg,rgba(230,162,60,.28),rgba(230,162,60,.06)) !important;
}
.uc-prices .price-card.is-featured .price-ammount{color:#a9770f !important;}
.uc-prices .price-card.is-featured .uc-btn.is-blue{
	background-image:var(--gl-grad-orange);
	box-shadow:0 4px 12px rgba(180,120,20,.3),inset 0 -2px 0 0 rgba(180,120,20,.55),inset 0 1px 0 rgba(255,255,255,.35);
}
.uc-prices .price-card.is-featured .uc-btn.is-blue:hover{background-image:linear-gradient(180deg,#f0b25a,#d9930f);}

/* ---------- 居中收窄的说明列表 / 兑换表单 ---------- */
.uc-list--center{max-width:660px;margin:0 auto;}
.uc-cdk .uc-form{max-width:440px;margin:0 auto;}
.uc-cdk .uc-captcha{justify-content:center;}

/* ---------- 响应式 ---------- */
@media (max-width:991.98px){
	.uc-vip-status{padding:26px 20px 22px;}
	.uc-vip-user__avatar,
	.uc-vip-user__avatar>img{flex-basis:80px;width:80px;height:80px;}
	.uc-vip-user__name{font-size:1.1875rem;}
	.uc-vip-user__pill{min-width:0;width:100%;max-width:420px;padding:13px 20px;}
	.uc-panel__head.is-center{padding:24px 20px 4px;}
	.uc-panel__head.is-center .uc-panel__title{font-size:1.1875rem;}
	.uc-metrics.is-4{grid-template-columns:repeat(2,minmax(0,1fr));}
	.uc-prices{gap:14px;}
	.uc-prices .price-card{flex:1 1 100%;max-width:480px;}
	.uc-prices .price-header{padding:24px 18px 18px;}
	.uc-prices .price-ammount{font-size:2.375rem;}
}
@media (max-width:575.98px){
	.uc-vip-user__pill b{font-size:1rem;}
	.uc-vip-user__actions{gap:8px;}
	.uc-vip-user__actions .uc-btn{width:100%;}
	.uc-prices .price-body{padding:20px 16px 22px;}
	.uc-prices .price-footer{padding:0 16px 22px;}
	.uc-prices .price-desc{max-width:100%;}
}

/* ---------- 暗色模式 ---------- */
[data-bs-theme=dark] .uc-vip-status{
	background-image:radial-gradient(closest-side at 50% 0%,rgba(107,150,255,.18),rgba(107,150,255,0) 100%),var(--gl-inner);
}
[data-bs-theme=dark] .uc-vip-user__pill{
	background-color:rgba(255,255,255,.08) !important;
	border-color:var(--gl-line);
}
[data-bs-theme=dark] .uc-vip-user__pill.is-on{
	background-image:linear-gradient(135deg,rgba(107,150,255,.2),rgba(107,150,255,.04));
	border-color:rgba(107,150,255,.32);
}
[data-bs-theme=dark] .uc-prices .price-card.is-featured{
	border-color:rgba(230,162,60,.36) !important;
	box-shadow:0 14px 40px rgba(0,0,0,.36),var(--gl-inner-shadow) !important;
}

/* 【编号说明】原第 26 节「资源购买信息组件 · 居中版」已删除，
   其内容已合并进文末第 28 节（该组件现有唯一定义处）。 */

/* ============================================================
   27. 滚动 / 过渡动画性能优化
   ------------------------------------------------------------
   卡顿的两个真实来源：
   ① body 上用了 background-attachment:fixed + 5 层渐变。
      滚动时浏览器要按视口重新绘制整张背景（大面积重绘）。
   ② 全站铺了 ~60 处 backdrop-filter（含 saturate）。
      每个都会独立提升为一个合成层，并在滚动/动画时逐帧
      重新采样背后的像素；嵌套（面板里套卡片再套标签）更甚。

   优化策略：
   · 背景搬到 body::before 固定层，用 translateZ(0) 提升为
     独立合成层 —— 只在首次绘制一次，滚动不再重绘。
   · backdrop-filter 采用「全关 + 白名单」：只保留真正重叠在
     滚动内容之上的「顶层浮层」（导航、下拉、抽屉、弹窗、遮罩），
     卡片 / 面板 / 记录行 / 标签 / 输入框等一律关闭。
     这些元素本身有半透明白底 + 高光渐变，视觉几乎无差别。
   · 缩小模糊半径并去掉过度的 saturate，降低单层采样成本。
   · 过渡只声明必要属性，避免 transition:all 隐式过渡
     backdrop-filter / filter 等高开销属性。
   ============================================================ */

/* ---------- ① 页面背景：固定合成层 ---------- */
body{
	background-color:transparent !important;
	background-image:none !important;
	background-attachment:scroll !important;
}
[data-bs-theme=dark] body{background-color:transparent !important;}

body::before{
	content:'';
	position:fixed;
	top:0;right:0;bottom:0;left:0;
	z-index:-1;
	pointer-events:none;
	transform:translateZ(0); /* 提升为独立合成层，滚动不重绘 */
	background-color:#eef3fb;
	background-image:
		radial-gradient(closest-side at 10% 6%,rgba(120,160,255,.3),rgba(120,160,255,0) 100%),
		radial-gradient(closest-side at 90% 8%,rgba(150,215,255,.26),rgba(150,215,255,0) 100%),
		radial-gradient(closest-side at 82% 92%,rgba(160,200,255,.26),rgba(160,200,255,0) 100%),
		radial-gradient(closest-side at 8% 88%,rgba(190,225,255,.22),rgba(190,225,255,0) 100%),
		var(--gl-grad-page);
	background-repeat:no-repeat;
	background-size:cover;
}
[data-bs-theme=dark] body::before{
	background-color:#0e1424;
	background-image:
		radial-gradient(closest-side at 10% 6%,rgba(64,104,220,.3),rgba(64,104,220,0) 100%),
		radial-gradient(closest-side at 90% 8%,rgba(42,92,180,.24),rgba(42,92,180,0) 100%),
		radial-gradient(closest-side at 82% 92%,rgba(60,110,200,.22),rgba(60,110,200,0) 100%),
		radial-gradient(closest-side at 8% 88%,rgba(52,100,190,.2),rgba(52,100,190,0) 100%),
		var(--gl-grad-page);
}
/* 移动端减少渐变层数，进一步降低 GPU 负担 */
@media (max-width:767.98px){
	body::before{
		background-image:
			radial-gradient(closest-side at 16% 4%,rgba(120,160,255,.3),rgba(120,160,255,0) 100%),
			var(--gl-grad-page);
	}
}

/* ---------- ② 降低模糊成本 ---------- */
:root{
	--gl-blur:blur(14px) saturate(150%);
	--gl-blur-strong:blur(20px) saturate(150%);
	/* 显式列出要过渡的属性，避免 transition:all 牵连高开销属性 */
	--gl-bt:transform .22s cubic-bezier(.22,.61,.36,1),box-shadow .22s ease,border-color .2s ease,background-color .2s ease,color .2s ease,opacity .2s ease;
}

/* ---------- ③ 默认关闭全部背景模糊 ---------- */
.ri-glass-ui *{
	-webkit-backdrop-filter:none !important;
	backdrop-filter:none !important;
}
/* 遮罩 / 弹层根节点需要自身的模糊（它们是叠加在内容之上的） */
.ri-glass-ui .dimmer,
.ri-glass-ui .ri-popup{
	-webkit-backdrop-filter:var(--gl-blur) !important;
	backdrop-filter:var(--gl-blur) !important;
}

/* ---------- 白名单：只保留「重叠在滚动内容之上」的顶层浮层 ---------- */
.ri-glass-ui .site-header .navbar,
.ri-glass-ui .navbar .nav-list .sub-menu,
.ri-glass-ui .hover-warp,
.ri-glass-ui .off-canvas,
.ri-glass-ui .off-canvas .canvas-close,
.ri-glass-ui .m-navbar,
.ri-glass-ui .rollbar .actions,
.ri-glass-ui .ri-notice,
.ri-glass-ui .gl-select-menu,
.ri-glass-ui .dropdown-menu,
.ri-glass-ui .uc-banner,
.ri-glass-ui .archive-hero .archive-hero-bg::before{
	-webkit-backdrop-filter:var(--gl-blur) !important;
	backdrop-filter:var(--gl-blur) !important;
}
.ri-glass-ui .site-header .navbar,
.ri-glass-ui .ri-popup .ri-popup-content{
	-webkit-backdrop-filter:var(--gl-blur-strong) !important;
	backdrop-filter:var(--gl-blur-strong) !important;
}

/* 弹层外壳保持全透明（不参与模糊） */
.ri-glass-ui .ri-popup .ri-popup-body{
	-webkit-backdrop-filter:none !important;
	backdrop-filter:none !important;
}

/* ---------- ④ 滚动容器统一为合成友好 ---------- */
.ri-glass-ui .uc-side,
.ri-glass-ui [data-sticky],
.ri-glass-ui [data-sticky-content]{
	will-change:auto;
}

/* 需要动画的浮层加上图层提示，避免动画期间反复重建图层 */
.ri-glass-ui .gl-select-menu,
.ri-glass-ui .navbar .nav-list .sub-menu,
.ri-glass-ui .hover-warp,
.ri-glass-ui .ri-popup .ri-popup-content{
	backface-visibility:hidden;
}

@media (prefers-reduced-motion:reduce){
	.ri-glass-ui .site-header .navbar,
	.ri-glass-ui .navbar .nav-list .sub-menu,
	.ri-glass-ui .hover-warp,
	.ri-glass-ui .off-canvas,
	.ri-glass-ui .m-navbar,
	.ri-glass-ui .rollbar .actions,
	.ri-glass-ui .ri-notice,
	.ri-glass-ui .gl-select-menu,
	.ri-glass-ui .dropdown-menu,
	.ri-glass-ui .uc-banner,
	.ri-glass-ui .ri-popup .ri-popup-content{
		-webkit-backdrop-filter:none !important;
		backdrop-filter:none !important;
	}
}

/* ---------- ⑤ 吸顶导航：降模糊半径 + 提高底色不透明度 ----------
   吸顶状态下导航背后始终有内容在滚动，blur 必须逐帧重采样。
   模糊成本大致随半径平方增长，20px→10px 约省 4 倍；
   底色更实一点可以在视觉上补偿，观感几乎一致。 */
.ri-glass-ui .site-header.navbar-sticky .navbar{
	background-color:rgba(255,255,255,.84) !important;
	-webkit-backdrop-filter:blur(10px) saturate(140%) !important;
	backdrop-filter:blur(10px) saturate(140%) !important;
}
[data-bs-theme=dark] .ri-glass-ui .site-header.navbar-sticky .navbar{
	background-color:rgba(24,33,54,.86) !important;
}
@media (max-width:991.98px){
	/* 移动端 GPU 更弱，进一步降低 */
	.ri-glass-ui .site-header .navbar{
		-webkit-backdrop-filter:blur(8px) saturate(140%) !important;
		backdrop-filter:blur(8px) saturate(140%) !important;
		background-color:rgba(255,255,255,.86) !important;
	}
	[data-bs-theme=dark] .ri-glass-ui .site-header .navbar{
		background-color:rgba(24,33,54,.88) !important;
	}
}

/* ============================================================
   28. 资源购买信息组件（边栏小工具）· 唯一权威定义
   ------------------------------------------------------------
   对应 template-parts/widget/sidebar-post-pay.php（子主题覆盖）。

   【重要】本节是该组件样式的唯一来源。历史上曾有三代叠加：
     第 23 节「初版」、第 26 节「居中版」、第 28 节「紧凑版」，
     同一组 .ri-buy__* 选择器被反复覆盖，已把前两节整节删除。
     后续要调整本组件，请只改这一节，不要再新增覆盖块。

   设计取向：紧凑。头部单行、价格两列、下载项两行，
   同内容纵向比居中版省约 50%（需购买态 650px → 385px）。

   父主题 JS 硬依赖（勿改动对应结构/属性）：
     · .post-buy-widget            → PostContents() 做移动端换位
     · .ri-down-warp[data-resize]  → 读取插入位置 top/bottom
     · .copy-pwd[data-pwd]         → ClipboardJS 复制提取密码
     · .js-pay-action[data-*] 且按钮内含 <i> → pay_action() 加载动画
   ============================================================ */

/* ---------- 1. 外壳 ---------- */
/* 拆掉 CSF 小工具本身的玻璃卡，让 .ri-buy 成为唯一卡片，避免双层玻璃发灰。
   必须写全 .sidebar .widget.post-buy-widget，否则被 .sidebar .widget 压过。 */
.sidebar .widget.post-buy-widget,
.post-buy-widget{
	background-color:transparent !important;
	background-image:none !important;
	border:0 !important;
	border-radius:0 !important;
	box-shadow:none !important;
	padding:0 !important;
	-webkit-backdrop-filter:none !important;
	backdrop-filter:none !important;
}
/* .ri-down-warp（第 10 节）自带 padding:20px!important，必须同等权重反制 */
.ri-down-warp.ri-buy{
	position:relative;
	overflow:hidden;
	padding:0 !important;
	border:1px solid var(--gl-line) !important;
	border-radius:var(--gl-r-xl) !important;
	background-color:rgba(255,255,255,.62) !important;
	background-image:var(--gl-inner) !important;
	-webkit-backdrop-filter:var(--gl-blur);
	backdrop-filter:var(--gl-blur);
	box-shadow:var(--gl-shadow) !important;
	color:var(--gl-ink-2);
}

/* ---------- 2. 头部：单行（图标 + 标题 + 状态徽章） ---------- */
.ri-buy__head{
	display:flex;
	flex-direction:row;
	align-items:center;
	gap:10px;
	padding:12px 14px;
	text-align:left;
	border-bottom:1px solid var(--gl-line-soft);
	background-image:linear-gradient(180deg,rgba(65,114,250,.11),rgba(65,114,250,0));
}
.ri-buy__icon{
	flex:0 0 34px;
	width:34px;height:34px;
	display:inline-flex;align-items:center;justify-content:center;
	border-radius:11px;
	background-image:var(--gl-grad-blue);
	color:#fff;font-size:.8125rem;
	box-shadow:0 4px 12px rgba(65,114,250,.28),inset 0 1px 0 rgba(255,255,255,.45);
}
.ri-buy__headtext{
	flex:1 1 auto;min-width:0;
	display:flex;flex-direction:column;align-items:flex-start;gap:0;
	text-align:left;
}
.ri-buy__title{
	font-size:.875rem;font-weight:700;line-height:1.35;
	color:var(--gl-ink);
	overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
/* 副标题：窄边栏放不下，且与标题/徽章语义重复 → 隐藏；
   组件被父主题 JS 移到正文（全宽）后再显示，见第 8 小节 */
.ri-buy__sub{display:none;font-size:.6875rem;line-height:1.4;color:var(--gl-ink-3);}
.ri-buy__state{
	flex:0 0 auto;
	padding:3px 9px;border-radius:999px;
	font-size:.625rem;font-weight:700;line-height:1.5;
	border:1px solid transparent;white-space:nowrap;
}
.ri-buy__state.is-ok{background-color:rgba(103,194,58,.14);color:#3d8f6d;border-color:rgba(103,194,58,.28);}
.ri-buy__state.is-lock{background-color:rgba(245,108,108,.14);color:#c94848;border-color:rgba(245,108,108,.28);}
.ri-buy__state.is-warn{background-color:rgba(230,162,60,.16);color:#a9770f;border-color:rgba(230,162,60,.3);}

/* ---------- 3. 价格：两列紧凑行（标签左 / 数值右） ---------- */
.ri-buy__price{padding:9px 11px 11px;border-bottom:1px solid var(--gl-line-soft);text-align:left;}
.ri-buy__price-main{
	display:flex;flex-direction:row;align-items:center;justify-content:space-between;
	gap:10px;min-height:40px;padding:8px 10px;
	border-radius:var(--gl-r-md);
	background-image:linear-gradient(135deg,rgba(65,114,250,.13),rgba(90,156,252,.05));
	border:1px solid rgba(65,114,250,.2);
	text-align:left;
}
.ri-buy__price-label{
	flex:0 0 auto;margin:0;padding:3px 9px;border-radius:999px;
	background-color:rgba(255,255,255,.72);
	border:1px solid rgba(65,114,250,.18);
	color:var(--gl-blue);font-size:.625rem;font-weight:700;line-height:1.5;
}
.ri-buy__price-value{display:inline-flex;align-items:baseline;gap:4px;margin-left:auto;}
.ri-buy__price-num{
	display:inline-flex;align-items:baseline;gap:4px;
	font-size:1.375rem;font-weight:800;line-height:1;
	letter-spacing:-.5px;color:var(--gl-blue);
}
.ri-buy__price-num i{font-size:.75rem;margin-right:2px;opacity:.85;}
.ri-buy__price-unit{font-size:.6875rem;font-weight:600;color:var(--gl-ink-3);}

.ri-buy__tiers{list-style:none;margin:5px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;}
.ri-buy__tier{
	display:flex;align-items:center;justify-content:space-between;
	gap:10px;min-height:40px;padding:8px 10px;
	border-radius:var(--gl-r-xs);
	background-color:rgba(255,255,255,.55);
	border:1px solid var(--gl-line-soft);
	font-size:.8125rem;
	transition:var(--gl-bt);
}
.ri-buy__tier:hover{border-color:rgba(65,114,250,.3);background-color:rgba(255,255,255,.85);}
.ri-buy__tier.is-better{
	background-image:linear-gradient(135deg,rgba(65,114,250,.14),rgba(90,156,252,.05));
	border-color:rgba(65,114,250,.28);
}
.ri-buy__tier-name{
	flex:0 1 auto;min-width:0;
	display:inline-flex;align-items:center;gap:8px;
	color:var(--gl-ink-2);font-weight:600;text-decoration:none;
	overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
/* 会员图标固定宽度，让各档会员名左边缘对齐 */
.ri-buy__tier-name i{flex:0 0 16px;width:16px;color:#e6a23c;font-size:.8rem;text-align:center;}
.ri-buy__tier.is-boosvip .ri-buy__tier-name i{color:#e05555;}
.ri-buy__tier-name:hover{color:var(--gl-blue);}
.ri-buy__tier-price{flex:0 0 auto;display:inline-flex;align-items:baseline;gap:3px;color:var(--gl-ink);font-weight:700;}
.ri-buy__tier-price b{font-size:1rem;color:var(--gl-blue);letter-spacing:-.3px;}
.ri-buy__unit{font-size:.6875rem;font-style:normal;font-weight:600;color:var(--gl-ink-3);}
.ri-buy__rate{
	vertical-align:middle;margin-left:4px;padding:1px 5px;border-radius:999px;
	background-image:var(--gl-grad-red);color:#fff;
	font-size:.5625rem;font-style:normal;font-weight:700;line-height:1.6;
}
.ri-buy__na{font-style:normal;font-size:.6875rem;font-weight:600;color:var(--gl-ink-3);}
.ri-buy__free{font-style:normal;font-size:.75rem;font-weight:700;color:#3d8f6d;}

/* ---------- 4. 操作区 ---------- */
.ri-buy__actions{padding:12px 14px;border-bottom:1px solid var(--gl-line-soft);text-align:center;}
.ri-buy__actions:last-child{border-bottom:0;}
.ri-buy__btn{
	display:flex;align-items:center;justify-content:center;gap:6px;
	width:100%;height:40px;padding:0 16px;
	border:0;border-radius:10px;
	font-size:.8125rem;font-weight:700;
	text-decoration:none;cursor:pointer;
	transition:var(--gl-bt);
}
.ri-buy__btn.is-buy{
	background-image:linear-gradient(180deg,#f78989,#f56c6c);
	color:#fff;
	box-shadow:0 4px 12px rgba(180,40,40,.28),inset 0 -2px 0 0 #e05555,inset 0 1px 0 rgba(255,255,255,.35);
}
.ri-buy__btn.is-buy:hover{background-image:linear-gradient(180deg,#f07070,#e05555);transform:translateY(-2px);color:#fff;}
.ri-buy__btn.is-buy:active{transform:translateY(0) scale(.98);}
.ri-buy__btn.is-buy:disabled{opacity:.6;cursor:not-allowed;transform:none;}
.ri-buy__btn.is-blue{
	background-image:var(--gl-grad-blue);
	color:#fff;
	box-shadow:0 4px 12px rgba(44,71,146,.3),inset 0 -2px 0 0 var(--gl-blue-deep),inset 0 1px 0 rgba(255,255,255,.35);
}
.ri-buy__btn.is-blue:hover{background-image:linear-gradient(180deg,#5a7fff,var(--gl-blue-deep));transform:translateY(-2px);color:#fff;}
.ri-buy__btn.is-blue:active{transform:translateY(0) scale(.98);}
.ri-buy__proof{
	display:flex;align-items:center;justify-content:center;gap:5px;
	margin-top:8px;font-size:.6875rem;color:var(--gl-ink-3);
}
.ri-buy__proof i{color:#f56c6c;}
.ri-buy__proof span{color:var(--gl-blue);font-weight:700;}

/* ---------- 5. 提示条（待登录态）---------- */
.ri-buy__notice{
	display:flex;flex-direction:row;align-items:center;justify-content:center;
	gap:7px;
	margin:11px 12px 0;padding:10px 12px;
	border-radius:var(--gl-r-sm);
	background-color:rgba(65,114,250,.08);
	border:1px solid rgba(65,114,250,.18);
	color:var(--gl-ink-2);font-size:.75rem;line-height:1.55;text-align:center;
}
.ri-buy__notice i{flex:0 0 auto;color:var(--gl-blue);font-size:.875rem;}

/* ---------- 6. 下载项：图标+名称一行 / 按钮组一行 ---------- */
.ri-buy__files{list-style:none;margin:0;padding:0;}
.ri-buy__file{
	display:grid;
	grid-template-columns:30px 1fr;
	gap:2px 9px;
	align-items:center;
	padding:11px 13px;
	border-bottom:1px dashed var(--gl-line-soft);
	text-align:left;
	transition:background-color .18s ease;
}
.ri-buy__file:last-child{border-bottom:0;}
.ri-buy__file:hover{background-color:rgba(65,114,250,.05);}
.ri-buy__file-icon{
	grid-column:1;grid-row:1;
	width:30px;height:30px;
	display:inline-flex;align-items:center;justify-content:center;
	border-radius:9px;
	background-color:rgba(65,114,250,.1);
	color:var(--gl-blue);font-size:.75rem;
}
.ri-buy__file-main{
	grid-column:2;grid-row:1;
	min-width:0;
	display:flex;flex-direction:column;align-items:flex-start;gap:1px;
}
.ri-buy__file-name{
	font-size:.8125rem;font-weight:600;color:var(--gl-ink);
	overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.ri-buy__file-pwd{
	font-size:.625rem;font-style:normal;color:var(--gl-ink-3);
	font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
	letter-spacing:.2px;
	overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.ri-buy__file-ops{
	grid-column:1 / -1;grid-row:2;
	display:flex;width:100%;justify-content:center;gap:6px;
	margin-top:7px;
}
.ri-buy__op{
	flex:1 1 auto;min-width:0;
	display:inline-flex;align-items:center;justify-content:center;gap:5px;
	height:30px;padding:0 8px;
	border-radius:8px;border:0;
	font-size:.6875rem;font-weight:600;
	text-decoration:none;cursor:pointer;
	transition:var(--gl-bt);
}
.ri-buy__op.is-dl{
	background-image:var(--gl-grad-blue);color:#fff;
	box-shadow:0 3px 8px rgba(44,71,146,.3),inset 0 -2px 0 0 var(--gl-blue-deep);
}
.ri-buy__op.is-dl:hover{
	background-image:linear-gradient(180deg,#5a7fff,var(--gl-blue-deep));
	color:#fff;transform:translateY(-1px);
}
.ri-buy__op.is-pwd{
	background-color:rgba(65,114,250,.1);
	color:var(--gl-blue);
	border:1px solid rgba(65,114,250,.2);
}
.ri-buy__op.is-pwd:hover{background-color:rgba(65,114,250,.2);transform:translateY(-1px);}
.ri-buy__empty{
	display:flex;align-items:center;justify-content:center;gap:7px;
	padding:22px 14px;
	color:var(--gl-ink-3);font-size:.75rem;text-align:center;
}
.ri-buy__empty i{font-size:1.25rem;}

/* ---------- 7. 附加按钮 / 参数 / 页脚 ---------- */
.ri-buy__links{
	display:flex;flex-direction:column;gap:6px;
	padding:10px 13px;
	border-bottom:1px solid var(--gl-line-soft);
}
.ri-buy__link{
	display:flex;align-items:center;justify-content:center;gap:6px;
	height:34px;border-radius:9px;
	background-color:rgba(255,255,255,.5);
	background-image:var(--gl-inner);
	border:1px solid var(--gl-line);
	color:var(--gl-ink-2);font-size:.75rem;font-weight:600;text-decoration:none;
	transition:var(--gl-bt);
}
.ri-buy__link:hover{
	border-color:rgba(65,114,250,.4);
	background-color:rgba(255,255,255,.85);
	color:var(--gl-blue);transform:translateY(-1px);
}
/* 参数：单行「A · B」，比胶囊标签省一半高度 */
.ri-buy__meta{
	list-style:none;margin:0;
	display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
	gap:2px 0;
	padding:10px 13px;
	font-size:.6875rem;line-height:1.6;
}
.ri-buy__meta-row{display:inline-flex;align-items:center;gap:4px;}
.ri-buy__meta-row+.ri-buy__meta-row:before{
	content:'·';
	margin:0 8px;
	color:var(--gl-line);
	font-weight:700;
}
.ri-buy__meta-k{color:var(--gl-ink-3);}
.ri-buy__meta-v{font-weight:600;color:var(--gl-ink-2);}
.ri-buy__foot{
	display:flex;align-items:center;justify-content:center;gap:6px;
	padding:10px 13px;
	border-top:1px solid var(--gl-line-soft);
	background-color:rgba(65,114,250,.04);
	color:var(--gl-ink-3);font-size:.625rem;line-height:1.6;text-align:center;
}
.ri-buy__foot i{flex:0 0 auto;color:var(--gl-blue);}

/* ---------- 8. 被移到正文后（移动端全宽）：恢复单行布局 ---------- */
.post-content .post-buy-widget .ri-buy__sub{display:block;margin-top:3px;}
.post-content .post-buy-widget .ri-buy__file{
	grid-template-columns:44px 1fr auto;
	gap:14px;
	padding:12px 16px;
}
.post-content .post-buy-widget .ri-buy__file-icon{width:44px;height:44px;border-radius:14px;font-size:.9375rem;}
.post-content .post-buy-widget .ri-buy__file-ops{
	grid-column:3;grid-row:1;
	width:auto;justify-content:flex-end;margin-top:0;
}
.post-content .post-buy-widget .ri-buy__op{flex:0 0 auto;min-width:0;padding:0 14px;}

/* ---------- 9. 窄屏：再压一档 ---------- */
@media (max-width:575.98px){
	.ri-buy__head{padding:11px 12px;gap:9px;}
	.ri-buy__icon{flex-basis:30px;width:30px;height:30px;border-radius:10px;font-size:.75rem;}
	.ri-buy__title{font-size:.8125rem;}
	.ri-buy__price{padding:8px 10px 10px;}
	.ri-buy__price-num{font-size:1.25rem;}
	.ri-buy__actions{padding:11px 12px;}
	.ri-buy__links{padding:9px 12px;}
	.ri-buy__meta{padding:9px 12px;}
	.ri-buy__foot{padding:9px 12px;}
	.ri-buy__file{padding:10px 12px;}
	.ri-buy__op{height:28px;font-size:.625rem;}
}

/* ---------- 10. 暗色模式 ---------- */
[data-bs-theme=dark] .ri-down-warp.ri-buy{background-color:rgba(28,37,60,.62) !important;}
[data-bs-theme=dark] .ri-buy__head{background-image:linear-gradient(180deg,rgba(107,150,255,.15),rgba(107,150,255,0));}
[data-bs-theme=dark] .ri-buy__price-main{
	background-image:linear-gradient(135deg,rgba(107,150,255,.18),rgba(107,150,255,.04));
	border-color:rgba(107,150,255,.25);
}
[data-bs-theme=dark] .ri-buy__price-label{background-color:rgba(255,255,255,.1);}
[data-bs-theme=dark] .ri-buy__tier{background-color:rgba(255,255,255,.06);}
[data-bs-theme=dark] .ri-buy__tier:hover{background-color:rgba(255,255,255,.12);}
[data-bs-theme=dark] .ri-buy__tier.is-better{
	background-image:linear-gradient(135deg,rgba(107,150,255,.2),rgba(107,150,255,.05));
}
[data-bs-theme=dark] .ri-buy__link{background-color:rgba(255,255,255,.06);}
[data-bs-theme=dark] .ri-buy__link:hover{background-color:rgba(255,255,255,.13);}
[data-bs-theme=dark] .ri-buy__file:hover{background-color:rgba(107,150,255,.08);}
[data-bs-theme=dark] .ri-buy__foot{background-color:rgba(107,150,255,.06);}

/* ============================================================
   29. QQ 绑定卡片（用户中心 · 基础信息上方）
   ------------------------------------------------------------
   模板：template-parts/user/part/profile.php
   外层复用第 24 节的 .uc-panel，这里只定义卡片内部元素。
   ============================================================ */

/* ---------- 状态标签 ---------- */
.qqbind-tag{
	flex:0 0 auto;
	padding:4px 12px;border-radius:999px;
	font-size:.6875rem;font-weight:700;line-height:1.5;
	border:1px solid transparent;white-space:nowrap;
}
.qqbind-tag.is-ok{background-color:rgba(103,194,58,.14);color:#3d8f6d;border-color:rgba(103,194,58,.28);}
.qqbind-tag.is-none{background-color:rgba(144,147,153,.14);color:#6b7280;border-color:rgba(144,147,153,.26);}

/* ---------- 绑定步骤 ---------- */
.qqbind-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.qqbind-steps li{
	display:flex;align-items:flex-start;gap:10px;
	font-size:.8125rem;line-height:1.65;color:var(--gl-ink-2);
}
.qqbind-steps b{
	flex:0 0 20px;width:20px;height:20px;margin-top:2px;
	display:inline-flex;align-items:center;justify-content:center;
	border-radius:999px;
	background-image:var(--gl-grad-blue);
	color:#fff;font-size:.6875rem;font-weight:700;
	box-shadow:0 2px 6px rgba(65,114,250,.32);
}
.qqbind-steps code{
	padding:1px 7px;border-radius:6px;
	background-color:rgba(65,114,250,.1);
	color:var(--gl-blue-deep);
	font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
	font-size:.75rem;
}

/* ---------- 操作区 ---------- */
.qqbind-action{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;}
.qqbind-hint{font-size:.6875rem;color:var(--gl-ink-3);line-height:1.6;}

/* ---------- 绑定码 ---------- */
.qqbind-code{margin-top:16px;}
.qqbind-code__label{display:block;margin-bottom:8px;font-size:.6875rem;color:var(--gl-ink-3);}
.qqbind-code__box{
	display:flex;align-items:center;gap:12px;
	padding:12px 14px;
	border-radius:var(--gl-r-sm);
	background-color:rgba(65,114,250,.08);
	border:1px dashed rgba(65,114,250,.42);
	transition:var(--gl-bt);
}
.qqbind-code__box code{
	flex:1 1 auto;min-width:0;
	font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
	font-size:1.125rem;font-weight:700;letter-spacing:1px;
	color:var(--gl-blue-deep);
	user-select:all;
	overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.qqbind-copy{
	flex:0 0 auto;
	display:inline-flex;align-items:center;gap:5px;
	height:32px;padding:0 12px;
	border:1px solid var(--gl-line);
	border-radius:var(--gl-r-xs);
	background-color:rgba(255,255,255,.75);
	color:var(--gl-ink-2);
	font-size:.75rem;font-weight:600;
	cursor:pointer;
	transition:var(--gl-bt);
}
.qqbind-copy:hover{border-color:rgba(65,114,250,.45);color:var(--gl-blue);background-color:#fff;}
.qqbind-code__timer{display:inline-block;margin-top:9px;font-size:.6875rem;color:var(--gl-ink-3);}
.qqbind-code__timer b{color:var(--gl-blue);font-variant-numeric:tabular-nums;letter-spacing:.5px;}
/* 失效态 */
.qqbind-code.is-expired .qqbind-code__box{
	background-color:rgba(245,108,108,.07);
	border-color:rgba(245,108,108,.5);
}
.qqbind-code.is-expired .qqbind-code__box code{color:#c94848;text-decoration:line-through;}

/* ---------- 已绑定信息 ---------- */
.qqbind-bound{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;}
.qqbind-bound__item{
	display:flex;flex-direction:column;gap:4px;
	padding:12px 14px;
	border-radius:var(--gl-r-sm);
	background-color:rgba(255,255,255,.55);
	border:1px solid var(--gl-line-soft);
}
.qqbind-bound__item span{font-size:.6875rem;color:var(--gl-ink-3);}
.qqbind-bound__item b{font-size:.875rem;color:var(--gl-ink);word-break:break-all;}

/* ---------- 入口一：用户中心侧栏菜单底部 ---------- */
.uc-qqbind-entry{
	display:flex;align-items:center;gap:10px;
	margin-top:12px;padding:12px 14px;
	border-radius:var(--gl-r-lg);
	background-color:rgba(65,114,250,.07);
	background-image:var(--gl-inner);
	border:1px solid var(--gl-line);
	text-decoration:none;
	transition:var(--gl-bt);
}
.uc-qqbind-entry:hover{border-color:rgba(65,114,250,.45);background-color:rgba(65,114,250,.12);}
.uc-qqbind-entry__icon{
	flex:0 0 32px;width:32px;height:32px;
	display:inline-flex;align-items:center;justify-content:center;
	border-radius:10px;
	background-image:var(--gl-grad-blue);
	color:#fff;font-size:.875rem;
	box-shadow:0 4px 10px rgba(65,114,250,.3);
}
.uc-qqbind-entry__text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px;}
.uc-qqbind-entry__text b{font-size:.8125rem;font-weight:700;color:var(--gl-ink);}
.uc-qqbind-entry__text em{font-size:.6875rem;font-style:normal;color:var(--gl-ink-3);}
.uc-qqbind-entry__tag{
	flex:0 0 auto;padding:2px 9px;border-radius:999px;
	font-size:.625rem;font-weight:700;line-height:1.6;
	background-color:rgba(144,147,153,.16);color:#6b7280;
}
.uc-qqbind-entry.is-bound .uc-qqbind-entry__tag{background-color:rgba(103,194,58,.16);color:#3d8f6d;}
.uc-qqbind-entry.is-bound .uc-qqbind-entry__icon{background-image:var(--gl-grad-green);}

/* ---------- 入口二：移动端横向标签导航 ---------- */
.uc-tab.is-qqbind{border:1px dashed rgba(65,114,250,.42);}

/* ---------- 管理员提示：凭证未配置 ---------- */
.qqbind-setup{
	display:flex;align-items:flex-start;gap:9px;
	margin-bottom:16px;padding:12px 14px;
	border-radius:var(--gl-r-sm);
	background-color:rgba(230,162,60,.12);
	border:1px solid rgba(230,162,60,.35);
	color:#8a6108;font-size:.75rem;line-height:1.75;
}
.qqbind-setup i{flex:0 0 auto;margin-top:3px;color:#e6a23c;}
.qqbind-setup code{
	padding:1px 6px;border-radius:5px;
	background-color:rgba(255,255,255,.7);
	font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
	font-size:.6875rem;
	word-break:break-all;
}

/* 从菜单跳进来时，给锚点留出顶部空间（避免被吸顶导航盖住） */
#uc-qqbind{scroll-margin-top:110px;}

/* ---------- 暗色模式 ---------- */
[data-bs-theme=dark] .uc-qqbind-entry{background-color:rgba(107,150,255,.1);}
[data-bs-theme=dark] .qqbind-setup{background-color:rgba(230,162,60,.14);color:#e8c47a;}
[data-bs-theme=dark] .qqbind-setup code{background-color:rgba(255,255,255,.12);}
[data-bs-theme=dark] .qqbind-bound__item{background-color:rgba(255,255,255,.06);border-color:var(--gl-line);}
[data-bs-theme=dark] .qqbind-copy{background-color:rgba(255,255,255,.08);color:var(--gl-ink-2);}
[data-bs-theme=dark] .qqbind-copy:hover{background-color:rgba(255,255,255,.16);}
[data-bs-theme=dark] .qqbind-tag.is-none{color:#a8b2c4;}

/* ---------- 窄屏 ---------- */
@media (max-width:575.98px){
	.qqbind-action{gap:8px;}
	.qqbind-action .uc-btn{flex:1 1 100%;}
	.qqbind-code__box{flex-wrap:wrap;gap:8px;}
	.qqbind-code__box code{flex:1 1 100%;font-size:1rem;}
	.qqbind-copy{width:100%;justify-content:center;}
	.qqbind-bound{grid-template-columns:1fr;}
}

/* ---------- 管理员诊断面板（入口未显示时，仅管理员可见） ---------- */
/* 在第 24 节 .uc-panel 之后定义即可覆盖，无需 !important */
.qqbind-block{
	border-color:rgba(230,162,60,.45);
	background-image:linear-gradient(180deg,rgba(230,162,60,.09),rgba(230,162,60,0));
}
.qqbind-block .uc-panel__icon{
	background-image:linear-gradient(180deg,#f6c05f,#e6a23c);
	box-shadow:0 4px 12px rgba(230,162,60,.32),inset 0 1px 0 rgba(255,255,255,.45);
}
.qqbind-block .uc-panel__title{color:#a9770f;}
[data-bs-theme=dark] .qqbind-block .uc-panel__title{color:#e6a23c;}
