:root {
  --sf-blue: #013369;
  --sf-red: #d50a0a;
  --sf-gold: #f6c453;
  --sf-bg: #090d18;
  --sf-text: #f8fafc;
  --sf-muted: #b6c2d3;
  --sf-border: rgba(255,255,255,0.11);
  --sf-card: rgba(18,24,38,0.94);
  --sf-radius: 22px;
  --sf-shadow: 0 26px 78px rgba(0,0,0,0.48);
  color-scheme: dark;
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }
body {
  margin: 0;
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--sf-text);
  background: var(--sf-bg);
}
a { text-decoration: none; }
.form-control, .form-select, .btn { border-radius: 14px; }
.btn-primary {
  background: linear-gradient(135deg, var(--sf-blue), var(--sf-red));
  border: none;
  font-weight: 700;
  box-shadow: 0 12px 28px rgba(1, 51, 105, 0.22);
}
.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 16px 35px rgba(1, 51, 105, 0.28); }
.btn-outline-primary { border-color: var(--sf-blue); color: var(--sf-blue); font-weight: 700; }
.btn-outline-primary:hover { background: var(--sf-blue); border-color: var(--sf-blue); }
.flash-stack {
  position: fixed;
  z-index: 9999;
  top: 18px;
  left: 50%;
  transform: translateX(-50%);
  width: min(94vw, 640px);
}
.flash-stack .alert { border-radius: 16px; }
.rules-list li { margin-bottom: .75rem; }

@supports (content-visibility: auto) {
  .final-question-card,
  .prediction-game-card,
  .prediction-question-card,
  .standing-row,
  .weekly-result-row,
  .final-rank-row,
  .quiniela-access-card,
  .profile-panel,
  .admin-panel {
    content-visibility: auto;
    contain-intrinsic-size: 1px 260px;
  }
}

html.sf-lite-client *,
body.sf-lite-client * {
  animation-duration: .001ms !important;
  animation-iteration-count: 1 !important;
  scroll-behavior: auto !important;
  transition-duration: .001ms !important;
}
