#w-sala{--sala-zloto:var(--pk-zloto,#a86b12);--sala-tlo:var(--papier-2);padding-top:26px}
#w-sala:not(.sala-skupienie){min-height:calc(100dvh - 180px);padding-bottom:48px}
#w-sala .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html.sala-trwa{overflow:hidden}
html.sala-trwa #nawi,html.sala-trwa #korFab,html.sala-trwa #toast,html.sala-trwa #fokusPlywa,
html.sala-trwa #czatDymek,html.sala-trwa #czatPanel{display:none!important}
.sala-limit{margin-top:12px}
.sala-naglowek{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:30px}
.sala-kicker{display:block;margin-bottom:10px;color:var(--sala-zloto);font:650 11px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.sala-naglowek h2{font:700 clamp(28px,3.4vw,44px)/1.1 var(--disp);letter-spacing:-.045em;text-wrap:balance}
.sala-naglowek p,.sala-wstep p{margin-top:12px;color:var(--tusz-2);font-size:14px;line-height:1.65;max-width:58ch;text-wrap:pretty}
.sala-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 0;border:0;background:none;color:var(--tusz-2);font:600 12px var(--disp);cursor:pointer}
.sala-link:hover{color:var(--sala-zloto)}
.sala-wybor{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:960px}
.sala-kafelek{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:22px;min-height:246px;
  padding:clamp(24px,3vw,38px);border:1px solid var(--linia);border-radius:20px;background:var(--sala-tlo);color:var(--tusz);cursor:pointer;
  transition:transform .2s,border-color .2s,background .2s}
.sala-kafelek:hover{transform:translateY(-3px);border-color:var(--sala-zloto);background:color-mix(in srgb,var(--sala-zloto) 5%,var(--sala-tlo))}
.sala-kafelek:active{transform:translateY(1px)}
.sala-ikona{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;color:var(--sala-zloto);background:color-mix(in srgb,var(--sala-zloto) 12%,transparent)}
.sala-ikona svg{width:27px;height:27px}
.sala-kafelek strong{display:block;font:700 clamp(24px,2.4vw,32px) var(--disp);letter-spacing:-.035em}
.sala-kafelek small{display:block;margin-top:8px;color:var(--tusz-2);font:500 13px/1.5 var(--disp)}
.sala-kafelek>.sala-strzalka{position:absolute;right:28px;top:35px;color:var(--sala-zloto);font-size:24px}
.sala-wstep{max-width:650px;padding:32px;border:1px solid var(--linia);border-radius:20px;background:var(--sala-tlo)}
.sala-wstep h3{font:700 clamp(23px,3vw,32px)/1.15 var(--disp);letter-spacing:-.035em}
.sala-zasady{display:flex;flex-wrap:wrap;gap:10px 22px;margin:24px 0;color:var(--tusz);font-size:13px}
.sala-zasady b{font-variant-numeric:tabular-nums}
.sala-akcje{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:22px}
.sala-przycisk{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 20px;
  border:1px solid var(--sala-zloto);border-radius:10px;background:var(--sala-zloto);color:#fff;font:650 13px var(--disp);cursor:pointer;
  transition:filter .2s,transform .2s}
.sala-przycisk:hover{filter:brightness(1.08);transform:translateY(-1px)}
.sala-przycisk:active{transform:translateY(1px)}
.sala-przycisk.duch{background:transparent;border-color:var(--linia);color:var(--tusz)}
.sala-przycisk[disabled]{opacity:.45;cursor:default;transform:none}
.sala-przycisk:focus-visible,.sala-link:focus-visible,.sala-kafelek:focus-visible,.sala-odpowiedz:focus-within,
.sala-numer:focus-visible,.sala-pliki-pole:focus-within{outline:3px solid var(--sala-zloto);outline-offset:4px}
.sala-blad:empty{display:none}
.sala-blad{padding:14px 16px;border-left:3px solid var(--danger,#b74444);border-radius:6px;background:color-mix(in srgb,var(--danger,#b74444) 7%,var(--papier));font-size:13px;line-height:1.6;margin:14px 0}
.sala-info{color:var(--tusz-2);font-size:12px;line-height:1.6}
.sala-losowanie{display:grid;place-items:center;min-height:370px;text-align:center}
.sala-losowanie h3{margin:22px 0 8px;font:700 28px var(--disp);letter-spacing:-.035em}
.sala-los-numer{font:650 clamp(48px,8vw,84px)/1 var(--mono);letter-spacing:-.07em;color:var(--sala-zloto);font-variant-numeric:tabular-nums}
.sala-los-pasek{width:180px;height:3px;overflow:hidden;margin:22px auto;background:var(--linia);border-radius:4px}
.sala-los-pasek::after{content:'';display:block;width:40%;height:100%;background:var(--sala-zloto);animation:sala-los 1s ease-in-out infinite alternate}
@keyframes sala-los{to{transform:translateX(150%)}}
#w-sala.sala-skupienie,#w-sala:fullscreen{position:fixed;inset:0;z-index:110;display:block;width:100%;height:100dvh;overflow:auto;
  background:var(--papier);color:var(--tusz);padding:0;margin:0;max-width:none;animation:none;transform:none;scroll-behavior:auto}
.sala-egzamin{min-height:100%;padding:0 clamp(16px,4vw,64px) 40px}
.sala-pasek{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:18px 0;margin-bottom:28px;background:var(--papier);border-bottom:1px solid var(--linia)}
.sala-pasek h2{font:650 16px var(--disp);letter-spacing:-.02em}
.sala-pasek small{display:block;color:var(--tusz-2);font-size:11px;margin-top:5px}
.sala-pasek-prawa{display:flex;align-items:center;gap:22px}
.sala-zegar{font:650 clamp(22px,3vw,32px)/1 var(--mono);letter-spacing:-.045em;font-variant-numeric:tabular-nums;white-space:nowrap}
.sala-zegar[data-malo="true"]{color:var(--danger,#b74444)}
.sala-egzamin .sala-blad{position:relative;z-index:3}
.sala-teoria{display:grid;grid-template-columns:minmax(0,760px) minmax(210px,290px);justify-content:center;gap:clamp(24px,5vw,70px)}
.sala-pytanie h3{font:650 clamp(19px,2.5vw,25px)/1.5 var(--disp);letter-spacing:-.02em;white-space:pre-wrap;overflow-wrap:anywhere}
.sala-pytanie-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;color:var(--tusz-2);font-size:12px}
.sala-odpowiedzi{display:grid;gap:10px;margin:26px 0;padding:0;border:0}
.sala-odpowiedz{display:flex;align-items:flex-start;gap:14px;padding:17px 18px;border:1px solid var(--linia);border-radius:12px;
  background:var(--sala-tlo);cursor:pointer;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.sala-odpowiedz:has(input:checked){border-color:var(--sala-zloto);background:color-mix(in srgb,var(--sala-zloto) 8%,var(--sala-tlo))}
.sala-odpowiedz input{flex:0 0 auto;margin-top:5px;accent-color:var(--sala-zloto);width:16px;height:16px}
.sala-naw-pytan{padding-top:5px}
.sala-naw-pytan p{font-size:13px;color:var(--tusz-2);line-height:1.6;margin:0 0 14px}
.sala-numery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-bottom:20px}
.sala-numer{aspect-ratio:1;min-height:36px;border:1px solid var(--linia);border-radius:8px;background:var(--sala-tlo);color:var(--tusz-2);font:550 12px var(--mono);cursor:pointer}
.sala-numer[data-odpowiedz="true"]{background:color-mix(in srgb,var(--sala-zloto) 18%,var(--papier));color:var(--tusz)}
.sala-numer[aria-current="step"]{border-color:var(--sala-zloto);box-shadow:0 0 0 1px var(--sala-zloto)}
.sala-zapis{min-height:20px;color:var(--tusz-2);font-size:11px;line-height:1.5}
.sala-praktyka{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,330px);gap:24px;max-width:1500px;margin:auto}
.sala-pdf{width:100%;height:calc(100dvh - 150px);min-height:460px;border:1px solid var(--linia);border-radius:12px;background:var(--sala-tlo)}
.sala-materialy{padding:22px;border:1px solid var(--linia);border-radius:14px;background:var(--sala-tlo);align-self:start}
.sala-materialy h3{font:650 18px var(--disp);margin-bottom:12px;letter-spacing:-.02em}
.sala-materialy a{color:var(--sala-zloto);font-size:13px;line-height:1.6}
.sala-pobierz{display:grid;gap:12px;margin:16px 0 26px}
.sala-pliki-pole{position:relative;display:block;width:100%;padding:18px 16px;border:1px dashed color-mix(in srgb,var(--sala-zloto) 65%,var(--linia));border-radius:10px;text-align:center;font-size:13px;cursor:pointer;
  transition:background .2s,border-color .2s,box-shadow .2s}
.sala-pliki-pole b{display:block;font-weight:600}
.sala-pliki-pomoc{display:block;margin-top:7px;color:var(--tusz-2);font-size:11px;line-height:1.6}
.sala-pliki-pole.przeciagane{border-style:solid;border-color:var(--sala-zloto);background:color-mix(in srgb,var(--sala-zloto) 12%,var(--sala-tlo));box-shadow:0 0 0 3px color-mix(in srgb,var(--sala-zloto) 16%,transparent)}
.sala-pliki-pole[aria-disabled="true"]{opacity:.6;cursor:wait}
.sala-pliki-pole input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.sala-folder{position:relative;overflow:hidden}
.sala-folder input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.sala-pliki-lista{margin:12px 0 0;padding-left:18px;max-height:200px;overflow:auto;color:var(--tusz-2);font:11px/1.8 var(--mono);overflow-wrap:anywhere}
.sala-potwierdz{padding:20px;margin:18px 0;border:1px solid var(--sala-zloto);border-radius:12px;background:var(--sala-tlo)}
.sala-potwierdz p{font-size:13px;line-height:1.6;margin-top:6px;color:var(--tusz-2)}
.sala-wynik{padding:28px;border:1px solid var(--linia);border-radius:18px;background:var(--sala-tlo);margin-bottom:28px}
.sala-wynik h3{font:700 clamp(23px,3vw,32px) var(--disp);letter-spacing:-.035em}
.sala-wynik-liczby{display:flex;flex-wrap:wrap;gap:24px 38px;margin:24px 0}
.sala-wynik-liczby b{display:block;font:700 36px/1.15 var(--disp);letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.sala-wynik-liczby span{display:block;font-size:12px;color:var(--tusz-2);margin-top:5px}
.sala-wykres{margin:26px 0 34px}
.sala-wykres h3{font:650 18px var(--disp);letter-spacing:-.02em;margin-bottom:7px}
.sala-wykres-scroll{overflow-x:auto;margin-top:20px;border:1px solid var(--linia);border-radius:14px;background:var(--sala-tlo)}
.sala-wykres svg{display:block;max-width:none;width:100%;min-width:280px;height:240px;color:var(--sala-zloto)}
.sala-wykres text{font:11px var(--mono);fill:var(--tusz-2)}
.sala-wykres .sala-siatka{stroke:var(--linia);stroke-dasharray:3 5}
.sala-wykres .sala-linia{stroke:currentColor;stroke-width:2.5;fill:none}
.sala-wykres .sala-punkt{fill:var(--sala-tlo);stroke:currentColor;stroke-width:2.5}
.sala-wykres .sala-slup{fill:currentColor}
.sala-wykres .sala-slup-brak{fill:color-mix(in srgb,var(--tusz-2) 30%,var(--papier))}
.sala-wykres .sala-slup-reczne{fill:color-mix(in srgb,var(--tusz-2) 12%,var(--papier));stroke:var(--tusz-2);stroke-dasharray:3 3}
.sala-legenda{display:flex;gap:20px;flex-wrap:wrap;margin-top:10px;color:var(--tusz-2);font-size:11px;line-height:1.7}
.sala-legenda i{display:inline-block;width:9px;height:9px;border-radius:2px;background:var(--sala-zloto);margin-right:5px}
.sala-legenda .brak{background:color-mix(in srgb,var(--tusz-2) 30%,var(--papier))}
.sala-legenda .reczne{background:transparent;border:1px dashed var(--tusz-2)}
.sala-historia{width:100%;border-collapse:collapse;font-size:13px}
.sala-historia th,.sala-historia td{text-align:left;padding:14px 10px;border-bottom:1px solid var(--linia);line-height:1.5}
.sala-historia th{font-size:11px;font-weight:550;color:var(--tusz-2)}
.sala-historia small{display:block;color:var(--tusz-2);font-size:11px}
.sala-szczegoly{margin-top:20px}
.sala-szczegoly summary{font-size:13px;font-weight:600;cursor:pointer;padding:10px 0}
.sala-kryteria{display:grid;gap:8px;padding:10px 0;list-style:none}
.sala-kryteria li{padding:10px 0;border-bottom:1px solid var(--linia);font-size:13px;line-height:1.6}
.sala-kryteria small{display:block;color:var(--tusz-2);font-size:11px}
.sala-pusto{padding:30px 0;color:var(--tusz-2);line-height:1.7;font-size:14px}
html[data-theme="dark"] #w-sala{--sala-zloto:#f2c265}
html[data-theme="dark"] .sala-przycisk:not(.duch){color:#271d08}
@media(max-width:800px){
  .sala-teoria,.sala-praktyka{grid-template-columns:minmax(0,1fr)}
  .sala-naw-pytan{border-top:1px solid var(--linia);padding-top:24px}
  .sala-numery{grid-template-columns:repeat(10,minmax(0,1fr))}
  .sala-praktyka .sala-materialy{grid-row:1}
  .sala-pdf{height:65dvh;min-height:350px}
}
@media(max-width:560px){
  .sala-wybor{gap:12px}
  .sala-kafelek{padding:20px 16px;min-height:224px;gap:24px;border-radius:16px}
  .sala-kafelek strong{font-size:23px}
  .sala-kafelek small{font-size:12px}
  .sala-kafelek>.sala-strzalka{right:16px;top:27px;font-size:20px}
  .sala-ikona{width:38px;height:38px;border-radius:10px}
  .sala-ikona svg{width:23px;height:23px}
  .sala-naglowek{flex-direction:column;gap:10px;margin-bottom:20px}
  .sala-naglowek h2{font-size:30px}
  .sala-wstep,.sala-wynik{padding:22px 18px}
  .sala-pasek{flex-wrap:wrap;gap:12px;margin-bottom:22px;padding:14px 0}
  .sala-pasek-prawa{gap:16px;justify-content:space-between;width:100%}
  .sala-pasek .sala-link{min-height:36px;padding:5px 0}
  .sala-egzamin{padding:0 16px 28px}
  .sala-numery{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}
  .sala-pytanie-meta{margin-bottom:18px}
  .sala-historia th,.sala-historia td{padding:12px 5px;font-size:11px}
  .sala-historia .sala-link{font-size:11px}
  .sala-odpowiedz{padding:14px 12px;gap:10px;font-size:13px}
  .sala-akcje .sala-przycisk{flex:1}
}
@media(prefers-reduced-motion:reduce){
  #w-sala *,#w-sala *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
