/* ===== БРЗИ КВИЗ (и наредне игре) ===== */
.qz-setup label{display:block;font-size:12px;color:var(--muted);margin-bottom:2px}
.qz-setup select{min-width:120px}
.qz-rules{margin-top:10px;padding:8px 12px;border-radius:10px;background:#fefce8;border:1px solid #fde68a;font-size:13px}
.qz-timer{position:relative;height:18px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin:0 0 10px;flex:0 0 auto}
.qz-timer-fill{height:100%;background:linear-gradient(90deg,#16a34a,#84cc16);width:100%}
.qz-timer-n{position:absolute;right:10px;top:0;line-height:18px;font-size:12px;font-weight:800;color:#0f172a;font-variant-numeric:tabular-nums}
.qz-timer-n.hurry{color:#dc2626;animation:ekblink .4s infinite alternate}
.qz-meta{font-size:12px;flex:0 0 auto;text-align:center;margin-bottom:2px}
/* тајмер стоји на врху картице, а питање са одговорима се центрира у остатку */
body.igra .qz-stage .qz-meta{margin-top:auto}
body.igra .qz-stage .flag-msg{margin-bottom:auto}
.qz-q{font-size:20px}
.flag-opts.two{grid-template-columns:1fr 1fr;max-width:560px}
.qz-got{font-weight:800;color:#15803d;font-size:1.15em;display:inline-block;animation:ekpop .5s ease-out}
.qz-wrong{padding:8px 0;border-top:1px solid var(--line)}
.qz-wrong:first-of-type{border-top:0}
body.present .qz-timer{height:24px}
body.present .qz-timer-n{line-height:24px;font-size:15px}
body.present .qz-meta{font-size:clamp(12px,1.6vh,18px)}
@keyframes ekblink{from{filter:brightness(1)}to{filter:brightness(1.45)}}
@keyframes ekpop{0%{transform:translateY(8px) scale(.6);opacity:0}100%{transform:none;opacity:1}}
/* ===== МЕМОРИЈА (ПАРОВИ) ===== */
.mem-wrap{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;padding:4px 0}
.mem-board{display:grid;gap:10px;justify-content:center;--memw:140px}
.mem-card{width:var(--memw);height:calc(var(--memw) * .75);background:transparent;border:0;padding:0;cursor:pointer;perspective:800px;font:inherit}
.mem-inner{position:relative;width:100%;height:100%;transition:transform .45s;transform-style:preserve-3d}
.mem-card.open .mem-inner,.mem-card.done .mem-inner{transform:rotateY(180deg)}
.mem-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 2px 8px rgba(15,23,42,.14)}
.mem-front{background:linear-gradient(135deg,#0e7c5a,#134e4a);color:#fff;font-size:calc(var(--memw) * .3);font-weight:800;border:2px solid #0a5f45}
.mem-front::before{content:"";position:absolute;inset:6px;border:2px dashed rgba(255,255,255,.35);border-radius:9px}
.mem-back{background:#fff;color:var(--ink);transform:rotateY(180deg);border:2px solid var(--line);padding:6px;font-weight:700;font-size:clamp(11px,calc(var(--memw) * .11),22px);text-align:center;line-height:1.2;word-break:break-word}
.mem-card.long .mem-back{font-size:clamp(10px,calc(var(--memw) * .085),17px)}
.mem-card.img .mem-back{padding:4px}
.mem-back img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px}
.mem-card.done .mem-back{border-color:#16a34a;background:#f0fdf4}
.mem-card.done{opacity:.85;cursor:default}
.mem-card.miss .mem-back{border-color:#dc2626;background:#fff5f5}
.mem-card:not(.open):not(.done):hover .mem-inner{transform:rotateY(0) scale(1.03)}
body.igra .mem-wrap{flex:1 1 auto}
/* ===== СЛЕПА КАРТА КАО ИГРА ===== */
.mg-map{position:relative;display:inline-block;line-height:0;max-width:100%}
.mg-map.tap{cursor:crosshair}
.mg-map img{max-width:100%;display:block;border-radius:8px;border:1px solid var(--line);-webkit-user-drag:none;user-select:none}
.mg-pin{position:absolute;transform:translate(-50%,-50%);width:22px;height:22px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 2px rgba(0,0,0,.35),0 2px 6px rgba(0,0,0,.4);z-index:2;pointer-events:none;line-height:1.2}
.mg-pin.target{background:#16a34a;animation:mgpulse 1s ease-out 2}
.mg-pin.ok{background:#16a34a}
.mg-pin.bad{background:#dc2626}
.mg-lbl{position:absolute;left:50%;top:100%;transform:translate(-50%,6px);background:#0f172a;color:#fff;font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.35)}
@keyframes mgpulse{0%{box-shadow:0 0 0 2px rgba(0,0,0,.35),0 0 0 0 rgba(22,163,74,.7)}100%{box-shadow:0 0 0 2px rgba(0,0,0,.35),0 0 0 22px rgba(22,163,74,0)}}
body.igra .mg-stage .flag-big{min-height:calc(34vh * var(--zk,1));max-height:64vh}
body.igra.present .mg-stage .flag-big{min-height:calc(44vh * var(--zk,1));max-height:74vh}
body.present .mg-pin{width:28px;height:28px}
/* ===== ДНЕВНИ ИЗАЗОВ + ЗНАЧКЕ ===== */
.dy-card{background:linear-gradient(135deg,#ecfdf5,#fff);border-color:#a7f3d0}
.dy-date{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--brand-d);text-transform:uppercase}
.dy-done{padding:10px 12px;border-radius:10px;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}
.dy-streak{margin-top:12px;font-size:14px}
.bd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:10px}
.bd{border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center;background:#f8fafc;opacity:.75}
.bd.on{background:linear-gradient(160deg,#fff7ed,#fffbeb);border-color:#fcd34d;opacity:1;box-shadow:0 4px 14px rgba(245,158,11,.18)}
.bd-ico{font-size:34px;line-height:1.1;filter:grayscale(1)}
.bd.on .bd-ico{filter:none}
.bd-name{font-weight:800;font-size:13px;margin-top:4px}
.bd-desc{font-size:11px;color:var(--muted);line-height:1.3;margin-top:2px;min-height:28px}
.bd-ok{font-size:12px;color:#b45309;font-weight:700;margin-top:6px}
.bd-bar{height:6px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin-top:6px}
.bd-bar div{height:100%;background:var(--brand);border-radius:999px}
.bd-prog{font-size:11px;color:var(--muted);margin-top:2px}
.bd-mini{font-size:18px}
