:root{--tlo:#FBF9F4;--piasek:#F1ECE1;--ink:#1A2140;--szary:#535C7A;--sun:#FFC94D;--koral:#F2674A;--j-koral:#FFE3DB;--j-nieb:#DCE6FB;--j-mint:#D5F1E5;--j-lila:#E8E1FA;--j-sun:#FFF0C8;--czerw:#B3321A;--h:"Baloo 2",system-ui,sans-serif;--t:"Atkinson Hyperlegible Next",system-ui,sans-serif;--bok:18px;--g:env(safe-area-inset-top,0px);--d:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box;margin:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%;overflow:hidden;background:var(--tlo);color:var(--ink);font:400 18px/1.4 var(--t);overscroll-behavior:none}
html[data-tlo=czern],html[data-tlo=ink]{background:#000}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;touch-action:manipulation}
input,textarea{font:inherit;color:var(--ink)}
h1,h2,h3{font-family:var(--h);font-weight:800;line-height:1.08}
h1{font-size:clamp(32px,9vw,52px)}
:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
#scena{position:fixed;inset:0;overflow:hidden}
.ekran{position:absolute;inset:0;display:flex;flex-direction:column;padding:calc(var(--g) + 58px) var(--bok) calc(var(--d) + 18px);animation:wej .24s cubic-bezier(.2,.8,.2,1) both;overflow:hidden}
.bez-wej{animation:none}
.przew{overflow-y:auto;-webkit-overflow-scrolling:touch}
@keyframes wej{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}
.e-tlo{background:var(--tlo)}.e-sun{background:var(--sun)}.e-koral{background:var(--koral)}.e-ink{background:var(--ink);color:#fff}.e-czern{background:#000;color:#fff}.e-mint{background:var(--j-mint)}.e-lila{background:var(--j-lila)}.e-nieb{background:var(--j-nieb)}.e-bial{background:#fff}
.rama{position:fixed;top:calc(var(--g) + 8px);left:10px;right:10px;display:flex;gap:6px;z-index:30;pointer-events:none}
.rama button{pointer-events:auto}
#wstecz{margin-right:auto;padding:0;width:44px}
#wstecz svg{width:24px;height:24px;display:block;margin:auto}
.rama [hidden]{display:none}
.rama button{height:44px;min-width:44px;padding:0 12px;border-radius:22px;background:rgba(26,33,64,.1);color:var(--ink);font-weight:700;font-size:15px}
#glos svg{width:24px;height:24px;display:block}
html[data-tlo=ink] .rama button,html[data-tlo=czern] .rama button{background:rgba(255,255,255,.14);color:#fff}
body:has(.liczenie:not([data-z="0"])) .rama,body:has(.pieczenie) .rama{visibility:hidden}
.pst{display:block;width:100%;height:auto}
.btn{min-height:58px;padding:10px 26px;border-radius:18px;font-family:var(--h);font-weight:800;font-size:23px;line-height:1.1;transition:transform .09s}
.btn:active{transform:scale(.97)}
.btn.ink{background:var(--ink);color:#fff}
.btn.pusty{border:3px solid var(--ink)}
.e-ink .btn.pusty{border-color:#fff;color:#fff}
.przyciski{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.przyciski.pion{grid-template-columns:1fr}
.urzad{color:var(--ink);font-size:17px}
.urzad.duzy{font-size:21px;line-height:1.32}
.kolejka{font-weight:700;font-size:16px;opacity:.75}
.male{font-size:15px;color:var(--szary)}

.menu,.sklad,.zas{display:flex;flex-direction:column;gap:14px;width:100%;max-width:560px;margin:0 auto;flex:1 0 auto}
.menu h1{font-size:clamp(46px,14vw,74px)}
.menu-p{color:var(--szary)}.menu-p.m{font-size:16px}
.gra{padding:0;display:flex;flex-direction:column;border-radius:26px;overflow:hidden;text-align:left;transition:transform .1s}
.gra:active{transform:scale(.98)}
.gra-r{background:var(--ink);color:#fff}.gra-h{background:var(--koral);color:var(--ink)}
.gra-sc{position:relative;display:block;height:122px;overflow:hidden}
.gs-r{background:var(--sun)}.gs-h{background:var(--j-koral)}
.gs-r b{position:absolute;left:22px;top:-14px;font:800 136px/1 var(--h);color:var(--ink)}
.gs-r .pst{position:absolute;right:26px;bottom:-42px;width:124px}
.gs-h .pst{position:absolute;left:26px;bottom:-40px;width:124px}
.gs-h .tag{position:absolute;right:24px;top:30px;padding:8px 18px;background:var(--ink);color:#fff;font:800 34px/1.2 var(--h);border-radius:12px;transform:rotate(-5deg)}
.gra-t{display:flex;flex-direction:column;gap:4px;padding:16px 20px 20px}
.gra-t strong{font:800 30px/1.05 var(--h)}
.gra-t span{font-size:17px;line-height:1.32}

.osoby{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}
.osoby li{display:flex;align-items:center;gap:8px}
.zm{width:58px;height:58px;flex:none;border-radius:50%;overflow:hidden;background:var(--piasek)}
.zm .pst{margin-top:3px}
.osoby input{flex:1;min-width:0;height:58px;font-size:20px;padding:0 16px;background:#fff;border:2px solid var(--piasek);border-radius:16px}
.osoby input:focus{outline:0;border-color:var(--ink)}
.us{flex:none;min-height:44px;padding:0 6px;font-size:15px;color:var(--szary)}
.us:disabled{visibility:hidden}
.dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}
.dl button{display:flex;flex-direction:column;align-items:center;padding:10px;border-radius:16px;background:var(--piasek)}
.dl button b{font:800 22px/1.1 var(--h)}.dl button span{font-size:15px}
.dl .on{background:var(--ink);color:#fff}
.start{width:100%}

/* Zasady: scenka */
.zas{gap:12px}
.zas h1{font-size:clamp(34px,9.6vw,58px)}
.zs-scena{container-type:inline-size;position:relative;flex:1 1 300px;min-height:250px;max-height:430px;background:#fff;border-radius:28px;overflow:hidden}
.zs-kl{position:absolute;inset:0}
.zs-tx{font:800 clamp(25px,7vw,36px)/1.14 var(--h);min-height:3.42em}
.zs-kr{display:flex;gap:8px;list-style:none;padding:0}
.zs-kr button{flex:1;height:44px;display:flex;align-items:center}
.zs-kr i{display:block;width:100%;height:7px;border-radius:4px;background:rgba(26,33,64,.18);overflow:hidden}
.zs-kr .on i::after{content:"";display:block;height:100%;background:var(--ink);animation:zspas var(--t) linear both;transform-origin:0 50%}
.zs-kr .by i{background:var(--ink)}
@keyframes zspas{from{transform:scaleX(0)}}
.zas .btn{width:100%;flex:none}
.zs-p{position:absolute;bottom:-34px}
.zs-s{left:7%;width:47%}
.zs-c{left:50%;width:44%;margin-left:-22%}
.zs-l{left:-5%;width:36%}.zs-r{right:-5%;width:36%}
.zs-duza{width:58%;margin-left:-29%}
.zs-tel{position:absolute;right:9%;top:12%;bottom:12%;width:36%;background:var(--ink);color:#fff;border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:zsw .36s cubic-bezier(.2,1.4,.4,1) both}
.zs-tel strong{font:800 clamp(52px,17vw,86px)/.9 var(--h)}
.zs-kciuk{position:absolute;left:50%;bottom:-14px;width:62px;height:88px;margin-left:-31px;border-radius:31px;background:#FFCFAE;border:3px solid var(--ink);animation:zskc .5s .75s cubic-bezier(.2,1,.4,1) both}
@keyframes zskc{from{transform:translateY(90px)}}
@keyframes zsw{from{transform:translateX(50px) rotate(6deg);opacity:0}}
.zs-reka{position:absolute;left:var(--x);bottom:calc(var(--b)*1cqw);width:13cqw;margin-left:-6.5cqw;fill:var(--ink);transform-origin:50% 100%;animation:zsreka .34s var(--d) cubic-bezier(.3,1.5,.5,1) both}
@keyframes zsreka{from{transform:scale(0)}}
@media (prefers-reduced-motion:reduce){.zs-reka{animation:none}}
.zs-dym{position:absolute;background:var(--ink);color:#fff;font:800 clamp(17px,4.8vw,23px)/1.1 var(--h);padding:9px 14px;border-radius:14px;white-space:nowrap;animation:zspop .28s var(--d) cubic-bezier(.3,1.5,.5,1) both}
@keyframes zspop{from{transform:scale(.3);opacity:0}}
.g-l{left:12px;top:16px}.g-r{right:14px;top:70px;background:var(--koral);color:var(--ink)}.g-s{left:50%;margin-left:-82px;top:124px;background:var(--sun);color:var(--ink)}
.g-g{left:50%;transform-origin:50% 100%;margin-left:-118px;top:10px;font-size:clamp(16px,4.4vw,21px)}
.zs-zb{position:absolute;inset:0;background:var(--ink);overflow:hidden}
.zs-zb i{position:absolute;left:0;right:0;bottom:0;height:88%;background:var(--koral);animation:zsnap 1.6s cubic-bezier(.45,0,.7,1) both}
@keyframes zsnap{from{height:0}}
.zs-zb u{position:absolute;left:14px;right:0;bottom:60%;padding-bottom:4px;border-bottom:4px solid #fff;color:#fff;font:800 19px/1.2 var(--h);text-decoration:none}
.zs-zb strong{position:absolute;left:18px;bottom:6%;font:800 clamp(82px,28vw,132px)/1 var(--h);color:var(--ink)}
.zs-spad{right:7%;bottom:60%;width:30%;margin-bottom:-6px;animation:spad 1.1s 1.45s cubic-bezier(.5,0,.8,.4) both}
.zs-karty{position:absolute;right:6%;top:9%;bottom:9%;width:46%;display:flex;flex-direction:column;gap:10px}
.zs-karty div{flex:1;background:var(--j-sun);border-radius:16px;padding:11px 12px;display:flex;flex-direction:column;justify-content:space-between;animation:zsw .34s .15s both}
.zs-karty .zs-pusta{background:var(--ink);color:#fff;animation-delay:.95s}
.zs-karty span{font-size:14px;opacity:.75}.zs-karty b{font:800 clamp(21px,6vw,29px)/1.05 var(--h)}
.zs-dr{position:absolute;left:12px;right:12px;bottom:12px;list-style:none;padding:0;display:flex;flex-direction:column;gap:6px;height:66%}
.zs-dr li{flex:1;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-radius:12px;font:800 clamp(21px,6vw,28px)/1 var(--h)}
.zs-dr span{width:54px;animation:skok .34s var(--d) cubic-bezier(.2,1.5,.4,1) both}
.zs-pieczec{position:absolute;left:50%;top:34%;padding:4px 16px;white-space:nowrap;border:6px solid currentColor;border-radius:14px;background:var(--tlo);color:var(--czerw);font:800 clamp(30px,9vw,46px)/1.15 var(--h);transform:translateX(-50%) rotate(-9deg);animation:zspi .24s 1.1s cubic-bezier(.3,1.3,.5,1) both}
@keyframes zspi{from{transform:translateX(-50%) rotate(-22deg) scale(3);opacity:0}}

/* Rachuba: ekran celu */
.liczenie{padding-bottom:0;transition:none;user-select:none;-webkit-user-select:none}
.r-g{display:flex;flex-direction:column;gap:2px}
.r-kto{display:flex;align-items:center;gap:10px;margin-top:2px}
.r-kto .pst{width:60px;background:rgba(255,255,255,.55);border-radius:50%;flex:none}
.r-kto h1{font-size:clamp(30px,8.6vw,48px)}
.r-cel{display:flex;flex-direction:column;margin:auto 0 0;line-height:.86}
.r-cel strong{font:800 min(62vw,31vh)/.84 var(--h);letter-spacing:-.03em}
.r-cel span{font:800 clamp(28px,8vw,44px)/1 var(--h);margin-top:-2px}
.r-prog{font-size:18px;margin:4px 0 8px}
.r-mod{background:var(--ink);color:#fff;padding:9px 14px;border-radius:12px;margin-bottom:8px;font-size:17px}
.r-ob{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.r-ob div{background:rgba(255,255,255,.55);padding:9px 12px;border-radius:14px}
.r-ob dt{font-weight:700;font-size:15px}
.r-ob dd{margin:0;font-size:16px;line-height:1.25}
.r-ob .r-ch{font-size:14px;opacity:.75}
.strefa{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;flex:none;margin:auto calc(var(--bok)*-1) 0;min-height:max(25svh,132px);padding:14px 14px calc(var(--d) + 14px);background:var(--ink);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:30px 30px 0 0}
.strefa span{font:800 clamp(24px,7vw,34px)/1.1 var(--h)}
.strefa small{font-size:16px;opacity:.85}
.strefa.wcis{background:#000}
.z-cyfra{display:none}
.zaj{display:none;position:absolute;inset:0;padding:calc(var(--g) + 24px) var(--bok) calc(var(--d) + 74px);flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;pointer-events:none;color:#fff;width:auto!important}
.liczenie[data-z="4"] .zaj{display:flex}
.z-et{font:800 clamp(26px,7.4vw,42px)/1.1 var(--h)}
.z-fal{font:800 min(64vw,46vh)/.95 var(--h);font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.z-zad{font:800 clamp(34px,10vw,64px)/1.08 var(--h);color:var(--sun);max-width:18ch;min-height:3.3em;display:grid;place-items:center}
.z-pst{width:min(58vw,34vh);transition:transform .5s cubic-bezier(.3,1.4,.5,1)}
.z-cel{font-size:20px;opacity:.86;position:absolute;left:var(--bok);right:var(--bok);bottom:calc(var(--d) + 26px)}
.liczenie:not([data-z="0"]) .z-cyfra{display:grid;place-items:center;position:absolute;inset:0;font:800 min(70vw,60vh)/1 var(--h);pointer-events:none}
.liczenie:not([data-z="0"])>*:not(.z-cyfra):not(.strefa):not(.strefy):not(.zaj){visibility:hidden}
.liczenie:not([data-z="0"]) .strefa,.liczenie:not([data-z="0"]) .strefa *{background:transparent;color:transparent}
.liczenie:not([data-z="0"]) .strefa .pst{visibility:hidden}
.liczenie:not([data-z="0"]) kbd{visibility:hidden}
.liczenie:not([data-z="0"]) .strefy,.liczenie:not([data-z="0"]) .strefa{position:relative;z-index:2}
.liczenie[data-z="1"]{background:var(--sun);color:var(--ink)}
.liczenie[data-z="2"]{background:var(--koral);color:var(--ink)}
.liczenie[data-z="3"]{background:#30396b;color:#fff}
.liczenie[data-z="4"]{background:var(--ink);color:#fff}
.liczenie[data-z="4"] .z-cyfra{display:none}
.strefy{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:auto calc(var(--bok)*-1) 0;padding:0 8px calc(var(--d) + 8px)}
.strefy .strefa{margin:0;min-height:min(44svh,320px);border-radius:26px;padding:12px 8px}
.strefy .strefa span{font-size:24px}
.strefy .strefa small{text-align:center}
.strefy .sp{width:76px}
kbd{display:none;font:700 16px var(--t);padding:2px 12px;margin-top:6px;border:2px solid currentColor;border-radius:8px}
@media (hover:hover) and (pointer:fine){kbd{display:block}.strefa small::after{content:". Na laptopie: spacja"}.strefy .strefa small::after{content:""}}

/* Zbiornik: odsłona */
.odsl{padding:0}
.zb{position:absolute;inset:0;overflow:hidden;background:var(--ink);container-type:size}
.fill{position:absolute;left:0;right:0;bottom:0;height:var(--poz);background:var(--sun);overflow:hidden}
.ponad .fill{background:var(--koral)}
.ideal .fill{background:var(--sun)}
.war{position:absolute;left:0;right:0;bottom:0;height:100cqh}
.zb-n{position:absolute;left:0;right:0;bottom:7cqh;text-align:center;font:800 min(62cqw,52cqh)/1 var(--h);letter-spacing:-.03em;color:#fff;transition:bottom .4s cubic-bezier(.2,.8,.2,1),font-size .4s cubic-bezier(.2,.8,.2,1);font-variant-numeric:tabular-nums}
.zb-n.b{color:var(--ink)}
.lin{position:absolute;left:0;right:0;bottom:var(--lin);height:0;border-top:5px solid #fff}
.lin span{position:absolute;left:14px;top:-34px;font:800 24px/1.2 var(--h);color:#fff}
.zb-p{position:absolute;right:6cqw;bottom:var(--lin);width:min(30cqw,24cqh);transform-origin:50% 100%}
.zb-p .pst{margin-bottom:-2px}
.stop .zb-p{animation:drz .18s linear 3}
@keyframes drz{50%{transform:translateX(-5px) rotate(-3deg)}}
.spada .zb-p{animation:spad .9s cubic-bezier(.5,0,.8,.4) both}
@keyframes spad{0%{transform:none}24%{transform:translate(8px,-18px) rotate(10deg)}100%{transform:translate(38px,160cqh) rotate(70deg)}}
.brak .zb-p{animation:kiw .5s ease-in-out 2}
@keyframes kiw{50%{transform:translateY(5px) rotate(-5deg)}}
.ponad:not(.spada) .zb-n{animation:drz2 .09s steps(2) infinite}
@keyframes drz2{50%{transform:translate(3px,-3px)}}
.ideal{animation:mig .5s steps(2) 2}
@keyframes mig{50%{filter:invert(1)}}

/* Ekran wyniku */
.wynik{padding-top:calc(var(--g) + 52px);padding-bottom:calc(var(--d) + 14px)}
.wy{display:flex;flex-direction:column;gap:10px;width:100%;max-width:560px;margin:auto}
.wy-a,.wy-b{display:flex;flex-direction:column;gap:8px}
.wy-g{display:flex;align-items:flex-end;justify-content:space-between}
.wy-p{width:min(27vw,16svh);animation:wej-p .36s cubic-bezier(.2,1.5,.4,1) both}
@keyframes wej-p{from{transform:translateY(46px) scale(.8)}}
.wy-st{width:92px;height:92px;margin:0 2px 2px 0;border-radius:50%;background:var(--ink);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-9deg);animation:stem .3s .62s cubic-bezier(.3,1.4,.5,1) both}
.wy-st b{font:800 38px/.9 var(--h)}.wy-st span{font:800 18px/1 var(--h)}
.wy-st:not(.jest){background:none;color:var(--ink);border:5px solid var(--ink)}
.wy h1{font-size:clamp(40px,11.8vw,68px);line-height:1}
.wynik .kolejka{font-size:19px;opacity:1;margin-bottom:-6px}
.miar{position:relative;padding:28px 0 32px}
.m-pod{position:absolute;left:0;top:0;font-weight:700}
.m-tor{position:relative;height:20px;border-radius:10px;background:rgba(26,33,64,.16);overflow:hidden}
.m-tor i{position:absolute;top:0;bottom:0}
.m-tor .m-1{left:var(--a1);right:calc(100% - var(--b1));background:rgba(255,255,255,.55)}
.m-tor .m-3{left:var(--a3);right:calc(100% - var(--b3));background:#fff}
.m-cz{left:var(--c);width:4px;margin-left:-2px;background:var(--ink)}
.m-c{position:absolute;top:1px;left:var(--c);transform:translateX(-50%);font:800 18px/26px var(--h);white-space:nowrap}
.m-w{position:absolute;left:var(--w);bottom:0;height:56px;width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;animation:miar .72s .1s cubic-bezier(.2,.9,.25,1) both}
@keyframes miar{from{left:0}}
.m-w b{width:0;height:0;border:9px solid transparent;border-bottom:13px solid var(--ink);border-top:0}
.m-w span{font:800 20px/22px var(--h);white-space:nowrap;padding:0 6px}
.wy-ob{font-weight:700;font-size:16px;line-height:1.25}
.wynik .btn{width:100%}
.wynik .tabela .pst{background:rgba(255,255,255,.65)}
.tabela{list-style:none;padding:0;display:flex;gap:12px;overflow-x:auto;padding:2px 0 4px;scrollbar-width:none}
.tabela li{flex:none;width:58px;text-align:center;position:relative;font-size:0}
.av{display:block}.av em{display:block;font:400 13px/1.2 var(--t);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.tabela .pst{width:52px;height:52px;margin:0 auto;border-radius:50%;background:var(--piasek)}
.tabela b{display:block;font:800 22px/1 var(--h)}
.tabela i{position:absolute;top:-2px;right:0;font:800 14px/20px var(--h);padding:0 6px;background:var(--sun);border-radius:10px;font-style:normal}
.duet{position:absolute;inset:0;width:auto;display:grid;grid-template-columns:1fr 1fr;gap:4px}
.duet .zb{position:relative;inset:auto}
.duet .lin span{font-size:18px;left:8px}
.duet .zb-p{width:min(38cqw,22cqh);right:4cqw}
.duet .zwyc .fill{background:var(--j-mint)}

/* Komunikat i fant */
.kom{margin:auto;width:100%;max-width:560px;display:flex;flex-direction:column;gap:14px}
.kom-p{width:146px}
.hs{font-size:clamp(42px,13vw,74px)}
.fant-w{display:flex;flex-direction:column;gap:18px;margin:auto;width:100%;max-width:560px;position:relative}
.fant-postac{width:132px;height:132px;margin:0 0 -40px 8px;position:relative;z-index:0;background:#fff;border-radius:50%;overflow:hidden}
.kartka{position:relative;z-index:1;background:#fff;padding:22px 22px 54px;border-radius:12px;transform:rotate(-1.4deg);animation:kart .42s cubic-bezier(.2,1.2,.3,1) both}
@keyframes kart{from{transform:translateY(60vh) rotate(9deg)}}
.kartka h2{font-size:21px;color:var(--szary)}
.kartka p{font:800 clamp(25px,7vw,34px)/1.18 var(--h);margin-top:8px}
.stempel{position:absolute;right:14px;bottom:10px;padding:3px 12px;font:800 20px/1.25 var(--h);color:var(--czerw);border:3px solid var(--czerw);border-radius:8px;transform:rotate(-7deg);animation:stem .3s .34s cubic-bezier(.3,1.4,.5,1) both}
@keyframes stem{from{opacity:0;transform:rotate(-16deg) scale(2.4)}}

/* Karta pod kciukiem */
.kartowy{padding-bottom:0;user-select:none;-webkit-user-select:none}
.ochr{margin:auto;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}
.ochr-p{width:min(46vw,190px)}
.ochr h1{font-size:clamp(44px,13vw,70px)}
.ochr p{font-size:20px;font-weight:700}
.karta{position:absolute;inset:calc(var(--g) + 58px) var(--bok) auto;display:none;background:#fff;border-radius:22px;padding:22px;min-height:calc(100svh - 58px - max(25svh,132px) - 36px - var(--g));flex-direction:column}
.widac .karta{display:flex}
.widac .ochr{visibility:hidden}
.k-pa{font-size:17px;color:var(--szary)}
.karta h2{font-size:clamp(42px,13vw,72px);margin:auto 0}
.k-op{font-size:19px;font-weight:700;min-height:2.8em}
.k-pasek{height:10px;background:var(--piasek);border-radius:5px;overflow:hidden;margin-top:8px}
.k-pasek i{display:block;height:100%;width:100%;background:var(--ink);transform-origin:0 50%;transform:scaleX(0)}
.widac .k-pasek i{animation:pas 2s linear forwards}
@keyframes pas{to{transform:scaleX(1)}}

/* Licytacja */
.licyt{padding-bottom:calc(var(--d) + 10px);gap:10px}
.l-g{flex:none;min-height:92px}
.l-kto{display:flex;align-items:center;gap:10px}
.l-p{width:62px;flex:none;background:var(--j-sun);border-radius:50%;overflow:hidden}
.l-t h1{font-size:clamp(28px,8vw,42px)}
.l-t p{font-size:16px;line-height:1.25}
.l-kto .l-t:only-child{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%}
.l-dal{min-height:52px;font-size:20px;padding:6px 18px}
.drabina{flex:1;list-style:none;padding:0;display:flex;flex-direction:column;gap:5px;min-height:0}
.drabina li{flex:1;min-height:0}
.metka{width:100%;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 16px;border-radius:12px;gap:8px;overflow:hidden}
.metka>span{font:800 clamp(20px,5.8vw,28px)/1 var(--h);white-space:nowrap}
.m-0{background:var(--j-mint)}.m-1{background:var(--j-mint)}.m-2{background:var(--j-nieb)}.m-3{background:var(--j-nieb)}.m-4{background:var(--j-sun)}.m-5{background:var(--sun)}.m-6{background:var(--koral)}.m-7{background:var(--ink);color:#fff}
.m-7 em{color:#fff}
.puk{transform:scale(1.03)}
.l-av{display:flex;align-items:center;justify-content:flex-end;height:100%;min-width:0;flex:1}
.skok{width:min(58px,8.6svh);flex:0 1 min(58px,8.6svh);min-width:14px;animation:skok .32s cubic-bezier(.2,1.5,.4,1) both;text-align:center}
.skok em{display:none}
@keyframes skok{from{transform:translateY(-70px) scale(1.4)}}

/* Trzy uderzenia i wskazanie */
.ud{margin:auto;text-align:center}
.ud strong{font:800 min(82vw,70vh)/.9 var(--h)}
.ud .wskaz{font-size:min(19vw,22vh);color:var(--sun)}
.gl{display:flex;flex-direction:column;gap:12px;flex:1 0 auto;width:100%;max-width:640px;margin:0 auto}
.gl p{font-size:18px}
.gl-l{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;flex:1;align-content:center}
.gl-k{background:rgba(255,255,255,.12);border-radius:18px;padding:8px;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:120px;color:#fff}
.e-koral .gl-k{background:rgba(255,255,255,.4);color:var(--ink)}
.gl-k:active{background:var(--sun);color:var(--ink)}
.gl-k .pst{width:72px}
.gl-l[data-n="4"],.gl-l[data-n="5"],.gl-l[data-n="6"]{grid-template-columns:1fr 1fr}
.gl-l[data-n="4"] .gl-k .pst,.gl-l[data-n="5"] .gl-k .pst,.gl-l[data-n="6"] .gl-k .pst{width:min(30vw,17svh)}
.gl-k span{font-weight:700;font-size:17px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Pieczęć */
.pieczenie{align-items:center;justify-content:center;padding:0;overflow:hidden}
.kr{--r:0;width:min(62vw,44vh);aspect-ratio:1;border-radius:50%;background:#fff;display:grid;place-items:center;overflow:hidden;transform:scale(calc(.5 + var(--r)*.17));opacity:calc(.2 + var(--r)*.28);transition:transform .16s cubic-bezier(.3,1.6,.5,1)}
.kr .pst{width:78%;margin-top:14%}
.p-im{order:-1;color:#fff;font:800 clamp(38px,11vw,60px)/1.1 var(--h);margin-bottom:14px}
.stemp{position:absolute;top:calc(50% + min(31vw,22vh) + 30px);left:50%;padding:6px 22px;white-space:nowrap;border:8px solid currentColor;border-radius:18px;font:800 min(11vw,84px)/1.15 var(--h);transform:translate(-50%,-50%) rotate(-9deg);visibility:hidden;background:var(--tlo)}
.zna,.nie{animation:traf .3s steps(3)}
@keyframes traf{0%{transform:translate(9px,-7px)}40%{transform:translate(-8px,6px)}80%{transform:translate(4px,-3px)}}
.zna{background:var(--j-lila)}.nie{background:var(--sun)}
.zna .p-im,.nie .p-im{color:var(--ink)}
.zna .stemp{color:#2A3FAE;visibility:visible;animation:ls .22s cubic-bezier(.3,1.3,.5,1) both}
.nie .stemp{color:var(--czerw);visibility:visible;animation:ls .22s cubic-bezier(.3,1.3,.5,1) both}
@keyframes ls{from{transform:translate(-50%,-50%) rotate(-22deg) scale(3.4);opacity:0}}
.zna .kr,.nie .kr{transform:scale(1);opacity:1}

.wyn{display:flex;flex-direction:column;gap:12px;width:100%;max-width:560px;margin:auto;flex:0 0 auto}
.wyn-p{width:130px}
.wyn h1{font-size:clamp(36px,10.5vw,58px)}
.wyn-h{font-weight:700;font-size:21px}
.mod-w{display:flex;flex-direction:column;gap:12px;width:100%;max-width:560px;margin:auto}
.mod-p{width:110px}
.mod-l{display:flex;flex-direction:column;gap:10px}
.mod-k{display:flex;flex-direction:column;gap:2px;text-align:left;padding:16px 18px;border-radius:18px;background:var(--ink);color:#fff}
.mod-k.k1{background:var(--koral);color:var(--ink)}
.mod-k b{font:800 29px/1.05 var(--h)}

/* Protokół */
.prot{position:relative;width:100%;max-width:560px;margin:0 auto;padding:0 2px 20px;display:flex;flex-direction:column;gap:8px}
.prot h1{font-size:clamp(40px,12vw,64px)}
.prot h2{font-size:24px;margin-top:10px}
.prot-g{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:6px}
.prot-p{width:112px;flex:none}
.obr-im{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:700}
.obr-im input{width:22px;height:22px;accent-color:var(--ink)}
.tyt .wyr{flex:none}
.tyt{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}
.tyt li{display:flex;align-items:center;gap:12px}
.wyr{width:56px;height:56px;flex:none;border-radius:50%;background:var(--piasek);overflow:hidden}
.wyr .pst{margin-top:3px}
.tyt h3{font-size:22px}
.tyt p{font-size:15.5px;color:var(--szary)}
.tyt div{flex:1;min-width:0}
.tyt b{font:800 26px/1 var(--h)}
.cyt{display:flex;flex-direction:column;gap:4px;margin-top:8px}
.cyt span{font-weight:700}
.cyt textarea{width:100%;padding:12px 14px;border:2px solid var(--piasek);border-radius:14px;background:#fff;resize:none}
.bil{font-weight:700}

@media (max-height:760px){
  .wynik{padding-top:calc(var(--g) + 50px)}
  .wy{gap:6px}.wy-a,.wy-b{gap:5px}
  .wy-p{width:min(21vw,13svh)}
  .wy-st{width:70px;height:70px}.wy-st b{font-size:29px}.wy-st span{font-size:15px}
  .wy h1{font-size:clamp(34px,10vw,46px)}
  .wynik .kolejka{font-size:17px}
  .miar{padding:24px 0 28px}
  .m-w{height:50px}
  .wy-ob{font-size:15px}
  .wynik .tabela .pst{width:36px;height:36px}.wynik .tabela b{font-size:18px}.wynik .tabela li{width:48px}
  .wynik .btn{min-height:50px;font-size:21px}
  .zs-tx{font-size:24px}
}
@media (max-height:700px){.r-cel strong{font-size:min(44vw,21vh)}.r-cel span{font-size:24px}.strefa{min-height:max(20svh,108px)}.r-kto .pst{width:48px}.r-ob dd{font-size:15px}.r-prog{margin:2px 0 6px}}
@media (min-width:900px){
  .odsl{background:var(--tlo);align-items:center;justify-content:center;padding:28px}
  .odsl .zb{position:relative;inset:auto;width:min(500px,42vw);height:min(100%,780px);border-radius:36px;margin:auto}
  .odsl .duet{position:relative;inset:auto;width:min(860px,72vw);height:min(100%,780px);gap:10px;margin:auto}
  .odsl .duet .zb{width:100%;height:100%}
  .wy{max-width:1040px;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
  .wy h1{font-size:clamp(48px,4.6vw,68px)}
  .wy-p{width:170px}
  .zas{max-width:1040px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto auto;column-gap:56px;row-gap:14px;align-content:center}
  .zs-scena{grid-column:1;grid-row:1/5;height:min(76svh,520px);max-height:none}
  .zas h1,.zs-tx,.zs-kr,.zas .btn{grid-column:2}
  .zas .zs-tx{align-self:center;font-size:40px}
  .r-cel strong{font-size:min(32vh,24vw)}
  .strefa{margin-left:auto;margin-right:auto;width:min(620px,100%)}
  .ekran.liczenie{align-items:center}.liczenie>*{width:min(620px,100%)}
  .strefy{margin-left:auto;margin-right:auto}
  .licyt>*{width:min(720px,100%);margin-inline:auto}
  .kartowy{align-items:center}.karta{max-width:620px;margin:0 auto;left:0;right:0}
  .kartowy .kolejka,.kartowy .ochr{width:min(620px,100%)}
}
/* Wynik: postać na osi czasu */
.wynik .wy-s{flex:1;margin:0 auto;min-height:0}
.wy-s .wy-a{flex:1;min-height:0}
.wy-h{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:12px}
.wy-h .wy-st{flex:none}
.wy-h .kolejka{font:400 17px/1.25 var(--t);margin-bottom:1px}
.wy-s .wy-l{font-size:inherit;line-height:1}
.wy-l span{display:block;font:800 clamp(27px,7.6vw,38px)/1.05 var(--h)}
.wy-l strong{display:block;font:800 min(22vw,11.5svh,104px)/.98 var(--h);letter-spacing:-.02em;white-space:nowrap}
.wy-l strong.dl{font-size:min(17vw,10svh,84px)}
.wy-sc{flex:1;min-height:0;display:flex;flex-direction:column}
.sc-g{position:relative;flex:1;min-height:84px;container-type:size}
.sc-pl{position:absolute;left:var(--c);top:0;bottom:0;width:4px;margin-left:-2px;background:var(--ink)}
.sc-pl span{position:absolute;top:0;left:4px;padding:0 12px 0 10px;background:var(--ink);color:#fff;font:800 18px/30px var(--h);white-space:nowrap;border-radius:0 8px 8px 0}
.sc-pl.lewa span{left:auto;right:4px;padding:0 10px 0 12px;border-radius:8px 0 0 8px}
.sc-po{--h:min(100cqh - 34px,62cqw,320px);position:absolute;bottom:0;left:clamp(0px,calc(var(--w) - var(--h)*.4157),calc(100% - var(--h)*.8315));width:calc(var(--h)*.8315);animation:sc-idzie .72s .1s cubic-bezier(.2,.9,.25,1) both}
@keyframes sc-idzie{from{left:0}}
.sc-po .pst{display:block;width:100%;height:auto}
.sc-po>*{animation:none}
.sc-m{padding:0 0 32px}
.sc-m .m-tor{height:28px;border-radius:14px}
.m-e{position:absolute;top:0;transform:translateX(-50%);font:800 14px/28px var(--h);font-style:normal;color:var(--ink);z-index:1}
.wynik .wy-s .tabela{justify-content:space-between}
@media (max-height:760px){
  .wy-h{margin-top:8px}
  .wy-l span{font-size:24px}
  .wy-l strong{font-size:min(19vw,10.5svh)}
  .wy-l strong.dl{font-size:min(15vw,9svh)}
  .wy-h .wy-st{width:72px;height:72px}.wy-h .wy-st b{font-size:29px}.wy-h .wy-st span{font-size:14px}
  .sc-g{min-height:70px}
  .sc-pl span{font-size:16px;line-height:26px}
}
@media (min-width:900px){
  .wynik .wy-s{flex:none;margin:auto}
  .wy-s .wy-a{flex:none}
  .wy-sc{flex:none}
  .sc-g{flex:none;height:clamp(180px,36svh,340px)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}
}

/* Wspólne dla nowych gier */
.m-mala{display:block}.m-mala path{fill:#fff;stroke:var(--ink);stroke-width:7;stroke-linejoin:round}
.gra-k{background:var(--j-lila);color:var(--ink)}.gra-w{background:var(--j-mint);color:var(--ink)}
.gs-k{background:var(--ink)}
.gs-k i{position:absolute;left:50%;top:50%;width:210px;height:210px;margin:-105px 0 0 -105px;border-radius:50%;background:var(--sun)}
.gs-k .pst{position:absolute;left:50%;bottom:-44px;width:124px;margin-left:-62px}
.gs-w{background:var(--j-nieb)}
.gs-w .m-mala{position:absolute;left:18px;top:9px;width:118px}
.gs-w b{position:absolute;right:18px;top:36px;padding:7px 15px;background:var(--ink);color:#fff;font:800 clamp(24px,7vw,31px)/1.2 var(--h);border-radius:12px;transform:rotate(-3deg)}

/* Kalambury: cykl */
.ka{padding:calc(var(--g) + 62px) var(--bok) calc(var(--d) + 20px);touch-action:none;user-select:none;-webkit-user-select:none;align-items:center;text-align:center;cursor:pointer}
.ka[data-f=patrz]{background:var(--sun);color:var(--ink)}
.ka[data-f=zakryj]{background:var(--koral);color:var(--ink)}
.ka-pipy{display:flex;gap:10px;justify-content:center}
.ka-pipy i{width:34px;height:12px;border-radius:6px;background:currentColor;opacity:.28}
.ka-pipy .by{opacity:.62}.ka-pipy .teraz{opacity:1}
.ka-s{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%}
.ka-m{font:800 clamp(30px,8.6vw,48px)/1.1 var(--h)}
.ka-d{font:800 min(29vw,26svh,190px)/1 var(--h);letter-spacing:-.02em;white-space:nowrap}
.ka[data-f=ciemno] .ka-d{font-size:min(68vw,44svh,420px);line-height:.95;font-variant-numeric:tabular-nums}
.ka-mod{padding:6px 16px;border-radius:12px;background:rgba(255,255,255,.18);font:800 22px/1.2 var(--h)}
.ka[data-f=patrz] .ka-mod,.ka[data-f=zakryj] .ka-mod{background:rgba(26,33,64,.14)}
.ka-pas{width:100%;height:10px;border-radius:5px;background:rgba(255,255,255,.2);overflow:hidden;margin:12px 0}
.ka[data-f=patrz] .ka-pas,.ka[data-f=zakryj] .ka-pas{background:rgba(26,33,64,.18)}
.ka-pas i{display:block;height:100%;background:currentColor;transform-origin:0 50%}
.ka-h{font-size:19px;font-weight:700}
.ka-tr{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:var(--ink);color:#fff}
.ka-tr b{font:800 clamp(56px,17vw,110px)/1 var(--h)}
.ka-tr span{display:block;width:62%;height:16px;border-radius:8px;background:rgba(255,255,255,.22);overflow:hidden}
.ka-tr i{display:block;height:100%;background:var(--sun);transform-origin:0 50%}
.trzyma .ka-tr{display:flex}
.trzyma .ka-tr i{animation:pas .6s linear forwards}

/* Kalambury: ostatnia poza */
.kaf{padding:calc(var(--g) + 62px) var(--bok) calc(var(--d) + 26px);align-items:center;text-align:center}
.kaf-t{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;z-index:1}
.kaf-t p{font-size:21px;font-weight:700}
.kaf-t h1{font-size:clamp(40px,12vw,68px)}
.kaf-t .kaf-r{opacity:.82}
.kaf-c{flex:1;display:flex;align-items:center;justify-content:center;width:100%;position:relative}
.kaf-c .ka-d{font-size:min(50vw,30svh,260px)}
.kaf.serce .kaf-c::after{content:"";width:min(44vw,24svh);height:min(44vw,24svh);border-radius:50%;background:var(--koral)}
.kaf[data-u="0"] .kaf-c::after{animation:bij .5s cubic-bezier(.2,.8,.4,1) both}
.kaf[data-u="1"] .kaf-c::after{animation:bij2 .5s cubic-bezier(.2,.8,.4,1) both}
.kaf[data-u="2"] .kaf-c::after{animation:bij .5s cubic-bezier(.2,.8,.4,1) both}
@keyframes bij{from{transform:scale(1.32)}to{transform:scale(.82)}}
@keyframes bij2{from{transform:scale(1.32)}to{transform:scale(.82)}}
.kaf-sw{position:absolute;inset:0;z-index:2;background:var(--sun);color:var(--ink);display:flex;align-items:center;justify-content:center;clip-path:circle(0 at 50% 58%);transition:clip-path .62s cubic-bezier(.3,0,.1,1)}
.swiatlo .kaf-sw{clip-path:circle(120vmax at 50% 58%)}
.kaf-sw div{display:flex;flex-direction:column;align-items:center}
.kaf-sw p{font:800 clamp(30px,8.6vw,48px)/1.1 var(--h)}
.kaf-sw strong{font:800 min(29vw,26svh,190px)/1 var(--h);letter-spacing:-.02em}

/* Kalambury: odsłona hasła */
.wy-k,.wy-wi{flex:1;margin:0 auto}
.wy-k .wy-a,.wy-wi .wy-a{flex:1;min-height:0}
.wy .ka-haslo{font-size:clamp(40px,12.4vw,72px);line-height:1.02}
.ka-sc{position:relative;flex:1;min-height:90px;display:flex;align-items:flex-end;justify-content:center;gap:2%;overflow:hidden}
.ka-sc>div{width:min(38vw,22svh);margin-bottom:-11%;animation:wej-p .36s cubic-bezier(.2,1.5,.4,1) both}
.ka-sc>div+div{animation-delay:.12s}
.ka-pkt{position:absolute;right:0;top:0;width:92px;height:92px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#fff;font:800 40px/1 var(--h);transform:rotate(-9deg);animation:stem .3s .5s cubic-bezier(.3,1.4,.5,1) both}
.ka-w{font:800 clamp(25px,7vw,34px)/1.12 var(--h)}
.ka-pipy.wyn{justify-content:flex-start;flex-direction:row;margin:0;max-width:none}
.ka-pipy.wyn i{height:14px;flex:1;opacity:.24}
.ka-pipy.wyn .by{opacity:.24}.ka-pipy.wyn .teraz{opacity:1}

/* Wieś: karta i dzielony ekran */
.k-znak{align-self:flex-start;min-width:9.2em;padding:6px 16px;margin:0 0 12px;border-radius:12px;background:var(--ink);color:#fff;font:800 clamp(25px,7.2vw,34px)/1.2 var(--h);text-align:center}
.obrona{padding:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,.8fr) minmax(0,1.2fr)}
.ob-g{background:var(--sun);transform:rotate(180deg);display:flex;flex-direction:column;justify-content:center;gap:4px;padding:14px var(--bok) calc(var(--g) + 60px);text-align:center;min-height:0}
.ob-g p{font-size:18px;font-weight:700}
.ob-g h2{font-size:clamp(42px,12.4vw,76px);line-height:1}
.ob-g .ob-t{font:800 clamp(27px,7.6vw,40px)/1.12 var(--h);margin-top:4px}
.ob-d{background:#fff;display:flex;flex-direction:column;gap:9px;padding:14px var(--bok) calc(var(--d) + 14px);min-height:0}
.ob-w{font:800 clamp(25px,7vw,34px)/1.1 var(--h)}
.ob-o{font-size:18px;font-weight:700;margin-top:-6px}
.ob-d ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:7px;flex:1;justify-content:center}
.ob-d li{font-size:clamp(19px,5.5vw,25px);line-height:1.2;padding:10px 14px;background:var(--j-sun);border-radius:12px}
.ob-cz{height:9px;border-radius:5px;background:var(--piasek);overflow:hidden;flex:none}
.ob-cz i{display:block;height:100%;background:var(--ink);transform-origin:0 50%;animation:obcz var(--cz) linear both}
@keyframes obcz{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.obrona .btn{flex:none}
.odl{margin:auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;width:100%}
.odl p{font:800 clamp(30px,8.6vw,46px)/1.1 var(--h)}
.odl strong{font:800 min(68vw,44svh,420px)/1 var(--h);font-variant-numeric:tabular-nums}
.odl strong.sl{font-size:min(25vw,24svh,170px);padding:.8em 0;animation:zspop .24s cubic-bezier(.3,1.5,.5,1) both}

/* Wieś: głosy */
.gk h1{font-size:clamp(34px,9.6vw,54px)}
.gk .gl-l{grid-template-columns:1fr 1fr;align-content:stretch;grid-auto-rows:minmax(112px,1fr);flex:1 1 auto}
.gk .gk-k:last-child:nth-child(odd){grid-column:1/-1}
.gk .przyciski{grid-template-columns:.7fr 1.3fr;margin-top:auto}
.gk-k{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px;border-radius:18px;background:var(--j-mint);color:var(--ink);min-height:112px;transition:background .12s}
.gk-k.gk-nie{background:var(--koral)}
.gk-k .pst{width:min(26vw,13svh);height:min(26vw,13svh);background:#fff;border-radius:50%}
.gk-k span{font-weight:700;font-size:17px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gk-k b{display:flex;align-items:center;gap:5px;font:800 21px/1.1 var(--h)}
.gk-k em{font-style:normal}
.kc{width:22px;height:22px;transition:transform .16s}
.gk-k.gk-nie .kc{transform:rotate(180deg)}
.gl-l[data-n="7"] .gk-k .pst,.gl-l[data-n="8"] .gk-k .pst,.gl-l[data-n="9"] .gk-k .pst{width:min(13vw,7.5svh);height:min(13vw,7.5svh)}
.gk:has([data-n="7"],[data-n="8"],[data-n="9"]) .gl-l{grid-template-columns:1fr 1fr 1fr;grid-auto-rows:minmax(92px,1fr)}
.gk:has([data-n="7"],[data-n="8"],[data-n="9"]) .gk-k:last-child:nth-child(odd){grid-column:auto}
.gk:has([data-n="7"],[data-n="8"],[data-n="9"]) .gk-k{min-height:92px;padding:6px 4px}

/* Wieś: mapa */
.mapa{padding:0;background:var(--j-nieb);touch-action:none;user-select:none;-webkit-user-select:none}
.m-sv,.m-svg{position:absolute;inset:0;width:100%;height:100%}
.m-lad{fill:#fff;stroke:var(--ink);stroke-width:3;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.m-rz{fill:none;stroke:#A9C2F2;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.m-os circle{fill:var(--szary);opacity:.22}
.m-mi circle{fill:var(--ink)}
.m-mi text{font:700 7.4px var(--t);fill:var(--ink);opacity:0;transition:opacity .2s}
.blisko .m-mi text{opacity:1}
.m-g{position:absolute;left:0;right:0;top:0;z-index:3;padding:calc(var(--g) + 58px) var(--bok) 16px;background:var(--ink);color:#fff;text-align:center}
.m-g h1{font-size:clamp(38px,11vw,64px);line-height:1.04}
.mp-et{font-size:20px;font-weight:700;color:var(--sun)}
.lit{display:inline-block}
.lit.spada{color:var(--koral);transform:translate(var(--dx),var(--dy)) scale(.1) rotate(160deg);opacity:0;transition:transform .5s cubic-bezier(.5,0,.9,.5),opacity .1s .42s}
.m-g:has(.spada){z-index:5;background:var(--ink)}
.m-puls{position:absolute;left:50%;top:50%;width:120px;height:120px;margin:-60px 0 0 -60px;border:6px solid var(--koral);border-radius:50%;opacity:0;pointer-events:none}
.puls .m-puls{animation:puls .42s cubic-bezier(.2,.7,.4,1) both}
@keyframes puls{from{transform:scale(.3);opacity:1}to{transform:scale(1.5);opacity:0}}
.m-pin{position:absolute;left:50%;top:50%;width:68px;margin-left:-34px;margin-top:-94px;opacity:0;transform-origin:50% 100%;z-index:2}
.leci .m-pin{opacity:1;animation:pin-sp .32s cubic-bezier(.5,0,1,.6) both}
@keyframes pin-sp{from{transform:translateY(-55vh)}to{transform:none}}
.ladowanie .m-pin{animation:pin-od .62s cubic-bezier(.2,1.5,.4,1) both}
@keyframes pin-od{0%{transform:scale(1.22,.74)}38%{transform:translateY(-34px) scale(.95,1.06)}100%{transform:none}}
.m-dz{position:absolute;left:50%;top:50%;width:210px;height:210px;margin:-105px 0 0 -105px;border-radius:50%;background:var(--ink);transform:scale(0);z-index:1}
.wpada .m-dz{animation:dz .32s cubic-bezier(.2,1.4,.4,1) both}
@keyframes dz{from{transform:scale(0)}to{transform:scale(1)}}
.wpada .m-pin{animation:pin-w .46s cubic-bezier(.6,0,1,.7) both}
@keyframes pin-w{from{transform:none;opacity:1}to{transform:translateY(62px) scale(.14) rotate(70deg);opacity:0}}
.wpada .m-sv{animation:drzy .3s linear}
@keyframes drzy{20%{transform:translate(-7px,4px)}45%{transform:translate(6px,-5px)}70%{transform:translate(-4px,-2px)}}
.m-fin{position:absolute;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--bok);color:var(--ink);clip-path:circle(0 at 50% 50%);transition:clip-path .56s cubic-bezier(.3,0,.1,1)}
.koniec .m-fin{clip-path:circle(120vmax at 50% 50%)}
.fj{background:var(--sun)}.fn{background:var(--koral)}
.m-fin strong{display:block;font:800 min(46vw,34svh,300px)/.98 var(--h);letter-spacing:-.02em}
.fn strong{font-size:min(24vw,15svh,150px);line-height:.98}
.m-fin p{font:800 clamp(27px,7.8vw,44px)/1.14 var(--h);margin-top:12px}

/* Wieś: wynik */
.wy-wi h1{font-size:clamp(38px,10.8vw,62px)}
.wy-wi .kolejka{opacity:1;font-size:18px;font-weight:700}
.wi-p{flex:1;min-height:80px;display:flex;justify-content:center;align-items:flex-end;overflow:hidden}
.wi-p .pst{width:min(58vw,32svh);margin-bottom:-12%;animation:wej-p .36s cubic-bezier(.2,1.5,.4,1) both}
.wi-l{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.wi-l li{display:flex;align-items:center;gap:6px;padding:3px 12px 3px 3px;border-radius:24px;background:var(--j-mint);font-weight:700;font-size:16px}
.wi-l li.zle{background:var(--koral)}
.wi-l .pst{width:36px;background:rgba(255,255,255,.6);border-radius:50%}

/* Zasady nowych gier */
.zs-noc{position:absolute;inset:0;background:var(--ink);overflow:hidden}
.zs-noc i{position:absolute;left:50%;top:60%;width:min(74vw,330px);height:min(74vw,330px);margin:calc(min(74vw,330px)/-2) 0 0 calc(min(74vw,330px)/-2);border-radius:50%;background:var(--sun);animation:zsnoc .46s .35s cubic-bezier(.3,0,.1,1) both}
@keyframes zsnoc{from{transform:scale(0)}}
.zs-w{width:44%;left:auto;right:auto}.zs-l.zs-w{left:5%}.zs-r.zs-w{right:5%}
.zs-pipy{position:absolute;left:8%;right:8%;top:9%;display:flex;gap:8px}
.zs-pipy i{flex:1;height:13px;border-radius:7px;background:var(--piasek)}.zs-pipy .on{background:var(--ink)}
.zs-plus{position:absolute;left:50%;top:21%;width:92px;height:92px;margin-left:-46px;display:grid;place-items:center;border-radius:50%;background:var(--sun);font:800 40px/1 var(--h);transform:rotate(-9deg);animation:zspop .3s .6s cubic-bezier(.3,1.5,.5,1) both}
.zs-mapa{position:absolute;inset:0;background:var(--j-nieb);display:grid;place-items:center}
.zs-mapa .m-mala{width:min(72%,320px)}
.zs-pin{position:absolute;left:58%;top:40%;width:26px;height:26px;border-radius:50% 50% 50% 0;background:var(--koral);border:3px solid var(--ink);transform:rotate(-45deg);animation:zspinad .5s .4s cubic-bezier(.3,1.5,.5,1) both}
@keyframes zspinad{from{transform:translateY(-150px) rotate(-45deg);opacity:0}}

@media (min-width:900px){
  .obrona{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ob-g{transform:none;padding:68px 24px 24px}
  .ob-d{padding:68px 36px 24px}
  .wy-k,.wy-wi{flex:none;margin:auto}
  .ka-sc,.wi-p{min-height:240px}
}
@media (max-height:700px){
  .ob-g h2{font-size:clamp(36px,10.6vw,60px)}
  .ob-d li{font-size:17px;padding:5px 11px}
  .ka-sc>div{width:min(30vw,17svh)}
  .ka-pkt{width:70px;height:70px;font-size:31px}
}
@media (prefers-reduced-motion:reduce){
  .kaf-sw,.m-fin{transition:none}
  .kaf-c::after,.m-pin,.m-dz,.m-sv,.lit,.m-puls{animation:none!important;transition:none!important}
  .leci .m-pin{opacity:1}.wpada .m-pin{opacity:0}.wpada .m-dz{transform:scale(1)}
}

.widac .kolejka{visibility:hidden}
.zs-noc~.zs-dym{left:50%;top:18px;transform:translateX(-50%);background:var(--koral);color:var(--ink);font-size:clamp(28px,8vw,40px);padding:8px 22px;animation-name:zspop-c}
@keyframes zspop-c{from{transform:translateX(-50%) scale(.3);opacity:0}}

.gz .gl-l{grid-template-columns:1fr 1fr;grid-auto-rows:minmax(112px,1fr);align-content:stretch;flex:1 1 auto}
.gz .gl-k{justify-content:center}
.gz .gl-k:last-child:nth-child(odd){grid-column:1/-1}
.gz .gl-k .pst{width:min(30vw,15svh)}
.gz .gl-l[data-n="7"],.gz .gl-l[data-n="8"],.gz .gl-l[data-n="9"]{grid-template-columns:1fr 1fr 1fr}
.gz .gl-l[data-n="7"] .gl-k:last-child,.gz .gl-l[data-n="9"] .gl-k:last-child{grid-column:auto}
.gz .gl-l[data-n="7"] .pst,.gz .gl-l[data-n="8"] .pst,.gz .gl-l[data-n="9"] .pst{width:min(17vw,9svh)}
.gk .gl-l[data-n="2"],.gz .gl-l[data-n="2"]{grid-template-columns:1fr}

/* Runda doskonalenia */
.e-sun .tabela i{background:var(--ink);color:#fff}
.wynik .tabela i{animation:zspop .28s .55s both}
.ka-sc>div:only-of-type{width:min(56vw,30svh)}
.wy-k .tabela,.wy-wi .tabela{justify-content:space-between}
.wy-k .wy-a,.wy-wi .wy-a{padding-top:12px}
.ka-m{min-height:2.2em;display:flex;align-items:flex-end;justify-content:center}
.ka[data-f=zakryj] .ka-d{font-size:min(26vw,24svh,170px)}
.kom .przyciski .btn{padding-inline:10px;white-space:nowrap}
.mod-k:active,.dl button:active,.gk-k:active,.gl-k:active{transform:scale(.97)}
@media (prefers-reduced-motion:reduce){.wynik .tabela i{animation:none}.mod-k:active,.dl button:active,.gk-k:active,.gl-k:active{transform:none}}
.gk .przyciski{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.gk .przyciski .btn{padding-inline:8px}
@media (max-height:600px){
  .zs-scena{flex:1 1 150px;min-height:150px}
  .ob-w{font-size:22px}.ob-o{font-size:15px}.ob-d{gap:5px}
  .ob-d li{font-size:15px;padding:3px 10px}
  .odl p{font-size:25px}.odl strong{font-size:min(50vw,30svh)}
}

/* Runda doskonalenia: wykończenie */
.gk #odw{font-size:20px}
.gk p{margin-top:-6px}
.e-sun .pst [fill="#FFC94D"],.e-koral .pst :not(ellipse)[fill="#F2674A"]{fill:var(--ink)}
.e-koral .pst [stroke="#F2674A"]{stroke:var(--ink)}
.wpada .mp-et{opacity:0}
.m-fin .m-kr{margin:0 0 6px}
.ob-d ul{justify-content:space-evenly}
.gz .gl-k span,.gk-k span{font:800 clamp(22px,6.4vw,30px)/1.1 var(--h)}
.gl-l[data-n="7"] .gk-k span,.gl-l[data-n="8"] .gk-k span,.gl-l[data-n="9"] .gk-k span,.gz .gl-l[data-n="7"] .gl-k span,.gz .gl-l[data-n="8"] .gl-k span,.gz .gl-l[data-n="9"] .gl-k span{font:700 16px/1.15 var(--t)}
.gl-l[data-n="2"] .gk-k .pst,.gl-l[data-n="3"] .gk-k .pst{width:min(40vw,20svh);height:min(40vw,20svh)}
.gz .gl-l[data-n="2"] .gl-k .pst,.gz .gl-l[data-n="3"] .gl-k .pst{width:min(40vw,20svh)}
@media (min-height:701px){
  .ka-sc>div{width:min(44vw,28svh)}
  .ka-pkt{top:auto;right:auto;left:50%;margin-left:-46px;bottom:calc(min(44vw,28svh)*.86)}
  .wi-p .pst{width:min(74vw,38svh)}
}

/* Wyjście z partii na ekranach, które same zmieniają tło */
body:has(.mapa:not(.koniec)) .rama button{background:rgba(255,255,255,.14);color:#fff}
body:has(.ka[data-f=patrz]:not(.trzyma)) .rama button,body:has(.ka[data-f=zakryj]:not(.trzyma)) .rama button,body:has(.kaf.swiatlo) .rama button{background:rgba(26,33,64,.14);color:var(--ink)}

/* Cztery nowe gry */
.gra-p{background:var(--sun);color:var(--ink)}.gra-j{background:var(--j-koral);color:var(--ink)}.gra-n{background:var(--j-nieb);color:var(--ink)}.gra-c{background:var(--j-lila);color:var(--ink)}
.gs-p{background:#FFE6A3;display:flex;align-items:center;justify-content:center;gap:12px}.gs-c{background:var(--ink);display:flex;align-items:center;justify-content:center;gap:12px}
.gs-p b,.gs-c b{display:flex;align-items:center;padding:0 14px;height:62px;background:#fff;color:var(--ink);border-radius:12px;font:800 clamp(20px,6vw,27px)/1 var(--h)}
.gs-p b:first-child{transform:rotate(-3deg)}.gs-p b:last-child{transform:rotate(3deg)}
.gs-c b:first-child{background:var(--j-nieb)}.gs-c b:last-child{background:var(--koral)}
.gs-j{background:var(--koral)}.gs-j b{position:absolute;left:20px;top:8px;font:800 84px/1 var(--h);color:var(--ink);letter-spacing:-.03em}.gs-j .pst{position:absolute;right:20px;bottom:-44px;width:124px}
.gs-n{background:#BFD2FA}.gs-n b{position:absolute;left:30px;top:-8px;font:800 130px/1 var(--h);color:var(--ink)}.gs-n .pst{position:absolute;right:30px;bottom:-44px;width:124px}
.wy{display:flex;flex-direction:column;gap:12px;width:100%;max-width:560px;margin:auto}
.wy h1{font-size:clamp(34px,9.6vw,52px)}
.wy-l{display:grid;gap:10px}
.wy-l .btn{height:auto;min-height:84px;justify-content:space-between;padding:0 22px;font-size:29px}
.wy-l .btn b{font:inherit}.wy-l .btn span{font-size:25px}
.lam{font:800 clamp(30px,8.7vw,50px)/1.13 var(--h);letter-spacing:-.012em;text-wrap:balance}
.jz-cz{height:12px;border-radius:6px;overflow:hidden;background:rgba(26,33,64,.18)}.jz-cz i{display:block;height:100%;background:var(--ink);transform-origin:left;animation:jz-cz var(--cz) linear forwards}
@keyframes jz-cz{to{transform:scaleX(0)}}
.jz-l{font:800 clamp(80px,26vw,130px)/1 var(--h);text-align:center;font-variant-numeric:tabular-nums}
.sytu{font:800 clamp(32px,9.2vw,54px)/1.1 var(--h);letter-spacing:-.012em;text-wrap:balance}
.liczby{display:grid;grid-template-columns:repeat(auto-fit,minmax(68px,1fr));gap:8px}
.liczby .btn{min-height:68px;font-size:30px;padding:0}
.pcw-t{font:800 clamp(28px,7.8vw,46px)/1.14 var(--h);letter-spacing:-.012em;text-wrap:balance}

/* Fant na niskim telefonie: mniejsza postać i tekst, a przy bardzo długim fancie ekran się przewija zamiast ucinać przyciski */
.ekran:has(.fant-w){overflow:hidden auto;overscroll-behavior:contain}
@media (max-height:700px){
  .fant-postac{width:96px;height:96px;margin-bottom:-30px}
  .fant-w{gap:14px}
  .kartka{padding:18px 18px 46px}
  .kartka h2{font-size:18px}
  .kartka p{font-size:clamp(22px,6.6vw,30px)}
}

/* Tryb rodzinny: przełącznik na ekranie „Kto gra?” */
.rodz{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:auto;padding:10px 14px;border-radius:16px;background:var(--piasek);text-align:left}
.rodz span{display:flex;flex-direction:column;min-width:0}
.rodz b{font:800 20px/1.15 var(--h)}
.rodz small{font-size:15px;line-height:1.3;color:var(--szary,#535C7A)}
.rodz i{flex:none;position:relative;width:52px;height:32px;border-radius:16px;background:#fff;border:2px solid var(--ink);transition:background .15s}
.rodz i::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--ink);transition:transform .15s}
.rodz[aria-checked=true] i{background:var(--sun)}
.rodz[aria-checked=true] i::after{transform:translateX(20px)}
.rodz+.dl{margin-top:8px}
@media (prefers-reduced-motion:reduce){.rodz i,.rodz i::after{transition:none}}
@media (max-height:700px){.rodz{padding:8px 12px}.rodz small{display:none}.rodz b{font-size:18px}}
.menu-pk{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-radius:18px;border:3px solid var(--ink);color:var(--ink);text-decoration:none}
.menu-pk b{font:800 21px/1.15 var(--h)}.menu-pk span{font-size:16px;color:var(--szary)}
