/* coremap-map.css */
.coremap-map-card {
    padding: 0;
    overflow: hidden;
}

@media (max-width: 600px) {
.coremap-map-card {
        width: calc(100% + 36px);
        max-width: none;
        margin-right: -18px;
        margin-left: -18px;
        border-radius: 0;
    }

html.coremap-telegram-mobile:not(.coremap-telegram-fullscreen) body {
        padding-top: 12px;
    }
}

.coremap-map-header {
    padding: 16px 16px 12px;
}

.coremap-map-title {
    display: none;
}

.coremap-map-description {
    margin: 0;
    color: var(--tg-theme-hint-color, #8d99a8);
    font-size: 14px;
    line-height: 1.4;
}

.coremap-map-shell {
    position: relative;
    width: 100%;
    height: 62vh;
    min-height: 380px;
    max-height: 720px;
    overflow: hidden;
    background: #172033;
}

#coreMapMap {
    position: absolute;
    inset: 0;
}

.coremap-map-status {
    position: absolute;
    top: 12px;
    left: 12px;
    right: 12px;
    z-index: 7000;
    padding: 10px 12px;
    border-radius: 12px;
    color: #ffffff;
    background: rgba(22, 29, 43, 0.86);
    backdrop-filter: blur(10px);
    font-size: 13px;
    line-height: 1.4;
    pointer-events: none;
}

.coremap-map-status.success {
    background: rgba(20, 104, 62, 0.88);
}

.coremap-map-status.error {
    background: rgba(150, 42, 42, 0.9);
}

.coremap-location-button {
    position: absolute;
    left: 16px;
    bottom: max(
        16px,
        env(safe-area-inset-bottom, 0px),
        var(--tg-safe-area-inset-bottom, 0px),
        var(--tg-content-safe-area-inset-bottom, 0px),
        var(--coremap-content-safe-bottom, 0px)
    );
    z-index: 30;
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    padding: 0;
    margin: 0;
    border: 1px solid rgba(255, 255, 255, 0.19);
    border-radius: 16px;
    background: rgba(13, 20, 32, 0.88);
    color: #edf3ff;
    font-size: 0;
    box-shadow:
        0 8px 22px rgba(2, 8, 18, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    cursor: pointer;
    transition:
        transform 140ms ease,
        box-shadow 140ms ease,
        background 140ms ease;
    -webkit-tap-highlight-color: transparent;
}

.coremap-location-button::before,
.coremap-location-button::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.coremap-location-button::before {
    width: 23px;
    height: 23px;
    border: 2px solid currentColor;
    border-radius: 50%;
    box-shadow: inset 0 0 0 5px rgba(13, 20, 32, 0.88);
}

.coremap-location-button::after {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 2px rgba(13, 20, 32, 0.88);
}

.coremap-location-button:active {
    transform: translateY(1px) scale(0.96);
    background: rgba(30, 42, 61, 0.94);
}

.coremap-location-button:disabled {
    opacity: 0.55;
    cursor: wait;
    transform: none;
}

@media (max-width: 600px) {
.coremap-map-shell {
        height: 72vh;
        min-height: 430px;
    }

.coremap-map-header {
        padding: 14px 14px 10px;
    }
}

@supports (height: 100dvh) {
@media (max-width: 600px) and (orientation: portrait) {
.coremap-map-shell {
            height: clamp(430px, 72dvh, 650px);
            min-height: 0;
        }
}
}

.coremap-user-location-dot {
    position: relative;
    width: 20px;
    height: 20px;
    border: 3px solid #ffffff;
    border-radius: 50%;
    background: #2388ff;
    box-shadow:
        0 0 0 6px rgba(35, 136, 255, 0.22),
        0 3px 14px rgba(0, 0, 0, 0.45);
    pointer-events: none;
}

.coremap-user-location-dot::after {
    content: "";
    position: absolute;
    inset: 3px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.32);
}

.coremap-map-shell {
    background: #0b1220;
}

.coremap-map-actions {
    display: grid;
    gap: 10px;
    padding: 12px 14px 14px;
    background: #0b1220;
}

.coremap-reputation-report-button {
    width: 100%;
    min-height: 48px;
    padding: 12px 16px;
    border: 1px solid rgba(86, 211, 146, 0.46);
    border-radius: 14px;
    background:
        linear-gradient(
            135deg,
            rgba(37, 178, 108, 0.22),
            rgba(76, 104, 239, 0.14)
        );
    color: #aaf8c9;
    font: inherit;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.2;
    cursor: pointer;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
    transition:
        background 150ms ease,
        border-color 150ms ease,
        color 150ms ease,
        transform 150ms ease;
    -webkit-tap-highlight-color: transparent;
}

.coremap-reputation-report-button[hidden] {
    display: none !important;
}

.coremap-reputation-report-button.active {
    border-color: rgba(86, 211, 146, 0.86);
    background:
        linear-gradient(
            135deg,
            rgba(37, 178, 108, 0.95),
            rgba(76, 104, 239, 0.88)
        );
    color: #ffffff;
    box-shadow:
        0 8px 24px rgba(37, 178, 108, 0.2);
}

.coremap-reputation-report-button:active {
    transform: scale(0.985);
}

.coremap-reputation-report-button:disabled {
    opacity: 0.55;
    cursor: wait;
}

.coremap-report-marker {
    position: relative;
    width: 22px;
    height: 22px;
    border: 3px solid #ffffff;
    border-radius: 50%;
    background: #f04444;
    box-shadow:
        0 0 0 7px rgba(240, 68, 68, 0.22),
        0 4px 16px rgba(0, 0, 0, 0.5);
    cursor: pointer;
}

.coremap-report-marker::after {
    content: "";
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.42);
}

.coremap-report-marker.user-reputation {
    background: #f5ad22;
    box-shadow:
        0 0 0 7px rgba(245, 173, 34, 0.26),
        0 4px 16px rgba(0, 0, 0, 0.5);
}

.coremap-add-report-button {
    position: absolute;
    left: 50%;
    bottom: max(
        12px,
        env(safe-area-inset-bottom, 0px),
        var(--tg-safe-area-inset-bottom, 0px),
        var(--tg-content-safe-area-inset-bottom, 0px),
        var(--coremap-content-safe-bottom, 0px)
    );
    z-index: 8;
    display: none;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    padding: 0;
    margin: 0;
    transform: translateX(-50%);
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, 0.42);
    border-radius: 20px;
    background:
        linear-gradient(
            135deg,
            #4b82ff,
            #7857ff
        );
    color: transparent;
    font-size: 0;
    font-weight: 800;
    line-height: 1;
    box-shadow:
        0 10px 28px rgba(48, 75, 210, 0.36),
        inset 0 1px 0 rgba(255, 255, 255, 0.28);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition:
        transform 150ms ease,
        box-shadow 150ms ease,
        background 150ms ease;
}

.coremap-add-report-button.visible {
    display: flex;
}

.coremap-add-report-button::before,
.coremap-add-report-button::after {
    content: "";
    position: absolute;
    width: 23px;
    height: 3px;
    border-radius: 999px;
    background: #ffffff;
    box-shadow:
        0 1px 5px rgba(0, 0, 0, 0.26);
    transition:
        transform 150ms ease,
        width 150ms ease;
}

.coremap-add-report-button::after {
    transform: rotate(90deg);
}

.coremap-add-report-button:active {
    transform:
        translateX(-50%)
        scale(0.96);
}

.coremap-add-report-button:disabled {
    opacity: 0.55;
    cursor: wait;
}

.coremap-marker-quota-lock {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.coremap-add-report-button.quota-locked {
    opacity: 1;
    background: #26303d;
    border-color: rgba(157, 168, 183, 0.25);
    color: #9ca8b8;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
    cursor: default;
}

.coremap-add-report-button.quota-locked::before,
.coremap-add-report-button.quota-locked::after {
    display: none;
}

.coremap-add-report-button.quota-locked > .coremap-marker-quota-lock {
    width: 25px;
    height: 25px;
}

.coremap-marker-quota-map-timer {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 9px);
    transform: translateX(-50%);
    width: max-content;
    max-width: calc(100vw - 28px);
    padding: 7px 11px;
    box-sizing: border-box;
    border: 1px solid rgba(157, 168, 183, 0.2);
    border-radius: 11px;
    background: rgba(23, 30, 40, 0.94);
    color: #b8c3d2;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    overflow-wrap: anywhere;
    pointer-events: none;
}

.coremap-marker-quota-map-timer[hidden],
.coremap-marker-quota-timer[hidden] {
    display: none;
}

.coremap-marker-quota-timer {
    padding: 10px 12px;
    border: 1px solid rgba(157, 168, 183, 0.18);
    border-radius: 12px;
    background: rgba(146, 162, 183, 0.06);
    color: #aebacc;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    overflow-wrap: anywhere;
    font-variant-numeric: tabular-nums;
}

#coreMapReputationReportButton.quota-locked {
    --coremap-function-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239ca8b8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10' width='14' height='11' rx='3'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3M12 14v3'/%3E%3C/svg%3E");
    --coremap-function-a: #303b4b;
    --coremap-function-b: #26303d;
    --coremap-function-shadow: transparent;
    background: #26303d;
    color: #9ca8b8;
    border-color: rgba(157, 168, 183, 0.25);
    box-shadow: none;
    opacity: 1;
    cursor: default;
}

#coreMapReputationReportButton.quota-locked:not(.coremap-function-tile)::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-inline-end: 8px;
    background: var(--coremap-function-icon) center / contain no-repeat;
    vertical-align: -3px;
}

.coremap-map-shell.placement-mode {
    cursor: crosshair;
}

.coremap-add-report-button.placement-active {
    background:
        linear-gradient(
            135deg,
            #f0a126,
            #e45d48
        );
    border-color: rgba(255, 255, 255, 0.62);
    box-shadow:
        0 10px 28px rgba(230, 119, 48, 0.36),
        inset 0 1px 0 rgba(255, 255, 255, 0.26);
}

.coremap-add-report-button.placement-active::before {
    width: 25px;
    transform: rotate(45deg);
}

.coremap-add-report-button.placement-active::after {
    width: 25px;
    transform: rotate(-45deg);
}

.coremap-placement-marker {
    position: relative;
    width: 26px;
    height: 26px;
    border: 3px solid #ffffff;
    border-radius: 50%;
    background: #f5ad22;
    box-shadow:
        0 0 0 9px rgba(245, 173, 34, 0.25),
        0 5px 18px rgba(0, 0, 0, 0.5);
    pointer-events: none;
}

.coremap-placement-marker::after {
    content: "";
    position: absolute;
    inset: 5px;
    border-radius: 50%;
    background: #ffffff;
}

.coremap-report-marker.is-deleting {
    opacity: 0.45;
    pointer-events: none;
}

.coremap-reputation-marker-modal {
    position: fixed;
    inset: 0;
    z-index: 2147482300;
    display: none;
    align-items: flex-end;
    justify-content: center;
    padding:
        max(12px, env(safe-area-inset-top, 0px))
        10px
        max(10px, env(safe-area-inset-bottom, 0px));
    box-sizing: border-box;
    background: rgba(2, 5, 12, 0.72);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    opacity: 0;
    transition: opacity 170ms ease;
}

.coremap-reputation-marker-modal.visible {
    display: flex;
}

.coremap-reputation-marker-modal.opened {
    opacity: 1;
}

.coremap-reputation-marker-panel {
    width: min(100%, 520px);
    min-width: 0;
    max-height: calc(100vh - 32px);
    max-height: calc(100dvh - max(12px, env(safe-area-inset-top, 0px)) - max(10px, env(safe-area-inset-bottom, 0px)));
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 20px;
    box-sizing: border-box;
    border: 1px solid rgba(142, 150, 244, 0.3);
    border-radius: 26px;
    background: linear-gradient(155deg, #202746, #111827 58%, #101626);
    color: #ffffff;
    box-shadow:
        0 24px 80px rgba(0, 0, 0, 0.62);
    transform: translateY(24px);
    transition:
        transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.coremap-reputation-marker-modal.opened
.coremap-reputation-marker-panel {
    transform: translateY(0);
}

.coremap-reputation-marker-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.coremap-reputation-marker-heading > div {
    min-width: 0;
}

.coremap-reputation-marker-icon {
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    height: 44px;
    border: 1px solid rgba(194, 186, 255, 0.45);
    border-radius: 15px;
    background: linear-gradient(145deg, #6575f7, #854bdf);
    box-shadow: 0 5px 20px rgba(109, 83, 230, 0.25);
}

.coremap-reputation-marker-icon svg {
    width: 24px;
    height: 24px;
    stroke: currentColor;
    stroke-width: 1.8;
}

.coremap-reputation-marker-eyebrow {
    display: block;
    margin-bottom: 3px;
    color: #a7b1d4;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.coremap-reputation-marker-title {
    margin: 0;
    font-size: 21px;
    font-weight: 900;
}

.coremap-reputation-marker-subtitle {
    margin: 0 0 10px;
    color: #b2bdd3;
    font-size: 13px;
    line-height: 1.45;
}

.coremap-reputation-marker-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
}

.coremap-reputation-direction {
    display: grid;
    gap: 8px;
    min-width: 0;
    padding: 12px;
    border: 1px solid rgba(132, 151, 255, 0.25);
    border-radius: 14px;
    background: rgba(85, 105, 218, 0.08);
}

.coremap-reputation-direction > strong {
    font-size: 13px;
}

.coremap-reputation-direction > strong,
.coremap-reputation-marker-field label {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 5px 10px;
}

.coremap-reputation-direction > strong > span,
.coremap-reputation-marker-field label > span {
    color: #8696b8;
    font-size: 10px;
    font-weight: 600;
}

.coremap-reputation-direction > p {
    margin: 0;
    color: #aeb9ca;
    font-size: 12px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.coremap-reputation-direction > span {
    color: #93a1b4;
    font-size: 12px;
}

.coremap-reputation-direction-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    gap: 8px;
    min-width: 0;
}

.coremap-reputation-direction-actions button {
    width: auto;
    min-width: 0;
    max-width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid rgba(132, 151, 255, 0.25);
    border-radius: 11px;
    background: rgba(85, 105, 218, 0.16);
    color: #d6deff;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
}

.coremap-reputation-direction-actions button[hidden] {
    display: none;
}

.coremap-reputation-direction-picker {
    position: fixed;
    z-index: 2147482301;
    left: 50%;
    bottom: calc(92px + env(safe-area-inset-bottom, 0px));
    transform: translateX(-50%);
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    align-items: center;
    gap: 12px;
    width: min(420px, calc(100vw - 32px));
    min-width: 0;
    max-width: calc(100vw - 32px);
    padding: 12px 14px;
    box-sizing: border-box;
    border: 1px solid rgba(143, 158, 255, 0.4);
    border-radius: 18px;
    background: #18233b;
    color: #e4e9ff;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.3);
    font-size: 14px;
    line-height: 1.35;
}

.coremap-reputation-direction-picker > span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.coremap-reputation-direction-picker > button {
    width: auto;
    min-width: 0;
    max-width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 8px 12px;
    box-sizing: border-box;
    border: 0;
    border-radius: 12px;
    background: #344569;
    color: #fff;
    font: inherit;
    white-space: nowrap;
}

.coremap-reputation-marker-field {
    display: grid;
    gap: 6px;
}

.coremap-reputation-marker-field label {
    color: #93a1b4;
    font-size: 12px;
    font-weight: 800;
}

.coremap-reputation-marker-field input,
.coremap-reputation-marker-field textarea {
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.055);
    color: #ffffff;
    font: inherit;
    outline: none;
    resize: vertical;
    transition:
        border-color 140ms ease,
        box-shadow 140ms ease;
}

.coremap-reputation-marker-field textarea {
    min-height: 82px;
    line-height: 1.4;
}

.coremap-reputation-marker-field input:focus,
.coremap-reputation-marker-field textarea:focus {
    border-color: rgba(104, 126, 255, 0.72);
    box-shadow: 0 0 0 3px rgba(88, 109, 242, 0.14);
}

.coremap-reputation-marker-field input.invalid {
    border-color: rgba(255, 103, 117, 0.88);
    box-shadow: 0 0 0 3px rgba(255, 82, 100, 0.12);
}

.coremap-reputation-marker-field small {
    color: #718097;
    font-size: 11px;
    line-height: 1.35;
}

.coremap-reputation-marker-file {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 10px 12px;
    box-sizing: border-box;
    border: 1px dashed rgba(126, 146, 255, 0.44);
    border-radius: 13px;
    background: rgba(126, 146, 255, 0.10);
    color: #d8ddff;
    font-size: 13px;
    font-weight: 850;
    cursor: pointer;
}

.coremap-reputation-marker-file input {
    display: none;
}

.coremap-reputation-marker-message {
    min-height: 18px;
    color: #ff9ca4;
    font-size: 12px;
    line-height: 1.35;
}

.coremap-reputation-marker-message:empty {
    display: none;
}

.coremap-reputation-marker-actions {
    display: grid;
    grid-template-columns: minmax(74px, 0.65fr) minmax(0, 1.65fr);
    gap: 10px;
}

.coremap-reputation-marker-actions button {
    min-width: 0;
    min-height: 48px;
    margin: 0;
    padding: 10px 12px;
    border: 0;
    border-radius: 14px;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
    font-size: 14px;
    line-height: 1.3;
    transition: opacity 160ms ease, transform 160ms ease;
}

.coremap-reputation-marker-actions button:active:not(:disabled) {
    transform: scale(0.98);
}

.coremap-reputation-marker-panel button:focus-visible {
    outline: 2px solid #b8bfff;
    outline-offset: 3px;
}

.coremap-reputation-marker-panel button:disabled,
.coremap-reputation-marker-panel textarea:disabled {
    cursor: default;
    opacity: 0.55;
}

.coremap-reputation-marker-cancel {
    background: rgba(255, 255, 255, 0.075);
    color: #d6deea;
}

.coremap-reputation-marker-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    background: linear-gradient(125deg, #6174f3, #8359db);
    color: #ffffff;
    box-shadow: 0 6px 20px rgba(89, 78, 224, 0.2);
}

.coremap-reputation-marker-submit > .coremap-marker-quota-lock {
    display: none;
}

.coremap-reputation-marker-panel .coremap-reputation-marker-submit.quota-locked {
    background: #2b3442;
    color: #9eacbf;
    box-shadow: none;
    opacity: 1;
}

.coremap-reputation-marker-submit.quota-locked > .coremap-marker-quota-lock {
    display: block;
}

.coremap-reputation-marker-spinner {
    display: none;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    box-sizing: border-box;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
}

.coremap-reputation-marker-modal[data-submit-state="sending"] .coremap-reputation-marker-spinner {
    display: block;
    animation: coremap-marker-send-spin 850ms linear infinite;
}

.coremap-reputation-marker-modal[data-submit-state="sending"] .coremap-reputation-marker-submit {
    opacity: 1;
}

.coremap-reputation-marker-modal[data-submit-state="sending"] .coremap-reputation-marker-message {
    color: #aebaff;
}

.coremap-reputation-marker-result {
    display: grid;
    justify-items: center;
    gap: 12px;
    min-height: 180px;
    padding: 22px 10px;
    text-align: center;
    animation: coremap-marker-send-result 240ms ease-out;
}

.coremap-reputation-marker-result[hidden] {
    display: none;
}

.coremap-reputation-marker-check {
    display: grid;
    place-items: center;
    width: 62px;
    height: 62px;
    border: 1px solid rgba(81, 214, 172, 0.4);
    border-radius: 22px;
    background: rgba(59, 198, 157, 0.13);
    color: #68e3b8;
    box-shadow: 0 0 25px rgba(64, 181, 153, 0.12);
}

.coremap-reputation-marker-check svg {
    width: 32px;
    height: 32px;
    stroke: currentColor;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.coremap-reputation-marker-result > strong {
    font-size: 18px;
}

.coremap-reputation-marker-result > p {
    margin: 0;
    color: #b2bdd3;
    font-size: 13px;
    line-height: 1.45;
}

.coremap-reputation-marker-modal[data-submit-state="success"] .coremap-reputation-direction,
.coremap-reputation-marker-modal[data-submit-state="success"] .coremap-reputation-marker-field,
.coremap-reputation-marker-modal[data-submit-state="success"] .coremap-reputation-marker-actions {
    display: none;
}

@keyframes coremap-marker-send-spin {
    to { transform: rotate(360deg); }
}

@keyframes coremap-marker-send-result {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
.coremap-reputation-marker-modal,
.coremap-reputation-marker-panel,
.coremap-reputation-marker-actions button {
        transition: none;
    }

.coremap-reputation-marker-spinner,
.coremap-reputation-marker-result {
        animation: none !important;
    }
}

#coreMapMap [class*="zoomControl"],
#coreMapMap [class*="zoom-control"],
#coreMapMap button[aria-label*="Zoom"],
#coreMapMap button[aria-label*="zoom"],
.coremap-map-shell [class*="zoomControl"],
.coremap-map-shell [class*="zoom-control"],
.coremap-map-shell button[aria-label*="Zoom"],
.coremap-map-shell button[aria-label*="zoom"],
#coreMapMap button[aria-label*="Увеличить"],
#coreMapMap button[aria-label*="Уменьшить"] {
    display: none !important;
}

/* coremap-nearby-marker-pill.css */
.coremap-nearby-marker-pill {
    position: absolute;
    top: calc(
        max(
            8px,
            env(safe-area-inset-top, 0px),
            var(--tg-safe-area-inset-top, 0px),
            var(--tg-content-safe-area-inset-top, 0px),
            var(--coremap-content-safe-top, 0px)
        ) + 6px
    );
    left: 50%;
    z-index: 7100;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    max-width: calc(100% - 112px);
    padding: 7px 12px 7px 10px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 999px;
    color: #ffffff;
    background: rgba(12, 18, 29, 0.72);
    box-shadow:
        0 8px 24px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(16px) saturate(1.24);
    -webkit-backdrop-filter: blur(16px) saturate(1.24);
    transform: translateX(-50%);
    pointer-events: none;
    user-select: none;
    -webkit-user-select: none;
    white-space: nowrap;
}

.coremap-nearby-marker-pill-dot {
    position: relative;
    display: block;
    width: 11px;
    height: 11px;
    flex: 0 0 11px;
    border: 2px solid rgba(255, 255, 255, 0.92);
    border-radius: 50% 50% 50% 2px;
    background: #ff3b45;
    box-shadow:
        0 0 0 3px rgba(255, 59, 69, 0.18),
        0 2px 8px rgba(255, 42, 55, 0.58);
    transform: rotate(-45deg);
}

.coremap-nearby-marker-pill-dot::after {
    content: "";
    position: absolute;
    inset: -5px;
    border: 2px solid rgba(255, 59, 69, 0.44);
    border-radius: 50%;
    animation: coremap-nearby-marker-pulse 1.8s ease-out 3 both;
}

.coremap-nearby-marker-pill-label {
    overflow: hidden;
    color: rgba(241, 246, 255, 0.88);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-overflow: ellipsis;
}

.coremap-nearby-marker-pill-count {
    min-width: 1ch;
    color: #ffffff;
    font-size: 14px;
    font-variant-numeric: tabular-nums;
    font-weight: 900;
    line-height: 1;
    text-align: right;
}

.coremap-nearby-marker-pill[data-state="empty"] {
    background: rgba(12, 18, 29, 0.66);
}

.coremap-nearby-marker-pill[data-state="no-location"] {
    border-color: rgba(255, 255, 255, 0.13);
    color: rgba(223, 230, 242, 0.7);
    background: rgba(12, 18, 29, 0.58);
}

.coremap-nearby-marker-pill[data-state="no-location"]
.coremap-nearby-marker-pill-dot {
    border-color: rgba(235, 240, 248, 0.72);
    background: #7d8797;
    box-shadow: 0 0 0 3px rgba(125, 135, 151, 0.14);
}

.coremap-nearby-marker-pill[data-state="no-location"]
.coremap-nearby-marker-pill-dot::after {
    display: none;
}

@keyframes coremap-nearby-marker-pulse {
    0% {
        opacity: 0.75;
        transform: scale(0.55);
    }
    72%,
    100% {
        opacity: 0;
        transform: scale(1.35);
    }
}

@media (max-width: 420px) {
.coremap-nearby-marker-pill {
        max-width: calc(100% - 88px);
        min-height: 32px;
        padding: 6px 10px 6px 9px;
    }
}

@media (prefers-reduced-motion: reduce) {
.coremap-nearby-marker-pill-dot::after {
        animation: none;
    }
}

/* coremap-road-cameras.css */
.coremap-road-camera-attribution {
    position: absolute;
    right: 8px;
    bottom: 86px;
    z-index: 120;
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 3px 7px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 6px;
    background: rgba(12, 18, 30, 0.78);
    color: rgba(255, 255, 255, 0.76);
    font-size: 10px;
    line-height: 1.2;
    text-decoration: none;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.coremap-road-camera-attribution[hidden] {
    display: none !important;
}

.coremap-road-camera-sheet {
    position: fixed;
    inset: 0;
    z-index: 2600;
    display: none;
    align-items: end;
    justify-content: center;
    padding:
        max(16px, env(safe-area-inset-top))
        12px
        max(16px, env(safe-area-inset-bottom));
    background: rgba(3, 7, 15, 0.58);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.coremap-road-camera-sheet.visible {
    display: grid;
}

.coremap-road-camera-card {
    width: min(100%, 430px);
    overflow: hidden;
    border: 1px solid rgba(246, 191, 51, 0.32);
    border-radius: 8px;
    background: #141d2c;
    color: #f8fafc;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
}

.coremap-road-camera-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.coremap-road-camera-heading {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 12px;
}

.coremap-road-camera-heading p,
.coremap-road-camera-heading h2,
.coremap-road-camera-source {
    margin: 0;
}

.coremap-road-camera-heading p {
    color: #d2a72e;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.coremap-road-camera-heading h2 {
    margin-top: 2px;
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: 0;
}

.coremap-road-camera-symbol {
    position: relative;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(246, 191, 51, 0.44);
    border-radius: 8px;
    background: rgba(246, 191, 51, 0.13);
}

.coremap-road-camera-symbol::before {
    content: "";
    position: absolute;
    left: 10px;
    top: 14px;
    width: 27px;
    height: 19px;
    border-radius: 4px;
    background: #f3b51b;
}

.coremap-road-camera-symbol::after {
    content: "";
    position: absolute;
    left: 15px;
    top: 9px;
    width: 16px;
    height: 8px;
    border-radius: 3px 3px 0 0;
    background: #f3b51b;
}

.coremap-road-camera-lens {
    position: absolute;
    left: 19px;
    top: 18px;
    z-index: 1;
    width: 10px;
    height: 10px;
    border: 2px solid #141d2c;
    border-radius: 50%;
}

.coremap-road-camera-close {
    display: inline-grid;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    place-items: center;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.07);
    color: #ffffff;
    font-size: 27px;
    line-height: 1;
}

.coremap-road-camera-data {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 16px 18px 10px;
}

.coremap-road-camera-stat {
    min-width: 0;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.045);
}

.coremap-road-camera-stat[hidden] {
    display: none !important;
}

.coremap-road-camera-stat span,
.coremap-road-camera-stat strong {
    display: block;
}

.coremap-road-camera-stat span {
    margin-bottom: 5px;
    color: #8ea0b7;
    font-size: 12px;
}

.coremap-road-camera-stat strong {
    overflow-wrap: anywhere;
    font-size: 15px;
    line-height: 1.3;
}

.coremap-road-camera-speed strong {
    color: #ffd45d;
    font-size: 18px;
}

.coremap-road-camera-wide {
    grid-column: 1 / -1;
}

.coremap-road-camera-source {
    padding: 4px 18px 18px;
    color: #7f8da1;
    font-size: 11px;
    line-height: 1.45;
}

@media (max-width: 420px) {
.coremap-road-camera-sheet {
        padding-right: 8px;
        padding-left: 8px;
    }

.coremap-road-camera-data {
        grid-template-columns: 1fr;
    }

.coremap-road-camera-wide {
        grid-column: auto;
    }
}

/* coremap-map-tools.css */
.coremap-map-tools {
    width: 100%;
    padding: 12px 14px 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.065);
    background: var(
        --tg-theme-secondary-bg-color,
        #1a2636
    );
}

.coremap-map-tools[hidden] {
    display: none !important;
}

.coremap-map-tools > summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 20px;
    align-items: center;
    gap: 9px;
    min-height: 48px;
    padding: 0 13px;
    border: 1px solid rgba(255, 255, 255, 0.105);
    border-radius: 8px;
    outline: none;
    background: rgba(255, 255, 255, 0.035);
    color: #e6eaf2;
    cursor: pointer;
    font-size: 13px;
    font-weight: 900;
    list-style: none;
    -webkit-tap-highlight-color: transparent;
}

.coremap-map-tools > summary::-webkit-details-marker {
    display: none;
}

.coremap-map-tools > summary::after {
    content: "⌄";
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    color: #8793a6;
    font-size: 18px;
    line-height: 1;
    transform: translateY(-2px);
    transition: transform 160ms ease;
}

.coremap-map-tools[open] > summary {
    border-color: rgba(106, 126, 238, 0.38);
    background: rgba(88, 111, 229, 0.09);
    color: #f3f5ff;
}

.coremap-map-tools[open] > summary::after {
    transform: rotate(180deg) translateY(1px);
}

.coremap-map-tools.has-active > summary {
    border-color: rgba(106, 126, 238, 0.34);
}

.coremap-map-tools-count {
    display: inline-grid;
    place-items: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 999px;
    background: rgba(88, 111, 229, 0.18);
    color: #cbd2ff;
    font-size: 10px;
    font-weight: 900;
}

.coremap-map-tools-count[hidden] {
    display: none !important;
}

.coremap-map-tools-panel {
    display: grid;
    gap: 7px;
    padding-top: 9px;
    background: transparent;
    animation: coremap-map-tools-in 150ms ease-out;
}

.coremap-map-tools-panel > * {
    min-width: 0;
}

.coremap-map-tools .coremap-map-actions {
    order: 20;
    display: grid;
    gap: 7px;
    padding: 0;
    background: transparent;
}

.coremap-map-tools .coremap-map-actions[hidden] {
    display: none !important;
}

body .coremap-map-tools .coremap-map-actions > button,
body .coremap-map-tools #coreMapMyReportsButton {
    width: 100% !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 9px 12px !important;
    border: 1px solid rgba(103, 124, 239, 0.31) !important;
    border-radius: 8px !important;
    background: rgba(88, 111, 229, 0.115) !important;
    color: #dce1ff !important;
    box-shadow: none !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    transition:
        border-color 150ms ease,
        background 150ms ease,
        color 150ms ease,
        transform 120ms ease !important;
}

body .coremap-map-tools .coremap-road-alerts-button {
    display: grid !important;
    gap: 3px;
    justify-items: start;
    text-align: left;
}

.coremap-road-alerts-title {
    font-size: 13px;
    font-weight: 900;
}

.coremap-road-alerts-help {
    color: #aeb7ca;
    font-size: 10.5px;
    font-weight: 650;
    line-height: 1.35;
}

body .coremap-map-tools .coremap-map-actions > button:active,
body .coremap-map-tools #coreMapMyReportsButton:active {
    transform: scale(0.985) !important;
}

body .coremap-map-tools .coremap-map-actions > button.active,
body .coremap-map-tools .coremap-map-actions > button[aria-pressed="true"] {
    border-color: rgba(112, 134, 255, 0.58) !important;
    background: rgba(88, 111, 229, 0.25) !important;
    color: #f5f6ff !important;
}

.coremap-map-tools .coremap-reputation-report-button,
.coremap-map-tools .coremap-prestige-button {
    box-shadow: none;
}

.coremap-map-tools #coreMapMyReportsLaunchRow {
    order: 10;
    width: 100%;
    padding: 0;
}

.coremap-map-tools
#coreMapMyReportsLaunchRow
.coremap-my-reports-button {
    max-width: none;
    border: 1px solid rgba(103, 124, 239, 0.35);
    background: rgba(88, 111, 229, 0.13);
    color: #dce1ff;
    box-shadow: none;
}

.coremap-road-alerts-modal {
    position: fixed;
    inset: 0;
    z-index: 12100;

    display: flex;
    align-items: flex-end;
    justify-content: center;

    width: 100vw;
    height: 100vh;
    height: 100dvh;
    padding:
        calc(var(--coremap-window-safe-top, 0px) + 8px)
        max(10px, var(--coremap-map-safe-right, 0px))
        max(10px, var(--coremap-map-safe-bottom, 0px))
        max(10px, var(--coremap-map-safe-left, 0px));

    background: rgba(2, 7, 16, 0.7);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    overscroll-behavior: contain;

    backdrop-filter: blur(17px);
    -webkit-backdrop-filter: blur(17px);
    transition:
        opacity 210ms ease,
        visibility 0s linear 250ms;
}

.coremap-road-alerts-modal.visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}

.coremap-road-alerts-panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);

    width: min(100%, 540px);
    max-height: var(
        --coremap-window-usable-height,
        calc(100dvh - 24px)
    );
    overflow: hidden;

    border: 1px solid rgba(127, 147, 255, 0.3);
    border-radius: 27px 27px 20px 20px;
    background:
        radial-gradient(
            circle at 18% -5%,
            rgba(102, 103, 239, 0.2),
            transparent 34%
        ),
        linear-gradient(
            160deg,
            rgba(24, 35, 56, 0.995),
            rgba(8, 16, 29, 0.998)
        );
    color: var(--tg-theme-text-color, #f8f9ff);
    box-shadow:
        0 28px 90px rgba(0, 0, 0, 0.68),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);

    opacity: 0;
    transform: translateY(32px) scale(0.98);
    transform-origin: bottom center;
    transition:
        opacity 190ms ease,
        transform 260ms cubic-bezier(0.2, 0.84, 0.24, 1);
}

.coremap-road-alerts-modal.visible
.coremap-road-alerts-panel {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.coremap-road-alerts-header {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 48px;
    align-items: center;
    gap: 11px;
    padding: 16px 17px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.075);
}

.coremap-road-alerts-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 16px;
    background:
        linear-gradient(145deg, #6171f4, #9a4ce8);
    box-shadow:
        0 9px 24px rgba(88, 91, 232, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.28);
    font-size: 21px;
}

.coremap-road-alerts-header small {
    display: block;
    margin-bottom: 3px;
    color: #98a4bc;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.coremap-road-alerts-header h2 {
    margin: 0;
    font-size: 21px;
    line-height: 1.08;
}

body .coremap-road-alerts-header
button[data-road-alerts-close] {
    display: grid;
    place-items: center;
    width: 48px;
    min-width: 48px;
    height: 48px;
    min-height: 48px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.105);
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.055);
    color: #edf0f8;
    font: inherit;
    font-size: 29px;
    line-height: 1;
}

.coremap-road-alerts-body {
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 14px;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.coremap-road-alerts-intro {
    margin-bottom: 12px;
    padding: 15px;
    border: 1px solid rgba(121, 139, 248, 0.18);
    border-radius: 18px;
    background: rgba(92, 106, 214, 0.075);
}

.coremap-road-alerts-intro > span {
    color: #9aa8ff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.coremap-road-alerts-intro h3 {
    margin: 6px 0 7px;
    font-size: 17px;
    line-height: 1.25;
}

.coremap-road-alerts-intro p {
    margin: 0;
    color: #aeb8cb;
    font-size: 12px;
    line-height: 1.45;
}

.coremap-road-alerts-intro b {
    color: #d7dcf2;
    font-weight: 800;
}

.coremap-road-alert-periods {
    display: grid;
    gap: 8px;
    transition:
        opacity 180ms ease,
        transform 180ms ease;
}

body .coremap-road-alert-period {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 25px;
    align-items: center;
    gap: 11px;

    width: 100%;
    min-height: 64px;
    margin: 0;
    padding: 8px 12px 8px 9px;

    border: 1px solid rgba(255, 255, 255, 0.085);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.035);
    color: #f4f6fb;
    font: inherit;
    text-align: left;
    -webkit-tap-highlight-color: transparent;
    transition:
        border-color 150ms ease,
        background 150ms ease,
        transform 120ms ease;
}

body .coremap-road-alert-period:active {
    transform: scale(0.985);
}

body .coremap-road-alert-period.selected {
    border-color: rgba(116, 137, 255, 0.62);
    background: rgba(91, 109, 224, 0.2);
}

.coremap-road-alert-period-badge {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 15px;
    background:
        linear-gradient(
            145deg,
            rgba(102, 120, 246, 0.3),
            rgba(139, 73, 221, 0.23)
        );
    color: #e5e9ff;
    font-size: 15px;
    font-weight: 950;
}

.coremap-road-alert-period-copy {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.coremap-road-alert-period-copy strong {
    font-size: 14px;
    line-height: 1.2;
}

.coremap-road-alert-period-copy small {
    color: #99a4b9;
    font-size: 10.5px;
}

.coremap-road-alert-period-check {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    color: transparent;
    font-size: 12px;
    transition:
        border-color 150ms ease,
        background 150ms ease,
        color 150ms ease,
        transform 150ms ease;
}

.coremap-road-alert-period.selected
.coremap-road-alert-period-check {
    border-color: transparent;
    background: #6274ef;
    color: #ffffff;
    transform: scale(1.04);
}

.coremap-road-alerts-privacy {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 9px;
    margin-top: 11px;
    padding: 11px 12px;
    border: 1px solid rgba(72, 207, 166, 0.16);
    border-radius: 15px;
    background: rgba(31, 120, 102, 0.08);
}

.coremap-road-alerts-privacy > span {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 10px;
    background: rgba(62, 192, 155, 0.13);
    font-size: 13px;
}

.coremap-road-alerts-privacy p {
    align-self: center;
    margin: 0;
    color: #a9b8b7;
    font-size: 10.5px;
    line-height: 1.45;
}

.coremap-road-alerts-handoff {
    position: relative;
    margin-top: 11px;
    overflow: hidden;
    padding: 13px 13px 11px;
    border: 1px solid rgba(116, 137, 255, 0.3);
    border-radius: 16px;
    background: rgba(87, 105, 219, 0.14);
    animation: coremap-road-alerts-handoff-in 180ms ease-out;
}

.coremap-road-alerts-handoff[hidden] {
    display: none !important;
}

.coremap-road-alerts-handoff strong,
.coremap-road-alerts-handoff small {
    display: block;
}

.coremap-road-alerts-handoff strong {
    font-size: 13px;
}

.coremap-road-alerts-handoff small {
    margin-top: 4px;
    color: #aab4ca;
    font-size: 10.5px;
}

.coremap-road-alerts-progress {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 3px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.08);
}

.coremap-road-alerts-progress::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background:
        linear-gradient(90deg, #5f75f4, #aa50e7);
    transform: scaleX(0);
    transform-origin: left center;
    animation: coremap-road-alerts-progress 720ms linear forwards;
}

.coremap-road-alerts-modal.is-handoff
.coremap-road-alert-periods {
    opacity: 0.34;
    transform: scale(0.99);
    pointer-events: none;
}

html.coremap-road-alerts-open,
body.coremap-road-alerts-open {
    height: 100% !important;
    overflow: hidden !important;
    overscroll-behavior: none !important;
}

@keyframes coremap-road-alerts-progress {
    to {
        transform: scaleX(1);
    }
}

@keyframes coremap-road-alerts-handoff-in {
    from {
        opacity: 0;
        transform: translateY(5px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes coremap-map-tools-in {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 390px) {
.coremap-map-tools {
        padding-right: 11px;
        padding-left: 11px;
    }

.coremap-map-tools > summary {
        padding: 0 11px;
    }

.coremap-road-alerts-body {
        padding: 11px;
    }

.coremap-road-alerts-header {
        padding-right: 13px;
        padding-left: 13px;
    }
}

@media (min-width: 700px) {
.coremap-road-alerts-modal {
        align-items: center;
    }

.coremap-road-alerts-panel {
        transform-origin: center;
    }
}

@media (orientation: landscape) and (max-height: 560px) {
.coremap-road-alerts-panel {
        width: min(100%, 620px);
    }

.coremap-road-alert-periods {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (prefers-reduced-motion: reduce) {
.coremap-road-alerts-modal,
.coremap-road-alerts-panel,
.coremap-road-alert-period,
.coremap-road-alert-periods,
.coremap-road-alerts-handoff {
        transition-duration: 1ms !important;
        animation-duration: 1ms !important;
    }

.coremap-road-alerts-progress::after {
        animation-duration: 1ms !important;
    }
}

/* coremap-territory-access.css */
.coremap-app-info-open {
    overflow: hidden;
}

.coremap-app-info-overlay {
    --app-info-safe-top: max(12px, env(safe-area-inset-top, 0px), var(--coremap-window-safe-top, 0px), var(--tg-content-safe-area-inset-top, 0px));
    --app-info-safe-bottom: max(12px, env(safe-area-inset-bottom, 0px), var(--coremap-map-safe-bottom, 0px));
    position: fixed;
    inset: 0;
    z-index: 2147482600;
    display: none;
    place-items: center;
    padding: var(--app-info-safe-top) 12px var(--app-info-safe-bottom);
    box-sizing: border-box;
    background: rgba(3, 7, 16, .82);
    backdrop-filter: blur(18px) saturate(1.15);
    -webkit-backdrop-filter: blur(18px) saturate(1.15);
}

.coremap-app-info-overlay.visible {
    display: grid;
}

.coremap-app-info-panel {
    box-sizing: border-box;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    width: min(100%, 560px);
    height: min(760px, var(--coremap-window-usable-height, 100dvh), calc(var(--tg-viewport-stable-height, 100dvh) - var(--app-info-safe-top) - var(--app-info-safe-bottom)));
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border: 1px solid rgba(157, 173, 226, .22);
    border-radius: 28px;
    background: radial-gradient(ellipse at 95% 0, rgba(84, 103, 208, .22), transparent 48%), #101826;
    color: #f5f7ff;
    box-shadow: 0 28px 95px #0009, inset 0 1px #ffffff0b;
    font-family: Arial, sans-serif;
}

.coremap-app-info-overlay.visible .coremap-app-info-panel {
    animation: coremap-app-info-enter 280ms cubic-bezier(.2,.8,.2,1) both;
}

.coremap-app-info-panel > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 22px 8px;
}

.coremap-app-info-panel > header > div {
    display: grid;
    gap: 3px;
}

.coremap-app-info-panel > header b { font-size: 15px; letter-spacing: -.03em; }

.coremap-app-info-panel > header > div > span { color: #8492ad; font-size: 11px; }

.coremap-app-info-overlay button {
    width: auto;
    min-width: 0;
    max-width: 100%;
    min-height: 44px;
    margin: 0;
    box-sizing: border-box;
    border: 0;
    font: inherit;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.coremap-app-info-panel [data-app-info-close] {
    flex: 0 0 44px;
    width: 44px;
    padding: 0;
    border: 1px solid #ffffff0d;
    border-radius: 14px;
    background: #ffffff08;
    color: #b0bdd5;
    font-size: 27px;
}

.coremap-app-info-progress {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 6px;
    padding: 4px 22px 12px;
}

.coremap-app-info-progress > span { height: 4px; border-radius: 4px; background: #ffffff10; transition: background 180ms ease; }

.coremap-app-info-progress > .is-filled { background: linear-gradient(90deg, #7a91ff, #b2c1ff); }

.coremap-app-info-content { min-height: 0; min-width: 0; overflow-y: auto; padding: 12px 22px 20px; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #53617d transparent; }

.coremap-app-info-slide { animation: coremap-app-info-slide 240ms ease both; }

.coremap-app-info-eyebrow { display: block; color: #a0b3ff; font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }

.coremap-app-info-content h2 { margin: 10px 0; color: #f7f8ff; font-size: clamp(24px, 4vw, 32px); line-height: 1.12; font-weight: 850; letter-spacing: -.035em; text-wrap: balance; }

.coremap-app-info-intro { margin: 0 0 18px; color: #a7b3cb; font-size: 13px; line-height: 1.5; }

.coremap-app-info-legend { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }

.coremap-app-info-legend article { min-width: 0; padding: 12px; border: 1px solid #96aaff20; border-radius: 17px; background: linear-gradient(145deg, #ffffff09, #ffffff02); }

.coremap-app-info-overlay .legend-icons { display: flex; align-items: center; gap: 0; height: 50px; margin: -3px 0 7px; }

.coremap-app-info-marker { display: block; width: 52px; height: 52px; object-fit: contain; }

.coremap-app-info-overlay .legend-icons .coremap-app-info-marker + .coremap-app-info-marker { margin-left: -7px; }

.coremap-app-info-legend strong { display: block; font-size: 12px; line-height: 1.35; }

.coremap-app-info-legend p { margin: 5px 0 0; color: #91a0ba; font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }

.coremap-app-info-note { margin: 14px 0 0; color: #8797b2; font-size: 12px; line-height: 1.5; }

.coremap-app-info-marker.is-moving { animation: coremap-app-info-travel 2400ms ease-in-out infinite; }

.coremap-app-info-map-art { position: relative; height: 155px; overflow: hidden; border: 1px solid #a2b2eb1f; border-radius: 20px; background: radial-gradient(ellipse at 70% 20%, #344869, #192837 75%); }

.coremap-app-info-map-art > svg { position: absolute; inset: 0; width: 100%; height: 100%; }

.coremap-app-info-map-art path { fill: none; }

.coremap-app-info-map-art .road-edge { stroke: #7282a055; stroke-width: 30; }

.coremap-app-info-map-art .road { stroke: #37485d; stroke-width: 23; }

.coremap-app-info-map-art .road-line { stroke: #b4bdcc55; stroke-width: 1.5; stroke-dasharray: 10 10; }

.coremap-app-info-map-art .side-road { stroke: #8795b526; stroke-width: 14; }

.coremap-app-info-map-art .map-pin { position: absolute; top: 37px; }

.coremap-app-info-map-art .first { left: 24%; animation: coremap-app-info-pin 2800ms ease-in-out infinite; }

.coremap-app-info-map-art .coremap-app-info-road-static { display: none; }

.coremap-app-info-map-art.is-direction .coremap-app-info-road-moving,
.coremap-app-info-map-art.is-direction .coremap-app-info-road-static { opacity: .35; }

.coremap-app-info-overlay .map-caption { position: absolute; left: 12px; right: 12px; bottom: 12px; color: #c0cde0; font-size: 10px; }

.coremap-app-info-steps { display: grid; gap: 13px; padding: 0; margin: 20px 0 0; list-style: none; }

.coremap-app-info-steps li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 10px; align-items: start; }

.coremap-app-info-steps li > b { display: grid; place-items: center; height: 32px; border: 1px solid #849aff32; border-radius: 10px; background: #738eff13; color: #b0c0ff; font-size: 12px; }

.coremap-app-info-steps strong { display: block; padding: 1px 0 4px; font-size: 13px; }

.coremap-app-info-steps span { display: block; color: #8f9fba; font-size: 12px; line-height: 1.4; }

.coremap-app-info-tip { display: flex; align-items: center; gap: 12px; margin: 16px 0 0; padding: 14px; border: 1px solid #f9b85d2b; border-radius: 15px; background: #e69b2810; color: #ddc49d; }

.coremap-app-info-tip > span { flex: 0 0 auto; font-size: 25px; color: #eac27d; }

.coremap-app-info-tip p,
p.coremap-app-info-tip { margin-top: 16px; font-size: 12px; line-height: 1.5; }

.coremap-app-info-tip > p { margin: 0; }

.coremap-app-info-score-art { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 26px 0; }

.coremap-app-info-score-art > div { display: grid; align-content: center; gap: 8px; min-height: 145px; padding: 18px 12px; border: 1px solid #8dacf238; border-radius: 22px; background: radial-gradient(ellipse at 50% 0, #6b8ee128, #17243a 72%); text-align: center; }

.coremap-app-info-score-art b { font-size: clamp(38px, 9vw, 56px); line-height: 1; letter-spacing: -.055em; color: #c0ceff; }

.coremap-app-info-score-art > div:first-child { border-color: #53d29a33; background: radial-gradient(ellipse at 50% 0, #43c99827, #162c32 75%); }

.coremap-app-info-score-art > div:first-child b { color: #8be9bd; }

.coremap-app-info-score-art span { color: #9facc6; font-size: 11px; line-height: 1.4; }

.coremap-app-info-copy p { margin: 12px 0; color: #acb8ce; font-size: 13px; line-height: 1.55; }

.coremap-app-info-finish-art { position: relative; display: grid; justify-items: center; gap: 10px; overflow: hidden; min-height: 215px; padding-top: 28px; text-align: center; }

.coremap-app-info-overlay .finish-orbit { position: absolute; top: 12px; left: calc(50% - 93px); width: 186px; height: 186px; border: 1px solid #a2b6fc20; border-radius: 50%; box-shadow: 0 0 0 25px #91a8fa06, 0 0 0 50px #91a8fa03; }

.coremap-app-info-overlay .finish-markers { position: relative; display: flex; align-items: center; gap: 2px; animation: coremap-app-info-pin 2800ms ease-in-out infinite; }

.coremap-app-info-overlay .finish-markers .coremap-app-info-marker:nth-child(2) { width: 65px; height: 65px; }

.coremap-app-info-finish-art > strong { position: relative; font-size: 31px; letter-spacing: -.045em; }

.coremap-app-info-finish-art > span:last-child { position: relative; color: #91a3c0; font-size: 11px; }

.coremap-app-info-profile-path { display: grid; grid-template-columns: auto auto minmax(0, 1fr); align-items: center; gap: 10px; margin: 20px 0 0; padding: 14px; border: 1px solid #98afff26; border-radius: 14px; background: #849cff09; font-size: 12px; }

.coremap-app-info-profile-path > span { color: #94a6c4; }

.coremap-app-info-profile-path > b { color: #6980a5; }

.coremap-app-info-profile-path > strong { line-height: 1.35; }

.coremap-app-info-panel > footer { padding: 12px 22px 8px; border-top: 1px solid #99affe13; background: #0d1522; }

.coremap-app-info-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1.2fr); gap: 10px; align-items: center; }

.coremap-app-info-actions button { min-height: 46px; padding: 10px 14px; border-radius: 13px; font-size: 13px; font-weight: 800; }

.coremap-app-info-actions [data-app-info-previous] { background: #ffffff07; color: #a5b4ce; border: 1px solid #ffffff0b; }

.coremap-app-info-actions [data-app-info-previous]:disabled { visibility: hidden; }

.coremap-app-info-actions [data-app-info-counter] { color: #7588a7; font-size: 10px; font-variant-numeric: tabular-nums; }

.coremap-app-info-actions [data-app-info-next] { display: flex; justify-content: center; align-items: center; gap: 10px; background: linear-gradient(120deg, #7994ff, #8b88ef); color: #101a37; box-shadow: inset 0 1px #ffffff48; }

.coremap-app-info-panel .coremap-app-info-optout { display: block; width: 100%; min-height: 44px; padding: 10px 2px; border-radius: 8px; background: transparent; color: #8394b0; font-size: 11px; }

.coremap-app-info-panel .coremap-app-info-optout:disabled { opacity: .8; cursor: default; }

.coremap-app-info-message { margin-bottom: 10px; color: #e9ba9c; font-size: 11px; line-height: 1.45; }

.coremap-app-info-overlay [hidden] { display: none !important; }

.coremap-app-info-overlay button:focus-visible { outline: 2px solid #c4d3ff; outline-offset: 3px; }

.coremap-app-info-content h2:focus { outline: none; }

.coremap-profile-actions > [data-profile-information] { grid-column: 1 / -1; }

@keyframes coremap-app-info-enter { from { opacity: 0; transform: translateY(18px) scale(.98); } to { opacity: 1; transform: none; } }

@keyframes coremap-app-info-slide { from { opacity: 0; transform: translateX(8px); } to { opacity: 1; transform: none; } }

@keyframes coremap-app-info-travel { 0%, 100% { transform: translateX(-4px); } 50% { transform: translateX(5px); } }

@keyframes coremap-app-info-pin { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }

@media (max-width: 359px) {
.coremap-app-info-overlay { padding-left: 8px; padding-right: 8px; }

.coremap-app-info-panel { border-radius: 23px; }

.coremap-app-info-panel > header { padding: 12px 16px 7px; }

.coremap-app-info-progress { padding-left: 16px; padding-right: 16px; }

.coremap-app-info-content { padding: 10px 16px 16px; }

.coremap-app-info-panel > footer { padding: 10px 16px 5px; }

.coremap-app-info-legend { gap: 8px; }

.coremap-app-info-legend article { padding: 10px; }

.coremap-app-info-legend p { font-size: 11px; }

.coremap-app-info-map-art { height: 132px; }
}

/* Desktop uses the browser viewport, even if Telegram reports a stale height. */
@media (min-width: 1024px) {
.coremap-app-info-overlay {
        --app-info-safe-top: max(24px, env(safe-area-inset-top, 0px), var(--coremap-window-safe-top, 0px), var(--tg-content-safe-area-inset-top, 0px));
        --app-info-safe-bottom: max(24px, env(safe-area-inset-bottom, 0px), var(--coremap-map-safe-bottom, 0px));
        padding-left: 32px;
        padding-right: 32px;
    }

.coremap-app-info-panel {
        width: min(100%, 960px);
        height: min(900px, calc(100dvh - var(--app-info-safe-top) - var(--app-info-safe-bottom)));
        border-radius: 32px;
    }

.coremap-app-info-panel > header { padding: 18px 32px 10px; }

.coremap-app-info-panel > header b { font-size: 21px; }

.coremap-app-info-panel > header > div > span { font-size: 14px; }

.coremap-app-info-panel [data-app-info-close] { flex-basis: 48px; width: 48px; min-height: 48px; font-size: 30px; }

.coremap-app-info-progress { gap: 10px; padding: 4px 32px 14px; }

.coremap-app-info-progress > span { height: 5px; }

.coremap-app-info-content { padding: 16px 32px 24px; }

.coremap-app-info-eyebrow { font-size: 12px; }

.coremap-app-info-content h2 { margin: 12px 0; font-size: 34px; }

.coremap-app-info-intro { font-size: 17px; line-height: 1.45; }

.coremap-app-info-legend { gap: 14px; }

.coremap-app-info-legend article { padding: 16px; border-radius: 20px; }

.coremap-app-info-overlay .legend-icons { height: 64px; margin-bottom: 10px; }

.coremap-app-info-marker { width: 66px; height: 66px; }

.coremap-app-info-legend strong { font-size: 17px; }

.coremap-app-info-legend p { font-size: 16px; line-height: 1.4; }

.coremap-app-info-note { font-size: 16px; line-height: 1.45; }

.coremap-app-info-map-art { height: 190px; }

.coremap-app-info-map-art .map-pin { top: calc(50% - 48px); }

.coremap-app-info-map-art .map-pin .coremap-app-info-marker { width: 96px; height: 96px; }

.coremap-app-info-overlay .map-caption { left: 18px; bottom: 16px; font-size: 14px; }

.coremap-app-info-steps { gap: 16px; margin-top: 22px; }

.coremap-app-info-steps li { grid-template-columns: 40px minmax(0, 1fr); gap: 14px; }

.coremap-app-info-steps li > b { height: 40px; font-size: 16px; }

.coremap-app-info-steps strong { font-size: 17px; }

.coremap-app-info-steps span { font-size: 16px; }

.coremap-app-info-tip { gap: 16px; padding: 18px; }

.coremap-app-info-tip p,
p.coremap-app-info-tip { font-size: 16px; }

.coremap-app-info-tip > span { font-size: 32px; }

.coremap-app-info-score-art { gap: 18px; margin: 22px 0; }

.coremap-app-info-score-art > div { min-height: 150px; padding: 18px; }

.coremap-app-info-score-art b { font-size: 58px; }

.coremap-app-info-score-art span { font-size: 16px; }

.coremap-app-info-copy p { font-size: 17px; line-height: 1.5; }

.coremap-app-info-finish-art { min-height: 230px; }

.coremap-app-info-overlay .finish-markers .coremap-app-info-marker:nth-child(2) { width: 82px; height: 82px; }

.coremap-app-info-finish-art > strong { font-size: 42px; }

.coremap-app-info-finish-art > span:last-child { font-size: 15px; }

.coremap-app-info-profile-path { padding: 18px; font-size: 16px; }

.coremap-app-info-panel > footer { padding: 14px 32px 8px; }

.coremap-app-info-actions { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 18px; }

.coremap-app-info-actions button { min-height: 50px; font-size: 16px; }

.coremap-app-info-actions [data-app-info-counter] { font-size: 14px; }

.coremap-app-info-panel .coremap-app-info-optout { min-height: 46px; font-size: 14px; }

.coremap-app-info-message { font-size: 14px; }
}

@media (min-width: 1024px) and (min-height: 900px) {
.coremap-app-info-content { padding-top: 22px; }

.coremap-app-info-content h2 { font-size: 40px; }

.coremap-app-info-intro,
.coremap-app-info-legend p,
.coremap-app-info-note,
.coremap-app-info-steps span,
.coremap-app-info-tip p,
p.coremap-app-info-tip,
.coremap-app-info-score-art span,
.coremap-app-info-copy p { font-size: 18px; }

.coremap-app-info-legend strong,
.coremap-app-info-steps strong { font-size: 19px; }

.coremap-app-info-legend article { padding: 20px; }

.coremap-app-info-overlay .legend-icons { height: 72px; }

.coremap-app-info-marker { width: 74px; height: 74px; }

.coremap-app-info-map-art { height: 220px; }
}

@media (prefers-reduced-motion: reduce) {
.coremap-app-info-overlay *,
.coremap-app-info-overlay *::before,
.coremap-app-info-overlay *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }

.coremap-app-info-map-art .coremap-app-info-road-moving { display: none; }

.coremap-app-info-map-art .coremap-app-info-road-static { display: inline; }
}

.coremap-prestige-button {
    width: 100%;
    min-height: 46px;
    margin: 0;
    border: 1px solid rgba(173, 116, 255, 0.45);
    border-radius: 8px;
    background: rgba(117, 72, 188, 0.16);
    color: #e7d5ff;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
}

.coremap-prestige-button[hidden] {
    display: none !important;
}

.coremap-territory-overlay {
    position: fixed;
    inset: 0;
    z-index: 2147482700;
    display: none;
    align-items: flex-end;
    justify-content: center;
    padding:
        max(10px, env(safe-area-inset-top, 0px))
        10px
        max(10px, env(safe-area-inset-bottom, 0px));
    background: rgba(2, 6, 14, 0.76);
    backdrop-filter: blur(18px) saturate(1.12);
    -webkit-backdrop-filter: blur(18px) saturate(1.12);
}

.coremap-territory-overlay.visible {
    display: flex;
}

.coremap-territory-dialog {
    width: min(100%, 680px);
    max-height: min(92dvh, 920px);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.11);
    border-radius: 8px;
    background: #0d1320;
    color: #f5f7fb;
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.66);
}

.coremap-territory-body {
    max-height: min(92dvh, 920px);
    padding: 15px;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.coremap-territory-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.coremap-territory-title {
    margin: 0;
    font-size: 20px;
    line-height: 1.2;
}

.coremap-territory-subtitle {
    margin: 5px 0 0;
    color: #8692a7;
    font-size: 11px;
    line-height: 1.4;
}

.coremap-territory-close {
    display: grid;
    place-items: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    min-height: 40px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    color: #f5f7fb;
    font: inherit;
    font-size: 23px;
    line-height: 1;
}

.coremap-territory-notice {
    min-height: 18px;
    margin: 0 0 10px;
    color: #8390a5;
    font-size: 11px;
    line-height: 1.4;
}

.coremap-territory-notice.error {
    color: #ff8797;
}

.coremap-territory-notice.success {
    color: #68d7a5;
}

.coremap-territory-suggestion,
.coremap-prestige-user-summary {
    margin-bottom: 12px;
    padding: 12px;
    border: 1px solid rgba(89, 185, 219, 0.28);
    border-radius: 8px;
    background: rgba(41, 128, 158, 0.1);
}

.coremap-territory-suggestion strong,
.coremap-prestige-user-summary strong {
    display: block;
    overflow-wrap: anywhere;
    font-size: 15px;
}

.coremap-territory-suggestion span,
.coremap-prestige-user-summary span {
    display: block;
    margin-top: 4px;
    overflow-wrap: anywhere;
    color: #91a0b8;
    font-size: 10px;
    line-height: 1.4;
}

.coremap-territory-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 11px;
}

.coremap-territory-actions[hidden] {
    display: none !important;
}

.coremap-territory-primary,
.coremap-territory-secondary,
.coremap-prestige-save {
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 10px 12px;
    border-radius: 8px;
    font: inherit;
    font-size: 12px;
    font-weight: 900;
}

.coremap-territory-primary,
.coremap-prestige-save {
    border: 1px solid rgba(104, 126, 247, 0.65);
    background: #586fe5;
    color: #ffffff;
}

.coremap-territory-secondary {
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.055);
    color: #d9dee8;
}

.coremap-territory-primary:disabled,
.coremap-prestige-save:disabled {
    opacity: 0.45;
}

.coremap-territory-search-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    margin-bottom: 10px;
}

.coremap-territory-input {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid rgba(255, 255, 255, 0.11);
    border-radius: 8px;
    outline: none;
    background: rgba(255, 255, 255, 0.045);
    color: #f6f7fb;
    font: inherit;
    font-size: 13px;
}

.coremap-territory-input:focus {
    border-color: rgba(105, 130, 249, 0.72);
}

.coremap-territory-results,
.coremap-prestige-users,
.coremap-prestige-territories {
    display: grid;
    gap: 7px;
}

.coremap-territory-choice,
.coremap-prestige-user,
.coremap-prestige-territory {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 10px 11px;
    border: 1px solid rgba(255, 255, 255, 0.085);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.028);
    color: #f3f5f9;
    font: inherit;
    text-align: left;
}

.coremap-territory-choice.selected,
.coremap-prestige-user.selected,
.coremap-prestige-territory.selected {
    border-color: rgba(109, 132, 249, 0.62);
    background: rgba(88, 111, 229, 0.15);
}

.coremap-territory-choice strong,
.coremap-prestige-user strong,
.coremap-prestige-territory strong {
    display: block;
    overflow-wrap: anywhere;
    font-size: 12px;
}

.coremap-territory-choice small,
.coremap-prestige-user small,
.coremap-prestige-territory small {
    display: block;
    margin-top: 3px;
    overflow-wrap: anywhere;
    color: #7f8ba0;
    font-size: 9px;
}

.coremap-territory-mark {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
    color: #aebaff;
    font-size: 13px;
}

.coremap-territory-section-title {
    margin: 15px 0 8px;
    font-size: 12px;
    font-weight: 900;
}

.coremap-prestige-levels {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 11px;
}

.coremap-prestige-level {
    min-width: 0;
    min-height: 42px;
    margin: 0;
    padding: 8px 4px;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.035);
    color: #9da7b8;
    font: inherit;
    font-size: 11px;
    font-weight: 900;
}

.coremap-prestige-level.selected {
    border-color: rgba(173, 116, 255, 0.58);
    background: rgba(117, 72, 188, 0.2);
    color: #eadcff;
}

.coremap-prestige-editor {
    position: fixed;
    inset: 0;
    z-index: 2147482750;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding:
        max(10px, env(safe-area-inset-top, 0px))
        10px
        max(10px, env(safe-area-inset-bottom, 0px));
    background: rgba(2, 6, 14, 0.7);
    backdrop-filter: blur(14px) saturate(1.08);
    -webkit-backdrop-filter: blur(14px) saturate(1.08);
}

.coremap-prestige-editor-dialog {
    display: flex;
    flex-direction: column;
    width: min(100%, 620px);
    max-height: 92vh;
    max-height: min(92dvh, 880px);
    overflow: hidden;
    border: 1px solid rgba(152, 125, 239, 0.3);
    border-radius: 8px;
    background: #101827;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.72);
}

.coremap-prestige-editor-header {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
    padding: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: #121c2c;
}

.coremap-prestige-editor-header h3,
.coremap-prestige-editor-header p {
    margin: 0;
    letter-spacing: 0;
}

.coremap-prestige-editor-header h3 {
    font-size: 15px;
    line-height: 1.25;
}

.coremap-prestige-editor-header p {
    margin-top: 3px;
    color: #8390a5;
    font-size: 10px;
}

.coremap-prestige-editor-back,
.coremap-prestige-editor-close {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    min-height: 42px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.05);
    color: #f3f5fa;
    font: inherit;
    font-size: 24px;
    line-height: 1;
}

.coremap-prestige-editor-content {
    min-height: 0;
    padding: 13px;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.coremap-prestige-editor-notice:empty {
    min-height: 0;
    margin-bottom: 0;
}

.coremap-prestige-editor-footer {
    flex: 0 0 auto;
    padding: 10px 13px max(10px, env(safe-area-inset-bottom, 0px));
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    background: #121c2c;
}

.coremap-prestige-editor[hidden],
.coremap-territory-block[hidden] {
    display: none !important;
}

.coremap-prestige-save {
    margin: 0;
}

html.coremap-territory-modal-open,
html.coremap-territory-modal-open body {
    overflow: hidden !important;
}

@media (max-width: 430px) {
.coremap-territory-actions {
        grid-template-columns: 1fr;
    }

.coremap-prestige-levels {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 700px) {
.coremap-territory-overlay {
        align-items: center;
    }

.coremap-prestige-editor {
        align-items: center;
    }
}

.coremap-prestige-overlay {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    box-sizing: border-box;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    padding:
        calc(var(--coremap-window-safe-top, 0px) + 8px)
        max(10px, var(--coremap-map-safe-right, 0px))
        max(10px, var(--coremap-map-safe-bottom, 0px))
        max(10px, var(--coremap-map-safe-left, 0px));
    background:
        radial-gradient(
            circle at 12% 8%,
            rgba(87, 105, 242, 0.20),
            transparent 42%
        ),
        radial-gradient(
            circle at 88% 82%,
            rgba(151, 69, 238, 0.16),
            transparent 44%
        ),
        rgba(2, 7, 17, 0.72);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    overscroll-behavior: contain;
    backdrop-filter: blur(22px) saturate(135%);
    -webkit-backdrop-filter: blur(22px) saturate(135%);
    transition:
        opacity 200ms ease,
        visibility 0s linear 240ms;
}

.coremap-prestige-overlay.visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}

.coremap-prestige-overlay > .coremap-territory-dialog {
    position: relative;
    isolation: isolate;
    width: min(100%, 620px);
    max-height: var(
        --coremap-window-usable-height,
        calc(100dvh - 24px)
    );
    border: 1px solid rgba(154, 168, 255, 0.32);
    border-radius: 28px 28px 22px 22px;
    background:
        radial-gradient(
            circle at 22% -8%,
            rgba(94, 113, 245, 0.24),
            transparent 40%
        ),
        radial-gradient(
            circle at 100% 14%,
            rgba(151, 75, 238, 0.14),
            transparent 35%
        ),
        linear-gradient(
            155deg,
            rgba(22, 32, 53, 0.92),
            rgba(8, 15, 29, 0.95)
        );
    box-shadow:
        0 30px 90px rgba(0, 0, 0, 0.65),
        0 0 0 1px rgba(83, 99, 209, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.11),
        inset 0 -1px 0 rgba(255, 255, 255, 0.025);
    backdrop-filter: blur(28px) saturate(125%);
    -webkit-backdrop-filter: blur(28px) saturate(125%);
    opacity: 0;
    transform: translateY(28px) scale(0.985);
    transform-origin: bottom center;
    transition:
        opacity 180ms ease,
        transform 240ms cubic-bezier(0.2, 0.85, 0.25, 1);
}

.coremap-prestige-overlay.visible
> .coremap-territory-dialog {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.coremap-prestige-overlay > .coremap-territory-dialog
> .coremap-territory-body {
    max-height: var(
        --coremap-window-usable-height,
        calc(100dvh - 24px)
    );
    padding: 14px;
    scrollbar-width: thin;
    scrollbar-color: rgba(132, 145, 235, 0.50) transparent;
}

.coremap-prestige-overlay > .coremap-territory-dialog
> .coremap-territory-body::-webkit-scrollbar,
.coremap-prestige-editor-content::-webkit-scrollbar {
    width: 4px;
}

.coremap-prestige-overlay > .coremap-territory-dialog
> .coremap-territory-body::-webkit-scrollbar-thumb,
.coremap-prestige-editor-content::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(132, 145, 235, 0.48);
}

.coremap-prestige-overlay .coremap-territory-header {
    position: relative;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 50px;
    align-items: center;
    gap: 13px;
    min-height: 74px;
    margin: -14px -14px 14px;
    padding: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(
        180deg,
        rgba(119, 132, 242, 0.10),
        transparent
    );
}

.coremap-prestige-overlay .coremap-territory-header::before {
    content: "";
    display: block;
    width: 52px;
    height: 52px;
    border: 1px solid rgba(196, 203, 255, 0.26);
    border-radius: 17px;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7l4 4 5-7 5 7 4-4-2 11H5zM5 21h14'/%3E%3C/svg%3E") center / 25px no-repeat,
        linear-gradient(145deg, #6678ff, #9047e8);
    box-shadow:
        0 12px 30px rgba(93, 92, 235, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.coremap-prestige-overlay .coremap-territory-header > div {
    min-width: 0;
}

.coremap-prestige-overlay .coremap-territory-title {
    color: #ffffff;
    font-size: 23px;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -0.025em;
}

.coremap-prestige-overlay .coremap-territory-subtitle {
    margin-top: 6px;
    color: #98a4bb;
    font-size: 11px;
    font-weight: 650;
    line-height: 1.3;
}

body .coremap-prestige-overlay .coremap-territory-close {
    width: 50px;
    min-width: 50px;
    height: 50px;
    min-height: 50px;
    margin: 0;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.07);
    color: #e8ecf6;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 8px 22px rgba(0, 0, 0, 0.18);
    -webkit-tap-highlight-color: transparent;
    transition:
        border-color 150ms ease,
        background 150ms ease,
        transform 120ms ease;
}

body .coremap-prestige-overlay .coremap-territory-close:active {
    transform: scale(0.94);
}

.coremap-prestige-overlay .coremap-territory-notice:not(:empty) {
    min-height: 0;
    margin: 0 0 10px;
    padding: 10px 12px;
    border: 1px solid rgba(151, 166, 255, 0.12);
    border-radius: 14px;
    background: rgba(96, 112, 205, 0.08);
}

.coremap-prestige-overlay .coremap-territory-search-row {
    gap: 9px;
    margin-bottom: 12px;
}

.coremap-prestige-overlay .coremap-territory-input {
    min-height: 48px;
    border: 1px solid rgba(161, 175, 255, 0.18);
    border-radius: 15px;
    background: rgba(6, 13, 27, 0.52);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
    transition:
        border-color 150ms ease,
        box-shadow 150ms ease;
}

.coremap-prestige-overlay .coremap-territory-input:focus {
    border-color: rgba(126, 145, 255, 0.72);
    box-shadow: 0 0 0 3px rgba(100, 119, 240, 0.14);
}

.coremap-prestige-overlay .coremap-territory-secondary,
.coremap-prestige-overlay .coremap-territory-primary,
.coremap-prestige-overlay .coremap-prestige-save {
    min-height: 48px;
    border-radius: 15px;
    font-size: 13px;
    font-weight: 850;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07);
    -webkit-tap-highlight-color: transparent;
    transition:
        border-color 150ms ease,
        background 150ms ease,
        transform 120ms ease;
}

.coremap-prestige-overlay .coremap-territory-primary,
.coremap-prestige-overlay .coremap-prestige-save {
    border-color: rgba(130, 145, 255, 0.52);
    background: linear-gradient(135deg, #5e72ee, #854ee2);
}

.coremap-prestige-overlay .coremap-territory-secondary {
    border-color: rgba(151, 166, 255, 0.23);
    background: rgba(97, 115, 226, 0.10);
}

.coremap-prestige-overlay .coremap-territory-secondary:active,
.coremap-prestige-overlay .coremap-territory-primary:active,
.coremap-prestige-overlay .coremap-prestige-save:active:not(:disabled) {
    transform: scale(0.98);
}

.coremap-prestige-overlay .coremap-prestige-users,
.coremap-prestige-overlay .coremap-prestige-territories {
    gap: 10px;
}

.coremap-prestige-overlay .coremap-prestige-user,
.coremap-prestige-overlay .coremap-prestige-territory,
.coremap-prestige-overlay .coremap-prestige-user-summary {
    border: 1px solid rgba(170, 181, 255, 0.14);
    border-radius: 18px;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.058),
            rgba(255, 255, 255, 0.019)
        );
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 14px 34px rgba(0, 0, 0, 0.10);
}

.coremap-prestige-overlay .coremap-prestige-user,
.coremap-prestige-overlay .coremap-prestige-territory {
    min-height: 66px;
    padding: 13px;
    transition:
        border-color 150ms ease,
        background 150ms ease,
        transform 120ms ease;
}

.coremap-prestige-overlay .coremap-prestige-user.selected,
.coremap-prestige-overlay .coremap-prestige-territory.selected {
    border-color: rgba(132, 148, 255, 0.52);
    background: linear-gradient(
        135deg,
        rgba(94, 114, 238, 0.18),
        rgba(133, 78, 226, 0.10)
    );
}

.coremap-prestige-overlay .coremap-prestige-user:active,
.coremap-prestige-overlay .coremap-prestige-territory:active {
    transform: scale(0.985);
}

.coremap-prestige-overlay .coremap-territory-mark {
    width: 30px;
    height: 30px;
    border-color: rgba(161, 175, 255, 0.18);
    background: rgba(112, 128, 226, 0.10);
}

.coremap-prestige-editor {
    box-sizing: border-box;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    padding:
        calc(var(--coremap-window-safe-top, 0px) + 8px)
        max(10px, var(--coremap-map-safe-right, 0px))
        max(10px, var(--coremap-map-safe-bottom, 0px))
        max(10px, var(--coremap-map-safe-left, 0px));
    background:
        radial-gradient(
            circle at 12% 8%,
            rgba(87, 105, 242, 0.20),
            transparent 42%
        ),
        radial-gradient(
            circle at 88% 82%,
            rgba(151, 69, 238, 0.16),
            transparent 44%
        ),
        rgba(2, 7, 17, 0.78);
    backdrop-filter: blur(24px) saturate(135%);
    -webkit-backdrop-filter: blur(24px) saturate(135%);
}

.coremap-prestige-editor-dialog {
    position: relative;
    isolation: isolate;
    width: min(100%, 620px);
    max-height: var(
        --coremap-window-usable-height,
        calc(100dvh - 24px)
    );
    border: 1px solid rgba(154, 168, 255, 0.32);
    border-radius: 28px 28px 22px 22px;
    background:
        radial-gradient(
            circle at 22% -8%,
            rgba(94, 113, 245, 0.24),
            transparent 40%
        ),
        linear-gradient(
            155deg,
            rgba(22, 32, 53, 0.94),
            rgba(8, 15, 29, 0.97)
        );
    box-shadow:
        0 30px 90px rgba(0, 0, 0, 0.65),
        inset 0 1px 0 rgba(255, 255, 255, 0.11);
    backdrop-filter: blur(28px) saturate(125%);
    -webkit-backdrop-filter: blur(28px) saturate(125%);
    animation:
        coremap-prestige-panel-in
        240ms
        cubic-bezier(0.2, 0.85, 0.25, 1)
        both;
}

.coremap-prestige-editor-header {
    grid-template-columns: 50px minmax(0, 1fr) 50px;
    gap: 12px;
    padding: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(
        180deg,
        rgba(119, 132, 242, 0.10),
        transparent
    );
}

.coremap-prestige-editor-header h3 {
    color: #ffffff;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.1;
}

.coremap-prestige-editor-header p {
    margin-top: 6px;
    color: #98a4bb;
    font-size: 11px;
    font-weight: 650;
}

body .coremap-prestige-editor-back,
body .coremap-prestige-editor-close {
    width: 50px;
    min-width: 50px;
    height: 50px;
    min-height: 50px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.07);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 8px 22px rgba(0, 0, 0, 0.18);
    -webkit-tap-highlight-color: transparent;
    transition:
        border-color 150ms ease,
        background 150ms ease,
        transform 120ms ease;
}

body .coremap-prestige-editor-back:active,
body .coremap-prestige-editor-close:active {
    transform: scale(0.94);
}

.coremap-prestige-editor-content {
    padding: 14px;
    scrollbar-width: thin;
    scrollbar-color: rgba(132, 145, 235, 0.50) transparent;
}

.coremap-prestige-editor-footer {
    padding: 11px 14px max(
        11px,
        var(--coremap-map-safe-bottom, 0px),
        env(safe-area-inset-bottom, 0px)
    );
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(10, 18, 33, 0.86);
    backdrop-filter: blur(18px) saturate(125%);
    -webkit-backdrop-filter: blur(18px) saturate(125%);
}

.coremap-prestige-editor-footer[hidden] {
    display: none !important;
}

.coremap-prestige-service-access {
    display: grid;
    gap: 7px;
    padding: 15px;
    border: 1px solid rgba(77, 226, 161, 0.24);
    border-radius: 16px;
    background:
        linear-gradient(
            145deg,
            rgba(32, 105, 84, 0.22),
            rgba(22, 33, 57, 0.62)
        );
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.07),
        0 14px 34px rgba(3, 10, 24, 0.18);
}

.coremap-prestige-service-access.missing {
    border-color: rgba(255, 181, 92, 0.26);
    background:
        linear-gradient(
            145deg,
            rgba(126, 78, 26, 0.20),
            rgba(22, 33, 57, 0.62)
        );
}

.coremap-prestige-service-access strong {
    color: #effff8;
    font-size: 13px;
    font-weight: 850;
}

.coremap-prestige-service-access span {
    color: #cbd8e7;
    font-size: 12px;
    line-height: 1.45;
}

.coremap-prestige-service-access small {
    color: #8796aa;
    font-size: 10px;
    line-height: 1.4;
}

.coremap-prestige-user-summary {
    padding: 14px;
}

.coremap-prestige-levels {
    gap: 8px;
}

.coremap-prestige-level {
    min-height: 48px;
    border: 1px solid rgba(155, 168, 255, 0.16);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.035);
    font-size: 11px;
    font-weight: 850;
    transition:
        border-color 150ms ease,
        background 150ms ease,
        transform 120ms ease;
}

.coremap-prestige-level.selected {
    border-color: rgba(153, 126, 255, 0.62);
    background: linear-gradient(135deg, #5e72ee, #854ee2);
    color: #ffffff;
    box-shadow:
        0 9px 20px rgba(85, 91, 225, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.coremap-prestige-level:active {
    transform: scale(0.97);
}

.coremap-prestige-overlay :is(
    .coremap-territory-close,
    .coremap-territory-secondary,
    .coremap-territory-primary,
    .coremap-prestige-user,
    .coremap-prestige-territory,
    .coremap-prestige-level,
    .coremap-prestige-editor-back,
    .coremap-prestige-editor-close,
    .coremap-prestige-save
):focus-visible {
    outline: 3px solid rgba(151, 166, 255, 0.72);
    outline-offset: 2px;
}

@keyframes coremap-prestige-panel-in {
    from {
        opacity: 0;
        filter: blur(4px);
        transform: translateY(20px) scale(0.985);
    }
    to {
        opacity: 1;
        filter: blur(0);
        transform: translateY(0) scale(1);
    }
}

@keyframes coremap-prestige-card-in {
    from {
        opacity: 0;
        transform: translateY(9px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.coremap-prestige-overlay.visible .coremap-prestige-user,
.coremap-prestige-editor:not([hidden]) .coremap-prestige-territory {
    animation:
        coremap-prestige-card-in
        250ms
        cubic-bezier(0.18, 0.82, 0.24, 1)
        both;
}

@media (min-width: 700px) {
.coremap-prestige-overlay,
.coremap-prestige-editor {
        align-items: center;
    }

.coremap-prestige-overlay > .coremap-territory-dialog,
.coremap-prestige-editor-dialog {
        transform-origin: center;
    }
}

@media (max-width: 430px) {
.coremap-prestige-overlay,
.coremap-prestige-editor {
        align-items: flex-end;
        padding:
            calc(var(--coremap-window-safe-top, 0px) + 8px)
            max(8px, var(--coremap-map-safe-right, 0px))
            max(8px, var(--coremap-map-safe-bottom, 0px))
            max(8px, var(--coremap-map-safe-left, 0px));
    }

.coremap-prestige-overlay > .coremap-territory-dialog,
.coremap-prestige-editor-dialog {
        width: 100%;
        max-height: var(
            --coremap-window-usable-height,
            calc(100dvh - 20px)
        );
        border-radius: 25px 25px 20px 20px;
    }

.coremap-prestige-overlay .coremap-territory-header {
        grid-template-columns: 46px minmax(0, 1fr) 46px;
        gap: 10px;
        padding: 14px;
    }

.coremap-prestige-overlay .coremap-territory-header::before {
        width: 46px;
        height: 46px;
        border-radius: 15px;
        background-size: 22px, auto;
    }

.coremap-prestige-overlay .coremap-territory-title {
        font-size: 20px;
    }

body .coremap-prestige-overlay .coremap-territory-close,
body .coremap-prestige-editor-back,
body .coremap-prestige-editor-close {
        width: 46px;
        min-width: 46px;
        height: 46px;
        min-height: 46px;
        border-radius: 15px;
    }

.coremap-prestige-editor-header {
        grid-template-columns: 46px minmax(0, 1fr) 46px;
        gap: 10px;
        padding: 14px;
    }
}

@media (max-width: 390px) {
.coremap-prestige-overlay .coremap-territory-subtitle {
        display: none;
    }

.coremap-prestige-overlay .coremap-territory-title {
        font-size: 18px;
    }

.coremap-prestige-overlay .coremap-territory-search-row {
        grid-template-columns: 1fr;
    }

.coremap-prestige-editor-header p {
        display: none;
    }

.coremap-prestige-levels {
        grid-template-columns: 1fr 1fr;
    }
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen[
    data-coremap-telegram-platform="android"
] :is(
    .coremap-prestige-overlay,
    .coremap-prestige-editor
) {
    padding-top: calc(
        var(--coremap-window-safe-top, 0px) + 8px
    );
}

@media (prefers-reduced-motion: reduce) {
.coremap-prestige-overlay,
.coremap-prestige-overlay > .coremap-territory-dialog,
.coremap-prestige-editor-dialog,
.coremap-prestige-user,
.coremap-prestige-territory,
.coremap-prestige-level,
.coremap-territory-close,
.coremap-territory-secondary,
.coremap-territory-primary,
.coremap-prestige-editor-back,
.coremap-prestige-editor-close,
.coremap-prestige-save {
        transition-duration: 1ms !important;
        animation-duration: 1ms !important;
        animation-delay: 0ms !important;
    }
}

@supports not ((backdrop-filter: blur(2px))) {
.coremap-prestige-overlay,
.coremap-prestige-editor {
        background: rgba(2, 7, 17, 0.94);
    }

.coremap-prestige-overlay > .coremap-territory-dialog,
.coremap-prestige-editor-dialog {
        background: #101a2b;
    }
}

.coremap-prestige-overlay,
.coremap-prestige-editor {
    max-width: 100%;
    overflow: hidden;
    overscroll-behavior: none;
}

.coremap-prestige-editor {
    inset: 0;
    touch-action: pan-y;
}

.coremap-prestige-editor-dialog,
.coremap-prestige-editor-header,
.coremap-prestige-editor-content,
.coremap-prestige-editor-footer,
.coremap-prestige-user-summary,
.coremap-prestige-levels,
.coremap-prestige-territory-tools,
.coremap-prestige-territories,
.coremap-prestige-territory,
.coremap-prestige-editor .coremap-territory-search-row,
.coremap-prestige-editor .coremap-territory-results {
    min-width: 0;
    max-width: 100%;
}

.coremap-prestige-editor-dialog {
    min-height: 0;
    overflow: hidden;
    touch-action: pan-y;
}

.coremap-prestige-editor-content {
    width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-x: none;
    overscroll-behavior-y: contain;
    touch-action: pan-y;
}

.coremap-prestige-editor-header > div,
.coremap-prestige-user-summary > *,
.coremap-prestige-territory > * {
    min-width: 0;
    overflow-wrap: anywhere;
}

@media (max-width: 699px) {
.coremap-prestige-editor {
        align-items: center;
    }

.coremap-prestige-editor-dialog {
        width: 100%;
        max-height: var(
            --coremap-window-usable-height,
            calc(
                var(--tg-viewport-stable-height, 100dvh)
                - var(--coremap-window-safe-top, 0px)
                - var(--coremap-map-safe-bottom, 0px)
                - 16px
            )
        );
    }
}

/* coremap-profile.css */
.coremap-profile-button {
    border: 1px solid rgba(58, 190, 174, 0.34);
    background: rgba(32, 145, 133, 0.12);
    color: #bff5ec;
    box-shadow: none;
}

.coremap-profile-button[hidden] {
    display: none !important;
}

.coremap-profile-overlay {
    position: fixed;
    inset: 0;
    z-index: 10080;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 14px;
    background: rgba(3, 8, 16, 0.72);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}

.coremap-profile-overlay.visible {
    display: flex;
}

.coremap-profile-panel {
    display: flex;
    flex-direction: column;
    width: min(100%, 520px);
    max-height: min(90dvh, 820px);
    overflow: hidden;
    border: 1px solid rgba(139, 154, 184, 0.25);
    border-radius: 8px;
    background: #111a28;
    color: #f4f7fb;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.48);
}

.coremap-profile-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    align-items: center;
    gap: 12px;
    padding: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.coremap-profile-heading h2 {
    margin: 0;
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: 0;
}

.coremap-profile-heading p {
    margin: 4px 0 0;
    color: #8fa0b8;
    font-size: 12px;
}

.coremap-profile-close {
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.05);
    color: #eef2f8;
    font-size: 25px;
    line-height: 1;
}

.coremap-profile-body {
    min-height: 0;
    overflow-y: auto;
    padding: 16px;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.coremap-profile-loading,
.coremap-profile-message {
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    color: #aeb9ca;
    text-align: center;
}

.coremap-profile-message.error {
    border-color: rgba(255, 91, 116, 0.34);
    color: #ff9aaa;
}

.coremap-profile-message.success {
    border-color: rgba(57, 205, 157, 0.34);
    color: #75e5bd;
}

.coremap-profile-person {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.coremap-profile-avatar {
    position: relative;
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    overflow: hidden;
    border: 1px solid rgba(80, 205, 184, 0.46);
    border-radius: 50%;
    background: #18344a;
    color: #d4fff6;
    font-size: 21px;
    font-weight: 900;
}

.coremap-profile-avatar > span {
    line-height: 1;
}

.coremap-profile-avatar > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.coremap-profile-person-copy {
    min-width: 0;
}

.coremap-profile-person-copy > strong,
.coremap-profile-person-copy > span {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.coremap-profile-person-copy > strong {
    font-size: 17px;
}

.coremap-profile-person-copy > span {
    margin-top: 3px;
    color: #8fa0b8;
    font-size: 12px;
}

.coremap-profile-reputation {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: end;
    gap: 6px;
    min-width: 58px;
    max-width: 104px;
    min-height: 38px;
    padding: 0 10px;
    overflow: hidden;
    border: 1px solid rgba(255, 207, 91, 0.30);
    border-radius: 14px;
    background:
        linear-gradient(
            145deg,
            rgba(255, 210, 88, 0.15),
            rgba(133, 91, 255, 0.10)
        );
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.10),
        0 10px 24px rgba(15, 7, 38, 0.16);
    color: #fff4c7;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.coremap-profile-reputation-icon {
    flex: 0 0 auto;
    font-size: 15px;
    line-height: 1;
    filter: drop-shadow(0 2px 5px rgba(255, 194, 47, 0.24));
}

.coremap-profile-reputation > strong {
    min-width: 0;
    overflow: hidden;
    color: #fff5d1;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
    text-overflow: ellipsis;
}

.coremap-profile-reputation.favorite {
    gap: 8px;
    min-width: 142px;
    max-width: 172px;
    border-color: rgba(255, 217, 112, 0.58);
    background:
        radial-gradient(
            circle at 16% 0%,
            rgba(255, 244, 171, 0.34),
            transparent 42%
        ),
        linear-gradient(
            135deg,
            rgba(221, 155, 28, 0.32),
            rgba(117, 65, 8, 0.28)
        );
    box-shadow:
        inset 0 1px 0 rgba(255, 252, 215, 0.30),
        0 0 0 1px rgba(255, 187, 48, 0.08),
        0 9px 28px rgba(113, 65, 0, 0.25);
    color: #fff0ad;
}

.coremap-profile-reputation.favorite > strong {
    color: #fff2b5;
    font-size: 12px;
    letter-spacing: 0.01em;
}

.coremap-profile-favorite-crown {
    display: inline-grid;
    place-items: center;
    width: 25px;
    height: 22px;
    flex: 0 0 auto;
    background: transparent;
    box-shadow: none;
    filter: none;
}

.coremap-profile-favorite-crown svg {
    width: 100%;
    height: 100%;
    overflow: visible;
    background: transparent;
    box-shadow: none;
    filter: none;
}

.coremap-profile-favorite-crown path:first-child {
    fill: #ffd75a;
    stroke: #fff1ad;
    stroke-width: 1.2;
    stroke-linejoin: round;
}

.coremap-profile-favorite-crown path:last-child {
    fill: none;
    stroke: #fff0a8;
    stroke-width: 2;
    stroke-linecap: round;
}

.coremap-profile-account {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}

.coremap-profile-account-item {
    min-width: 0;
    min-height: 64px;
    padding: 11px 12px;
    border: 1px solid rgba(105, 126, 238, 0.22);
    border-radius: 8px;
    background: rgba(71, 91, 181, 0.08);
}

.coremap-profile-account-item span,
.coremap-profile-account-item strong {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.coremap-profile-account-item span {
    color: #8997ad;
    font-size: 10px;
    font-weight: 700;
}

.coremap-profile-account-item strong {
    margin-top: 7px;
    color: #eef1ff;
    font-size: 13px;
    font-weight: 850;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0;
}

.coremap-profile-account-role strong {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

.coremap-profile-notification-settings {
    display: grid;
    min-width: 0;
    gap: 16px;
}

.coremap-profile-notification-heading h3 {
    margin: 0 0 6px;
    font-size: 20px;
    line-height: 1.25;
    overflow-wrap: break-word;
}

.coremap-profile-notification-heading p,
.coremap-profile-notification-feedback {
    margin: 0;
    color: #a4afc5;
    font-size: 12px;
    line-height: 1.5;
}

.coremap-profile-notification-settings fieldset {
    display: grid;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    gap: 10px;
}

.coremap-profile-notification-legend {
    margin-bottom: 10px;
    color: #a4afc5;
    font-size: 12px;
}

.coremap-profile-notification-choice {
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 62px;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid rgba(151, 166, 255, 0.22);
    border-radius: 16px;
    background: rgba(97, 115, 226, 0.08);
    color: #edf0ff;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.4;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.coremap-profile-notification-choice.selected {
    border-color: #9981f5;
    background: linear-gradient(135deg, rgba(102, 120, 255, 0.25), rgba(144, 71, 232, 0.16));
}

.coremap-profile-notification-choice input {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #9981f5;
}

.coremap-profile-notification-choice span {
    min-width: 0;
    overflow-wrap: normal;
}

.coremap-profile-notification-choice:focus-within {
    outline: 2px solid #b8a4ff;
    outline-offset: 3px;
}

.coremap-profile-notification-settings fieldset:disabled .coremap-profile-notification-choice {
    opacity: 0.6;
    cursor: wait;
}

.coremap-profile-notification-feedback {
    min-height: 18px;
    overflow-wrap: anywhere;
}

.coremap-profile-notification-feedback.error {
    color: #ff9aaa;
}

.coremap-profile-notification-settings [hidden] {
    display: none !important;
}

.coremap-profile-stat span,
.coremap-profile-home span {
    color: #8fa0b8;
    font-size: 11px;
}

.coremap-profile-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 12px;
}

.coremap-profile-stat {
    min-height: 66px;
    padding: 11px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.025);
}

.coremap-profile-stat strong,
.coremap-profile-stat span {
    display: block;
}

.coremap-profile-stat strong {
    margin-top: 6px;
    font-size: 19px;
}

.coremap-profile-home,
.coremap-profile-change-state {
    margin-bottom: 12px;
    padding: 13px;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.025);
}

.coremap-profile-home strong,
.coremap-profile-change-state strong,
.coremap-profile-change-state small {
    display: block;
}

.coremap-profile-home strong {
    margin-top: 5px;
    font-size: 15px;
}

.coremap-profile-prestige-button {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 32px;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 64px;
    margin: 0 0 12px;
    padding: 12px 13px;
    border: 1px solid rgba(151, 113, 255, 0.38);
    border-radius: 8px;
    background: rgba(116, 78, 207, 0.11);
    color: #f3efff;
    text-align: left;
}

.coremap-profile-prestige-button small,
.coremap-profile-prestige-button strong {
    display: block;
}

.coremap-profile-prestige-button small {
    color: #a99dca;
    font-size: 11px;
}

.coremap-profile-prestige-button strong {
    margin-top: 4px;
    overflow-wrap: anywhere;
    font-size: 15px;
}

.coremap-profile-prestige-arrow {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    color: #c9baff;
    font-size: 28px;
    line-height: 1;
}

.coremap-profile-change-state.pending {
    border-color: rgba(237, 182, 62, 0.35);
}

.coremap-profile-change-state.approved {
    border-color: rgba(57, 205, 157, 0.35);
}

.coremap-profile-change-state.rejected {
    border-color: rgba(255, 91, 116, 0.35);
}

.coremap-profile-change-state small {
    margin-top: 5px;
    color: #8fa0b8;
    font-size: 11px;
}

.coremap-profile-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.coremap-profile-actions button,
.coremap-profile-search button,
.coremap-profile-submit {
    min-height: 44px;
    border-radius: 8px;
    font-weight: 800;
}

.coremap-profile-primary,
.coremap-profile-submit {
    border: 1px solid #5771e5;
    background: #4d64d7;
    color: #fff;
}

.coremap-profile-secondary {
    border: 1px solid rgba(255, 255, 255, 0.11);
    background: rgba(255, 255, 255, 0.045);
    color: #e4e9f1;
}

.coremap-profile-change-form {
    display: grid;
    gap: 12px;
}

.coremap-profile-change-form h3 {
    margin: 0;
    font-size: 16px;
}

.coremap-profile-change-form p {
    margin: 0;
    color: #8fa0b8;
    font-size: 12px;
    line-height: 1.45;
}

.coremap-profile-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
}

.coremap-profile-input,
.coremap-profile-note {
    width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    outline: none;
    background: #182334;
    color: #f4f7fb;
    font-size: 14px;
}

.coremap-profile-input {
    min-height: 44px;
    padding: 0 12px;
}

.coremap-profile-note {
    min-height: 82px;
    padding: 11px 12px;
    resize: vertical;
}

.coremap-profile-results {
    display: grid;
    gap: 7px;
}

.coremap-profile-choice {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 50px;
    padding: 9px 11px;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.03);
    color: #eef2f8;
    text-align: left;
}

.coremap-profile-choice.selected {
    border-color: rgba(76, 213, 183, 0.5);
    background: rgba(38, 156, 139, 0.13);
}

.coremap-profile-choice strong,
.coremap-profile-choice small {
    display: block;
}

.coremap-profile-choice small {
    margin-top: 3px;
    color: #8391a5;
    font-size: 10px;
}

.coremap-profile-submit:disabled {
    opacity: 0.5;
}

body.coremap-profile-open {
    overflow: hidden !important;
}

.coremap-profile-prestige-overlay {
    position: fixed;
    inset: 0;
    z-index: 10120;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 14px;
    background: rgba(3, 8, 16, 0.78);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
}

.coremap-profile-prestige-overlay.visible {
    display: flex;
}

.coremap-profile-prestige-panel {
    display: flex;
    flex-direction: column;
    width: min(100%, 500px);
    max-height: min(86dvh, 720px);
    overflow: hidden;
    border: 1px solid rgba(151, 113, 255, 0.35);
    border-radius: 8px;
    background: #111927;
    color: #f4f7fb;
    box-shadow: 0 26px 76px rgba(0, 0, 0, 0.56);
}

.coremap-profile-prestige-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    align-items: center;
    gap: 12px;
    padding: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.coremap-profile-prestige-header h3 {
    margin: 0;
    font-size: 19px;
    letter-spacing: 0;
}

.coremap-profile-prestige-header p {
    margin: 4px 0 0;
    color: #928ba7;
    font-size: 12px;
}

.coremap-profile-prestige-close {
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.05);
    color: #eef2f8;
    font-size: 25px;
    line-height: 1;
}

.coremap-profile-prestige-body {
    min-height: 0;
    overflow-y: auto;
    padding: 16px;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.coremap-profile-prestige-level {
    margin-bottom: 18px;
    padding: 15px;
    border-left: 3px solid #9b7aff;
    background: rgba(116, 78, 207, 0.12);
}

.coremap-profile-prestige-level span,
.coremap-profile-prestige-level strong,
.coremap-profile-prestige-level small {
    display: block;
}

.coremap-profile-prestige-level span {
    color: #a99dca;
    font-size: 11px;
}

.coremap-profile-prestige-level strong {
    margin-top: 5px;
    font-size: 19px;
}

.coremap-profile-prestige-level small {
    margin-top: 6px;
    color: #aeb9ca;
    font-size: 11px;
    line-height: 1.45;
}

.coremap-profile-prestige-section + .coremap-profile-prestige-section {
    margin-top: 18px;
}

.coremap-profile-prestige-section h4 {
    margin: 0 0 8px;
    color: #aeb9ca;
    font-size: 12px;
    letter-spacing: 0;
}

.coremap-profile-prestige-home,
.coremap-profile-prestige-unrestricted {
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.025);
}

.coremap-profile-prestige-home strong,
.coremap-profile-prestige-home span,
.coremap-profile-prestige-unrestricted strong,
.coremap-profile-prestige-unrestricted span {
    display: block;
    overflow-wrap: anywhere;
}

.coremap-profile-prestige-home strong,
.coremap-profile-prestige-unrestricted strong {
    font-size: 14px;
}

.coremap-profile-prestige-home span,
.coremap-profile-prestige-unrestricted span {
    margin-top: 5px;
    color: #8fa0b8;
    font-size: 10px;
}

.coremap-profile-prestige-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.coremap-profile-prestige-territory {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto 18px;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-height: 54px;
    padding: 10px 11px;
    border: 1px solid rgba(151, 113, 255, 0.24);
    border-radius: 8px;
    appearance: none;
    background: rgba(255, 255, 255, 0.025);
    color: #f4f7fb;
    font: inherit;
    text-align: left;
}

.coremap-profile-prestige-territory strong {
    min-width: 0;
    overflow-wrap: anywhere;
    font-size: 14px;
}

.coremap-profile-prestige-territory span {
    color: #a99dca;
    font-size: 10px;
    white-space: nowrap;
}

.coremap-profile-prestige-territory b {
    color: #c8b5ff;
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
    text-align: center;
}

.coremap-profile-prestige-territory:focus-visible {
    outline: 2px solid #b99fff;
    outline-offset: 1px;
}

.coremap-profile-prestige-territory:active {
    border-color: rgba(185, 159, 255, 0.72);
    background: rgba(116, 78, 207, 0.18);
}

.coremap-profile-prestige-territory:disabled {
    opacity: 0.58;
}

.coremap-profile-prestige-feedback {
    margin-bottom: 14px;
    padding: 10px 12px;
    border: 1px solid rgba(255, 111, 132, 0.34);
    border-radius: 8px;
    background: rgba(117, 31, 50, 0.18);
    color: #ffacb9;
    font-size: 11px;
    line-height: 1.45;
}

.coremap-map-shell .coremap-profile-territory-preview {
    position: absolute;
    top: 12px;
    left: 12px;
    right: 12px;
    z-index: 7100;
    overflow: hidden;
    padding: 11px 13px 13px;
    border: 1px solid rgba(185, 159, 255, 0.72);
    border-radius: 8px;
    background: rgba(19, 21, 37, 0.92);
    color: #f7f4ff;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.34);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    pointer-events: none;
}

.coremap-profile-territory-preview strong,
.coremap-profile-territory-preview span {
    display: block;
    overflow-wrap: anywhere;
}

.coremap-profile-territory-preview strong {
    font-size: 14px;
}

.coremap-profile-territory-preview span {
    margin-top: 3px;
    color: #c2b9d8;
    font-size: 10px;
}

.coremap-profile-territory-preview i {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    background: #a888ff;
    transform: scaleX(1);
    transform-origin: left center;
}

.coremap-profile-territory-preview.active i {
    animation: coremap-territory-preview-countdown 5s linear forwards;
}

@keyframes coremap-territory-preview-countdown {
    to {
        transform: scaleX(0);
    }
}

.coremap-profile-prestige-empty {
    padding: 18px;
    border: 1px dashed rgba(255, 255, 255, 0.13);
    border-radius: 8px;
    color: #8fa0b8;
    font-size: 12px;
    text-align: center;
}

@media (max-width: 430px) {
.coremap-profile-overlay {
        align-items: flex-end;
        padding: 0;
    }

.coremap-profile-panel {
        width: 100%;
        max-height: 92dvh;
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
        border-radius: 8px 8px 0 0;
    }

.coremap-profile-actions {
        grid-template-columns: 1fr;
    }

.coremap-profile-prestige-overlay {
        align-items: flex-end;
        padding: 0;
    }

.coremap-profile-prestige-panel {
        width: 100%;
        max-height: 88dvh;
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
        border-radius: 8px 8px 0 0;
    }

.coremap-profile-prestige-list {
        grid-template-columns: 1fr;
    }
}

.coremap-profile-overlay,
.coremap-profile-prestige-overlay {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding:
        calc(var(--coremap-window-safe-top, 0px) + 8px)
        max(10px, var(--coremap-map-safe-right, 0px))
        max(10px, var(--coremap-map-safe-bottom, 0px))
        max(10px, var(--coremap-map-safe-left, 0px));
    box-sizing: border-box;
    background:
        radial-gradient(
            circle at 12% 8%,
            rgba(87, 105, 242, 0.20),
            transparent 42%
        ),
        radial-gradient(
            circle at 88% 82%,
            rgba(151, 69, 238, 0.16),
            transparent 44%
        ),
        rgba(2, 7, 17, 0.72);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    overscroll-behavior: contain;
    backdrop-filter: blur(22px) saturate(135%);
    -webkit-backdrop-filter: blur(22px) saturate(135%);
    transition:
        opacity 200ms ease,
        visibility 0s linear 240ms;
}

.coremap-profile-overlay.visible,
.coremap-profile-prestige-overlay.visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}

.coremap-profile-panel,
.coremap-profile-prestige-panel {
    position: relative;
    isolation: isolate;
    width: min(100%, 620px);
    max-height: var(
        --coremap-window-usable-height,
        calc(100dvh - 24px)
    );
    border: 1px solid rgba(154, 168, 255, 0.32);
    border-radius: 28px 28px 22px 22px;
    background:
        radial-gradient(
            circle at 22% -8%,
            rgba(94, 113, 245, 0.24),
            transparent 40%
        ),
        radial-gradient(
            circle at 100% 14%,
            rgba(151, 75, 238, 0.14),
            transparent 35%
        ),
        linear-gradient(
            155deg,
            rgba(22, 32, 53, 0.92),
            rgba(8, 15, 29, 0.95)
        );
    box-shadow:
        0 30px 90px rgba(0, 0, 0, 0.65),
        0 0 0 1px rgba(83, 99, 209, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.11),
        inset 0 -1px 0 rgba(255, 255, 255, 0.025);
    backdrop-filter: blur(28px) saturate(125%);
    -webkit-backdrop-filter: blur(28px) saturate(125%);
    opacity: 0;
    transform: translateY(28px) scale(0.985);
    transform-origin: bottom center;
    transition:
        opacity 180ms ease,
        transform 240ms cubic-bezier(0.2, 0.85, 0.25, 1);
}

.coremap-profile-overlay.visible .coremap-profile-panel,
.coremap-profile-prestige-overlay.visible
.coremap-profile-prestige-panel {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.coremap-profile-header,
.coremap-profile-prestige-header {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 50px;
    align-items: center;
    gap: 13px;
    padding: 17px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(
        180deg,
        rgba(119, 132, 242, 0.10),
        transparent
    );
}

.coremap-profile-header::before,
.coremap-profile-prestige-header::before {
    content: "";
    display: block;
    width: 52px;
    height: 52px;
    border: 1px solid rgba(196, 203, 255, 0.26);
    border-radius: 17px;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") center / 25px no-repeat,
        linear-gradient(145deg, #6678ff, #9047e8);
    box-shadow:
        0 12px 30px rgba(93, 92, 235, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.coremap-profile-prestige-header::before {
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l2.4 4.9 5.4.8-3.9 3.8.9 5.4-4.8-2.5-4.8 2.5.9-5.4-3.9-3.8 5.4-.8z'/%3E%3C/svg%3E") center / 25px no-repeat,
        linear-gradient(145deg, #6678ff, #9047e8);
}

.coremap-profile-heading,
.coremap-profile-prestige-header > div {
    min-width: 0;
}

.coremap-profile-heading h2,
.coremap-profile-prestige-header h3 {
    color: #ffffff;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -0.025em;
}

.coremap-profile-heading p,
.coremap-profile-prestige-header p {
    margin-top: 6px;
    color: #98a4bb;
    font-size: 11px;
    font-weight: 650;
    line-height: 1.3;
}

body .coremap-profile-close,
body .coremap-profile-prestige-close {
    display: grid;
    place-items: center;
    width: 50px;
    min-width: 50px;
    height: 50px;
    min-height: 50px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.07);
    color: #e8ecf6;
    font: inherit;
    font-size: 28px;
    line-height: 1;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 8px 22px rgba(0, 0, 0, 0.18);
    -webkit-tap-highlight-color: transparent;
    transition:
        border-color 150ms ease,
        background 150ms ease,
        transform 120ms ease;
}

body .coremap-profile-close:active,
body .coremap-profile-prestige-close:active {
    transform: scale(0.94);
}

.coremap-profile-body,
.coremap-profile-prestige-body {
    scrollbar-width: thin;
    scrollbar-color: rgba(132, 145, 235, 0.50) transparent;
}

.coremap-profile-body {
    padding: 14px;
}

.coremap-profile-body::-webkit-scrollbar,
.coremap-profile-prestige-body::-webkit-scrollbar {
    width: 4px;
}

.coremap-profile-body::-webkit-scrollbar-thumb,
.coremap-profile-prestige-body::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(132, 145, 235, 0.48);
}

.coremap-profile-person,
.coremap-profile-account-item,
.coremap-profile-stat,
.coremap-profile-home,
.coremap-profile-change-state,
.coremap-profile-prestige-button,
.coremap-profile-change-form,
.coremap-profile-prestige-level,
.coremap-profile-prestige-home,
.coremap-profile-prestige-unrestricted,
.coremap-profile-prestige-territory,
.coremap-profile-loading,
.coremap-profile-message {
    border-color: rgba(170, 181, 255, 0.14);
    border-radius: 18px;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.058),
            rgba(255, 255, 255, 0.019)
        );
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 14px 34px rgba(0, 0, 0, 0.10);
}

.coremap-profile-person {
    margin-bottom: 10px;
    padding: 13px;
    border: 1px solid rgba(170, 181, 255, 0.14);
}

.coremap-profile-avatar {
    border-color: rgba(178, 187, 255, 0.38);
    border-radius: 17px;
    background: linear-gradient(145deg, #6678ff, #9047e8);
    box-shadow:
        0 10px 24px rgba(93, 92, 235, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

.coremap-profile-account,
.coremap-profile-stats {
    gap: 10px;
    margin-bottom: 10px;
}

.coremap-profile-account-item,
.coremap-profile-stat {
    padding: 12px 13px;
}

.coremap-profile-home,
.coremap-profile-change-state,
.coremap-profile-prestige-button {
    margin-bottom: 10px;
    padding: 14px;
}

.coremap-profile-prestige-button {
    border-color: rgba(142, 157, 255, 0.25);
    background:
        linear-gradient(
            135deg,
            rgba(102, 120, 255, 0.14),
            rgba(144, 71, 232, 0.075)
        );
}

.coremap-profile-actions {
    gap: 10px;
}

.coremap-profile-actions button,
.coremap-profile-search button,
.coremap-profile-submit {
    min-height: 50px;
    border-radius: 15px;
    font-size: 13px;
    font-weight: 850;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

.coremap-profile-primary,
.coremap-profile-submit {
    border-color: rgba(130, 145, 255, 0.52);
    background: linear-gradient(135deg, #5e72ee, #854ee2);
}

.coremap-profile-secondary {
    border-color: rgba(151, 166, 255, 0.23);
    background: rgba(97, 115, 226, 0.10);
}

.coremap-profile-change-form {
    padding: 14px;
    border: 1px solid rgba(170, 181, 255, 0.14);
}

.coremap-profile-input,
.coremap-profile-note,
.coremap-profile-choice {
    border-color: rgba(161, 175, 255, 0.18);
    border-radius: 15px;
    background: rgba(6, 13, 27, 0.48);
}

.coremap-profile-prestige-body {
    padding: 14px;
}

.coremap-profile-prestige-level {
    margin-bottom: 14px;
    padding: 15px;
    border: 1px solid rgba(151, 113, 255, 0.26);
    border-left: 3px solid #9b7aff;
}

.coremap-profile-prestige-section + .coremap-profile-prestige-section {
    margin-top: 14px;
}

.coremap-profile-prestige-territory {
    min-height: 62px;
}

@media (max-width: 430px) {
.coremap-profile-overlay,
.coremap-profile-prestige-overlay {
        align-items: flex-end;
        padding:
            calc(var(--coremap-window-safe-top, 0px) + 8px)
            max(8px, var(--coremap-map-safe-right, 0px))
            max(8px, var(--coremap-map-safe-bottom, 0px))
            max(8px, var(--coremap-map-safe-left, 0px));
    }

.coremap-profile-panel,
.coremap-profile-prestige-panel {
        width: 100%;
        max-height: var(
            --coremap-window-usable-height,
            calc(100dvh - 20px)
        );
        border: 1px solid rgba(154, 168, 255, 0.32);
        border-radius: 25px 25px 20px 20px;
    }

.coremap-profile-header,
.coremap-profile-prestige-header {
        grid-template-columns: 46px minmax(0, 1fr) 46px;
        gap: 10px;
        padding: 14px;
    }

.coremap-profile-header::before,
.coremap-profile-prestige-header::before {
        width: 46px;
        height: 46px;
        border-radius: 15px;
        background-size: 23px, auto;
    }

.coremap-profile-heading h2,
.coremap-profile-prestige-header h3 {
        font-size: 21px;
    }

body .coremap-profile-close,
body .coremap-profile-prestige-close {
        width: 46px;
        min-width: 46px;
        height: 46px;
        min-height: 46px;
        border-radius: 15px;
    }
}

@media (max-width: 360px) {
.coremap-profile-heading p,
.coremap-profile-prestige-header p {
        display: none;
    }

.coremap-profile-person {
        grid-template-columns: 48px minmax(0, 1fr) auto;
        gap: 8px;
        padding: 11px;
    }

.coremap-profile-avatar {
        width: 48px;
        height: 48px;
        border-radius: 15px;
        font-size: 18px;
    }

.coremap-profile-person-copy > strong {
        font-size: 15px;
    }

.coremap-profile-person-copy > span {
        font-size: 11px;
    }

.coremap-profile-reputation {
        gap: 4px;
        min-width: 50px;
        min-height: 34px;
        padding: 0 8px;
        border-radius: 12px;
    }

.coremap-profile-reputation-icon {
        font-size: 13px;
    }

.coremap-profile-reputation > strong {
        font-size: 13px;
    }

.coremap-profile-reputation.favorite {
        gap: 5px;
        min-width: 112px;
        padding: 0 7px;
    }

.coremap-profile-reputation.favorite > strong {
        font-size: 10px;
    }

.coremap-profile-favorite-crown {
        width: 20px;
        height: 18px;
    }

.coremap-profile-account {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
.coremap-profile-overlay,
.coremap-profile-prestige-overlay,
.coremap-profile-panel,
.coremap-profile-prestige-panel {
        transition-duration: 1ms !important;
    }
}

@supports not ((backdrop-filter: blur(2px))) {
.coremap-profile-overlay,
.coremap-profile-prestige-overlay {
        background: rgba(2, 7, 17, 0.92);
    }

.coremap-profile-panel,
.coremap-profile-prestige-panel {
        background: #0d1627;
    }
}

.coremap-profile-overlay {
    align-items: center;
}

.coremap-profile-panel {
    max-height: min(var(--coremap-window-usable-height, calc(100dvh - 24px)), 900px);
    background:
        radial-gradient(ellipse at 8% 0, rgba(106, 97, 231, 0.19), transparent 43%),
        linear-gradient(155deg, #151c32, #0b1221 70%);
}

.coremap-profile-header {
    grid-template-columns: minmax(0, 1fr) 44px;
    gap: 12px;
    padding: 22px 24px 18px;
    background: transparent;
    border-bottom-color: rgba(170, 181, 255, 0.09);
}

.coremap-profile-header::before {
    display: none;
}

.coremap-profile-heading h2 {
    font-size: 25px;
    font-weight: 800;
}

.coremap-profile-heading p {
    color: #98a2be;
    font-size: 12px;
    font-weight: 400;
}

body .coremap-profile-close {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    border-radius: 50%;
    background: rgba(152, 163, 221, 0.07);
    box-shadow: none;
}

.coremap-profile-body {
    padding: 20px 24px 22px;
}

.coremap-profile-icon {
    display: block;
    flex: 0 0 auto;
    width: 21px;
    height: 21px;
    pointer-events: none;
}

.coremap-profile-identity {
    position: relative;
    overflow: hidden;
    margin-bottom: 23px;
    border: 1px solid rgba(173, 164, 255, 0.22);
    border-radius: 22px;
    background:
        radial-gradient(ellipse at 100% 0, rgba(142, 98, 249, 0.18), transparent 65%),
        linear-gradient(120deg, rgba(112, 112, 207, 0.12), rgba(61, 62, 106, 0.07));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.coremap-profile-identity .coremap-profile-person {
    grid-template-columns: 64px minmax(0, 1fr) auto;
    gap: 14px;
    margin: 0;
    padding: 20px 18px 17px;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
}

.coremap-profile-identity .coremap-profile-avatar {
    width: 64px;
    height: 64px;
    border: 2px solid rgba(208, 201, 255, 0.58);
    border-radius: 50%;
    background: linear-gradient(145deg, #7773f6, #8645d8);
    color: #fff;
    font-size: 25px;
    font-weight: 750;
    box-shadow: 0 0 0 5px rgba(143, 123, 244, 0.09);
}

.coremap-profile-identity .coremap-profile-person-copy > strong {
    color: #f7f6ff;
    font-size: 21px;
    font-weight: 750;
    line-height: 1.25;
    letter-spacing: -0.02em;
}

.coremap-profile-identity .coremap-profile-person-copy > span {
    margin-top: 5px;
    color: #a9adca;
    font-size: 12px;
}

.coremap-profile-identity .coremap-profile-person-copy > .coremap-profile-role-badge {
    display: inline-block;
    max-width: 100%;
    margin-top: 9px;
    padding: 3px 8px;
    box-sizing: border-box;
    border: 1px solid rgba(177, 162, 255, 0.18);
    border-radius: 7px;
    background: rgba(153, 130, 246, 0.1);
    color: #c5baf4;
    font-size: 10px;
    line-height: 1.4;
}

.coremap-profile-identity .coremap-profile-reputation:not(.favorite) {
    align-self: start;
    gap: 7px;
    min-width: 64px;
    max-width: none;
    min-height: 0;
    padding: 9px 10px;
    border-color: rgba(188, 167, 255, 0.2);
    border-radius: 13px;
    background: rgba(142, 113, 239, 0.1);
    color: #c8b4ff;
    box-shadow: none;
}

.coremap-profile-reputation-icon {
    font-size: inherit;
    filter: none;
}

.coremap-profile-reputation-copy {
    display: grid;
    gap: 4px;
    text-align: center;
}

.coremap-profile-reputation-copy small {
    color: #b3a7d1;
    font-size: 9px;
    font-weight: 500;
    line-height: 1;
}

.coremap-profile-reputation-copy strong {
    color: #e2d5ff;
    font-size: 20px;
    font-weight: 750;
    line-height: 1;
}

.coremap-profile-identity .coremap-profile-reputation.negative {
    border-color: rgba(246, 158, 174, 0.18);
    background: rgba(215, 119, 145, 0.075);
    color: #e8a4b6;
}

.coremap-profile-reputation.negative .coremap-profile-reputation-copy strong {
    color: #f0bdcc;
}

.coremap-profile-identity .coremap-profile-reputation.favorite {
    grid-column: 2 / -1;
    justify-self: start;
    min-height: 32px;
    margin-top: -5px;
}

.coremap-profile-identity .coremap-profile-account {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin: 0;
    padding: 11px 18px;
    border-top: 1px solid rgba(184, 178, 239, 0.10);
    background: rgba(8, 13, 29, 0.18);
    color: #919bb7;
    font-size: 10px;
}

.coremap-profile-account > strong {
    color: #c8cee2;
    font-size: 11px;
    font-weight: 550;
    letter-spacing: 0.025em;
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
}

.coremap-profile-section-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin: 0 1px 11px;
}

.coremap-profile-section-heading h3 {
    margin: 0;
    color: #e6e9f7;
    font-size: 14px;
    font-weight: 650;
}

.coremap-profile-section-heading > span {
    color: #909bb4;
    font-size: 11px;
}

.coremap-profile-section-heading strong {
    margin-left: 5px;
    color: #d2d5e7;
    font-size: 12px;
    font-weight: 650;
    font-variant-numeric: tabular-nums;
}

.coremap-profile-contribution .coremap-profile-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    margin-bottom: 22px;
}

.coremap-profile-contribution .coremap-profile-stat {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 20px;
    align-content: start;
    gap: 9px 4px;
    min-width: 0;
    min-height: 92px;
    padding: 13px 14px;
    box-sizing: border-box;
    border-color: rgba(147, 164, 207, 0.13);
    border-radius: 15px;
    background: rgba(132, 149, 198, 0.04);
    box-shadow: none;
}

.coremap-profile-stat > .coremap-profile-icon {
    grid-column: 2;
    grid-row: 1;
    width: 19px;
    height: 19px;
    padding: 2px;
    box-sizing: border-box;
    border-radius: 6px;
}

.coremap-profile-stat.approved > .coremap-profile-icon {
    background: rgba(111, 213, 183, 0.1);
    color: #7bd6bd;
}

.coremap-profile-stat.pending > .coremap-profile-icon {
    background: rgba(194, 174, 255, 0.1);
    color: #bca4f6;
}

.coremap-profile-stat.rejected > .coremap-profile-icon {
    background: rgba(232, 148, 166, 0.09);
    color: #dca0b0;
}

.coremap-profile-stat > strong {
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    color: #eef0fb;
    font-size: 25px;
    line-height: 1;
    font-weight: 650;
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
}

.coremap-profile-stat > span {
    grid-column: 1 / -1;
    color: #9ca6be;
    font-size: 11px;
    line-height: 1.35;
}

.coremap-profile-territory {
    overflow: hidden;
    margin-bottom: 18px;
    border: 1px solid rgba(160, 168, 223, 0.16);
    border-radius: 18px;
    background: rgba(124, 127, 192, 0.035);
}

.coremap-profile-territory .coremap-profile-home,
.coremap-profile-territory .coremap-profile-prestige-button {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) 20px;
    align-items: center;
    gap: 12px;
    min-height: 74px;
    margin: 0;
    padding: 12px 15px;
    box-sizing: border-box;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
}

.coremap-profile-territory .coremap-profile-prestige-button {
    border-top: 1px solid rgba(160, 168, 223, 0.11);
}

.coremap-profile-row-icon {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 11px;
    background: rgba(156, 142, 224, 0.08);
    color: #bcaef0;
}

.coremap-profile-home > div,
.coremap-profile-prestige-button > span:nth-child(2) {
    min-width: 0;
}

.coremap-profile-territory .coremap-profile-home strong,
.coremap-profile-territory .coremap-profile-prestige-button strong {
    margin-top: 5px;
    color: #e3e6f5;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.coremap-profile-home > div > span,
.coremap-profile-territory .coremap-profile-prestige-button small {
    color: #929fba;
    font-size: 10px;
    line-height: 1.2;
}

.coremap-profile-prestige-arrow {
    width: 20px;
    color: #a59cbf;
    font-size: 26px;
    font-weight: 400;
}

.coremap-profile-body > .coremap-profile-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.coremap-profile-body > .coremap-profile-actions > button {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 9px;
    min-width: 0;
    min-height: 52px;
    margin: 0;
    padding: 12px 10px;
    color: #d5d9ed;
    font: inherit;
    font-size: 12px;
    font-weight: 550;
    line-height: 1.35;
    cursor: pointer;
}

.coremap-profile-body > .coremap-profile-actions .coremap-profile-action-wide {
    grid-column: 1 / -1;
}

.coremap-profile-body > .coremap-profile-actions .coremap-profile-icon {
    width: 18px;
    height: 18px;
    color: #b4a8df;
}

.coremap-profile-body > .coremap-profile-actions .coremap-profile-primary {
    color: #fff;
    border-color: rgba(185, 168, 255, 0.42);
    background: linear-gradient(115deg, #7669ef, #9254dc);
    box-shadow: inset 0 1px 0 rgba(235, 227, 255, 0.19);
}

.coremap-profile-body > .coremap-profile-actions .coremap-profile-primary .coremap-profile-icon {
    color: #fff;
}

.coremap-profile-body > .coremap-profile-actions .coremap-profile-action-info {
    min-height: 38px;
    padding: 8px;
    border-color: transparent;
    background: transparent;
    box-shadow: none;
    color: #929fba;
    font-size: 11px;
}

.coremap-profile-body > .coremap-profile-actions > button:disabled {
    opacity: 0.48;
    cursor: default;
}

.coremap-profile-panel button:focus-visible {
    outline: 2px solid #c4b4ff;
    outline-offset: -3px;
}

@media (hover: hover) {
.coremap-profile-body > .coremap-profile-actions > button:not(:disabled):hover,
.coremap-profile-prestige-button:hover {
        filter: brightness(1.15);
    }
}

@media (max-width: 430px) {
.coremap-profile-overlay {
        align-items: flex-end;
    }

.coremap-profile-header {
        padding: 18px 18px 16px;
    }

.coremap-profile-body {
        padding: 17px 17px 18px;
    }

.coremap-profile-identity .coremap-profile-person {
        grid-template-columns: 52px minmax(0, 1fr) auto;
        gap: 11px;
        padding: 17px 14px;
    }

.coremap-profile-identity .coremap-profile-avatar {
        width: 52px;
        height: 52px;
        font-size: 23px;
    }

.coremap-profile-identity .coremap-profile-person-copy > strong {
        font-size: 18px;
    }

.coremap-profile-identity .coremap-profile-reputation:not(.favorite) {
        display: block;
        min-width: 42px;
        padding: 9px 8px;
    }

.coremap-profile-reputation-icon {
        display: none;
    }

.coremap-profile-reputation-copy strong {
        font-size: 19px;
    }

.coremap-profile-contribution .coremap-profile-stat {
        padding: 12px 10px;
        min-height: 85px;
        gap: 9px 2px;
    }

.coremap-profile-stat > strong {
        font-size: 23px;
    }

.coremap-profile-stat > span {
        font-size: 10px;
    }

.coremap-profile-territory .coremap-profile-home,
.coremap-profile-territory .coremap-profile-prestige-button {
        gap: 10px;
        padding: 12px;
    }

.coremap-profile-territory .coremap-profile-home strong,
.coremap-profile-territory .coremap-profile-prestige-button strong {
        font-size: 13px;
    }

.coremap-profile-body > .coremap-profile-actions > button {
        gap: 7px;
        font-size: 11px;
    }
}

@media (max-width: 350px) {
.coremap-profile-header {
        padding: 16px 14px 14px;
    }

.coremap-profile-body {
        padding-right: 13px;
        padding-left: 13px;
    }

.coremap-profile-identity .coremap-profile-person {
        grid-template-columns: 44px minmax(0, 1fr) auto;
        padding-right: 11px;
        padding-left: 11px;
        gap: 9px;
    }

.coremap-profile-identity .coremap-profile-avatar {
        width: 44px;
        height: 44px;
        font-size: 20px;
    }

.coremap-profile-identity .coremap-profile-person-copy > strong {
        font-size: 16px;
    }

.coremap-profile-contribution .coremap-profile-stats {
        gap: 6px;
    }

.coremap-profile-stat > .coremap-profile-icon {
        width: 16px;
        height: 16px;
    }

.coremap-profile-stat > strong {
        font-size: 21px;
    }
}

/* vendor-maplibre-gl-5.24.0.css */
.maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}@media (hover:hover){.maplibregl-ctrl button:not(:disabled):hover{background-color:rgba(0,0,0,.05)}}.maplibregl-ctrl button:not(:disabled):active{background-color:rgba(0,0,0,.05)}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-globe .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%23333' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-globe-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2333b5e5' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgba(0,0,0,.05)}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}[dir=rtl] .maplibregl-popup-anchor-left{flex-direction:row-reverse}[dir=rtl] .maplibregl-popup-anchor-right{flex-direction:row}[dir=rtl] .maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-end}[dir=rtl] .maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-start}[dir=rtl] .maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-end}[dir=rtl] .maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-start}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:rgba(0,0,0,.05)}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@media (prefers-reduced-motion:reduce){.maplibregl-user-location-dot:before{animation:none}}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(pointer:coarse){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}

/* coremap-upload.css */
.coremap-camera-button {
    position: absolute;
    right: 16px;
    bottom: max(
        16px,
        env(safe-area-inset-bottom, 0px),
        var(--tg-safe-area-inset-bottom, 0px),
        var(--tg-content-safe-area-inset-bottom, 0px),
        var(--coremap-content-safe-bottom, 0px)
    );
    z-index: 30;
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    padding: 0;
    margin: 0;
    border: 1px solid rgba(255, 255, 255, 0.19);
    border-radius: 16px;
    background: rgba(13, 20, 32, 0.88);
    color: #edf3ff;
    font-size: 0;
    line-height: 1;
    box-shadow:
        0 8px 22px rgba(2, 8, 18, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    cursor: pointer;
    transition:
        transform 140ms ease,
        box-shadow 140ms ease,
        background 140ms ease;
    -webkit-tap-highlight-color: transparent;
}

.coremap-camera-button::before,
.coremap-camera-button::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.coremap-camera-button::before {
    width: 25px;
    height: 19px;
    border: 2px solid currentColor;
    border-radius: 6px;
    background: transparent;
    box-shadow: 0 -5px 0 -2px currentColor;
}

.coremap-camera-button::after {
    width: 9px;
    height: 9px;
    border: 2px solid currentColor;
    border-radius: 50%;
    background: transparent;
    box-shadow: 11px -6px 0 -4px currentColor;
}

.coremap-camera-button:active {
    transform: translateY(1px) scale(0.96);
    background: rgba(30, 42, 61, 0.94);
}

.coremap-upload-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: none;
    align-items: flex-end;
    justify-content: center;
    padding:
        calc(12px + env(safe-area-inset-top))
        12px
        calc(12px + env(safe-area-inset-bottom));
    background: rgba(0, 0, 0, 0.72);
    backdrop-filter: blur(8px);
}

.coremap-upload-modal.visible {
    display: flex;
}

.coremap-upload-dialog {
    width: 100%;
    max-width: 560px;
    max-height: 92vh;
    overflow-y: auto;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 22px;
    background:
        var(--tg-theme-secondary-bg-color, #172033);
    color:
        var(--tg-theme-text-color, #ffffff);
    box-shadow: 0 20px 70px rgba(0, 0, 0, 0.55);
}

.coremap-upload-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.coremap-upload-title {
    margin: 0;
    font-size: 20px;
}

.coremap-upload-close {
    width: 38px;
    height: 38px;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.10);
    color: inherit;
    font-size: 25px;
    cursor: pointer;
}

.coremap-upload-content {
    display: grid;
    gap: 14px;
    padding: 16px 18px 18px;
}

.coremap-upload-preview-shell {
    position: relative;
    overflow: hidden;
    width: 100%;
    min-height: 220px;
    border-radius: 16px;
    background: #080d16;
}

.coremap-upload-preview {
    display: block;
    width: 100%;
    max-height: 50vh;
    object-fit: contain;
}

.coremap-upload-info {
    display: grid;
    gap: 7px;
    padding: 13px 14px;
    border-radius: 14px;
    background: rgba(0, 0, 0, 0.18);
    font-size: 14px;
    line-height: 1.4;
}

.coremap-upload-location {
    color: var(--tg-theme-hint-color, #9aa7b8);
}

.coremap-upload-location.ready {
    color: #54d17a;
}

.coremap-upload-location.error {
    color: #ff7070;
}

.coremap-upload-progress-shell {
    display: none;
    overflow: hidden;
    height: 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
}

.coremap-upload-progress-shell.visible {
    display: block;
}

.coremap-upload-progress {
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: #2388ff;
    transition: width 150ms ease;
}

.coremap-upload-message {
    display: none;
    padding: 12px 14px;
    border-radius: 14px;
    font-size: 14px;
    line-height: 1.45;
}

.coremap-upload-message.visible {
    display: block;
}

.coremap-upload-message.success {
    color: #b9ffd0;
    background: rgba(35, 151, 82, 0.22);
}

.coremap-upload-message.error {
    color: #ffd0d0;
    background: rgba(190, 53, 53, 0.24);
}

.coremap-upload-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.coremap-upload-actions button {
    min-height: 50px;
    margin: 0;
    border: 0;
    border-radius: 14px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.coremap-upload-cancel {
    background: rgba(255, 255, 255, 0.10);
    color: inherit;
}

.coremap-upload-submit {
    background:
        var(--tg-theme-button-color, #2388ff);
    color:
        var(--tg-theme-button-text-color, #ffffff);
}

.coremap-upload-submit:disabled,
.coremap-upload-cancel:disabled,
.coremap-upload-close:disabled {
    opacity: 0.55;
    cursor: wait;
}

@media (min-width: 700px) {
.coremap-upload-modal {
        align-items: center;
    }
}

/* coremap-report-card.css */
.coremap-report-presence {
    margin: 14px 0;
    padding: 14px;
    border: 1px solid rgba(125, 144, 244, 0.3);
    border-radius: 16px;
    background: rgba(103, 111, 226, 0.08);
    overflow-wrap: anywhere;
}

.coremap-report-presence-heading {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
}

.coremap-report-presence-heading span { flex: 1; min-width: 0; }

.coremap-report-presence-heading strong {
    flex: none;
    color: #c4d4ff;
    font-size: 26px;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
}

.coremap-report-presence.is-unknown strong { color: #94a3b8; }

.coremap-report-presence-details { margin: 12px 0 0; font-size: 12px; line-height: 1.45; }

.coremap-report-presence-details div { display: flex; justify-content: space-between; gap: 10px; margin: 7px 0; }

.coremap-report-presence-details dt { color: #a8b4cb; flex: 1; min-width: 0; }

.coremap-report-presence-details dd { margin: 0; flex: 1; min-width: 0; text-align: right; }

.coremap-report-presence-note { margin: 10px 0 0; color: #a8b4cb; font-size: 11px; line-height: 1.5; }

.coremap-report-presence-check {
    display: block; width: 100%; min-height: 44px; margin-top: 14px;
    border: 1px solid rgba(126, 145, 250, 0.45); border-radius: 12px;
    background: rgba(103, 111, 226, 0.22); color: #e3eaff;
    font: inherit; font-size: 14px; font-weight: 700; cursor: pointer;
}

.coremap-report-presence-check:disabled { opacity: 0.6; cursor: wait; }

.coremap-report-presence-feedback { margin: 8px 0 0; color: #bdd9cf; font-size: 12px; line-height: 1.5; }

.coremap-report-presence-feedback:empty { display: none; }

.coremap-report-card {
    --coremap-report-safe-top: max(
        0px,
        env(safe-area-inset-top, 0px),
        var(--tg-safe-area-inset-top, 0px),
        var(--tg-content-safe-area-inset-top, 0px),
        var(--coremap-content-safe-top, 0px)
    );
    --coremap-report-safe-bottom: max(
        0px,
        env(safe-area-inset-bottom, 0px),
        var(--tg-safe-area-inset-bottom, 0px),
        var(--tg-content-safe-area-inset-bottom, 0px),
        var(--coremap-content-safe-bottom, 0px)
    );
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: calc(
        82px + var(--coremap-report-safe-bottom)
    );
    z-index: 9500;

    display: none;

    width: auto;
    max-width: 520px;
    max-height: calc(
        var(--tg-viewport-stable-height, 100dvh)
        - var(--coremap-report-safe-top)
        - var(--coremap-report-safe-bottom)
        - 106px
    );
    margin: 0 auto;

    overflow: hidden;

    border:
        1px solid rgba(255, 255, 255, 0.14);
    border-radius: 24px;

    background:
        var(--tg-theme-bg-color, #111827);
    color:
        var(--tg-theme-text-color, #ffffff);

    box-shadow:
        0 22px 70px rgba(0, 0, 0, 0.58);

    transform: translateY(30px);
    opacity: 0;

    transition:
        transform 180ms ease,
        opacity 180ms ease;

    box-sizing: border-box;
}

.coremap-report-card.visible {
    display: block;
}

.coremap-report-card.opened {
    transform: translateY(0);
    opacity: 1;
}

.coremap-report-card-scroll {
    max-height: calc(
        var(--tg-viewport-stable-height, 100dvh)
        - var(--coremap-report-safe-top)
        - var(--coremap-report-safe-bottom)
        - 106px
    );
    overflow-y: auto;
    overscroll-behavior: contain;
}

.coremap-report-card-photo {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    aspect-ratio: 16 / 10;

    overflow: hidden;
    background:
        linear-gradient(
            145deg,
            #172134,
            #080d17
        );
}

.coremap-report-card-image {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.coremap-report-card-image-loading,
.coremap-report-card-image-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;

    width: 100%;
    height: 100%;
    padding: 24px;

    box-sizing: border-box;

    color:
        var(--tg-theme-hint-color, #99a5b6);
    text-align: center;
    font-size: 14px;
}

.coremap-report-card-image-icon {
    font-size: 38px;
    line-height: 1;
}

.coremap-report-card-close {
    position: absolute;
    top: 11px;
    right: 11px;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;
    padding: 0;

    border:
        1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50%;

    background: rgba(7, 12, 22, 0.76);
    color: #ffffff;

    font-size: 25px;
    line-height: 1;

    backdrop-filter: blur(8px);
    cursor: pointer;
}

.coremap-report-card-badges {
    position: absolute;
    left: 12px;
    bottom: 12px;

    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.coremap-report-card-badge {
    padding: 7px 10px;

    border:
        1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;

    background: rgba(7, 12, 22, 0.78);
    color: #ffffff;

    font-size: 12px;
    font-weight: 750;

    backdrop-filter: blur(8px);
}

.coremap-report-card-badge.ai {
    background: rgba(30, 112, 237, 0.85);
}

.coremap-report-card-badge.manual {
    background: rgba(123, 74, 219, 0.85);
}

.coremap-report-card-badge.moderation {
    background: rgba(35, 146, 125, 0.9);
    color: #edfff9;
}

.coremap-report-card-badge.user {
    background: rgba(214, 145, 21, 0.92);
    color: #fff5d2;
}

.coremap-report-card-badge.movement {
    border: 1px solid rgba(253, 230, 138, 0.5);
    background: rgba(202, 138, 4, 0.9);
    color: #fff9d6;
}

.coremap-report-card-body {
    display: grid;
    gap: 14px;

    padding: 17px;
}

.coremap-report-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.coremap-report-card-title {
    margin: 0;

    font-size: 21px;
    line-height: 1.2;
    font-weight: 800;
}

.coremap-report-card-subtitle {
    margin-top: 5px;

    color:
        var(--tg-theme-hint-color, #9ca8b8);
    font-size: 13px;
    line-height: 1.4;
}

.coremap-report-card-confidence {
    flex: 0 0 auto;

    padding: 7px 10px;

    border-radius: 999px;
    background: rgba(45, 187, 91, 0.17);
    color: #7dffa7;

    font-size: 12px;
    font-weight: 800;
}

.coremap-report-card-confidence.is-mapcore-ai {
    display: grid;
    gap: 1px;
    min-width: 88px;
    border-radius: 11px;
    text-align: right;
}

.coremap-report-card-confidence.is-mapcore-ai small {
    color: rgba(210, 255, 223, 0.76);
    font-size: 8px;
    font-weight: 720;
    line-height: 1.2;
}

.coremap-report-card-confidence.is-mapcore-ai strong {
    color: #7dffa7;
    font-size: 12px;
    line-height: 1.2;
}

.coremap-report-card-plate {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;

    padding: 12px 14px;

    border:
        2px solid rgba(255, 255, 255, 0.72);
    border-radius: 12px;

    background: #f7f8fa;
    color: #111827;

    box-shadow:
        inset 0 0 0 2px rgba(0, 0, 0, 0.08);
}

.coremap-report-card-plate-label {
    color: #667085;

    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.coremap-report-card-plate-value {
    font-family:
        "Arial Narrow",
        Arial,
        sans-serif;
    font-size: 21px;
    font-weight: 900;
    letter-spacing: 0.08em;
    white-space: nowrap;
}

.coremap-report-card-description {
    margin: 0;

    color:
        var(--tg-theme-hint-color, #a7b1c0);
    font-size: 14px;
    line-height: 1.5;
}

.coremap-report-card-user-comment {
    padding: 12px 13px;
    border: 1px solid rgba(245, 173, 34, 0.22);
    border-radius: 13px;
    background: rgba(245, 173, 34, 0.08);
}

.coremap-report-card-user-comment span {
    display: block;
    margin-bottom: 5px;
    color: #eab84e;
    font-size: 10px;
    font-weight: 850;
    text-transform: uppercase;
}

.coremap-report-card-user-comment p {
    margin: 0;
    color: #f2f4f8;
    font-size: 14px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.coremap-report-card-movement {
    display: grid;
    gap: 10px;
    padding: 12px 13px;
    border: 1px solid rgba(250, 204, 21, 0.38);
    border-radius: 14px;
    background:
        linear-gradient(
            135deg,
            rgba(250, 204, 21, 0.14),
            rgba(245, 158, 11, 0.035)
        );
}

.coremap-report-card-movement-head {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
}

.coremap-report-card-movement-head > span {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 50%;
    color: #17120a;
    background: #facc15;
    font-size: 17px;
    font-weight: 900;
}

.coremap-report-card-movement-head div {
    display: grid;
    gap: 2px;
}

.coremap-report-card-movement-head strong {
    color: #fff5b5;
    font-size: 13px;
}

.coremap-report-card-movement-head small {
    color: rgba(236, 240, 255, 0.69);
    font-size: 10px;
    line-height: 1.35;
}

.coremap-report-card-movement-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.coremap-report-card-movement-facts span {
    display: grid;
    gap: 2px;
    padding: 7px 8px;
    border-radius: 10px;
    background: rgba(4, 8, 20, 0.28);
    color: #fff9dc;
    font-size: 11px;
    overflow-wrap: anywhere;
}

.coremap-report-card-movement-facts b {
    color: rgba(231, 236, 255, 0.58);
    font-size: 9px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.coremap-report-card-movement-anchors {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.coremap-report-card-movement-anchors span {
    padding: 4px 7px;
    border: 1px solid rgba(250, 204, 21, 0.2);
    border-radius: 999px;
    color: rgba(255, 247, 203, 0.86);
    background: rgba(4, 8, 20, 0.2);
    font-size: 10px;
}

.coremap-report-card-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.coremap-report-card-info {
    min-width: 0;
    padding: 11px 12px;

    border:
        1px solid rgba(255, 255, 255, 0.08);
    border-radius: 13px;

    background: rgba(255, 255, 255, 0.045);
}

.coremap-report-card-info-label {
    margin-bottom: 4px;

    color:
        var(--tg-theme-hint-color, #96a2b3);
    font-size: 10px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.coremap-report-card-info-value {
    overflow-wrap: anywhere;

    font-size: 14px;
    font-weight: 650;
}

.coremap-report-card-actions {
    display: grid;
    gap: 9px;
}

.coremap-report-card-actions > #coreMapReportCardMapCoreAI {
    order: 10;
}

.coremap-report-card-actions > #coreMapReportCardMapCoreAIPanel {
    order: 11;
}

.coremap-report-card-actions > .coremap-report-card-edit-button {
    order: 20;
}

.coremap-report-card-actions > .coremap-report-card-direction-button {
    order: 25;
}

.coremap-direction-selection {
    position: fixed;
    z-index: 15000;
    left: 50%;
    bottom: calc(92px + env(safe-area-inset-bottom, 0px));
    transform: translateX(-50%);
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    align-items: center;
    gap: 12px;
    width: min(420px, calc(100vw - 32px));
    min-width: 0;
    max-width: calc(100vw - 32px);
    box-sizing: border-box;
    padding: 12px 14px;
    border: 1px solid rgba(143, 158, 255, 0.4);
    border-radius: 18px;
    background: #18233b;
    color: #e4e9ff;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.3);
    font-size: 14px;
    line-height: 1.35;
}

.coremap-direction-selection > span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.coremap-direction-selection > button {
    width: auto;
    min-width: 0;
    max-width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 8px 12px;
    box-sizing: border-box;
    border: 0;
    border-radius: 12px;
    background: #344569;
    color: #fff;
    font: inherit;
    white-space: nowrap;
    cursor: pointer;
}

.coremap-report-card-actions > #coreMapReportCardDelete {
    order: 80;
}

.coremap-report-card-actions > #coreMapReportCardReputationBlock {
    order: 90;
}

.coremap-report-card-delete {
    display: none;

    width: 100%;
    min-height: 48px;
    padding: 10px 14px;

    border: 0;
    border-radius: 14px;

    background: rgba(212, 60, 69, 0.19);
    color: #ff9ca4;

    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.coremap-report-card-delete.visible {
    display: block;
}

.coremap-report-card-reputation-block {
    background: rgba(190, 40, 58, 0.28);
    color: #ffb0b7;
}

.coremap-report-card-delete:disabled {
    opacity: 0.55;
    cursor: wait;
}

@media (max-width: 420px) {
.coremap-report-card {
        left: 9px;
        right: 9px;
    }

.coremap-report-card-body {
        padding: 14px;
    }

.coremap-report-card-title {
        font-size: 19px;
    }
}

/* Telegram mobile overlays its own controls over the top of the WebView. */
@media (max-width: 600px) {
.coremap-report-card {
        top: calc(
            var(--coremap-report-safe-top)
            + 8px
        );
        bottom: max(
            10px,
            var(--coremap-report-safe-bottom)
        );
        max-height: none;
    }

html.coremap-telegram-fullscreen
    .coremap-report-card {
        bottom: 8px;
    }

.coremap-report-card-scroll {
        max-height: 100%;
    }
}

.coremap-report-card .coremap-report-card-close {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    z-index: 5 !important;

    display: grid !important;
    place-items: center !important;

    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;

    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;

    inline-size: 48px !important;
    block-size: 48px !important;
    flex: 0 0 48px !important;
    aspect-ratio: 1 / 1 !important;

    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;

    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    border-radius: 50% !important;

    background: rgba(8, 13, 23, 0.88) !important;
    color: transparent !important;

    font-size: 0 !important;
    line-height: 0 !important;

    appearance: none !important;
    -webkit-appearance: none !important;

    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

    cursor: pointer;
}

.coremap-report-card .coremap-report-card-close::before {
    content: "×";

    display: block;

    color: #ffffff;

    font-family: Arial, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 1;

    transform: translateY(-1px);
}

button.coremap-report-card-close {
    all: unset !important;

    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    z-index: 20 !important;

    display: block !important;

    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;

    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;

    inline-size: 48px !important;
    block-size: 48px !important;
    aspect-ratio: 1 / 1 !important;

    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;

    overflow: hidden !important;

    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    border-radius: 9999px !important;

    background: rgba(8, 13, 23, 0.9) !important;

    appearance: none !important;
    -webkit-appearance: none !important;

    transform: none !important;

    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

    cursor: pointer !important;
}

button.coremap-report-card-close::before,
button.coremap-report-card-close::after {
    content: "";

    position: absolute;
    top: 50%;
    left: 50%;

    width: 21px;
    height: 3px;

    border-radius: 999px;
    background: #ffffff;

    transform-origin: center;
}

button.coremap-report-card-close::before {
    transform:
        translate(-50%, -50%)
        rotate(45deg);
}

button.coremap-report-card-close::after {
    transform:
        translate(-50%, -50%)
        rotate(-45deg);
}

button.coremap-report-card-close:active {
    opacity: 0.78 !important;
}

.coremap-report-card .coremap-report-card-close {
    all: unset !important;

    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    z-index: 30 !important;

    display: block !important;

    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;

    box-sizing: border-box !important;
    overflow: hidden !important;

    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    border-radius: 50% !important;

    background: rgba(8, 13, 23, 0.92) !important;

    box-shadow:
        0 8px 24px rgba(0, 0, 0, 0.36),
        inset 0 0 0 1px rgba(255, 255, 255, 0.04);

    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

    cursor: pointer !important;
    user-select: none !important;
    -webkit-tap-highlight-color: transparent;
}

.coremap-report-card .coremap-report-card-close::before,
.coremap-report-card .coremap-report-card-close::after {
    content: "";

    position: absolute;
    top: 50%;
    left: 50%;

    width: 21px;
    height: 3px;

    border-radius: 999px;
    background: #ffffff;

    transform-origin: center;
}

.coremap-report-card .coremap-report-card-close::before {
    transform:
        translate(-50%, -50%)
        rotate(45deg);
}

.coremap-report-card .coremap-report-card-close::after {
    transform:
        translate(-50%, -50%)
        rotate(-45deg);
}

.coremap-report-card .coremap-report-card-close:active {
    transform: scale(0.92) !important;
}

html.coremap-report-card-page-locked,
body.coremap-report-card-page-locked {
    overflow: hidden !important;
    overscroll-behavior: none !important;
}

body.coremap-report-card-page-locked {
    touch-action: none;
}

.coremap-report-card-backdrop {
    position: fixed;
    inset: 0;
    z-index: 9490;

    display: none;

    background: rgba(0, 0, 0, 0.18);

    touch-action: none;
    overscroll-behavior: none;

    -webkit-tap-highlight-color: transparent;
}

.coremap-report-card-backdrop.visible {
    display: block;
}

.coremap-report-card {
    z-index: 9500 !important;
}

.coremap-report-card-scroll {
    overflow-y: auto !important;
    overscroll-behavior-y: contain !important;
    touch-action: pan-y !important;

    -webkit-overflow-scrolling: touch;
}

body .coremap-report-card .coremap-report-card-editor {
    display: none !important;
    gap: 12px !important;
    padding: 14px !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.045) !important;
    box-sizing: border-box !important;
}

body .coremap-report-card .coremap-report-card-editor.visible {
    display: grid !important;
}

.coremap-report-card-backdrop {
    background:
        radial-gradient(
            circle at 16% 10%,
            rgba(84, 105, 242, 0.16),
            transparent 42%
        ),
        radial-gradient(
            circle at 86% 84%,
            rgba(148, 70, 235, 0.13),
            transparent 46%
        ),
        rgba(2, 7, 17, 0.68);
    backdrop-filter: blur(18px) saturate(125%);
    -webkit-backdrop-filter: blur(18px) saturate(125%);
}

.coremap-report-card {
    isolation: isolate;
    border: 1px solid rgba(154, 168, 255, 0.32);
    border-radius: 28px 28px 23px 23px;
    background:
        radial-gradient(
            circle at 18% -8%,
            rgba(94, 113, 245, 0.25),
            transparent 41%
        ),
        radial-gradient(
            circle at 104% 18%,
            rgba(151, 75, 238, 0.14),
            transparent 37%
        ),
        linear-gradient(
            155deg,
            rgba(22, 32, 53, 0.97),
            rgba(7, 14, 28, 0.985)
        );
    box-shadow:
        0 32px 92px rgba(0, 0, 0, 0.66),
        0 0 0 1px rgba(83, 99, 209, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.11),
        inset 0 -1px 0 rgba(255, 255, 255, 0.025);
    backdrop-filter: blur(26px) saturate(126%);
    -webkit-backdrop-filter: blur(26px) saturate(126%);
}

.coremap-report-card-photo {
    min-height: 220px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
    background:
        radial-gradient(
            circle at 50% 38%,
            rgba(102, 121, 255, 0.16),
            transparent 43%
        ),
        linear-gradient(145deg, #142039, #070d19 72%);
}

.coremap-report-card-photo::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    z-index: 2;
    height: 42%;
    pointer-events: none;
    background: linear-gradient(transparent, rgba(5, 10, 20, 0.72));
}

.coremap-report-card-image,
.coremap-report-card-image-loading,
.coremap-report-card-image-empty,
.coremap-report-card-badges,
.coremap-report-card-close {
    position: relative;
    z-index: 1;
}

.coremap-report-card-image {
    position: absolute;
    inset: 0;
}

.coremap-report-card-image-loading,
.coremap-report-card-image-empty {
    color: rgba(205, 213, 232, 0.7);
    font-size: 14px;
    line-height: 1.4;
}

.coremap-report-card-image-icon {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    font-size: 0;
}

.coremap-report-card-image-loading
.coremap-report-card-image-icon::before {
    content: "";
    width: 28px;
    height: 28px;
    border: 3px solid rgba(190, 199, 255, 0.22);
    border-top-color: #8191ff;
    border-radius: 50%;
    animation: coremap-report-card-spin 850ms linear infinite;
}

.coremap-report-card-image-empty
.coremap-report-card-image-icon::before {
    content: "";
    width: 26px;
    height: 34px;
    border: 3px solid #8898ff;
    border-radius: 16px 16px 18px 18px;
    background:
        radial-gradient(
            circle at 50% 38%,
            #e8ebff 0 4px,
            transparent 5px
        ),
        rgba(111, 126, 245, 0.14);
    box-shadow: 0 9px 25px rgba(78, 93, 217, 0.32);
    transform: rotate(45deg);
}

@keyframes coremap-report-card-spin {
    to {
        transform: rotate(360deg);
    }
}

.coremap-report-card-badges {
    z-index: 3;
}

.coremap-report-card-badge {
    border-color: rgba(213, 220, 255, 0.2);
    background: rgba(10, 17, 31, 0.74);
    box-shadow:
        0 8px 24px rgba(0, 0, 0, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.09);
    backdrop-filter: blur(14px) saturate(125%);
    -webkit-backdrop-filter: blur(14px) saturate(125%);
}

.coremap-report-card .coremap-report-card-close {
    border-color: rgba(192, 201, 255, 0.24) !important;
    border-radius: 16px !important;
    background:
        linear-gradient(
            145deg,
            rgba(48, 61, 94, 0.92),
            rgba(18, 27, 46, 0.94)
        ) !important;
    box-shadow:
        0 12px 30px rgba(0, 0, 0, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
}

.coremap-report-card-body {
    position: relative;
    z-index: 2;
    gap: 16px;
    padding: 20px;
    background:
        linear-gradient(
            180deg,
            rgba(93, 112, 232, 0.055),
            transparent 110px
        );
}

.coremap-report-card-title {
    color: #f6f8ff;
    font-size: 23px;
    font-weight: 880;
    letter-spacing: -0.015em;
}

.coremap-report-card-subtitle {
    color: rgba(187, 198, 220, 0.7);
}

.coremap-report-card-description,
.coremap-report-card-user-comment,
.coremap-report-card-info,
body .coremap-report-card .coremap-report-card-editor {
    border: 1px solid rgba(154, 168, 255, 0.16) !important;
    background:
        linear-gradient(
            145deg,
            rgba(37, 49, 76, 0.72),
            rgba(15, 24, 42, 0.76)
        ) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 10px 24px rgba(0, 0, 0, 0.12);
}

.coremap-report-card-description {
    padding: 13px 14px;
    border-radius: 15px;
    color: rgba(232, 236, 247, 0.88);
}

.coremap-report-card-user-comment {
    border-color: rgba(239, 181, 77, 0.2) !important;
}

.coremap-report-card-info {
    min-height: 70px;
    padding: 13px 14px;
    box-sizing: border-box;
    border-radius: 16px;
}

.coremap-report-card-info-label {
    color: rgba(178, 190, 216, 0.7);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.075em;
}

.coremap-report-card-info-value {
    color: #f2f5ff;
    font-size: 16px;
    font-weight: 800;
}

.coremap-report-card-edit-button {
    min-height: 52px;
    border: 1px solid rgba(132, 149, 255, 0.34);
    border-radius: 16px;
    background:
        linear-gradient(
            145deg,
            rgba(92, 111, 238, 0.28),
            rgba(85, 61, 185, 0.2)
        );
    color: #dbe0ff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

body .coremap-report-card .coremap-report-card-editor {
    gap: 14px !important;
    padding: 16px !important;
    border-radius: 19px !important;
}

.coremap-report-card-delete {
    min-height: 52px;
    border: 1px solid rgba(255, 117, 137, 0.26);
    border-radius: 16px;
    background:
        linear-gradient(
            145deg,
            rgba(157, 49, 70, 0.3),
            rgba(92, 31, 52, 0.24)
        );
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.055);
}

@media (max-width: 600px) {
.coremap-report-card {
        left: 10px;
        right: 10px;
        border-radius: 26px 26px 20px 20px;
    }

.coremap-report-card-photo {
        min-height: 205px;
        aspect-ratio: 16 / 9;
    }

.coremap-report-card-body {
        gap: 13px;
        padding: 16px;
    }

.coremap-report-card-title {
        font-size: 21px;
    }

.coremap-report-card-grid {
        gap: 10px;
    }
}

/* A real desktop composition instead of a stretched mobile sheet. */
@media (min-width: 900px) and (min-height: 640px) {
.coremap-report-card {
        top: 50%;
        right: 24px;
        bottom: auto;
        left: 24px;
        width: min(1180px, calc(100vw - 48px));
        max-width: 1180px;
        height: min(760px, calc(100dvh - 72px));
        max-height: none;
        border-radius: 30px;
        transform: translateY(calc(-50% + 30px)) scale(0.985);
    }

.coremap-report-card.opened {
        transform: translateY(-50%) scale(1);
    }

.coremap-report-card-scroll {
        display: grid;
        grid-template-columns: minmax(390px, 0.92fr) minmax(500px, 1.08fr);
        width: 100%;
        height: 100%;
        max-height: none;
        overflow: hidden !important;
    }

.coremap-report-card-photo {
        align-self: stretch;
        min-height: 0;
        height: 100%;
        aspect-ratio: auto;
        border-right: 1px solid rgba(255, 255, 255, 0.09);
        border-bottom: 0;
    }

.coremap-report-card-body {
        align-content: start;
        min-width: 0;
        padding: 28px;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
    }

.coremap-report-card-title {
        font-size: 29px;
    }

.coremap-report-card-info {
        min-height: 78px;
        padding: 15px 16px;
    }

.coremap-report-card-info-value {
        font-size: 17px;
    }

body .coremap-report-card .coremap-report-card-editor {
        padding: 20px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
.coremap-report-card,
.coremap-report-card-image-loading
    .coremap-report-card-image-icon::before {
        animation-duration: 1ms !important;
        transition-duration: 1ms !important;
    }
}

@supports not ((backdrop-filter: blur(2px))) {
.coremap-report-card-backdrop {
        background: rgba(2, 7, 17, 0.92);
    }

.coremap-report-card {
        background: #0d1627;
    }
}

.coremap-report-card
.coremap-report-card-image-loading,
.coremap-report-card
.coremap-report-card-image-empty {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 78px 30px 42px;
    box-sizing: border-box;
    text-align: center;
}

.coremap-report-card
.coremap-report-card-image-icon {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 68px;
    height: 68px;
    margin: 0 auto;
    border: 1px solid rgba(164, 177, 255, 0.2);
    border-radius: 22px;
    background:
        radial-gradient(
            circle at 32% 18%,
            rgba(133, 151, 255, 0.28),
            transparent 56%
        ),
        linear-gradient(
            145deg,
            rgba(65, 82, 145, 0.42),
            rgba(21, 31, 57, 0.58)
        );
    box-shadow:
        0 14px 32px rgba(21, 33, 100, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.coremap-report-card
.coremap-report-card-image-empty
.coremap-report-card-image-icon::before {
    content: "";
    display: block;
    width: 48px;
    height: 56px;
    border: 0;
    border-radius: 0;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 56' fill='none'%3E%3Cpath d='M24 52C18 45 8 34 8 22a16 16 0 1 1 32 0c0 12-10 23-16 30Z' fill='%236879ff' fill-opacity='.18' stroke='%2397a5ff' stroke-width='3' stroke-linejoin='round'/%3E%3Ccircle cx='24' cy='22' r='6' fill='%23eef1ff'/%3E%3C/svg%3E")
        center / contain no-repeat;
    box-shadow: none;
    filter: drop-shadow(0 7px 13px rgba(74, 91, 218, 0.35));
    transform: none;
}

.coremap-report-card
.coremap-report-card-image-message {
    display: block;
    width: min(100%, 360px);
    margin: 0 auto;
    color: rgba(204, 212, 231, 0.72);
    font-size: 15px;
    font-weight: 650;
    line-height: 1.45;
    text-align: center;
    text-wrap: balance;
}

body .coremap-report-card
:is(.coremap-report-card-edit-button,
.coremap-report-card-direction-button,
.coremap-report-card-delete.visible,
.coremap-report-recognition-button,
#coreMapDepartureVote) {
    --coremap-card-action-line: rgba(143, 158, 255, 0.3);
    --coremap-card-action-glow: rgba(99, 119, 255, 0.25);
    --coremap-card-action-color: #dce2ff;

    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-width: 0;
    min-height: 56px;
    margin: 0;
    padding: 12px 18px;
    box-sizing: border-box;
    overflow: hidden;
    border: 1px solid var(--coremap-card-action-line);
    border-radius: 17px;
    background:
        radial-gradient(
            circle at 14% -45%,
            var(--coremap-card-action-glow),
            transparent 58%
        ),
        linear-gradient(
            145deg,
            rgba(40, 52, 84, 0.88),
            rgba(15, 24, 43, 0.94)
        );
    color: var(--coremap-card-action-color);
    box-shadow:
        0 11px 26px rgba(0, 0, 0, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.09);
    font: inherit;
    font-size: 15px;
    font-weight: 850;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
    transition:
        transform 130ms ease,
        border-color 160ms ease,
        filter 160ms ease;
}

body .coremap-report-card
:is(.coremap-report-card-edit-button,
.coremap-report-card-delete.visible,
.coremap-report-recognition-button,
#coreMapDepartureVote)::before {
    content: "";
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

body .coremap-report-card
:is(.coremap-report-card-edit-button,
.coremap-report-card-delete.visible,
.coremap-report-recognition-button,
#coreMapDepartureVote):active {
    transform: scale(0.982);
    filter: brightness(1.08);
}

body .coremap-report-card
.coremap-report-card-edit-button::before {
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dfe4ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h4L19 9l-4-4L4 16v4ZM13.5 6.5l4 4'/%3E%3C/svg%3E");
}

body .coremap-report-card
.coremap-report-card-delete.visible {
    --coremap-card-action-line: rgba(255, 111, 137, 0.3);
    --coremap-card-action-glow: rgba(214, 55, 90, 0.25);
    --coremap-card-action-color: #ffb0bf;
}

body .coremap-report-card
.coremap-report-card-delete.visible::before {
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffafbd' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M9 7V4h6v3M7 7l1 13h8l1-13M10 11v5M14 11v5'/%3E%3C/svg%3E");
}

body .coremap-report-card
.coremap-report-recognition-button::before {
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dfe4ff' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M12 11v5M12 8h.01'/%3E%3C/svg%3E");
}

body .coremap-report-card #coreMapDepartureVote {
    --coremap-card-action-line: rgba(243, 154, 82, 0.3);
    --coremap-card-action-glow: rgba(224, 99, 66, 0.24);
    --coremap-card-action-color: #ffd0ae;
}

body .coremap-report-card #coreMapDepartureVote::before {
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffd0ae' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19V5M5 6h11l-2 4 2 4H5'/%3E%3C/svg%3E");
}

body .coremap-report-card
:is(.coremap-report-card-editor),
body .coremap-report-card .coremap-departure-report {
    border: 1px solid rgba(154, 168, 255, 0.16);
    border-radius: 18px;
    background:
        linear-gradient(
            145deg,
            rgba(36, 48, 76, 0.7),
            rgba(13, 22, 39, 0.78)
        );
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 10px 24px rgba(0, 0, 0, 0.12);
}

body .coremap-report-card .coremap-departure-report {
    gap: 12px;
    margin-top: 0;
    padding: 15px;
    color: rgba(190, 201, 222, 0.76);
}

@media (max-width: 380px) {
.coremap-report-card
    .coremap-report-card-image-loading,
.coremap-report-card
    .coremap-report-card-image-empty {
        padding-right: 22px;
        padding-left: 22px;
    }

body .coremap-report-card
    :is(.coremap-report-card-edit-button,
.coremap-report-card-delete.visible,
.coremap-report-recognition-button,
#coreMapDepartureVote) {
        padding-right: 14px;
        padding-left: 14px;
        font-size: 14px;
    }
}

.coremap-report-card
.coremap-report-card-photo
.coremap-report-card-badges {
    position: absolute !important;
    left: 14px !important;
    right: auto !important;
    bottom: 9px !important;
    z-index: 6 !important;

    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;

    width: auto;
    max-width: calc(100% - 28px) !important;
    margin: 0;
    pointer-events: none;
}

.coremap-report-card
.coremap-report-card-badges
.coremap-report-card-badge {
    pointer-events: auto;
}

.coremap-report-card
.coremap-report-card-origin {
    max-width: min(56vw, 180px);
    min-height: 0;
    padding: 3px 6px;
    overflow: hidden;

    font-size: 8.75px;
    line-height: 1.1;
    letter-spacing: 0.005em;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.coremap-report-card
.coremap-report-card-photo
.coremap-report-card-image-empty {
    transform: translateY(-12px);
}

.coremap-report-card
.coremap-report-card-creator {
    appearance: none;
    -webkit-appearance: none;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;

    width: auto;
    min-width: 0;
    min-height: 28px;
    margin: 0;
    padding: 5px 9px;

    border: 1px solid rgba(168, 184, 255, 0.32);
    border-radius: 999px;

    background:
        linear-gradient(
            145deg,
            rgba(42, 55, 91, 0.92),
            rgba(18, 27, 47, 0.94)
        );
    color: #e9edff;
    box-shadow:
        0 8px 22px rgba(0, 0, 0, 0.25),
        inset 0 1px 0 rgba(255, 255, 255, 0.12);

    font: inherit;
    font-size: 10.5px;
    line-height: 1;
    font-weight: 820;
    white-space: nowrap;

    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

.coremap-report-card
.coremap-report-card-creator::before {
    content: "";
    flex: 0 0 auto;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #9cabff;
    box-shadow: 0 0 10px rgba(128, 148, 255, 0.72);
}

.coremap-report-card
.coremap-report-card-creator.creator-user::before {
    background: #ffd067;
    box-shadow: 0 0 10px rgba(255, 190, 64, 0.72);
}

.coremap-report-card
.coremap-report-card-creator.creator-moderator::before {
    background: #62e8bd;
    box-shadow: 0 0 10px rgba(67, 222, 174, 0.72);
}

.coremap-report-card
.coremap-report-card-creator.creator-admin::before,
.coremap-report-card
.coremap-report-card-creator.creator-superadmin::before {
    background: #b693ff;
    box-shadow: 0 0 10px rgba(151, 105, 255, 0.78);
}

.coremap-report-card
.coremap-report-card-creator:active {
    transform: scale(0.96);
}

.coremap-report-card
.coremap-report-card-creator:focus-visible {
    outline: 2px solid rgba(151, 169, 255, 0.95);
    outline-offset: 2px;
}

@media (max-width: 420px) {
.coremap-report-card
    .coremap-report-card-photo
    .coremap-report-card-badges {
        left: 10px !important;
        right: 10px !important;
        bottom: 6px !important;
        max-width: none !important;
        gap: 5px;
    }

.coremap-report-card
    .coremap-report-card-badge {
        padding: 6px 8px;
        font-size: 10.5px;
    }

.coremap-report-card
    .coremap-report-card-origin {
        max-width: min(58vw, 170px);
        padding: 3px 6px;
        font-size: 8.5px;
    }

.coremap-report-card
    .coremap-report-card-creator {
        min-height: 26px;
        padding: 5px 8px;
        font-size: 10px;
    }
}

.coremap-report-card .coremap-report-place-photo-caption {
    position: absolute;
    left: 14px;
    top: 14px;
    z-index: 5;
    max-width: calc(100% - 96px);
    padding: 7px 10px;
    border: 1px solid rgba(190, 205, 255, .24);
    border-radius: 10px;
    background: rgba(12, 20, 35, .88);
    color: #edf1ff;
    font-size: 12px;
    line-height: 1.35;
    pointer-events: none;
}

/* coremap-place-statistics.css */
.coremap-place-statistics {
    margin: 18px 0 0;
    padding: 17px;
    min-width: 0;
    border: 1px solid rgba(144, 161, 236, 0.23);
    border-radius: 19px;
    background: linear-gradient(140deg, rgba(62, 80, 138, 0.23), rgba(16, 24, 44, 0.52));
    color: #f0f3ff;
    font-family: inherit;
    overflow-wrap: anywhere;
    box-sizing: border-box;
}

.coremap-place-statistics *,
.coremap-place-statistics *::before,
.coremap-place-statistics *::after { box-sizing: border-box; }

.coremap-place-statistics h3,
.coremap-place-statistics h4,
.coremap-place-statistics p { margin: 0; }

.coremap-place-statistics-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 7px 12px;
}

.coremap-place-statistics h3 { font-size: 16px; font-weight: 750; line-height: 1.35; }

.coremap-place-statistics h4 { font-size: 12px; line-height: 1.4; font-weight: 650; }

.coremap-place-statistics-quality {
    padding: 4px 8px;
    border-radius: 12px;
    background: rgba(136, 152, 224, 0.13);
    color: #c8d2ff;
    font-size: 10px;
    line-height: 1.3;
    font-weight: 650;
}

.coremap-place-statistics .coremap-place-statistics-caption {
    margin-top: 5px;
    color: #aab7ce;
    font-size: 11px;
    line-height: 1.5;
}

.coremap-place-statistics-counts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 15px 0 18px;
}

.coremap-place-statistics-counts > div {
    min-width: 0;
    padding: 12px 10px;
    border: 1px solid rgba(153, 174, 250, 0.13);
    border-radius: 13px;
    background: rgba(9, 17, 33, 0.35);
}

.coremap-place-statistics-counts strong {
    display: block;
    font-size: clamp(23px, 4vw, 30px);
    font-variant-numeric: tabular-nums;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.025em;
    color: #dce5ff;
}

.coremap-place-statistics-counts span {
    display: block;
    margin-top: 5px;
    font-size: 11px;
    line-height: 1.4;
    color: #b1bfd7;
}

.coremap-place-statistics-chart-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 4px 10px;
}

.coremap-place-statistics-chart-heading > span { font-size: 10px; color: #9eacc6; }

.coremap-place-statistics-weekdays {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 8px;
    margin-top: 13px;
}

.coremap-place-statistics-day {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 5px;
    min-width: 0;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.coremap-place-statistics-day-count { min-height: 14px; color: #becbe3; font-size: 10px; line-height: 1.4; }

.coremap-place-statistics-day-label { color: #aebbd3; font-size: 11px; line-height: 1.4; }

.coremap-place-statistics-bar-track {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: 55px;
    border-bottom: 1px solid rgba(146, 165, 225, 0.19);
    border-radius: 5px 5px 0 0;
    background: rgba(85, 104, 155, 0.08);
}

.coremap-place-statistics-bar-track > i {
    display: block;
    width: 100%;
    max-width: 30px;
    border-radius: 5px 5px 0 0;
    background: linear-gradient(180deg, #8da8fb, #616ccd);
}

.coremap-place-statistics-day.is-peak .coremap-place-statistics-bar-track > i { background: linear-gradient(180deg, #a9bfff, #8294ed); }

.coremap-place-statistics-day.is-peak .coremap-place-statistics-day-label { color: #e0e8ff; font-weight: 750; }

.coremap-place-statistics-insight {
    margin: 14px 0 10px;
    padding: 10px 12px;
    border-radius: 11px;
    background: rgba(115, 137, 222, 0.08);
    font-size: 11px;
    line-height: 1.6;
    color: #bbc8df;
}

.coremap-place-statistics-insight strong { color: #dce5ff; font-weight: 650; }

.coremap-place-statistics-times { display: flex; flex-wrap: wrap; gap: 6px; margin: 7px 0; }

.coremap-place-statistics-times > span { padding: 4px 9px; border: 1px solid rgba(157, 177, 253, 0.2); border-radius: 9px; background: rgba(137, 156, 232, 0.1); color: #dce5ff; font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }

.coremap-place-statistics .coremap-place-statistics-time-note { font-size: 10px; color: #a4b3cd; }

.coremap-place-statistics .coremap-place-statistics-sample { margin-top: 9px; font-size: 10px; line-height: 1.5; color: #bbc8df; }

.coremap-place-statistics .coremap-place-statistics-note { margin-top: 5px; font-size: 10px; line-height: 1.5; color: #9eadc8; }

.coremap-place-statistics-state > p { margin-top: 8px; font-size: 12px; line-height: 1.5; color: #aab7ce; }

.coremap-place-statistics .coremap-place-statistics-retry {
    width: auto;
    min-height: 38px;
    margin-top: 10px;
    padding: 8px 14px;
    border: 1px solid rgba(155, 173, 252, 0.33);
    border-radius: 10px;
    background: rgba(104, 126, 214, 0.16);
    color: #dce5ff;
    font: inherit;
    font-size: 12px;
    cursor: pointer;
}

.coremap-place-statistics-retry:focus-visible { outline: 2px solid #9dafef; outline-offset: 3px; }

@media (max-width: 380px) {
.coremap-place-statistics { padding: 13px; }

.coremap-place-statistics-counts { gap: 8px; }

.coremap-place-statistics-counts > div { padding: 10px 8px; }

.coremap-place-statistics-weekdays { gap: 5px; }
}

/* coremap-new-photo-close.css */
.coremap-new-photo-close-round {
    position: relative !important;

    display: grid !important;
    place-items: center !important;

    flex: 0 0 52px !important;

    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;

    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;

    inline-size: 52px !important;
    block-size: 52px !important;
    aspect-ratio: 1 / 1 !important;

    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;

    overflow: hidden !important;

    border: 0 !important;
    border-radius: 50% !important;

    background: rgba(255, 255, 255, 0.11) !important;
    color: transparent !important;

    font-size: 0 !important;
    line-height: 0 !important;

    appearance: none !important;
    -webkit-appearance: none !important;

    transform: none !important;
    align-self: center !important;

    -webkit-tap-highlight-color: transparent;
    cursor: pointer !important;
}

.coremap-new-photo-close-round::before,
.coremap-new-photo-close-round::after {
    content: "";

    position: absolute;
    top: 50%;
    left: 50%;

    width: 21px;
    height: 3px;

    border-radius: 999px;
    background: #ffffff;

    transform-origin: center;
}

.coremap-new-photo-close-round::before {
    transform:
        translate(-50%, -50%)
        rotate(45deg);
}

.coremap-new-photo-close-round::after {
    transform:
        translate(-50%, -50%)
        rotate(-45deg);
}

.coremap-new-photo-close-round:active {
    opacity: 0.75 !important;
    transform: scale(0.94) !important;
}

/* coremap-report-visual.css */
.coremap-report-ai-extra {
    display: none !important;
}

.coremap-report-view-switch {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 15;

    display: flex;
    gap: 3px;

    padding: 4px;

    border:
        1px solid rgba(255, 255, 255, 0.17);
    border-radius: 14px;

    background: rgba(7, 12, 22, 0.82);

    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.coremap-report-view-switch button {
    min-width: 76px;
    min-height: 34px;
    padding: 6px 10px;

    border: 0;
    border-radius: 10px;

    background: transparent;
    color: rgba(255, 255, 255, 0.72);

    font: inherit;
    font-size: 12px;
    font-weight: 800;

    cursor: pointer;
}

.coremap-report-view-switch button.active {
    background: rgba(77, 101, 245, 0.92);
    color: #ffffff;

    box-shadow:
        0 4px 14px rgba(38, 67, 219, 0.32);
}

.coremap-report-view-switch button:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.coremap-report-card-badges {
    right: 12px;
    max-width: calc(100% - 24px);
}

.coremap-report-summary-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.coremap-report-summary-badge.source-ai {
    background: rgba(35, 127, 231, 0.88);
}

.coremap-report-summary-badge.source-manual {
    background: rgba(132, 74, 220, 0.88);
}

.coremap-report-summary-badge.source-moderation {
    background: rgba(35, 146, 125, 0.92);
    color: #edfff9;
}

.coremap-report-summary-badge.source-user {
    background: rgba(214, 145, 21, 0.92);
    color: #fff5d2;
}

.coremap-report-summary-badge.police-car {
    background: rgba(29, 74, 180, 0.88);
}

.coremap-report-summary-badge.officer {
    background: rgba(128, 69, 202, 0.90);
}

.coremap-report-summary-badge.lightbar {
    background: rgba(201, 53, 74, 0.90);
}

.coremap-report-summary-badge.license-plate {
    background: rgba(218, 145, 28, 0.92);
}

.coremap-report-card.visual-enhanced
.coremap-report-card-confidence {
    display: none;
}

.coremap-report-recognition {
    display: grid;
    gap: 9px;
}

.coremap-report-recognition-button {
    width: 100%;
    min-height: 46px;
    padding: 10px 14px;

    border:
        1px solid rgba(255, 255, 255, 0.11);
    border-radius: 14px;

    background: rgba(255, 255, 255, 0.055);
    color:
        var(--tg-theme-text-color, #ffffff);

    font: inherit;
    font-weight: 750;
    cursor: pointer;
}

.coremap-report-recognition-panel {
    display: none;
    gap: 8px;

    padding: 12px;

    border:
        1px solid rgba(255, 255, 255, 0.09);
    border-radius: 14px;

    background: rgba(255, 255, 255, 0.035);
}

.coremap-report-recognition-panel.visible {
    display: grid;
}

.coremap-report-recognition-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;

    padding: 8px 9px;

    border-radius: 10px;
    background: rgba(255, 255, 255, 0.035);

    font-size: 13px;
}

.coremap-report-recognition-label {
    color:
        var(--tg-theme-hint-color, #9ba6b5);
}

.coremap-report-recognition-value {
    font-weight: 800;
    text-align: right;
}

.coremap-report-image-loading {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

    color: #a4afbe;
    font-size: 14px;
}

@media (max-width: 390px) {
.coremap-report-view-switch button {
        min-width: 67px;
        padding-left: 7px;
        padding-right: 7px;
    }

.coremap-report-card-badges {
        gap: 5px;
    }

.coremap-report-summary-badge {
        padding: 6px 8px;
        font-size: 11px;
    }
}

.coremap-report-view-switch {
    display: grid !important;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr) !important;

    width: 194px !important;
    min-width: 194px !important;
    max-width: 194px !important;

    min-height: 44px !important;

    padding: 4px !important;
    gap: 4px !important;

    box-sizing: border-box !important;
}

.coremap-report-view-switch > button {
    all: unset !important;

    display: grid !important;
    place-items: center !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;

    padding: 0 8px !important;
    margin: 0 !important;

    box-sizing: border-box !important;

    border-radius: 10px !important;

    color: rgba(255, 255, 255, 0.72) !important;

    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;

    text-align: center !important;
    white-space: nowrap !important;

    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent;
}

.coremap-report-view-switch > button.active {
    background:
        rgba(77, 101, 245, 0.96) !important;

    color: #ffffff !important;

    box-shadow:
        0 4px 14px
        rgba(38, 67, 219, 0.34) !important;
}

.coremap-report-view-switch > button:disabled {
    opacity: 0.34 !important;
    cursor: not-allowed !important;
}

/* coremap-image-viewer.css */
.coremap-report-card-photo {
    cursor: zoom-in;

    /*
     * Вертикальная прокрутка карточки остаётся,
     * а короткое касание открывает фотографию.
     */
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
    -webkit-user-select: none;
    user-select: none;
}

html.coremap-image-viewer-open,
body.coremap-image-viewer-open {
    overflow: hidden !important;
    overscroll-behavior: none !important;
}

.coremap-image-viewer {
    position: fixed;
    inset: 0;
    z-index: 2147483000;

    display: none;
    align-items: center;
    justify-content: center;

    width: 100vw;
    height: 100vh;
    height: 100dvh;

    box-sizing: border-box;
    overflow: hidden;

    background: rgba(0, 0, 0, 0.98);

    opacity: 0;
    transition: opacity 160ms ease;

    touch-action: none;
    overscroll-behavior: none;

    -webkit-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

.coremap-image-viewer.visible {
    display: flex;
}

.coremap-image-viewer.opened {
    opacity: 1;
}

.coremap-image-viewer-image-shell {
    position: absolute;
    inset: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    padding:
        max(
            16px,
            env(safe-area-inset-top, 0px)
        )
        0
        max(
            16px,
            env(safe-area-inset-bottom, 0px)
        );

    box-sizing: border-box;
    overflow: hidden;

    touch-action: none;
}

.coremap-image-viewer-image {
    display: block;

    width: auto;
    height: auto;

    max-width: 100vw;
    max-height: 100%;

    object-fit: contain;

    -webkit-user-drag: none;
    user-select: none;
}

.coremap-image-viewer-close {
    all: unset !important;

    position: fixed !important;

    top: max(
        72px,
        calc(
            env(
                safe-area-inset-top,
                0px
            )
            + 56px
        ),
        calc(
            var(
                --tg-safe-area-inset-top,
                0px
            )
            + 56px
        )
    ) !important;

    right: calc(
        env(
            safe-area-inset-right,
            0px
        )
        + 16px
    ) !important;

    z-index: 2147483001 !important;

    display: block !important;

    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;

    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;

    box-sizing: border-box !important;
    overflow: hidden !important;

    border:
        1px solid
        rgba(255, 255, 255, 0.28)
        !important;

    border-radius: 50% !important;

    background:
        rgba(20, 25, 36, 0.94)
        !important;

    box-shadow:
        0 8px 28px
        rgba(0, 0, 0, 0.52);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    pointer-events: auto !important;
    cursor: pointer !important;

    -webkit-tap-highlight-color:
        transparent;
}

.coremap-image-viewer-close::before,
.coremap-image-viewer-close::after {
    content: "";

    position: absolute;
    top: 50%;
    left: 50%;

    width: 25px;
    height: 3px;

    border-radius: 999px;
    background: #ffffff;

    transform-origin: center;
}

.coremap-image-viewer-close::before {
    transform:
        translate(-50%, -50%)
        rotate(45deg);
}

.coremap-image-viewer-close::after {
    transform:
        translate(-50%, -50%)
        rotate(-45deg);
}

.coremap-image-viewer-close:active {
    opacity: 0.72 !important;
    transform: scale(0.94) !important;
}

/* coremap-image-viewer-animation.css */
.coremap-image-viewer {
    background-color: rgba(0, 0, 0, 0) !important;

    transition:
        opacity 340ms
            cubic-bezier(0.22, 1, 0.36, 1),
        background-color 380ms
            cubic-bezier(0.22, 1, 0.36, 1)
        !important;

    will-change:
        opacity,
        background-color;
}

.coremap-image-viewer.opened {
    background-color:
        rgba(0, 0, 0, 0.98) !important;
}

.coremap-image-viewer-image {
    opacity: 0;

    transform:
        translate3d(0, 18px, 0)
        scale(0.94);

    filter: blur(3px);

    transition:
        opacity 320ms
            cubic-bezier(0.22, 1, 0.36, 1),
        transform 420ms
            cubic-bezier(0.22, 1, 0.36, 1),
        filter 320ms ease
        !important;

    transform-origin: center center;

    will-change:
        transform,
        opacity,
        filter;
}

.coremap-image-viewer.opened
.coremap-image-viewer-image {
    opacity: 1;

    transform:
        translate3d(0, 0, 0)
        scale(1);

    filter: blur(0);
}

.coremap-image-viewer-close {
    opacity: 0 !important;

    transform:
        translate3d(0, -8px, 0)
        scale(0.76)
        !important;

    transition:
        opacity 220ms ease,
        transform 340ms
            cubic-bezier(0.22, 1, 0.36, 1)
        !important;

    transition-delay: 0ms !important;

    will-change:
        transform,
        opacity;
}

.coremap-image-viewer.opened
.coremap-image-viewer-close {
    opacity: 1 !important;

    transform:
        translate3d(0, 0, 0)
        scale(1)
        !important;

    transition-delay: 110ms !important;
}

.coremap-image-viewer.opened
.coremap-image-viewer-close:active {
    transform:
        translate3d(0, 0, 0)
        scale(0.91)
        !important;

    transition-delay: 0ms !important;
}

/*
 * На слабых устройствах или при включённом
 * системном уменьшении движения анимация
 * становится почти мгновенной.
 */
@media (
    prefers-reduced-motion: reduce
) {
.coremap-image-viewer,
.coremap-image-viewer-image,
.coremap-image-viewer-close {
        transition-duration:
            1ms !important;

        transition-delay:
            0ms !important;
    }
}

/* coremap-my-reports.css */
.coremap-map-shell {
    position: relative !important;
}

.coremap-my-reports-button {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 1100;

    display: flex;
    align-items: center;
    gap: 8px;

    min-height: 42px;
    padding: 8px 13px;

    border:
        1px solid rgba(255, 255, 255, 0.16);
    border-radius: 14px;

    background: rgba(10, 15, 26, 0.88);
    color: #ffffff;

    font: inherit;
    font-size: 12px;
    font-weight: 850;

    box-shadow:
        0 8px 24px rgba(0, 0, 0, 0.28);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.coremap-my-reports-button:active {
    transform: scale(0.97);
}

.coremap-my-reports-button-badge {
    display: none;

    min-width: 19px;
    height: 19px;
    padding: 0 5px;

    box-sizing: border-box;

    border-radius: 999px;

    background: #5369eb;
    color: #ffffff;

    font-size: 10px;
    line-height: 19px;
    text-align: center;
}

.coremap-my-reports-button-badge.visible {
    display: block;
}

html.coremap-my-reports-open,
body.coremap-my-reports-open {
    overflow: hidden !important;
    overscroll-behavior: none !important;
}

.coremap-my-reports-modal {
    position: fixed;
    inset: 0;
    z-index: 2147482200;

    display: none;
    align-items: flex-end;
    justify-content: center;

    padding:
        max(12px, env(safe-area-inset-top, 0px))
        8px
        max(8px, env(safe-area-inset-bottom, 0px));

    box-sizing: border-box;

    background: rgba(1, 4, 9, 0.78);

    opacity: 0;

    transition:
        opacity 190ms ease;
}

.coremap-my-reports-modal.visible {
    display: flex;
}

.coremap-my-reports-modal.opened {
    opacity: 1;
}

.coremap-my-reports-panel {
    display: flex;
    flex-direction: column;

    width: min(100%, 620px);
    max-height: 92dvh;

    overflow: hidden;

    border:
        1px solid rgba(255, 255, 255, 0.11);
    border-radius: 24px;

    background: rgba(13, 18, 29, 0.99);

    box-shadow:
        0 24px 80px rgba(0, 0, 0, 0.60);

    transform:
        translate3d(0, 32px, 0)
        scale(0.98);

    transition:
        transform 360ms
        cubic-bezier(0.22, 1, 0.36, 1);
}

.coremap-my-reports-modal.opened
.coremap-my-reports-panel {
    transform:
        translate3d(0, 0, 0)
        scale(1);
}

.coremap-my-reports-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;

    padding: 16px 16px 12px;

    border-bottom:
        1px solid rgba(255, 255, 255, 0.08);
}

.coremap-my-reports-heading {
    min-width: 0;
}

.coremap-my-reports-title {
    margin: 0;

    color: #ffffff;

    font-size: 19px;
    font-weight: 900;
}

.coremap-my-reports-subtitle {
    margin-top: 4px;

    color: #8e99a9;

    font-size: 12px;
}

.coremap-my-reports-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.coremap-my-reports-icon-button {
    position: relative;

    flex: 0 0 44px;

    width: 44px;
    height: 44px;
    padding: 0;

    border:
        1px solid rgba(255, 255, 255, 0.13);
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.055);
    color: #ffffff;

    font: inherit;
    font-size: 20px;
    font-weight: 800;

    cursor: pointer;
}

.coremap-my-reports-close::before,
.coremap-my-reports-close::after {
    content: "";

    position: absolute;
    top: 50%;
    left: 50%;

    width: 19px;
    height: 2px;

    border-radius: 999px;
    background: #ffffff;
}

.coremap-my-reports-close::before {
    transform:
        translate(-50%, -50%)
        rotate(45deg);
}

.coremap-my-reports-close::after {
    transform:
        translate(-50%, -50%)
        rotate(-45deg);
}

.coremap-my-reports-filters {
    display: flex;
    gap: 7px;

    padding: 11px 14px;

    overflow-x: auto;

    border-bottom:
        1px solid rgba(255, 255, 255, 0.07);

    scrollbar-width: none;
}

.coremap-my-reports-filters::-webkit-scrollbar {
    display: none;
}

.coremap-my-reports-filter {
    flex: 0 0 auto;

    min-height: 35px;
    padding: 6px 10px;

    border:
        1px solid rgba(255, 255, 255, 0.09);
    border-radius: 999px;

    background: rgba(255, 255, 255, 0.04);
    color: #9ba5b4;

    font: inherit;
    font-size: 11px;
    font-weight: 800;

    cursor: pointer;
}

.coremap-my-reports-filter.active {
    border-color:
        rgba(89, 111, 246, 0.55);

    background:
        rgba(75, 98, 231, 0.22);

    color: #c5ceff;
}

.coremap-my-reports-reputation {
    margin: 0 0 12px;
    padding: 12px 13px;
    border: 1px solid rgba(86, 211, 146, 0.22);
    border-radius: 14px;
    background:
        linear-gradient(
            135deg,
            rgba(34, 174, 112, 0.12),
            rgba(90, 111, 235, 0.09)
        );
    color: #ffffff;
}

.coremap-my-reports-reputation.blocked {
    border-color: rgba(255, 104, 124, 0.28);
    background: rgba(186, 55, 74, 0.12);
}

.coremap-my-reports-reputation strong,
.coremap-my-reports-reputation span {
    display: block;
}

.coremap-my-reports-reputation strong {
    font-size: 14px;
    font-weight: 900;
}

.coremap-my-reports-reputation span {
    margin-top: 3px;
    color: #9aa7b8;
    font-size: 12px;
    line-height: 1.35;
}

.coremap-my-reports-body {
    flex: 1 1 auto;

    min-height: 200px;
    padding: 13px;

    overflow-y: auto;
    overscroll-behavior: contain;
}

.coremap-my-reports-list {
    display: grid;
    gap: 11px;
}

.coremap-my-report-card {
    display: grid;
    grid-template-columns:
        clamp(86px, 28vw, 104px)
        minmax(0, 1fr);
    align-items: start;
    gap: 12px;

    width: 100%;
    padding: 10px;

    box-sizing: border-box;

    border:
        1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;

    background: rgba(255, 255, 255, 0.035);
    color: inherit;

    text-align: left;

    cursor: pointer;

    -webkit-tap-highlight-color: transparent;
}

.coremap-my-report-card:active {
    background:
        rgba(255, 255, 255, 0.065);
}

.coremap-my-report-thumbnail {
    position: relative;

    width: 100%;
    height: auto;
    aspect-ratio: 1;

    overflow: hidden;

    border-radius: 12px;

    background:
        rgba(255, 255, 255, 0.045);
}

.coremap-my-report-thumbnail img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.coremap-my-report-thumbnail-placeholder {
    display: grid;
    place-items: center;

    width: 100%;
    height: 100%;

    color: #737e8f;

    font-size: 11px;
    text-align: center;
}

.coremap-my-report-card-content {
    display: grid;
    align-content: start;
    gap: 7px;

    min-width: 0;
}

.coremap-my-report-card-header {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
}

.coremap-my-report-card-title {
    min-width: 0;

    color: #ffffff;

    font-size: 14px;
    font-weight: 850;

    line-height: 1.15;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: auto;
}

.coremap-my-report-status {
    justify-self: start;
    max-width: 100%;

    padding: 5px 7px;

    border-radius: 999px;

    background:
        rgba(122, 132, 151, 0.14);
    color: #aab3c2;

    font-size: 9px;
    font-weight: 850;
    line-height: 1.2;
    white-space: normal;
    overflow-wrap: break-word;
    text-align: left;
}

.coremap-my-report-status.processing {
    background:
        rgba(76, 104, 230, 0.17);
    color: #aebcff;
}

.coremap-my-report-status.pending_review {
    background:
        rgba(223, 155, 40, 0.16);
    color: #ffd078;
}

.coremap-my-report-status.confirmed_auto,
.coremap-my-report-status.confirmed_manual {
    background:
        rgba(43, 186, 107, 0.15);
    color: #75e1a8;
}

.coremap-my-report-status.rejected_auto,
.coremap-my-report-status.rejected_manual,
.coremap-my-report-status.deleted {
    background:
        rgba(222, 62, 78, 0.15);
    color: #ff969f;
}

.coremap-my-report-status.expired {
    background:
        rgba(128, 137, 154, 0.15);
    color: #acb4c0;
}

.coremap-my-report-meta,
.coremap-my-report-reason {
    color: #929cab;

    font-size: 11px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.coremap-my-report-reason {
    display: -webkit-box;

    overflow: hidden;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.coremap-my-report-confidence {
    color: #c7cfdd;

    font-size: 11px;
    font-weight: 800;
}

.coremap-my-reports-message {
    padding: 24px 16px;

    border-radius: 15px;

    background:
        rgba(255, 255, 255, 0.035);

    color: #929cab;

    font-size: 13px;
    line-height: 1.5;
    text-align: center;
}

.coremap-my-report-detail {
    display: grid;
    gap: 13px;
}

.coremap-my-report-detail-back {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    width: fit-content;
    min-height: 38px;
    padding: 7px 11px;

    border:
        1px solid rgba(255, 255, 255, 0.10);
    border-radius: 12px;

    background:
        rgba(255, 255, 255, 0.045);
    color: #ffffff;

    font: inherit;
    font-size: 12px;
    font-weight: 800;

    cursor: pointer;
}

.coremap-my-report-detail-title {
    margin: 0;

    color: #ffffff;

    font-size: 20px;
    font-weight: 900;
}

.coremap-my-report-detail-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.coremap-my-report-image-tabs {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 4px;

    padding: 4px;

    border-radius: 14px;

    background:
        rgba(255, 255, 255, 0.045);
}

.coremap-my-report-image-tab {
    min-width: 0;
    min-height: 38px;
    padding: 6px 7px;

    border: 0;
    border-radius: 10px;

    background: transparent;
    color: #8f99a8;

    font: inherit;
    font-size: 11px;
    font-weight: 850;

    cursor: pointer;
}

.coremap-my-report-image-tab.active {
    background: rgba(77, 101, 236, 0.88);
    color: #ffffff;
}

.coremap-my-report-image-tab:disabled {
    opacity: 0.30;
    cursor: not-allowed;
}

.coremap-my-report-detail-image-shell {
    position: relative;

    display: grid;
    place-items: center;

    min-height: 260px;
    max-height: 56dvh;

    overflow: hidden;

    border-radius: 17px;

    background: #070b12;

    cursor: zoom-in;
    touch-action: pan-y;
    user-select: none;
    -webkit-user-select: none;
    overscroll-behavior: contain;
}

.coremap-my-report-detail-image {
    display: block;

    width: 100%;
    max-height: 56dvh;

    object-fit: contain;
    -webkit-user-drag: none;
    user-select: none;
    transform: scale(1);
    transform-origin: center center;
    transition: transform 180ms ease;
    will-change: transform;
}

.coremap-my-report-detail-image-shell.pinching {
    touch-action: none;
}

.coremap-my-report-detail-image-shell.pinching
.coremap-my-report-detail-image {
    transition: none;
}

.coremap-my-report-detail-image-shell.returning
.coremap-my-report-detail-image {
    transition:
        transform 220ms
        cubic-bezier(0.22, 1, 0.36, 1);
}

.coremap-my-report-detail-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.coremap-my-report-detail-item {
    min-width: 0;
    padding: 11px;

    border:
        1px solid rgba(255, 255, 255, 0.07);
    border-radius: 12px;

    background:
        rgba(255, 255, 255, 0.035);
}

.coremap-my-report-detail-label {
    margin-bottom: 5px;

    color: #8994a4;

    font-size: 10px;
    font-weight: 750;
}

.coremap-my-report-detail-value {
    color: #ffffff;

    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;

    overflow-wrap: anywhere;
}

.coremap-my-report-detail-reason {
    padding: 12px;

    border:
        1px solid rgba(255, 255, 255, 0.07);
    border-radius: 13px;

    background:
        rgba(255, 255, 255, 0.035);

    color: #b5becc;

    font-size: 12px;
    line-height: 1.5;
}

.coremap-my-report-map-button {
    width: 100%;
    min-height: 49px;
    padding: 10px 14px;

    border:
        1px solid rgba(86, 111, 247, 0.42);
    border-radius: 14px;

    background:
        linear-gradient(
            135deg,
            rgba(72, 96, 231, 0.94),
            rgba(94, 73, 216, 0.94)
        );

    color: #ffffff;

    font: inherit;
    font-size: 13px;
    font-weight: 850;

    cursor: pointer;
}

.coremap-my-report-map-focus {
    position: relative;
    z-index: 1;

    width: 30px;
    height: 30px;

    border:
        3px solid #ffffff;
    border-radius: 50%;

    background: #5369eb;

    box-shadow:
        0 0 0 0
        rgba(83, 105, 235, 0.55);

    pointer-events: none;

    animation:
        coremap-my-report-map-pulse
        1.4s ease-out infinite;
}

.coremap-my-report-map-focus::after {
    content: attr(data-label);

    position: absolute;
    top: calc(100% + 10px);
    left: 50%;

    padding: 6px 9px;

    border-radius: 999px;

    background:
        rgba(8, 12, 21, 0.92);
    color: #ffffff;

    font-size: 10px;
    font-weight: 850;
    white-space: nowrap;

    transform: translateX(-50%);
}

@keyframes coremap-my-report-map-pulse {
    0% {
        box-shadow:
            0 0 0 0
            rgba(83, 105, 235, 0.55);
    }

    75% {
        box-shadow:
            0 0 0 25px
            rgba(83, 105, 235, 0);
    }

    100% {
        box-shadow:
            0 0 0 0
            rgba(83, 105, 235, 0);
    }
}

@media (max-width: 430px) {
.coremap-my-report-card {
        grid-template-columns:
            88px minmax(0, 1fr);
    }

.coremap-my-report-thumbnail {
        width: 88px;
        height: 96px;
    }

.coremap-my-report-detail-grid {
        grid-template-columns: 1fr;
    }
}

.coremap-my-reports-launch-row {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    padding: 12px 14px 4px;

    box-sizing: border-box;
}

.coremap-my-reports-launch-row
.coremap-my-reports-button {
    position: static !important;

    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;

    z-index: auto !important;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    width: 100%;
    max-width: 620px;
    min-height: 48px;

    padding: 10px 16px;

    border-radius: 15px;

    background:
        linear-gradient(
            135deg,
            rgba(69, 93, 226, 0.94),
            rgba(89, 70, 210, 0.94)
        );

    box-shadow:
        0 8px 22px
        rgba(50, 66, 177, 0.22);
}

html.coremap-my-reports-open {
    overflow: hidden !important;
    overscroll-behavior: none !important;
}

body.coremap-my-reports-open {
    overflow: hidden !important;
    overscroll-behavior: none !important;
    touch-action: none !important;
}

.coremap-my-reports-modal {
    overflow: hidden !important;
    overscroll-behavior: none !important;
    touch-action: none;
}

.coremap-my-reports-panel {
    position: relative;
    z-index: 1;

    isolation: isolate;

    overscroll-behavior: contain;
    touch-action: pan-y;
}

.coremap-my-reports-body {
    position: relative;
    z-index: 2;

    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
}

.coremap-my-reports-modal.detail-open
.coremap-my-reports-filters {
    display: none !important;
}

.coremap-my-reports-modal.detail-open
.coremap-my-reports-body {
    padding-top: 14px;
}

.coremap-my-reports-filters {
    position: relative;
    z-index: 3;

    flex: 0 0 auto;
}

.coremap-my-reports-filter {
    position: relative !important;

    top: auto !important;
    left: auto !important;

    transform: none;
}

.coremap-my-report-detail {
    position: relative;
    z-index: 2;

    isolation: isolate;
}

.coremap-my-report-image-tabs {
    position: relative;
    z-index: 3;

    flex: 0 0 auto;
}

/* На небольших экранах оставляем нормальные отступы */

@media (max-width: 430px) {
.coremap-my-reports-launch-row {
        padding:
            10px
            10px
            3px;
    }

.coremap-my-reports-launch-row
    .coremap-my-reports-button {
        max-width: none;
    }
}

.coremap-my-report-status.merged {
    border:
        1px solid rgba(
            164,
            112,
            255,
            0.30
        );

    background:
        rgba(135, 77, 231, 0.17);

    color: #c9a9ff;
}

.coremap-my-report-confirmations {
    width: fit-content;
    max-width: 100%;
    padding: 5px 8px;

    border:
        1px solid rgba(
            72,
            200,
            129,
            0.18
        );

    border-radius: 999px;

    background:
        rgba(39, 175, 98, 0.10);

    color: #86e5b0;

    font-size: 10px;
    font-weight: 800;
    line-height: 1.25;
    overflow-wrap: break-word;
}

.coremap-my-report-merged-link {
    width: fit-content;
    max-width: 100%;
    padding: 5px 8px;

    border:
        1px solid rgba(
            164,
            112,
            255,
            0.20
        );

    border-radius: 999px;

    background:
        rgba(135, 77, 231, 0.10);

    color: #c9a9ff;

    font-size: 10px;
    font-weight: 800;
    line-height: 1.25;
    overflow-wrap: break-word;
}

.coremap-my-report-merged-banner {
    display: grid;
    grid-template-columns:
        42px minmax(0, 1fr);
    gap: 11px;

    padding: 13px;

    border:
        1px solid rgba(
            164,
            112,
            255,
            0.25
        );

    border-radius: 15px;

    background:
        linear-gradient(
            135deg,
            rgba(116, 69, 199, 0.17),
            rgba(73, 65, 165, 0.10)
        );

    color: #d3c0f7;

    font-size: 12px;
    line-height: 1.5;
}

.coremap-my-report-merged-banner strong {
    display: block;

    margin-bottom: 4px;

    color: #ffffff;

    font-size: 14px;
    font-weight: 900;
}

.coremap-my-report-merged-icon {
    display: grid;
    place-items: center;

    width: 42px;
    height: 42px;

    border:
        1px solid rgba(
            188,
            147,
            255,
            0.35
        );

    border-radius: 50%;

    background:
        rgba(144, 86, 236, 0.18);

    color: #d6baff;

    font-size: 20px;
    font-weight: 900;
}

.coremap-my-report-card:has(
    .coremap-my-report-status.merged
) {
    border-color:
        rgba(155, 103, 240, 0.19);

    background:
        linear-gradient(
            135deg,
            rgba(120, 72, 198, 0.065),
            rgba(255, 255, 255, 0.025)
        );
}

.coremap-my-report-card {
    display: block;
    padding: 12px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.032);
}

.coremap-my-report-card-main {
    display: grid;
    grid-template-columns:
        clamp(82px, 25vw, 104px)
        minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.coremap-my-report-card-content {
    gap: 9px;
}

.coremap-my-report-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}

.coremap-my-report-card-title {
    font-size: 15px;
    line-height: 1.25;
}

.coremap-my-report-status {
    flex: 0 1 auto;
    justify-self: auto;
    max-width: 52%;
    padding: 4px 7px;
    text-align: right;
}

.coremap-my-report-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 9px;
    color: #7f8a9a;
}

.coremap-my-report-meta span:first-child {
    color: #b8c1ce;
    font-weight: 850;
}

.coremap-my-report-metrics {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.coremap-my-report-metrics > div {
    min-width: 0;
    padding: 8px 9px;
    border: 1px solid rgba(255, 255, 255, 0.065);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.028);
}

.coremap-my-report-metrics span,
.coremap-my-report-metrics strong {
    display: block;
}

.coremap-my-report-metrics span {
    margin-bottom: 3px;
    color: #778397;
    font-size: 9px;
    line-height: 1.2;
}

.coremap-my-report-metrics strong {
    color: #e9edf4;
    font-size: 12px;
    font-weight: 900;
}

.coremap-my-report-outcome {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 3px 9px;
    margin-top: 11px;
    padding: 10px 11px;
    border: 1px solid rgba(255, 255, 255, 0.075);
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.025);
}

.coremap-my-report-outcome > span {
    grid-row: 1 / span 2;
    align-self: start;
    padding: 4px 6px;
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.055);
    color: #8793a5;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}

.coremap-my-report-outcome strong {
    min-width: 0;
    color: #eef1f6;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.3;
}

.coremap-my-report-outcome p {
    grid-column: 2;
    margin: 0;
    color: #8e99aa;
    font-size: 10px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.coremap-my-report-outcome.confirmed {
    border-color: rgba(68, 200, 128, 0.16);
    background: rgba(40, 163, 99, 0.07);
}

.coremap-my-report-outcome.merged {
    border-color: rgba(153, 103, 239, 0.18);
    background: rgba(129, 77, 215, 0.07);
}

.coremap-my-report-outcome.rejected {
    border-color: rgba(229, 75, 94, 0.16);
    background: rgba(186, 52, 70, 0.07);
}

.coremap-my-report-outcome.pending {
    border-color: rgba(229, 165, 55, 0.17);
    background: rgba(206, 139, 30, 0.07);
}

.coremap-my-report-comment-state {
    margin-top: 8px;
    padding: 7px 9px;
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.035);
    color: #97a3b5;
    font-size: 10px;
    font-weight: 800;
}

.coremap-my-report-comment-state.pending {
    color: #e8bd62;
    background: rgba(219, 153, 39, 0.08);
}

.coremap-my-report-comment-state.approved {
    color: #75dba4;
    background: rgba(48, 180, 108, 0.08);
}

.coremap-my-report-comment-state.rejected {
    color: #f18b98;
    background: rgba(202, 61, 79, 0.08);
}

.coremap-my-report-open-hint {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    margin-top: 8px;
    color: #79869a;
    font-size: 10px;
    font-weight: 800;
}

.coremap-my-report-open-hint span {
    color: #aeb8c7;
    font-size: 18px;
    line-height: 0.7;
}

.coremap-my-report-detail-comment {
    padding: 12px 13px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.03);
}

.coremap-my-report-detail-comment > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 7px;
}

.coremap-my-report-detail-comment span {
    color: #818da0;
    font-size: 10px;
    font-weight: 850;
    text-transform: uppercase;
}

.coremap-my-report-detail-comment strong {
    color: #a7b2c2;
    font-size: 10px;
    text-align: right;
}

.coremap-my-report-detail-comment p {
    margin: 0;
    color: #eef1f5;
    font-size: 13px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.coremap-my-report-detail-comment.pending {
    border-color: rgba(229, 165, 55, 0.18);
}

.coremap-my-report-detail-comment.approved {
    border-color: rgba(68, 200, 128, 0.18);
}

.coremap-my-report-detail-comment.rejected {
    border-color: rgba(229, 75, 94, 0.18);
    opacity: 0.78;
}

@media (max-width: 370px) {
.coremap-my-report-card-main {
        grid-template-columns: 78px minmax(0, 1fr);
        gap: 10px;
    }

.coremap-my-report-status {
        max-width: 58%;
    }
}

.coremap-my-reports-modal {
    padding:
        calc(var(--coremap-window-safe-top, 0px) + 8px)
        max(10px, var(--coremap-map-safe-right, 0px))
        max(10px, var(--coremap-map-safe-bottom, 0px))
        max(10px, var(--coremap-map-safe-left, 0px));
    background:
        radial-gradient(
            circle at 12% 8%,
            rgba(87, 105, 242, 0.20),
            transparent 42%
        ),
        radial-gradient(
            circle at 88% 82%,
            rgba(151, 69, 238, 0.16),
            transparent 44%
        ),
        rgba(2, 7, 17, 0.72);
    backdrop-filter: blur(22px) saturate(135%);
    -webkit-backdrop-filter: blur(22px) saturate(135%);
}

.coremap-my-reports-panel {
    position: relative;
    isolation: isolate;
    width: min(100%, 620px);
    max-height: var(
        --coremap-window-usable-height,
        calc(100dvh - 24px)
    );
    border: 1px solid rgba(154, 168, 255, 0.32);
    border-radius: 28px 28px 22px 22px;
    background:
        radial-gradient(
            circle at 22% -8%,
            rgba(94, 113, 245, 0.24),
            transparent 40%
        ),
        radial-gradient(
            circle at 100% 14%,
            rgba(151, 75, 238, 0.14),
            transparent 35%
        ),
        linear-gradient(
            155deg,
            rgba(22, 32, 53, 0.92),
            rgba(8, 15, 29, 0.95)
        );
    box-shadow:
        0 30px 90px rgba(0, 0, 0, 0.65),
        0 0 0 1px rgba(83, 99, 209, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.11),
        inset 0 -1px 0 rgba(255, 255, 255, 0.025);
    backdrop-filter: blur(28px) saturate(125%);
    -webkit-backdrop-filter: blur(28px) saturate(125%);
    transform: translate3d(0, 28px, 0) scale(0.985);
    transition:
        opacity 180ms ease,
        transform 240ms cubic-bezier(0.2, 0.85, 0.25, 1);
}

.coremap-my-reports-header {
    position: relative;
    z-index: 4;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    align-items: center;
    gap: 13px;
    padding: 17px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(
        180deg,
        rgba(119, 132, 242, 0.10),
        transparent
    );
}

.coremap-my-reports-header::before {
    content: "";
    display: block;
    width: 52px;
    height: 52px;
    border: 1px solid rgba(196, 203, 255, 0.26);
    border-radius: 17px;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h8l4 4v14H7z'/%3E%3Cpath d='M15 3v5h5M10 12h6M10 16h6'/%3E%3C/svg%3E") center / 25px no-repeat,
        linear-gradient(145deg, #6678ff, #9047e8);
    box-shadow:
        0 12px 30px rgba(93, 92, 235, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.coremap-my-reports-heading {
    min-width: 0;
}

.coremap-my-reports-title {
    font-size: 24px;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -0.025em;
}

.coremap-my-reports-subtitle {
    margin-top: 6px;
    color: #98a4bb;
    font-size: 11px;
    font-weight: 650;
    line-height: 1.3;
}

.coremap-my-reports-header-actions {
    gap: 8px;
}

body .coremap-my-reports-icon-button {
    display: grid;
    place-items: center;
    flex: 0 0 50px;
    width: 50px;
    min-width: 50px;
    height: 50px;
    min-height: 50px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.07);
    color: #e8ecf6;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 8px 22px rgba(0, 0, 0, 0.18);
    -webkit-tap-highlight-color: transparent;
    transition:
        border-color 150ms ease,
        background 150ms ease,
        transform 120ms ease;
}

body .coremap-my-reports-icon-button:active {
    transform: scale(0.94);
}

.coremap-my-reports-filters {
    gap: 8px;
    margin: 12px 14px 0;
    padding: 5px;
    border: 1px solid rgba(170, 181, 255, 0.12);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.035);
}

.coremap-my-reports-filter {
    min-height: 39px;
    padding: 7px 12px;
    border-color: transparent;
    background: transparent;
}

.coremap-my-reports-filter.active {
    border-color: rgba(145, 160, 255, 0.38);
    background: linear-gradient(
        135deg,
        rgba(86, 106, 240, 0.90),
        rgba(127, 70, 224, 0.90)
    );
    color: #ffffff;
    box-shadow:
        0 8px 20px rgba(76, 78, 205, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.coremap-my-reports-body {
    padding: 14px;
    scrollbar-width: thin;
    scrollbar-color: rgba(132, 145, 235, 0.50) transparent;
}

.coremap-my-reports-body::-webkit-scrollbar {
    width: 4px;
}

.coremap-my-reports-body::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(132, 145, 235, 0.48);
}

.coremap-my-reports-reputation,
.coremap-my-report-card,
.coremap-my-reports-message,
.coremap-my-report-detail-item,
.coremap-my-report-detail-reason,
.coremap-my-report-detail-comment,
.coremap-my-report-merged-banner {
    border-color: rgba(170, 181, 255, 0.14);
    border-radius: 18px;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.058),
            rgba(255, 255, 255, 0.019)
        );
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 14px 34px rgba(0, 0, 0, 0.10);
}

.coremap-my-report-card {
    padding: 13px;
    transition:
        border-color 150ms ease,
        background 150ms ease,
        transform 120ms ease;
}

.coremap-my-report-card:active {
    border-color: rgba(151, 166, 255, 0.31);
    background: rgba(104, 120, 229, 0.085);
    transform: scale(0.992);
}

.coremap-my-report-thumbnail,
.coremap-my-report-detail-image-shell {
    border: 1px solid rgba(166, 180, 255, 0.12);
    background: rgba(5, 11, 23, 0.58);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.coremap-my-report-thumbnail {
    border-radius: 15px;
}

.coremap-my-report-status,
.coremap-my-report-confirmations,
.coremap-my-report-merged-link {
    border: 1px solid rgba(159, 173, 255, 0.15);
}

.coremap-my-report-detail-back,
.coremap-my-report-map-button {
    min-height: 48px;
    border-radius: 15px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

.coremap-my-report-detail-back {
    border-color: rgba(151, 166, 255, 0.23);
    background: rgba(97, 115, 226, 0.10);
}

.coremap-my-report-map-button {
    border-color: rgba(130, 145, 255, 0.52);
    background: linear-gradient(135deg, #5e72ee, #854ee2);
}

.coremap-my-report-image-tabs {
    border: 1px solid rgba(170, 181, 255, 0.12);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.035);
}

.coremap-my-report-image-tab.active {
    background: linear-gradient(135deg, #5e72ee, #854ee2);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

@media (max-width: 430px) {
.coremap-my-reports-modal {
        padding:
            calc(var(--coremap-window-safe-top, 0px) + 8px)
            max(8px, var(--coremap-map-safe-right, 0px))
            max(8px, var(--coremap-map-safe-bottom, 0px))
            max(8px, var(--coremap-map-safe-left, 0px));
    }

.coremap-my-reports-panel {
        width: 100%;
        max-height: var(
            --coremap-window-usable-height,
            calc(100dvh - 20px)
        );
        border-radius: 25px 25px 20px 20px;
    }

.coremap-my-reports-header {
        grid-template-columns: 46px minmax(0, 1fr) auto;
        gap: 10px;
        padding: 14px;
    }

.coremap-my-reports-header::before {
        width: 46px;
        height: 46px;
        border-radius: 15px;
        background-size: 23px, auto;
    }

.coremap-my-reports-title {
        font-size: 21px;
    }

body .coremap-my-reports-icon-button {
        flex-basis: 46px;
        width: 46px;
        min-width: 46px;
        height: 46px;
        min-height: 46px;
        border-radius: 15px;
    }

.coremap-my-reports-filters {
        margin: 10px 12px 0;
    }

.coremap-my-reports-body {
        padding: 12px;
    }
}

@media (max-width: 390px) {
.coremap-my-reports-header {
        grid-template-columns: 44px minmax(0, 1fr) auto;
        gap: 8px;
        padding: 12px;
    }

.coremap-my-reports-header::before {
        width: 44px;
        height: 44px;
    }

body .coremap-my-reports-icon-button {
        flex-basis: 42px;
        width: 42px;
        min-width: 42px;
        height: 42px;
        min-height: 42px;
        border-radius: 14px;
    }

.coremap-my-reports-subtitle {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
.coremap-my-reports-modal,
.coremap-my-reports-panel,
.coremap-my-report-card {
        transition-duration: 1ms !important;
    }
}

@supports not ((backdrop-filter: blur(2px))) {
.coremap-my-reports-modal {
        background: rgba(2, 7, 17, 0.92);
    }

.coremap-my-reports-panel {
        background: #0d1627;
    }
}

/* coremap-confirmations.css */
.coremap-confirmation-capable {
    position: relative !important;
    overflow: visible !important;
}

.maplibregl-marker.coremap-confirmation-capable {
    position: absolute !important;
}

.coremap-confirmation-marker-badge {
    position: absolute;
    top: -12px;
    right: -12px;
    z-index: 20;

    display: none;
    align-items: center;
    justify-content: center;

    min-width: 24px;
    height: 24px;
    padding: 0 6px;

    box-sizing: border-box;

    border:
        2px solid rgba(
            255,
            255,
            255,
            0.95
        );

    border-radius: 999px;

    background:
        linear-gradient(
            135deg,
            #546cf3,
            #7654e6
        );

    color: #ffffff;

    font-size: 11px;
    font-weight: 900;
    line-height: 20px;

    box-shadow:
        0 5px 14px
        rgba(30, 39, 110, 0.48);

    pointer-events: none;
}

.coremap-confirmation-marker-badge.visible {
    display: flex;
}

.coremap-report-confirmations {
    display: grid;
    gap: 5px;

    margin: 12px 0;
    padding: 12px 13px;

    border:
        1px solid rgba(
            91,
            113,
            244,
            0.25
        );

    border-radius: 14px;

    background:
        linear-gradient(
            135deg,
            rgba(72, 94, 221, 0.13),
            rgba(100, 73, 203, 0.08)
        );
}

.coremap-report-confirmations-main {
    color: #ffffff;

    font-size: 13px;
    font-weight: 900;
    line-height: 1.35;
}

.coremap-report-confirmations-time {
    color: #9fa9bb;

    font-size: 11px;
    font-weight: 650;
    line-height: 1.4;
}

/* coremap-map-layers.css */
.coremap-map-shell {
    position: relative !important;
    isolation: isolate !important;

    /*
     * Маркеры не должны выходить за границы карты
     * и перекрывать элементы ниже или выше неё.
     */
    overflow: hidden !important;
}

.coremap-map-shell
.coremap-map-marker-wrapper {
    z-index: 20 !important;
}

.coremap-map-shell
.coremap-map-marker-item {
    z-index: 20 !important;
}

.coremap-map-shell
.coremap-confirmation-marker-badge {
    z-index: 25 !important;
}

.coremap-map-shell
.coremap-map-ui-element,
.coremap-map-shell
.coremap-map-ui-wrapper {
    z-index: 5000 !important;
}

.coremap-map-shell
.coremap-map-location-notice,
.coremap-map-shell
.coremap-geolocation-status,
.coremap-map-shell
.coremap-location-status {
    z-index: 5200 !important;

    /*
     * Метки не должны перехватывать нажатия
     * в области информационной надписи.
     */
    pointer-events: none;
}

.coremap-map-shell
.maplibregl-ctrl-top-left,
.coremap-map-shell
.maplibregl-ctrl-top-right,
.coremap-map-shell
.maplibregl-ctrl-bottom-left,
.coremap-map-shell
.maplibregl-ctrl-bottom-right {
    z-index: 5050 !important;
}

.coremap-map-shell
[class*="copyright"],
.coremap-map-shell
[class*="attribution"],
.coremap-map-shell
[class*="logo"] {
    z-index: 4900 !important;
}

#coreMapLocationButton,
#coreMapGeolocationButton,
#coreMapManualReportButton,
#coreMapMyReportsButton,
#coreMapMapCenterButton {
    z-index: 5100 !important;
}

/* coremap-refresh-button-fix.css */
.coremap-refresh-button-fixed {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.coremap-refresh-cw-icon {
    display: block;

    width: 25px;
    height: 25px;

    overflow: visible;

    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;

    transform-origin: 50% 50%;
}

.coremap-refresh-button-fixed.is-clockwise-spinning
.coremap-refresh-cw-icon {
    animation:
        coremap-refresh-clockwise
        650ms
        cubic-bezier(
            0.4,
            0,
            0.2,
            1
        )
        both;
}

/*
 * Положительные 360 градусов —
 * вращение по часовой стрелке.
 */
@keyframes coremap-refresh-clockwise {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@media (
    prefers-reduced-motion:
    reduce
) {
.coremap-refresh-button-fixed
    .coremap-refresh-cw-icon {
        animation: none !important;
    }
}

/* coremap-camera-only.css */
html.coremap-camera-open,
html.coremap-camera-open body {
    overflow: hidden !important;
}

.coremap-camera-overlay {
    position: fixed;
    inset: 0;
    z-index: 30000;

    display: none;
    align-items: stretch;
    justify-content: center;

    padding:
        max(10px, env(safe-area-inset-top))
        10px
        max(10px, env(safe-area-inset-bottom));

    box-sizing: border-box;

    background:
        rgba(5, 8, 14, 0.98);
}

.coremap-camera-overlay.visible {
    display: flex;
}

.coremap-camera-panel {
    display: grid;
    grid-template-rows:
        auto
        minmax(0, 1fr)
        auto
        auto
        auto;
    gap: 9px;

    width: min(100%, 720px);
    min-height: 0;

    color: #ffffff;
}

.coremap-camera-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;

    padding: 4px 2px;
}

.coremap-camera-header > div {
    display: grid;
    gap: 3px;
}

.coremap-camera-header strong {
    font-size: 15px;
}

.coremap-camera-header span {
    color: #8893a5;
    font-size: 10px;
}

.coremap-camera-header button {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;
    padding: 0;

    border: 0;
    border-radius: 12px;

    background:
        rgba(255, 255, 255, 0.08);

    color: #ffffff;
    font-size: 25px;
}

.coremap-camera-preview {
    --coremap-camera-frame-block-inset: 14%;
    --coremap-camera-frame-inline-inset: 8%;

    position: relative;

    min-height: 280px;
    overflow: hidden;

    touch-action: none;

    border-radius: 18px;

    background: #000000;
}

.coremap-camera-preview video {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.coremap-camera-frame {
    position: absolute;
    inset:
        var(--coremap-camera-frame-block-inset)
        var(--coremap-camera-frame-inline-inset);

    border: 2px solid
        rgba(255, 255, 255, 0.65);

    border-radius: 16px;

    box-shadow:
        0 0 0 9999px
        rgba(0, 0, 0, 0.17);

    pointer-events: none;
}

.coremap-camera-zoom {
    position: absolute;
    right: 12px;
    bottom: 12px;
    left: 12px;
    z-index: 4;

    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) 44px;
    align-items: center;
    gap: 9px;

    min-height: 40px;
    padding: 6px 10px;

    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 12px;

    background: rgba(8, 12, 20, 0.74);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);

    box-sizing: border-box;
}

.coremap-camera-zoom[hidden] {
    display: none !important;
}

.coremap-camera-zoom span {
    color: #ffffff;
    font-size: 11px;
    font-variant-numeric: tabular-nums;
    font-weight: 800;
    text-align: center;
}

.coremap-camera-zoom span:last-child {
    color: #9da8b8;
    font-size: 10px;
}

.coremap-camera-zoom input[type="range"] {
    width: 100%;
    height: 28px;
    margin: 0;

    accent-color: #6d69ff;
    touch-action: pan-x;
}

.coremap-camera-message {
    position: absolute;
    inset: 0;
    z-index: 3;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    background:
        rgba(5, 8, 14, 0.78);

    color: #dce2ec;

    font-size: 12px;
    text-align: center;

    box-sizing: border-box;
    overflow: hidden;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

.coremap-camera-message-text {
    position: absolute;
    inset:
        calc(
            var(--coremap-camera-frame-block-inset)
            + 12px
        )
        calc(
            var(--coremap-camera-frame-inline-inset)
            + 12px
        );

    display: flex;
    align-items: center;
    justify-content: center;

    min-width: 0;
    max-width: 100%;
    max-height: 100%;
    overflow: auto;

    box-sizing: border-box;

    line-height: 1.45;
    overflow-wrap: anywhere;
    white-space: normal;
    word-break: break-word;
}

html.coremap-android
.coremap-camera-message-text {
    inset:
        calc(
            var(--coremap-camera-frame-block-inset)
            + 8px
        )
        calc(
            var(--coremap-camera-frame-inline-inset)
            + 8px
        );

    font-size: clamp(10px, 3.2vw, 12px);
    line-height: 1.4;
}

.coremap-camera-message.hidden {
    display: none;
}

.coremap-camera-message.error {
    color: #ff919c;
}

.coremap-camera-signals {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.coremap-camera-signals > div {
    min-width: 0;
    padding: 8px 9px;

    border-radius: 10px;

    background:
        rgba(255, 255, 255, 0.055);

    color: #8994a5;

    font-size: 9px;
    text-align: center;
}

.coremap-camera-signals > div.success {
    background:
        rgba(44, 189, 113, 0.12);

    color: #76dfa8;
}

.coremap-camera-signals > div.warning {
    background:
        rgba(224, 145, 48, 0.13);

    color: #ffc06a;
}

.coremap-camera-signals > div.error {
    background:
        rgba(218, 63, 81, 0.13);

    color: #ff909c;
}

.coremap-camera-hint {
    color: #8994a5;
    font-size: 10px;
    text-align: center;
}

.coremap-camera-actions {
    display: grid;
    grid-template-columns:
        minmax(82px, 1fr)
        88px
        minmax(82px, 1fr);
    gap: 14px;
    align-items: center;

    padding: 5px 0;
}

.coremap-camera-actions button.secondary {
    min-height: 44px;

    border: 0;
    border-radius: 13px;

    background:
        rgba(255, 255, 255, 0.075);

    color: #c2cad6;

    font-size: 11px;
    font-weight: 800;
}

.coremap-camera-actions button.capture {
    display: flex !important;
    flex: 0 0 76px !important;
    align-items: center !important;
    justify-content: center !important;

    justify-self: center !important;

    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;

    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 4px solid #ffffff !important;
    border-radius: 50% !important;

    box-sizing: border-box !important;
    overflow: hidden !important;

    background:
        rgba(255, 255, 255, 0.13) !important;

    appearance: none !important;
    -webkit-appearance: none !important;
}

.coremap-camera-actions
button.capture > span {
    display: block !important;
    flex: 0 0 56px !important;

    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;

    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;

    aspect-ratio: 1 / 1 !important;

    margin: 0 !important;
    padding: 0 !important;

    border-radius: 50% !important;

    background:
        #ffffff !important;

    box-sizing: border-box !important;

    transition:
        transform 100ms ease;
}

.coremap-camera-actions
button.capture:disabled {
    opacity: 0.35;
}

.coremap-camera-actions
button.capture:active:not(:disabled)
> span {
    transform: scale(0.86);
}

/* coremap-capture-verification.css */
.coremap-capture-verification {
    display: grid;
    gap: 10px;

    margin-bottom: 12px;
    padding: 13px;

    border: 1px solid
        rgba(255, 255, 255, 0.08);

    border-radius: 14px;

    background:
        rgba(255, 255, 255, 0.035);
}

.coremap-capture-verification.verified {
    border-color:
        rgba(54, 203, 129, 0.28);

    background:
        rgba(43, 176, 109, 0.08);
}

.coremap-capture-verification.review {
    border-color:
        rgba(229, 153, 51, 0.30);

    background:
        rgba(211, 131, 37, 0.08);
}

.coremap-capture-verification.loading,
.coremap-capture-verification.error {
    color: #8d97a8;
    font-size: 11px;
    text-align: center;
}

.coremap-capture-verification.error {
    color: #ff8f9a;
}

.coremap-capture-verification-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
}

.coremap-capture-verification-header > div {
    display: grid;
    gap: 3px;
}

.coremap-capture-verification-header
> div > span {
    color: #8490a2;
    font-size: 9px;
    font-weight: 850;
    text-transform: uppercase;
}

.coremap-capture-verification-header strong {
    color: #ffffff;
    font-size: 13px;
}

.coremap-capture-verification-header
> span {
    padding: 5px 7px;

    border-radius: 8px;

    background:
        rgba(255, 255, 255, 0.06);

    color: #aab3c0;

    font-size: 8px;
    font-weight: 900;
}

.coremap-capture-verification.verified
.coremap-capture-verification-header
> span {
    color: #72dfa5;
}

.coremap-capture-verification.review
.coremap-capture-verification-header
> span {
    color: #ffc06a;
}

.coremap-capture-verification-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.coremap-capture-verification-grid > div {
    display: grid;
    gap: 3px;

    min-width: 0;
    padding: 8px;

    border-radius: 9px;

    background:
        rgba(255, 255, 255, 0.035);
}

.coremap-capture-verification-grid span {
    color: #7e899a;
    font-size: 8px;
}

.coremap-capture-verification-grid strong {
    overflow: hidden;

    color: #dde2ea;

    font-size: 10px;
    text-overflow: ellipsis;
}

.coremap-capture-verification-reasons {
    display: grid;
    gap: 5px;
}

.coremap-capture-verification-reasons > div {
    padding: 7px 8px;

    border-radius: 8px;

    background:
        rgba(224, 73, 88, 0.10);

    color: #ff939d;
    font-size: 9px;
}

.coremap-capture-verification-success {
    color: #70dda3;
    font-size: 9px;
}

/* coremap-upload-compact.css */
#coreMapUploadModal.coremap-upload-compact {
    padding:
        max(6px, env(safe-area-inset-top))
        8px
        max(6px, env(safe-area-inset-bottom))
        !important;

    box-sizing: border-box !important;
}

#coreMapUploadModal.coremap-upload-compact
.coremap-upload-dialog {
    display: flex !important;
    flex-direction: column !important;

    width: min(100%, 620px) !important;
    max-height:
        calc(
            100dvh
            - max(12px, env(safe-area-inset-top))
            - max(12px, env(safe-area-inset-bottom))
        ) !important;

    margin: auto !important;
    overflow: hidden !important;

    box-sizing: border-box !important;
}

#coreMapUploadModal.coremap-upload-compact
.coremap-upload-header {
    flex: 0 0 auto !important;

    min-height: 34px !important;

    padding:
        7px
        12px
        5px !important;

    border-bottom: 0 !important;
}

#coreMapUploadModal.coremap-upload-compact
.coremap-upload-header h1,
#coreMapUploadModal.coremap-upload-compact
.coremap-upload-header h2,
#coreMapUploadModal.coremap-upload-compact
.coremap-upload-title {
    margin: 0 !important;

    font-size: 13px !important;
    line-height: 20px !important;
    font-weight: 850 !important;
}

#coreMapUploadModal.coremap-upload-compact
.coremap-upload-header p,
#coreMapUploadModal.coremap-upload-compact
.coremap-upload-subtitle {
    display: none !important;
}

#coreMapUploadModal.coremap-upload-compact
.coremap-upload-header-actions {
    display: none !important;
}

#coreMapUploadModal.coremap-upload-compact
.coremap-upload-content,
#coreMapUploadModal.coremap-upload-compact
.coremap-upload-body {
    flex: 1 1 auto !important;

    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;

    min-height: 0 !important;

    padding:
        4px
        10px
        8px !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;

    box-sizing: border-box !important;

    overscroll-behavior: contain;
}

.coremap-upload-compact-preview-shell {
    position: relative !important;

    flex: 1 1 auto !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-height: 170px !important;
    max-height:
        min(
            48dvh,
            430px
        ) !important;

    overflow: hidden !important;

    border-radius: 14px !important;

    background: #080b12 !important;
}

.coremap-upload-compact-preview-shell
#coreMapUploadPreview {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    min-height: 170px !important;
    max-height:
        min(
            48dvh,
            430px
        ) !important;

    margin: 0 !important;

    object-fit: contain !important;

    border-radius: 14px !important;

    background: #080b12 !important;
}

#coreMapUploadClose.coremap-upload-close-on-photo {
    position: absolute !important;

    top: 8px !important;
    right: 8px !important;
    z-index: 20 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;

    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;

    margin: 0 !important;
    padding: 0 !important;

    border:
        1px solid
        rgba(255, 255, 255, 0.17)
        !important;

    border-radius: 50% !important;

    background:
        rgba(8, 11, 18, 0.78)
        !important;

    color: #ffffff !important;

    box-shadow:
        0 4px 16px
        rgba(0, 0, 0, 0.32)
        !important;

    font-size: 23px !important;
    line-height: 1 !important;

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);

    appearance: none !important;
    -webkit-appearance: none !important;
}

#coreMapUploadModal.coremap-upload-compact
.coremap-upload-info {
    flex: 0 0 auto !important;

    display: grid !important;
    gap: 4px !important;

    padding: 7px 9px !important;

    border-radius: 10px !important;
}

#coreMapUploadModal.coremap-upload-compact
#coreMapUploadFileInfo,
#coreMapUploadModal.coremap-upload-compact
#coreMapUploadLocation {
    margin: 0 !important;

    font-size: 9px !important;
    line-height: 13px !important;
}

#coreMapUploadModal.coremap-upload-compact
.coremap-upload-progress-shell:not(.visible),
#coreMapUploadModal.coremap-upload-compact
.coremap-upload-message:not(.visible) {
    display: none !important;
}

#coreMapUploadModal.coremap-upload-compact
.coremap-upload-message.visible {
    flex: 0 0 auto !important;

    margin: 0 !important;
    padding: 7px 9px !important;

    font-size: 9px !important;
    line-height: 13px !important;
}

#coreMapUploadModal.coremap-upload-compact
.coremap-upload-actions {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 15 !important;

    flex: 0 0 auto !important;

    display: grid !important;
    grid-template-columns:
        minmax(88px, 0.8fr)
        minmax(0, 1.4fr)
        !important;

    gap: 8px !important;

    width: 100% !important;

    margin: 0 !important;

    padding:
        8px
        0
        max(2px, env(safe-area-inset-bottom))
        !important;

    box-sizing: border-box !important;

    background:
        linear-gradient(
            180deg,
            rgba(14, 18, 29, 0),
            rgba(14, 18, 29, 0.98) 24%
        )
        !important;
}

#coreMapUploadModal.coremap-upload-compact
.coremap-upload-actions button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    max-height: 48px !important;

    padding:
        8px
        10px !important;

    font-size: 10px !important;
    line-height: 13px !important;

    box-sizing: border-box !important;
}

/*
 * Низкие экраны Android.
 */
@media (max-height: 720px) {
#coreMapUploadModal.coremap-upload-compact
    .coremap-upload-header {
        min-height: 29px !important;

        padding:
            4px
            10px
            3px !important;
    }

#coreMapUploadModal.coremap-upload-compact
    .coremap-upload-header h1,
#coreMapUploadModal.coremap-upload-compact
    .coremap-upload-header h2,
#coreMapUploadModal.coremap-upload-compact
    .coremap-upload-title {
        font-size: 11px !important;
        line-height: 18px !important;
    }

.coremap-upload-compact-preview-shell,
.coremap-upload-compact-preview-shell
    #coreMapUploadPreview {
        min-height: 145px !important;

        max-height:
            min(
                42dvh,
                340px
            ) !important;
    }

#coreMapUploadModal.coremap-upload-compact
    .coremap-upload-info {
        padding: 5px 8px !important;
    }

#coreMapUploadModal.coremap-upload-compact
    .coremap-upload-actions {
        padding-top: 5px !important;
    }
}

#coreMapUploadModal.coremap-upload-compact
.coremap-upload-header {
    display: none !important;
}

#coreMapUploadModal.coremap-upload-compact
.coremap-upload-content,
#coreMapUploadModal.coremap-upload-compact
.coremap-upload-body {
    padding-top: 6px !important;
}

#coreMapUploadModal.coremap-upload-compact
.coremap-upload-actions {
    background: transparent !important;
    background-image: none !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;

    padding:
        6px
        0
        max(3px, env(safe-area-inset-bottom))
        !important;
}

#coreMapUploadModal.coremap-upload-compact
.coremap-upload-actions::before,
#coreMapUploadModal.coremap-upload-compact
.coremap-upload-actions::after {
    display: none !important;
    content: none !important;
}

#coreMapUploadModal.coremap-upload-compact
#coreMapUploadCancel {
    border:
        1px solid
        rgba(255, 255, 255, 0.09)
        !important;

    border-radius: 13px !important;

    background:
        rgba(43, 49, 63, 0.98)
        !important;

    background-image: none !important;

    color: #d7dce5 !important;

    box-shadow: none !important;
}

#coreMapUploadModal.coremap-upload-compact
#coreMapUploadSubmit {
    border: 0 !important;
    border-radius: 13px !important;

    background:
        linear-gradient(
            135deg,
            #526bea,
            #6554dc
        )
        !important;

    color: #ffffff !important;

    box-shadow:
        0 7px 18px
        rgba(67, 82, 210, 0.25)
        !important;
}

#coreMapUploadModal.coremap-upload-compact
#coreMapUploadSubmit:disabled {
    background:
        rgba(72, 79, 96, 0.75)
        !important;

    color:
        rgba(255, 255, 255, 0.48)
        !important;

    box-shadow: none !important;
}

/* coremap-upload-scroll-lock.css */
html.coremap-upload-scroll-locked {
    overflow: hidden !important;
    overscroll-behavior: none !important;
}

body.coremap-upload-scroll-locked {
    overflow: hidden !important;
    overscroll-behavior: none !important;
}

#coreMapUploadModal
.coremap-upload-compact-preview-shell,
#coreMapUploadModal
#coreMapUploadPreview {
    touch-action: none !important;

    overscroll-behavior: none !important;

    user-select: none !important;
    -webkit-user-select: none !important;

    -webkit-user-drag: none !important;
}

#coreMapUploadModal {
    overscroll-behavior: contain !important;
}

#coreMapUploadModal
.coremap-upload-content,
#coreMapUploadModal
.coremap-upload-body {
    overscroll-behavior-y: contain !important;
    -webkit-overflow-scrolling: touch;
}

#coreMapUploadModal button {
    touch-action: manipulation !important;
}

/* coremap-departure-reports.css */
.coremap-departure-report {
    display: grid;
    gap: 10px;

    margin-top: 12px;
    padding: 12px;

    border: 1px solid
        rgba(255, 255, 255, 0.08);

    border-radius: 14px;

    background:
        rgba(255, 255, 255, 0.035);

    color: #8d97a7;
    font-size: 10px;
}

.coremap-departure-report.state-signal {
    border-color:
        rgba(239, 169, 68, 0.28);
}

.coremap-departure-report.state-suspicious {
    border-color:
        rgba(236, 103, 75, 0.36);

    background:
        rgba(206, 74, 48, 0.08);
}

.coremap-departure-report.state-hidden {
    border-color:
        rgba(226, 62, 82, 0.40);

    background:
        rgba(205, 47, 67, 0.10);
}

.coremap-departure-heading {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.coremap-departure-heading > div {
    display: grid;
    gap: 4px;
}

.coremap-departure-heading strong {
    color: #f0f2f6;
    font-size: 12px;
}

.coremap-departure-heading span {
    color: #8490a1;
    font-size: 9px;
}

.coremap-departure-counter {
    flex: 0 0 auto;

    padding: 5px 8px;

    border-radius: 9px;

    background:
        rgba(255, 255, 255, 0.06);

    color: #d5dae2 !important;
    font-weight: 900;
}

.coremap-departure-progress {
    height: 6px;
    overflow: hidden;

    border-radius: 999px;

    background:
        rgba(255, 255, 255, 0.06);
}

.coremap-departure-progress span {
    display: block;
    height: 100%;

    border-radius: inherit;

    background:
        linear-gradient(
            90deg,
            #eda44c,
            #eb6173
        );

    transition:
        width 180ms ease;
}

.coremap-departure-thresholds {
    display: flex;
    justify-content: space-between;
    gap: 5px;

    color: #717c8d;
    font-size: 8px;
}

.coremap-departure-voted {
    padding: 8px;

    border-radius: 9px;

    background:
        rgba(88, 111, 225, 0.10);

    color: #aebcff;
    text-align: center;
}

#coreMapDepartureVote {
    width: 100%;
    min-height: 42px;

    border: 0;
    border-radius: 11px;

    background:
        linear-gradient(
            135deg,
            #d45c45,
            #d74462
        );

    color: #ffffff;

    font-size: 11px;
    font-weight: 850;
}

#coreMapDepartureVote:disabled {
    opacity: 0.55;
}

.coremap-departure-error {
    color: #ff8d99;
    text-align: center;
}

.coremap-departure-counter {
    flex: 0 0 auto !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 48px !important;
    height: 28px !important;

    padding: 0 10px !important;
    margin: 0 !important;

    border:
        1px solid
        rgba(255, 255, 255, 0.08)
        !important;

    border-radius: 999px !important;

    background:
        rgba(255, 255, 255, 0.065)
        !important;

    color: #ffffff !important;

    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;

    font-variant-numeric:
        tabular-nums !important;

    box-sizing: border-box !important;
    white-space: nowrap !important;
}

.coremap-departure-heading {
    align-items: flex-start !important;
}

#coreMapDepartureVote:disabled {
    opacity: 0.58 !important;

    background:
        rgba(83, 91, 109, 0.65)
        !important;

    color:
        rgba(255, 255, 255, 0.65)
        !important;

    box-shadow: none !important;
}

/* coremap-movement-risk.css */
.coremap-movement-risk {
    display: grid;
    gap: 9px;

    margin-bottom: 12px;
    padding: 12px;

    border: 1px solid
        rgba(255, 255, 255, 0.08);

    border-radius: 13px;

    background:
        rgba(255, 255, 255, 0.035);
}

.coremap-movement-risk.suspicious {
    border-color:
        rgba(232, 75, 91, 0.35);

    background:
        rgba(204, 52, 70, 0.09);
}

.coremap-movement-risk > div:first-child {
    display: flex;
    justify-content: space-between;
    gap: 8px;
}

.coremap-movement-risk strong {
    color: #f0f2f6;
    font-size: 11px;
}

.coremap-movement-risk > div:first-child span {
    color: #6fdca2;
    font-size: 8px;
    font-weight: 900;
}

.coremap-movement-risk.suspicious
> div:first-child span {
    color: #ff8e99;
}

.coremap-movement-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.coremap-movement-grid > div {
    display: grid;
    gap: 3px;

    padding: 8px;

    border-radius: 9px;

    background:
        rgba(255, 255, 255, 0.035);
}

.coremap-movement-grid span {
    color: #7c8798;
    font-size: 8px;
}

.coremap-movement-grid strong {
    color: #dce1e8;
    font-size: 10px;
}

.coremap-movement-reasons {
    display: grid;
    gap: 5px;
}

.coremap-movement-reasons > div {
    padding: 7px;

    border-radius: 8px;

    background:
        rgba(220, 63, 80, 0.11);

    color: #ff929d;
    font-size: 9px;
}

.coremap-movement-first {
    color: #7f8a9a;
    font-size: 9px;
}

/* coremap-modal-backdrop.css */
.coremap-my-reports-modal,
.coremap-upload-modal,
.coremap-camera-overlay,
.coremap-report-card-backdrop {
    background:
        rgba(2, 6, 14, 0.72) !important;
    backdrop-filter:
        blur(16px)
        saturate(1.14);
    -webkit-backdrop-filter:
        blur(16px)
        saturate(1.14);
}

.coremap-my-reports-panel,
.coremap-upload-dialog,
.coremap-camera-panel,
.coremap-report-card {
    box-shadow:
        0 28px 90px rgba(0, 0, 0, 0.62),
        0 0 0 1px rgba(255, 255, 255, 0.08);
}

/* coremap-edge-status.css */
.coremap-edge-status {
    position: absolute;
    top: calc(var(--coremap-map-safe-top, 0px) + 66px);
    left: 50%;
    z-index: 7000;
    box-sizing: border-box;
    width: max-content;
    max-width: min(560px, calc(100% - 112px));
    margin: 0;
    padding: 9px 13px;
    border: 1px solid rgba(251, 191, 36, 0.3);
    border-radius: 13px;
    background: rgba(20, 27, 40, 0.94);
    color: #f1dfb9;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.22);
    font: inherit;
    font-size: 12px;
    line-height: 1.4;
    text-align: center;
    white-space: pre-line;
    overflow-wrap: anywhere;
    transform: translateX(-50%);
    pointer-events: none;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.coremap-edge-status[hidden] {
    display: none !important;
}

@media (max-width: 600px) {
.coremap-edge-status {
        max-width: calc(100% - 96px);
        padding: 7px 9px;
        font-size: 11px;
    }
}

/* coremap-edge-to-edge.css */
:root {
    --coremap-native-toolbar-safe-top: 0px;
    --coremap-map-safe-top: max(
        env(safe-area-inset-top, 0px),
        var(--tg-safe-area-inset-top, 0px),
        var(--tg-content-safe-area-inset-top, 0px),
        var(--coremap-device-safe-top, 0px),
        var(--coremap-map-ui-safe-top, 0px),
        var(--coremap-native-toolbar-safe-top, 0px)
    );
    --coremap-map-safe-right: max(
        env(safe-area-inset-right, 0px),
        var(--tg-safe-area-inset-right, 0px),
        var(--tg-content-safe-area-inset-right, 0px),
        var(--coremap-device-safe-right, 0px),
        var(--coremap-map-ui-safe-right, 0px)
    );
    --coremap-map-safe-bottom: max(
        env(safe-area-inset-bottom, 0px),
        var(--tg-safe-area-inset-bottom, 0px),
        var(--tg-content-safe-area-inset-bottom, 0px),
        var(--coremap-device-safe-bottom, 0px),
        var(--coremap-map-ui-safe-bottom, 0px)
    );
    --coremap-map-safe-left: max(
        env(safe-area-inset-left, 0px),
        var(--tg-safe-area-inset-left, 0px),
        var(--tg-content-safe-area-inset-left, 0px),
        var(--coremap-device-safe-left, 0px),
        var(--coremap-map-ui-safe-left, 0px)
    );
    --coremap-user-profile-cta-clearance: 84px;
    --coremap-staff-dock-clearance: 84px;
    --coremap-window-safe-top: var(--coremap-map-safe-top);
    --coremap-window-usable-height: calc(
        var(--tg-viewport-stable-height, 100dvh)
        - var(--coremap-window-safe-top)
        - var(--coremap-map-safe-bottom)
        - 16px
    );
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen {
    --coremap-native-toolbar-safe-top: 92px;
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen[
    data-coremap-telegram-platform="android"
] {
    --coremap-native-toolbar-safe-top: 104px;
}

@media (orientation: landscape) {
html.coremap-telegram-mobile.coremap-telegram-fullscreen {
        --coremap-native-toolbar-safe-top: 64px;
    }

html.coremap-telegram-mobile.coremap-telegram-fullscreen[
        data-coremap-telegram-platform="android"
    ] {
        --coremap-native-toolbar-safe-top: 72px;
    }
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen,
html.coremap-telegram-mobile.coremap-telegram-fullscreen body {
    background: #0b1220;
}

html.coremap-telegram-mobile,
html.coremap-telegram-mobile body {
    overscroll-behavior-x: none;
    overscroll-behavior-y: none;
}

html.coremap-telegram-mobile body {
    touch-action: manipulation;
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen body {
    padding-top: 0;
    padding-right: 0;
    padding-left: 0;
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen .container {
    width: 100%;
    max-width: none;
    margin-top: 0;
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen
.coremap-map-card {
    position: relative;
    width: 100vw;
    max-width: none;
    margin-top: 0;
    margin-right: 0;
    margin-left: 0;
    border-radius: 0;
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen
.coremap-map-status {
    top: calc(var(--coremap-map-safe-top) + 12px);
    right: max(12px, var(--coremap-map-safe-right));
    left: max(12px, var(--coremap-map-safe-left));
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen
.coremap-map-shell .maplibregl-ctrl-top-left,
html.coremap-telegram-mobile.coremap-telegram-fullscreen
.coremap-map-shell .maplibregl-ctrl-top-right {
    top: calc(var(--coremap-map-safe-top) + 8px) !important;
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen
.coremap-map-shell .maplibregl-ctrl-top-left {
    left: var(--coremap-map-safe-left) !important;
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen
.coremap-map-shell .maplibregl-ctrl-top-right {
    right: var(--coremap-map-safe-right) !important;
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen
.coremap-location-button {
    left: max(16px, var(--coremap-map-safe-left));
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen
.coremap-camera-button {
    right: max(16px, var(--coremap-map-safe-right));
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen,
html.coremap-telegram-mobile.coremap-telegram-fullscreen body {
    width: 100%;
    height: var(--tg-viewport-stable-height, 100dvh);
    min-height: 100%;
    overflow: hidden;
    overscroll-behavior: none;
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen body {
    padding-bottom: 0;
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen .container,
html.coremap-telegram-mobile.coremap-telegram-fullscreen .coremap-map-card,
html.coremap-telegram-mobile.coremap-telegram-fullscreen .coremap-map-shell {
    height: var(--tg-viewport-stable-height, 100dvh);
    min-height: 0;
    max-height: none;
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen .coremap-map-card {
    margin-bottom: 0;
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen:is(
    [data-coremap-role="moderator"],
    [data-coremap-role="admin"],
    [data-coremap-role="superadmin"]
) .coremap-map-card > #coreMapTools {
    display: none !important;
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen[data-coremap-role="user"] #coreMapTools,
html.coremap-telegram-mobile.coremap-telegram-fullscreen[data-coremap-role="user"] #coreMapMyReportsLaunchRow {
    display: none !important;
}

.coremap-user-profile-cta {
    display: none;
}

.coremap-user-profile-cta[hidden] {
    display: none !important;
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen[data-coremap-role="user"]
#coreMapUserProfileButton.coremap-user-profile-cta {
    position: fixed;
    z-index: 9000;
    right: max(14px, var(--coremap-map-safe-right));
    bottom: max(12px, var(--coremap-map-safe-bottom));
    left: max(14px, var(--coremap-map-safe-left));
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-height: 56px;
    margin: 0;
    padding: 0 18px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 18px;
    background: var(--tg-theme-button-color, #5b68ef);
    color: var(--tg-theme-button-text-color, #ffffff);
    box-shadow: 0 9px 30px rgba(0, 0, 0, 0.42);
    font: inherit;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen[data-coremap-role="user"]
#coreMapUserProfileButton.coremap-user-profile-cta:active {
    transform: scale(0.98);
}

body.coremap-profile-open #coreMapUserProfileButton,
body.coremap-report-card-open #coreMapUserProfileButton,
html.coremap-my-reports-open #coreMapUserProfileButton {
    display: none !important;
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen[data-coremap-role="user"]
.coremap-location-button,
html.coremap-telegram-mobile.coremap-telegram-fullscreen[data-coremap-role="user"]
.coremap-camera-button,
html.coremap-telegram-mobile.coremap-telegram-fullscreen[data-coremap-role="user"]
.coremap-add-report-button {
    position: fixed;
    bottom: calc(
        max(12px, var(--coremap-map-safe-bottom))
        + var(--coremap-user-profile-cta-clearance)
    );
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen:is(
    [data-coremap-role="moderator"],
    [data-coremap-role="admin"],
    [data-coremap-role="superadmin"]
) :is(
    .coremap-location-button,
    .coremap-camera-button,
    .coremap-add-report-button
) {
    position: fixed;
    bottom: calc(
        max(12px, var(--coremap-map-safe-bottom))
        + var(--coremap-staff-dock-clearance)
    );
    transition:
        bottom 220ms cubic-bezier(0.2, 0.82, 0.24, 1),
        opacity 180ms ease;
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen :is(.coremap-profile-overlay,
.coremap-profile-prestige-overlay,
.coremap-my-reports-modal,
.coremap-territory-overlay,
.coremap-prestige-editor,
.coremap-upload-modal,
.coremap-camera-overlay,
.coremap-road-camera-sheet,
.coremap-reputation-marker-modal,
.coremap-road-alerts-modal) {
    padding-top: calc(
        var(--coremap-window-safe-top) + 8px
    ) !important;
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen
#coreMapUploadModal.coremap-upload-compact {
    padding-top: calc(
        var(--coremap-window-safe-top) + 8px
    ) !important;
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen :is(.coremap-profile-panel,
.coremap-profile-prestige-panel,
.coremap-my-reports-panel,
.coremap-territory-dialog,
.coremap-prestige-editor-dialog,
.coremap-upload-dialog,
.coremap-camera-panel,
.coremap-road-camera-card,
.coremap-reputation-marker-panel,
.coremap-road-alerts-panel) {
    max-height: var(--coremap-window-usable-height) !important;
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen :is(.coremap-territory-body) {
    max-height: var(--coremap-window-usable-height) !important;
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen
.coremap-report-card {
    --coremap-report-safe-top: var(--coremap-window-safe-top);
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen
.coremap-image-viewer-image-shell {
    padding-top: max(
        16px,
        calc(var(--coremap-window-safe-top) + 8px)
    ) !important;
}

html.coremap-telegram-mobile.coremap-telegram-fullscreen
.coremap-image-viewer-close {
    top: calc(
        var(--coremap-window-safe-top) + 12px
    ) !important;
    right: max(
        16px,
        var(--coremap-map-safe-right)
    ) !important;
}

/*
 * Telegram Desktop keeps the same map-first product shell as iPhone and
 * Android. Only the dimensions change: the map uses the whole desktop
 * viewport, while role actions stay in the centered glass dock.
 */
@media (min-width: 900px) {
html.coremap-desktop-layout,
html.coremap-desktop-layout body {
        width: 100%;
        height: 100vh;
        height: 100dvh;
        min-height: 100%;
        overflow: hidden;
        overscroll-behavior: none;
        background: #0b1220;
    }

html.coremap-desktop-layout body {
        padding: 0;
    }

html.coremap-desktop-layout .container,
html.coremap-desktop-layout .coremap-map-card,
html.coremap-desktop-layout .coremap-map-shell {
        width: 100vw;
        max-width: none;
        height: 100vh;
        height: 100dvh;
        min-height: 0;
        max-height: none;
        margin: 0;
    }

html.coremap-desktop-layout .container {
        max-width: none;
    }

html.coremap-desktop-layout .coremap-map-card {
        position: relative;
        padding: 0;
        border-radius: 0;
    }

html.coremap-desktop-layout .coremap-map-status {
        top: 18px;
        right: 84px;
        left: 18px;
    }

html.coremap-desktop-layout
    .coremap-map-card > #coreMapTools {
        display: none !important;
    }

html.coremap-desktop-layout[data-coremap-role="user"]
    #coreMapTools,
html.coremap-desktop-layout[data-coremap-role="user"]
    #coreMapMyReportsLaunchRow {
        display: none !important;
    }

html.coremap-desktop-layout[data-coremap-role="user"]
    #coreMapUserProfileButton.coremap-user-profile-cta {
        position: fixed;
        z-index: 9000;
        right: 24px;
        bottom: 24px;
        left: 24px;
        display: flex;
        align-items: center;
        justify-content: center;
        width: min(760px, calc(100vw - 48px));
        min-height: 58px;
        margin: 0 auto;
        padding: 0 18px;
        border: 1px solid rgba(255, 255, 255, 0.22);
        border-radius: 19px;
        background: var(--tg-theme-button-color, #5b68ef);
        color: var(--tg-theme-button-text-color, #ffffff);
        box-shadow:
            0 13px 36px rgba(0, 0, 0, 0.46),
            inset 0 1px 0 rgba(255, 255, 255, 0.17);
        font: inherit;
        font-size: 15px;
        font-weight: 800;
        cursor: pointer;
    }

html.coremap-desktop-layout[data-coremap-role="user"] :is(
        .coremap-location-button,
        .coremap-camera-button,
        .coremap-add-report-button
    ) {
        position: fixed;
        bottom: calc(24px + var(--coremap-user-profile-cta-clearance));
    }

html.coremap-desktop-layout:is(
        [data-coremap-role="moderator"],
        [data-coremap-role="admin"],
        [data-coremap-role="superadmin"]
    ) :is(
        .coremap-location-button,
        .coremap-camera-button,
        .coremap-add-report-button
    ) {
        position: fixed;
        bottom: calc(24px + var(--coremap-staff-dock-clearance));
        transition:
            bottom 220ms cubic-bezier(0.2, 0.82, 0.24, 1),
            opacity 180ms ease;
    }

html.coremap-desktop-layout .coremap-location-button {
        left: 24px;
    }

html.coremap-desktop-layout .coremap-camera-button {
        right: 24px;
    }
}

/* coremap-street-warning-card.css */
.coremap-street-card-overlay {
    position: fixed; inset: 0; z-index: 16000; display: flex; align-items: center; justify-content: center;
    padding: 16px; background: rgba(5, 10, 23, .56); backdrop-filter: blur(7px); box-sizing: border-box;
}

.coremap-street-card {
    width: min(100%, 440px); padding: 22px; box-sizing: border-box; color: #f6f7ff;
    background: linear-gradient(150deg, #252d4c, #111827 75%); border: 1px solid #ff536b55;
    border-radius: 26px; box-shadow: 0 24px 80px #0008; font-family: inherit;
    max-height: calc(100dvh - 32px); overflow-y: auto;
}

.coremap-street-card-header {display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 24px;}

.coremap-street-card-header > div {min-width: 0;}

.coremap-street-card-kicker {font-size: 10px; font-weight: 800; letter-spacing: .09em; color: #ff91a1; margin-bottom: 8px;}

.coremap-street-card-title {font-size: 23px; line-height: 1.2; font-weight: 800; margin: 0; overflow-wrap: anywhere;}

.coremap-street-card-close {
    width: 44px; height: 44px; min-height: 44px; flex: 0 0 44px; margin: 0; padding: 0; box-sizing: border-box;
    display: grid; place-items: center; line-height: 1; border-radius: 14px; border: 1px solid #a6b1d02b;
    background: #ffffff08; color: #dbe1f3; cursor: pointer;
}
.coremap-street-card-close > svg {display: block; width: 20px; height: 20px; pointer-events: none;}

.coremap-street-card-lifetime,
.coremap-street-card-votes {display: flex; justify-content: space-between; align-items: center; gap: 14px;}

.coremap-street-card-lifetime {padding: 17px 16px; margin-bottom: 12px; border: 1px solid #a6b1d023; background: #ffffff05; border-radius: 17px;}

.coremap-street-card-muted {font-size: 13px; line-height: 1.35; color: #aebad1;}

.coremap-street-card-time {font-size: 25px; line-height: 1.2; color: #ffb4be; font-variant-numeric: tabular-nums; white-space: nowrap;}

.coremap-street-card-votes {padding: 0 4px;}

.coremap-street-card-count {font-size: 15px; background: #ffffff0a; border: 1px solid #a6b1d02b; border-radius: 11px; padding: 6px 10px; white-space: nowrap; font-variant-numeric: tabular-nums;}

.coremap-street-card-message {min-height: 36px; margin: 19px 4px; color: #aebad1; font-size: 13px; line-height: 1.4;}

.coremap-street-card-vote {width: 100%; min-height: 52px; border: 1px solid #ffb5bf33; border-radius: 16px; background: linear-gradient(110deg, #fd4964, #df3559); color: #fff; font-size: 16px; font-weight: 800; font-family: inherit; cursor: pointer;}

.coremap-street-card-vote:disabled {background: #ffffff09; border-color: #a6b1d020; color: #aebad1; cursor: default;}

.coremap-street-card button:focus-visible {outline: 2px solid #bcb1ff; outline-offset: 3px;}

@media (max-width: 560px) {
.coremap-street-card-overlay {align-items: flex-end; padding: 12px 12px max(12px, env(safe-area-inset-bottom));}

.coremap-street-card {padding: 20px; border-radius: 25px;}

.coremap-street-card-title {font-size: 22px;}
}

.coremap-street-card-decision {width: 100%; min-height: 46px; margin-bottom: 12px; padding: 10px 14px;
    border: 1px solid #a79aff55; border-radius: 14px; background: #8b78f71a; color: #d5cdff;
    font-family: inherit; font-size: 13px; font-weight: 700; line-height: 1.4; cursor: pointer; overflow-wrap: anywhere;}

.coremap-street-card-decision[hidden] {display: none;}

.coremap-street-card-decision:disabled {opacity: .65; cursor: wait;}


.coremap-street-card-remove {width: 100%; min-height: 46px; margin-top: 12px; padding: 10px 14px;

    border: 1px solid #ff91a155; border-radius: 14px; background: #ff496414; color: #ffb4be;

    font-family: inherit; font-size: 14px; font-weight: 700; line-height: 1.4; cursor: pointer; overflow-wrap: anywhere;}

.coremap-street-card-remove[hidden] {display: none;}

.coremap-street-card-remove:disabled {opacity: .65; cursor: default;}


/* Touch maps use solid controls so panning does not reblur the WebGL surface. */
@media (pointer: coarse) {
    .coremap-map-status,
    .coremap-location-button,
    .coremap-nearby-marker-pill {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .coremap-location-button {
        background: rgba(13, 20, 32, 0.96);
    }

    .coremap-nearby-marker-pill {
        background: rgba(12, 18, 29, 0.96);
    }
}

/* Keep the map beneath touch dialogs opaque rather than continuously blurred. */
@media (pointer: coarse) {
    .coremap-moderation-modal,
    .coremap-my-reports-modal,
    .coremap-upload-modal,
    .coremap-blocked-users-modal,
    .coremap-ops-overlay,
    .coremap-camera-overlay,
    .coremap-report-card-backdrop,
    .coremap-mapcore-ai-overlay,
    .coremap-reputation-marker-modal {
        background: rgba(2, 6, 14, 0.9) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
}

@media (pointer: coarse) {
    .coremap-mapcore-ai-panel,
    .coremap-mapcore-ai-alias-editor-layer {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .coremap-mapcore-ai-alias-editor-layer {
        background: rgba(3, 8, 18, 0.94);
    }
}

/* New account badge in the loaded profile bundle. */
.coremap-profile-new-user {
    display: inline-block;
    margin-inline-end: 7px;
    padding: 3px 6px 2px;
    border: 1px solid rgba(110, 235, 207, 0.5);
    border-radius: 6px;
    color: #c2fff0;
    background: linear-gradient(135deg, rgba(30, 164, 139, 0.3), rgba(100, 83, 225, 0.3));
    box-shadow: inset 0 1px 0 rgba(225, 255, 248, 0.15), 0 2px 9px rgba(50, 211, 177, 0.1);
    font-size: 10px;
    font-weight: 850;
    line-height: 1.1;
    letter-spacing: 0.07em;
    vertical-align: 2px;
    white-space: nowrap;
}

/* User movement creation */
.coremap-marker-creation-options {
    display: grid;
    gap: 10px;
    margin: 18px 0;
}

.coremap-marker-creation-options button {
    display: grid;
    gap: 6px;
    min-height: 72px;
    padding: 14px 16px;
    text-align: left;
    font: inherit;
    color: inherit;
    border: 1px solid rgba(142, 150, 244, 0.35);
    border-radius: 16px;
    background: rgba(142, 150, 244, 0.12);
    cursor: pointer;
}

.coremap-marker-creation-options button span {
    font-size: 13px;
    color: #b9c4da;
}

.coremap-marker-creation-options button:disabled {
    opacity: 0.45;
    cursor: default;
}

.coremap-reputation-marker-modal[data-marker-kind="movement"] {
    background: rgba(2, 5, 12, 0.15);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

@media (pointer: coarse) {
    .coremap-reputation-marker-modal[data-marker-kind="movement"] {
        background: rgba(2, 5, 12, 0.15) !important;
    }
}

.coremap-reputation-marker-modal[data-marker-kind="movement"] .coremap-reputation-marker-panel {
    max-height: 62dvh;
}

.coremap-movement-point-picker {
    flex-wrap: wrap;
}

.coremap-movement-point-picker > span {
    flex-basis: 100%;
}

/* Centered marker creation choice */
.coremap-marker-creation-choice {
    align-items: center;
    padding: 16px;
    background: rgba(3, 7, 17, 0.66);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.coremap-marker-creation-choice .coremap-reputation-marker-panel {
    position: relative;
    width: min(100%, 480px);
    max-height: calc(100dvh - 32px);
    padding: 24px;
    border-color: rgba(151, 141, 231, 0.34);
    border-radius: 26px;
    background: radial-gradient(ellipse at top left, rgba(136, 91, 255, 0.18), transparent 68%),
        linear-gradient(145deg, #202740, #131c30 65%, #11192b);
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.55), inset 0 1px rgba(255, 255, 255, 0.035);
}

.coremap-marker-choice-close {
    position: absolute;
    top: 12px;
    right: 12px;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    color: #9eaaca;
    background: transparent;
    border: 0;
    border-radius: 14px;
    cursor: pointer;
}

.coremap-marker-choice-close svg {
    width: 19px;
    height: 19px;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
}

.coremap-marker-choice-close:hover {
    color: #ffffff;
    background: rgba(151, 141, 231, 0.1);
}

.coremap-marker-choice-heading {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-right: 28px;
}

.coremap-marker-choice-emblem {
    display: grid;
    flex: 0 0 48px;
    place-items: center;
    width: 48px;
    height: 48px;
    color: #ffffff;
    background: linear-gradient(145deg, #8068ff, #9255e8);
    border: 1px solid rgba(206, 187, 255, 0.45);
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(117, 79, 221, 0.22), inset 0 1px rgba(255, 255, 255, 0.18);
}

.coremap-marker-choice-emblem svg {
    width: 25px;
    height: 25px;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.coremap-marker-choice-heading > div {
    min-width: 0;
}

.coremap-marker-choice-eyebrow {
    display: block;
    margin-bottom: 5px;
    color: #b4a5dd;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.coremap-marker-creation-choice .coremap-reputation-marker-title {
    margin: 0;
    font-size: 24px;
    font-weight: 750;
    line-height: 1.2;
    letter-spacing: -0.025em;
}

#coreMapMarkerCreationChoiceSubtitle {
    margin: 7px 0 0;
    color: #a0acc8;
    font-size: 13px;
    line-height: 1.5;
}

.coremap-marker-creation-choice .coremap-marker-creation-options {
    gap: 10px;
    margin: 22px 0 12px;
}

.coremap-marker-creation-choice .coremap-marker-choice-card {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 88px;
    padding: 15px;
    color: #f6f5ff;
    border: 1px solid rgba(155, 145, 223, 0.22);
    border-radius: 18px;
    background: linear-gradient(120deg, rgba(137, 111, 238, 0.11), rgba(121, 126, 177, 0.055));
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.025);
    transition: background 140ms ease, border-color 140ms ease, transform 140ms ease;
}

.coremap-marker-creation-choice .coremap-marker-choice-card:hover:not(:disabled) {
    border-color: rgba(177, 153, 255, 0.55);
    background: rgba(145, 113, 239, 0.16);
    transform: translateY(-1px);
}

.coremap-marker-creation-choice .coremap-marker-choice-card:active:not(:disabled) {
    transform: translateY(0);
    background: rgba(145, 113, 239, 0.22);
}

.coremap-marker-creation-choice .coremap-marker-choice-card-icon {
    display: grid;
    flex: 0 0 44px;
    place-items: center;
    width: 44px;
    height: 44px;
    color: #c1acff;
    border: 1px solid rgba(155, 127, 245, 0.2);
    border-radius: 14px;
    background: rgba(136, 101, 236, 0.14);
}

.coremap-marker-choice-card-icon svg {
    width: 24px;
    height: 24px;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.coremap-marker-creation-choice .coremap-marker-choice-card-movement .coremap-marker-choice-card-icon {
    color: #f6d678;
    border-color: rgba(235, 196, 93, 0.18);
    background: rgba(235, 196, 93, 0.09);
}

.coremap-marker-creation-choice .coremap-marker-choice-card-copy {
    display: grid;
    flex: 1;
    gap: 5px;
    min-width: 0;
    text-align: left;
}

.coremap-marker-choice-card-copy strong {
    color: #f4f2ff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
}

.coremap-marker-creation-choice .coremap-marker-choice-card-copy > span {
    color: #9eacc8;
    font-size: 12px;
    line-height: 1.45;
}

.coremap-marker-creation-choice .coremap-marker-choice-card-title {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
}

.coremap-marker-creation-choice .coremap-marker-choice-lifetime {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 1px 6px;
    color: #ebd18a;
    background: rgba(233, 194, 92, 0.1);
    border: 1px solid rgba(233, 194, 92, 0.15);
    border-radius: 6px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap;
}

.coremap-marker-choice-chevron {
    flex: 0 0 17px;
    width: 17px;
    height: 17px;
    color: #8f9ab9;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.coremap-marker-creation-choice .coremap-reputation-marker-actions {
    display: block;
    margin: 0;
}

.coremap-marker-creation-choice #coreMapMarkerCreateCancel {
    width: 100%;
    min-height: 44px;
    padding: 10px 16px;
    color: #acb7d0;
    border: 1px solid transparent;
    border-radius: 13px;
    background: rgba(139, 151, 190, 0.055);
    font-size: 13px;
    font-weight: 600;
}

.coremap-marker-creation-choice button:focus-visible {
    outline: 2px solid #c1acff;
    outline-offset: 3px;
}

@media (pointer: coarse) {
    .coremap-marker-creation-choice {
        background: rgba(3, 7, 17, 0.66) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
}

@media (max-width: 420px) {
    .coremap-marker-creation-choice .coremap-reputation-marker-panel {
        padding: 20px;
        border-radius: 23px;
    }

    .coremap-marker-choice-heading {
        gap: 12px;
    }

    .coremap-marker-choice-emblem {
        flex-basis: 44px;
        width: 44px;
        height: 44px;
        border-radius: 15px;
    }

    .coremap-marker-creation-choice .coremap-reputation-marker-title {
        font-size: 22px;
    }

    .coremap-marker-creation-choice .coremap-marker-choice-card {
        padding: 13px;
        gap: 10px;
    }
}

@media (max-height: 520px) and (min-width: 600px) {
    .coremap-marker-creation-choice .coremap-reputation-marker-panel {
        padding: 16px 20px;
        border-radius: 22px;
    }

    .coremap-marker-choice-heading {
        gap: 12px;
    }

    .coremap-marker-choice-emblem {
        flex-basis: 42px;
        width: 42px;
        height: 42px;
        border-radius: 14px;
    }

    .coremap-marker-creation-choice .coremap-reputation-marker-title {
        font-size: 21px;
    }

    #coreMapMarkerCreationChoiceSubtitle {
        margin-top: 4px;
        font-size: 12px;
    }

    .coremap-marker-creation-choice .coremap-marker-creation-options {
        margin-top: 14px;
        margin-bottom: 10px;
        gap: 8px;
    }

    .coremap-marker-creation-choice .coremap-marker-choice-card {
        min-height: 74px;
        padding: 11px 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .coremap-marker-creation-choice .coremap-marker-choice-card {
        transition: none;
    }
}

/* Compact movement point picker */
.coremap-movement-point-picker {
    display: block;
    width: min(380px, calc(100vw - 32px));
    padding: 14px;
    border: 1px solid rgba(159, 141, 235, 0.36);
    border-radius: 20px;
    background: radial-gradient(ellipse at top left, rgba(134, 91, 235, 0.15), transparent 75%),
        linear-gradient(145deg, #252943, #172238 70%);
    box-shadow: 0 14px 42px rgba(0, 0, 0, 0.42), inset 0 1px rgba(255, 255, 255, 0.04);
}

.coremap-movement-point-heading {
    display: flex;
    align-items: center;
    gap: 10px;
}

.coremap-movement-point-icon {
    display: grid;
    flex: 0 0 34px;
    place-items: center;
    width: 34px;
    height: 34px;
    color: #ddd0ff;
    background: linear-gradient(145deg, rgba(141, 106, 255, 0.36), rgba(128, 85, 223, 0.2));
    border: 1px solid rgba(182, 149, 255, 0.25);
    border-radius: 11px;
}

.coremap-movement-point-icon svg {
    width: 21px;
    height: 21px;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.coremap-movement-point-heading > div {
    flex: 1;
    min-width: 0;
}

.coremap-movement-point-heading strong {
    display: block;
    color: #f1eeff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
}

.coremap-movement-point-step {
    display: block;
    margin-top: 3px;
    color: #a59bc5;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.25;
}

.coremap-movement-point-progress {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 5px 7px;
    color: #797da0;
    background: rgba(127, 116, 191, 0.1);
    border: 1px solid rgba(151, 134, 217, 0.14);
    border-radius: 9px;
    font-size: 11px;
    line-height: 1;
}

.coremap-movement-point-progress b {
    font-weight: 650;
}

.coremap-movement-point-progress .active {
    color: #d5c2ff;
}

.coremap-movement-point-instruction {
    margin: 11px 0 12px;
    color: #c8cee2;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
}

.coremap-movement-point-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 8px;
}

.coremap-movement-point-actions > button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    height: 44px;
    min-height: 44px;
    margin: 0;
    padding: 9px 12px;
    box-sizing: border-box;
    color: #dfddf6;
    background: rgba(128, 109, 199, 0.16);
    border: 1px solid rgba(165, 145, 229, 0.25);
    border-radius: 12px;
    font: inherit;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.2;
    white-space: nowrap;
    cursor: pointer;
}

.coremap-movement-point-actions > button:hover {
    background: rgba(141, 114, 219, 0.25);
    border-color: rgba(177, 151, 249, 0.45);
}

.coremap-movement-point-actions > button:active {
    background: rgba(141, 114, 219, 0.34);
}

.coremap-movement-point-actions > button:focus-visible {
    outline: 2px solid #c1acff;
    outline-offset: 2px;
}

/* Road movement preview */
.coremap-movement-route-status {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #aebdd1;
    font-size: 12px;
    line-height: 1.45;
}

.coremap-movement-route-status[hidden],
.coremap-movement-route-status button[hidden] {
    display: none;
}

.coremap-movement-route-status > span {
    min-width: 0;
    flex: 1;
    overflow-wrap: anywhere;
}

.coremap-movement-route-status[data-state="ready"] {
    color: #b9d1b5;
}

.coremap-movement-route-status[data-state="error"] {
    color: #d8b887;
}

.coremap-movement-route-status > button {
    width: auto;
    flex: 0 0 auto;
    min-height: 44px;
    margin: 0;
    padding: 8px 10px;
    border: 1px solid rgba(132, 151, 255, 0.3);
    border-radius: 10px;
    background: rgba(85, 105, 218, 0.16);
    color: #d6deff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

@media (max-width: 600px) {
    .coremap-reputation-marker-modal[data-marker-kind="movement"] .coremap-reputation-marker-field textarea {
        height: 64px;
        min-height: 64px;
    }
}


/* Touch surfaces use their existing gradients over a stronger backing color.
   Avoid sampling the live map repeatedly through nested full-screen glass. */
@media (pointer: coarse) {
    .coremap-app-info-overlay,
    .coremap-territory-overlay,
    .coremap-prestige-overlay,
    .coremap-prestige-editor,
    .coremap-road-alerts-modal,
    .coremap-street-card-overlay,
    .coremap-informer-overlay,
    .coremap-access-settings-overlay,
    .coremap-dialog-overlay,
    .coremap-maintenance-modal,
    .coremap-map-user-overlay,
    .coremap-staff-functions-modal,
    .coremap-user-statistics-overlay,
    .coremap-staff-overlay,
    .coremap-audit-overlay,
    .coremap-subscription-management-overlay,
    .coremap-telegram-triggers-overlay,
    .coremap-telegram-triggers-editor-overlay {
        background-color: rgba(2, 7, 17, 0.92) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .coremap-report-card,
    .coremap-my-reports-panel,
    .coremap-moderation-panel,
    .coremap-blocked-users-panel,
    .coremap-ops-panel,
    .coremap-staff-functions-panel,
    .coremap-user-statistics-dialog,
    .coremap-staff-dialog,
    .coremap-audit-dialog,
    .coremap-telegram-triggers-panel,
    .coremap-telegram-triggers-editor-panel,
    .coremap-prestige-overlay > .coremap-territory-dialog,
    .coremap-prestige-editor-dialog {
        background-color: #0d1627 !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    /* Inner cards already sit on opaque panels; blurring them adds no map detail. */
    .coremap-ops-card,
    .coremap-blocked-user-card,
    .coremap-staff-functions-group,
    .coremap-function-tile,
    .coremap-user-statistics-tools,
    .coremap-prestige-editor-footer {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    /* The colored shield remains visible after its decorative entrance cycles. */
    .coremap-moderation-shield,
    #coreMapStaffModerationButton > span::before {
        animation-iteration-count: 2 !important;
    }
}

/* Telegram can minimize a visible document. Freeze decoration until it returns;
   pause preserves the current animation position and does not restart transitions. */
html.coremap-app-inactive .coremap-moderation-shield,
html.coremap-app-inactive #coreMapStaffModerationButton > span::before,
html.coremap-app-inactive .coremap-app-info-marker.is-moving,
html.coremap-app-inactive .coremap-app-info-map-art .first,
html.coremap-app-inactive .coremap-app-info-overlay .finish-markers,
html.coremap-app-inactive .cms-paywall::before,
html.coremap-app-inactive .cms-city-aura,
html.coremap-app-inactive .cms-map-route-flow,
html.coremap-app-inactive .cms-location,
html.coremap-app-inactive .cms-pin-shadow,
html.coremap-app-inactive .cms-map-ring-outer,
html.coremap-app-inactive .cms-map-orbit > ellipse,
html.coremap-app-inactive .cms-map-orbit-dot,
html.coremap-app-inactive .cms-mini-pin,
html.coremap-app-inactive .cms-hero-star,
html.coremap-app-inactive .cms-paywall .cms-primary:not(:disabled)::after {
    animation-play-state: paused !important;
}

/* Preserve the profile gradients and sheet transitions without two nested
   backdrop passes on touch devices. */
@media (pointer: coarse) {
    .coremap-profile-overlay,
    .coremap-profile-prestige-overlay {
        background-color: rgba(2, 7, 17, 0.92) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .coremap-profile-panel,
    .coremap-profile-prestige-panel {
        background-color: #0d1627 !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .coremap-map-shell .coremap-profile-territory-preview {
        background-color: #131525 !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
}

/* A full-size photo needs no animated blur or permanently reserved filter layer
   on touch devices. Keep the existing fade, scale and close-button transitions. */
@media (pointer: coarse) {
    .coremap-image-viewer,
    .coremap-image-viewer-image,
    .coremap-image-viewer-close {
        will-change: auto;
    }

    .coremap-image-viewer-image,
    .coremap-image-viewer.opened .coremap-image-viewer-image {
        filter: none;
    }

    .coremap-image-viewer-image {
        transition-property: opacity, transform !important;
    }

    .coremap-image-viewer-close {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
}
