.mz-app{--mz-ink:#23331a;--mz-gold:#e1b84c;--mz-leaf:#324a29;--mz-paper:#fff9e8;--mz-burgundy:#a43e55;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--mz-ink);line-height:1.48;width:100%;max-width:none;letter-spacing:normal}
.mz-app *{box-sizing:border-box}.mz-app .mz-shell{background:radial-gradient(circle at 20% 0%,#fff8d9 0,#fbf7e9 38%,#f1eddf 100%);border:1px solid #ddd4b9;border-radius:18px;min-height:630px;overflow:hidden;box-shadow:0 12px 40px #33401d14}.mz-app h1,.mz-app h2,.mz-app h3,.mz-app p{margin:0}.mz-app h1{font-size:clamp(25px,3.2vw,38px);letter-spacing:-1px}.mz-app h2{font-size:clamp(21px,2.2vw,28px);letter-spacing:-.5px}.mz-app h3{font-size:17px}.mz-app p{margin-top:9px}.mz-app .mz-top{background:#283b23;color:#fffbe7;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 25px}.mz-app .mz-wordmark{font-size:14px;font-weight:900;letter-spacing:.07em}.mz-app .mz-topright{font-size:11px;font-weight:800;letter-spacing:.12em;color:#eadcae}.mz-app .mz-hero{max-width:800px;margin:auto;text-align:center;display:flex;flex-direction:column;align-items:center;padding:32px 18px 55px;gap:15px}.mz-app .mz-hero-img{display:block;width:min(580px,96%);max-height:430px;object-fit:contain;mix-blend-mode:multiply;border-radius:14px}.mz-app .mz-lead{font-size:18px;color:#657052}.mz-app .mz-actions,.mz-app .mz-row,.mz-app .mz-config-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.mz-app .mz-actions{justify-content:center}.mz-app .mz-btn{font:inherit;min-height:47px;cursor:pointer;border:2px solid transparent;border-radius:12px;padding:11px 19px;font-weight:800;letter-spacing:.005em;background:#e8e2d0;color:#26371f;transition:transform .12s,filter .12s}.mz-app .mz-btn:hover{transform:translateY(-1px);filter:brightness(.97)}.mz-app .mz-btn:focus-visible,.mz-app button:focus-visible,.mz-app input:focus-visible{outline:3px solid #dda531;outline-offset:2px}.mz-app .mz-btn.primary{color:#fffce9;background:#35532e;border-color:#35532e}.mz-app .mz-btn.outline{background:#fffdf6;border-color:#c7c6b3}.mz-app .mz-btn.danger-outline{border-color:#b77c7c;background:#fff9f5;color:#9a424a}.mz-app .mz-btn.win-btn{background:#2f6d42;color:white}.mz-app .mz-btn.fail-btn{background:#a4484c;color:white}.mz-app .mz-section{padding:26px clamp(15px,3.5vw,38px)}.mz-app .mz-kicker{font-size:11px;letter-spacing:.14em;font-weight:900;color:#866c33}.mz-app .mz-muted,.mz-app .mz-hint{color:#71725e;font-size:13px}.mz-app .mz-hint{margin:15px 0}.mz-app .mz-panel{background:#fffdf7;border:1px solid #ded8c9;border-radius:17px;padding:22px;box-shadow:0 3px 15px #2b352612}.mz-app .mz-config{margin:0 30px 30px;max-width:650px}.mz-app label{display:flex;flex-direction:column;font-weight:800;font-size:14px;gap:7px}.mz-app input{font:inherit;border:1.5px solid #bdb9a7;border-radius:10px;background:white;color:#243322;min-height:47px;padding:9px 12px;width:100%}.mz-app .mz-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.mz-app .mz-teacher-head{display:flex;align-items:center;justify-content:space-between}.mz-app .mz-dot{font-weight:800;color:#368347;font-size:12px}.mz-app .mz-room{display:flex;gap:30px;justify-content:space-between;background:#fffdf5;border-block:1px solid #e2dac0;padding:20px 36px}.mz-app .mz-room>div{max-width:550px}.mz-app .mz-code{font-weight:950;font-size:39px;letter-spacing:.17em;color:#29432d}.mz-app .mz-board-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:20px}.mz-app .mz-board-card{padding:18px}.mz-app .mz-between{display:flex;justify-content:space-between;align-items:center;gap:10px}.mz-app .mz-pill{border-radius:100px;background:#e3efe0;color:#367144;padding:5px 9px;font-size:11px;font-weight:850;white-space:nowrap}.mz-app .mz-pill.off{background:#fde7df;color:#ac654d}.mz-app .mz-board-card>p{font-size:13px}.mz-app .mz-card-actions{margin-top:16px}.mz-app .mz-track{display:flex;flex-direction:column;gap:8px;margin-top:14px}.mz-app .mz-trackline{display:grid;grid-template-columns:1fr 30px;gap:3px 10px;align-items:center;font-size:11px}.mz-app .mz-trackline b{text-align:right}.mz-app .mz-trackrail{height:5px;background:#eee8d8;grid-column:1/-1;border-radius:6px;overflow:hidden}.mz-app .mz-trackrail i{display:block;height:100%;background:#87a968}.mz-app .mz-config-actions{padding:0 35px 25px}.mz-app .mz-modal-back{position:fixed;inset:0;z-index:99999;background:#182118a6;padding:20px;display:flex;align-items:center;justify-content:center}.mz-app .mz-modal{width:min(700px,100%);max-height:90vh;overflow:auto}.mz-app .mz-modal h3{margin:20px 0 8px}.mz-app .mz-log{font-size:12px;color:#555e4b;max-height:220px;overflow:auto}.mz-app .mz-log>div{border-bottom:1px solid #eee9de;padding:7px 0}.mz-app .mz-teamline{display:grid;grid-template-columns:minmax(130px,1fr) 2fr auto;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid #eee9de;font-size:13px}.mz-app .mz-small{border:1px solid #b3b5a5;border-radius:7px;background:#f7f7f3;padding:5px 10px;cursor:pointer}.mz-app .mz-join h1{font-size:26px}.mz-app .mz-join .mz-hero-img{max-width:370px}.mz-app .mz-connect{display:grid;grid-template-columns:1fr 140px;gap:12px;text-align:left;width:min(530px,100%);align-items:end}.mz-app .mz-connect>.mz-btn{grid-column:1/-1}.mz-app .mz-narrow{max-width:820px;margin:auto}.mz-app .mz-alert{background:#f5e7be;border:1px solid #dbbe71;padding:18px 22px;border-radius:14px;margin:20px 0;color:#5b4925}.mz-app .mz-alert h2{font-size:18px;color:#59431b}.mz-app .mz-fields{display:flex;flex-direction:column;gap:14px}.mz-app .mz-confirm{font-size:20px;font-weight:800;line-height:2}.mz-app .mz-ghead{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.mz-app .mz-player-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:18px}.mz-app .mz-play-main>.mz-panel{min-height:400px}.mz-app .mz-center{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}.mz-app .mz-center p{max-width:570px}.mz-app .mz-big-name{font-size:clamp(26px,4vw,45px);color:#3c5b30}.mz-app .mz-dice{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin:10px 0}.mz-app .mz-die{height:65px;width:65px;font-weight:900;font-size:28px;border:2px solid #a99764;box-shadow:0 4px #aaa081;background:#fff7d6;border-radius:14px;color:#263b24;cursor:pointer}.mz-app .mz-die:active{transform:translateY(4px);box-shadow:none}.mz-app .mz-characters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.mz-app .mz-character{min-width:0;border:2px solid #e7e2d4;border-radius:14px;background:#f9f4e9;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 7px;cursor:pointer;color:#263a20}.mz-app .mz-character:hover{border-color:#9f9146;background:#fff9e3}.mz-app .mz-character img{height:145px;max-width:100%;object-fit:contain;mix-blend-mode:multiply}.mz-app .mz-character strong{font-size:14px}.mz-app .mz-character small{font-size:11px;color:#747562}.mz-app .mz-stage-img{height:135px;max-width:170px;object-fit:contain;mix-blend-mode:multiply}.mz-app .mz-warning .mz-stage-img{height:170px}.mz-app .mz-tasktop{display:flex;align-items:center;justify-content:center;gap:17px}.mz-app .mz-tasktop h2{text-align:left}.mz-app .mz-question{padding:24px 15px;font-size:clamp(30px,4vw,54px);font-weight:950;letter-spacing:-1.2px;color:#243e24;line-height:1.15;word-wrap:break-word}.mz-app .mz-question.mz-secret{font-size:clamp(28px,4vw,43px)}.mz-app .mz-timer{font-size:clamp(37px,5vw,68px);font-variant-numeric:tabular-nums;font-weight:900;letter-spacing:.04em;background:#eaf0e1;border-radius:16px;min-width:190px;padding:3px 20px;color:#345b2f}.mz-app .mz-timer.mz-critical{background:#ffe4d6;color:#b53b38}.mz-app .mz-timeup{font-weight:950;color:#b33e41;font-size:21px}.mz-app .mz-answer{display:flex;flex-direction:column;background:#e7f2e1;border-radius:14px;padding:10px 35px}.mz-app .mz-answer small{font-size:12px;font-weight:800}.mz-app .mz-answer strong{font-size:37px}.mz-app .mz-result{display:flex;gap:13px;flex-wrap:wrap;justify-content:center}.mz-app .mz-event{background:#f4ebd4;border:2px solid #d0b97b;color:#46391a;font-size:clamp(23px,3.1vw,34px);font-weight:900;line-height:1.2;padding:22px;border-radius:16px}.mz-app .mz-luck-img{height:200px;width:min(300px,90%);object-fit:contain;mix-blend-mode:multiply}.mz-app .mz-aside{display:flex;flex-direction:column;gap:16px}.mz-app .mz-aside>.mz-panel{padding:17px}.mz-app .mz-roster{margin-top:11px}.mz-app .mz-roster-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 6px;border-bottom:1px solid #eee8d9;font-size:12px}.mz-app .mz-roster-item>div{display:flex;flex-direction:column;gap:2px}.mz-app .mz-roster-item small{color:#69804b}.mz-app .mz-roster-item b{white-space:nowrap}.mz-app .mz-roster-item.is-current{background:#e8f2df;border-radius:10px;padding-inline:9px}.mz-app .mz-winner{height:180px;max-width:100%;object-fit:contain}.mz-app .mz-toast{position:fixed;z-index:100000;bottom:28px;left:50%;transform:translate(-50%,20px);opacity:0;background:#3c3229;color:#fff;padding:12px 23px;border-radius:10px;transition:.2s;pointer-events:none;max-width:95vw}.mz-app .mz-toast.show{transform:translate(-50%,0);opacity:1}.mz-app .mz-loading{padding:50px;text-align:center}
@media(max-width:900px){.mz-app .mz-player-layout{grid-template-columns:1fr}.mz-app .mz-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.mz-app .mz-characters{grid-template-columns:repeat(2,minmax(0,1fr))}.mz-app .mz-character img{height:130px}}
@media(max-width:580px){.mz-app .mz-top{padding:13px}.mz-app .mz-topright{font-size:9px}.mz-app .mz-section{padding:19px 12px}.mz-app .mz-room{flex-direction:column;padding:15px;gap:10px}.mz-app .mz-config{margin:0 12px 20px}.mz-app .mz-panel{padding:15px}.mz-app .mz-aside{grid-template-columns:1fr}.mz-app .mz-die{height:55px;width:55px}.mz-app .mz-ghead{align-items:start}.mz-app .mz-config-grid{grid-template-columns:1fr}.mz-app .mz-character img{height:110px}.mz-app .mz-teamline{grid-template-columns:1fr auto}.mz-app .mz-teamline span{grid-column:1/-1;grid-row:2}.mz-app .mz-connect{grid-template-columns:1fr}.mz-app .mz-result .mz-btn{width:100%}.mz-app .mz-hero-img{width:100%}.mz-app .mz-tasktop{flex-direction:column}.mz-app .mz-tasktop h2{text-align:center}}

/* 1.3 — Dedicated full-window experience for the automatically generated game page. */
html:has(body.mz-standalone-screen){margin:0!important;min-height:100%;background:#f8f5e8;overflow-x:hidden}
body.mz-standalone-screen{margin:0!important;padding:0!important;min-width:320px;min-height:100vh;min-height:100dvh;background:#f8f5e8;overflow-x:hidden}
body.mz-standalone-screen #mz-fullscreen-root{min-height:100vh;min-height:100dvh;width:100%;margin:0;padding:0}
body.mz-standalone-screen .mz-app{display:block;width:100%;max-width:none;min-height:100vh;min-height:100dvh;margin:0;padding:0}
body.mz-standalone-screen .mz-app .mz-shell{width:100%;min-height:100vh;min-height:100dvh;max-width:none;margin:0;border:0;border-radius:0;box-shadow:none;overflow:visible}
body.mz-standalone-screen .mz-app .mz-top{min-height:68px;padding-inline:clamp(16px,3.5vw,58px)}
body.mz-standalone-screen .mz-app .mz-section{padding:clamp(20px,3vw,48px) clamp(16px,4vw,68px)}
body.mz-standalone-screen .mz-app .mz-config{margin-inline:clamp(16px,4vw,68px)}
body.mz-standalone-screen .mz-app .mz-hero{min-height:calc(100dvh - 68px);justify-content:center}
@media(max-width:600px){body.mz-standalone-screen .mz-app .mz-hero{min-height:calc(100dvh - 62px)}body.mz-standalone-screen .mz-app .mz-section{padding:18px 12px}}

/* MatZemáci 2.0 — illustrated, full-screen game interface. */
.mz-app{--mz-ink:#1e302d;--mz-leaf:#173e36;--mz-paper:#fffaeb;background:#102e38}
.mz-app .mz-shell{background:radial-gradient(ellipse at 50% 0%,#fff6df 0%,#e4eee6 56%,#c5d9d1 100%);}
.mz-app .mz-top{background:linear-gradient(100deg,#122c38,#234339);box-shadow:0 4px 22px #091e2770;position:relative;z-index:3}
.mz-app .mz-wordmark{border:0;cursor:pointer;background:transparent;color:#fff6d8;font-size:clamp(16px,2vw,24px);text-align:left;letter-spacing:0;font-weight:900}
.mz-app .mz-topright{font-size:12px;letter-spacing:0;text-transform:none;color:#f8e5ba}
.mz-app .mz-newhero{min-height:calc(100dvh - 70px);position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px 20px 55px;background:radial-gradient(circle at 50% 20%,#426166,#132832 85%)}
.mz-app .mz-welcome-poster{width:min(1200px,97vw);aspect-ratio:1400/494;background:url('scene-hero.webp') center/cover no-repeat;filter:drop-shadow(0 18px 25px #0a1f27ad);border-radius:28px 28px 12px 12px;box-shadow:inset 0 0 0 2px #c99b539c,0 18px 70px #0a1b1db5}
.mz-app .mz-welcome-actions{color:#fff9e6;text-align:center;position:relative;padding:15px 20px 28px;background:linear-gradient(180deg,#163339e0,#163339);border:1px solid #8b7b53;width:min(1200px,97vw);border-radius:0 0 26px 26px;box-shadow:0 20px 45px #020c1591}
.mz-app .mz-welcome-actions h1{font-size:clamp(27px,4vw,47px);color:#ffe4a2;text-shadow:0 3px 2px #0006}
.mz-app .mz-welcome-actions p{font-size:clamp(14px,1.7vw,19px);color:#e8e4d6}
.mz-app .mz-welcome-actions .mz-actions{margin-top:20px}
.mz-app .mz-newhero .mz-btn{min-width:200px;padding:16px 30px;font-size:18px;box-shadow:0 5px 0 #071a2080}
.mz-app .mz-newhero .mz-btn.primary{background:linear-gradient(#4ca55b,#23693a);border-color:#a5e7ac;color:#fff}
.mz-app .mz-teacher-entry{position:absolute;right:clamp(15px,3vw,55px);top:17px;background:#172d38ea;border:1px solid #ead8a6;color:#fff4d4;padding:10px 15px;border-radius:50px;font-size:13px;font-weight:700;cursor:pointer;z-index:3}
.mz-app .mz-btn{border-radius:13px}
.mz-app .mz-btn.primary{background:linear-gradient(#327858,#154a40);border-color:#19664d}
.mz-app .mz-section{max-width:1540px;margin-inline:auto}
.mz-app .mz-panel{background:linear-gradient(140deg,#fffdf5,#f8f1dd);border:1px solid #d4c49d;box-shadow:0 12px 32px #25413416}
.mz-app .mz-teacher-head{background:linear-gradient(100deg,#173e47,#26584b);color:#fffaf0;border-radius:20px;margin-top:24px;margin-bottom:22px;box-shadow:0 12px 30px #1028302e}
.mz-app .mz-teacher-head .mz-kicker{color:#e8b971}.mz-app .mz-teacher-head p{color:#e8eee9}
.mz-app .mz-dot{color:#adf2ae}.mz-app .mz-startcontrol{display:flex;gap:18px;align-items:center;justify-content:space-between;background:#f6ead0;border:1px solid #d5bd87;border-radius:15px;margin:20px clamp(15px,3.5vw,38px);padding:16px 20px;flex-wrap:wrap}
.mz-app .mz-login-page{min-height:calc(100dvh - 70px);display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#4d6b63,#122e38 75%)}
.mz-app .mz-login-card{width:min(510px,100%);padding:36px;box-shadow:0 25px 60px #04181b7d}
.mz-app .mz-login-card label{margin:24px 0 16px}
.mz-app .mz-game .mz-ghead h1{color:#203d39}
.mz-app .mz-play-main>.mz-panel{position:relative;overflow:hidden;box-shadow:0 18px 35px #18393620}
.mz-app .mz-play-main>.mz-panel:before{content:'';position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,#a63b66,#e5bf57,#377b72);z-index:1}
.mz-app .mz-character-stage{display:flex;align-items:center;justify-content:center;min-height:200px;width:100%;background:radial-gradient(circle at 50% 50%,#fef0c7,#e1e7cd 70%,#b9c5b2);border-radius:16px;overflow:hidden;box-shadow:inset 0 0 0 2px #c5af7e55}
.mz-app .mz-character-stage img{width:100%;height:190px;object-fit:contain;mix-blend-mode:normal;filter:drop-shadow(0 9px 5px #18382930);transition:transform .25s}
.mz-app .mz-character:hover .mz-character-stage img{transform:scale(1.08) rotate(-2deg)}
.mz-app .mz-character{background:#fff9e7;border-radius:17px;padding:9px;box-shadow:0 9px 16px #1d373113;gap:12px;transition:transform .2s,box-shadow .2s}
.mz-app .mz-character:hover{transform:translateY(-5px);box-shadow:0 14px 23px #1d37312e}
.mz-app .mz-character.math,.mz-app .mz-character-math{border-color:#c98f9b}.mz-app .mz-character-space{border-color:#9d9a79}.mz-app .mz-character-numero{border-color:#ddbc67}.mz-app .mz-character-luck{border-color:#91b5a3}
.mz-app .mz-character-present{width:100%;display:grid;grid-template-columns:minmax(170px,34%) 1fr;align-items:center;gap:14px;margin-bottom:12px;padding:10px;border-radius:20px;background:linear-gradient(110deg,#173d42,#315a50);box-shadow:inset 0 0 0 2px #dfc6875c}
.mz-app .mz-present-math{background:linear-gradient(110deg,#652c47,#a65269)}
.mz-app .mz-present-space{background:linear-gradient(110deg,#27394c,#42647c)}
.mz-app .mz-present-numero{background:linear-gradient(110deg,#68531c,#a68b36)}
.mz-app .mz-actor{height:215px;display:flex;justify-content:center;align-items:flex-end;overflow:hidden;position:relative;isolation:isolate}
.mz-app .mz-actor:before{content:'';position:absolute;width:80%;height:45%;bottom:2px;left:10%;border-radius:50%;background:#ffe5ad3b;filter:blur(25px);z-index:-1}
.mz-app .mz-actor .mz-stage-img{width:100%;height:210px;max-width:100%;object-fit:contain;mix-blend-mode:normal;animation:mz-actor-bob 3s ease-in-out infinite;filter:drop-shadow(0 7px 7px #08161c66)}
@keyframes mz-actor-bob{0%,100%{transform:translateY(2px) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}
.mz-app .mz-speech{background:#fff6dd;border-radius:18px;padding:24px 18px;position:relative;border:2px solid #e3c891;box-shadow:0 8px 15px #0b172622;text-align:left}
.mz-app .mz-speech:before{content:'';position:absolute;left:-16px;top:48%;border-top:13px solid transparent;border-bottom:13px solid transparent;border-right:17px solid #fff6dd}
.mz-app .mz-speech h2{text-align:left!important;font-weight:900;color:#173c35}
.mz-app .mz-speech p{font-size:14px;color:#4b5d51;margin-top:5px}
.mz-app .mz-question{background:#fffef8;border:2px solid #d2b97e;border-radius:16px;min-width:min(100%,550px);margin:12px auto;box-shadow:0 5px 10px #37280e16}
.mz-app .mz-timer{background:linear-gradient(90deg,#173e43,#2d706c);color:#fff8e1;box-shadow:0 6px 12px #1b363d2a;font-size:clamp(34px,4.6vw,61px)}
.mz-app .mz-timer.mz-critical{background:#b54543;color:white}
.mz-app .mz-early{justify-content:center;margin:18px 0}
.mz-app .mz-early .mz-btn{font-size:17px;padding:15px 26px}
.mz-app .mz-timeup{font-size:18px;text-transform:none}
.mz-app .mz-answer{background:linear-gradient(#e1ffdc,#bef4ce);border:2px solid #58996b}
.mz-app .mz-play-main .mz-warning,.mz-app .mz-play-main .mz-luck{background:radial-gradient(circle at 40% 25%,#fffdf2,#e6f1e6)}
.mz-app .mz-stage-img{mix-blend-mode:normal}
@media(max-width:750px){.mz-app .mz-character-present{grid-template-columns:1fr}.mz-app .mz-actor{height:145px}.mz-app .mz-actor .mz-stage-img{height:140px}.mz-app .mz-speech:before{display:none}.mz-app .mz-speech h2{text-align:center!important}.mz-app .mz-speech{text-align:center}.mz-app .mz-welcome-poster{aspect-ratio:1.5;background-size:cover;background-position:center}.mz-app .mz-newhero{padding:45px 12px 25px}.mz-app .mz-teacher-entry{top:8px;right:8px}}
@media(prefers-reduced-motion:reduce){.mz-app .mz-actor .mz-stage-img{animation:none}.mz-app .mz-character-stage img{transition:none}}

/* Version 3.0: fullscreen illustrated experience. */
.mz-app .mz-shell.mz-v3-home{background:#101e29!important;min-height:100dvh;display:grid;place-items:center;overflow:hidden}
.mz-app .mz-v3-home>.mz-top{display:none!important}
.mz-app .mz-v3-entry{width:100%;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:clamp(8px,1.2vw,24px);background:radial-gradient(ellipse at center,#264e55 0%,#142c38 65%,#081720 100%)}
.mz-app .mz-v3-art{width:min(calc((100dvh - 32px)*1.777),100%);max-width:1650px;position:relative;aspect-ratio:1672 / 941;box-shadow:0 20px 70px #03070b90,0 0 0 2px #d6ac64;border-radius:16px;overflow:hidden}
.mz-app .mz-v3-cover{width:100%;height:100%;object-fit:fill;display:block;user-select:none;pointer-events:none}
.mz-app .mz-v3-hotspot{position:absolute;background:transparent;border:2px solid transparent;border-radius:24px;cursor:pointer;padding:0;z-index:2;transition:box-shadow .15s,transform .15s,background .15s}
.mz-app .mz-v3-hotspot:hover{box-shadow:0 0 0 4px #fff6b880,0 0 28px 7px #ebbb5866;background:#ffffff0b;transform:translateY(-2px)}
.mz-app .mz-v3-hotspot:active{transform:translateY(2px)}
.mz-app .mz-v3-hotspot:focus-visible{outline:4px solid white;outline-offset:3px}
.mz-app .mz-v3-connect{left:20.5%;top:60.2%;width:29.2%;height:25%}
.mz-app .mz-v3-how{left:49.8%;top:60.2%;width:29.8%;height:25%}
.mz-app .mz-v3-teacher{left:79.8%;top:2.5%;width:18.2%;height:9.5%;border-radius:999px}
.mz-app .mz-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.mz-app .mz-v3-mobile-actions{display:none}
.mz-app .mz-v3-backdrop{position:fixed;inset:0;z-index:999;display:grid;place-items:center;background:#071620bd;backdrop-filter:blur(9px);padding:18px}
.mz-app .mz-v3-dialog{position:relative;width:min(490px,100%);background:linear-gradient(140deg,#fffdf1,#f4e3bd);border:4px solid #bd9455;border-radius:23px;box-shadow:0 15px 0 #4d352b,0 30px 75px #0009;padding:clamp(22px,3vw,40px);text-align:center;color:#293728}
.mz-app .mz-v3-dialog h1{font-size:clamp(27px,3vw,38px);margin:8px 0 14px}
.mz-app .mz-v3-dialog p{margin:10px 0 22px}
.mz-app .mz-v3-dialog label{text-align:left;margin-bottom:8px}
.mz-app .mz-v3-dialog input{font-size:20px;border:2px solid #c9ae7d}
.mz-app .mz-v3-dialog .mz-row{justify-content:center;margin-top:22px}
.mz-app .mz-v3-dialog-foot{font-size:12px;color:#726a52;margin-bottom:0!important}
.mz-app .mz-v3-dialog-icon{width:60px;height:60px;margin:0 auto;border:3px solid #e3bf70;border-radius:50%;display:grid;place-items:center;background:#173d46;color:#fdd581;font-size:35px}
.mz-app .mz-v3-close{position:absolute;top:10px;right:14px;font-size:30px;border:0;background:none;color:#604426;cursor:pointer}
.mz-app .mz-v3-subpage{background:linear-gradient(#122e3bc9,#0b202cde),url('v3-cover.webp') center /cover fixed;min-height:100dvh}
.mz-app .mz-v3-subpage .mz-top{background:#132832ea}
.mz-app .mz-v3-stage{padding:clamp(18px,3vw,48px);min-height:calc(100dvh - 70px);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px}
.mz-app .mz-v3-scene-mark{font-weight:1000;color:#ffdc89;text-shadow:0 4px 1px #3c241a,0 8px 18px #0009;font-size:clamp(30px,4vw,55px)}
.mz-app .mz-v3-layout{width:min(1100px,100%);display:grid;grid-template-columns:minmax(200px,36%) 1fr;gap:0;align-items:stretch}
.mz-app .mz-v3-side-art{background:linear-gradient(#183e4acb,#233c43f2);border:3px solid #bd914b;border-right:0;border-radius:30px 0 0 30px;padding:25px;text-align:center;color:#fbd68a;display:flex;flex-direction:column;align-items:center;justify-content:center}
.mz-app .mz-v3-side-art img{max-height:340px;width:100%;object-fit:contain;filter:drop-shadow(0 13px 12px #0008);animation:mz-actor-bob 3s infinite ease-in-out}
.mz-app .mz-v3-side-art p{font-weight:900;font-size:22px}
.mz-app .mz-v3-parchment{background:linear-gradient(140deg,#fffdf0,#f3e2b8);border:3px solid #b58b50;border-radius:0 30px 30px 0;box-shadow:0 20px 80px #010e1880;padding:clamp(25px,4vw,55px);color:#28382f}
.mz-app .mz-v3-parchment h1{margin:9px 0 14px;font-size:clamp(28px,3vw,45px)}
.mz-app .mz-v3-parchment p{font-size:16px;line-height:1.65}
.mz-app .mz-v3-formgrid{display:grid;grid-template-columns:2fr 1fr;gap:15px;margin:28px 0}
.mz-app .mz-v3-parchment .mz-btn{padding:13px 22px;font-size:16px}
.mz-app .mz-v3-help{border-radius:28px;width:min(1020px,100%)}
.mz-app .mz-v3-guide{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}
.mz-app .mz-v3-guide>div{padding:18px;border:1px solid #ddc491;border-radius:14px;background:#fff9e9}
.mz-app .mz-v3-guide strong{font-size:18px}
.mz-app .mz-v3-guide p{font-size:14px}
/* Teacher and game screens now share the illustrated command-room visual language. */
.mz-app .mz-shell.mz-teacher,.mz-app .mz-shell.mz-student{background:linear-gradient(135deg,#112b34dd,#1c3943cf),url('scene-hero.webp') center/cover fixed;min-height:100dvh}
.mz-app .mz-teacher .mz-top,.mz-app .mz-student .mz-top{background:#0f2834e8}
.mz-app .mz-teacher-head{border:2px solid #b9955d;box-shadow:0 10px 25px #04111a77}
.mz-app .mz-teacher .mz-panel,.mz-app .mz-student .mz-panel{border:2px solid #c1a16c;background:linear-gradient(140deg,#fff9e9,#f4e9cc);box-shadow:0 9px 0 #664b303d,0 15px 25px #071d2540}
.mz-app .mz-teacher .mz-section>h2,.mz-app .mz-student .mz-ghead h1{color:#fff3d0;text-shadow:0 2px 10px #0009}
.mz-app .mz-student .mz-kicker{color:#816437}
.mz-app .mz-student .mz-ghead>.mz-pill{font-size:13px}
.mz-app .mz-characters{gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}
.mz-app .mz-student .mz-character{border:3px solid #c7a466;background:#fff5d6;box-shadow:0 9px 0 #80634280,0 18px 22px #0003;position:relative;min-height:250px}
.mz-app .mz-student .mz-character:hover{transform:translateY(-7px);border-color:#fed878}
.mz-app .mz-character-stage{min-height:184px;background:radial-gradient(circle,#fff5bd,#b9d3c3);border-radius:14px;overflow:hidden}
.mz-app .mz-character-stage img{height:184px;filter:drop-shadow(0 8px 5px #2225)}
.mz-app .mz-student .mz-character strong{font-size:clamp(13px,1.5vw,20px)}
.mz-app .mz-task{background:radial-gradient(circle at 80% 0%,#fff8dd,#f0dfae)!important}
.mz-app .mz-character-present{min-height:230px;border:3px solid #f7d890;background:linear-gradient(110deg,#392a39,#6f3f51)}
.mz-app .mz-actor{height:245px}.mz-app .mz-actor .mz-stage-img{height:235px}
.mz-app .mz-speech{box-shadow:0 6px 0 #b99d6f;background:#fffaf0}
.mz-app .mz-question{box-shadow:0 6px 0 #b99d6f;font-size:clamp(34px,4.4vw,63px)}
.mz-app .mz-timer{box-shadow:0 6px 0 #142f34}
.mz-app .mz-btn.primary{background:linear-gradient(#52b75f,#1b6536);border-color:#9ee3a1;box-shadow:0 4px 0 #14402c;color:#fff}
.mz-app .mz-btn.outline{background:#fff9df;border-color:#bba47c;box-shadow:0 4px 0 #9c835d}
.mz-app .mz-btn:active{transform:translateY(3px);box-shadow:none}
.mz-app .mz-alert{background:#fff0be}
.mz-app .mz-student .mz-aside .mz-panel{background:#fff8e5}
.mz-app .mz-student .mz-characters small{font-size:12px}
@media(max-width:900px){.mz-app .mz-characters{grid-template-columns:repeat(2,minmax(0,1fr))}.mz-app .mz-v3-layout{grid-template-columns:1fr}.mz-app .mz-v3-side-art{display:none}.mz-app .mz-v3-parchment{border-radius:25px}}
@media(max-width:620px){.mz-app .mz-v3-art{width:100%;border-radius:10px}.mz-app .mz-v3-entry{flex-direction:column;gap:18px}.mz-app .mz-v3-hotspot{display:none}.mz-app .mz-v3-mobile-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.mz-app .mz-v3-mobile-actions .mz-btn{font-size:14px;min-height:48px}.mz-app .mz-v3-formgrid,.mz-app .mz-v3-guide{grid-template-columns:1fr}.mz-app .mz-v3-scene-mark{font-size:26px}.mz-app .mz-v3-parchment{padding:22px}.mz-app .mz-characters{gap:9px}.mz-app .mz-student .mz-character{min-height:190px}.mz-app .mz-character-stage,.mz-app .mz-character-stage img{height:130px;min-height:130px}.mz-app .mz-actor{height:155px}.mz-app .mz-actor .mz-stage-img{height:150px}}
@media(prefers-reduced-motion:reduce){.mz-app .mz-v3-side-art img{animation:none}}

/* ===== Verze 4: ilustrované scénické rozhraní ===== */
.mz-app .mz-student .mz-play-main>.mz-v4-ready,
.mz-app .mz-student .mz-play-main>.mz-v4-narrative,
.mz-app .mz-student .mz-play-main>.mz-v4-victory{
  min-height:435px;border:3px solid #c6a16a;border-radius:22px;
  overflow:hidden;box-shadow:0 10px 0 #42302166,0 19px 33px #09172555;
}
.mz-app .mz-v4-ready,.mz-app .mz-v4-narrative{display:grid;grid-template-columns:42% 58%;background:linear-gradient(110deg,#fff9e8,#efdeb9);color:#263c34}
.mz-app .mz-v4-scene{position:relative;background:#183e48;min-height:410px;isolation:isolate;overflow:hidden}
.mz-app .mz-v4-scene-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .3s ease}
.mz-app .mz-v4-scene:after{content:"";position:absolute;inset:0;pointer-events:none;border:6px solid #ebd19f55;box-shadow:inset 0 0 25px #0005}
.mz-app .mz-v4-scene-tag{position:absolute;bottom:19px;left:50%;transform:translateX(-50%);width:max-content;max-width:93%;padding:11px 18px;background:linear-gradient(#fce7b8,#d1a767);border:3px solid #704c2b;border-radius:60px;color:#1e3230;font-weight:950;font-size:clamp(14px,2vw,24px);text-shadow:0 1px white;box-shadow:0 8px 13px #0005}
.mz-app .mz-v4-ready-body,.mz-app .mz-v4-narrative-body{padding:clamp(20px,3vw,43px);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:15px}
.mz-app .mz-v4-ready-body h2,.mz-app .mz-v4-narrative-body h2{font-size:clamp(24px,3vw,41px)}
.mz-app .mz-v4-ready-body h3{font-size:clamp(19px,2vw,27px)}
.mz-app .mz-v4-ready-body p,.mz-app .mz-v4-narrative-body p{font-size:clamp(14px,1.4vw,18px);line-height:1.5;margin:0}
.mz-app .mz-v4-ready .mz-die{background:linear-gradient(135deg,#fffcef,#efdfaf);border:3px solid #b19053;box-shadow:0 5px 0 #81653f,0 6px 12px #0003;transition:.16s}
.mz-app .mz-v4-ready .mz-die:hover{transform:translateY(-5px);background:#fff9bd}
.mz-app .mz-v4-narrative-body .mz-btn{font-size:clamp(14px,1.4vw,19px);padding:17px 20px}
.mz-app .mz-v4-luck .mz-event{font-size:clamp(19px,2.2vw,28px);padding:17px}
.mz-app .mz-v4-character-stage{height:clamp(150px,20vw,260px)!important;min-height:0!important;background:transparent!important;box-shadow:none!important;border-radius:18px!important;overflow:hidden}
.mz-app .mz-v4-character-stage .mz-v4-scene-img{width:100%!important;height:100%!important;object-fit:cover!important;mix-blend-mode:normal!important;filter:none!important;border-radius:15px}
.mz-app .mz-student .mz-character{padding:9px!important;border-radius:22px;min-height:unset;background:#fff4d5}
.mz-app .mz-student .mz-character strong{margin-top:8px;font-size:clamp(14px,1.4vw,19px)}
.mz-app .mz-student .mz-character:hover .mz-v4-scene-img{transform:scale(1.08) rotate(0)}
.mz-app .mz-character-math{border-color:#b46a7b!important}.mz-app .mz-character-space{border-color:#719ab5!important}.mz-app .mz-character-numero{border-color:#c3a260!important}.mz-app .mz-character-luck{border-color:#739567!important}
.mz-app .mz-v4-tasktop{grid-template-columns:minmax(270px,44%) 1fr!important;min-height:270px!important;overflow:hidden!important;background:#142a35!important}
.mz-app .mz-v4-actor{height:300px!important;overflow:hidden!important;align-items:stretch!important}
.mz-app .mz-v4-actor .mz-v4-scene-img{height:100%!important;width:100%!important;object-fit:cover!important;object-position:center!important;animation:mz-actor-bob 4s ease-in-out infinite}
.mz-app .mz-v4-tasktop .mz-speech{margin:12px 13px 12px 0;background:#fffaeb;border:3px solid #dfb77a;border-radius:22px}
.mz-app .mz-v4-luckroll .mz-v4-scene-img{max-width:390px;max-height:215px;border-radius:18px;object-fit:cover;box-shadow:0 7px 0 #b68b53;margin-bottom:15px}
.mz-app .mz-v4-victory{background:#f7e9c7;display:flex;flex-direction:column}
.mz-app .mz-v4-victory-art{height:clamp(175px,28vw,360px);overflow:hidden;background:#132f42}
.mz-app .mz-v4-victory-art .mz-v4-scene-img{object-position:center 25%}
.mz-app .mz-v4-victory-content{text-align:center;padding:clamp(17px,2.6vw,34px);display:flex;flex-direction:column;align-items:center;gap:14px}
.mz-app .mz-v4-victory-content h2{font-size:clamp(27px,3.3vw,44px);color:#563c1a}
.mz-app .mz-v4-victory-content p{font-size:clamp(15px,1.4vw,19px);line-height:1.5}
.mz-app .mz-v4-medals{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;width:100%;max-width:850px}
.mz-app .mz-v4-medal{background:linear-gradient(120deg,#fff8df,#f3daa0);border:2px solid #c6a363;display:flex;align-items:center;text-align:left;gap:15px;border-radius:15px;padding:12px;box-shadow:0 5px 0 #b9a070}
.mz-app .mz-v4-medal>span{font-size:35px}.mz-app .mz-v4-medal>div{display:flex;flex-direction:column}.mz-app .mz-v4-medal small{font-size:12px;color:#72532c}.mz-app .mz-v4-medal strong{font-size:clamp(16px,1.8vw,22px)}
.mz-app .mz-v4-victory-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;padding:8px}
.mz-app .mz-v4-victory-actions .mz-btn{font-size:clamp(15px,1.6vw,19px);min-height:58px}
.mz-app .mz-v4-placements{color:#ad7731;font-weight:800!important}
.mz-app .mz-task .mz-timer{font-variant-numeric:tabular-nums;min-width:210px}
@media(max-width:1000px){.mz-app .mz-v4-ready,.mz-app .mz-v4-narrative{grid-template-columns:36% 64%}.mz-app .mz-v4-scene{min-height:330px}.mz-app .mz-v4-tasktop{grid-template-columns:35% 1fr!important}.mz-app .mz-v4-actor{height:240px!important}}
@media(max-width:690px){.mz-app .mz-v4-ready,.mz-app .mz-v4-narrative{display:flex;flex-direction:column}.mz-app .mz-v4-scene{min-height:0;height:240px}.mz-app .mz-v4-ready-body,.mz-app .mz-v4-narrative-body{padding:18px}.mz-app .mz-v4-tasktop{grid-template-columns:1fr!important}.mz-app .mz-v4-actor{height:190px!important}.mz-app .mz-v4-tasktop .mz-speech{margin:8px}.mz-app .mz-v4-character-stage{height:155px!important}.mz-app .mz-v4-victory-art{height:185px}.mz-app .mz-v4-victory-actions{flex-direction:column;width:100%}.mz-app .mz-v4-medals{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.mz-app .mz-v4-actor .mz-v4-scene-img{animation:none}}
.mz-app .mz-v4-feedback-backdrop{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;background:#041c27c9;backdrop-filter:blur(7px);padding:15px}
.mz-app .mz-v4-feedback{max-width:940px;width:100%;display:grid;grid-template-columns:45% 55%;overflow:hidden;border:4px solid #dfb66d;border-radius:26px;box-shadow:0 24px 90px #000a;background:linear-gradient(#fffbea,#f2dab1);animation:mz-popup .25s ease-out}
.mz-app .mz-v4-feedback-illustration{max-height:445px;min-height:300px;background:#19394c;overflow:hidden}
.mz-app .mz-v4-feedback-illustration img{width:100%;height:100%;object-fit:cover}
.mz-app .mz-v4-feedback-text{padding:30px;display:flex;flex-direction:column;gap:15px;align-items:flex-start;justify-content:center;text-align:left}
.mz-app .mz-v4-feedback-text h2{font-size:clamp(25px,3vw,42px);color:#21483d}
.mz-app .mz-v4-feedback-text p{font-size:clamp(15px,1.6vw,20px);line-height:1.5}
.mz-app .mz-v4-feedback-text .mz-btn{font-size:18px}
@keyframes mz-popup{from{opacity:.5;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
@media(max-width:670px){.mz-app .mz-v4-feedback{grid-template-columns:1fr}.mz-app .mz-v4-feedback-illustration{height:170px;min-height:170px}.mz-app .mz-v4-feedback-text{padding:17px;align-items:center;text-align:center}}
@media(prefers-reduced-motion:reduce){.mz-app .mz-v4-feedback{animation:none}}
