#geo-map{position:absolute;inset:0;z-index:0;background:#e8ecdc;font-family:inherit}.map-mode .game-top,.map-mode .game-dock,.map-mode .player-corner,.map-mode .quest-launch,.map-mode .simulation-label{z-index:1001}.map-mode .game-panel,.map-mode .quest-panel{z-index:1002}.map-mode .game-top{pointer-events:none}.map-mode .game-top>*{pointer-events:auto}.map-mode .simulation-label{background:#fffaeecc;border-radius:12px;padding:3px 8px;bottom:6px}.brand-filters{position:absolute;top:111px;left:50%;transform:translateX(-50%);display:flex;gap:7px;padding:6px;background:#fffaf0ee;border:2px solid #fffdf0;border-radius:18px;z-index:1001;box-shadow:0 5px 0 #53694e20;max-width:calc(100% - 170px)}.brand-filters button{display:flex;align-items:center;gap:7px;font-size:11px;background:none;padding:9px 12px;border-radius:12px;white-space:nowrap;min-height:36px}.brand-filters button>b{font-weight:600}.brand-filters button>span{font-size:18px}.brand-filters button.active{background:#e9c17e;color:#584d2f}.brand-filters button:hover{background:#eeecd9}.brand-filters button.active:hover{background:#e9c17e}.map-list-button{position:absolute;right:29px;top:113px;z-index:1001;width:45px;height:45px;display:grid;place-items:center;background:#fffaf0;border:2px solid #fffdf0;border-radius:14px;box-shadow:0 4px 0 #53694e20;font-size:24px}.geo-marker{background:none!important;border:none!important}.pin-shadow{position:absolute;left:8px;bottom:5px;width:44px;height:14px;background:#2445363d;filter:blur(3px);border-radius:50%;transform:rotate(-15deg)}.mini-building{position:absolute;left:7px;bottom:13px;width:42px;height:45px;transform:translateY(0);transition:transform .18s;filter:drop-shadow(0 3px 1px #2f513649)}.mini-building:hover{transform:translateY(-7px)}.building-front{position:absolute;width:31px;height:36px;left:0;bottom:0;background:var(--building);transform:skewY(13deg);display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:7px 5px;border-radius:2px}.building-front i{display:block;background:#fff0c4;width:4px;height:5px;border-radius:1px}.building-side{position:absolute;right:0;bottom:0;width:12px;height:36px;background:var(--building);filter:brightness(.75);transform:skewY(-25deg);transform-origin:left bottom}.building-roof{position:absolute;left:0;top:0;width:33px;height:16px;background:var(--building);filter:brightness(1.3);transform:skewY(13deg) skewX(-35deg);transform-origin:left bottom;border-radius:2px}.mini-building>span{position:absolute;left:7px;top:-20px;display:grid;place-items:center;width:30px;height:30px;background:#fffaf0;border-radius:10px;box-shadow:0 3px 0 #c3c6b9;font-size:18px;transform:translateX(0)}.mini-building.shop{height:30px}.mini-building.shop .building-front,.mini-building.shop .building-side{height:25px}.mini-building.shop .building-roof{top:-1px}.mini-building.shop .building-front{padding:7px 5px 4px;gap:3px}.mini-building.shop .building-front i{height:8px}.mini-building.shop .building-front i:nth-child(n+4){display:none}.mini-building.shop>span{top:-22px}.geo-tooltip{font-family:inherit!important;border:2px solid #fffdf0!important;background:#fffbf0!important;padding:9px 12px!important;border-radius:12px!important;box-shadow:0 4px 0 #9fae9530!important;color:#496849!important;font-size:11px!important}.leaflet-control-attribution{font-size:9px!important;background:#fffaf0ec!important;padding:3px 7px!important;border-radius:8px 0 0 0}.leaflet-control-attribution a{color:#446d5c!important}.leaflet-control-zoom{border:2px solid #fffaf0!important;border-radius:12px!important;overflow:hidden;box-shadow:0 4px 0 #53694e20!important;margin-bottom:40px!important;margin-right:27px!important}.leaflet-control-zoom a{background:#fffaf0!important;color:#58785c!important;border-color:#e4e5d2!important;width:36px!important;height:36px!important;line-height:36px!important;font-size:20px!important}.place-preview{height:125px;background:linear-gradient(135deg,#e9efdc,#dae6cf);margin:-30px -30px 23px;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:25px 25px 0 0}.preview-building{font-size:55px;filter:drop-shadow(0 8px 0 #65816022)}.place-preview>span{font-size:10px;font-weight:700;color:#6c8868;margin-top:14px;background:#fff8;padding:5px 12px;border-radius:15px}.game-dialog .place-preview+h2{font-size:22px;margin-bottom:14px}.place-address{text-align:center;font-size:12px;color:#7f8f72;line-height:1.7;padding:0 10px}.place-chips{display:flex;justify-content:center;gap:10px;margin:17px 0}.place-chips>span{font-size:10px;padding:6px 12px;background:#e9eeda;border-radius:12px;color:#84916b}.place-status{display:block;text-align:center;color:#ab8a53;font-size:10px;line-height:1.7;max-width:350px;margin:0 auto 15px}.place-actions{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:23px}.map-link{display:inline-flex;align-items:center;text-decoration:none;color:#7e906f;background:#e8eddb;border-radius:13px;padding:14px 17px;font-size:12px;font-weight:600}.places-list{display:grid;gap:7px;max-height:55vh;overflow:auto}.places-list button{display:flex;align-items:center;gap:13px;background:#eef0e0;border-radius:14px;padding:13px;text-align:left;width:100%}.places-list button>span{font-size:23px}.places-list button>div{min-width:0;flex:1}.places-list b{font-size:12px;display:block}.places-list small{font-size:10px;color:#8c987f;display:block;margin-top:5px;line-height:1.6}.places-list i{font-style:normal;color:#a1ad8b}.ecosystem-tree{margin:20px 0;text-align:center}.tree-root{padding:17px;border-radius:15px;background:#dfe8cf;font-size:18px;font-weight:700}.tree-root b{font-size:13px;color:#b18b49;padding:0 8px}.tree-children{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.tree-children button{position:relative;display:grid;gap:9px;background:#eef0df;border-radius:16px;padding:20px 10px}.tree-children button:before{content:'';position:absolute;top:-20px;height:20px;width:1px;background:#bdc9aa;left:50%}.tree-children button span{font-size:30px;color:#95a17c}.tree-children button b{font-size:12px}.tree-children button small{font-size:9px;color:#98a085;line-height:1.6}.tree-extra{display:flex;justify-content:center;gap:12px;font-size:12px;margin-top:25px}.tree-extra span{padding:13px;border-radius:15px;background:#f0e9e2}.vault-lock{text-align:center;font-size:60px;margin-bottom:25px}.gate-steps{display:flex;align-items:center;justify-content:center;gap:25px;padding:10px 0 20px}.gate-steps>span{font-size:33px;text-align:center}.gate-steps small{display:block;font-size:11px;margin-top:10px;color:#9aa283}.gate-steps i{font-size:20px;color:#b7bfa4;font-style:normal}.game-button:disabled{opacity:.6;cursor:default;transform:none}.capital-control input{width:125px}.map-load-error{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);background:#fffaf0;padding:25px;border-radius:20px;line-height:1.7;font-size:14px}.map-load-error button{display:block;margin-top:15px;background:#e9eddb;padding:12px;border-radius:10px;width:100%}#geo-map[data-tile-error="true"]:after{content:'⚠ Bản đồ nền chưa tải · Ghim vẫn dùng được';position:absolute;bottom:115px;left:50%;transform:translateX(-50%);padding:9px 13px;border-radius:13px;background:#fff2d9;z-index:1000;font-size:10px;white-space:nowrap}.overview-stats>span{font-size:15px;gap:8px}.map-mode .game-stats{box-shadow:0 5px 20px #fff6;border-radius:30px}.map-mode .game-panel,.map-mode .quest-panel{top:182px;bottom:115px}.map-mode .player-corner{bottom:30px}.map-mode .quest-launch{bottom:33px}@media(max-width:1100px){.brand-filters{top:100px;gap:3px}.brand-filters button{font-size:10px;padding:8px 9px}.map-list-button{top:102px;right:23px}.overview-stats>span{font-size:13px}.map-mode .game-panel,.map-mode .quest-panel{top:168px;bottom:108px}.tree-children button b{font-size:11px}}@media(max-width:760px){.brand-filters{top:76px;left:70px;right:13px;transform:none;max-width:none;overflow:auto;justify-content:space-between;gap:2px;border-radius:14px;padding:4px}.brand-filters button{font-size:9px;gap:4px;padding:7px 8px;min-height:31px}.brand-filters button>span{font-size:17px}.brand-filters button>b{display:none}.brand-filters button.active>b{display:block;font-size:8px}.map-list-button{right:13px;top:127px;width:36px;height:36px;border-radius:12px;font-size:21px}.overview-stats>span{font-size:11px;min-width:37px;padding:6px}.overview-stats{gap:4px}.map-mode .game-panel,.map-mode .quest-panel{top:auto;max-height:calc(100dvh - 230px);bottom:109px}.map-mode .simulation-label{bottom:5px;font-size:6px;left:35%;transform:none}.leaflet-control-attribution{font-size:7px!important;padding:2px 4px!important;max-width:160px}.leaflet-control-zoom{margin-right:13px!important;margin-bottom:26px!important}.leaflet-control-zoom a{width:30px!important;height:30px!important;line-height:30px!important;font-size:17px!important}.place-preview{margin:-23px -18px 20px;height:110px}.game-dialog .place-preview+h2{font-size:19px}.place-address{font-size:11px}.place-actions{gap:9px}.map-link{font-size:10px;padding:12px 14px}.place-actions .game-button{font-size:11px;padding:11px 13px}.place-actions .icon-btn{width:40px;height:40px;font-size:19px;border-radius:12px}.places-list button{padding:11px;gap:10px}.places-list b{font-size:10px}.places-list small{font-size:9px}.tree-root{font-size:15px}.tree-root b{font-size:11px}.tree-children{gap:7px}.tree-children button{padding:15px 7px}.tree-children button b{font-size:9px}.tree-children button small{font-size:8px}.tree-extra{font-size:10px;gap:8px}.gate-steps{gap:17px}.gate-steps small{font-size:10px}.gate-steps>span{font-size:27px}.capital-control input{width:100px}.map-mode .quest-launch{bottom:31px}.map-mode .player-corner{bottom:29px}#geo-map[data-tile-error="true"]:after{font-size:8px;bottom:103px;max-width:250px;white-space:normal;text-align:center}}
@media(max-width:760px){.top-tools .icon-btn:first-child{display:inline-grid}}
.tea-cup-marker{transition:filter .18s}.tea-cup-image{position:absolute;inset:0 auto auto 0;width:84px;height:84px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 4px 3px #24453655)}.tea-pin-stem{position:absolute;left:41px;top:76px;width:2px;height:8px;background:#0748ad;pointer-events:none}.tea-pin-point{position:absolute;left:42px;top:84px;width:11px;height:11px;box-sizing:border-box;transform:translate(-50%,-50%);background:#0753bd;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #063787,0 2px 4px #17345455;pointer-events:none}.tea-cup-marker:hover .tea-pin-point,.tea-cup-marker:focus-visible .tea-pin-point{box-shadow:0 0 0 3px #0753bd44,0 0 0 1px #063787}.tea-cup-marker:focus-visible{outline:2px solid #d7aa51;outline-offset:-8px;border-radius:16px}
.hotel-image-marker{--pin-color:#323c47}.metro-image-marker{--pin-color:#aa1730}.hotel-marker-image{position:absolute;left:0;top:0;width:76px;height:80px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 4px 3px #24453655)}.hotel-pin-stem{position:absolute;left:37px;top:77px;width:2px;height:7px;background:var(--pin-color);pointer-events:none}.hotel-pin-point{position:absolute;left:38px;top:84px;width:11px;height:11px;box-sizing:border-box;transform:translate(-50%,-50%);background:var(--pin-color);border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px var(--pin-color),0 2px 4px #17345455;pointer-events:none}.hotel-image-marker:hover .hotel-pin-point,.hotel-image-marker:focus-visible .hotel-pin-point{box-shadow:0 0 0 3px #0753bd44,0 0 0 1px var(--pin-color)}.hotel-image-marker:focus-visible{outline:2px solid #d7aa51;outline-offset:-5px;border-radius:14px}
.mat-mascot-marker{--pin-color:#178547}.mat-mascot-image{position:absolute;left:0;top:0;width:76px;height:80px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 4px 3px #24453655)}.mat-mascot-marker:focus-visible{outline:2px solid #d7aa51;outline-offset:-5px;border-radius:14px}
/* Bright geographic color comes from the local vector style, not a gray filter. */
#geo-map{background:#f9f6ea}
