/* Laboratoř – nástroje. Barvy přebírá ze šablony (proměnné), jinak má vlastní výchozí. */
.lab-tool,.lab-panel{
	--lt-ink:var(--ink,#1C2B45);
	--lt-muted:var(--muted,#4B5670);
	--lt-navy:var(--navy,#17375E);
	--lt-accent:var(--mustard,#E2A72E);
	--lt-accent-soft:var(--mustard-soft,#F4E3B8);
	--lt-teal:var(--teal,#1E8C8A);
	--lt-coral:var(--coral,#E4663F);
	--lt-line:var(--line-strong,#D9CDB2);
	--lt-field:var(--field,#FDFBF6);
	--lt-card:var(--card,#FFFFFF);
	color:var(--lt-ink);
}
.lab-tool [hidden]{display:none!important}
.lab-panel{background:var(--lt-card);border:1px solid var(--line,#E6DCC6);border-radius:22px;padding:24px;margin:0 0 24px;box-shadow:0 12px 40px rgba(23,55,94,.08)}
.lab-tool[data-kompakt="1"] .lab-panel{background:none;border:none;box-shadow:none;padding:0;margin:0}
.lab-panel h2,.lab-panel h3{margin:0 0 14px}
.lab-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end}
.lab-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.lab-row>.lab-field{flex:1 1 170px}
.lab-field{display:flex;flex-direction:column;gap:6px;font-weight:500;font-size:14px;color:var(--lt-muted);margin:0}
.lab-input{width:100%;min-height:52px;padding:0 14px;border-radius:14px;border:1px solid var(--lt-line);background:var(--lt-field);font:inherit;font-size:17px;color:var(--lt-ink)}
select.lab-input{padding-right:8px}
.lab-input:focus{outline:3px solid var(--lt-accent-soft);border-color:var(--lt-navy)}
.lab-input-big{font-size:20px;font-weight:700}
.lab-textarea{min-height:150px;padding:12px 14px;resize:vertical}
.lab-swap{flex:0 0 auto;width:52px;height:52px;border-radius:50%;border:none;background:var(--lt-accent-soft);color:var(--lt-navy);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.lab-swap:hover{background:var(--lt-accent)}
.lab-swap svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.lab-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:999px;border:none;background:var(--lt-navy);color:#FFFFFF;font:inherit;font-weight:700;font-size:16px;cursor:pointer}
.lab-btn:hover{background:var(--lt-teal)}
.lab-btn-ghost{background:var(--lt-accent-soft);color:var(--lt-navy)}
.lab-btn-ghost:hover{background:var(--lt-accent);color:#111}
.lab-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}

.lab-result{margin-top:18px;padding:18px 20px;border-radius:16px;background:var(--lt-navy);color:#FFFFFF}
.lab-result-label{font-size:13px;color:#D9D2BF}
.lab-result-value{font-family:var(--font,'DM Sans',system-ui,sans-serif);font-weight:700;font-size:clamp(22px,3.6vw,30px);line-height:1.3;letter-spacing:.01em;font-variant-numeric:tabular-nums lining-nums;word-break:break-word}
.lab-result-note{font-size:14px;color:#E7DFCC;margin-top:4px}
.lab-result-lines{font-size:17px;line-height:1.7}
.lab-result-lines{font-variant-numeric:tabular-nums lining-nums}
.lab-result-lines strong{font-size:20px}
.lab-tool[data-kompakt="1"] .lab-result{margin-top:12px;padding:12px 18px}

.lab-bars{margin-top:16px;display:flex;flex-direction:column;gap:10px}
.lab-bar{display:grid;grid-template-columns:minmax(80px,140px) 1fr;gap:12px;align-items:center;font-size:14px;font-weight:500}
.lab-bar-track{height:14px;border-radius:999px;background:#EFE7D6;overflow:hidden}
.lab-bar-fill{height:100%;border-radius:999px;background:var(--lt-teal);transition:width .4s ease}
.lab-bar:nth-child(2) .lab-bar-fill{background:var(--lt-coral)}
.lab-small{font-size:14px;color:var(--lt-muted);margin-top:10px}
.lab-error{color:#9A2F0E;font-weight:500}

.lab-fraction{display:flex;flex-direction:column;align-items:stretch;gap:4px;width:90px}
.lab-fraction hr{border:none;border-top:3px solid var(--lt-ink);margin:0}
.lab-fraction .lab-input{text-align:center}
.lab-frac-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.lab-frac-row select.lab-input{width:auto}

/* kvíz */
.lab-q{border:none;margin:0 0 18px;padding:18px;border-radius:16px;background:var(--lt-field);border:1px solid #EFE7D6}
.lab-q legend{font-weight:700;font-size:17px;padding:0;margin-bottom:10px;float:left;width:100%}
.lab-q legend+*{clear:both}
.lab-opt{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;cursor:pointer;font-weight:500}
.lab-opt:hover{background:#F4EEE1}
.lab-opt input{width:20px;height:20px;accent-color:var(--lt-navy)}
.lab-opt.is-correct{background:#DDF3E4;color:#16522F}
.lab-opt.is-wrong{background:#FBE1D8;color:#8A2E10}
.lab-explain{margin:10px 2px 0;font-size:15px;line-height:1.5;color:var(--lt-muted)}
.lab-score{font-size:22px;font-weight:700;color:var(--lt-navy)}

/* hra Najdi 10 rozdílů */
.lab-game-stats{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;justify-content:space-between;margin-bottom:14px;font-weight:700}
.lab-game-stats .lab-msg{font-family:var(--font-comic,Impact,sans-serif);font-size:24px;letter-spacing:.04em;color:var(--lt-coral)}
.lab-game-pics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.lab-game-pic{position:relative;border-radius:14px;overflow:hidden;cursor:crosshair;user-select:none;-webkit-user-select:none;touch-action:manipulation}
.lab-game-pic>img{width:100%;height:auto;display:block;pointer-events:none}
.lab-spot{position:absolute;width:8.57%;height:8.57%;border:none;padding:0;background:transparent;cursor:crosshair}
.lab-spot img{width:100%;height:100%;display:block}
.lab-game.is-miss .lab-game-pics{animation:lab-blink .4s}
@keyframes lab-blink{50%{opacity:.5}}
@media (max-width:640px){.lab-game-pics{grid-template-columns:1fr}}

/* kontakt */
.lab-hp{position:absolute;left:-9999px}
.lab-contact .lab-field{margin-bottom:12px}
.lab-note{padding:14px 18px;border-radius:14px;font-weight:500}
.lab-ok{background:#DDF3E4;color:#16522F}
.lab-err{background:#FBE1D8;color:#8A2E10}

@media (max-width:640px){
	.lab-panel{padding:18px;border-radius:18px}
	.lab-bar{grid-template-columns:80px 1fr}
}
@media (prefers-reduced-motion:reduce){.lab-bar-fill{transition:none}.lab-game.is-miss .lab-game-pics{animation:none}}

/* HTML hry */
.lab-gameframe{position:relative;margin:0 auto;aspect-ratio:var(--pomer,16 / 10);max-height:85vh;max-width:100%;border-radius:20px;overflow:hidden;background:#0B2242;box-shadow:0 12px 40px rgba(23,55,94,.18)}
.lab-gameframe[style*="2 / 3"]{width:calc(85vh * 2 / 3)}
.lab-gameframe-poster{width:100%;height:100%;object-fit:cover}
.lab-gameframe-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:none;background:rgba(11,34,66,.35);color:#FFFFFF;font:inherit;font-weight:700;font-size:20px;cursor:pointer}
.lab-gameframe-play svg{width:84px;height:84px;padding:18px;border-radius:50%;background:var(--mustard,#E2A72E);fill:#111;box-shadow:4px 4px 0 #111;transition:transform .15s}
.lab-gameframe-play:hover svg{transform:scale(1.08)}
.lab-gameframe-play span{padding:6px 14px;border-radius:999px;background:rgba(11,34,66,.75)}
.lab-gameframe iframe{display:block;width:100%;height:100%;border:0}
.lab-gameframe-tools .lab-btn-ghost{background:#F4E3B8;color:#17375E}
.lab-gameframe-tools .lab-btn-ghost:hover{background:#E2A72E;color:#111}
.lab-gameframe-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;margin:14px 0 28px;font-size:15px}
@media (max-width:760px){.lab-gameframe[style*="2 / 3"]{width:auto;aspect-ratio:3 / 2}}
