/* M1.2 — The Arven Chronicles: contracts, finds and an inn.
 * Deliberately compact; preserve the location art behind open dialogs. */
.adventure-hud{
 display:grid;grid-template-columns:minmax(125px,1fr) minmax(125px,1fr) minmax(180px,1.3fr);
 align-items:center;gap:10px;margin:0 0 12px;padding:9px 12px;
 background:linear-gradient(135deg,#f5f8f8,#e4ebec);border:1px solid #b1c0c5;
 border-radius:11px;box-shadow:0 2px 12px #23323e0d
}
.adventure-resource{display:flex;flex-direction:column;gap:5px;min-width:0}
.adventure-resource>span{display:flex;align-items:center;justify-content:space-between;gap:8px;
 font:700 11px Inter,system-ui,sans-serif;color:#3a4850}
.adventure-resource strong{color:#263b42;font-variant-numeric:tabular-nums;font-size:10px;white-space:nowrap}
.adventure-resource-track{overflow:hidden;height:7px;background:#a7b5b9;border-radius:99px;
 box-shadow:inset 0 1px 2px #0003}
.adventure-resource-track>span{display:block;height:100%;border-radius:99px;
 transition:width .25s ease}
.adventure-resource.hp .adventure-resource-track>span{background:linear-gradient(90deg,#b3253d,#e74760)}
.adventure-resource.mana .adventure-resource-track>span{background:linear-gradient(90deg,#246bc2,#38a6f0)}
.quest-hint{display:flex;justify-content:space-between;align-items:center;gap:10px;
 min-height:30px;padding:6px 10px;background:#d9e2e4;border:1px solid #c4d0d3;
 border-radius:8px;font-size:10px;color:#50626b}
.quest-hint strong{font-variant-numeric:tabular-nums;color:#3a6958;white-space:nowrap}
.quest-hint-title{font-weight:750;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.quest-hint-blank{color:#66787d}
.city-poi.poi-board{left:32%;top:32%}
.city-poi.poi-inn{left:65%;top:35%;border-color:#f7dfba;color:#fff}
.poi-inn .poi-symbol{color:#ffe0a1}
.world-cache{position:absolute;z-index:7;left:12%;top:76%;transform:translate(-50%,-50%);
 border:1px solid #ecf8f2bd;border-radius:10px;
 display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
 min-width:100px;min-height:92px;padding:4px 8px;background:#25363aa6;
 color:#fff;backdrop-filter:blur(4px);box-shadow:0 8px 23px #10232e77;cursor:pointer;
 transition:transform .18s ease,background .18s ease}
.world-cache:not(:disabled):hover,.world-cache:not(:disabled):focus-visible{
 transform:translate(-50%,-59%) scale(1.06);background:#3f595dd9;border-color:#fff}
.cache-symbol{font-size:46px;line-height:1.2;filter:drop-shadow(0 3px 5px #0009)}
.cache-spark{position:absolute;top:-14px;right:9px;font-size:26px;color:#f6e7af;
 text-shadow:0 0 14px #ffd88a;animation:cache-shimmer 2.7s ease-in-out infinite}
.cache-caption{font:800 10px Inter,system-ui,sans-serif;color:#f5faf5;
 text-shadow:0 2px 3px #000e;white-space:nowrap}
.world-cache.cache-searched{opacity:.37;filter:grayscale(1);cursor:default;pointer-events:none}
@keyframes cache-shimmer{0%,100%{opacity:.3;transform:scale(.7) rotate(0deg)}
 50%{opacity:1;transform:scale(1.15) rotate(16deg)}}
.adventure-quest-list{display:grid;gap:10px}
.quest-contract{border:1px solid #b7c5c9;border-radius:11px;background:#f7faf9;
 padding:14px 15px;box-shadow:0 3px 12px #1b2c3310}
.quest-contract.quest-ready{border-color:#a68c54;background:linear-gradient(130deg,#fffdfa,#f4eee3)}
.quest-contract.quest-claimed{opacity:.67}
.quest-contract-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.quest-contract-top>div{min-width:0}
.quest-contract-top small{display:block;color:#75858b;letter-spacing:.5px;font-weight:750;font-size:9px}
.quest-contract h3{margin:4px 0;font:700 16px Cinzel,Georgia,serif;color:#2d3d44}
.quest-contract p{font-size:11px;color:#53666d;margin:8px 0 10px;line-height:1.5}
.quest-objectives{display:flex;flex-wrap:wrap;gap:6px}
.quest-objective{display:inline-flex;align-items:center;gap:3px;padding:5px 8px;
 background:#e5edef;color:#45575e;border:1px solid #c9d3d6;border-radius:6px;
 font-size:10px;font-weight:650}
.quest-objective.complete{background:#dcebe2;color:#327454;border-color:#a9ccba}
.quest-done{font-size:11px;font-weight:850;color:#527a65}
.quest-progress-count{font-size:13px;color:#505d68;font-variant-numeric:tabular-nums}
.quest-claim{background:#547960;border-color:#42684c;white-space:nowrap}
.quest-claim:hover:not(:disabled){background:#699e77}
.quest-reward{display:flex;align-items:center;flex-wrap:wrap;gap:6px 11px;margin-top:12px;
 border-top:1px solid #d8e1e2;padding-top:9px}
.quest-reward span{font-size:9px;color:#9a783a;letter-spacing:1px;font-weight:850}
.quest-reward strong{font-size:10px;color:#4c625e}
.inn-vitals{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0 16px}
.inn-vitals>span{border:1px solid #bdc9ce;border-radius:7px;background:#edf3f3;padding:9px 10px;
 font-size:11px;color:#54646d}
.inn-vitals strong{color:#283943;font-variant-numeric:tabular-nums}
.inn-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.inn-option{display:flex;align-items:center;flex-wrap:wrap;gap:10px;
 padding:16px;background:linear-gradient(135deg,#f6f8f7,#e7edef);
 border:1px solid #b8c6c8;border-radius:10px}
.inn-emblem{flex:0 0 42px;display:grid;place-items:center;width:42px;height:42px;
 border-radius:10px;background:#303e43;color:#f9e6b1;font-size:24px}
.inn-option>div{flex:1 1 140px}
.inn-option strong{font-size:12px;color:#37454e}
.inn-option p{font-size:10px;line-height:1.5;color:#6b7a82;margin:5px 0 0}
.inn-option button{min-width:120px}
@media(max-width:930px){
 .adventure-hud{gap:6px;padding:7px;margin-bottom:7px}
 .adventure-resource>span{font-size:10px}
 .quest-hint{font-size:9px;padding:5px}
 .city-poi.poi-board{left:34%;top:30%}
 .city-poi.poi-inn{left:66%;top:35%}
 .world-cache{min-width:82px;min-height:77px;left:11%;top:78%}
 .cache-symbol{font-size:34px}.cache-caption{font-size:9px}
}
@media(max-width:660px){
 .adventure-hud{grid-template-columns:minmax(80px,1fr) minmax(80px,1fr) minmax(120px,1.1fr);
 padding:5px;gap:4px;border-radius:7px}
 .adventure-resource>span{font-size:9px;gap:2px}
 .adventure-resource strong{font-size:8px}
 .adventure-resource-track{height:5px}
 .quest-hint{min-height:24px;font-size:8px}
 .quest-hint strong{font-size:9px}
 .city-poi.poi-board{left:34%;top:29%}
 .city-poi.poi-inn{left:65%;top:32%}
 .world-cache{min-width:71px;min-height:61px;padding:3px 5px;left:10%;top:79%}
 .cache-symbol{font-size:28px}.cache-caption{font-size:8px}
 .cache-spark{font-size:20px}
 .quest-contract{padding:9px}.quest-contract h3{font-size:13px}
 .quest-contract-top{gap:6px}
 .quest-contract-top .trade-button{font-size:9px;padding:6px}
 .inn-options{gap:6px}
 .inn-option{padding:9px;gap:7px}
 .inn-option button{min-width:94px}
}
@media(prefers-reduced-motion:reduce){.cache-spark{animation:none!important;opacity:1}
 .adventure-resource-track>span,.world-cache{transition:none!important}}
