*{
	-webkit-tap-highlight-color: transparent;
}

/* 主题变量 */
:root{
	/* 白天 */
	--bg-color:#f8f4ff;
	--board-color:#ffffff;
	--cell-color:#f0e8ff;
	--black-cell:#6a45b8;
	--start-cell:#ff6b8b;
	--end-cell:#58d8a3;
	--text-color:#3d2963;
	--shadow-color:rgba(0,0,0,0.1);

	--cell-radius:12px;
	--hover-scale:1.06;
	--transition-speed:.25s;

	--current-color:#c792ea;
	--current-glow:rgba(199,146,234,0.4);
	--moving-color:#ff7d7d;
	--moving-glow:rgba(255,255,255,0.8);

	/* 通用弹窗 */
	--overlay-bg:rgba(255,255,255,0.2);
	--dialog-bg:rgba(255,255,255,0.65);
	--dialog-border:rgba(255,255,255,0.42);
	--dialog-text:#2d2d2d;
	--dialog-muted:#4a4a4a;

	/* 通用按钮 */
	--primary:#7f47ff;
	--primary-2:#6a45b8;
	--danger:#ff6b6b;
	--ok:#58d8a3;



    --master-color: #8BA4F8;
    --master-glow: rgba(139,164,248,.28);

	--passive-color: #FF6B9A;       
	--passive-glow: rgba(255,107,154,.35);
}

[data-theme="dark"]{
	/* 夜间 */
	--bg-color:#1a103d;
	--board-color:#2a2150;
	--cell-color:#352b60;
	--black-cell:#9d7aff;
	--start-cell:#ff8fab;
	--end-cell:#7affc1;
	--text-color:#e2d9ff;
	--shadow-color:rgba(0,0,0,0.3);

	--current-color:#7f47ff;
	--current-glow:rgba(127,71,255,0.5);
	--moving-color:#ff6b8b;
	--moving-glow:rgba(163,101,255,0.6);

	--overlay-bg:rgba(0,0,0,0.35);
	--dialog-bg:rgba(42,33,80,0.78);
	--dialog-border:rgba(255,255,255,0.16);
	--dialog-text:rgba(255,255,255,0.92);
	--dialog-muted:rgba(255,255,255,0.75);
}

/* 快捷浮层：右侧贴边半圆 + 展开按钮组 */
.quick-dock{
	position:fixed;
	top:16px;
	right:0;
	z-index:9999;
	display:block;
	pointer-events:none;
}

.quick-dock-launcher{
	pointer-events:auto;
	border:none;
	cursor:pointer;
	width:22px;
	height:40px;
	border-radius:999px 0 0 999px;
	display:flex;
	align-items:center;
	justify-content:center;
	background:var(--black-cell);
	background:color-mix(in srgb, var(--black-cell) 78%, transparent);
	color:#fff;
	box-shadow:0 8px 20px var(--shadow-color);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	transition:transform .18s ease, filter .18s ease, opacity .18s ease;
}

.quick-dock-launcher:hover{
	transform:translateX(-1px);
	filter:brightness(1.05);
}

.quick-dock-launcher:active{
	transform:translateX(0) scale(.98);
}

.quick-dock-launcher i{
	font-size:12px;
	line-height:1;
}

.quick-dock-panel{
	position:absolute;
	top:0;
	right:calc(100% + 8px);
	pointer-events:none;
	opacity:0;
	transform:translateX(12px);
	transition:opacity .2s ease, transform .2s cubic-bezier(.16,1,.3,1);
	display:flex;
	gap:8px;
}

.quick-dock.open .quick-dock-panel{
	pointer-events:auto;
	opacity:1;
	transform:translateX(0);
}

.quick-dock.open .quick-dock-launcher{
	opacity:0;
	pointer-events:none;
	transform:translateX(8px);
}

.quick-action-btn{
	border:none;
	cursor:pointer;
	width:40px;
	height:40px;
	border-radius:999px;
	display:flex;
	align-items:center;
	justify-content:center;
	background:var(--black-cell);
	color:#fff;
	box-shadow:0 8px 20px var(--shadow-color);
	transition:transform .16s ease, filter .16s ease;
}

.quick-action-btn:hover{
	transform:translateY(-1px);
	filter:brightness(1.06);
}

.quick-action-btn:active{
	transform:scale(.97);
}

.quick-action-btn i{
	font-size:16px;
	line-height:1;
}

.quick-action-install{
	background:linear-gradient(135deg, var(--primary), var(--passive-color));
}

.quick-action-install.is-ready{
	animation:quickActionPulse 2.4s ease-in-out infinite;
}

@keyframes quickActionPulse{
	0%, 100%{
		box-shadow:0 8px 20px var(--shadow-color);
	}
	50%{
		box-shadow:0 10px 28px color-mix(in srgb, var(--primary) 42%, transparent);
	}
}

.legal-disclaimer{
	font-size:14px;
	line-height:1.6;
	color:var(--dialog-muted);
}

.legal-disclaimer strong{
	display:block;
	text-align:center;
	font-size:16px;
	color:var(--dialog-text);
	margin-bottom:6px;
}

.legal-disclaimer a{
	font-weight:600;
}

.install-help-list{
	margin:12px 0 0;
	padding-left:20px;
}

.install-help-list li{
	margin-bottom:8px;
}
