/** GAMESPSN approved storewide dark material system, updated 27 October 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: #0B0D17;
  --gs-color-canvas-soft: #101321;
  --gs-color-surface: #15192A;
  --gs-color-surface-raised: #1B2034;
  --gs-color-input: #0F1322;
  --gs-color-border: #2A3046;
  /* Approved muted tone: a stronger edge for necessary control boundaries. */
  --gs-color-control-border: #737C99;
  --gs-color-text-primary: #F7F7FF;
  --gs-color-text-body: #C9CDE0;
  --gs-color-text-secondary: #939AB5;
  --gs-color-link: #AAA0FF;
  --gs-color-focus: #B9A3FF;
  --gs-color-action-primary-start: #6414FC;
  --gs-color-action-primary-end: #7B2BFC;
  --gs-color-action-primary-hover-start: #752DFC;
  --gs-color-action-primary-hover-end: #8750FF;
  --gs-color-action-secondary-bg: #F7F7FF;
  --gs-color-on-action-secondary: #15192A;
  --gs-color-action-secondary-border: #D9DEEA;
  --gs-color-action-secondary-hover: #E6E8F0;
  --gs-color-action-secondary-pressed: #DADEE9;
  /* Pure white is required for 4.5:1 at the brightest approved hover stop. */
  --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(170,160,255,.24);
  --gs-gradient-ambient: radial-gradient(ellipse at 78% 0%, rgba(102,59,249,.18), transparent 42%);
  --gs-gradient-canvas: linear-gradient(135deg, #0B0D17, #101327 50%, #191336 78%, #0B0D17);
  --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(199,190,255,.08), rgba(102,59,249,.06)), rgba(21,25,42,.78);
  --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 8px 28px rgba(100,20,252,.20);
  --gs-shadow-action-hover: 0 8px 28px rgba(100,20,252,.24);
  --gs-shadow-focus: 0 0 0 3px rgba(185,163,255,.24);
  --gs-shadow-inset: inset 0 1px 0 rgba(255,255,255,.10);
}
