/*
 * Тема Zone403 для Bootstrap 5.3.8. Подключать после bootstrap*.min.css.
 *
 * Здесь живут только переменные --bs-* и то, чего в Bootstrap нет.
 * Селекторов страниц здесь не бывает: нужен цвет или отступ -- добавь
 * переменную, а не правило. Правила -- .claude/skills/frontend-design/SKILL.md.
 *
 * Палитра -- токены .z-landing из landing.css (утверждены оператором):
 *   фон #77766f, текст #ded8ca, заголовки #efeadc, приглушённый #948d7c,
 *   линии #4b473f, жёлтый #c58e20 / #d9a63b / #765515, текст на жёлтом
 *   #241a0b, зелёный #97c25c.
 */

:root,
[data-bs-theme="dark"] {
	--bs-body-bg: #77766f;
	--bs-body-bg-rgb: 119, 118, 111;
	--bs-body-color: #ded8ca;
	--bs-body-color-rgb: 222, 216, 202;
	--bs-emphasis-color: #efeadc;
	--bs-emphasis-color-rgb: 239, 234, 220;
	--bs-heading-color: #efeadc;

	--bs-secondary-color: #948d7c;
	--bs-secondary-color-rgb: 148, 141, 124;
	--bs-tertiary-color: #948d7c;
	--bs-tertiary-color-rgb: 148, 141, 124;

	/* поверхности выведены из фона: панели, полосы таблиц, поля форм */
	--bs-secondary-bg: color-mix(in srgb, #77766f 85%, black);
	--bs-tertiary-bg: color-mix(in srgb, #77766f 70%, black);

	--bs-border-color: #4b473f;
	--bs-border-color-translucent: rgba(75, 71, 63, 0.75);
	--bs-border-radius: 2px;
	--bs-border-radius-sm: 2px;
	--bs-border-radius-lg: 2px;
	--bs-border-radius-xl: 2px;

	--bs-link-color: #d9a63b;
	--bs-link-color-rgb: 217, 166, 59;
	--bs-link-hover-color: #d09a2b;
	--bs-link-hover-color-rgb: 208, 154, 43;

	--bs-primary: #c58e20;
	--bs-primary-rgb: 197, 142, 32;
	--bs-primary-text-emphasis: #d9a63b;
	--bs-primary-bg-subtle: #765515;
	--bs-primary-border-subtle: #c58e20;
	--bs-success: #97c25c;
	--bs-success-rgb: 151, 194, 92;
	--bs-success-text-emphasis: #97c25c;

	--bs-focus-ring-color: rgba(197, 142, 32, 0.35);

	--bs-body-font-family: Tahoma, Arial, sans-serif;
	--bs-body-font-size: 0.8125rem; /* 13px, как на лендинге */
}

/* Кнопки в Bootstrap 5.3 не читают --bs-primary в рантайме -- у них свои
 * переменные, поэтому primary задаётся ещё раз здесь. */
.btn-primary {
	--bs-btn-color: #241a0b;
	--bs-btn-bg: #c58e20;
	--bs-btn-border-color: #c58e20;
	--bs-btn-hover-color: #241a0b;
	--bs-btn-hover-bg: #d9a63b;
	--bs-btn-hover-border-color: #d9a63b;
	--bs-btn-active-color: #efeadc;
	--bs-btn-active-bg: #765515;
	--bs-btn-active-border-color: #765515;
	--bs-btn-disabled-color: #948d7c;
	--bs-btn-disabled-bg: #765515;
	--bs-btn-disabled-border-color: #765515;
	--bs-btn-focus-shadow-rgb: 197, 142, 32;
}

.btn-outline-primary {
	--bs-btn-color: #c58e20;
	--bs-btn-border-color: #c58e20;
	--bs-btn-hover-color: #241a0b;
	--bs-btn-hover-bg: #c58e20;
	--bs-btn-hover-border-color: #c58e20;
	--bs-btn-active-color: #241a0b;
	--bs-btn-active-bg: #d9a63b;
	--bs-btn-active-border-color: #d9a63b;
	--bs-btn-disabled-color: #765515;
	--bs-btn-disabled-border-color: #765515;
	--bs-btn-focus-shadow-rgb: 197, 142, 32;
}

/* Поля форм: фон из поверхностей темы, рамка в фокусе -- жёлтая */
.form-control,
.form-select {
	--bs-form-control-bg: var(--bs-tertiary-bg);
	background-color: var(--bs-tertiary-bg);
	border-color: var(--bs-border-color);
	color: var(--bs-body-color);
}

.form-control:focus,
.form-select:focus {
	background-color: var(--bs-tertiary-bg);
	border-color: #c58e20;
	box-shadow: 0 0 0 0.25rem var(--bs-focus-ring-color);
	color: var(--bs-body-color);
}

/* нет в Bootstrap: approved V7 combat surfaces; scoped away from the site shell. */
.combat-ui {
	--bs-body-bg: #24241f;
	--bs-body-color: #d7d2c2;
	--bs-heading-color: #d7d2c2;
	--bs-border-color: #756f58;
	--bs-secondary-color: #9b9687;
	--bs-card-bg: #302f28;
}
/* нет в Bootstrap: compact portrait tiles over the battlefield. */
.combat-ui .card { --bs-card-bg: #302f28; --bs-card-color: #d7d2c2; }
.combat-ui .card > .nums { background: rgba(10,8,6,.72); color: #d7d2c2; }
/* нет в Bootstrap: individual V7 action tiles, rather than a solid toolbar. */
.combat-ui .act button { background: linear-gradient(#3b392f, #24241f); box-shadow: inset 0 0 0 2px #302f28; }
.combat-ui .act .action-icon { display:block; margin:0 auto 2px; }
.combat-ui .act .action-label { display:block; font-size:9px; text-transform:uppercase; }
/* нет в Bootstrap: text-only end-turn treatment from the approved battle HUD. */
.combat-ui #end { color:#c1d396; background:linear-gradient(#394826, #242d1c); border-color:#718b4b; box-shadow:inset 0 0 0 3px #242d1c, inset 0 0 0 4px #718b4b; }
/* нет в Bootstrap: journal density is measured in rows, not a scaled panel. */
.combat-ui #log { max-height:calc(var(--log-rows, 4) * 21px); overflow:hidden; }
.combat-ui #log .ev { line-height:21px; padding:0; border:0; }
.combat-ui #log .turn { margin:0; }

/* нет в Bootstrap: модификатор редактора по согласованному макету #66; только этот экран. */
.map-editor {
	--bs-body-bg: #0c151a; --bs-body-bg-rgb: 12,21,26; --bs-body-color: #dce3e7; --bs-body-color-rgb: 220,227,231; --bs-heading-color: #e7edef;
	--bs-secondary-bg: #122028; --bs-tertiary-bg: #101c23; --bs-tertiary-bg-rgb: 16,28,35; --bs-secondary-color: #8ca2b2; --bs-border-color: #293c47;
	--bs-primary: #efb13c; --bs-primary-rgb: 239,177,60; --bs-info: #30c1dc; --bs-success: #6ca588; --bs-warning: #dfab45; --bs-danger: #c86660; --bs-secondary: #9368aa;
	--bs-emphasis-color: #e7edef; --bs-emphasis-color-rgb: 231,237,239; --bs-border-radius: 4px; --bs-border-radius-sm: 4px; --bs-border-radius-lg: 4px;
	--bs-link-color: #efb13c; --bs-link-hover-color: #ffd379; --bs-focus-ring-color: rgba(239,177,60,.2); background: radial-gradient(ellipse at top, #14222a, #0c151a 65%);
}
/* нет в Bootstrap: стальные инструменты и жёлтое выделение из макета. */
.map-editor .btn-outline-secondary, .map-editor .btn-outline-light { --bs-btn-color: #8ca2b2; --bs-btn-border-color: #293c47; --bs-btn-hover-color: #e7edef; --bs-btn-hover-bg: #1b2c35; --bs-btn-hover-border-color: #4d6876; --bs-btn-active-color: #efb13c; --bs-btn-active-bg: #24302d; --bs-btn-active-border-color: #efb13c; --bs-btn-disabled-color: #546976; --bs-btn-disabled-border-color: #22313a; }
/* нет в Bootstrap: primary читает собственные переменные кнопки. */
.map-editor .btn-primary { --bs-btn-bg: #efb13c; --bs-btn-border-color: #efb13c; --bs-btn-hover-bg: #ffc75a; --bs-btn-hover-border-color: #ffc75a; --bs-btn-active-bg: #d89825; --bs-btn-active-border-color: #d89825; --bs-btn-disabled-bg: #786230; --bs-btn-disabled-border-color: #786230; }
/* нет в Bootstrap: поверхность карточек редактора из макета. */
.map-editor .card { --bs-card-bg: #101b22; --bs-card-border-color: #293c47; }
/* нет в Bootstrap: прозрачные строки слоёв на поверхности карточки. */
.map-editor .list-group { --bs-list-group-bg: transparent; --bs-list-group-border-color: #23353f; --bs-list-group-color: #9eb1be; }
/* нет в Bootstrap: меню использует локальную поверхность редактора. */
.map-editor .dropdown-menu { --bs-dropdown-bg: #101b22; --bs-dropdown-color: #dce3e7; --bs-dropdown-link-color: #dce3e7; --bs-dropdown-link-hover-bg: #22343f; }
/* нет в Bootstrap: ширина и поверхность мобильного инспектора. */
.map-editor .offcanvas-lg { --bs-offcanvas-width: 300px; --bs-offcanvas-bg: #0c151a; }
/* нет в Bootstrap: ширина закреплённой панели параметров инструмента. */
.map-editor #editor-panel { width: min(300px, 100vw); }
/* нет в Bootstrap: единый квадратный размер кнопок с иконкой в редакторе. */
.map-editor .btn-icon { width:36px; height:36px; flex:0 0 36px; padding:0; display:inline-flex; align-items:center; justify-content:center; }
.map-editor .btn-icon svg { width:20px; height:20px; }
/* нет в Bootstrap: checkbox/range не читают переопределённый --bs-primary. */
.map-editor .form-check-input:checked { background-color:var(--bs-primary); border-color:var(--bs-primary); }
.map-editor .form-range::-webkit-slider-thumb { background-color:var(--bs-primary); }
.map-editor .form-range::-moz-range-thumb { background-color:var(--bs-primary); }
