/* GameGym design tokens */
:root {
  color-scheme: dark;
  --gg-bg: #08091B; --gg-bg-rgb: 8,9,27;
  --gg-surface: #121B2C; --gg-surface-rgb: 18,27,44;
  --gg-surface-hover: #1A2940; --gg-surface-elevated: #1B2B42;
  --gg-input-bg: #10182A;
  --gg-border: #29425A; --gg-border-rgb: 41,66,90;
  --gg-border-focus: #22C7E8;
  --gg-primary: #963AF4; --gg-primary-rgb: 150,58,244;
  --gg-primary-hover: #8E2DE6; --gg-primary-active: #7E27DD;
  --gg-primary-light: #C691FA; --gg-primary-deep: #54218C;
  --gg-secondary: #22C7E8; --gg-secondary-rgb: 34,199,232;
  --gg-secondary-hover: #59D8EF; --gg-secondary-light: #91E7F6; --gg-secondary-deep: #12677B;
  --gg-success: #18C99C; --gg-success-rgb: 24,201,156;
  --gg-success-light: #80E6CD; --gg-success-deep: #106F59;
  --gg-warning: #F0B34B; --gg-warning-rgb: 240,179,75;
  --gg-warning-light: #F7D391; --gg-warning-deep: #8A5B1B;
  --gg-danger: #F06A80; --gg-danger-rgb: 240,106,128;
  --gg-danger-light: #F8A9B6; --gg-danger-deep: #963B4D;
  --gg-on-primary: #FFFFFF; --gg-on-bright: #08091B;
  --gg-text: #EDF3FF; --gg-text-rgb: 237,243,255;
  --gg-text-muted: #94A8C4; --gg-text-muted-rgb: 148,168,196;
  --gg-disabled: #60718C;
  --gg-shadow: 0 18px 42px rgba(0,0,0,.32);
  --gg-glow-primary: 0 0 24px rgba(var(--gg-primary-rgb),.16);
  --gg-stat-strength: var(--gg-warning); --gg-stat-endurance: var(--gg-success);
  --gg-stat-agility: var(--gg-primary-light); --gg-stat-intelligence: var(--gg-secondary);
  --gg-stat-spirit: var(--gg-primary);
}
html,body { background-color:var(--gg-bg); color:var(--gg-text); }
::selection { background:rgba(var(--gg-primary-rgb),.42); color:var(--gg-text); }
:focus-visible { outline:2px solid var(--gg-border-focus); outline-offset:2px; }
:disabled,[aria-disabled="true"] { cursor:not-allowed; opacity:.58; }
[aria-busy="true"] { cursor:progress; }

/* Prevent mobile word lookup when tapping interface copy. */
@media (hover: none) and (pointer: coarse) {
  body,
  body * {
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
  }

  body :is(input, textarea, select, [contenteditable="true"], [contenteditable=""], [role="textbox"]),
  body :is([contenteditable="true"], [contenteditable=""], [role="textbox"]) * {
    -webkit-user-select: text;
    user-select: text;
    -webkit-touch-callout: default;
  }
}
