/* roulang page: index */
:root {
      --bg-main: #070B14;
      --bg-card: rgba(15, 23, 42, 0.72);
      --bg-card-hover: rgba(30, 41, 59, 0.85);
      --primary: #1E6FFF;
      --accent: #00F2FE;
      --accent-glow: rgba(0, 242, 254, 0.35);
      --pulse-orange: #FF5E3A;
      --text-main: #F1F5F9;
      --text-muted: #94A3B8;
      --text-dim: #64748B;
      --border-line: rgba(255, 255, 255, 0.08);
      --border-glow: rgba(0, 242, 254, 0.25);
    }

    body {
      background-color: var(--bg-main);
      color: var(--text-main);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      overflow-x: hidden;
    }

    .glass-panel {
      background: var(--bg-card);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      border: 1px solid var(--border-line);
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .glass-panel:hover {
      border-color: var(--border-glow);
      box-shadow: 0 10px 30px -10px var(--accent-glow);
    }

    .glow-btn {
      background: linear-gradient(135deg, #1E6FFF 0%, #00F2FE 100%);
      box-shadow: 0 0 20px rgba(0, 242, 254, 0.35);
      transition: all 0.3s ease;
    }

    .glow-btn:hover {
      box-shadow: 0 0 30px rgba(0, 242, 254, 0.6);
      transform: translateY(-2px);
    }

    .glow-btn-outline {
      border: 1px solid rgba(0, 242, 254, 0.5);
      background: rgba(0, 242, 254, 0.05);
      transition: all 0.3s ease;
    }

    .glow-btn-outline:hover {
      background: rgba(0, 242, 254, 0.15);
      border-color: var(--accent);
      transform: translateY(-2px);
    }

    .section-divider {
      background: radial-gradient(circle at center, rgba(30, 111, 255, 0.15) 0%, rgba(7, 11, 20, 0) 70%);
    }

    .tech-grid-bg {
      background-image: linear-gradient(to right, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
                        linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
      background-size: 40px 40px;
    }

    .indicator-pulse {
      display: inline-block;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background-color: #10B981;
      box-shadow: 0 0 8px #10B981;
      animation: pulseAnim 2s infinite;
    }

    @keyframes pulseAnim {
      0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7); }
      70% { box-shadow: 0 0 0 8px rgba(16, 185, 129, 0); }
      100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
    }

    /* 手风琴平滑展开 */
    details summary::-webkit-details-marker {
      display: none;
    }
