.maplibregl-marker{will-change:transform}
.poi-anchor{width:44px;height:48px;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;opacity:1;visibility:visible;transition:opacity .12s linear}
.poi-anchor.poi-hidden{opacity:0;visibility:hidden;pointer-events:none}
.poi-anchor .poi-marker{pointer-events:auto;flex:0 0 auto;transition:none!important}
.poi-anchor .poi-marker:after{animation:none!important;transform:none!important;opacity:.35}
.poi-anchor .poi-marker.selected{width:36px!important;height:36px!important;box-shadow:0 0 0 6px rgba(255,173,92,.18),0 8px 20px rgba(129,82,43,.18)!important}
.poi-anchor .poi-marker.visited.selected{box-shadow:0 0 0 6px rgba(41,184,140,.16),0 8px 20px rgba(65,114,96,.16)!important}
.poi-marker.category-vár{background:linear-gradient(145deg,#e66f62,#bc4b52)!important}.poi-marker.category-kastély{background:linear-gradient(145deg,#c68ae6,#8b5db5)!important}.poi-marker.category-templom{background:linear-gradient(145deg,#729ae9,#4f73c2)!important}.poi-marker.category-kilátó{background:linear-gradient(145deg,#f2a85c,#dc7d35)!important}.poi-marker.category-természet{background:linear-gradient(145deg,#6fce91,#3da968)!important}.poi-marker.category-múzeum{background:linear-gradient(145deg,#8d99a8,#657180)!important}.poi-marker.category-élmény{background:linear-gradient(145deg,#ef78a9,#cc4c80)!important}.poi-marker.category-fürdő{background:linear-gradient(145deg,#55bfd9,#309bb8)!important}.poi-marker.category-híd{background:linear-gradient(145deg,#e5b967,#ba8b38)!important}.poi-marker.category-emlékmű{background:linear-gradient(145deg,#f2c75c,#d59b28)!important}.poi-marker.category-ikon{background:linear-gradient(145deg,#ff9e5f,#e6733d)!important}.poi-marker.visited{background:linear-gradient(145deg,#64dfb6,#22aa80)!important;color:#fff!important}
.settlement-label{transition:opacity .12s linear!important}.settlement-label.zoomed{transform:none!important}
.user-location-marker{width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.96);border:1px solid rgba(31,115,93,.18);box-shadow:0 4px 14px rgba(38,86,74,.2);display:grid;place-items:center;pointer-events:none}.user-location-marker:before{content:"";position:absolute;width:34px;height:34px;border-radius:50%;background:rgba(42,190,148,.16)}.user-location-marker span{position:relative;z-index:1;width:12px;height:12px;border-radius:50%;background:#20b889;border:3px solid #fff;box-shadow:0 1px 4px rgba(22,105,83,.25)}
#checkinBtn.checkin-blocked{background:linear-gradient(145deg,#ff7b72,#e7555f)!important;color:#fff!important;box-shadow:0 10px 24px rgba(220,76,86,.22)!important;border-color:transparent!important}#checkinBtn.checkin-ready{background:linear-gradient(145deg,#58d5aa,#20af83)!important;color:#fff!important;box-shadow:0 10px 24px rgba(32,175,131,.2)!important}#checkinBtn.checkin-done{background:#dfe9e5!important;color:#7c918a!important;box-shadow:none!important}
.badge-group-title{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;margin:18px 2px 0;padding-top:4px;color:#294943;font-size:14px;font-weight:850}.badge-group-title:first-child{margin-top:0}.badge-group-title small{font-size:10px;font-weight:700;color:#82958f;background:#edf6f2;border-radius:999px;padding:5px 8px}.category-progress-list{display:grid;gap:7px}.category-progress-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid rgba(44,91,80,.09);box-shadow:0 6px 18px rgba(51,88,80,.04)}.category-progress-row span{display:flex;align-items:center;gap:8px;color:#46655e;font-size:11px}.category-progress-row span b{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;background:#eef7f3;color:#187b62}.category-progress-row strong{font-size:11px;color:#294943}
.scope-city-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(44,91,80,.09);font-size:10px;color:#5e7972}.scope-city-row strong{color:#176f5a;font-size:10px}.scope-city-row[hidden]{display:none!important}
.city-hub{min-width:88px;border:1px solid rgba(43,104,89,.16);background:rgba(255,255,255,.92);color:#274b43;border-radius:15px;padding:7px 9px;box-shadow:0 8px 22px rgba(49,88,79,.14);display:flex;align-items:center;gap:7px;cursor:pointer;white-space:nowrap;transition:opacity .14s linear,box-shadow .14s linear,border-color .14s linear}.city-hub-name{font-size:10px;font-weight:850}.city-hub-progress{font-size:9px;color:#14775e;background:#e5f7f0;border-radius:999px;padding:3px 5px}.city-hub:hover,.city-hub.selected{border-color:rgba(29,151,113,.45);box-shadow:0 0 0 4px rgba(44,190,145,.12),0 10px 24px rgba(49,88,79,.16)}.city-hub.complete .city-hub-progress{background:#29b988;color:#fff}.city-hub-hidden{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.city-mission-card{position:absolute;z-index:12;top:177px;left:18px;width:min(360px,calc(100% - 36px));border-radius:18px;padding:12px 13px;color:#31534d}.city-mission-card[hidden]{display:none!important}.city-mission-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.city-mission-top small{display:block;color:#78918a;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.09em;margin-bottom:2px}.city-mission-top strong{display:block;color:#24483f;font-size:14px}.tracker-state{flex:0 0 auto;font-size:8px;font-weight:850;color:#6f8781;background:#eef5f2;border-radius:999px;padding:5px 7px}.tracker-state.active{color:#11765a;background:#ddf7ed}.tracker-state.low{color:#8a691a;background:#fff4d8}.tracker-state.error{color:#b04d54;background:#fff0f1}.city-mission-progress{margin-top:9px}.city-mission-progress>span{display:block;font-size:9px;color:#637e77;margin-bottom:5px}.city-mission-card p{margin:9px 0 10px;color:#6f8781;font-size:9px;line-height:1.45}.city-mission-actions{display:flex;gap:7px}.mission-primary,.mission-secondary{min-height:34px;border-radius:11px;padding:8px 10px;font-size:9px;font-weight:850;cursor:pointer}.mission-primary{flex:1;border:0;background:linear-gradient(145deg,#56d4a8,#20af83);color:#fff}.mission-primary:disabled{opacity:.55;cursor:default}.mission-secondary{border:1px solid #dfebe6;background:#f5faf8;color:#5c756e}.city-mission-live{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:9px;padding-top:9px;border-top:1px solid rgba(44,91,80,.09);font-size:8px}.city-mission-live[hidden]{display:none!important}.city-mission-live>span{display:flex;align-items:center;gap:5px;color:#527169;white-space:nowrap}.city-mission-live>strong{min-width:0;color:#31534d;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-dot{width:7px;height:7px;border-radius:50%;background:#28bc8b;box-shadow:0 0 0 4px rgba(40,188,139,.11)}
.maplibregl-ctrl-bottom-right{display:block!important;bottom:88px!important;right:8px!important}.maplibregl-ctrl-attrib{font-size:9px!important;opacity:.72;border-radius:8px!important;background:rgba(255,255,255,.82)!important}.maplibregl-ctrl-attrib-button{width:24px!important;height:24px!important}#map,.maplibregl-map,.maplibregl-canvas-container{overscroll-behavior:contain}.maplibregl-canvas-container.maplibregl-interactive{cursor:grab}.maplibregl-canvas-container.maplibregl-interactive:active{cursor:grabbing}
@media(max-width:520px){.city-hub{min-width:76px;padding:6px 7px}.city-hub-name{font-size:9px}.city-hub-progress{font-size:8px}.map-progress{max-width:300px}.city-mission-card{top:186px;left:14px;width:calc(100% - 28px);padding:11px 12px}}
