/** GAMESPSN Titanium Graphite default material system, updated 15 November 2026.
 * Color roles are the sole paint authority. Existing layout tokens stay in
 * their component sources; legacy visual aliases resolve to these roles.
 */
:root {
  color-scheme: dark;
  --gs-color-canvas: #181B20;
  --gs-color-canvas-soft: #20242A;
  --gs-color-surface: #252A31;
  --gs-color-surface-raised: #303640;
  --gs-color-input: #1D2128;
  --gs-color-border: #414852;
  /* Approved muted tone: a stronger edge for necessary control boundaries. */
  --gs-color-control-border: #7D8896;
  --gs-color-text-primary: #F6F7FB;
  --gs-color-text-body: #D2D7E0;
  --gs-color-text-secondary: #AEB5C0;
  --gs-color-link: #BDAAFF;
  --gs-color-focus: #AD86FF;
  --gs-color-action-primary-start: #480BCB;
  --gs-color-action-primary-end: #6729E6;
  --gs-color-action-primary-hover-start: #5D20D9;
  --gs-color-action-primary-hover-end: #783EEA;
  --gs-color-action-secondary-bg: #313842;
  --gs-color-on-action-secondary: #F6F7FB;
  --gs-color-action-secondary-border: #596373;
  --gs-color-action-secondary-hover: #3D4653;
  --gs-color-action-secondary-pressed: #292F38;
  /* White maintains AA contrast across both action gradients, including hover. */
  --gs-color-action-primary-border: #8756F1;
  --gs-color-on-action: #FFFFFF;
  --gs-color-discount: #FF8297;
  --gs-color-discount-bg: #301622;
  --gs-color-error: var(--gs-color-discount);
  --gs-color-error-bg: var(--gs-color-discount-bg);
  --gs-color-savings: #53D6A0;
  --gs-color-savings-bg: #10271F;
  --gs-color-success: var(--gs-color-savings);
  --gs-color-success-bg: var(--gs-color-savings-bg);
  --gs-color-pending: #FFC46B;
  --gs-color-pending-bg: color-mix(in srgb, var(--gs-color-pending) 10%, var(--gs-color-surface));
  /* Explicit catalog price role from page 4 of the approved specification. */
  --gs-color-price-catalog: var(--gs-color-text-primary);
  --gs-color-selected-bg: color-mix(in srgb, var(--gs-color-focus) 12%, var(--gs-color-surface));
  --gs-color-overlay: rgba(0,0,0,.72);
  --gs-color-glass-edge: rgba(190,201,215,.20);
  --gs-gradient-ambient: none; /* No purple lighting behind the page canvas. */
  --gs-gradient-canvas: linear-gradient(135deg, #181B20, #20242A 50%, #1C2026 78%, #181B20);
  --gs-gradient-action-primary: linear-gradient(135deg, var(--gs-color-action-primary-start) 0%, var(--gs-color-action-primary-end) 100%);
  --gs-gradient-action-primary-hover: linear-gradient(135deg, var(--gs-color-action-primary-hover-start) 0%, var(--gs-color-action-primary-hover-end) 100%);
  --gs-material-glass: linear-gradient(135deg, rgba(255,255,255,.045), rgba(190,201,215,.018)), rgba(37,42,49,.9);
  --gs-shadow-card: 0 12px 32px rgba(0,0,0,.28);
  --gs-shadow-dialog: 0 24px 64px rgba(0,0,0,.48);
  --gs-shadow-action: 0 6px 18px rgba(72,11,203,.18), inset 0 1px 0 rgba(255,255,255,.12);
  --gs-shadow-action-hover: 0 10px 28px rgba(72,11,203,.32), inset 0 1px 0 rgba(255,255,255,.15);
  --gs-shadow-focus: 0 0 0 3px rgba(173,134,255,.26);
  --gs-shadow-inset: inset 0 1px 0 rgba(255,255,255,.10);
}
