/* Detektywi Liczb */
.mpad{padding:22px}
.mhero{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:22px 24px}
.mhero h1{margin:4px 0 6px;font-size:clamp(1.6rem,4.5vw,2.3rem);color:var(--navyD)}
.mhero p{margin:0;max-width:560px}
.mheroNum{flex:none;width:118px;height:118px;border-radius:50%;background:#22305a;color:#ffd66b;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:700;font-size:1.5rem;line-height:1.1;transform:rotate(-8deg);box-shadow:0 0 0 6px #fffaf0,0 0 0 8px #e7d6b0,0 12px 24px -12px #22305a}
.mheroNum b{font-size:2rem}
@media(max-width:560px){.mheroNum{width:78px;height:78px;font-size:1rem}.mheroNum b{font-size:1.3rem}.mhero{padding:18px}}
.mh2{margin:0 0 4px;color:var(--navyD)}
.mh3{margin:22px 0 10px;color:var(--navyD)}
.mlvlbar{display:flex;align-items:center;gap:10px;margin:20px 0 12px;flex-wrap:wrap}
.mlvls{display:flex;gap:8px;flex-wrap:wrap}
.mlv{border:1.5px solid var(--edge);background:var(--paper);border-radius:12px;padding:6px 12px;font:inherit;cursor:pointer;color:var(--navyD);text-align:left}
.mlv small{display:none}
.mlv.on{background:var(--navyD);border-color:var(--navyD);color:#fff}
.mlvls.big{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-top:14px}
.mlvls.big .mlv{padding:12px 14px}.mlvls.big .mlv b{font-size:1.1rem;display:block}.mlvls.big .mlv small{display:block;color:var(--ink2);font-size:.82rem}
.mtiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.mtile{position:relative;display:flex;gap:14px;background:linear-gradient(180deg,#f8dc9c,#f0c977);border-radius:6px 18px 18px 18px;padding:18px;margin-top:15px;box-shadow:0 14px 24px -18px #8a5a0088}
.mtile::before{content:"";position:absolute;top:-15px;left:16px;width:44%;height:24px;background:#e6c27a;border-radius:12px 12px 0 0}
.mticon{font-size:2.6rem;line-height:1;flex:none}
.mtbody{flex:1;min-width:0;display:flex;flex-direction:column}
.mtbody h3{margin:2px 0 4px;color:#3a2a08;font-size:1.18rem}
.mtbody p{margin:0 0 10px;color:#6b5420;font-size:.92rem;line-height:1.38;flex:1}
.mtmeta{font-size:.85rem;color:#6b5420;margin-bottom:10px}
.mtbody .btn{align-self:flex-start}
.mtip{margin:18px 0 0;font-size:.9rem}
/* gra */
.mgame{padding:22px 24px;margin-top:14px}
@media(max-width:560px){.mgame{padding:16px 14px}}
.mghead{display:flex;gap:12px;align-items:center}
.mghead h2{margin:0;color:var(--navyD);font-size:1.3rem}
.mgicon{font-size:2.2rem}
.mintro{background:#f1ecff;border:1.5px dashed #b9a6f5;color:#3b2a8f;border-radius:14px;padding:10px 14px;margin:14px 0}
.mbtns{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:18px}
.mhint{text-align:center;font-size:.85rem;margin:8px 0 0}
/* paragon */
.rpager{display:flex;gap:6px;justify-content:center;margin-bottom:10px}
.rpager span{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#efe6d2;color:var(--navyD);font-weight:700;font-size:.9rem}
.rpager span.on{background:var(--navyD);color:#fff}.rpager span.has:not(.on){box-shadow:inset 0 0 0 2px #c0392b}
.rcpt{max-width:420px;margin:0 auto;background:#fff;padding:18px 18px 22px;font-family:"Courier New",ui-monospace,monospace;color:#222;box-shadow:0 10px 26px -14px #0005;position:relative;
  -webkit-mask:linear-gradient(#000 0 0) top/100% calc(100% - 10px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/16px 10px repeat-x;
          mask:linear-gradient(#000 0 0) top/100% calc(100% - 10px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/16px 10px repeat-x}
.rcpt.small{margin-bottom:14px}
.rchead{text-align:center;font-weight:700;letter-spacing:.12em;border-bottom:1.5px dashed #999;padding-bottom:8px;margin-bottom:8px}
.rchead small{display:block;font-weight:400;letter-spacing:0;color:#666}
.rcfoot{text-align:center;color:#888;font-size:.8rem;border-top:1.5px dashed #999;padding-top:8px;margin-top:8px}
.rrow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0}
.rrow .rl{min-width:0}.rrow .rl small{display:block;color:#666;font-size:.86rem}
.rrow.t-sum{border-top:1.5px solid #222;margin-top:4px;font-weight:700}
.rrow.t-paid{color:#555}
.rv{font:inherit;font-weight:700;white-space:nowrap;border:2px dashed #cfd3e0;background:#fafbff;border-radius:8px;padding:4px 8px;cursor:pointer;color:#222}
.rv:hover{border-color:#7658ed}
.rv.flag{border:2px solid #c0392b;background:#fdecea;color:#c0392b;text-decoration:line-through}
.rv.plain{border:0;background:none;cursor:default;padding:4px 10px}
.rfix{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:2px 0 8px;font-family:'Andika',system-ui,sans-serif;font-size:.9rem;color:#c0392b;font-weight:700}
.rfix input{width:110px;border:2px solid #c0392b;border-radius:8px;padding:6px 8px;font:inherit;font-size:1rem;text-align:right}
.rres{text-align:right;font-family:'Andika',system-ui,sans-serif;font-size:.85rem;padding-bottom:4px}
.rnote.ok{color:#087345}.rnote.half{color:#8a5a00}.rnote.bad{color:#b03a2e}
.rrow.wasfake .rv{color:#c0392b;text-decoration:line-through}
/* sejf */
.safe{display:flex;align-items:center;justify-content:center;gap:16px;margin:4px 0 14px}
.safeDoor{font-size:3rem;transition:transform .4s}
.safe.open .safeDoor{transform:scale(1.25) rotate(-10deg)}
.dial{display:flex;gap:6px;background:#22305a;padding:10px 12px;border-radius:14px;box-shadow:inset 0 3px 8px #0006}
.dg{width:38px;height:48px;border-radius:8px;background:#0f1730;color:#7dffb0;font:700 1.6rem "Courier New",monospace;display:flex;align-items:center;justify-content:center}
.dg.ok{color:#7dffb0}.dg.bad{color:#ff7d7d}
.mtasks{list-style:none;padding:0;margin:0 auto;max-width:460px;display:flex;flex-direction:column;gap:10px;counter-reset:t}
.mtasks li{display:flex;align-items:center;gap:10px;background:#fffdf7;border:1.5px solid var(--edge);border-radius:14px;padding:10px 14px;font-size:1.25rem;font-weight:700;color:var(--navyD)}
.mtasks li::before{counter-increment:t;content:counter(t);width:26px;height:26px;border-radius:50%;background:#efe6d2;font-size:.85rem;display:flex;align-items:center;justify-content:center;flex:none}
.mtasks .tq{flex:1;white-space:nowrap}
.mtasks input{width:120px;border:2px solid var(--edge);border-radius:10px;padding:7px 10px;font:inherit;font-size:1.2rem;text-align:right;color:var(--navyD)}
.mtasks input:focus,.tb:focus,.rfix input:focus{outline:none;border-color:#7658ed;box-shadow:0 0 0 4px #7658ed22}
.mtasks.rev li.ok{border-color:#9fdcbb;background:#effaf4}.mtasks.rev li.bad{border-color:#f3c2ba;background:#fff4f2}
.mtasks .was{font-size:.85rem;color:#b03a2e;font-weight:400}
/* ślady */
.trails{display:flex;flex-direction:column;gap:12px;max-width:640px;margin:0 auto}
.trail{display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:#fffdf7;border:1.5px solid var(--edge);border-radius:14px;padding:12px 14px}
.trail.ok{border-color:#9fdcbb;background:#effaf4}.trail.bad{border-color:#f3c2ba;background:#fff4f2}
.tn{font-weight:700;color:var(--ink2);min-width:22px}
.tb{min-width:54px;padding:8px 10px;border-radius:10px;background:#fff;border:1.5px solid #e2d6bb;text-align:center;font-weight:700;font-size:1.15rem;color:var(--navyD)}
input.tb{width:84px;border:2px dashed #7658ed;background:#f6f3ff;font:inherit;font-weight:700;font-size:1.15rem}
.tb.ans{background:#e6f7ee;border-color:#9fdcbb;color:#087345}
.tsep{color:#b9ad92;font-weight:700}
.trule{flex-basis:100%;font-size:.85rem;color:var(--ink2);margin-top:2px}
@media(max-width:560px){.tb{min-width:44px;padding:6px 7px;font-size:1rem}input.tb{width:70px}.tsep{display:none}.mtasks li{font-size:1.1rem}.mtasks input{width:96px}}
/* wynik */
.mres{text-align:center;padding:6px 0 4px}
.mres h2{margin:6px 0 2px;color:var(--navyD);font-size:1.8rem}
.mstars{font-size:2.2rem}
/* sudoku */
.sgrid{display:grid;max-width:440px;margin:0 auto;border:3px solid var(--navyD);border-radius:10px;overflow:hidden;background:var(--navyD);gap:1px}
.sgrid.n4{max-width:300px}.sgrid.n6{max-width:390px}
.sc{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#fff;border:0;font:inherit;font-weight:700;font-size:1.5rem;color:#5b3fd6;padding:0;cursor:pointer;min-width:0}
.sgrid.n9 .sc{font-size:1.15rem}
.sc.br{margin-right:2px}.sc.bb{margin-bottom:2px}
.sc.given{background:#f3ead6;color:var(--navyD);cursor:default}
.sc.expr{font-size:.82rem;line-height:1.1;letter-spacing:-.02em;color:#8a4b00;background:#fff3d6}
.sgrid.n9 .sc.expr{font-size:.62rem}
.sc.sel{background:#e3dbff;box-shadow:inset 0 0 0 3px #7658ed}
.sc.bad{background:#fde6e2;color:#c0392b}
.sc.ok{background:#e6f7ee;color:#087345;cursor:default}
.sgrid.rev .sc.bad{cursor:default}.sgrid.rev .sc s{font-size:.7em;color:#c0392b;margin-right:3px}
.spad{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:14px auto 0;max-width:440px}
.pk{width:46px;height:46px;border-radius:12px;border:1.5px solid var(--edge);background:var(--paper);font:inherit;font-weight:700;font-size:1.3rem;color:var(--navyD);cursor:pointer}
.pk:active{transform:scale(.94)}.pk.er{color:#c0392b}
@media(max-width:420px){.sgrid.n9 .sc{font-size:1rem}.sgrid.n9 .sc.expr{font-size:.5rem}.pk{width:40px;height:40px}}
/* skarby */
.mbar{display:flex;justify-content:space-between;align-items:center;max-width:470px;margin:0 auto 10px;font-weight:700;color:var(--navyD)}
.lives{font-size:1.3rem;letter-spacing:2px}
.mgrid{display:grid;gap:4px;margin:0 auto}
.mc{aspect-ratio:1;border-radius:9px;display:flex;align-items:center;justify-content:center;font:inherit;font-weight:700;font-size:.92rem;min-width:0;padding:0;line-height:1.05;text-align:center}
.mc.hid{background:linear-gradient(180deg,#d8b46a,#c39a4e);border:0;box-shadow:inset 0 -3px 0 #a07a33;cursor:pointer;font-size:1.2rem}
.mc.hid:hover{filter:brightness(1.06)}
.mc.flag{background:linear-gradient(180deg,#ffe6a3,#f5c95a)}
.mc.open{background:#fffdf7;border:1.5px solid #eadfc6;color:var(--navyD)}
.mc.open.zero{background:#f3ecdc;border-color:#f3ecdc}
.mc.long{font-size:.7rem;letter-spacing:-.03em}
.mc.open.dim{color:#c9bc9c}
.mc.lost{background:#fde6e2;border:1.5px solid #f3c2ba;font-size:1.2rem}
.mc.found{background:#e6f7ee;border:1.5px solid #9fdcbb;font-size:1.2rem}
.mc.missed{background:#fff1cc;border:1.5px dashed #e0b45a;font-size:1.2rem;opacity:.75}
.mc.wrongflag{background:#fde6e2;border:1.5px solid #c0392b;font-size:1.1rem}
.mmode{display:flex;justify-content:center;gap:6px;margin-top:12px}
.mmode button{border:1.5px solid var(--edge);background:var(--paper);border-radius:12px;padding:9px 14px;font:inherit;font-weight:700;color:var(--navyD);cursor:pointer}
.mmode button.on{background:var(--navyD);border-color:var(--navyD);color:#fff}
.mres2{text-align:center;font-weight:700;color:var(--navyD)}
@media(max-width:420px){.mc{font-size:.78rem;border-radius:7px}.mc.long{font-size:.58rem}.mgrid{gap:3px}}
/* grupy */
.mgroup{margin:26px 0 0;font-size:1.25rem;color:var(--navyD)}
.mgroup + .mtiles{margin-top:0}
/* zadania z rysunkami */
.titems{display:flex;flex-direction:column;gap:12px;max-width:640px;margin:0 auto}
.titem{display:flex;gap:12px;background:#fffdf7;border:1.5px solid var(--edge);border-radius:16px;padding:14px}
.titem.ok{border-color:#9fdcbb;background:#effaf4}.titem.bad{border-color:#f3c2ba;background:#fff4f2}
.tnum{flex:none;width:30px;height:30px;border-radius:50%;background:#efe6d2;color:var(--navyD);font-weight:700;display:flex;align-items:center;justify-content:center}
.titem.ok .tnum{background:#b9ecd0;color:#087345}.titem.bad .tnum{background:#f8cfc8;color:#b03a2e}
.tbody2{flex:1;min-width:0}
.tq2{margin:0 0 8px;font-weight:700;color:var(--navyD);font-size:1.05rem;line-height:1.4}
.tans{margin:6px 0 0}.tans .was{color:#b03a2e;font-size:.9rem}
.tin{width:150px;border:2px solid var(--edge);border-radius:10px;padding:8px 10px;font:inherit;font-size:1.15rem;font-weight:700;color:var(--navyD)}
.tin:focus,.gc:focus,.cin:focus{outline:none;border-color:#7658ed;box-shadow:0 0 0 4px #7658ed22}
.topts{display:flex;gap:8px;flex-wrap:wrap}
.topt{border:1.5px solid var(--edge);background:#fff;border-radius:12px;padding:8px 16px;font:inherit;font-weight:700;font-size:1.05rem;color:var(--navyD);cursor:pointer}
.topt.on{background:var(--navyD);border-color:var(--navyD);color:#fff}
.vis{margin:0 0 10px;display:flex;justify-content:center}
.vemo{float:right;font-size:2rem;margin:-4px 0 0 8px}
.vclock{width:130px;height:130px}
.scales{flex-direction:column;align-items:center;gap:12px}
.bal{display:flex;flex-direction:column;align-items:center}
.beam{display:flex;gap:44px;border-bottom:5px solid #8a6a2a;padding:0 6px 4px;border-radius:2px}
.pan{min-width:90px;display:flex;justify-content:center;align-items:flex-end;gap:3px;flex-wrap:wrap;padding:4px 6px;border-bottom:3px solid #c39a4e;border-radius:0 0 30px 30px;background:#fff7e3}
.fulcrum{width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;border-bottom:22px solid #8a6a2a}
.fr{font-size:1.7rem;line-height:1}
.wt{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:30px;padding:0 6px;border-radius:6px 6px 3px 3px;background:#55607e;color:#fff;font-weight:700;font-size:.95rem}
.wits{flex-direction:column;gap:8px;align-items:stretch}
.wit{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#fff;border:1.5px solid #e9dfc9;border-radius:12px;padding:8px 10px}
.we{font-size:1.7rem}.wit b{color:var(--navyD);min-width:110px}
.bub{background:#f1ecff;border-radius:12px;padding:4px 10px;font-weight:700;color:#3b2a8f;font-size:1.05rem}
.chain{flex-wrap:wrap;align-items:center;gap:4px}
.cbox{min-width:48px;height:42px;border-radius:10px;border:2px solid var(--navyD);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.15rem;color:var(--navyD);background:#fff;padding:0 6px}
.cbox.mid{border-style:dashed;border-color:#c9bc9c;min-width:34px}.cbox.q{background:#f1ecff;border-color:#7658ed;color:#7658ed}
.cop{font-weight:700;color:#8a4b00;background:#fff1cc;border-radius:99px;padding:3px 9px;font-size:.95rem}
.candies{font-size:1.5rem;letter-spacing:2px;flex-wrap:wrap;max-width:360px;text-align:center}
.vpizza{width:120px;height:120px}
.choco{display:grid;gap:3px;width:min(320px,100%);height:56px;background:#3d2314;padding:4px;border-radius:6px}
.choco span{background:linear-gradient(180deg,#8b5a3c,#6b3f26);border-radius:3px;box-shadow:inset 0 2px 0 #a8714d}
.choco span.eaten{background:#f6efe0;box-shadow:none;border:1.5px dashed #c9a27e}
.vis .vmap{display:grid;gap:3px;width:min(340px,100%);background:#dfeccf;padding:6px;border-radius:12px;border:2px solid #9bbf7a}
.vmap .mcell{aspect-ratio:1;background:#f3f8ea;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:1.35rem}
.vmap .ml{display:flex;align-items:center;justify-content:center;font-weight:700;color:#4b6b2f;font-size:.85rem}
.vis:has(.vmap){flex-direction:column;align-items:center}
.compass{font-weight:700;color:#4b6b2f;font-size:.85rem;margin-top:4px}
/* siatki */
.msum{text-align:center;font-size:1.1rem;color:var(--navyD);margin-bottom:10px}.msum b{font-size:1.5rem}
.ggrid{display:grid;gap:5px;margin:0 auto;max-width:320px}
.ggrid.kak{max-width:380px}
.gc{aspect-ratio:1;width:100%;min-width:0;border:2px solid var(--edge);border-radius:10px;background:#fff;font:inherit;font-weight:700;font-size:1.4rem;text-align:center;color:#5b3fd6;display:flex;align-items:center;justify-content:center;padding:0}
.gc.given{background:#f3ead6;color:var(--navyD)}
.gc.ok{background:#e6f7ee;border-color:#9fdcbb;color:#087345}.gc.bad{background:#fde6e2;border-color:#f3c2ba;color:#c0392b;font-size:1.1rem}
.gc s{font-size:.7em;margin-right:3px}
.ggrid.magic .gc{font-size:1.25rem}
.ksum{display:flex;align-items:center;justify-content:center;font-weight:700;color:#8a4b00;background:#fff1cc;border-radius:10px;font-size:1.05rem}
.ksum.c{aspect-ratio:auto;padding:6px 0}
.pool{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;align-items:center;margin-top:12px}
.pchip{padding:4px 10px;border-radius:99px;background:#efe6d2;font-weight:700;color:var(--navyD)}
.pchip.used{opacity:.35;text-decoration:line-through}
/* pościg */
.chase{max-width:440px;margin:0 auto;text-align:center}
.ctop{display:flex;justify-content:space-between;font-weight:700;font-size:1.2rem;color:var(--navyD)}
.ctime{font-variant-numeric:tabular-nums}
.cbar{height:12px;background:#efe6d2;border-radius:99px;overflow:hidden;margin:8px 0 18px}
.cbar i{display:block;height:100%;background:linear-gradient(90deg,#c0392b,#f4b942);transition:width .25s linear}
.cq{font-size:2.4rem;font-weight:700;color:var(--navyD);margin-bottom:12px}
.cin{width:200px;border:3px solid var(--edge);border-radius:14px;padding:10px 12px;font:inherit;font-size:1.8rem;font-weight:700;text-align:center;color:var(--navyD)}
.cfb{display:block;min-height:26px;margin-top:10px;font-weight:700}
.cfb.ok{color:#087345}.cfb.bad{color:#b03a2e}
.board{max-width:420px;margin:0 auto 14px;background:#fffdf7;border:1.5px solid var(--edge);border-radius:14px;padding:12px 16px}
.board h4{margin:0 0 6px;color:var(--navyD)}
.board ol{margin:0;padding-left:22px}.board li{display:flex;justify-content:space-between;padding:3px 0}
.board li.me{font-weight:700;color:#5b3fd6}
.chrev{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.chrev span{padding:4px 10px;border-radius:10px;font-weight:700;font-size:.95rem}
.chrev .ok{background:#e6f7ee;color:#087345}.chrev .bad{background:#fde6e2;color:#b03a2e}
.mres h2 small{font-size:.9rem;font-weight:400;display:block}
/* ===== v1.5: ilustracje 3D ===== */
.mi{width:1.4em;height:1.4em;vertical-align:-.3em;object-fit:contain}
.mticon .mi{width:58px;height:58px;filter:drop-shadow(0 4px 4px #8a5a0033)}
.mgicon .mi{width:46px;height:46px}
.vemo .mi{width:46px;height:46px}
.fr .fri{width:34px;height:34px;vertical-align:middle}
.we .wei{width:42px;height:42px;vertical-align:middle}
.candies .cdi{width:30px;height:30px;margin:1px}
.mbld{width:1.7em;height:1.7em;vertical-align:-.45em;margin:0 2px}
.topt .mbld{width:2.2em;height:2.2em;vertical-align:middle}
.vmap .mcell img{width:86%;height:86%;object-fit:contain}
/* Skarby: szyfr i klasyczne kolory liczb */
.mcodes{max-width:470px;margin:0 auto 12px;background:#f1ecff;border:1.5px dashed #b9a6f5;border-radius:14px;padding:10px 12px}
.mcodes.done{background:#e9fbf1;border-color:#9fdcbb}
.mch{font-weight:700;color:#3b2a8f;margin-bottom:6px;font-size:.95rem}.mcodes.done .mch{color:#087345}
.mcode{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px 0;font-size:1.15rem;font-weight:700;color:var(--navyD)}
.msym{width:38px;height:38px;border-radius:8px;background:#fffdf7;border:1.5px solid #eadfc6;display:inline-flex;align-items:center;justify-content:center;font-size:1.3rem;color:#7658ed}
.mcin{width:70px;border:2px solid var(--edge);border-radius:10px;padding:5px 8px;font:inherit;font-size:1.15rem;text-align:center}
.mcgo{padding:6px 12px}
.mcmsg{font-size:.82rem;color:#b03a2e;font-weight:400}
.mval{min-width:38px;text-align:center}
.mcode.given .mval{text-decoration:underline wavy #c0392b}
.mc.sym{color:#7658ed;font-size:1.25rem}
.mc.n1{color:#1f6feb}.mc.n2{color:#1a7f37}.mc.n3{color:#cf222e}.mc.n4{color:#3b2a8f}.mc.n5{color:#8a4b00}.mc.n6{color:#0e7490}.mc.n7{color:#111}.mc.n8{color:#6b7280}
.mval.n1{color:#1f6feb}.mval.n2{color:#1a7f37}.mval.n3{color:#cf222e}.mval.n4{color:#3b2a8f}.mval.n5{color:#8a4b00}.mval.n6{color:#0e7490}
.mc.open[class*=" n"]{font-size:1.35rem}
.mgridWrap{position:relative}
.mgridWrap.locked .mgrid{filter:blur(1.5px) grayscale(.4);opacity:.55;pointer-events:none}
.mlock{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.15rem;color:var(--navyD);cursor:pointer}
/* Pościg: tor */
.ptrack{position:relative;height:66px;margin:4px 0 14px;background:repeating-linear-gradient(90deg,#efe6d2 0 18px,#f7f0de 18px 36px);border-radius:14px;border-bottom:4px solid #c9b48a}
.ptrack .pthief{position:absolute;right:4%;bottom:6px;width:50px;height:50px;animation:thiefRun .5s ease-in-out infinite alternate}
.ptrack .pdet{position:absolute;bottom:6px;width:52px;height:52px;transition:left .5s cubic-bezier(.3,1.5,.5,1)}
.ptrack .pfinish{position:absolute;right:1%;top:2px;font-size:1rem;opacity:.6}
@keyframes thiefRun{to{transform:translateY(-5px)}}
/* Skrzynia */
.chestBox{text-align:center;margin:0 auto 18px;max-width:440px;background:radial-gradient(circle at 50% 35%,#fff6d6,#fffaf0 60%);border:1.5px solid #f0d58a;border-radius:20px;padding:14px 14px 16px;overflow:hidden}
.stage{position:relative;height:190px;display:flex;align-items:center;justify-content:center;perspective:700px}
.vaultWrap{position:absolute;width:180px;height:180px;z-index:2;transition:opacity .4s .9s}
.vaultSvg{width:100%;height:100%}
.vaultSvg .vdoor{transform-origin:20px 100px;transform-box:view-box;transition:transform 1s cubic-bezier(.5,0,.3,1) .45s}
.vaultSvg .vwheel{transform-origin:100px 100px;transform-box:view-box;transition:transform .6s ease-in-out}
.chestBox.s1 .vwheel{transform:rotate(200deg)}
.chestBox.s1 .vdoor{transform:perspective(500px) rotateY(-100deg)}
.chestBox.s2 .vaultWrap{opacity:0}
.chestWrap{position:relative;width:150px;height:122px;transform:scale(.2) translateY(40px);opacity:0;transition:transform .6s cubic-bezier(.3,1.6,.5,1),opacity .3s}
.chestBox:not(.withVault) .chestWrap{transform:scale(.6);opacity:1}
.chestBox.s2 .chestWrap{transform:scale(1);opacity:1}
.chestSvg{width:100%;height:100%;position:relative;z-index:2}
.chestSvg{overflow:visible}
.chestSvg .clid{transform-origin:14px 52px;transform-box:view-box;transition:transform .55s cubic-bezier(.4,1.6,.5,1)}
.chestBox.s3 .clid{transform:translate(-6px,-14px) rotate(-24deg)}
.chestWrap .pop{position:absolute;left:50%;top:40%;width:44px;height:44px;margin-left:-22px;opacity:0;z-index:1;transition:all .7s cubic-bezier(.3,1.5,.5,1) .15s}
.chestBox.s3 .chestWrap .pop{opacity:1;transform:translateY(-70px) rotate(-10deg)}
.chestBox.s3 .chestWrap .pop.p2{transform:translate(-46px,-48px) rotate(12deg);transition-delay:.3s}
.chestBox.s3 .chestWrap .pop.p3{transform:translate(48px,-50px) rotate(-14deg);transition-delay:.45s}
.glow{position:absolute;left:50%;top:44%;width:10px;height:10px;border-radius:50%;background:#ffe27a;box-shadow:0 0 0 0 #ffe27a;transform:translate(-50%,-50%);opacity:0;transition:all .6s}
.chestBox.s3 .glow{opacity:.9;box-shadow:0 0 60px 40px #ffe27aaa}
.chestT{margin:4px 0 8px;color:var(--navyD);font-size:1.1rem}
.loot{display:flex;flex-direction:column;gap:6px;align-items:stretch}
.lootIt{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid #f0d58a;border-radius:12px;padding:6px 12px;text-align:left;opacity:0;transform:translateY(12px);transition:all .4s}
.lootIt b{color:var(--navyD)}.lootIt span{color:var(--ink2);font-size:.85rem;margin-left:auto}
.lootIt.big{background:#f1ecff;border-color:#b9a6f5}.lootIt.dim{opacity:0}
.lootIco{width:30px;height:30px}.lootEm{font-size:1.4rem}
.chestBox.s3 .lootIt{opacity:1;transform:none}
.chestBox.s3 .lootIt:nth-child(2){transition-delay:.25s}.chestBox.s3 .lootIt:nth-child(3){transition-delay:.5s}
.chestBox.s3 .lootIt.dim{opacity:.55}
@media(prefers-reduced-motion:reduce){.chestBox *{transition:none!important;animation:none!important}}
/* Plus kontra Minus */
.tttCard{display:flex;align-items:center;gap:14px;margin:6px 0 4px;background:linear-gradient(135deg,#efe9ff,#fff6dc);border:1.5px solid #d9cdfb;border-radius:18px;padding:12px 16px}
.tttIco{width:60px;height:60px}
.tttTxt{flex:1;min-width:0}.tttTxt h3{margin:0;color:var(--navyD)}.tttTxt p{margin:2px 0 4px;font-size:.92rem;color:var(--ink2)}
.tttTok{font-weight:700;color:var(--ink2)}.tttCoin{width:26px;height:26px;vertical-align:middle;opacity:.5}
@media(max-width:520px){.tttCard{flex-wrap:wrap}.tttCard .btn{width:100%}}
.tttHead{display:flex;justify-content:center;align-items:center;gap:14px;font-weight:700;color:var(--navyD);margin-bottom:12px}
.tttS{width:30px;height:30px;vertical-align:middle}
.tttBoard{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:300px;margin:0 auto}
.tttCell{aspect-ratio:1;border:0;border-radius:16px;background:#fffdf7;box-shadow:inset 0 0 0 2px #eadfc6;cursor:pointer;display:flex;align-items:center;justify-content:center}
.tttCell:not([disabled]):hover{box-shadow:inset 0 0 0 3px #7658ed;background:#f6f3ff}
.tttCell[disabled]{cursor:default}
.tttCell .tttP{width:70%;height:70%;animation:pop .3s cubic-bezier(.3,1.6,.5,1)}
.tttCell.win{background:#e6f7ee;box-shadow:inset 0 0 0 3px #2d8a57}
@keyframes pop{from{transform:scale(.2)}to{transform:scale(1)}}
.tttAsk{text-align:center;margin-top:14px}
.tttAsk .cq{font-size:2rem;margin:6px 0 8px}
