/* ============================================================
   WM 2026 Tippspiel — Stadium Elite Design System
   ============================================================ */

:root {
  --bg-deep:      #0A0E1A;
  --bg-mid:       #0F1628;
  --surface-low:  #111827;
  --surface-mid:  #151D30;
  --surface-high: #1C2640;
  --primary:      #4BB7F8;
  --primary-dim:  rgba(75,183,248,0.12);
  --gold:         #FEAE32;
  --gold-glow:    rgba(254,174,50,0.4);
  --cyan:         #69DAFF;
  --text-primary: #F0F4FF;
  --text-secondary: rgba(240,244,255,0.55);
  --text-muted:   rgba(240,244,255,0.3);
  --success:      #34D399;
  --error:        #F87171;
  --radius-sm:    8px;
  --radius-md:    14px;
  --radius-lg:    20px;
  --radius-xl:    28px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html, body, #root {
  height: 100%;
  background: var(--bg-deep);
  color: var(--text-primary);
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
}

/* Scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--surface-high); border-radius: 3px; }

/* Utility */
.font-display { font-family: 'Plus Jakarta Sans', sans-serif; }
.text-primary  { color: var(--primary); }
.text-gold     { color: var(--gold); }
.text-muted    { color: var(--text-secondary); }

/* Glass Card */
.card {
  background: var(--surface-mid);
  border-radius: var(--radius-md);
  box-shadow:
    0 10px 25px rgba(0,0,0,0.25),
    inset 0 1px 0 rgba(255,255,255,0.07),
    inset 1px 0 0 rgba(255,255,255,0.04);
  position: relative;
  overflow: hidden;
}
.card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, rgba(255,255,255,0.04) 0%, transparent 100%);
  pointer-events: none;
}

/* Button primary */
button.btn-primary {
  background: linear-gradient(135deg, var(--primary) 0%, #2196f3 100%);
  color: #fff;
  border: none;
  border-radius: var(--radius-sm);
  padding: 10px 20px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  transition: opacity 0.15s, transform 0.1s;
  box-shadow: 0 4px 15px rgba(75,183,248,0.3);
}
button.btn-primary:hover  { opacity: 0.9; }
button.btn-primary:active { transform: scale(0.97); }
button.btn-primary:disabled { opacity: 0.4; cursor: not-allowed; }

/* Button ghost */
button.btn-ghost {
  background: transparent;
  color: var(--text-secondary);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--radius-sm);
  padding: 8px 16px;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.15s;
}
button.btn-ghost:hover { border-color: var(--primary); color: var(--primary); }
