/* ============================================================================
   Mega-menu GamesBoard.

   Ładowany PO redesign.css, więc nadpisuje bazowe reguły .gb-mega-*.
   Zasada panelu: każda pozycja niesie obraz albo liczbę, nie sam tytuł.
   Paleta wyłącznie przez zmienne --gb-*, ruch tylko na transform i opacity.

   Mechanizm pozycjonowania (position:absolute względem .gb-nav-bar, wyrównanie
   treści do kontenera --gb-max) zostaje z redesign.css. Tu ruszamy tylko siatki
   kolumn i zawartość.
   ========================================================================== */

/* Zapas na małych ekranach: panel nigdy nie wychodzi poza widoczny obszar.
   Bez tego przy 768 px wysokości dolna krawędź kolumn wpadała pod zgięcie.

   Wysokość paska bierzemy ze zmiennej, nie z liczby (GB-114). Panel wisi pod
   paskiem, więc to dokładnie ta sama wartość - wpisana osobno rozjeżdżała się
   przy pierwszej zmianie paska, a objawem był panel wychodzący pod zgięcie
   tylko na niskich ekranach, czyli tam, gdzie nikt nie patrzy. */
.gb-mega {
  padding-top: 20px;
  padding-bottom: 20px;
  max-height: calc(100vh - var(--gb-nav-h));
  overflow-y: auto;
  overscroll-behavior: contain;
  align-items: start;
  gap: 24px;
}

/* ------------------------------------------------------------------ siatki */

/* Wyróżnienie po lewej, dwie listy w środku, wąska kolumna skrótów po prawej. */
.gb-mega-rec  { grid-template-columns: 296px minmax(0, 1fr) minmax(0, 1fr) 262px; }
/* Trzy stany turnieju + kolumna "najbliższy start". */
.gb-mega-tur  { grid-template-columns: repeat(3, minmax(0, 1fr)) 268px; }
/* Gotowe gry dostają dwa razy więcej miejsca niż zapowiedzi. */
/* Dwie kolumny, nie trzy: kolumna "Już niedługo" została usunięta. */
.gb-mega-graj { grid-template-columns: minmax(0, 1fr) 258px; gap: 22px; }
/* Serwery same rozdzielają się na trzy kafle wewnątrz pierwszej kolumny. */
.gb-mega-serw { grid-template-columns: minmax(0, 1fr) 292px; gap: 24px; }

.gb-mega-col { min-width: 0; }

/* Nagłówek kolumny ma STAŁĄ wysokość we wszystkich kolumnach, bo to on wyznacza
   linię startu list. Wcześniej kolumna wyróżniona nie miała nagłówka i cała
   kolumna była przesunięta o kilkanaście pikseli względem sąsiednich. */
.gb-mega-title {
  height: 15px; line-height: 15px;
  margin: 0 0 11px;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
/* Nagłówek "NADCHODZĄ" wraca do koloru bazowego nagłówka (GB-59) - stan i tak
   stoi w plakietce przy każdym wierszu poniżej. */
.gb-mega-title.blue { color: var(--gb-muted); }
/* Nagłówek bloku dodatkowego wewnątrz kolumny (rankingi, kategorie, z redakcji). */
.gb-mega-title-sub { margin-top: 14px; }

/* Kolumna skrótów jest kolumną flex, żeby przycisk siadał zawsze na dole. */
.gb-mega-col-side { display: flex; flex-direction: column; }
.gb-mega-col-side > .gb-btn-block { margin-top: 12px; }

/* Przycisk drugorzędny odsuwamy i oddzielamy kreską: dwa przyciski jeden pod
   drugim czytały się jak jeden blok z dwoma wariantami tej samej akcji. */
.gb-mega-secondary {
  margin-top: auto;
  position: relative;
}
.gb-mega-col-side > .gb-mega-secondary { margin-top: 18px; }
.gb-mega-secondary::before {
  content: ''; position: absolute; left: 0; right: 0; top: -10px;
  height: 1px; background: var(--gb-dec-soft);
}

/* .gb-btn-block z redesign.css ustawia display:block, co zdejmuje z .gb-btn
   inline-flex i wyrównanie w pionie. Napis i wysuwana strzałka .gb-btn-arrow
   przestawały być wyśrodkowane względem siebie. Wracamy do flexa, zachowując
   pełną szerokość. Klasy w redesign.css zostają nietknięte. */
.gb-mega .gb-btn-block {
  display: flex; align-items: center; justify-content: center;
  width: 100%;
}

/* Paski postępu w panelu są niższe i ciaśniej związane z treścią karty. */
.gb-mega .gb-bar { margin-top: 8px; }
/* 5 px, jak w całym serwisie: 4 px czytało się jak inny komponent. */
.gb-mega .gb-bar-track { height: 5px; }
.gb-mega .gb-bar-num { font-size: 11.5px; }

/* --------------------------------------------------------- lista z okładkami */

/* Siatka o STAŁEJ wysokości wiersza. Dzięki temu n-ty wiersz w każdej kolumnie
   panelu ma tę samą współrzędną pionową, niezależnie od tego, czy tytuł zajął
   jedną czy dwie linie. Wysokość: okładka 44 px + 2x8 px oddechu + margines
   na dwie linie tytułu z datą = 64 px. */
.gb-mlist { display: grid; grid-auto-rows: 64px; gap: 4px; }

.gb-mrow {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr) 34px;
  gap: 11px;
  align-items: center;
  padding: 0 6px;
  border: 1px solid transparent;
  border-radius: 10px;
  text-decoration: none;
  transition: background .18s ease, border-color .18s ease;
}
/* Kanon hoverow (opis w :root w redesign.css): podswietlenie tla i ramki,
   zero podnoszenia i przesuwania kafla. */
.gb-mrow:hover {
  background: var(--gb-hover);
  border-color: var(--gb-line2);
}
.gb-mrow-img {
  display: block;
  width: 68px; height: 44px;
  border-radius: 7px;
  background: var(--gb-panel) center / cover no-repeat;
  flex: none;
}
.gb-mrow-body { min-width: 0; }
/* Tytuł ma stałą wysokość dwóch linii (13,5 px x 1,3 x 2 = 35,1 px), więc data
   pod nim zaczyna się na tej samej wysokości przy tytule jedno- i dwuliniowym.
   Bez tego linia bazowa daty skakała między kolumnami. */
.gb-mrow-title {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
  height: 35px;
  font-size: 13.5px; font-weight: 600; line-height: 1.3;
  color: var(--gb-text);
  transition: color .18s;
}
.gb-mrow:hover .gb-mrow-title { color: var(--gb-accent); }
.gb-mrow-meta {
  display: block; height: 14px; line-height: 14px; margin-top: 2px;
  font-size: 11.5px; font-weight: 600; color: var(--gb-muted);
}
/* Stała szerokość slotu na kółko: wiersz bez oceny ma tę samą siatkę,
   więc tytuły w sąsiednich kolumnach zaczynają się i kończą w tych samych miejscach. */
.gb-mrow-score { display: grid; place-items: center; width: 34px; }

/* ------------------------------------------------------- wiersz bez okładki */

.gb-mplains { display: grid; grid-auto-rows: 32px; gap: 2px; }
.gb-mplain {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 0 8px; border-radius: 8px;
  border: 1px solid transparent;
  text-decoration: none;
  transition: background .18s ease, border-color .18s ease;
}
.gb-mplain:hover { background: var(--gb-hover); border-color: var(--gb-line2); }
.gb-mplain .t {
  min-width: 0; font-size: 13px; font-weight: 600; color: var(--gb-text2);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  transition: color .18s;
}
.gb-mplain:hover .t { color: var(--gb-accent); }
.gb-mplain .c { flex: none; font-size: 11.5px; font-weight: 600; color: var(--gb-muted); }

/* ------------------------------------------------------ wyróżniona pozycja */

.gb-mfeat { display: block; text-decoration: none; }
.gb-mfeat-media {
  position: relative; display: block;
  aspect-ratio: 16 / 9;
  border-radius: 10px; overflow: hidden;
  background: var(--gb-panel);
}
.gb-mfeat-img {
  position: absolute; inset: 0;
  background: center / cover no-repeat;
  transition: transform .5s cubic-bezier(.22, .61, .36, 1);
}
.gb-mfeat:hover .gb-mfeat-img { transform: scale(1.06); }
/* Ciemny napis na żółtym: 10,1:1. Plakietka nie leży na zdjęciu "gołym" tekstem. */
.gb-mfeat-tag {
  position: absolute; left: 10px; top: 10px;
  background: var(--gb-accent); color: var(--gb-panel);
  font-size: 10.5px; font-weight: 600; letter-spacing: .8px;
  padding: 3px 8px; border-radius: 6px;
}
.gb-mfeat-score { position: absolute; right: 9px; bottom: 9px; }
.gb-mfeat-title {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 10px;
  font-size: 15px; font-weight: 700; line-height: 1.35; color: var(--gb-text);
  transition: color .18s;
}
.gb-mfeat:hover .gb-mfeat-title { color: var(--gb-accent); }
.gb-mfeat-meta {
  display: block; margin-top: 5px;
  font-size: 12px; font-weight: 600; color: var(--gb-muted);
}

/* ------------------------------------------------------------ karta turnieju */

.gb-mtour {
  display: block;
  background: var(--gb-card);
  border: 1px solid var(--gb-line);
  border-left: 3px solid var(--gb-line2);
  border-radius: 10px;
  padding: 9px 11px; margin-bottom: 8px;
  text-decoration: none;
  transition: background .18s ease, border-color .18s ease;
}
/* Lewa krawedz kafla: kolor zostaje TYLKO przy turnieju trwajacym (GB-59).
   Przy "zapisach" i "nadchodzi" byl to trzeci nosnik tej samej informacji
   (naglowek kolumny + plakietka + krawedz), a trzy kolorowe krawedzie jedna
   pod druga sprawialy, ze czerwona przestawala cokolwiek znaczyc. */
.gb-mtour.is-live { border-left-color: var(--gb-red); }
.gb-mtour.is-open,
.gb-mtour.is-soon { border-left-color: var(--gb-line2); }
/* border-color rozjasnia trzy boki, ale lewa krawedz musi zostac w kolorze statusu -
   bez tych linii skrot border-color zjadal ja na hoverze. */
.gb-mtour:hover { background: var(--gb-hover-card); border-color: var(--gb-line2); }
.gb-mtour.is-live:hover { border-left-color: var(--gb-red); }
.gb-mtour:hover .gb-mtour-name { color: var(--gb-accent); }

.gb-mtour-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
/* Wypełnione plakietki mają ciemny napis: biel na czerwonym daje 3,25:1. */
/* Ramka jest w regule bazowej (przezroczysta), a padding zszedl o 1 px, zeby
   plakietka obrysowana miala te sama wysokosc co wypelniona i zeby wiersz
   .gb-mtour nie urosl po dodaniu obrysu (GB-59). */
.gb-mtour-status {
  flex: none;
  font-size: 10.5px; font-weight: 600; letter-spacing: .6px;
  padding: 1px 6px; border-radius: 5px; color: var(--gb-panel);
  border: 1px solid transparent;
}
/* Ten sam system co na kartach turniejow (.gb-tcard-status): wypelniona jest
   wylacznie plakietka "TRWA", reszta obrysowana. Dzieki temu w kolumnie
   mega-menu jest dokladnie jeden glosny punkt na wiersz stanu pilnego. */
.gb-mtour-status.live { background: var(--gb-red); border-color: var(--gb-red); }
.gb-mtour-status.open { background: transparent; color: var(--gb-green); border-color: rgba(61, 220, 132, .55); }
.gb-mtour-status.soon { background: transparent; color: var(--gb-muted); border-color: var(--gb-line2); }
.gb-mtour-game {
  font-size: 11.5px; font-weight: 600; letter-spacing: .5px;
  color: var(--gb-muted); text-transform: uppercase;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.gb-mtour-name {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 6px;
  font-size: 13.5px; font-weight: 700; line-height: 1.3; color: var(--gb-text);
  transition: color .18s;
}
.gb-mtour-facts { display: flex; align-items: baseline; gap: 9px; margin-top: 5px; flex-wrap: wrap; }
.gb-mtour-prize { font-size: 12.5px; font-weight: 700; color: var(--gb-accent); }
.gb-mtour-format { font-size: 11.5px; font-weight: 600; color: var(--gb-muted); }
.gb-mtour-when {
  display: block; margin-top: 6px;
  font-size: 11.5px; font-weight: 600; color: var(--gb-text2);
}

/* ---------------------------------------------------------- najbliższy start */

/* Kontener trzyma jedna wartosc ramki (GB-60). Wyroznienie tego panelu niesie
   jasniejsze tlo karty na tle kolumny, nie grubsza kreska. */
.gb-mnext {
  background: var(--gb-card);
  border: 1px solid var(--gb-line);
  border-radius: 10px;
  padding: 11px 12px;
}
.gb-mnext-when {
  font-size: 12px; font-weight: 600; letter-spacing: .6px;
  color: var(--gb-accent); text-transform: uppercase;
}
.gb-mnext-name {
  margin-top: 4px;
  font-size: 14px; font-weight: 700; line-height: 1.3; color: var(--gb-text);
}
.gb-mnext-facts {
  display: flex; flex-wrap: wrap; gap: 4px 10px; margin-top: 4px;
  font-size: 11.5px; font-weight: 600; color: var(--gb-muted);
}
.gb-mnext .gb-btn { margin-top: 10px; }
.gb-mega-col-side .gb-mnext + .gb-mega-title { margin-top: 14px; }

/* ------------------------------------------------------------- graj online */

.gb-mplay { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
/* Bazowy kafel "full" ma 214 px minimum pod hub /graj/; w pasku menu to za dużo. */
.gb-mega-graj .gb-ptile-full { min-height: 0; padding: 13px; gap: 9px; }
.gb-mega-graj .gb-ptile-ic { width: 40px; height: 40px; border-radius: 10px; font-size: 22px; }
.gb-mega-graj .gb-ptile-name { font-size: 15px; }
.gb-mega-graj .gb-ptile-desc { font-size: 12.5px; line-height: 1.45; }
.gb-mega-graj .gb-ptile-actions .gb-btn { padding: 7px 12px; font-size: 12.5px; }

/* Zapowiedzi: kompaktowy kafel przechodzi z układu pionowego na wiersz,
   bo w wąskiej kolumnie trzy wyśrodkowane kafle zjadały pół panelu. */
.gb-msoon { display: flex; flex-direction: column; gap: 8px; }
.gb-msoon .gb-ptile-compact { padding: 9px 11px; }
.gb-msoon .gb-ptile-compact .gb-ptile-head { flex-direction: row; text-align: left; gap: 10px; }
.gb-msoon .gb-ptile-ic { width: 34px; height: 34px; border-radius: 9px; font-size: 19px; }
.gb-msoon .gb-ptile-name { font-size: 13.5px; }
.gb-msoon .gb-ptile-online { font-size: 11.5px; }

/* ------------------------------------------------------------------ liczby */

/* Jedna karta na całą kolumnę boczną: lista (ranking albo feed) i licznik pod
   nią, rozdzielone wewnętrzną kreską. Wcześniej to były trzy osobne bloki
   i licznik czytał się jak element wiszący między nimi. */
.gb-mside-card {
  background: var(--gb-card); border: 1px solid var(--gb-line);
  border-radius: 12px; padding: 4px 12px 0;
  overflow: hidden;
}
.gb-mside-stat {
  margin: 0 -12px; padding: 10px 12px;
  border-top: 1px solid var(--gb-line);
  background: rgba(255, 255, 255, .02);
}
.gb-mside-stat .v { display: block; font-size: 21px; font-weight: 700; line-height: 1.1; color: var(--gb-text); }
.gb-mside-stat .v .s { font-size: 14px; font-weight: 700; color: var(--gb-muted); }
.gb-mside-stat .l {
  display: block; margin-top: 3px;
  font-size: 11.5px; font-weight: 600; line-height: 1.4; color: var(--gb-muted);
}

.gb-mtop { display: flex; flex-direction: column; padding: 4px 0; }
.gb-mega .gb-top-row { padding: 6px 0; }
.gb-mega .gb-top-row:last-child { border-bottom: none; }
.gb-mega .gb-top-nick { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gb-mega .gb-top-elo { font-size: 12.5px; }

/* ----------------------------------------------------------------- serwery */

/* align-items:stretch (domyślne w gridzie) daje trzem kaflom równą wysokość,
   a stopka kafla jest przyklejona do dołu, więc pasek zapełnienia i pole
   z adresem leżą w jednej linii we wszystkich trzech kartach. */
.gb-mservs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: stretch; }

/* Układ pionowy: grafika na całą szerokość u góry, treść pod nią.
   Wcześniej kadr stał w lewej kolumnie na 106 px i przy trzech kaflach obok
   siebie zostawało na tekst ~230 px, więc nazwa serwera urywała się wielokropkiem.
   Wiersze auto + 1fr sprawiają, że treść pochłania różnicę wysokości i wszystkie
   trzy kafle w rzędzie kończą się na tej samej linii. */
.gb-mserv {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  background: var(--gb-card);
  border: 1px solid var(--gb-line);
  border-left: 3px solid var(--srv, var(--gb-line2));
  border-radius: 10px;
  overflow: hidden;
  transition: background .18s ease, border-color .18s ease;
}
.gb-mserv.has-art { grid-template-rows: auto minmax(0, 1fr); }
.gb-mserv:hover {
  background: var(--gb-hover-card);
  border-color: var(--gb-line2);
  border-left-color: var(--srv, var(--gb-line2));
}
.gb-mserv:hover .gb-mserv-name { color: var(--gb-accent); }

/* Proporcja 16:9 jak w kaflu wyróżnionym i w kartach na stronie głównej, więc
   pas grafiki ma tę samą wysokość we wszystkich trzech kaflach niezależnie od
   pliku źródłowego. Kadr trzymany przy górnej krawędzi: pliki są portretowe
   (360x540), a głowa postaci siedzi w górnej jednej trzeciej. */
.gb-mserv-art {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: var(--gb-panel) center 26% / cover no-repeat;
}

.gb-mserv-main {
  min-width: 0; padding: 10px 12px;
  display: grid; grid-template-rows: auto minmax(0, 1fr) auto auto;
}
.gb-mserv-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.gb-mserv-name {
  min-width: 0; font-size: 13px; font-weight: 700; color: var(--gb-text);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  transition: color .18s;
}
.gb-mserv-status { flex: none; font-size: 10.5px; font-weight: 600; color: var(--gb-green); white-space: nowrap; }
.gb-mserv-status.is-off { color: var(--gb-muted); }
/* Ten pojemnik jest wierszem 1fr: pochłania różnicę wysokości między kartami,
   więc pasek i adres pod nim zawsze startują z tej samej wysokości. */
.gb-mserv-text { min-width: 0; padding-top: 5px; }
.gb-mserv-desc {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 11.5px; font-weight: 600; line-height: 1.4; color: var(--gb-text2);
}
.gb-mserv-map { margin-top: 3px; font-size: 11px; font-weight: 600; color: var(--gb-muted); }

.gb-mega .gb-copy { padding: 7px 10px; margin-top: 8px; }
.gb-mega .gb-copy .addr { font-size: 12px; }
.gb-mega .gb-copy .ic { font-size: 10px; }

/* -------------------------------------------------------------- feed w menu */

.gb-mfeed { list-style: none; margin: 0; padding: 4px 0; }
.gb-mfeed-row {
  display: flex; align-items: flex-start; gap: 9px;
  padding: 7px 0;
  border-bottom: 1px solid var(--gb-line);
}
.gb-mfeed-row:last-child { border-bottom: none; }
.gb-mfeed-ic {
  flex: none; width: 26px; height: 26px; border-radius: 7px;
  display: grid; place-items: center;
  background: rgba(255, 255, 255, .05); color: var(--gb-muted);
}
.gb-mfeed-ic svg { display: block; width: 14px; height: 14px; }
/* Ten sam klucz kolorów co w feedzie na stronie głównej (GB-59): rodzaj
   zdarzenia niesie ikona i treść wiersza, czerwień zostaje tylko przy
   eliminacji. */
.gb-feed-kill  .gb-mfeed-ic { color: var(--gb-red); background: rgba(255, 77, 90, .12); }
.gb-feed-bomb  .gb-mfeed-ic,
.gb-feed-raid  .gb-mfeed-ic,
.gb-feed-build .gb-mfeed-ic,
.gb-feed-trade .gb-mfeed-ic,
.gb-feed-boss  .gb-mfeed-ic,
.gb-feed-join  .gb-mfeed-ic,
.gb-feed-wipe  .gb-mfeed-ic { color: var(--gb-text2); background: rgba(255, 255, 255, .06); }

.gb-mfeed-body { min-width: 0; flex: 1; }
.gb-mfeed-line { display: block; font-size: 12.5px; font-weight: 600; line-height: 1.35; color: var(--gb-text2); }
.gb-mfeed-line b { color: var(--gb-text); font-weight: 700; }
.gb-mfeed-meta { display: block; margin-top: 2px; font-size: 11px; font-weight: 600; color: var(--gb-muted); }

/* --------------------------------------------------------------- responsive */

/* 1200-1024: pasek już się zwęża, więc kolumny boczne oddają ok. 30 px,
   a kafle serwerów tracą kadr, żeby adres nie łamał się na dwie linie. */
@media (max-width: 1200px) {
  .gb-mega { gap: 18px; }
  .gb-mega-rec  { grid-template-columns: 250px minmax(0, 1fr) minmax(0, 1fr) 228px; }
  .gb-mega-tur  { grid-template-columns: repeat(3, minmax(0, 1fr)) 236px; }
  .gb-mega-graj { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) 228px; }
  .gb-mega-serw { grid-template-columns: minmax(0, 1fr) 258px; }
  .gb-mrow { grid-template-columns: 58px minmax(0, 1fr) 34px; gap: 9px; }
  .gb-mrow-img { width: 58px; height: 38px; }
  /* Węższy pasek: przy 16:9 i kolumnie ~300 px grafika zjadałaby połowę kafla,
     a panel schodziłby poniżej krawędzi ekranu na laptopie 1366x768. */
  .gb-mserv-art { aspect-ratio: 21 / 9; }
}

/* Poniżej 1024 px redesign.css chowa mega-menu (display:none !important)
   i pasek przechodzi w hamburger. Nic tu nie odblokowujemy. */

/* Reduced motion: znika jedyny ruch, jaki zostal w panelu, czyli zoom okladki
   w pozycji wyroznionej. Podswietlenia tla i ramki zostaja. */
@media (prefers-reduced-motion: reduce) {
  .gb-mega { animation: none; }
  .gb-mfeat-img, .gb-mchip { transition: none; }
  .gb-mfeat:hover .gb-mfeat-img { transform: none; }
}

/* ------------------------------------------------- PORTFEL W MENU KONTA
   Osobny pasek pod statystykami gry. Wrzucony do tego samego rzędu co ELO
   i wygrane sugerowałby, że GBCoins są kolejną miarą wyniku - a nie są.
   Cały pasek jest odnośnikiem: saldo bez sposobu uzupełnienia go to
   informacja, z którą nie da się nic zrobić. */
.gb-acc-wallet {
  display: flex; align-items: center; gap: 9px;
  padding: 11px 16px;
  border-top: 1px solid var(--gb-line);
  border-bottom: 1px solid var(--gb-line);
  text-decoration: none;
  transition: background .15s ease;
}
.gb-acc-wallet:hover { background: rgba(255, 255, 255, .03); }
.gb-acc-wallet .gb-amount { font-size: 17px; font-weight: 700; color: var(--gb-accent); }
.gb-acc-wallet-label { font-size: 12.5px; color: var(--gb-muted); }
.gb-acc-wallet-more {
  margin-left: auto;
  font-size: 11px; font-weight: 700; letter-spacing: .09em;
  color: var(--gb-accent);
}
.gb-acc-wallet .gb-premium-badge { margin-left: auto; }

/* Odnośnik „i jeszcze N" pod skróconą kolumną turniejów. Menu pokazuje trzy
   pozycje na kolumnę, reszta czeka na /turniej/ z filtrami i paginacją.

   WŁASNA NAZWA, NIE .gb-mega-more. Tamta należy do odnośnika „WSZYSTKIE
   RECENZJE" na dole kolumny (redesign.css:533), a ten arkusz ładuje się
   później, więc druga definicja pod tą samą nazwą po cichu przemalowałaby
   tamten link. */
.gb-mega-rest {
  display: inline-block;
  margin-top: 4px;
  padding: 6px 0;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--gb-muted);
  text-decoration: none;
  transition: color .18s;
}
.gb-mega-rest:hover { color: var(--gb-accent); }
