/* Quest: zemljevid in boj (preprosta grafika: CSS, Twemoji, SVG junaki) */
.quest-map,.quest-battle{position:fixed;inset:0;z-index:140;overflow-y:auto;padding:max(12px,env(safe-area-inset-top)) 14px max(20px,env(safe-area-inset-bottom));background:linear-gradient(180deg,#1b3a6b,#2f6b4a 55%,#6b4a2f)}
.qm-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.qm-head h2{flex:1;margin:0;font-size:22px}.qm-head h2:focus,.qb-prompt:focus{outline:none}.qm-head .flag{width:36px;height:27px}.qm-close{min-width:48px;min-height:48px;padding:0;border-radius:50%;font-size:20px}
.qm-path{list-style:none;margin:0 auto;padding:0;max-width:520px;display:flex;flex-direction:column;gap:14px;background:repeating-linear-gradient(180deg,transparent 0 22px,#ffffff10 22px 44px)}
.qm-li{display:flex;justify-content:flex-start}.qm-li.right{justify-content:flex-end}
.qm-node{position:relative;display:flex;align-items:center;gap:10px;min-width:60%;max-width:100%;padding:10px 14px;border-radius:22px;border:3px solid #fff;color:#fff;font-size:16px;text-align:left;box-shadow:0 5px 0 #0005;background:linear-gradient(160deg,#2f5fb8,#6a3fd6)}
.qm-node.done{background:linear-gradient(160deg,#2f9d5a,#1f6b3f);border-color:#ffd54a}.qm-node.locked{background:#3a4658;border-color:#8a96a8;opacity:.75}.qm-node.open{box-shadow:0 0 0 4px #ffd54acc,0 5px 0 #0005}
.qm-face{width:56px;height:56px;border-radius:50%;background:#ffffff30;display:flex;align-items:center;justify-content:center;flex:none}.qm-img{width:40px;height:40px}.qm-star{position:absolute;top:-10px;right:-6px;font-size:26px}
.qb-top{display:flex;align-items:center;gap:10px}.qb-bar{flex:1;height:18px;border-radius:9px;background:#0006;border:2px solid #fff8;overflow:hidden}.qb-fill{height:100%;background:linear-gradient(90deg,#ff5a5a,#ffb84d);transition:width .4s}.qb-hearts{font-size:22px;letter-spacing:2px;white-space:nowrap}
.qb-scene{position:relative;display:flex;align-items:flex-end;justify-content:space-between;height:min(34vh,240px);margin:10px 0;padding:0 8px;border-radius:24px;background:linear-gradient(180deg,#7ec8ff,#bfe8a8 70%,#8fbf6a)}
.qb-hero,.qb-boss{width:34%;display:flex;justify-content:center;align-items:flex-end;transition:transform .25s}.qb-avatar{width:100%;max-width:130px;height:auto}.qb-bossimg{width:100%;max-width:130px;height:auto}
.qb-hero.attack{animation:qb-lunge-r .5s ease}.qb-boss.attack{animation:qb-lunge-l .5s ease}.qb-hero.hurt,.qb-boss.hurt{animation:qb-hurt .45s ease}
.qb-pop{position:absolute;left:50%;top:18%;transform:translateX(-50%);font-size:34px;font-weight:900;color:#fff;text-shadow:0 3px 0 #000a;opacity:0}.qb-pop.go{animation:qb-pop .9s ease}
.qb-hint{margin:0;text-align:center;color:#e6f0ff;font-size:14px}.qb-prompt{text-align:center;margin:6px 0 10px;font-size:clamp(22px,6vw,32px)}
.qb-opts{display:grid;gap:10px;max-width:520px;margin:0 auto}.qb-opt{min-height:60px;border-radius:18px;border:3px solid #fff;background:#ffffff26;color:#fff;font-size:20px;font-weight:800;padding:10px 14px;box-shadow:0 4px 0 #0004}.qb-opt.right{background:#3ddc84;color:#06301a}.qb-opt.wrong{background:#ff7a7a;color:#3a0707}.qb-opt:disabled:not(.right):not(.wrong){opacity:.55}
.qb-result{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:420px;margin:12vh auto 0;text-align:center}.qb-resimg{width:min(50vw,180px);height:auto}.qb-result h2{margin:0;font-size:clamp(28px,8vw,40px)}.qb-btn{width:100%;min-height:60px;font-size:20px}
@keyframes qb-lunge-r{40%{transform:translateX(80%) scale(1.1)}}@keyframes qb-lunge-l{40%{transform:translateX(-80%) scale(1.1)}}@keyframes qb-hurt{25%{transform:translateX(-8px) rotate(-4deg);filter:brightness(1.6)}75%{transform:translateX(8px) rotate(4deg)}}@keyframes qb-pop{0%{opacity:0;transform:translate(-50%,10px)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,-50px)}}
@media (prefers-reduced-motion:reduce){.qb-hero.attack,.qb-boss.attack,.qb-hero.hurt,.qb-boss.hurt,.qb-pop.go{animation:none}.qb-pop.go{opacity:1}}
.mc-quest{background:linear-gradient(160deg,#2f9d5a,#1f6b6b)}
