@font-face {
  font-family: 'JetBrains Mono';
  src: url('/assets/fonts/JetBrainsMono-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'JetBrains Mono';
  src: url('/assets/fonts/JetBrainsMono-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'JetBrains Mono';
  src: url('/assets/fonts/JetBrainsMono-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

html {
  scroll-behavior: smooth;
}

body {
  background-color: #0b1120;
  background-image:
    linear-gradient(180deg, rgba(245, 158, 11, 0.04) 0%, transparent 12%),
    repeating-linear-gradient(0deg, rgba(148, 163, 184, 0.035) 0px, rgba(148, 163, 184, 0.035) 1px, transparent 1px, transparent 3px);
}

::selection {
  background: #f59e0b;
  color: #0b1120;
}

::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: #0b1120;
}

::-webkit-scrollbar-thumb {
  background: #1e293b;
  border: 2px solid #0b1120;
}

::-webkit-scrollbar-thumb:hover {
  background: #334155;
}

.tab-panel {
  display: none;
}

.tab-panel.is-active {
  display: block;
  animation: panelIn 0.28s ease;
}

@keyframes panelIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.game-tab[aria-selected="true"] {
  background-color: #f59e0b;
  color: #020617;
}

.game-tab[aria-selected="false"] {
  background-color: transparent;
  color: #94a3b8;
}

.tier-row {
  transition: transform 0.15s ease, border-color 0.15s ease;
}

.tier-row.is-hidden {
  display: none;
}

.tier-badge {
  font-family: 'JetBrains Mono', monospace;
}

.tier-S { background-color: #f59e0b; color: #020617; }
.tier-A { background-color: #fb923c; color: #020617; }
.tier-B { background-color: #38bdf8; color: #020617; }
.tier-C { background-color: #64748b; color: #020617; }

.tier-filter-btn[aria-pressed="true"] {
  border-color: #f59e0b;
  color: #f59e0b;
}

.tier-filter-btn[aria-pressed="false"] {
  border-color: #1e293b;
  color: #64748b;
}

.accordion-panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.accordion-item.is-open .accordion-panel {
  max-height: 640px;
}

.accordion-item.is-open .accordion-chevron {
  transform: rotate(180deg);
}

.accordion-chevron {
  transition: transform 0.25s ease;
}

#cookie-banner {
  transform: translateY(120%);
  transition: transform 0.35s ease;
}

#cookie-banner.is-visible {
  transform: translateY(0);
}

#cookie-preferences[open] summary {
  color: #f59e0b;
}

.grain-card {
  background-image: linear-gradient(160deg, rgba(245, 158, 11, 0.06), transparent 55%);
}

.hairline {
  border-color: #1e293b;
}

.stat-figure {
  font-variant-numeric: tabular-nums;
}
