/* Wieża 16:9 na telewizorze (public/wieza169.js, makieta propozycje/kosmos/wieza/pietra-169). Na wierzchu wieza.css (HUD, czipy, sprite załogi, ekran briefingu, finał). */
.w169 .wz-world>*{position:absolute}
.wp-fl{left:0;width:960px;height:540px;image-rendering:auto;z-index:0}
/* poziomy wyżej niż bieżący: ciemna warstwa zamiast filtra (WebKit) */
.wp-cien{z-index:70;background:#05060e;opacity:0;transition:opacity .6s;pointer-events:none}
.wp-cien.on{opacity:.6}
/* drzwi: wnętrze (pod), kabina = klip na załogę w środku, skrzydła (nad); załoga wchodzi cała, potem drzwi się zamykają */
.wp-dw{z-index:1;overflow:hidden;background:#0a0b16}
.wp-dw img{position:absolute;left:0;top:0;width:100%;height:100%;image-rendering:pixelated}
.wp-dk{z-index:55;overflow:hidden}
.wp-ds{z-index:60;overflow:hidden;pointer-events:none}
/* drzwi mostka: łuk z kotarami nad skrzydłami i załogą, pod ciemną warstwą wyższych poziomów */
.wp-rama{z-index:66;image-rendering:pixelated;pointer-events:none}
.wp-ds>img{position:absolute;top:0;height:100%;width:50%;image-rendering:pixelated;transition:transform .8s cubic-bezier(.5,0,.3,1)}
.wp-ds .l{left:0}.wp-ds .p{right:0}
.wp-ds.open .l{transform:translateX(-100%)}.wp-ds.open .p{transform:translateX(100%)}
/* przemiana drzwi pokoju w drzwi sekcji: krótkie migotanie skrzydeł */
.wp-ds.mig>img{animation:wpMig .3s steps(2) 3}
@keyframes wpMig{50%{opacity:.25}}
/* złota karta dostępu: drzwi błyskają złotem (raz) */
/* wnętrze za złotymi drzwiami: przygaszone przy otwieraniu, po otwarciu światło zapala się z mrugnięciem */
.wp-dw .mrok{position:absolute;inset:0;background:#04050c;opacity:.9;pointer-events:none}
.wp-dw.swiat .mrok{animation:wpSwiat .9s steps(1) forwards}
@keyframes wpSwiat{0%{opacity:.9}20%{opacity:.25}35%{opacity:.75}55%{opacity:.1}70%{opacity:.45}100%{opacity:0}}
/* załoga: sprite gry 96 px powiększony 1,4 (postać ok. 0,8 drzwi), stopy na linii; w kabinie bez podpisów */
.wp-cz{position:absolute;left:0;top:0;width:96px;height:96px;transform:scale(1.4);transform-origin:48px 92px;z-index:50;will-change:transform}
.wp-cz .wz-spr{position:relative;transition:none}
/* podpis tylko na szerokość nicku: body.tv .pl z app.css (stała szerokość listy graczy) wygrywał specyficznością i robił z podpisów długie paski */
.wz .wz-spr .pl{width:auto;right:auto}
.wp-cz.wkab .pl,.wz-world.bezimion .wp-cz .pl{display:none}
/* Paweł (PW2, retro kamera): klatka 57x65 px sceny, 1 px grafiki = 1 px sceny (plik x2); pasy klatek przełączane steps():
   unoszenie 4 klatki, mówi = głośnik i fale 4 klatki, leci = pochylony w przód 2 klatki. Unoszenie jest w klatkach, bez kbBob */
.wp-kb{position:absolute;width:57px;height:65px;z-index:80;pointer-events:none}
/* w spoczynku lekko lewituje (translate, osobno od transform obrotu); w locie i przy obrocie animacje się podmieniają, więc nie lewituje */
.wp-kb i{display:block;width:100%;height:100%;background:url(img/orbita/hd/sprity/pawel-unos.webp) 0 0/228px 65px no-repeat;image-rendering:pixelated;animation:kbKl4 1s steps(4) infinite,kbLew 2.6s ease-in-out infinite}
@keyframes kbLew{0%,100%{translate:0 0}50%{translate:0 -3px}}
.wp-kb.mowi i{background-image:url(img/orbita/hd/sprity/pawel-mowi.webp);animation-duration:.64s,2.6s}
.wp-kb.leci i{background-image:url(img/orbita/hd/sprity/pawel-lot.webp);background-size:114px 65px;animation:kbKl2 .24s steps(2) infinite}
.wp-kb.flip i{transform:scaleX(-1)}
/* lot tyłem (obiektyw na załogę, leci od niej): klatki unoszenia odchylone w tył, bok w stronę lotu niżej */
.wp-kb.wstecz i{transform:rotate(-7deg);animation-duration:.6s,2.6s}
.wp-kb.wstecz.flip i{transform:scaleX(-1) rotate(-7deg)}
/* obrót w stronę załogi: jedna klatka 3/4 */
.wp-kb.obrot i{background-image:url(img/orbita/hd/sprity/pawel-obrot.webp);background-size:57px 65px;background-position:0 0;animation:none}
@keyframes kbKl4{to{background-position:-228px 0}}
@keyframes kbKl2{to{background-position:-114px 0}}
.wz-world.przyg .wp-kb{opacity:0}
/* wyświetlacz piętra i przycisk wezwania windy */
.wp-wy{width:31px;height:31px;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:17px;color:#ffb347;z-index:3}
.wp-pr{width:12px;height:12px;border-radius:50%;background:#ffcf6a;box-shadow:0 0 8px 3px #ffb347;opacity:0;transition:opacity .2s;z-index:3}
.wp-pr.on{opacity:1}
/* panel nad drzwiami windy: granat panelu zasłania wmalowane strzałki, rząd pięter; docelowe mruga w czasie jazdy (steps, bez filtrów) */
.wp-pan{display:flex;align-items:center;justify-content:space-evenly;padding:0 2px;box-sizing:border-box;background:#34304e;box-shadow:inset 0 0 0 1px #221f36,inset 0 2px 0 1px #2a2640;overflow:hidden;font-family:var(--display);z-index:2}
.wp-pan span{font-size:10px;line-height:1;color:#6a4636;white-space:nowrap}
.wp-pan span.byl{color:#93613f}
.wp-pan span.on{color:#ffd47a;text-shadow:0 0 3px #ffb347,0 0 6px #ff8a2a}
.wp-pan span.cel{color:#c98a4a;animation:wpCel .5s steps(1) infinite}
@keyframes wpCel{50%{color:#6a4636}}
/* reflektory nad ekranem Odprawy */
.w169 .wp-spl,.w169 .wp-spr{width:90px;height:150px}
.w169 .wp-spl{transform:skewX(-14deg)}.w169 .wp-spr{transform:skewX(14deg)}
/* czipy nad drzwiami */
.w169 .wz-chip{position:absolute}
/* lista poziomów: wąski pasek samych ikon przy prawej krawędzi, żeby nie zasłaniał szyldu windy */
.w169 .wz-mini{width:auto;right:6px;top:44px}
.w169 .wz-mini i{padding:3px}.w169 .wz-mini i span{display:none}.w169 .wz-mini i img{height:18px}
/* głosowanie przed pokojem i hologram Pawła (makieta propozycje/kosmos/drzwi-pokoje): licznik nad drzwiami, stożek z obiektywu, rama, piksele za skanem,
   rozszczepienie, iskry, błysk z pierścieniem; w ruchu tylko transform i opacity, bez filtrów i masek */
.wh-lic{z-index:96;transform:translateX(-50%);white-space:nowrap;font-family:var(--display);font-size:12px;color:#e4e8ff;background:#0b0d1cdd;border:2px solid #3b4380;padding:3px 9px}
.wh-lic i{display:inline-block;width:9px;height:9px;margin-left:3px;background:#2c3266;border:1px solid #5a63a8;vertical-align:-1px}
.wh-lic i.on{background:#7cf3ff;border-color:#fff}
.wh-beam{z-index:79;pointer-events:none}
.wh-beam svg{display:block}
.wh-emit{z-index:98;width:18px;height:18px;border-radius:50%;background:radial-gradient(closest-side,#fff,rgba(200,253,255,.85) 35%,rgba(90,230,255,.35) 70%,rgba(90,230,255,0));pointer-events:none}
.wh-emit.zl{background:radial-gradient(closest-side,#fff,rgba(255,236,170,.85) 35%,rgba(255,200,70,.35) 70%,rgba(255,200,70,0))}
.wh-podl{z-index:49;border-radius:50%;background:radial-gradient(closest-side,rgba(170,252,255,.85),rgba(90,230,255,.35) 55%,rgba(90,230,255,0));opacity:0;pointer-events:none}
.wh-podl.zl{background:radial-gradient(closest-side,rgba(255,236,170,.85),rgba(255,200,70,.35) 55%,rgba(255,200,70,0))}
.wh-rog{z-index:95;width:14px;height:14px;border:0 solid #c8fdff;opacity:0;pointer-events:none}
.wh-rog.a{border-width:3px 0 0 3px}.wh-rog.b{border-width:3px 3px 0 0}.wh-rog.c{border-width:0 0 3px 3px}.wh-rog.d{border-width:0 3px 3px 0}
.wh-cel{z-index:92;opacity:0;background-repeat:no-repeat;image-rendering:pixelated;pointer-events:none}
.wh-cel.f{opacity:1;background:#d8fdff!important}
.wh-cel.o{opacity:1}
.wh-tint{z-index:93;overflow:hidden;pointer-events:none;background:linear-gradient(180deg,rgba(90,230,255,.42),rgba(90,230,255,.16)),repeating-linear-gradient(180deg,rgba(190,252,255,.38) 0 2px,transparent 2px 5px)}
.wh-tint.zl{background:linear-gradient(180deg,rgba(255,206,80,.42),rgba(255,206,80,.16)),repeating-linear-gradient(180deg,rgba(255,236,170,.38) 0 2px,transparent 2px 5px)}
.wh-rgb{z-index:94;overflow:hidden;opacity:0;pointer-events:none}
.wh-rgb img{position:absolute;top:0;height:100%;width:50%;image-rendering:pixelated}
.wh-rgb img.l{left:0}.wh-rgb img.p{right:0}
.wh-rgb.c{background:rgba(90,240,255,.25)}.wh-rgb.m{background:rgba(255,80,220,.22)}
.wh-rgb.c img{opacity:.35}.wh-rgb.m img{opacity:.3}
.wh-skan{z-index:95;background:#f2ffff;box-shadow:0 0 6px 2px #9ff6ff,0 0 16px 6px rgba(90,230,255,.65);opacity:0;pointer-events:none}
.wh-skan.zl{background:#fffbe8;box-shadow:0 0 6px 2px #ffe08a,0 0 16px 6px rgba(255,200,70,.65)}
.wh-isk{z-index:96;left:0;top:0;width:4px;height:4px;background:#e8feff;box-shadow:0 0 4px 1px #5ae6ff;opacity:0;pointer-events:none}
.wh-isk.m{background:#ffd0f6;box-shadow:0 0 4px 1px #ff5ad8}
.wh-isk.zl{background:#fff4c8;box-shadow:0 0 4px 1px #ffc94a}
.wh-flesz{z-index:97;opacity:0;pointer-events:none;background:radial-gradient(closest-side,#fff,rgba(200,253,255,.75) 55%,rgba(124,243,255,0))}
.wh-ring{z-index:97;opacity:0;pointer-events:none;border:4px solid #c8fdff;border-radius:50%;box-shadow:0 0 12px 2px rgba(90,230,255,.7)}
.wh-ring.zl{border-color:#ffe08a;box-shadow:0 0 12px 2px rgba(255,200,70,.7)}
/* na wierzchu sceny: tablica głosów z twarzami (dopiero po wyniku) i napis wybranej sekcji */
.wh-tab{position:absolute;right:58px;top:50px;z-index:6;display:flex;flex-direction:column;gap:5px;background:#0b0d1cee;border:3px solid #4a5290;padding:8px 10px;font-family:var(--display);font-size:13px;color:#e4e8ff}
.wh-tab .w{display:flex;align-items:center;gap:6px;height:26px}
.wh-tab .w img.ik{height:24px;image-rendering:pixelated}
.wh-tab .w .n{width:104px}
.wh-tab .w .tw{display:flex;gap:2px;min-width:24px}
.wh-tab .w .tw img{width:22px;height:22px;border-radius:50%;border:2px solid var(--c);background:#141633}
.wh-tab .w b{font-weight:400;margin-left:4px}
.wh-tab .w.win{color:var(--y)}
.wh-tab .w.lost{opacity:.45}
.wh-tab .zk{display:flex;align-items:center;gap:6px;color:#ffd47a;font-size:12px}
.wh-tab .zk img{height:20px}
.wh-nap{position:absolute;left:50%;z-index:6;opacity:0;transform:translateX(-50%);font-family:var(--display);font-size:26px;letter-spacing:.06em;color:#fff;background:#0b0d1cee;border:3px solid #7cf3ff;padding:4px 18px 5px;text-align:center;white-space:nowrap}
.wh-nap small{display:block;font-size:12px;color:#9aa3d8;letter-spacing:.04em}
.wh-nap.zl{border-color:#ffc94a}
/* wieża w ramce sceny telefonu (wiezaTv box): ta sama scena co na telewizorze, bez nakładek telewizora (dymek Głosu, ranking, mapa, NA ŻYWO, baner, tablice) */
.wz.wbox{position:absolute;z-index:0}
.wz.wbox .wz-glos,.wz.wbox .wz-rank,.wz.wbox .wz-mini,.wz.wbox .wz-rec,.wz.wbox .wz-ban,.wz.wbox .wh-tab,.wz.wbox .wh-lic{display:none!important}
