/* roulang page: index */
:root {
      --bg-midnight: #070A14;
      --bg-darknavy: #0A0F1D;
      --glass-card: rgba(16, 26, 48, 0.68);
      --glass-border: rgba(0, 210, 255, 0.16);
      --neon-blue: #00D2FF;
      --neon-aqua: #00F5D4;
    }

    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    body {
      background-color: var(--bg-midnight);
      color: #E2E8F0;
      font-family: system-ui, -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      line-height: 1.75;
      overflow-x: hidden;
    }

    .glass-panel {
      background: var(--glass-card);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1px solid var(--glass-border);
      border-radius: 18px;
    }

    .glass-panel-hover {
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .glass-panel-hover:hover {
      border-color: rgba(0, 245, 212, 0.4);
      transform: translateY(-3px);
      box-shadow: 0 12px 30px -10px rgba(0, 210, 255, 0.25);
    }

    .glow-btn {
      position: relative;
      background: linear-gradient(135deg, #0066FF 0%, #00D2FF 100%);
      box-shadow: 0 0 25px rgba(0, 210, 255, 0.4);
      transition: all 0.3s ease;
    }
    .glow-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 0 35px rgba(0, 210, 255, 0.65);
    }

    .glow-outline-btn {
      border: 1px solid rgba(0, 245, 212, 0.4);
      background: rgba(0, 245, 212, 0.05);
      transition: all 0.3s ease;
    }
    .glow-outline-btn:hover {
      background: rgba(0, 245, 212, 0.15);
      border-color: var(--neon-aqua);
      transform: translateY(-2px);
    }

    /* 呼吸灯微动画 */
    @keyframes pulse-live {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: 0.4; transform: scale(1.2); }
    }
    .pulse-live-dot {
      animation: pulse-live 1.8s infinite ease-in-out;
    }

    /* 背景网格点缀 */
    .bg-cyber-grid {
      background-image: radial-gradient(rgba(0, 210, 255, 0.08) 1px, transparent 1px);
      background-size: 32px 32px;
    }

    .accordion-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.35s ease-out, opacity 0.3s ease;
      opacity: 0;
    }
    .accordion-item.active .accordion-content {
      max-height: 400px;
      opacity: 1;
    }
    .accordion-item.active .accordion-icon {
      transform: rotate(180deg);
    }
