			:root {
				--accent: #22D3EE;
				--deep: #020617;
				--panel: rgba(15, 23, 42, 0.6);
			}

			/* ===== 布局工具 ===== */
			.relative {
				position: relative;
			}

			.absolute {
				position: absolute;
			}

			.inset-0 {
				top: 0;
				right: 0;
				bottom: 0;
				left: 0;
			}

			.w-full {
				width: 100%;
			}

			.h-full {
				height: 100%;
			}

			.flex {
				display: flex;
			}

			.inline-flex {
				display: inline-flex;
			}

			.flex-col {
				flex-direction: column;
			}

			.flex-wrap {
				flex-wrap: wrap;
			}

			.items-center {
				align-items: center;
			}

			.items-start {
				align-items: flex-start;
			}

			.justify-center {
				justify-content: center;
			}

			.justify-between {
				justify-content: space-between;
			}

			.flex-1 {
				flex: 1 1 0%;
			}

			.flex-shrink-0 {
				flex-shrink: 0;
			}

			.grid {
				display: grid;
			}

			.gap-1 {
				gap: 0.25rem;
			}

			.gap-2 {
				gap: 0.5rem;
			}

			.gap-3 {
				gap: 0.75rem;
			}

			.gap-4 {
				gap: 1rem;
			}

			.space-y-1>*+* {
				margin-top: 0.25rem;
			}

			.overflow-hidden {
				overflow: hidden;
			}

			.overflow-y-auto {
				overflow-y: auto;
			}

			.pointer-events-none {
				pointer-events: none;
			}

			/* ===== 间距 ===== */
			.mt-1 {
				margin-top: 0.25rem;
			}

			.mt-2 {
				margin-top: 0.5rem;
			}

			.mt-3 {
				margin-top: 0.75rem;
			}

			.mt-4 {
				margin-top: 1rem;
			}

			.mb-1 {
				margin-bottom: 0.25rem;
			}

			.mb-2 {
				margin-bottom: 0.5rem;
			}

			.mb-3 {
				margin-bottom: 0.75rem;
			}

			.mb-4 {
				margin-bottom: 1rem;
			}

			.p-2 {
				padding: 0.5rem;
			}

			.p-4 {
				padding: 1rem;
			}

			.p-5 {
				padding: 1.25rem;
			}

			.px-1 {
				padding-left: 0.25rem;
				padding-right: 0.25rem;
			}

			.px-4 {
				padding-left: 1rem;
				padding-right: 1rem;
			}

			.py-2 {
				padding-top: 0.5rem;
				padding-bottom: 0.5rem;
			}

			/* ===== 文本 ===== */
			.text-xs {
				font-size: 0.75rem;
			}

			.text-sm {
				font-size: 0.875rem;
			}

			.text-lg {
				font-size: 1.125rem;
			}

			.text-2xl {
				font-size: 1.5rem;
			}

			.text-3xl {
				font-size: 1.875rem;
			}

			.text-\[10px\] {
				font-size: 10px;
			}

			.text-\[11px\] {
				font-size: 11px;
			}

			.font-bold {
				font-weight: 700;
			}

			.font-extrabold {
				font-weight: 800;
			}

			.font-mono {
				font-family: 'SF Mono', 'Fira Code', 'JetBrains Mono', 'Consolas', monospace;
			}

			.uppercase {
				text-transform: uppercase;
			}

			.tracking-tight {
				letter-spacing: -0.025em;
			}

			.tracking-wider {
				letter-spacing: 0.05em;
			}

			.tracking-widest {
				letter-spacing: 0.1em;
			}

			.leading-none {
				line-height: 1;
			}

			.text-white {
				color: #F8FAFC;
			}

			.text-white\/25 {
				color: rgba(255, 255, 255, 0.25);
			}

			.text-white\/30 {
				color: rgba(255, 255, 255, 0.3);
			}

			.text-white\/40 {
				color: rgba(255, 255, 255, 0.4);
			}

			.text-white\/50 {
				color: rgba(255, 255, 255, 0.5);
			}

			.text-white\/70 {
				color: rgba(255, 255, 255, 0.7);
			}

			.text-accent {
				color: #22D3EE;
			}

			.text-accent\/50 {
				color: rgba(34, 211, 238, 0.5);
			}

			.text-accent\/60 {
				color: rgba(34, 211, 238, 0.6);
			}

			/* ===== 背景 ===== */
			.bg-slate-900\/50 {
				background-color: rgba(15, 23, 42, 0.5);
			}

			.bg-green-400 {
				background-color: #4ADE80;
			}

			.bg-amber-400 {
				background-color: #FBBF24;
			}

			.bg-accent {
				background-color: #22D3EE;
			}

			.bg-accent\/40 {
				background-color: rgba(34, 211, 238, 0.4);
			}

			.bg-accent\/60 {
				background-color: rgba(34, 211, 238, 0.6);
			}

			/* ===== 边框 ===== */
			.border {
				border-width: 1px;
			}

			.border-white\/8 {
				border-color: rgba(255, 255, 255, 0.08);
			}

			.rounded-lg {
				border-radius: 0.5rem;
			}

			.rounded-xl {
				border-radius: 0.75rem;
			}

			.rounded-2xl {
				border-radius: 1rem;
			}

			.rounded-full {
				border-radius: 50%;
			}

			/* ===== 尺寸 ===== */
			.w-1\.5 {
				width: 0.375rem;
			}

			.h-1\.5 {
				height: 0.375rem;
			}

			.w-2 {
				width: 0.5rem;
			}

			.h-2 {
				height: 0.5rem;
			}

			.w-5 {
				width: 1.25rem;
			}

			.h-5 {
				height: 1.25rem;
			}

			.max-w-\[680px\] {
				max-width: 680px;
			}

			/* ===== 位置 ===== */
			.top-0 {
				top: 0;
			}

			.top-3 {
				top: 0.75rem;
			}

			.right-3 {
				right: 0.75rem;
			}

			.bottom-3 {
				bottom: 0.75rem;
			}

			.left-0 {
				left: 0;
			}

			.left-3 {
				left: 0.75rem;
			}

			.right-0 {
				right: 0;
			}

			/* ===== 渐变 ===== */
			.bg-gradient-to-r {
				background-image: linear-gradient(to right, var(--tw-gradient-from, transparent), var(--tw-gradient-to, transparent));
			}

			.from-transparent {
				--tw-gradient-from: transparent;
				--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(0, 0, 0, 0));
			}

			.via-accent\/40 {
				--tw-gradient-to: rgba(34, 211, 238, 0.4);
			}

			.to-transparent {
				--tw-gradient-to: transparent;
			}

			.h-px {
				height: 1px;
			}

			/* ===== 特效 ===== */
			.backdrop-blur-xl {
				backdrop-filter: blur(24px);
				-webkit-backdrop-filter: blur(24px);
			}

			/* ===== 阴影 ===== */
			.shadow-\[0_0_6px_\#22D3EE\] {
				box-shadow: 0 0 6px #22D3EE;
			}

			/* ===== 网格列布局 ===== */
			.grid-cols-3 {
				grid-template-columns: 1fr 1fr 1fr;
			}

			.col-span-2 {
				grid-column: span 2 / span 2;
			}

			.col-span-3 {
				grid-column: span 3 / span 3;
			}

			/* ===== 动画关键帧 ===== */
			@keyframes radarSpin {
				0% {
					transform: rotate(0deg);
				}

				100% {
					transform: rotate(360deg);
				}
			}

			@keyframes pulseDot {

				0%,
				100% {
					opacity: 1;
					box-shadow: 0 0 6px #22D3EE;
				}

				50% {
					opacity: 0.4;
					box-shadow: 0 0 16px #22D3EE;
				}
			}

			@keyframes floatUp {
				0% {
					opacity: 0;
					transform: translateY(8px);
				}

				100% {
					opacity: 1;
					transform: translateY(0);
				}
			}

			.animate-pulse-dot {
				animation: pulseDot 1.8s ease-in-out infinite;
			}

			.animate-float-up {
				animation: floatUp 0.4s ease-out;
			}

			/* ===== 雷达扫描圆环 ===== */
			.radar-ring {
				position: relative;
				border-radius: 50%;
				border: 2px solid rgba(34, 211, 238, 0.45);
				box-shadow: 0 0 24px rgba(34, 211, 238, 0.12), inset 0 0 24px rgba(34, 211, 238, 0.04);
				overflow: hidden;
			}

			.radar-ring::before {
				content: '';
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				border-radius: 50%;
				background: conic-gradient(from 0deg,
						transparent 0deg,
						rgba(34, 211, 238, 0.25) 40deg,
						rgba(34, 211, 238, 0.55) 55deg,
						transparent 70deg,
						transparent 360deg);
				animation: radarSpin 3s linear infinite;
				z-index: 1;
			}

			.radar-ring::after {
				content: '';
				position: absolute;
				inset: 14px;
				border-radius: 50%;
				background: rgba(2, 6, 23, 0.9);
				z-index: 2;
			}

			.radar-center-content {
				position: absolute;
				inset: 0;
				display: flex;
				flex-direction: column;
				align-items: center;
				justify-content: center;
				z-index: 3;
			}

			.radar-tick {
				position: absolute;
				border-radius: 50%;
				border: 1px dashed rgba(34, 211, 238, 0.15);
				pointer-events: none;
				z-index: 0;
			}

			/* ===== 日志滚动条 ===== */
			.log-scroll::-webkit-scrollbar {
				width: 3px;
			}

			.log-scroll::-webkit-scrollbar-track {
				background: transparent;
			}

			.log-scroll::-webkit-scrollbar-thumb {
				background: rgba(34, 211, 238, 0.25);
				border-radius: 10px;
			}

			/* ===== 图表容器 ===== */
			.chart-container canvas {
				display: block;
				width: 100%;
				height: 100%;
			}