:root {
  --background: 0 0% 100%;
  --foreground: 222.2 84% 4.9%;
  --card: 0 0% 100%;
  --card-foreground: 222.2 84% 4.9%;
  --popover: 0 0% 100%;
  --popover-foreground: 222.2 84% 4.9%;
  --primary: 222.2 47.4% 11.2%;
  --primary-foreground: 210 40% 98%;
  --secondary: 210 40% 96.1%;
  --secondary-foreground: 222.2 47.4% 11.2%;
  --muted: 210 40% 96.1%;
  --muted-foreground: 215.4 16.3% 46.9%;
  --accent: 210 40% 96.1%;
  --accent-foreground: 222.2 47.4% 11.2%;
  --destructive: 0 84.2% 60.2%;
  --destructive-foreground: 210 40% 98%;
  --border: 214.3 31.8% 91.4%;
  --input: 214.3 31.8% 91.4%;
  --ring: 222.2 84% 4.9%;
  --radius: 0.5rem;
  --chart-1: 173 58% 39%;
  --chart-2: 12 76% 61%;
  --chart-3: 197 37% 24%;
  --chart-4: 43 74% 66%;
  --chart-5: 27 87% 67%;
  --gb-bg: #06081a;
  --gb-bg-rgb: 6, 8, 26;
  --gb-accent-from: #1d4ed8;
  --gb-accent-to: #0ea5e9;
  --gb-accent-rgb: 29, 78, 216;
  --gb-accent-to-rgb: 14, 165, 233;
  --gb-accent-text: #60a5fa;
  --gb-glass-bg: rgba(6, 8, 26, 0.75);
  --gb-glass-bg-light: rgba(6, 8, 26, 0.6);
  --gb-glass-border: rgba(255, 255, 255, 0.12);
  --gb-rail-w: 56px;
  --surface-base: var(--gb-bg);
  --surface-glass: rgba(var(--gb-bg-rgb), 0.76);
  --surface-glass-strong: rgba(var(--gb-bg-rgb), 0.9);
  --surface-muted: rgba(255, 255, 255, 0.045);
  --border-subtle: rgba(255, 255, 255, 0.085);
  --border-strong: rgba(255, 255, 255, 0.16);
  --accent-primary: var(--gb-accent-from);
  --accent-secondary: var(--gb-accent-to);
  --accent-soft: rgba(var(--gb-accent-rgb), 0.16);
  --accent-soft-secondary: rgba(var(--gb-accent-to-rgb), 0.1);
  --accent-glow: rgba(var(--gb-accent-rgb), 0.2);
  --text-primary: rgba(255, 255, 255, 0.94);
  --text-secondary: rgba(212, 212, 216, 0.68);
  --button-primary-bg: linear-gradient(
      135deg,
      var(--gb-accent-from),
      var(--gb-accent-to)
    );
  --button-primary-hover: linear-gradient(
      135deg,
      color-mix(in srgb, var(--gb-accent-from) 86%, white),
      color-mix(in srgb, var(--gb-accent-to) 86%, white)
    );
  --community-bg: var(--gb-bg);
  --community-panel: rgba(var(--gb-bg-rgb), 0.76);
  --community-panel-strong: rgba(var(--gb-bg-rgb), 0.9);
  --community-border: var(--border-subtle);
  --community-border-strong: var(--border-strong);
  --community-glow: var(--accent-glow);
  --community-glow-blue: rgba(var(--gb-accent-to-rgb), 0.1);
  --chat-bg: var(--gb-bg);
  --chat-bg-radial: radial-gradient(
        ellipse at 60% 15%,
        rgba(var(--gb-accent-rgb), 0.07) 0%,
        transparent 55%
      ),
      radial-gradient(
        ellipse at 15% 85%,
        rgba(var(--gb-accent-to-rgb), 0.04) 0%,
        transparent 50%
      );
  --chat-surface: rgba(255, 255, 255, 0.04);
  --chat-surface-hover: rgba(255, 255, 255, 0.065);
  --chat-border: rgba(255, 255, 255, 0.07);
  --chat-border-strong: rgba(255, 255, 255, 0.13);
  --chat-incoming-bg: rgba(255, 255, 255, 0.07);
  --chat-incoming-border: rgba(255, 255, 255, 0.09);
  --chat-incoming-text: rgba(255, 255, 255, 0.92);
  --chat-outgoing-from: #1d4fd8;
  --chat-outgoing-to: #0ea5e9;
  --chat-outgoing-border: transparent;
  --chat-outgoing-text: rgba(255, 255, 255, 0.97);
  --chat-accent: var(--gb-accent-text);
  --chat-text: rgba(255, 255, 255, 0.92);
  --chat-muted: rgba(255, 255, 255, 0.35);
  --chat-input-bg: rgba(255, 255, 255, 0.035);
  --chat-input-border: rgba(255, 255, 255, 0.075);
  --chat-input-focus: rgba(var(--gb-accent-rgb), 0.2);
  --chat-input-focus-border: rgba(255, 255, 255, 0.18);
  --chat-shadow-soft: 0 2px 8px rgba(0, 0, 0, 0.28);
  --chat-shadow-glow: 0 0 12px rgba(var(--gb-accent-rgb), 0.18);
  --gb-basic: #3366ff;
  --gb-basic-hover: #344cb7;
  --gb-success: #399918;
  --gb-success-hover: #2f7a15;
  --gb-cancel: #e00000;
  --gb-cancel-hover: #c40c0c;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
}
[data-theme="midnight"] {
  --gb-bg: #06081a;
  --gb-bg-rgb: 6, 8, 26;
  --gb-accent-from: #1d4ed8;
  --gb-accent-to: #0ea5e9;
  --gb-accent-rgb: 29, 78, 216;
  --gb-accent-to-rgb: 14, 165, 233;
  --gb-accent-text: #60a5fa;
  --chat-outgoing-from: #2563eb;
  --chat-outgoing-to: #0284c7;
  --chat-outgoing-border: transparent;
  --chat-incoming-bg: rgba(255, 255, 255, 0.08);
  --chat-incoming-border: rgba(255, 255, 255, 0.1);
  --gb-glass-bg: rgba(6, 8, 26, 0.75);
  --gb-glass-bg-light: rgba(6, 8, 26, 0.6);
  --gb-glass-border: rgba(255, 255, 255, 0.1);
}

[data-theme="purple"] {
  --gb-bg: #0a0016;
  --gb-bg-rgb: 10, 0, 22;
  --gb-accent-from: #7c3aed;
  --gb-accent-to: #ec4899;
  --gb-accent-rgb: 124, 58, 237;
  --gb-accent-to-rgb: 236, 72, 153;
  --gb-accent-text: #a78bfa;
  --chat-outgoing-from: #7c3aed;
  --chat-outgoing-to: #be185d;
  --chat-outgoing-border: transparent;
  --gb-glass-bg: rgba(10, 0, 22, 0.72);
  --gb-glass-bg-light: rgba(10, 0, 22, 0.6);
  --gb-glass-border: rgba(255, 255, 255, 0.12);
}

[data-theme="red"] {
  --gb-bg: #120006;
  --gb-bg-rgb: 18, 0, 6;
  --gb-accent-from: #dc2626;
  --gb-accent-to: #f97316;
  --gb-accent-rgb: 220, 38, 38;
  --gb-accent-to-rgb: 249, 115, 22;
  --gb-accent-text: #fb7185;
  --chat-outgoing-from: #dc2626;
  --chat-outgoing-to: #ea580c;
  --chat-outgoing-border: transparent;
  --gb-glass-bg: rgba(18, 0, 6, 0.72);
  --gb-glass-bg-light: rgba(18, 0, 6, 0.6);
  --gb-glass-border: rgba(255, 255, 255, 0.12);
}

[data-theme="teal"] {
  --gb-bg: #00131a;
  --gb-bg-rgb: 0, 19, 26;
  --gb-accent-from: #14b8a6;
  --gb-accent-to: #06b6d4;
  --gb-accent-rgb: 20, 184, 166;
  --gb-accent-to-rgb: 6, 182, 212;
  --gb-accent-text: #2dd4bf;
  --chat-outgoing-from: #0f9d8a;
  --chat-outgoing-to: #0891b2;
  --chat-outgoing-border: transparent;
  --gb-glass-bg: rgba(0, 19, 26, 0.72);
  --gb-glass-bg-light: rgba(0, 19, 26, 0.6);
  --gb-glass-border: rgba(255, 255, 255, 0.12);
}

[data-theme="black"] {
  --gb-bg: #050505;
  --gb-bg-rgb: 5, 5, 5;
  --gb-accent-from: #8b5cf6;
  --gb-accent-to: #a78bfa;
  --gb-accent-rgb: 139, 92, 246;
  --gb-accent-to-rgb: 167, 139, 250;
  --gb-accent-text: #c4b5fd;
  --chat-outgoing-from: #7c3aed;
  --chat-outgoing-to: #a78bfa;
  --chat-outgoing-border: transparent;
  --gb-glass-bg: rgba(5, 5, 5, 0.72);
  --gb-glass-bg-light: rgba(5, 5, 5, 0.6);
  --gb-glass-border: rgba(255, 255, 255, 0.12);
}

[data-theme="summer"] {
  --gb-bg: #0a1018;
  --gb-bg-rgb: 10, 16, 24;
  --gb-accent-from: #38bdf8;
  --gb-accent-to: #f59e0b;
  --gb-accent-rgb: 56, 189, 248;
  --gb-accent-to-rgb: 245, 158, 11;
  --gb-accent-text: #7dd3fc;
  --chat-outgoing-from: #0ea5e9;
  --chat-outgoing-to: #f59e0b;
  --chat-outgoing-border: transparent;
  --gb-glass-bg: rgba(10, 16, 24, 0.72);
  --gb-glass-bg-light: rgba(10, 16, 24, 0.6);
  --gb-glass-border: rgba(255, 255, 255, 0.12);
}
