/* === ПАЛИТРА И ГРАДИЕНТЫ === */
:root {
    --zen-bg-page: linear-gradient(135deg, #fbf8f4 0%, #f3ece3 100%);

    /* Фоны кнопок */
    --zen-btn-norm: rgba(255, 255, 255, 0.3);
    --zen-btn-hover: rgba(225, 235, 200, 0.45);
    --zen-btn-act: rgba(225, 235, 200, 0.45);
    --zen-btn-err: rgba(245, 210, 210, 0.45);

    /* Бордеры кнопок (15% alpha) */
    --zen-bc-norm: rgba(255, 255, 255, 0.15);
    --zen-bc-act: rgba(202, 215, 168, 0.15);
    --zen-bc-err: rgba(255, 150, 150, 0.15);

    --zen-prog-fill: linear-gradient(to right, #dde4c2, #c0ce98);

    /* Тексты */
    --zen-text-dark: rgba(34, 53, 43, 0.85);
    --zen-text-mut: rgba(136, 149, 141, 0.85);
    --zen-text-expl: rgba(70, 85, 75, 0.95);
}

/* Цвета текста */
.tc-zen-dark { color: var(--zen-text-dark); }
.tc-zen-mut { color: var(--zen-text-mut); }
.tc-zen-expl { color: var(--zen-text-expl); }
.tc-zen-red { color: rgba(223, 155, 153, 0.85); }

/* Утилитные фоны */
.bg-zen-page { background: var(--zen-bg-page); }
.bg-zen-btn { background-color: var(--zen-btn-norm); }
.bg-zen-btn-act { background-color: var(--zen-btn-act); }
.bg-zen-btn-err { background-color: var(--zen-btn-err); }
.bg-zen-prog { background: var(--zen-prog-fill); }

/* Ховер кнопки */
.h-bg-zen-btn:hover { background-color: var(--zen-btn-hover); cursor: pointer; }
.h-bg-zen-btn-err:hover { background-color: rgba(255, 230, 230, 0.4); cursor: pointer; }

/* Бордеры */
.bc-zen-btn { border-color: var(--zen-bc-norm); }
.bc-zen-btn-act { border-color: var(--zen-bc-act); }
.bc-zen-btn-err { border-color: var(--zen-bc-err); }
.bc-zen-red { border-color: rgba(223, 155, 153, 0.6); }

/* Фоны-картинки */
.bg-room-main {
    background-image: url('/img/ch-room-0.jpg');
    background-size: cover;
    background-position: center center;
}

.bg-room-char {
    background-image: url('/img/ch-room-1.jpg');
    background-size: cover;
    background-position: center center;
}

/* === СОСТАВНЫЕ ТЕНИ И СТЕКЛО (Glassmorphism) === */
.bg-zen-glass {
    background: rgba(255, 255, 255, 0.45);
    backdrop-filter: blur(5px) contrast(0.8) brightness(1.1);
    -webkit-backdrop-filter: blur(5px) contrast(0.8) brightness(1.1);
}

.bs-zen-glass {
    box-shadow:
            0 30px 60px rgba(140, 130, 120, 0.12),
            inset 0 2px 4px rgba(255, 255, 255, 0.7),
            inset 0 0 0 1px rgba(255, 255, 255, 0.3);
}

.bs-zen-btn {
    box-shadow:
            0 15px 30px rgba(150, 140, 130, 0.08),
            inset 0 3px 6px rgba(255, 255, 255, 0.8);
}

.bs-zen-btn-act {
    box-shadow:
            0 10px 25px rgba(180, 195, 150, 0.4),
            inset 0 2px 4px rgba(255, 255, 255, 0.6);
}

.bs-zen-btn-err {
    box-shadow:
            0 10px 25px rgba(223, 155, 153, 0.4),
            inset 0 2px 4px rgba(255, 255, 255, 0.6);
}

/* Тень для внешней рамки в браузере */
.bs-zen-app {
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.08);
}

.bs-zen-inset-track {
    box-shadow:
            inset 1px 2px 4px rgba(160, 150, 140, 0.2),
            inset -1px -1px 3px rgba(255, 255, 255, 0.6);
}

.bg-zen-neo { background: linear-gradient(135deg, rgba(255, 255, 255, 0.8), rgba(242, 239, 231, 0.8)); }
.bs-zen-neo {
    box-shadow:
            4px 6px 12px rgba(180, 170, 160, 0.15),
            -4px -4px 10px rgba(255, 255, 255, 0.6),
            inset 1px 1px 2px rgba(255, 255, 255, 0.4);
}

/* Плашка (Альфа 0.5 + Бордер) */
.bg-zen-badge {
    background-color: rgba(255, 255, 255, 0.5);
    border: 1px solid rgba(0, 0, 0, 0.1);
}