/* Kampaň Výpravy V2: světy, obtížnosti, předpověď, denní únava (campaign.js + adventure-v2.js) */
.v2w-worlds{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 12px}
.v2w-world-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 6px;border-radius:10px;border:2px solid #6c765f;background:#232b29;color:#d9dccb;cursor:pointer;text-align:center;line-height:1.15;font-family:inherit}
.v2w-world-btn .v2w-ico{font-size:20px}
.v2w-world-btn b{font-size:12.5px}
.v2w-world-btn small{font-size:10.5px;color:#aab39a}
.v2w-world-btn:hover{border-color:#d4b36a}
.v2w-world-btn.on{background:linear-gradient(145deg,#a77c39,#664822);border-color:#f5d28b;color:#fff5d5;box-shadow:0 0 16px #e6a44d55}
.v2w-world-btn.on small{color:#ffe7b0}
.v2w-world-btn.locked{opacity:.55;filter:grayscale(.45)}
@media(max-width:760px){.v2w-worlds{grid-template-columns:repeat(2,minmax(0,1fr))}}

.v2w-tiers{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px}
.v2w-tier{padding:6px 11px;border-radius:999px;border:2px solid #6c765f;background:#232b29;color:#d9dccb;font-weight:700;font-size:12px;cursor:pointer;font-family:inherit}
.v2w-tier:hover{border-color:#d4b36a}
.v2w-tier.on{background:linear-gradient(145deg,#a77c39,#664822);border-color:#f5d28b;color:#fff5d5;box-shadow:0 0 12px #e6a44d55}
.v2w-tier.auto{border-color:#58c48d;color:#c9ffe6}
.v2w-tier.auto.on{background:linear-gradient(145deg,#1f7a52,#124b33);border-color:#8cf0bf;color:#eafff4;box-shadow:0 0 14px #3dffa044}
.v2w-tier.locked{opacity:.42}
.v2w-tierinfo{margin:4px 0 8px;font-size:12.5px;color:#cfd6bf}
.v2w-tierinfo b{color:#ffe7b0}

.v2w-day{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;margin:2px 0 10px;color:#cfd6bf}
.v2w-day i{display:block;flex:1;min-width:120px;height:6px;border-radius:4px;background:#0007;overflow:hidden}
.v2w-day i b{display:block;height:100%;background:linear-gradient(90deg,#6fbf73,#e6c14f)}
.v2w-day.tired i b{background:#d56a4a}
.v2w-day .mercyChip{font-size:11.5px}

.v2w-fcrow{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.v2w-fc{flex:1;min-width:104px;padding:8px 10px;border-radius:10px;border:1px solid #6c765f;background:#1b2321;display:grid;gap:1px;text-align:center}
.v2w-fc span{font-size:12px;color:#cfd6bf}
.v2w-fc b{font-size:20px;line-height:1.1}
.v2w-fc small{font-size:10.5px;color:#aab39a}
.v2w-fc.good{border-color:#4fae6a}.v2w-fc.good b{color:#8be6a2}
.v2w-fc.mid{border-color:#c9a64a}.v2w-fc.mid b{color:#f0d176}
.v2w-fc.bad{border-color:#c0584a}.v2w-fc.bad b{color:#ff9d8f}
.v2-sub{margin:-4px 0 10px;color:#cfd6bf;font-style:italic}

/* mapa světů: štítky u okrajů, zámky podle úrovně, dokončené úseky cesty */
.v2w-world .v36-map-node .v36-node-label{left:50%!important;right:auto!important;transform:translateX(-50%)!important;top:calc(50% + 23px)!important}
.v2w-world .v36-map-node[data-edge="r"] .v36-node-label{left:auto!important;right:-8px!important;transform:none!important}
.v2w-world .v36-map-node[data-edge="l"] .v36-node-label{left:-8px!important;right:auto!important;transform:none!important}
.v36-node-label small{display:block;font-size:9.5px;opacity:.8;font-weight:600;line-height:1.1}
.v36-map-node.lvlLock .v36-node-number,.v38-dungeon-node.lvlLock .v38-dungeon-number{border-style:dashed!important;filter:saturate(.45)}
.v36-route-main path.v2w-todo{opacity:.4}
.v36-route-main path.v2w-done{stroke:#b6f1a7;filter:drop-shadow(0 0 3px #2fdc6a)}
.v36-world.v2w-tall.v2-world{aspect-ratio:887/1774!important;max-width:540px;margin:0 auto!important}
.v36-world.v2w-tall .v28-map-image{height:100%!important;object-fit:cover!important}

/* nepřátelé podle světa a elitní/důstojničtí */
.v2w-enemy.v2w-1 .v2-sprite{filter:hue-rotate(165deg) saturate(1.1) brightness(1.1)}
.v2w-enemy.v2w-2 .v2-sprite{filter:sepia(.85) saturate(1.8) hue-rotate(-12deg)}
.v2w-enemy.v2w-3 .v2-sprite{filter:grayscale(.6) hue-rotate(250deg) brightness(.82) contrast(1.1)}
.v2w-enemy.v2w-4 .v2-sprite{filter:hue-rotate(325deg) saturate(1.6) contrast(1.1)}
.v2-battle-scene.v2w-1 .v2-battle-mist{filter:hue-rotate(165deg) brightness(1.2)}
.v2-battle-scene.v2w-2 .v2-battle-mist{filter:sepia(1) saturate(1.5)}
.v2-battle-scene.v2w-3 .v2-battle-mist{filter:hue-rotate(250deg) brightness(.7)}
.v2-battle-scene.v2w-4 .v2-battle-mist{filter:hue-rotate(320deg) saturate(1.6)}
.v2-enemy-elite{filter:drop-shadow(0 0 12px rgba(255,211,90,.85))}
.v2-result-lose h3{color:#ff9d8f}
.v2-result-win h3{color:#ffe7a7}

/* Styly mapy 1–4 (jen pro test): 1 malba · 2 pergamen · 3 noc · 4 ručně kreslená (handmap.js) */
.v2w-styles{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 10px;font-size:12px;color:#cfd6bf}
.v2w-style-btn{padding:5px 11px;border-radius:999px;border:2px solid #6c765f;background:#232b29;color:#d9dccb;font-weight:700;font-size:12px;cursor:pointer;font-family:inherit}
.v2w-style-btn:hover{border-color:#d4b36a}
.v2w-style-btn.on{background:linear-gradient(145deg,#a77c39,#664822);border-color:#f5d28b;color:#fff5d5}
.v2w-ov{position:absolute;inset:0;z-index:3;pointer-events:none;display:none}
.v2w-style1 .v28-map-image{filter:grayscale(.3) sepia(.8) saturate(.8) contrast(1.05) brightness(1.1)!important}
.v2w-style1 .v2w-ov{display:block;background:radial-gradient(ellipse at 50% 50%,transparent 48%,rgba(70,40,10,.55) 100%),var(--tint);mix-blend-mode:multiply;opacity:.85}
.v2w-style2 .v28-map-image{filter:brightness(.5) saturate(1.3) contrast(1.2)!important}
.v2w-style2 .v2w-ov{display:block;background:radial-gradient(ellipse at 50% 35%,rgba(160,190,255,.14),rgba(5,8,35,.7) 100%),linear-gradient(180deg,rgba(25,35,110,.4),rgba(8,8,40,.05))}
.v2w-style2 .v36-route-main path{stroke:#bfe7ff;filter:drop-shadow(0 0 5px #5ab8ff)}
.v2w-style2 .v36-route-main path.v2w-done{stroke:#a8ffc9}
.v36-world .v28-map-image.v2w-hand{display:block!important;position:relative!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:fill!important}
.v2w-hand .v2w-handsvg{display:block;width:100%;height:100%}
.v2w-style3 .v36-map-node .v36-node-label{background:#2b1e10e8;border-color:#c9a86a}
/* v0.74 – vlastnosti nepřátel, hvězdy, průběh souboje, rady */
.v2w-traits{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0 8px;justify-content:center}
.v2-dialog .v2w-traits{justify-content:flex-start}
.v2-victory .v2w-traits{justify-content:center}
.v2w-trait{font-size:11.5px;padding:3px 8px;border-radius:999px;border:1px solid #8a6d3f;background:#2b2419;color:#f3dcb0;cursor:help;white-space:nowrap}
.v2w-trait.more{border-style:dashed;border-color:#8d7bb8;background:#241f30;color:#d8ccf5}
.v2w-stars{display:flex;gap:3px;margin:4px 0 8px;font-size:15px;letter-spacing:1px}
.v2w-stars span{opacity:.45;filter:grayscale(1)}
.v2w-stars span.on{opacity:1;filter:none}
.v2w-evs{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:6px 0 0;font-size:12px}
.v2w-evs span{padding:2px 8px;border-radius:6px;background:#1f2a26;border:1px solid #4f5d52;color:#e6efd8}
.v2w-advice ul{margin:6px 0 6px 18px;padding:0}
.v2w-advice li{margin:2px 0}
.v2w-advice small{display:block;opacity:.85}
.v2w-star{border-color:#d9b75a!important;color:#ffe9a8}
.v2-enemy .v2-sprite img{height:auto;aspect-ratio:1;margin-top:28px;object-fit:cover;border-radius:14px;border:2px solid #b08a4a;box-shadow:0 6px 18px #000a}
.v2-enemy-boss .v2-sprite img{border-color:#e0b04f;box-shadow:0 0 22px #e0b04f66,0 6px 18px #000a}
/* v0.75 – živel světa a runy schopností */
.v2w-trait.good{border-color:#4fae6a;background:#1c2b20;color:#b9f0c6}
.v2w-trait.bad{border-color:#c0584a;background:#2e1d1a;color:#ffc2b8}
.v2w-trait.el-earth{border-color:#6f9a4e}.v2w-trait.el-dark{border-color:#8a72c4}.v2w-trait.el-fire{border-color:#d5763f}
.sockList,.runeInv{display:grid;gap:6px;margin:6px 0 12px}
.sockRow,.runeInvRow{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px dashed #6d7a8a;border-radius:10px;background:#0f1a22aa}
.sockRow.full{border-style:solid;border-color:#5aa6d6;background:#10263399}
.sockRow>div,.runeInvRow>div:first-child{flex:1;min-width:0}
.sockRow small,.runeInvRow small{display:block;opacity:.8;font-size:12px}
.sockGem{font-size:22px}
.runeInvRow i{opacity:.75}
.runeInvBtns{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.runeSum{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.sockRow b{display:block}
.sockRow button,.runeInvBtns button{white-space:nowrap;flex:0 0 auto}
@media(max-width:620px){.sockRow,.runeInvRow{flex-wrap:wrap}.runeInvBtns{width:100%;justify-content:flex-start}}
.runeInvRow,.sockRow{flex-wrap:wrap}
.runeInvRow>div:first-child{flex:1 1 100%}
.runeInvBtns{width:100%;justify-content:flex-start}
.sockRow>div{flex:1 1 60%}
.v2w-pot{font-size:11.5px;padding:3px 9px;border-radius:999px}
.topBoostButton.topPotion{border-color:#7aa7d6}
.topBoostButton.topPotion.paused{opacity:.6}
.v2w-lvlup{font-size:16px;font-weight:800;text-align:center;border-color:#e0b04f!important;background:linear-gradient(180deg,#4a3a12,#2a210c)!important;color:#ffe9a8;animation:v2lvl 1.2s ease 2}
@keyframes v2lvl{0%,100%{box-shadow:0 0 0 #e0b04f00}50%{box-shadow:0 0 22px #e0b04faa}}
