/* roulang page: index */
:root {
            --bg-base: #050A14;
            --bg-card: rgba(15, 27, 51, 0.65);
            --bg-card-hover: rgba(22, 42, 82, 0.85);
            --border-tech: rgba(56, 189, 248, 0.22);
            --border-glow: rgba(0, 240, 255, 0.55);
            --cyan-glow: rgba(0, 240, 255, 0.45);
        }

        body {
            background-color: var(--bg-base);
            color: #CBD5E1;
            font-family: 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', system-ui, -apple-system, sans-serif;
            overflow-x: hidden;
            font-variant-numeric: tabular-nums;
        }

        /* 玻璃拟态卡片 */
        .glass-panel {
            background: var(--bg-card);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            border: 1px solid var(--border-tech);
            box-shadow: 0 8px 32px -4px rgba(2, 6, 23, 0.7), inset 0 1px 0 0 rgba(255, 255, 255, 0.08);
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .glass-panel:hover {
            border-color: var(--border-glow);
            box-shadow: 0 14px 40px -6px rgba(14, 165, 233, 0.3), inset 0 1px 0 0 rgba(0, 240, 255, 0.2);
            transform: translateY(-3px);
        }

        /* 发光按钮 */
        .btn-telemetry {
            background: linear-gradient(90deg, #0284C7 0%, #0EA5E9 50%, #00E5FF 100%);
            color: #050A14;
            font-weight: 700;
            box-shadow: 0 0 20px rgba(14, 165, 233, 0.45);
            transition: all 0.25s ease;
            position: relative;
            overflow: hidden;
        }
        .btn-telemetry:hover {
            box-shadow: 0 0 30px rgba(0, 240, 255, 0.75);
            transform: scale(1.02);
            color: #020617;
        }
        .btn-telemetry:active {
            transform: scale(0.98);
        }

        .btn-subtle {
            background: rgba(15, 27, 51, 0.8);
            border: 1px solid rgba(56, 189, 248, 0.4);
            color: #E2E8F0;
            backdrop-filter: blur(12px);
            transition: all 0.25s ease;
        }
        .btn-subtle:hover {
            background: rgba(22, 42, 82, 0.9);
            border-color: #00F0FF;
            color: #00F0FF;
            box-shadow: 0 0 16px rgba(0, 240, 255, 0.25);
        }

        /* 呼吸指示灯 */
        .pulse-emerald {
            box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
            animation: pulse-green 2s infinite;
        }
        @keyframes pulse-green {
            0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7); }
            70% { transform: scale(1); box-shadow: 0 0 0 8px rgba(16, 185, 129, 0); }
            100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
        }

        .pulse-danger {
            box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7);
            animation: pulse-red 2s infinite;
        }
        @keyframes pulse-red {
            0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7); }
            70% { transform: scale(1); box-shadow: 0 0 0 8px rgba(239, 68, 68, 0); }
            100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); }
        }

        /* 遥测 HUD 网格背景 */
        .hud-grid-bg {
            background-image: 
                linear-gradient(to right, rgba(14, 165, 233, 0.05) 1px, transparent 1px),
                linear-gradient(to bottom, rgba(14, 165, 233, 0.05) 1px, transparent 1px);
            background-size: 40px 40px;
        }

        /* 轮播幻灯片隐藏控制 */
        .carousel-slide {
            display: none;
            opacity: 0;
            transition: opacity 0.6s ease-in-out;
        }
        .carousel-slide.active {
            display: block;
            opacity: 1;
        }

        /* 表单输入框强化 */
        .input-telemetry {
            background: rgba(10, 18, 36, 0.8);
            border: 1px solid rgba(56, 189, 248, 0.25);
            color: #F8FAFC;
            transition: border-color 0.2s, box-shadow 0.2s;
        }
        .input-telemetry:focus {
            border-color: #00F0FF;
            box-shadow: 0 0 12px rgba(0, 240, 255, 0.3);
            outline: none;
        }
