/* roulang page: index */
:root {
      --bg-main: #080c16;
      --bg-surface: #0d1527;
      --card-bg: rgba(15, 23, 42, 0.65);
      --color-primary: #2563eb;
      --color-accent: #38bdf8;
      --color-neon: #06b6d4;
      --border-glass: rgba(6, 182, 212, 0.25);
      --font-main: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    }
    body {
      background-color: var(--bg-main);
      color: #e2e8f0;
      font-family: var(--font-main);
      overflow-x: hidden;
      background-image: 
        radial-gradient(circle at 15% 20%, rgba(37, 99, 235, 0.15) 0%, transparent 40%),
        radial-gradient(circle at 85% 80%, rgba(6, 182, 212, 0.12) 0%, transparent 40%);
      background-attachment: fixed;
    }
    .glass-panel {
      background: var(--card-bg);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1px solid var(--border-glass);
      box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
    }
    .glow-btn {
      background: linear-gradient(135deg, #2563eb 0%, #06b6d4 100%);
      box-shadow: 0 0 20px rgba(56, 189, 248, 0.4);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .glow-btn:hover {
      box-shadow: 0 0 30px rgba(56, 189, 248, 0.7);
      transform: translateY(-2px);
    }
    .glow-badge {
      box-shadow: 0 0 12px rgba(6, 182, 212, 0.5);
    }
    .pulse-dot {
      animation: pulseAnimation 2s infinite;
    }
    @keyframes pulseAnimation {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: 0.4; transform: scale(1.15); }
    }
    .code-accent {
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    }

/* roulang page: category2 */
:root {
      --bg-main: #080c16;
      --bg-surface: #0d1527;
      --card-bg: rgba(15, 23, 42, 0.65);
      --color-primary: #2563eb;
      --color-accent: #38bdf8;
      --color-neon: #06b6d4;
      --border-glass: rgba(6, 182, 212, 0.25);
      --font-main: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    }
    body {
      background-color: var(--bg-main);
      color: #e2e8f0;
      font-family: var(--font-main);
      overflow-x: hidden;
      background-image: 
        radial-gradient(circle at 15% 20%, rgba(37, 99, 235, 0.15) 0%, transparent 40%),
        radial-gradient(circle at 85% 80%, rgba(6, 182, 212, 0.12) 0%, transparent 40%);
      background-attachment: fixed;
    }
    .glass-panel {
      background: var(--card-bg);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border: 1px solid var(--border-glass);
      box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
    }
    .glow-btn {
      background: linear-gradient(135deg, #2563eb 0%, #06b6d4 100%);
      box-shadow: 0 0 20px rgba(56, 189, 248, 0.4);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .glow-btn:hover {
      box-shadow: 0 0 30px rgba(56, 189, 248, 0.7);
      transform: translateY(-2px);
    }
    .pulse-dot {
      animation: pulseGlow 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    }
    @keyframes pulseGlow {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: .4; transform: scale(1.2); }
    }

/* roulang page: category1 */
:root {
      --bg-main: #080c16;
      --bg-surface: #0d1527;
      --card-bg: rgba(15, 23, 42, 0.65);
      --color-primary: #2563eb;
      --color-accent: #38bdf8;
      --color-neon: #06b6d4;
      --border-glass: rgba(6, 182, 212, 0.25);
      --font-main: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    }
    body {
      background-color: var(--bg-main);
      color: #e2e8f0;
      font-family: var(--font-main);
      overflow-x: hidden;
      background-image: 
        radial-gradient(circle at 15% 20%, rgba(37, 99, 235, 0.15) 0%, transparent 40%),
        radial-gradient(circle at 85% 80%, rgba(6, 182, 212, 0.12) 0%, transparent 40%);
      background-attachment: fixed;
    }
    .glass-panel {
      background: var(--card-bg);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border: 1px solid var(--border-glass);
      box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
    }
    .glow-btn {
      background: linear-gradient(135deg, #2563eb 0%, #06b6d4 100%);
      box-shadow: 0 0 20px rgba(56, 189, 248, 0.4);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .glow-btn:hover {
      box-shadow: 0 0 30px rgba(56, 189, 248, 0.7);
      transform: translateY(-2px);
    }
    .glow-badge {
      box-shadow: 0 0 12px rgba(6, 182, 212, 0.5);
    }
    .pulse-dot {
      animation: pulse-ring 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    }
    @keyframes pulse-ring {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: 0.4; transform: scale(1.15); }
    }
