/* Hry, logika a psychologie · vzhled lekcí (jen logické vlastnosti kvůli RTL; barvy z :root a --grp) */
.gm{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 14px 14px;overflow:auto;pointer-events:none;color:var(--ink)}
.gm>*{pointer-events:auto}
.gm.gm-float{justify-content:space-between;overflow:hidden}
.gm.gm-float>*{pointer-events:auto}
.gm-top{inline-size:min(880px,100%);text-align:center}
.gm-top h3{margin:0;font-size:19px;letter-spacing:.02em;color:var(--grp);text-shadow:0 0 14px color-mix(in srgb,var(--grp) 60%,transparent)}
.gm-top p{margin:4px 0 0;color:var(--ink);font-size:14.5px;line-height:1.45}
.gm-card{inline-size:min(880px,100%);background:rgba(8,14,28,.86);border:1px solid var(--line);border-radius:14px;padding:12px 14px;backdrop-filter:blur(3px)}
.gm-card h4{margin:0 0 6px;font-size:14px;color:var(--acc2)}
.gm-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:stretch}
.gm-grow{flex:1 1 0}
.gm-spacer.art{flex:0 0 auto;block-size:clamp(130px,26vh,230px)}
.gm-spacer{flex:1 1 auto;min-block-size:10px;pointer-events:none!important}
.gm-btn{font:inherit;font-weight:700;font-size:16px;min-block-size:52px;min-inline-size:132px;padding:10px 18px;border-radius:14px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(18,30,56,.95),rgba(8,14,28,.95));color:var(--ink);cursor:pointer;transition:transform .12s,box-shadow .2s,border-color .2s}
.gm-btn:hover,.gm-btn:focus-visible{border-color:var(--grp);box-shadow:0 0 16px color-mix(in srgb,var(--grp) 50%,transparent);outline:none;transform:translateY(-1px)}
.gm-btn:active{transform:none}
.gm-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}
.gm-btn.good{border-color:#2ff5c2;background:linear-gradient(180deg,rgba(20,80,70,.9),rgba(8,30,30,.95))}
.gm-btn.bad{border-color:#ff5470;background:linear-gradient(180deg,rgba(90,22,40,.9),rgba(34,10,18,.95))}
.gm-btn.on{border-color:var(--grp);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--grp) 70%,transparent),0 0 14px color-mix(in srgb,var(--grp) 40%,transparent)}
.gm-btn small{display:block;font-weight:500;font-size:12px;color:var(--mute);margin-top:2px}
.gm-btn.sm{min-block-size:36px;min-inline-size:0;font-size:13.5px;padding:6px 12px;border-radius:10px}
.gm-fb{inline-size:min(880px,100%);background:rgba(8,14,28,.92);border:1px solid var(--line);border-inline-start:4px solid var(--grp);border-radius:12px;padding:10px 14px;font-size:14px;line-height:1.5}
.gm-fb p{margin:3px 0}.gm-fb b{color:var(--grp)}
.gm-fb-h{font-weight:800;font-size:15.5px;margin-bottom:3px}
.gm-fb.k-ok{border-inline-start-color:#2ff5c2}.gm-fb.k-bad{border-inline-start-color:#ff5470}.gm-fb.k-warn{border-inline-start-color:#ffc14d}
.gm-model{color:var(--mute);font-size:12.5px;border-top:1px dashed var(--line);padding-top:5px;margin-top:6px!important}
.gm-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:6px 0}
.gm-mode{margin:0;padding:8px 4px;font-size:12.5px;line-height:1.2;text-align:center}
.gm-mode.on{border-color:var(--grp);background:color-mix(in srgb,var(--grp) 20%,transparent);color:#fff;box-shadow:0 0 12px color-mix(in srgb,var(--grp) 40%,transparent)}
.gm-hints{display:flex;flex-direction:column;gap:5px;margin-top:6px}
.gm-hint{background:#0a1016;border:1px solid var(--line);border-inline-start:3px solid var(--acc2);border-radius:8px;padding:6px 9px;font-size:13px}
.gm-hint.l2{border-inline-start-color:#2ff5c2}
.gm-strip{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}
.gm-pill{display:inline-flex;align-items:center;justify-content:center;min-inline-size:30px;block-size:30px;border-radius:9px;background:#0a1016;border:1px solid var(--line);font-size:16px}
.gm-pill.c{border-color:#2ff5c2}.gm-pill.d{border-color:#ff5470}.gm-pill.o{border-color:#ffc14d}
.gm-bar{block-size:10px;background:#0a1016;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.gm-bar i{display:block;block-size:100%;transition:inline-size .4s}
.gm-json{inline-size:100%;box-sizing:border-box;background:#0a1016;color:var(--ink);border:1px solid var(--line);border-radius:8px;font:11px ui-monospace,Menlo,Consolas,monospace;margin-top:6px;direction:ltr}
.note.small{font-size:11.5px;opacity:.85}
.gm-chart{inline-size:100%;block-size:150px;display:block;margin:6px 0;background:#0a1016;border:1px solid var(--line);border-radius:8px}
.gm-table{inline-size:100%;border-collapse:collapse;font-size:12.5px;margin:6px 0}
.gm-table th,.gm-table td{border:1px solid var(--line);padding:3px 6px;text-align:center}
.gm-table td,.gm-table th{white-space:nowrap}
.gm-table.tour td,.gm-table.tour th{padding:3px 3px;font-size:11px}
.gm-table th{background:#0a1016;font-weight:600;color:var(--mute)}
.gm-table td.hl{background:color-mix(in srgb,var(--grp) 25%,transparent);font-weight:700}
.gm-lbl{font-size:12px;color:var(--mute)}
.gm-big{font-size:34px;font-weight:900;font-variant-numeric:tabular-nums}
.gm-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;align-items:center}
.gm-chip{border:1px solid var(--line);border-radius:999px;padding:3px 11px;background:#0a1016;font-size:13px}
.gm-chip b{color:var(--grp)}
.gm-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;border-radius:6px;padding:1px 6px;background:color-mix(in srgb,var(--grp) 22%,transparent);color:var(--grp);margin-inline-end:4px}
/* karty (Wason, framing, poker): oboustranné s otočením; při omezení animací jen přepnutí */
.gm-cardf{position:relative;inline-size:128px;block-size:178px;perspective:700px;border:0;background:none;padding:0;cursor:pointer;font:inherit;color:inherit}
.gm-cardf .in{position:absolute;inset:0;transition:transform .55s;transform-style:preserve-3d}
.gm-cardf.flip .in{transform:rotateY(180deg)}
.gm-cardf .f,.gm-cardf .b{position:absolute;inset:0;backface-visibility:hidden;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:2px solid var(--line);text-align:center;padding:8px;font-weight:800;font-size:18px;line-height:1.2}
.gm-cardf .f{background:linear-gradient(160deg,#16294d,#0a1226)}
.gm-cardf .b{background:linear-gradient(160deg,#2a1a4a,#120a26);transform:rotateY(180deg)}
.gm-cardf .ico{font-size:40px;line-height:1}
.gm-cardf:hover .f,.gm-cardf:focus-visible .f{border-color:var(--grp);box-shadow:0 0 18px color-mix(in srgb,var(--grp) 50%,transparent)}
.gm-cardf:focus-visible{outline:none}
.gm-cardf.sel .f{border-color:var(--grp);box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--grp) 60%,transparent),0 0 18px color-mix(in srgb,var(--grp) 50%,transparent)}
.gm-cardf.ok .f,.gm-cardf.ok .b{border-color:#2ff5c2}.gm-cardf.bad .f,.gm-cardf.bad .b{border-color:#ff5470}
.gm-cardf .mark{position:absolute;inset-block-start:6px;inset-inline-end:8px;font-size:18px}
html.fx-still .gm-cardf .in{transition:none}
html.fx-still .gm-btn{transition:none}
/* poker karty (jen DOM) */
.pk-card{inline-size:62px;block-size:88px;border-radius:9px;background:linear-gradient(160deg,#f4f7ff,#cfd8ee);color:#101828;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;font-size:24px;line-height:1;box-shadow:0 4px 14px rgba(0,0,0,.5);border:1px solid #fff;direction:ltr}
.pk-card.red{color:#c4162a}
.pk-card.back{background:repeating-linear-gradient(45deg,#2a1a6a,#2a1a6a 6px,#3b2a8a 6px,#3b2a8a 12px);color:transparent;border-color:#8a7cff}
.pk-card small{font-size:23px;margin-top:2px}
.pk-card.win{box-shadow:0 0 16px #2ff5c2,0 4px 14px rgba(0,0,0,.5);border-color:#2ff5c2}
/* šachovnice 2D (přístupná varianta s klávesnicí) */
.ch-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));inline-size:min(92vw,440px,43vh);aspect-ratio:1;border:2px solid var(--line);border-radius:8px;overflow:hidden;direction:ltr}
.ch-sq{position:relative;min-inline-size:0;min-block-size:0;overflow:hidden;aspect-ratio:1;border:0;padding:0;font-size:min(8.5vw,46px);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:"Segoe UI Symbol","Noto Sans Symbols 2","Apple Symbols",system-ui,sans-serif;color:#fff}
.ch-sq.l{background:#3b4a78}.ch-sq.d{background:#1f2a4d}
.ch-sq.w{color:#fff;text-shadow:0 0 3px #000,0 0 6px #000}.ch-sq.k{color:#10131c;text-shadow:0 0 3px #8ab4ff}
.ch-sq.sel{outline:3px solid var(--grp);outline-offset:-3px}
.ch-sq.tgt::after{content:"";position:absolute;inline-size:30%;block-size:30%;border-radius:50%;background:color-mix(in srgb,var(--grp) 80%,transparent)}
.ch-sq.cap::after{inline-size:86%;block-size:86%;background:none;border:3px solid #ff5470}
.ch-sq.last{box-shadow:inset 0 0 0 100px color-mix(in srgb,var(--acc2) 22%,transparent)}
.ch-sq.chk{box-shadow:inset 0 0 18px 4px #ff5470}
.ch-sq:focus-visible{outline:3px solid #fff;outline-offset:-3px}
.ch-tree{inline-size:100%;block-size:230px;display:block;background:#0a1016;border:1px solid var(--line);border-radius:10px}
.gm-side{inline-size:min(360px,100%)}
@media (max-width:860px){.gm-btn{min-inline-size:110px;font-size:15px}.gm-cardf{inline-size:104px;block-size:150px}.gm-top h3{font-size:17px}}

/* karty: jasné kroky a skrytý rub */
.ca-steps{list-style:none;counter-reset:st;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:10px 0 0;padding:0}
.ca-steps li{counter-increment:st;display:flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(10,18,38,.7);font-size:14px;line-height:1.3;max-inline-size:100%}
.ca-steps li::before{content:counter(st);flex:0 0 auto;inline-size:22px;block-size:22px;border-radius:50%;display:grid;place-items:center;background:var(--grp);color:#06121c;font-weight:900;font-size:13px}
.gm-cardf .f .eye{position:absolute;inset-block-start:6px;inset-inline-start:8px;font-size:15px;opacity:.75}
.gm-cardf .f .qback{position:absolute;inset-block-end:6px;inset-inline:10px;padding:2px 0;border:1px dashed color-mix(in srgb,var(--grp) 60%,transparent);border-radius:8px;font-size:14px;opacity:.85}
.gm-cardf{inline-size:140px;block-size:196px}
.gm-cardf.sel::after{content:"↻";position:absolute;inset-block-start:-10px;inset-inline-end:-8px;inline-size:28px;block-size:28px;border-radius:50%;display:grid;place-items:center;background:var(--grp);color:#06121c;font-weight:900;z-index:2}
@media (max-width:860px){.gm-cardf{inline-size:112px;block-size:164px}.ca-steps li{font-size:13px}}

/* ---- šachy: výukový strom, Zkrat v logice */
.gm-quip{font-style:italic;color:var(--mute)}
.ch-zk{background:rgba(90,22,40,.55);border:1px solid #ff5470;border-radius:10px;padding:6px 12px;font-size:13.5px}
.ch-treecard h4{margin:0 0 4px}
.ch-bar{justify-content:flex-start;align-items:flex-end;gap:8px;margin:4px 0}
.ch-ctl{display:flex;flex-direction:column;gap:2px;font-size:12px}
.ch-ctl select{min-block-size:34px;border-radius:8px;background:#0a1016;color:var(--ink);border:1px solid var(--line);padding:2px 6px;font:inherit}
.ch-scrub{flex:1 1 140px;min-inline-size:100px;accent-color:var(--grp)}
.ch-step{min-inline-size:5.5em;text-align:center}
.ch-treewrap{overflow-x:auto;overflow-y:hidden;border:1px solid var(--line);border-radius:10px;background:#0a1016;direction:ltr}
.ch-tree{display:block;max-inline-size:none}
.ch-tree:focus-visible{outline:2px solid #fff;outline-offset:-2px}
.ch-legend,.ch-tstat{text-align:start;font-size:12.5px;line-height:1.5}
.ch-det{min-block-size:2.4em;font-size:13.5px;line-height:1.5;margin-top:6px}
.ch-cutx{color:#ff8da1}
.ch-tbl summary{cursor:pointer;color:var(--mute);font-size:13px;margin-top:6px}
.ch-auto{font-size:12.5px;margin:2px 0}
.gm-table tr.chg td{background:color-mix(in srgb,#ffc14d 22%,transparent)}
.ch-list{margin:4px 0;padding-inline-start:1.2em;list-style:none}
.ch-list li{margin:3px 0}

/* ---- poker: stůl pro 1–3 soupeře */
.pk-seats{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:8px}
.pk-seat{flex:1 1 150px;max-inline-size:210px;background:rgba(8,14,28,.82);border:1px solid var(--line);border-radius:12px;padding:6px 8px;font-size:12.5px;text-align:center}
.pk-seat.act{border-color:var(--grp);box-shadow:0 0 12px color-mix(in srgb,var(--grp) 50%,transparent)}
.pk-seat.out{opacity:.5}
.pk-seat.win{border-color:#2ff5c2}
.pk-seat .pk-mini{gap:4px;margin:4px 0;min-block-size:44px;justify-content:center}
.pk-card.sm{inline-size:32px;block-size:46px;font-size:15px;border-radius:6px}
.pk-card.sm small{font-size:14px}
.pk-card.back{inline-size:32px;block-size:46px}
.pk-seat .pk-lesson{font-size:11px;opacity:.8}
.pk-btn{display:inline-block;background:#ffc14d;color:#10131c;border-radius:50%;inline-size:1.4em;block-size:1.4em;line-height:1.4em;font-size:11px;font-weight:800;text-align:center}
.pk-warn{color:#ffc14d}
.pk-rev{text-align:start}
.pk-rev h4{margin:0 0 4px}
.pk-grid{display:grid;grid-template-columns:repeat(13,1fr);gap:1px;margin:6px 0;max-inline-size:300px}
.pk-gc{aspect-ratio:1;background:#0a1016;font-size:8px;display:flex;align-items:center;justify-content:center;color:#fff;border-radius:2px}
.pk-gc.me{outline:2px solid #fff;outline-offset:-1px}
.pk-bs{border-top:1px dashed var(--line);padding:5px 0;font-size:12.5px}

/* ---- záložky Her: krátké štítky, jeden řádek (při nedostatku místa se lišta posouvá do strany; plný název je v tipu záložky a v titulku lekce) */
body[data-grp=games] nav#tabs{flex:1 1 100%;min-inline-size:0;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--line) transparent;gap:5px;padding-block:2px}
body[data-grp=games] nav#tabs button{flex:0 0 auto;white-space:nowrap;padding:6px 12px}

/* ---- hypotéza: volba případu */
.cf-cases{gap:6px;max-inline-size:880px}
.cf-cases .gm-btn{min-inline-size:0}
.cf-story{margin-block-end:6px;line-height:1.45}
.cf-baskets{flex-wrap:nowrap;inline-size:min(880px,100%);gap:8px}
.cf-baskets .gm-card{flex:1 1 0;min-inline-size:0;inline-size:auto;padding:8px 10px}
.cf-act{position:sticky;inset-block-end:-14px;z-index:2;inline-size:100%;justify-content:center;padding:8px 12px;margin-block-end:-14px;background:linear-gradient(0deg,rgba(3,6,13,.96) 72%,rgba(3,6,13,0))}
@media (max-width:620px){.cf-baskets{flex-wrap:wrap}.cf-baskets .gm-card{flex:1 1 140px}}

/* ---- poker: celý stůl na jedné obrazovce, bez posouvání. Velikosti odvozené z velikosti okna lekce (container queries). */
.gm.pk{container:pk/size;flex-direction:row;align-items:stretch;justify-content:center;gap:10px;padding:8px 10px;overflow-x:hidden;overflow-y:auto;
  --hw:clamp(30px,min(13cqw,13.5cqh),100px);--sw:clamp(18px,min(8cqw,4.6cqh),40px)}
.pk-main{flex:1 1 0;min-inline-size:0;max-inline-size:1100px;display:flex;flex-direction:column;gap:6px}
.pk-main>*{flex:0 0 auto}
.pk-main>.pk-felt{flex:1 1 0}
.pk-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-block-size:34px}
.pk-title{display:flex;align-items:baseline;gap:10px;min-inline-size:0;white-space:nowrap;overflow:hidden}
.pk-title b{font-size:17px;color:var(--grp);text-shadow:0 0 12px color-mix(in srgb,var(--grp) 55%,transparent)}
.pk-title .pk-hn{color:var(--mute);font-size:13px}
.pk-title .pk-st{font-size:13px;font-weight:700;color:var(--ink);background:color-mix(in srgb,var(--grp) 18%,transparent);border-radius:999px;padding:1px 10px}
.pk-tabs{display:flex;gap:6px;flex:0 0 auto}
.pk-tb{min-block-size:34px;padding:4px 12px;white-space:nowrap}
.pk-tb.on{border-color:var(--grp);background:color-mix(in srgb,var(--grp) 22%,transparent);color:#fff}
/* soupeři */
.pk-opps{display:grid;grid-template-columns:repeat(var(--n,1),minmax(0,1fr));gap:8px;justify-content:center}
.pk-opps[data-n="1"]{--n:1;max-inline-size:320px}
.pk-opps[data-n="2"]{--n:2;max-inline-size:640px}
.pk-opps[data-n="3"]{--n:3;max-inline-size:900px}
.pk .pk-seat{flex:none;max-inline-size:none;display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 6px;min-inline-size:0;text-align:center;font-size:12.5px;line-height:1.25}
.pk-sn{font-size:13px;white-space:nowrap}
.pk-sk{font-size:11.5px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-inline-size:100%}
.pk-sm{display:flex;gap:6px;flex-wrap:nowrap;justify-content:center;white-space:nowrap}
.pk-chip{font-variant-numeric:tabular-nums;font-weight:700;font-size:12.5px}
.pk-bet{font-variant-numeric:tabular-nums;font-weight:800;font-size:12px;color:#10131c;background:var(--acc2);border-radius:999px;padding:0 7px}
.pk .pk-mini{display:flex;gap:4px;justify-content:center;min-block-size:calc(var(--sw)*1.42);margin:0}
.pk-last{font-size:12px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-inline-size:100%}
/* stůl */
.pk-felt{container:pkf/size;flex:1 1 0!important;min-block-size:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;position:relative;
  border-radius:min(70px,14cqh);border:2px solid #3b2615;background:radial-gradient(ellipse at 50% 45%,#0e6a47 0%,#0a4f36 55%,#073624 100%);box-shadow:inset 0 0 34px rgba(0,0,0,.55),0 0 18px rgba(0,0,0,.4);padding:6px 10px}
.pk-pot{display:flex;align-items:center;gap:6px;font-size:15px;background:rgba(0,0,0,.35);border-radius:999px;padding:2px 14px;font-variant-numeric:tabular-nums}
.pk-pot .gm-lbl{color:#cfe9dc}
.pk-pot b{font-size:18px;color:var(--acc2)}
.pk-pchip{inline-size:14px;block-size:14px;border-radius:50%;background:var(--acc2);box-shadow:0 3px 0 #b8801a,0 6px 0 var(--acc2),0 9px 0 #b8801a;margin-block-end:8px}
.pk-board{--bw:clamp(22px,min(15cqw,calc((100cqh - 66px)/1.5)),100px);display:flex;gap:calc(var(--bw)*.1);justify-content:center}
.pk-felt.has-b{padding-block-end:58px}
.pk .pk-card{inline-size:var(--bw,var(--hw));block-size:calc(var(--bw,var(--hw))*1.42);font-size:calc(var(--bw,var(--hw))*.4);border-radius:calc(var(--bw,var(--hw))*.12)}
.pk .pk-card small{font-size:calc(var(--bw,var(--hw))*.4);margin-top:calc(var(--bw,var(--hw))*.02)}
.pk-hole{--bw:var(--hw)}
.pk .pk-card.sm{inline-size:var(--sw);block-size:calc(var(--sw)*1.42);font-size:calc(var(--sw)*.46);border-radius:5px}
.pk .pk-card.sm small{font-size:calc(var(--sw)*.44);margin-top:0}
.pk-slot{inline-size:var(--bw);block-size:calc(var(--bw)*1.42);border-radius:calc(var(--bw)*.12);border:2px dashed rgba(255,255,255,.18);background:rgba(0,0,0,.14)}
.pk-banner{position:absolute;inset-inline:max(10px,3cqw);inset-block-end:max(10px,2.5cqh);display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(6,12,24,.92);border:1px solid var(--line);border-inline-start:4px solid var(--grp);border-radius:12px;padding:6px 10px;text-align:start}
.pk-banner.k-ok{border-inline-start-color:#2ff5c2}.pk-banner.k-warn{border-inline-start-color:#ffc14d}
.pk-banner[hidden]{display:none}
.pk-bt{display:flex;flex-direction:column;min-inline-size:0;gap:1px}
.pk-bt b{font-size:15px}
.pk-bw{font-size:12px;color:var(--mute);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pk-why{flex:0 0 auto;min-inline-size:0;white-space:nowrap}
/* já */
.pk-me{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"you read" "act act";gap:6px 14px;align-items:center}
.pk-you{grid-area:you;display:flex;flex-direction:column;align-items:center;gap:3px}
.pk-yl{font-size:13px;white-space:nowrap;display:flex;align-items:center;gap:6px}
.pk-hole{display:flex;gap:calc(var(--hw)*.1)}
.pk-read{grid-area:read;display:flex;flex-direction:column;gap:5px;min-inline-size:0;align-self:center}
.pk-str{font-size:14px}
.pk-chips{display:flex;flex-wrap:wrap;gap:5px}
.pk-chips .gm-chip{font-size:12.5px;padding:2px 9px;white-space:nowrap}
.pk-chips .gm-chip.ok{border-color:#2ff5c2;color:#2ff5c2}
.pk-chips .gm-chip.no{border-color:#ff5470;color:#ff8da1}
.pk-act{grid-area:act;display:flex;gap:8px;justify-content:center;align-items:stretch;min-block-size:54px}
.pk-act .gm-btn{flex:1 1 0;min-inline-size:0;max-inline-size:230px;min-block-size:54px;padding:6px 8px;font-size:15px;line-height:1.15}
.pk-act .gm-btn small{font-size:12px;white-space:nowrap}
.pk-act .pk-next{max-inline-size:340px}
.pk-state{align-self:center;color:var(--mute);font-size:14px}
.pk-log{font-size:12px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-block-size:16px;text-align:center}
/* šuplík přes stůl (posouvá se jen uvnitř) */
.pk-drawer{position:absolute;inset-block:48px 8px;inset-inline-end:8px;inline-size:min(430px,calc(100% - 16px));z-index:6;display:flex;flex-direction:column;
  background:rgba(7,12,24,.98);border:1px solid var(--grp);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.6),0 0 22px color-mix(in srgb,var(--grp) 25%,transparent)}
.pk-drawer[hidden]{display:none}
.pk-drhead{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 6px 12px;border-block-end:1px solid var(--line)}
.pk-drhead b{font-size:15px}
.pk-x{min-inline-size:34px!important;padding:2px 8px!important}
.pk-drbody{flex:1 1 auto;overflow:auto;padding:8px 12px 12px}
.pk-pane[hidden]{display:none}
.pk-pane .gm-fb,.pk-pane .gm-card{inline-size:100%;margin:0 0 8px;font-size:13.5px}
.pk-how h3{margin:0 0 4px;font-size:16px;color:var(--grp)}
.pk-how p{margin:4px 0}
.pk-nums p{margin:4px 0}
/* užší okno lekce: kompaktnější hlavička a tlačítka */
/* široké okno: šuplík se přisadí vedle stolu a stůl i tlačítka zůstanou vidět; úzké okno: šuplík překryje stůl a zavře se křížkem */
@container pk (min-inline-size:900px){
  .pk-drawer{position:static;inset:auto;flex:0 0 400px;inline-size:400px;max-block-size:100%;margin-block-start:42px}
}
@container pk (min-inline-size:900px) and (max-inline-size:1300px){
  .gm.pk:has(.pk-drawer:not([hidden])) .pk-tbt{display:none}
  .gm.pk:has(.pk-drawer:not([hidden])) .pk-tb{min-inline-size:38px;padding:4px 8px}
}
@container pk (max-inline-size:620px){
  .pk-tbt{display:none}
  .pk-tb{min-inline-size:38px!important;padding:4px 8px}
  .pk .pk-seat{font-size:11.5px;padding:4px}
  .pk-sk{font-size:10.5px}
  .pk-me{grid-template-columns:auto minmax(0,1fr);gap:4px 10px}
  .pk-act{gap:4px}
  .pk-act .gm-btn{padding:4px 2px;min-block-size:46px;font-size:12.5px;border-radius:10px}
  .pk-act .gm-btn small{font-size:10.5px}
  .pk-title b{font-size:15px}
  .pk-banner{inset-inline:4px}
  .pk-drawer{inset-block:42px 4px;inset-inline-end:4px;inline-size:calc(100% - 8px)}
}
@container pk (max-block-size:520px){
  .gm.pk{gap:4px;padding:6px 8px}
  .pk-sk,.pk-bw{display:none}
  .pk-pot{font-size:13px}
  .pk-log{display:none}
  .pk-act,.pk-act .gm-btn{min-block-size:42px}
}
@container pk (max-inline-size:420px){.pk-ct{display:none}.pk-chips{flex-wrap:nowrap}.pk-chips .gm-chip{font-size:11.5px;padding:2px 7px}}
@container pk (max-block-size:420px){
  .pk-felt{min-block-size:66px;gap:3px;padding:3px 8px}
  .pk-head{min-block-size:30px}
  .pk-title .pk-hn{display:none}
  .pk-pot{padding:0 10px;font-size:12px}.pk-pot b{font-size:15px}
  .pk-yl{font-size:12px}
}
@container pk (min-block-size:760px) and (min-inline-size:900px){
  .pk-act .gm-btn{min-block-size:60px;font-size:16.5px}
  .pk-str{font-size:15.5px}
}
html.fx-still .pk-banner{transition:none}
@media (max-width:1400px){body[data-grp=games] nav#tabs button{padding:6px 9px;font-size:13.5px}}
@container pk (max-inline-size:340px){.pk-act{flex-wrap:wrap}.pk-act .gm-btn{flex:1 1 28%}}

/* ---- pět laboratoří: přepínač lekcí uvnitř Logic Labu a Decision Labu (games/g-hubs.js) ---- */
.g-hub{margin:0 0 10px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:rgba(8,14,28,.55)}
.g-hub-h{display:flex;flex-direction:column;gap:2px;margin-block-end:6px}
.g-hub-h b{font-size:14px;color:var(--grp)}
.g-hub-h span{font-size:12px;color:var(--mute);line-height:1.35}
.g-hub-row{display:flex;flex-wrap:wrap;gap:6px}
.g-hub-b{padding:4px 10px;font-size:12.5px;border-radius:999px}
.g-hub-b.on{border-color:var(--grp);background:color-mix(in srgb,var(--grp) 22%,transparent);color:var(--ink)}

/* ---- Mind Lab ---- */
.mx-box{flex:0 0 auto;display:flex;flex-direction:column;gap:10px;align-items:center}
.mx-ask{margin:0;font-size:14.5px;text-align:center}
.mx-cv{inline-size:min(640px,100%,calc(40vh*var(--mxr,1.6)));aspect-ratio:var(--mxr,1.6);block-size:auto;border:1px solid var(--line);border-radius:12px;touch-action:manipulation;cursor:crosshair}
.mx-range{inline-size:min(520px,100%)}
.mx-word{display:flex;flex-direction:column;align-items:center;gap:6px;min-block-size:96px;justify-content:center;inline-size:100%}
.mx-w{font-size:clamp(26px,5vw,40px);color:var(--grp);text-shadow:0 0 14px color-mix(in srgb,var(--grp) 55%,transparent);text-align:center}
.mx-lure td{color:var(--org,#ff9a3c)}
.mx-res{inline-size:100%;font-size:13px;color:var(--mute)}
.mx-res summary{cursor:pointer;color:var(--ink)}
.mx-io{inline-size:100%;display:flex;flex-direction:column;gap:8px;align-items:center}
.mx-ta{inline-size:min(560px,100%);background:#0a1016;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:8px;font:inherit}
.mx-steps{display:flex;flex-direction:column;gap:6px;inline-size:min(560px,100%)}
.mx-step{display:flex;gap:8px;align-items:flex-start;font-size:14px;cursor:pointer}

/* přepínání režimů: skryté ovladače (L.gate) nesmí přebít `.ctl{display:block}` */
#panel [hidden]{display:none!important}
