/* roulang page: index */
:root {
      --bg-main: #0A0E17;
      --bg-card: #111827;
      --border-color: #1E293B;
      --accent: #F59E0B;
      --accent-hover: #D97706;
      --cyan-light: #06B6D4;
      --green-status: #10B981;
    }
    body {
      background-color: var(--bg-main);
      color: #E2E8F0;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      overflow-x: hidden;
    }
    .hide-scrollbar::-webkit-scrollbar {
      display: none;
    }
    .hide-scrollbar {
      -ms-overflow-style: none;
      scrollbar-width: none;
    }
    .status-pulse {
      box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
      animation: statusPulse 2s infinite cubic-bezier(0.66, 0, 0, 1);
    }
    @keyframes statusPulse {
      to {
        box-shadow: 0 0 0 8px rgba(16, 185, 129, 0);
      }
    }
    .grid-mesh {
      background-size: 32px 32px;
      background-image: 
        linear-gradient(to right, rgba(30, 41, 59, 0.35) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(30, 41, 59, 0.35) 1px, transparent 1px);
    }
    details summary::-webkit-details-marker {
      display: none;
    }

/* roulang page: category1 */
:root {
      --bg-main: #0A0E17;
      --bg-card: #111827;
      --border-color: #1E293B;
      --accent: #F59E0B;
      --accent-hover: #D97706;
      --cyan-light: #06B6D4;
      --green-status: #10B981;
    }
    body {
      background-color: var(--bg-main);
      color: #E2E8F0;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      overflow-x: hidden;
    }
    .grid-mesh {
      background-size: 32px 32px;
      background-image: 
        linear-gradient(to right, rgba(30, 41, 59, 0.35) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(30, 41, 59, 0.35) 1px, transparent 1px);
    }
    .hide-scrollbar::-webkit-scrollbar {
      display: none;
    }
    .hide-scrollbar {
      -ms-overflow-style: none;
      scrollbar-width: none;
    }
    .status-pulse {
      animation: pulsePing 2s cubic-bezier(0, 0, 0.2, 1) infinite;
    }
    @keyframes pulsePing {
      75%, 100% {
        transform: scale(2);
        opacity: 0;
      }
    }
    .spec-badge {
      backdrop-filter: blur(4px);
    }
    .stream-card:hover .stream-overlay {
      opacity: 1;
    }
