/* QV-10: portrait map, event and hunt catalogue. */
.qv-region-map{position:relative;height:330px;border:1px solid #648c79;border-radius:22px;overflow:hidden;background:#102e32 url('./assets/backgrounds/istok-outskirts.svg') center/cover;margin:12px 0 20px;box-shadow:inset 0 0 45px #061b24}
.qv-region-caption{position:absolute;left:14px;top:14px;color:#fff3cf;text-shadow:0 2px 5px #000;letter-spacing:.1em;font-size:12px}
.qv-route-point{position:absolute;max-width:75%;min-height:54px;text-align:left;background:#102a2df0;border:1px solid #b6dabb;border-radius:16px;padding:10px 14px;box-shadow:0 5px 20px #0008;color:#f5eed4}
.qv-route-point small{display:block;color:#b6dbcc;margin-top:4px}.qv-route-point[data-route="fireflies"]{left:7%;top:44%}.qv-route-point[data-route="drones"]{right:6%;top:73%}
.qv-route-detail,.qv-event{border:1px solid #53776d;border-radius:20px;background:linear-gradient(130deg,#203e3b,#0c242b);padding:18px;margin:12px 0}.qv-route-detail p,.qv-event p{margin:10px 0}.qv-event-scene{height:150px;background:url('./assets/backgrounds/istok-outskirts.svg') 20% 40%/200%;border-radius:14px;margin:14px 0;position:relative}.qv-event-scene.ruins{background-position:85% 88%}.qv-event-scene:after{content:'✧';position:absolute;inset:0;display:grid;place-content:center;color:#efffd3;text-shadow:0 0 20px #abffa6;font-size:65px}.qv-event-scene.ruins:after{content:'⌬';color:#f9cc87}.qv-event .stack .btn{min-height:52px;text-align:left;line-height:1.4}.qv-event-progress{display:flex;justify-content:space-between;gap:12px;color:#bcdbc6}.qv-event-log{padding-left:20px;color:#adc6bb;font-size:12px;line-height:1.6}
.qv-hunt-card{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;padding:14px;border:1px solid #50766c;border-radius:18px;background:linear-gradient(135deg,#1c3c3a,#11292e);margin:12px 0}.qv-hunt-art{display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#507363,#15292e);border-radius:16px;min-height:90px}.qv-hunt-art svg{width:70px;height:80px}.qv-hunt-card h3{font-size:17px}.qv-hunt-card p{margin:6px 0;line-height:1.5}.qv-hunt-card .btn{grid-column:1/-1;min-height:48px}.qv-session-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.qv-session-actions .btn{flex:1;min-height:44px}#battle-catalog h2{margin-top:10px}#battle-catalog[hidden],#battle-arena[hidden]{display:none!important}.qv-result-resources{font-size:18px;line-height:1.8;color:#ead5a4}.qv-route-detail:focus{outline:2px solid #cbeacd;outline-offset:3px}
@media(max-width:350px){.qv-region-map{height:300px}.qv-hunt-card{grid-template-columns:64px minmax(0,1fr)}.qv-hunt-art svg{width:60px}.qv-route-point{font-size:13px}.qv-event{padding:14px}}
@media(prefers-reduced-motion:reduce){#expeditions,#battle{animation:none}}
/* The catalogue must grow with its cards; the arena keeps the proven flex layout. */
#battle.view.active{display:block;height:auto;min-height:0;overflow:visible;padding-bottom:16px}
#battle-arena{display:flex;flex-direction:column;gap:5px;min-height:770px}
#battle-arena>.qv-session-actions{flex:0 0 auto;margin-bottom:0}
#battle-arena .board{flex:0 0 auto;min-height:298px}
@media(max-height:760px){#battle-arena{min-height:730px;gap:4px}}
