:root {
  /* Backgrounds */
  --bg: #0A0A0C;
  --bg2: #101014;
  --bg3: #18181D;
  --bg4: #222228;

  /* Borders — improved visibility */
  --border: rgba(255, 255, 255, 0.09);
  --border-hi: rgba(255, 255, 255, 0.18);

  /* Text — boosted contrast */
  --text: #F8F6F2;
  --text-sec: rgba(248, 246, 242, 0.68);
  --text-ter: rgba(248, 246, 242, 0.42);

  /* Brand Colors — LumiQ Red (brighter for contrast) */
  --accent: #9B1515;
  --accent-hi: #B52020;
  --accent-bright: #D94444;
  --accent-glow: rgba(155, 21, 21, 0.18);
  --accent-subtle: rgba(155, 21, 21, 0.08);

  /* Status Colors */
  --green: #34D9C4;
  --amber: #FCC737;
  --red: #F87171;

  /* Step 6: Tier Colours — Standard / Premium / Creative */
  --tier-standard: #34D9C4;
  --tier-premium:  #5A8DEE;
  --tier-creative: #C879FF;
  --tier-standard-bg: rgba(52,217,196,0.12);
  --tier-premium-bg:  rgba(90,141,238,0.12);
  --tier-creative-bg: rgba(200,121,255,0.12);

  /* Fonts — Outfit (brand) + JetBrains Mono */
  --sans: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --mono: 'JetBrains Mono', 'Courier New', monospace;

  /* Selection */
  --selection: rgba(155, 21, 21, 0.35);

  /* Transitions */
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

  /* Shadows */
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.3);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.4);
  --shadow-lg: 0 12px 32px rgba(0,0,0,0.5);
  --shadow-glow: 0 0 20px rgba(155,21,21,0.2);

  /* Border Radius */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-full: 100px;
}

/* Studio gating — CSS owns visibility so inline style can't override.
   Use classList.add/remove('studios-hidden') from applyStudiosGate(). */
.studios-hidden { display: none !important; }

/* ── Canonical breakpoints ─────────────────────────────────────────────────
   CSS custom properties can't be used in @media queries, so these are
   documentation only. Always use these values — don't add new ones.
     --bp-sm : 480px  — small phones (portrait)
     --bp-md : 768px  — tablet / mobile-landscape (primary mobile breakpoint)
     --bp-lg : 1024px — narrow desktop / landscape tablet
   ─────────────────────────────────────────────────────────────────────── */

/* ── Sidebar credits — zero / low-balance states ────────────────────────── */
.sb-credit-card.sb-credit-empty .sb-credit-count { color: var(--text-ter); opacity: 0.5; }
.sb-credit-card.sb-credit-zero  .sb-credit-count { color: var(--red, #c00); }
