:root{
	--primary:#33518c;
	--primary-rgb:51,81,140;
	--primary-contrast:#ffffff;
	--glass-blur:18px;
	--surface:rgba(255,255,255,0.86);
	--surface-strong:rgba(255,255,255,0.95);
	--surface-muted:rgba(255,255,255,0.42);
	--text:#1e2b49;
	--muted:#64718c;
	--border:rgba(31,45,92,0.12);
	--shadow:0 24px 70px rgba(12,18,40,0.30);
}
body[data-mode="dark"]{
	--surface:rgba(22,27,45,0.82);
	--surface-strong:rgba(28,34,54,0.95);
	--surface-muted:rgba(255,255,255,0.08);
	--text:#e8ecf7;
	--muted:#a9b4cd;
	--border:rgba(255,255,255,0.12);
	--shadow:0 24px 70px rgba(0,0,0,0.52);
}
body[data-mode="dark"]{
	background-color:#11162b !important;
}
.bs-top-container,
.mac-dock-inner,
.mac-console,
.mac-spotlight,
.mac-panel{
	-webkit-backdrop-filter:saturate(160%) blur(var(--glass-blur)) !important;
	backdrop-filter:saturate(160%) blur(var(--glass-blur)) !important;
}
.bs-top-container{
	background:var(--surface) !important;
	border-bottom-color:var(--border) !important;
}
.navbar-right .nav-link,
.mac-brand,
.mac-menubar-left,
.mac-clock,
.mac-clock-date{
	color:var(--text) !important;
}
.mac-ticker-track span{
	color:var(--text);
	text-shadow:none;
}
.mac-dock-inner{
	background:var(--surface);
	border-color:var(--border);
}
.mac-dock-inner .dock-item{
	background:var(--surface-muted);
	border-color:var(--border);
	color:var(--text);
}
.dock-console{
	background:rgba(var(--primary-rgb),0.9) !important;
	border-color:rgba(var(--primary-rgb),0.9) !important;
	color:var(--primary-contrast) !important;
}
.dock-console:hover{
	background:rgba(var(--primary-rgb),0.96) !important;
	color:var(--primary-contrast) !important;
}
.dock-separator{
	background:var(--border);
}
.console-window,
.mac-panel-window,
.spotlight-window,
.mac-user-window,
.mac-notice-window{
	background:var(--surface-strong);
	border-color:var(--border);
	box-shadow:var(--shadow);
	-webkit-backdrop-filter:blur(calc(var(--glass-blur) * 0.55)) saturate(180%);
	backdrop-filter:blur(calc(var(--glass-blur) * 0.55)) saturate(180%);
}
.console-title,
.mac-panel-title,
.console-app-name,
.spotlight-result-name,
.mac-user-name,
.mac-user-item,
.mac-loading,
.mac-empty{
	color:var(--text);
}
.console-title small,
.mac-user-sub,
.spotlight-head input,
.console-search input{
	color:var(--muted);
}
.console-app,
.spotlight-result-ico,
.console-filter{
	background:var(--surface-muted);
	border-color:var(--border);
	color:var(--text);
}
.console-app:hover,
.console-filter:hover{
	background:var(--surface-strong);
	color:var(--text);
}
.console-filter.active{
	background:rgba(var(--primary-rgb),0.9);
	border-color:rgba(var(--primary-rgb),0.9);
	color:var(--primary-contrast);
}
.console-title .mdi,
.mac-panel-title .mdi,
.mac-user-item .mdi,
.spotlight-head .mdi,
.console-search .mdi{
	color:rgba(var(--primary-rgb),0.92);
}
.mac-panel{
	background:rgba(var(--primary-rgb),0.18);
}
.mac-user-window{
	background:var(--surface-strong);
}
.mac-user-head{
	background:rgba(var(--primary-rgb),0.12);
	border-bottom-color:var(--border);
}
.mac-user-avatar{
	background:rgba(var(--primary-rgb),0.92);
}
.mac-user-body{
	padding:10px;
}
.mac-user-item{
	background:transparent;
}
.mac-user-item:hover{
	background:rgba(var(--primary-rgb),0.10);
	color:var(--text);
}
.mac-user-group{
	margin-bottom:2px;
}
.mac-user-toggle{
	width:100%;
	border:0;
	background:transparent;
	color:var(--text);
	font:inherit;
	cursor:pointer;
	text-align:left;
}
.mac-user-toggle:hover{
	background:rgba(var(--primary-rgb),0.10);
	color:var(--text);
}
.mac-user-toggle-arrow{
	margin-left:auto;
	font-size:19px;
	opacity:0.72;
	transition:transform 0.18s ease;
}
.mac-user-group.open .mac-user-toggle-arrow{
	transform:rotate(180deg);
}
.mac-user-submenu{
	display:none;
	margin:2px 0 4px 12px;
	padding-left:6px;
	border-left:1px solid var(--border);
}
.mac-user-group.open .mac-user-submenu{
	display:block;
}
.mac-user-subitem{
	padding:8px 12px;
	font-size:13px;
	font-weight:500;
}
.mac-user-subitem.active{
	background:rgba(var(--primary-rgb),0.10);
	color:rgba(var(--primary-rgb),0.95);
}
.mac-user-subitem.active .mdi{
	color:rgba(var(--primary-rgb),0.92);
}
.mac-spinner{
	border-color:rgba(var(--primary-rgb),0.18);
	border-top-color:rgba(var(--primary-rgb),0.92);
}
.mac-notice-all{
	background:rgba(var(--primary-rgb),0.92);
}
.mac-notice-all:hover{
	background:rgba(var(--primary-rgb),0.98);
}
.mac-notice-body .card{
	border-color:var(--border);
	background:var(--surface);
	color:var(--text);
}
.mac-clock-trigger{
	display:inline-flex;
	align-items:center;
	gap:7px;
	padding:0;
	border:0;
	background:transparent;
	color:inherit;
	cursor:pointer;
	font:inherit;
}
.mac-clock-trigger:hover{
	opacity:0.82;
}
.mac-clock-trigger .mdi{
	font-size:14px;
	opacity:0.72;
}
.mac-clock-trigger[aria-expanded="true"] .mdi{
	transform:rotate(180deg);
}
.mac-user-id{
	position:relative;
	flex:0 0 auto;
}
.mac-user-avatar img{
	width:100%;
	height:100%;
	border-radius:50%;
	object-fit:cover;
}
.mac-user-status-dot{
	position:absolute;
	right:-2px;
	bottom:-2px;
	width:14px;
	height:14px;
	border-radius:50%;
	border:2px solid #fff;
	background:#94a3b8;
	box-shadow:0 2px 6px rgba(0,0,0,0.25);
}
.mac-user-panel[data-online="1"] .mac-user-status-dot{
	background:#22c55e;
	animation:macStatusPulse 2s ease-in-out infinite;
}
.mac-user-panel[data-online="1"] .mac-user-status-dot{
	box-shadow:0 0 0 4px rgba(34,197,94,0.18);
}
.mac-user-state{
	display:inline-flex;
	align-items:center;
	gap:6px;
	margin-top:5px;
	font-size:11.5px;
	font-weight:700;
	color:var(--muted);
}
.mac-user-state-dot{
	width:7px;
	height:7px;
	border-radius:50%;
	background:#94a3b8;
}
.mac-user-panel[data-online="1"] .mac-user-state{
	color:#16a34a;
}
.mac-user-panel[data-online="1"] .mac-user-state-dot{
	background:#22c55e;
	animation:macStatusPulse 2s ease-in-out infinite;
}
body[data-mode="dark"] .mac-user-panel[data-online="1"] .mac-user-state{
	color:#4ade80;
}
.mac-user-status-card{
	display:flex;
	align-items:center;
	gap:10px;
	margin:2px 2px 8px;
	padding:11px 12px;
	border-radius:12px;
	background:rgba(var(--primary-rgb),0.10);
	border:1px solid var(--border);
}
.mac-user-status-card .mdi{
	font-size:20px;
	color:rgba(var(--primary-rgb),0.92);
}
.mac-user-status-card b{
	display:block;
	font-size:13px;
	color:var(--text);
}
.mac-user-status-card span{
	font-size:12px;
	color:var(--muted);
}
@keyframes macStatusPulse{
	0%,100%{opacity:1; transform:scale(1);}
	50%{opacity:0.7; transform:scale(0.92);}
}
.mac-calendar-pop{
	display:none;
	position:fixed;
	top:52px;
	left:16px;
	z-index:470;
	width:min(372px, calc(100vw - 20px));
}
.mac-calendar-pop.open{
	display:block;
	animation:macCalendarIn 0.22s cubic-bezier(0.22, 1.1, 0.36, 1) both;
}
.cal-window{
	overflow:hidden;
	border-radius:16px;
	background:var(--surface-strong);
	border:1px solid var(--border);
	box-shadow:var(--shadow);
	-webkit-backdrop-filter:blur(calc(var(--glass-blur) * 0.6)) saturate(180%);
	backdrop-filter:blur(calc(var(--glass-blur) * 0.6)) saturate(180%);
}
.cal-head{
	display:flex;
	align-items:center;
	gap:8px;
	padding:14px 14px 8px;
}
.cal-title-wrap{
	min-width:0;
	flex:1;
	text-align:center;
}
.cal-title{
	font-size:15px;
	font-weight:800;
	color:var(--text);
}
.cal-sub{
	margin-top:2px;
	font-size:11px;
	color:var(--muted);
}
.cal-nav{
	width:30px;
	height:30px;
	flex:0 0 auto;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:0;
	border:0;
	border-radius:9px;
	background:rgba(var(--primary-rgb),0.09);
	color:var(--text);
	cursor:pointer;
	transition:background-color 0.15s ease, transform 0.15s ease;
}
.cal-nav:hover{
	background:rgba(var(--primary-rgb),0.18);
	transform:scale(1.05);
}
.cal-toolbar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:8px;
	padding:0 14px 8px;
}
.cal-today{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:5px 11px;
	border:0;
	border-radius:999px;
	background:rgba(var(--primary-rgb),0.10);
	color:rgba(var(--primary-rgb),0.95);
	font-size:12px;
	font-weight:700;
	cursor:pointer;
	transition:background-color 0.15s ease;
}
.cal-today:hover{
	background:rgba(var(--primary-rgb),0.18);
}
.cal-gregorian{
	font-size:11.5px;
	color:var(--muted);
}
.cal-week{
	display:grid;
	grid-template-columns:repeat(7, 1fr);
	padding:0 8px;
}
.cal-week span{
	padding:5px 2px;
	font-size:11px;
	font-weight:700;
	color:var(--muted);
	text-align:center;
}
.cal-week span:nth-child(1),
.cal-week span:nth-child(7){
	color:rgba(var(--primary-rgb),0.78);
}
.cal-grid{
	display:grid;
	grid-template-columns:repeat(7, 1fr);
	gap:2px;
	padding:4px 8px 10px;
}
.cal-day{
	position:relative;
	min-width:0;
	min-height:54px;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:flex-start;
	padding:6px 2px 4px;
	border:0;
	border-radius:10px;
	background:transparent;
	color:var(--text);
	cursor:pointer;
	transition:background-color 0.14s ease, transform 0.14s ease;
}
.cal-day:hover{
	background:rgba(var(--primary-rgb),0.10);
}
.cal-day.outside{
	opacity:0.34;
}
.cal-day.weekend .cal-num{
	color:rgba(var(--primary-rgb),0.86);
}
.cal-num{
	font-size:14px;
	font-weight:700;
	line-height:1.2;
}
.cal-lunar{
	display:block;
	max-width:100%;
	margin-top:3px;
	font-size:10px;
	line-height:1.15;
	color:var(--muted);
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.cal-tag{
	display:block;
	max-width:100%;
	margin-top:2px;
	padding:1px 3px;
	border-radius:4px;
	background:rgba(217,45,32,0.10);
	color:#d92d20;
	font-size:9px;
	font-weight:700;
	line-height:1.2;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.cal-day.term .cal-tag{
	background:rgba(37,99,235,0.12);
	color:#2563eb;
}
.cal-day.today{
	background:rgba(var(--primary-rgb),0.12);
	box-shadow:inset 0 0 0 1px rgba(var(--primary-rgb),0.36);
}
.cal-day.selected{
	background:rgba(var(--primary-rgb),0.92);
	color:var(--primary-contrast);
	box-shadow:0 8px 18px rgba(var(--primary-rgb),0.28);
}
.cal-day.selected .cal-lunar,
.cal-day.selected .cal-tag,
.cal-day.selected.weekend .cal-num{
	color:rgba(255,255,255,0.92);
}
.cal-day.selected .cal-tag{
	background:rgba(255,255,255,0.18);
	color:#fff;
}
.cal-footer{
	display:flex;
	align-items:center;
	gap:9px;
	padding:11px 14px 14px;
	border-top:1px solid var(--border);
}
.cal-footer .mdi{
	font-size:18px;
	color:rgba(var(--primary-rgb),0.9);
}
.cal-footer-detail{
	min-width:0;
	font-size:12px;
	line-height:1.5;
	color:var(--muted);
}
.cal-footer-detail b{
	display:block;
	font-size:13px;
	color:var(--text);
}
@keyframes macCalendarIn{
	from{
		opacity:0;
		transform:translateY(-8px) scale(0.96);
	}
	to{
		opacity:1;
		transform:none;
	}
}
.mac-context{
	display:none;
	position:fixed;
	z-index:540;
	min-width:196px;
	max-width:calc(100vw - 16px);
	padding:6px;
	border-radius:12px;
	background:var(--surface-strong);
	border:1px solid var(--border);
	box-shadow:var(--shadow);
	-webkit-backdrop-filter:blur(calc(var(--glass-blur) * 0.55)) saturate(180%);
	backdrop-filter:blur(calc(var(--glass-blur) * 0.55)) saturate(180%);
}
.mac-context.open{
	display:block;
	animation:macContextIn 0.14s ease-out;
}
.ctx-head{
	display:flex;
	align-items:center;
	gap:8px;
	padding:8px 10px 7px;
	font-size:12px;
	font-weight:800;
	color:var(--muted);
}
.ctx-head img{
	width:24px;
	height:24px;
	border-radius:7px;
	object-fit:contain;
}
.ctx-item{
	display:flex;
	width:100%;
	align-items:center;
	gap:10px;
	padding:9px 11px;
	border:0;
	border-radius:9px;
	background:transparent;
	color:var(--text);
	font-size:13px;
	font-weight:600;
	text-align:left;
	cursor:pointer;
	transition:background-color 0.13s ease;
}
.ctx-item:hover,
.ctx-item:focus-visible{
	outline:none;
	background:rgba(var(--primary-rgb),0.10);
	color:var(--text);
}
.ctx-item .mdi{
	font-size:18px;
	color:rgba(var(--primary-rgb),0.9);
}
.ctx-item.danger{
	color:#d92d20;
}
.ctx-item.danger .mdi{
	color:#d92d20;
}
.ctx-sep{
	height:1px;
	margin:5px 8px;
	background:var(--border);
}
@keyframes macContextIn{
	from{
		opacity:0;
		transform:scale(0.94);
	}
	to{
		opacity:1;
		transform:none;
	}
}
.mac-appinfo-body{
	padding:20px 18px 18px;
	overflow-y:auto;
}
.appinfo-main{
	display:flex;
	align-items:flex-start;
	gap:14px;
}
.appinfo-ico{
	width:66px;
	height:66px;
	flex:0 0 auto;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:17px;
	background:rgba(var(--primary-rgb),0.10);
	border:1px solid var(--border);
	box-shadow:0 10px 24px rgba(var(--primary-rgb),0.12);
}
.appinfo-ico img{
	width:42px;
	height:42px;
	object-fit:contain;
}
.appinfo-name{
	font-size:17px;
	font-weight:800;
	color:var(--text);
}
.appinfo-meta{
	margin-top:9px;
	display:flex;
	flex-direction:column;
	gap:7px;
}
.appinfo-meta div{
	display:flex;
	align-items:center;
	gap:7px;
	font-size:12.5px;
	color:var(--muted);
}
.appinfo-meta .mdi{
	font-size:16px;
	color:rgba(var(--primary-rgb),0.85);
}
.appinfo-meta code{
	max-width:210px;
	padding:2px 7px;
	border-radius:6px;
	background:rgba(var(--primary-rgb),0.08);
	color:var(--text);
	font-size:11px;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.appinfo-actions{
	display:flex;
	flex-wrap:wrap;
	gap:9px;
	margin-top:18px;
	padding-top:14px;
	border-top:1px solid var(--border);
}
.appinfo-btn{
	display:inline-flex;
	align-items:center;
	gap:7px;
	padding:9px 14px;
	border:0;
	border-radius:10px;
	background:rgba(var(--primary-rgb),0.10);
	color:rgba(var(--primary-rgb),0.96);
	font-size:13px;
	font-weight:700;
	cursor:pointer;
	transition:background-color 0.15s ease, transform 0.15s ease;
}
.appinfo-btn:hover{
	background:rgba(var(--primary-rgb),0.18);
	transform:translateY(-1px);
}
.appinfo-btn.primary{
	background:rgba(var(--primary-rgb),0.92);
	color:var(--primary-contrast);
}
.appinfo-btn.primary:hover{
	background:rgba(var(--primary-rgb),1);
}
.px-section{
	margin-top:14px;
}
.px-section:first-child{
	margin-top:4px;
}
.px-title{
	display:flex;
	align-items:center;
	gap:8px;
	margin-bottom:2px;
	font-size:13px;
	font-weight:800;
	color:var(--text);
}
.px-title .mdi{
	font-size:17px;
	color:rgba(var(--primary-rgb),0.9);
}
.px-desc{
	margin-top:2px;
	font-size:11.5px;
	color:var(--muted);
}
.wp-grid{
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:10px;
	padding:10px 0 2px;
}
.wp-card{
	position:relative;
	height:82px;
	display:flex;
	align-items:flex-end;
	justify-content:flex-start;
	padding:8px;
	border:2px solid rgba(255,255,255,0.72);
	border-radius:12px;
	background-size:cover;
	background-position:center;
	box-shadow:0 8px 18px rgba(12,18,40,0.14);
	cursor:pointer;
	overflow:hidden;
	transition:transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}
.wp-card:hover{
	transform:translateY(-2px);
	border-color:rgba(var(--primary-rgb),0.55);
	box-shadow:0 12px 24px rgba(12,18,40,0.20);
}
.wp-card.active{
	border-color:rgba(var(--primary-rgb),0.95);
	box-shadow:0 0 0 2px rgba(var(--primary-rgb),0.18), 0 12px 24px rgba(12,18,40,0.18);
}
.wp-card.active::after{
	content:"";
	position:absolute;
	top:7px;
	right:7px;
	width:16px;
	height:16px;
	border-radius:50%;
	background:rgba(var(--primary-rgb),0.92);
	box-shadow:inset 0 0 0 3px #fff;
}
.wp-card-name{
	position:relative;
	z-index:1;
	max-width:100%;
	padding:3px 7px;
	border-radius:7px;
	background:rgba(12,18,40,0.42);
	color:#fff;
	font-size:11px;
	font-weight:700;
	text-shadow:0 1px 2px rgba(0,0,0,0.35);
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.wp-card.upload{
	align-items:center;
	justify-content:center;
	border-style:dashed;
	border-color:var(--border);
	background:var(--surface-muted);
}
.wp-card.upload .mdi{
	font-size:24px;
	color:rgba(var(--primary-rgb),0.85);
}
.wp-card.upload span{
	margin-top:5px;
	color:var(--muted);
	font-size:11px;
	font-weight:700;
}
.color-row{
	display:flex;
	flex-wrap:wrap;
	gap:9px;
	padding:10px 0 2px;
}
.color-swatch{
	position:relative;
	width:34px;
	height:34px;
	padding:0;
	border:2px solid rgba(255,255,255,0.92);
	border-radius:50%;
	box-shadow:0 3px 8px rgba(12,18,40,0.16);
	cursor:pointer;
	transition:transform 0.15s ease, box-shadow 0.15s ease;
}
.color-swatch:hover{
	transform:translateY(-2px) scale(1.06);
}
.color-swatch.active::after{
	content:"";
	position:absolute;
	inset:5px;
	border-radius:50%;
	box-shadow:inset 0 0 0 2px #fff, inset 0 0 0 5px rgba(12,18,40,0.72);
}
.color-input-wrap{
	position:relative;
	width:34px;
	height:34px;
	border-radius:50%;
	overflow:hidden;
	border:2px solid rgba(255,255,255,0.92);
	box-shadow:0 3px 8px rgba(12,18,40,0.16);
	cursor:pointer;
}
.color-input-wrap input{
	position:absolute;
	inset:-6px;
	width:46px;
	height:46px;
	padding:0;
	border:0;
	cursor:pointer;
}
.mode-row,
.blur-row{
	display:flex;
	align-items:center;
	gap:12px;
	padding:11px 0 3px;
}
.mode-row .px-desc{
	margin:2px 0 0;
}
.mode-row > div:first-child{
	flex:1;
}
.switch{
	position:relative;
	width:44px;
	height:25px;
	flex:0 0 auto;
}
.switch input{
	position:absolute;
	inset:0;
	opacity:0;
	cursor:pointer;
}
.switch i{
	position:absolute;
	inset:0;
	border-radius:999px;
	background:rgba(var(--primary-rgb),0.18);
	transition:background-color 0.18s ease;
}
.switch i::after{
	content:"";
	position:absolute;
	top:3px;
	left:3px;
	width:19px;
	height:19px;
	border-radius:50%;
	background:#fff;
	box-shadow:0 2px 5px rgba(0,0,0,0.2);
	transition:transform 0.18s ease;
}
.switch input:checked + i{
	background:rgba(var(--primary-rgb),0.92);
}
.switch input:checked + i::after{
	transform:translateX(19px);
}
.blur-row input[type="range"]{
	flex:1;
	min-width:0;
	accent-color:rgba(var(--primary-rgb),0.92);
}
.px-value{
	min-width:48px;
	text-align:right;
	font-size:12px;
	font-weight:800;
	color:rgba(var(--primary-rgb),0.92);
	font-variant-numeric:tabular-nums;
}
.dzz-skin-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(46px, 1fr));
	gap:9px;
	padding:10px 0 2px;
}
.dzz-skin-swatch{
	position:relative;
	height:38px;
	padding:0;
	border:2px solid rgba(255,255,255,0.92);
	border-radius:10px;
	box-shadow:0 3px 8px rgba(12,18,40,0.14);
	cursor:pointer;
}
.dzz-skin-swatch.active::after{
	content:"";
	position:absolute;
	inset:5px;
	border-radius:6px;
	box-shadow:inset 0 0 0 2px #fff, inset 0 0 0 4px rgba(12,18,40,0.7);
}
.mac-toast{
	position:fixed;
	left:50%;
	bottom:92px;
	z-index:560;
	display:flex;
	align-items:center;
	gap:8px;
	padding:10px 16px;
	border-radius:12px;
	background:rgba(var(--primary-rgb),0.94);
	color:var(--primary-contrast);
	font-size:13px;
	font-weight:700;
	box-shadow:0 14px 34px rgba(12,18,40,0.28);
	transform:translate(-50%, 14px);
	opacity:0;
	pointer-events:none;
	transition:opacity 0.2s ease, transform 0.2s ease;
}
.mac-toast.show{
	opacity:1;
	transform:translate(-50%, 0);
}
.mac-toast .mdi{
	font-size:18px;
}
#macDesktopGrid.hide-icons .desktop-icon{
	display:none;
}
@media (max-width:767px){
	.mac-calendar-pop{
		top:58px;
		left:10px;
		right:10px;
		width:auto;
	}
	.cal-day{
		min-height:48px;
		padding:5px 1px 3px;
	}
	.cal-lunar{
		font-size:9px;
	}
	.cal-tag{
		font-size:8px;
	}
	.wp-grid{
		grid-template-columns:repeat(2, 1fr);
	}
	.mac-user-status-card{
		margin-top:0;
	}
}

/* V6.0 - 总控台应用商店 / 在线应用 */
.console-tabs{
	display:flex;
	align-items:center;
	gap:6px;
	padding:0 18px 12px;
	overflow-x:auto;
	scrollbar-width:none;
}
.console-tabs::-webkit-scrollbar{
	display:none;
}
.console-tab{
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:8px 14px;
	border:0;
	border-radius:999px;
	background:var(--surface-muted);
	color:var(--text);
	font-size:13px;
	font-weight:700;
	cursor:pointer;
	transition:background-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
}
.console-tab:hover{
	background:rgba(var(--primary-rgb),0.12);
	transform:translateY(-1px);
}
.console-tab.active{
	background:rgba(var(--primary-rgb),0.92);
	color:var(--primary-contrast);
	box-shadow:0 6px 16px rgba(var(--primary-rgb),0.24);
}
.console-tab .mdi{
	font-size:17px;
}
.console-admin{
	margin-left:auto;
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:8px 12px;
	border-radius:999px;
	background:rgba(var(--primary-rgb),0.10);
	color:rgba(var(--primary-rgb),0.95);
	font-size:12.5px;
	font-weight:700;
	text-decoration:none;
	transition:background-color 0.16s ease;
}
.console-admin:hover{
	background:rgba(var(--primary-rgb),0.18);
	color:rgba(var(--primary-rgb),0.95);
	text-decoration:none;
}
#consoleStoreFilters{
	display:flex;
}
#consoleStoreFilters[hidden]{
	display:none;
}
.store-grid,
.online-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
	gap:14px;
}
.store-card{
	display:flex;
	flex-direction:column;
	padding:14px;
	border-radius:14px;
	background:var(--surface-muted);
	border:1px solid var(--border);
	transition:transform 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease;
}
.store-card:hover{
	transform:translateY(-3px);
	background:var(--surface-strong);
	box-shadow:0 14px 28px rgba(12,18,40,0.16);
}
.store-card-head{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:10px;
}
.store-card-ico{
	width:64px;
	height:64px;
	flex:0 0 auto;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:15px;
	background:rgba(var(--primary-rgb),0.10);
	border:1px solid var(--border);
	overflow:hidden;
}
.store-card-ico img{
	width:100%;
	height:100%;
	object-fit:contain;
}
.store-card-name{
	font-size:14.5px;
	font-weight:800;
	color:var(--text);
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.store-card-meta{
	display:flex;
	align-items:center;
	gap:8px;
	margin-top:5px;
	flex-wrap:wrap;
}
.store-version{
	padding:2px 7px;
	border-radius:6px;
	background:rgba(var(--primary-rgb),0.10);
	color:rgba(var(--primary-rgb),0.92);
	font-size:11px;
	font-weight:700;
}
.platform-tag{
	padding:2px 7px;
	border-radius:6px;
	background:var(--surface-strong);
	border:1px solid var(--border);
	color:var(--muted);
	font-size:10.5px;
	font-weight:700;
}
.store-card-intro{
	flex:1;
	min-width:0;
	margin-top:11px;
	color:var(--muted);
	font-size:12.5px;
	line-height:1.55;
	overflow:hidden;
	display:-webkit-box;
	-webkit-line-clamp:3;
	-webkit-box-orient:vertical;
	overflow-wrap:anywhere;
	word-break:break-word;
	cursor:pointer;
}
.store-card-intro:hover,
.store-card-intro.expanded{
	display:block;
	-webkit-line-clamp:unset;
	-webkit-box-orient:vertical;
	max-height:none;
}
.store-card-foot{
	display:flex;
	align-items:center;
	gap:10px;
	margin-top:auto;
	padding-top:12px;
	border-top:1px solid var(--border);
}
.store-card-download{
	flex:1;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:6px;
	padding:9px 13px;
	border:0;
	border-radius:9px;
	background:rgba(var(--primary-rgb),0.92);
	color:var(--primary-contrast);
	font-size:12.5px;
	font-weight:700;
	white-space:nowrap;
	text-decoration:none;
	transition:background-color 0.15s ease, transform 0.15s ease;
}
.store-card-download:hover{
	background:rgba(var(--primary-rgb),1);
	color:var(--primary-contrast);
	text-decoration:none;
	transform:translateY(-1px);
}
.store-card-date{
	font-size:11px;
	color:var(--muted);
}
.online-card{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:10px;
	padding:14px;
	border-radius:14px;
	background:var(--surface-muted);
	border:1px solid var(--border);
	color:var(--text);
	cursor:pointer;
	transition:transform 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease;
}
.online-card:hover{
	transform:translateY(-3px);
	background:var(--surface-strong);
	box-shadow:0 14px 28px rgba(12,18,40,0.16);
	color:var(--text);
	text-decoration:none;
}
.online-avatar{
	width:60px;
	height:60px;
	flex:0 0 auto;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:15px;
	color:#fff;
	font-size:22px;
	font-weight:800;
	box-shadow:0 8px 18px rgba(12,18,40,0.18);
}
.online-card-main{
	width:100%;
	min-width:0;
	flex:1;
}
.online-card-name{
	font-size:15px;
	font-weight:800;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.online-card-desc{
	margin-top:5px;
	font-size:12px;
	color:var(--muted);
	overflow:hidden;
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow-wrap:anywhere;
	word-break:break-word;
	cursor:pointer;
}
.online-card-desc:hover,
.online-card-desc.expanded{
	display:block;
	-webkit-line-clamp:unset;
	-webkit-box-orient:vertical;
	max-height:none;
}
.online-card .mdi-open-in-new{
	font-size:16px;
	flex:0 0 auto;
}
.online-open .mdi-open-in-new{
	color:var(--primary-contrast);
}
@media (max-width:767px){
	.console-tabs{
		padding:0 14px 10px;
	}
	.store-grid,
	.online-grid{
		grid-template-columns:1fr;
		gap:10px;
	}
	.store-card,
	.online-card{
		padding:12px;
	}
	.online-card-actions{
		flex-wrap:wrap;
	}
}
/* V6.0 - 在线应用添加到桌面 */
.online-card{
	padding:14px;
	gap:10px;
}
.online-card-actions{
	display:flex;
	align-items:center;
	gap:8px;
	width:100%;
	margin-top:auto;
	padding-top:12px;
	border-top:1px solid var(--border);
}
.online-open,
.online-add{
	flex:1;
	min-width:0;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:5px;
	padding:9px 10px;
	border:0;
	border-radius:9px;
	font-size:12px;
	font-weight:700;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	text-decoration:none;
	transition:background-color 0.15s ease, transform 0.15s ease;
}
.online-open{
	background:rgba(var(--primary-rgb),0.92);
	color:var(--primary-contrast);
}
.online-open:hover{
	background:rgba(var(--primary-rgb),1);
	color:var(--primary-contrast);
	text-decoration:none;
	transform:translateY(-1px);
}
.online-add{
	background:rgba(var(--primary-rgb),0.10);
	color:rgba(var(--primary-rgb),0.92);
	cursor:pointer;
}
.online-add:hover{
	background:rgba(var(--primary-rgb),0.18);
	transform:translateY(-1px);
}
.online-add .mdi{
	font-size:16px;
}
.online-add.added{
	background:rgba(34,197,94,0.14);
	color:#16a34a;
}
.online-desktop-avatar{
	width:100%;
	height:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:14px;
	font-size:18px;
	font-weight:800;
	box-shadow:inset 0 0 0 1px rgba(255,255,255,0.24);
}
/* V6.0 - 应用商店卡片溢出优化 */
.store-card{
	min-width:0;
}
.store-card-head{
	min-width:0;
	width:100%;
}
.store-card-main{
	flex:1;
	min-width:0;
	overflow:hidden;
}
.store-card-name{
	display:block;
	max-width:100%;
}
.store-card-meta{
	min-width:0;
	max-width:100%;
	overflow:hidden;
}
.store-card-ico{
	flex:0 0 64px;
}
.store-card-ico img{
	width:auto;
	height:auto;
	max-width:100%;
	max-height:100%;
	object-fit:contain;
}
.store-card-ico-fallback{
	width:100%;
	height:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:12px;
	font-size:20px;
	font-weight:800;
}
.platform-tag{
	max-width:100%;
	flex:0 1 auto;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.store-card-intro{
	overflow-wrap:anywhere;
	word-break:break-word;
}
.store-card-download{
	flex:1;
	white-space:nowrap;
}
