:root {
    --theme-bg: #06101c;
    --theme-bg-solid: #06101c;
    --theme-bg-hover: #0d1f35;
    --theme-bg-light: #1a3a5c;
    --theme-fg: #ffffff;
    --theme-fg-light: #e0f7fa;
    --theme-switch-button-on: #e0f7fa;
}

/* Панель меню слева */
.side-menu {
    background: var(--theme-bg) !important;
    border-radius: 0 16px 16px 0 !important;
}

/* Верхняя панель */
.control-bar {
    background: transparent !important;
    border-radius: 0 !important;
    margin: .5em !important;
    width: calc(100% - 1em) !important;
    gap: 4px !important;
}

.control-bar > * {
    background: var(--theme-bg) !important;
    border-radius: 10px !important;
}

.control-bar .space {
    background: transparent !important;
    border-radius: 0 !important;
}

/* Кнопки */
.svg-button {
    border-radius: 8px !important;
}

.svg-button:hover {
    background: rgba(255,255,255,0.1) !important;
}

/* Пункты меню */
.side-menu .simple-button:hover,
.side-menu .switch-button:hover {
    background: rgba(255,255,255,0.1) !important;
    border-radius: 8px !important;
}

/* Кнопки зума */
#zoom-buttons {
    background: var(--theme-bg) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
}

/* Аватарка игрока */
#map-container .bm-marker-player img {
    width: 16px !important;
}

/* Превью карты в меню */
.side-menu .map-button .sky img {
    width: 2em !important;
    height: 2em !important;
    object-fit: cover !important;
}

.side-menu .map-button .sky {
    width: 2em !important;
    height: 2em !important;
    overflow: hidden !important;
    border-radius: 4px !important;
    flex-shrink: 0 !important;
}

/* Таблица информации */
.info-content * {
    background-color: var(--theme-bg) !important;
    border-color: var(--theme-bg-light) !important;
    color: var(--theme-fg) !important;
}

.info-content table {
    background: var(--theme-bg) !important;
}

kbd {
    background-color: var(--theme-bg-light) !important;
    color: var(--theme-fg) !important;
}

/* Switcher панелька */
#theme-switcher * {
    box-sizing: border-box !important;
}

.theme-item {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    border-radius: 8px !important;
    padding: 7px 10px !important;
    cursor: pointer !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
}

.theme-item:hover {
    background: rgba(255,255,255,0.1) !important;
    background-color: rgba(255,255,255,0.1) !important;
}

.theme-item.active {
    background: rgba(255,255,255,0.2) !important;
    background-color: rgba(255,255,255,0.2) !important;
    outline: 1px solid rgba(255,255,255,0.4);
}

/* Кнопки темы Валентин */
[data-theme="valentine"] .control-bar > *:not(.space),
[data-theme="valentine"] .svg-button,
[data-theme="valentine"] .simple-button,
[data-theme="valentine"] .side-menu .map-button,
[data-theme="valentine"] #zoom-buttons {
    background: #391026 !important;
}

[data-theme="valentine"] .svg-button,
[data-theme="valentine"] .controls-switch {
    background: #391026 !important;
}

[data-theme="valentine"] .svg-button:hover,
[data-theme="valentine"] .simple-button:hover,
[data-theme="valentine"] .side-menu .map-button:hover {
    background: #5a1a3a !important;
}

/* Попап при клике на блок */
#map-container .bm-marker-bm-popup,
#map-container .bm-marker-popup {
    background: var(--theme-bg-solid) !important;
    background-color: var(--theme-bg-solid) !important;
    border-radius: 10px !important;
    border: 1px solid var(--theme-bg-light) !important;
}

#map-container .bm-marker-bm-popup *,
#map-container .bm-marker-popup * {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--theme-fg) !important;
}

/* Hover-лейбл POI маркера */
#map-container .bm-marker-poi-label {
    border-radius: 8px !important;
    outline: 2px solid var(--theme-bg-light) !important;
    box-shadow: 0 0 0 2px var(--theme-bg-light) !important;
}

/* Тема Листики */
/* Контейнеры кнопок — тёмно-коричневая подложка */
[data-theme="leaves"] .control-bar > *:not(.space),
[data-theme="leaves"] #zoom-buttons {
    background: #72413d !important;
    background-color: #72413d !important;
    background-image: none !important;
    border-radius: 10px !important;
}

/* Сами кнопки — градиент */
[data-theme="leaves"] .svg-button,
[data-theme="leaves"] .controls-switch {
    background: linear-gradient(180deg, #767769 0%, #878878 100%) !important;
    background-color: #767769 !important;
}

[data-theme="leaves"] .svg-button:hover,
[data-theme="leaves"] .simple-button:hover,
[data-theme="leaves"] .side-menu .map-button:hover,
[data-theme="leaves"] .svg-button:active,
[data-theme="leaves"] .controls-switch:hover {
    background: #878878 !important;
    background-color: #878878 !important;
}

/* Иконки и текст в теме Листики */
[data-theme="leaves"] .svg-button svg,
[data-theme="leaves"] .svg-button path,
[data-theme="leaves"] .svg-button rect,
[data-theme="leaves"] .svg-button circle {
    fill: #eabcb3 !important;
    stroke: #eabcb3 !important;
    color: #eabcb3 !important;
}

[data-theme="leaves"] .side-menu,
[data-theme="leaves"] .side-menu * {
    color: #eabcb3 !important;
}

/* Тема Лаванда */
[data-theme="lavender"] .control-bar > *:not(.space),
[data-theme="lavender"] #zoom-buttons {
    background: #b9a6ce !important;
}

[data-theme="lavender"] .svg-button:hover,
[data-theme="lavender"] .simple-button:hover,
[data-theme="lavender"] .side-menu .map-button:hover {
    background: rgba(255,255,255,0.2) !important;
}

[data-theme="lavender"] .theme-item {
    color: #3d2e55 !important;
}

[data-theme="lavender"] .theme-item span {
    color: #3d2e55 !important;
}

/* Тема Кросса — обновлённые цвета */
[data-theme="purple"] .control-bar > *:not(.space),
[data-theme="purple"] #zoom-buttons {
    background: #5a43bc !important;
}

[data-theme="purple"] .svg-button:hover,
[data-theme="purple"] .simple-button:hover,
[data-theme="purple"] .side-menu .map-button:hover {
    background: rgba(255,255,255,0.15) !important;
}

[data-theme="purple"] .svg-button svg *,
[data-theme="purple"] .svg-button path,
[data-theme="purple"] .svg-button rect,
[data-theme="purple"] .svg-button circle,
[data-theme="purple"] .svg-button polygon {
    fill: #b9a6ce !important;
    stroke: #b9a6ce !important;
}

/* Красивый скролл в панели тем */
#theme-list::-webkit-scrollbar {
    width: 4px;
}
#theme-list::-webkit-scrollbar-track {
    background: transparent;
}
#theme-list::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.25);
    border-radius: 4px;
}
#theme-list::-webkit-scrollbar-thumb:hover {
    background: rgba(255,255,255,0.45);
}

/* Принудительный override кнопок для Листики */


/* Hover/active для кнопок Листики — принудительно */
[data-theme="leaves"] .svg-button:hover,
[data-theme="leaves"] .svg-button:active,
[data-theme="leaves"] .controls-switch:hover {
    background: #878878 !important;
    background-image: none !important;
}

/* ===== Тема Фотопленка ===== */
/* Меню — слой маджента + синий (тёмно-пурпурный → циановый) */
[data-theme="film"] .side-menu {
    background: linear-gradient(135deg, #2b1a2e 0%, #1a3a3a 50%, #3a2a10 100%) !important;
    border-right: 2px solid #c4556a !important;
}

/* Кнопки — слой цианового (тёмный сине-зелёный) */
[data-theme="film"] .control-bar > *:not(.space),
[data-theme="film"] #zoom-buttons {
    background: #1a3a3a !important;
    border: 1px solid #c4556a !important;
}

[data-theme="film"] .svg-button,
[data-theme="film"] .controls-switch {
    background: #1a3a3a !important;
}

/* Hover — красный свет фотолаборатории */
[data-theme="film"] .svg-button:hover,
[data-theme="film"] .simple-button:hover,
[data-theme="film"] .controls-switch:hover,
[data-theme="film"] .svg-button:active {
    background: #4a1a1a !important;
}

/* Иконки — тёплый кремовый (жёлтый слой плёнки) */
[data-theme="film"] .svg-button svg,
[data-theme="film"] .svg-button path,
[data-theme="film"] .svg-button rect,
[data-theme="film"] .svg-button circle,
[data-theme="film"] .svg-button polygon {
    fill: #e8c4a0 !important;
    stroke: #e8c4a0 !important;
}

/* Текст — кремовый тёплый */
[data-theme="film"] .side-menu,
[data-theme="film"] .side-menu * {
    color: #f2d4b0 !important;
}

/* Маджента акцент на активных элементах */
[data-theme="film"] .side-menu .simple-button:hover,
[data-theme="film"] .side-menu .switch-button:hover {
    background: rgba(196, 85, 106, 0.2) !important;
}

/* Скролл — маджента */
[data-theme="film"] ::-webkit-scrollbar-thumb {
    background: #c4556a !important;
}

/* ===== Тема Тёплая ===== */
[data-theme="warm"] .side-menu {
    background: linear-gradient(180deg, #1a7bff 0%, #9bc3f9 100%) !important;
    overflow: hidden !important;
    position: relative !important;
}

/* Кнопки — голубые */
[data-theme="warm"] .control-bar > *:not(.space),
[data-theme="warm"] #zoom-buttons {
    background: #1a7bff !important;
}

[data-theme="warm"] .svg-button,
[data-theme="warm"] .controls-switch {
    background: #1a7bff !important;
}

[data-theme="warm"] .svg-button:hover,
[data-theme="warm"] .simple-button:hover,
[data-theme="warm"] .controls-switch:hover,
[data-theme="warm"] .svg-button:active {
    background: #1a6fe0 !important;
}

/* Текст меню белый */
[data-theme="warm"] .side-menu,
[data-theme="warm"] .side-menu * {
    color: #ffffff !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

/* Облака и пшеница — стили управляются через JS (removeBlackBg + canvas) */
@keyframes warm-clouds {
    0%   { background-position: -200px center; }
    100% { background-position: calc(100% + 400px) center; }
}    100% { transform: translateX(-512px); }
}

/* Пшеница */
#warm-wheat {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 64px;
    pointer-events: none;
    z-index: 3;
    transform-origin: bottom center;
    mix-blend-mode: screen;
    background: url('data:image/png;base64,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') repeat-x bottom / auto 64px;
    image-rendering: pixelated;
}


