/**
 * Карта игрока (VulnonaMAP) — стили маркера/телепорта.
 * Подключается из index.html.
 */

.map-player-pin {
    position: absolute;
    z-index: 5;
    width: 16px;
    height: 20px;
    margin: 0;
    padding: 0;
    pointer-events: none;
    transform: translate(-50%, -100%) rotate(var(--map-player-yaw, -90deg));
    transform-origin: 50% 100%;
    transition: transform 0.15s linear;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.85));
}
.map-player-pin.is-zooming {
    transition: none !important;
}
.map-player-pin-svg {
    display: block;
    width: 16px;
    height: 20px;
    overflow: visible;
}
.map-player-pin-path {
    fill: #cd5b5b;
    stroke: #912121;
    stroke-width: 1.4;
    stroke-linejoin: round;
}

.map-stage {
    position: relative;
    width: 100%;
    aspect-ratio: 2780 / 2790;
    min-height: 220px;
    flex: 0 0 auto;
}

/* lowres в потоке — иначе stage без высоты (полоска сверху) */
.map-image--low {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 2780 / 2790;
    object-fit: fill;
}

.map-image--high {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    object-fit: fill;
}

.map-teleport-pins-layer {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 8;
}

.map-teleport-pin {
    position: absolute;
    width: 44px;
    height: 52px;
    margin: 0;
    margin-left: -22px;
    margin-top: -52px;
    border: none;
    outline: none !important;
    box-shadow: none;
    padding: 0;
    cursor: pointer;
    pointer-events: auto;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    background: transparent center / contain no-repeat url("../img/teleport-pin.png");
    --mtp-pin-shade: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.65));
    --mtp-marker-hue: hue-rotate(0deg);
    filter: var(--mtp-marker-hue) var(--mtp-pin-shade);
    opacity: 0.92;
    transform: scale(var(--mtp-pin-scale, 1));
    transform-origin: 50% 100%;
    box-sizing: border-box;
}
.map-teleport-pin:focus,
.map-teleport-pin:focus-visible,
.map-teleport-pin:active {
    outline: none !important;
    box-shadow: none;
}
.map-teleport-pin::before {
    content: none;
}
.map-teleport-pin.selected {
    opacity: 1;
    filter: var(--mtp-marker-hue) drop-shadow(0 0 8px rgba(120, 220, 255, 0.95)) drop-shadow(0 2px 6px rgba(0, 0, 0, 0.7));
    transform: scale(var(--mtp-pin-scale, 1));
}
.map-teleport-pin[data-marker="cyan"] {
    --mtp-marker-hue: hue-rotate(150deg) saturate(1.2);
}
.map-teleport-pin[data-marker="green"] {
    --mtp-marker-hue: hue-rotate(75deg) saturate(1.15);
}
.map-teleport-pin[data-marker="gold"] {
    --mtp-marker-hue: hue-rotate(-12deg) saturate(1.35) brightness(1.08);
}
.map-teleport-pin[data-marker="violet"] {
    --mtp-marker-hue: hue-rotate(255deg) saturate(1.25);
}
.map-teleport-pin[data-marker="red"] {
    --mtp-marker-hue: hue-rotate(-38deg) saturate(1.35);
}
