/* roulang page: index */
:root {
            --color-primary: #059669;
            --color-primary-light: #10b981;
            --color-accent: #f97316;
            --color-dark: #0f172a;
            --color-dark-card: #1e293b;
            --color-bg-alt: #f8fafc;
            --radius-main: 1rem;
        }

        body {
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            color: #334155;
            background-color: #ffffff;
            overflow-x: hidden;
        }

        /* 赛道呼吸指示灯动效 */
        @keyframes pulse-signal {
            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 6px rgba(16, 185, 129, 0); }
            100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
        }
        .signal-indicator {
            animation: pulse-signal 2s infinite cubic-bezier(0.4, 0, 0.6, 1);
        }

        /* 卡片高级悬浮质感 */
        .card-sport-hover {
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .card-sport-hover:hover {
            transform: translateY(-4px);
            box-shadow: 0 20px 25px -5px rgba(15, 23, 42, 0.08), 0 8px 10px -6px rgba(15, 23, 42, 0.04);
            border-color: #10b981;
        }

        /* 背景装饰栅格 */
        .bg-grid-sport {
            background-size: 32px 32px;
            background-image: 
                linear-gradient(to right, rgba(226, 232, 240, 0.5) 1px, transparent 1px),
                linear-gradient(to bottom, rgba(226, 232, 240, 0.5) 1px, transparent 1px);
        }

        .text-mono-nums {
            font-variant-numeric: tabular-nums;
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
        }

/* roulang page: category1 */
:root {
      --color-primary: #059669;
      --color-primary-light: #10b981;
      --color-accent: #f97316;
      --color-dark: #0f172a;
      --color-dark-card: #1e293b;
      --color-bg-alt: #f8fafc;
      --radius-main: 1rem;
    }
    body {
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      color: #334155;
      background-color: #ffffff;
      overflow-x: hidden;
    }
    .card-sport-hover {
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .card-sport-hover:hover {
      transform: translateY(-4px);
      box-shadow: 0 20px 25px -5px rgba(15, 23, 42, 0.08), 0 8px 10px -6px rgba(15, 23, 42, 0.04);
      border-color: #10b981;
    }
    .bg-grid-sport {
      background-size: 32px 32px;
      background-image: 
        linear-gradient(to right, rgba(226, 232, 240, 0.6) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(226, 232, 240, 0.6) 1px, transparent 1px);
    }
    .text-mono-nums {
      font-variant-numeric: tabular-nums;
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    }
    .signal-indicator {
      animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    }
    @keyframes pulse {
      0%, 100% { opacity: 1; }
      50% { opacity: .4; }
    }
    .tab-item.active {
      background-color: #059669;
      color: #ffffff;
      border-color: #059669;
    }
