.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;min-height:790px;overflow:hidden}.live-map{position:relative;min-height:790px;display:flex;align-items:center;justify-content:center;background:#071523;overflow:hidden;touch-action:none}.map-canvas{position:relative;height:min(787px,calc(100vw - 610px));min-height:620px;aspect-ratio:1/1;background:#16a8c8 url('gta5-atlas.jpg') center/contain no-repeat;box-shadow:0 0 0 1px #1e607c,0 20px 55px #0008;transform-origin:center;will-change:transform;cursor:grab;user-select:none}.live-map.dragging .map-canvas{cursor:grabbing}.map-controls{position:absolute;z-index:5;left:14px;top:14px;display:flex;gap:6px;padding:6px;border:1px solid #28536a;border-radius:10px;background:#03111ddd;box-shadow:0 8px 24px #0008}.map-controls button{width:34px;height:34px;border:1px solid #24516c;border-radius:7px;background:#09243a;color:#dff7ff;font-size:18px;cursor:pointer}.map-controls button:hover{background:#126090}.map-marker{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:6px;border:2px solid var(--marker,#2de6a4);border-radius:18px;background:#031827ed;color:#fff;padding:5px 9px;cursor:pointer;box-shadow:0 0 0 4px color-mix(in srgb,var(--marker,#2de6a4) 20%,transparent),0 5px 15px #000a;z-index:3;transition:left .5s linear,top .5s linear}.map-marker span{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--marker,#2de6a4);color:#00131c;font-size:11px;transform:rotate(var(--heading,0deg))}.map-marker b{max-width:110px;overflow:hidden;text-overflow:ellipsis;font-size:10px}.map-marker small{color:#91afbf;font-size:8px}.map-trail{position:absolute;width:5px;height:5px;transform:translate(-50%,-50%);border-radius:50%;background:#52eaff;box-shadow:0 0 7px #52eaff;opacity:var(--trail-opacity,.4);z-index:1}.map-credit{position:absolute;right:8px;bottom:7px;padding:3px 6px;border-radius:5px;background:#00101bbd;color:#b6dced;font-size:9px}.map-roster{padding:18px;border-left:1px solid #16405e;background:#030b17;max-height:790px;overflow:auto}.map-roster input{width:100%;height:40px;margin-bottom:12px;padding:0 12px;border:1px solid #153a59;border-radius:8px;background:#061526;color:#fff}.map-player{width:100%;display:grid;grid-template-columns:1fr auto;text-align:left;gap:4px;padding:11px;border:0;border-bottom:1px solid #112d47;background:transparent;color:#cce8f7;cursor:pointer}.map-player:hover{background:#0a2137}.map-player span{color:#56c7f4;font-size:10px}.map-player small{grid-column:1/-1;color:#66869d;overflow:hidden;text-overflow:ellipsis}.map-player .activity{color:#38dfa1;font-weight:700}.license-line{color:#55bff3;word-break:break-all;font-size:10px}@media(max-width:1100px){.map-canvas{height:auto;width:120%;min-height:0;flex:none}.map-layout{grid-template-columns:minmax(0,1fr) 310px}}@media(max-width:900px){.map-layout{grid-template-columns:1fr}.map-roster{border-left:0;border-top:1px solid #16405e;max-height:none}.live-map{min-height:620px}.map-canvas{width:120%}}
/* Compact, precise player pins and readable street information. */
.player-live-location{display:grid;gap:4px;margin:0 0 12px;padding:11px 13px;border:1px solid #1d628d;border-radius:9px;background:#061b2d}.player-live-location b{color:#55cfff;font-size:11px}.player-live-location strong{color:#f2fbff}.player-live-location span{color:#43dca8;font-size:11px}
.map-marker{width:24px!important;height:24px!important;display:grid!important;place-items:center!important;border:2px solid #fff!important;border-radius:6px!important;background:var(--marker,#2de6a4)!important;color:#00131c!important;padding:0!important;gap:0!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--marker,#2de6a4) 28%,transparent),0 5px 15px #000c!important}
.map-marker:hover{transform:translate(-50%,-50%) scale(1.25)!important;z-index:6!important}
.map-marker span{width:100%!important;height:100%!important;border-radius:4px!important;background:transparent!important;font-size:12px!important;font-weight:900!important}
.map-player .map-address{color:#d5efff!important;font-weight:700;white-space:normal}
.map-canvas{background-size:100% 100%!important}
.map-marker{transform:translate(-50%,-50%) scale(var(--map-inverse,1))!important}.map-marker:hover{transform:translate(-50%,-50%) scale(calc(var(--map-inverse,1) * 1.2))!important}.map-trail{transform:translate(-50%,-50%) scale(var(--map-inverse,1))}.map-focus{transform:translate(-50%,-50%) scale(var(--map-inverse,1))!important}
.map-marker span:after{content:'';position:absolute;left:50%;top:3px;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:7px solid #00131c;transform:translateX(-50%)}
.map-focus{position:absolute;z-index:2;width:46px;height:46px;border:1px solid #56d8ff99;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 12px #42cfff14;pointer-events:none;animation:mapPulse 1.7s infinite}.map-focus:before,.map-focus:after{content:'';position:absolute;background:#56d8ff}.map-focus:before{left:22px;top:-7px;width:1px;height:60px}.map-focus:after{top:22px;left:-7px;height:1px;width:60px}@keyframes mapPulse{50%{box-shadow:0 0 0 22px #42cfff00}}
.map-canvas{background:#06131e!important;overflow:hidden;will-change:auto!important}.map-tiles{position:absolute;left:-32.7869%;top:-32.7869%;width:163.9344%;height:163.9344%;z-index:0;pointer-events:none}.map-tiles img{position:absolute;display:block;max-width:none;object-fit:fill;image-rendering:-webkit-optimize-contrast;transform:scale(1.012)}.map-canvas>#mapTrails,.map-canvas>#mapMarkers{position:absolute;inset:0;z-index:1}.map-canvas>#mapMarkers{z-index:3}.map-credit{z-index:4}
.log-chart-panel{position:relative;margin-bottom:16px}.log-chart-panel canvas{width:100%;height:330px}.log-tooltip{position:absolute;z-index:4;min-width:165px;padding:10px;border:1px solid #24516c;border-radius:8px;background:#020b15ee;color:#dff7ff;font-size:11px;pointer-events:none;box-shadow:0 12px 30px #000b}.log-tooltip b{display:block;margin-bottom:5px}.log-tooltip span{display:flex;justify-content:space-between;gap:18px}.log-totals{margin-bottom:16px}.protected-account{opacity:.86}.protected-account select,.protected-account button{display:none}.account-lock{color:#42dba3;font-size:11px;font-weight:700}
