:where(.home-page, .classement-page, .player-page, .pokemon-page, .link-page, .info-page) {
  --pk-ui-bg: #121212;
  --pk-ui-surface: #2a2a2a;
  --pk-ui-panel: #202020;
  --pk-ui-card: #1a1a1a;
  --pk-ui-border: #444;
  --pk-ui-border-strong: #555;
  --pk-ui-text: #f5f5f5;
  --pk-ui-muted: #9ca3af;
  --pk-ui-accent-yellow: #ffcb05;
  --pk-ui-accent-blue: #3b5ba7;
  color: var(--pk-ui-text);
  font-family: "Sora", "Segoe UI", sans-serif;
}

body {
  background:
    radial-gradient(circle at 10% -10%, rgba(59, 91, 167, 0.18), transparent 34%),
    radial-gradient(circle at 90% -5%, rgba(255, 203, 5, 0.1), transparent 28%),
    linear-gradient(180deg, #171717 0%, #121212 100%) !important;
  color: #f5f5f5;
}

.home-page__backdrop {
  display: none !important;
}

:where(
  .home-hero,
  .home-live-card,
  .home-highlight-card,
  .home-roster,
  .classement-hero,
  .classement-table-shell,
  .player-top-grid,
  .player-pokedex-shell,
  .player-box-shell,
  .player-identity,
  .player-overview,
  .pokemon-status,
  .pokemon-not-found,
  .pokemon-card,
  .link-card,
  .link-code-panel,
  .link-steps,
  .link-status,
  .link-server-spotlight,
  .info-hero,
  .info-panel,
  .info-card
) {
  border-radius: 14px !important;
  box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.35) !important;
}

:where(
  .home-kicker,
  .classement-kicker,
  .link-intro__kicker,
  .info-kicker,
  .home-control span,
  .player-filter-button,
  .classement-table th
) {
  color: #a9b0bb !important;
}

:where(
  .home-hero h1,
  .home-highlight-card h2,
  .home-roster h2,
  .classement-hero h1,
  .player-identity h1,
  .player-team-shell h2,
  .player-pokedex-shell h2,
  .player-box-shell h2,
  .pokemon-name-fr,
  .pokemon-not-found h1,
  .link-intro h1,
  .info-hero h1,
  .info-panel h2
) {
  color: #ffffff !important;
  font-family: "Oxanium", "Sora", sans-serif !important;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

:where(
  .home-lead,
  .home-roster__subtitle,
  .home-highlight-card p,
  .classement-hero p,
  .player-pokedex-header p,
  .player-not-found p,
  .pokemon-not-found p,
  .link-intro p,
  .link-steps ol,
  .info-hero p,
  .info-card p
) {
  color: var(--pk-ui-muted) !important;
}

:where(
  .home-control input,
  .home-control select,
  .classement-mode-button,
  .player-filter-button,
  .player-box-header select,
  .link-code-panel__copy,
  .link-server-spotlight__copy,
  .home-btn,
  .info-chip
) {
  border: 2px solid var(--pk-ui-border) !important;
  background: var(--pk-ui-card) !important;
  color: var(--pk-ui-text) !important;
  border-radius: 8px !important;
}

:where(
  .home-control input:focus,
  .home-control select:focus,
  .classement-mode-button:focus,
  .player-filter-button:focus,
  .player-box-header select:focus,
  .link-code-panel__copy:focus,
  .link-server-spotlight__copy:focus,
  .home-btn:focus,
  .info-chip:focus
) {
  outline: none;
  border-color: var(--pk-ui-accent-yellow) !important;
  box-shadow: 0 0 0 3px rgba(255, 203, 5, 0.14) !important;
}

:where(.home-btn--primary, .link-code-panel__copy:hover, .link-server-spotlight__copy:hover, .info-chip) {
  border-color: rgba(255, 203, 5, 0.55) !important;
  background: rgba(255, 203, 5, 0.14) !important;
  color: #ffe8a3 !important;
}

:where(.home-btn--ghost, .classement-mode-button.is-active, .player-filter-button.is-active) {
  border-color: rgba(59, 91, 167, 0.7) !important;
  background: rgba(59, 91, 167, 0.26) !important;
  color: #d8e6ff !important;
}

:where(.home-roster__count, .pokedex-count, .classement-value, .classement-rank, .player-connection) {
  border: 2px solid rgba(255, 203, 5, 0.4) !important;
  background: rgba(255, 203, 5, 0.08) !important;
  color: #ffe88f !important;
}

:where(.home-alert, .classement-status, .player-status, .link-status) {
  border: 2px solid var(--pk-ui-border) !important;
  border-radius: 10px !important;
  background: #1f1f1f !important;
  color: #b8c0cb !important;
}

:where(.home-alert--error, .classement-status.is-error, .player-status.is-error, .link-status--warn) {
  border-color: rgba(255, 129, 129, 0.65) !important;
  background: rgba(96, 36, 36, 0.5) !important;
  color: #ffd9d9 !important;
}

:where(.classement-table thead) {
  background: #2a2a2a !important;
}

:where(.classement-row) {
  border-top: 1px solid #3c3c3c !important;
}

:where(.classement-row:hover, .team-card:hover, .player-card:hover) {
  background: #2f2f2f !important;
}

:where(.player-card, .team-card, .box-cell, .dex-cell) {
  border: 1px solid var(--pk-ui-border-strong) !important;
  background: var(--pk-ui-card) !important;
}

:where(.link-code-panel__code, .link-server-spotlight__host) {
  border: 2px solid rgba(255, 203, 5, 0.55) !important;
  background: #1a1a1a !important;
  color: var(--pk-ui-accent-yellow) !important;
  text-shadow: none !important;
}

:where(.link-server-spotlight__label, .link-code-panel__label, .link-code-panel__expiry, .link-steps__hint) {
  color: #a9b0bb !important;
}

:where(.pokemon-meta-line .type-badge, .type-pill) {
  border: 1px solid rgba(0, 0, 0, 0.3) !important;
}
