/* === przeniesione z klasy-uzupelnienie.css 2026-09-13_23-43-18 (css-podziel.py) ===
   Reguly uzywane WYLACZNIE przez ten szablon; laduje je autoAsset() z
   layout_meta.html.twig. Zrodlo prawdy dla tych klas jest TUTAJ. */

/* Jedna karta najnowszego wyniku: odstęp niesie gap, nie dodatkowe marginesy. */
.pasek-ostatnie>p,.pasek-ostatnie>[data-rs-panel]{margin:0}
.wyniki-tresc p a,.wyniki-faq .faq__odpowiedz a{text-decoration:underline;text-underline-offset:3px}

.wyniki-tabela__pasek{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.wyniki-tabela__pola{display:flex;flex:1 1 340px;align-items:center;gap:10px;min-width:0;max-width:560px}
.wyniki-tabela__pola .wyniki-tabela__szukaj{min-width:0;flex:1 1 160px}
@media(max-width:639px){.wyniki-tabela__pola{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);flex-basis:100%;max-width:none;align-items:end}.wyniki-tabela__pola .wyniki-tabela__od{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:0}.wyniki-tabela__pola :is(input,.wyniki-tabela__szukaj){width:100%;max-width:none;min-width:0;min-height:44px;box-sizing:border-box}}
.wyniki-rytmy{display:flex;flex-direction:column;gap:10px;margin:10px 0;min-width:0}
.wyniki-rytmy[hidden]{display:none}
.wyniki-rytmy>:is(h3,p){margin:0}
.wyniki-rytmy__dlugosc{display:flex;align-items:center;gap:10px}
.wyniki-rytmy__dlugosc select{width:auto;min-width:64px}
.wyniki-rytmy__lista{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:10px}
.wyniki-rytmy__liczba{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0;padding:10px;border:1px solid var(--obramowanie,#E5E7EB);border-radius:6px;background:var(--tlo2,#F8F9FA);font-size:14px;font-variant-numeric:tabular-nums}
.wyniki-rytmy__liczba .rytm-wzor{gap:2px;min-width:0;white-space:nowrap}
.wyniki-rytmy__liczba .rytm-bit{width:10px;height:10px;border-width:1px;border-radius:2px;flex:0 0 10px}
.wyniki-rytmy__liczba code{font-size:12px;color:var(--tekst,#0F172A)}

/* Zakresy na tabeli losowan — TEN SAM zestaw liczb co na mapach cieplnych
   (7, 14, 25, 50, 100, 250, 500) plus pole na wlasna liczbe. Wczesniej byla
   tu lista 10/25/50/100: inny zestaw na stronie o tych samych danych, wiec
   czytelnik nawykly do „ostatnich 25" z mapy nie znajdowal tej wartosci.
   Wyglad przycisku ten sam co paginacji, zeby nie mnozyc stylow. */
.wyniki-tabela__zakresy{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}

.wyniki-tabela__wiersze{display:flex;flex-wrap:wrap;align-items:center;gap:10px}

.wyniki-tabela__wiersze select{min-height:44px;padding:4px 10px;border:1px solid var(--obramowanie,#E5E7EB);border-radius:6px;background:var(--tlo,#fff);color:var(--tekst,#212529);font-size:14px}

.wyniki-tabela__szukaj{min-height:40px;flex:1 1 220px;max-width:340px;padding:6px 12px;border:1px solid var(--obramowanie,#E5E7EB);border-radius:6px;font-size:14px;color:var(--tekst,#212529)}

.wyniki-tabela__szukaj:focus-visible,.wyniki-tabela__wiersze select:focus-visible{outline:2px solid var(--hover-link,#0A6EBD);outline-offset:1px}

.wyniki-tabela__stopka{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}

.wyniki-tabela__strony{display:inline-flex;flex-wrap:wrap;gap:4px}

.wyniki-strona{min-width:40px;min-height:40px;padding:0 10px;border:1px solid var(--obramowanie,#E5E7EB);border-radius:6px;background:var(--tlo,#fff);color:var(--tekst,#212529);font-size:14px;cursor:pointer;transition:background-color .15s ease-out}

/* Zeton, nie #f8f9fa: w ciemnym profilu hover dawal jasny przycisk z jasna cyfra (14.09.2026). */
.wyniki-strona:hover{background:var(--tlo2,#f8f9fa)}

.wyniki-strona--akt{background:var(--gra-kolor,#FFD105);border-color:var(--gra-kolor,#FFD105);color:var(--gra-napis,#0F172A);font-weight:700}

/* BIALA CYFRA NA BIALYM TLE. `.wyniki-strona:hover` to klasa + pseudoklasa,
   czyli specyficznosc 0,2,0; `.wyniki-strona--akt` to sama klasa, 0,1,0.
   Hover wygrywal wiec ZAWSZE, niezaleznie od kolejnosci w pliku: podmienial
   tlo na #f8f9fa, zostawiajac color:#fff. Numer biezacej strony znikal pod
   kursorem. Zgloszone 11.09.2026 na /wyniki/kaskada.
   Lekarstwo to podniesienie specyficznosci, nie !important - z !important
   nie da sie juz zrobic wyjatku. */
.wyniki-strona--akt:hover,
.wyniki-strona--akt:focus-visible,
.wyniki-strona--akt[disabled]{background:var(--gra-kolor,#FFD105);color:var(--gra-napis,#0F172A);opacity:1}

/* `opacity:1` nie jest ozdoba: biezaca strona ma atrybut `disabled`, zeby
   Tab ja pomijal, a przegladarki dokladaja wtedy wlasne przygaszenie.
   Bez tego zabieg na rzecz klawiatury psulby kontrast, ktory wlasnie
   naprawilismy - 5,28:1 zeszloby ponizej progu. */
.wyniki-strona--akt{cursor:default}

/* Przycisk pelnego ekranu tabeli, per gra. */
.wyniki-tabela__akcje{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}

.wyniki-tabela__pelny,.wyniki-tabela__dopasuj,.wyniki-tabela__wyrownaj{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 12px;border:1px solid var(--obramowanie,#E5E7EB);border-radius:6px;background:var(--tlo,#fff);color:var(--tekst,#212529);font-size:14px;font-weight:600;cursor:pointer;transition:background-color .15s ease-out}

.wyniki-tabela__pelny:hover,.wyniki-tabela__dopasuj:hover,.wyniki-tabela__wyrownaj:hover{background:var(--tlo2,#f1f3f5)}

.wyniki-tabela__pelny:focus-visible,.wyniki-tabela__dopasuj:focus-visible,.wyniki-tabela__wyrownaj:focus-visible{outline:2px solid var(--hover-link,#0A6EBD);outline-offset:2px}

.wyniki-tabela__dopasuj[aria-pressed="true"],
.wyniki-tabela__dopasuj[aria-pressed="true"]:hover{background:var(--gra-kolor,#FFD105);border-color:var(--gra-kolor,#FFD105);color:var(--gra-napis,#0F172A)}

.a11y-ciemny .wyniki-tabela__dopasuj[aria-pressed="true"],
.a11y-ciemny .wyniki-tabela__dopasuj[aria-pressed="true"]:hover{background:var(--gra-kolor,#FFD105);border-color:var(--gra-kolor,#FFD105);color:var(--gra-napis,#0F172A)}

/* Aktywne kontrolki używają pary kolorów gry także w ciemnym motywie. */
.a11y-ciemny .wyniki-strona--akt,
.a11y-ciemny .wyniki-strona--akt:hover,
.a11y-ciemny .wyniki-strona--akt:focus-visible,
.a11y-ciemny .wyniki-strona--akt[disabled]{background:var(--gra-kolor,#FFD105);border-color:var(--gra-kolor,#FFD105);color:var(--gra-napis,#0F172A)}

.wyniki-tabela--dopasowana .tabela-scroll{overflow:hidden}

.wyniki-tabela:fullscreen{background:var(--tlo,#fff);padding:16px;overflow:auto}

.wyniki-tabela:fullscreen .tabela-scroll{max-height:none}

/* Preserve pinch zoom and avoid mobile text inflation changing column geometry. */
.wyniki-tabela .mapa-powt{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.wyniki-tabela .tabela-scroll{touch-action:pan-x pan-y pinch-zoom}

/* === Fala 10 (30.09.2026): macierz powtorzen w tabeli losowan (spec 2022) ===
   Kolumny moga byc ulozone wg liczby trafien, wiec pusta komorka pokazuje swoj
   numer z data-n (licznik CSS numeruje pozycje, nie liczby). Stopka tabeli
   (tfoot) niesie liczbe trafien kazdej liczby w calym wybranym zakresie. */
.mapa-powt tbody td[data-n]:not(.mapa-powt__data):empty::before{content:attr(data-n)}
.mapa-powt [data-wyniki-sumy] th{font-weight:700;color:var(--tekst,#0F172A);background:var(--tlo2,#F8F9FA);font-variant-numeric:tabular-nums}
.mapa-powt [data-wyniki-sumy] .mapa-powt__data{font-weight:400;color:var(--tekst2,#475569);font-size:12px;white-space:normal}
.mapa-powt [data-wyniki-sumy-n]{display:block;margin-top:10px}
.mapa-powt .wyniki-tabela__zakres-komorka{text-align:left;min-width:110px}
.wyniki-tabela__licznik{display:inline-flex;align-items:center;justify-content:center;width:26px;min-width:26px;height:26px;padding:0;box-sizing:border-box;border-radius:4px;background:var(--gra-kolor,#FFD400);color:var(--gra-napis,#0F172A);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
.mapa-powt .wyniki-tabela__trafienia-osie{background:var(--tlo2,#F8F9FA)}
.mapa-powt--wg-trafien td.mapa-powt__co10{background:none}
.mapa-powt--wg-trafien thead th.mapa-powt__co10{background:var(--tlo2,#F8F9FA)}
.wyniki-tabela__od{display:inline-flex;align-items:center;gap:6px}
.wyniki-tabela__powt{min-width:44px;min-height:44px}   /* stan wcisniety: wspolna regula .sw-przycisk[aria-pressed=true] */

/* Nie używamy --hover-link jako tła: ten żeton może być jasnym kolorem tekstu.
   Rytmy oraz układ kolumn zachowują kontrast także przy hover/focus. */
.wyniki-tabela .sw-przycisk{min-height:44px;color:var(--tekst,#0F172A)}
.wyniki-tabela .sw-przycisk[aria-pressed=true],.wyniki-tabela .sw-przycisk[aria-pressed=true]:is(:hover,:focus-visible){background:var(--gra-kolor,#FFD105);border-color:var(--gra-kolor,#FFD105);color:var(--gra-napis,#0F172A)}
.a11y-ciemny .wyniki-tabela .sw-przycisk[aria-pressed=true],.a11y-ciemny .wyniki-tabela .sw-przycisk[aria-pressed=true]:is(:hover,:focus-visible){background:var(--gra-kolor,#FFD105);border-color:var(--gra-kolor,#FFD105);color:var(--gra-napis,#0F172A)}
.wyniki-czestosc,.wyniki-kupon{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:10px 0;min-width:0}
.wyniki-czestosc>:is(h3,p),.wyniki-kupon>p{margin:0}
.wyniki-czestosc__liczby{display:flex;flex-wrap:wrap;gap:10px}
.wyniki-czestosc__liczba{display:flex;align-items:center;gap:10px;font-size:14px;font-variant-numeric:tabular-nums}
[data-wyniki-edytor]{width:100%;min-width:0}
[data-wyniki-edytor]>[data-szk-panel]{margin:0}
.wyniki-kupon[hidden],.wyniki-czestosc[hidden],[data-wyniki-edytor][hidden]{display:none}
[data-wyniki-wybieranie] [data-wyniki-number]{width:44px;min-width:44px;height:44px;cursor:pointer}
[data-wyniki-wybieranie] .mapa-powt [data-wyniki-sumy] th[data-n]{width:44px;min-width:44px}
[data-wyniki-wybieranie] [data-wyniki-number][aria-pressed="true"]{background:var(--gra-kolor,#FFD400);color:var(--gra-napis,#0F172A);box-shadow:inset 0 0 0 2px var(--tekst,#0F172A)}
[data-wyniki-number]:focus-visible{outline:2px solid var(--hover-link,#0A6EBD);outline-offset:-2px}

/* Zakres losowań zachowuje ten sam kolor co aktywna strona i rytmy. */
.wyniki-tabela .wyniki-zakres--akt,.wyniki-tabela .wyniki-zakres--akt:is(:hover,:focus-visible),.a11y-ciemny .wyniki-tabela .wyniki-zakres--akt,.a11y-ciemny .wyniki-tabela .wyniki-zakres--akt:is(:hover,:focus-visible){background:var(--gra-kolor,#FFD105);border-color:var(--gra-kolor,#FFD105);color:var(--gra-napis,#0F172A)}

/* Dalsza tresc pozostaje w HTML; uklad i malowanie dopiero blisko ekranu. */
@supports (content-visibility:auto){
 .wyniki-tresc{content-visibility:auto;contain-intrinsic-size:auto 600px}
 .wyniki-faq{content-visibility:auto;contain-intrinsic-size:auto 400px}
 footer.stopka--ciemna{content-visibility:auto;contain-intrinsic-size:auto 1000px}
}
/* Sortowanie aktywnej tabeli; stały wygląd należy do CSS, nie do JS. */
[data-wyniki] [data-sort]{cursor:pointer}
/* Zgodne z pierwszą stroną w wyniki-tabela.js. Pełny SSR bez JavaScript. */
html.wyniki-js-pending [data-wyniki-tabela] tbody > tr:nth-child(n+26){display:none}
@media(max-width:639px){
  html.wyniki-js-pending [data-wyniki-tabela] tbody > tr:nth-child(n+11){display:none}
}
