/*
 * Оформление A4Doc поверх Presenton: наши цвета, шрифт, скругления и тёмная
 * тема (html[data-a4doc-theme="dark"] — ставит panel-bridge.js по сообщению
 * панели).
 *
 * У Presenton цвета зашиты в классы (bg-white, text-[#191919]…), поэтому
 * перекрываем самые частые из них на экранах плана и редактора. Холст слайда
 * (1280×720), миниатюры и «умные» слайды исключены: слайд остаётся таким, каким
 * его задумал шаблон, в любой теме.
 *
 * Классы собраны группами «класс → токен»: встретился новый зашитый цвет —
 * дописать его в нужную группу.
 */

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");

:root {
  --a4-bg: #ffffff;
  --a4-subtle: #f6f5f4;
  --a4-hover: #ecebea;
  --a4-border: #dddddd;
  --a4-text: #000000;
  --a4-muted: #615d59;
  --a4-faint: #a39e98;
  --a4-accent: #514ae3;
  --a4-accent-text: var(--a4-accent);
  --a4-accent-soft: color-mix(in srgb, var(--a4-accent) 10%, transparent);
  /* Шрифт интерфейса Presenton — наш Inter (шрифты слайдов задаёт шаблон) */
  --font-syne: "Inter", ui-sans-serif, system-ui, sans-serif;
  --font-manrope: "Inter", ui-sans-serif, system-ui, sans-serif;
}

html[data-a4doc-theme="dark"] {
  --a4-bg: #121212;
  --a4-subtle: #1c1c1c;
  --a4-hover: #282828;
  --a4-border: #31302e;
  --a4-text: #ffffff;
  --a4-muted: #c6c6c5;
  --a4-faint: #a39e98;
  --a4-accent-text: color-mix(in srgb, var(--a4-accent) 55%, white);
  --a4-accent-soft: color-mix(in srgb, var(--a4-accent) 22%, transparent);
  color-scheme: dark;
  /* Токены shadcn Presenton (диалоги, меню, поля) — в тон нашей тёмной теме */
  --background: 0 0% 7%;
  --foreground: 0 0% 100%;
  --card: 0 0% 11%;
  --card-foreground: 0 0% 100%;
  --popover: 0 0% 11%;
  --popover-foreground: 0 0% 100%;
  --secondary: 0 0% 16%;
  --secondary-foreground: 0 0% 100%;
  --muted: 0 0% 16%;
  --muted-foreground: 33 5% 62%;
  --accent: 0 0% 16%;
  --accent-foreground: 0 0% 100%;
  --border: 40 3% 19%;
  --input: 40 3% 19%;
}

html, body { background-color: var(--a4-bg); color: var(--a4-text); }

/* Поверхности (карточки, панели, шапки) */
:is([class~="bg-white"], [class~="bg-white/80"], [class~="bg-white/90"], [class~="bg-white/95"], [class~="bg-[#FFFFFF]"], [class~="bg-[#ffffff]"]):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  background-color: var(--a4-bg) !important;
}

/* Подложки и приглушённые блоки */
:is([class~="bg-[#F6F6F9]"], [class~="bg-[#F8F8FA]"], [class~="bg-[#F9FAFB]"], [class~="bg-[#F7F6F9]"], [class~="bg-[#F7F7FA]"], [class~="bg-[#FAFAFC]"], [class~="bg-[#FAFAFB]"], [class~="bg-[#FAFAFA]"], [class~="bg-gray-50"], [class~="bg-gray-100"], [class~="bg-[#F4F4F4]"], [class~="bg-[#F5F5F5]"], [class~="bg-[#F3F4F6]"]):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  background-color: var(--a4-subtle) !important;
}

/* Разделители-плашки */
:is([class~="bg-[#EDEEEF]"], [class~="bg-gray-200"], [class~="bg-[#E6E6E6]"], [class~="bg-[#ECECF1]"], [class~="bg-[#E8E8EC]"]):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  background-color: var(--a4-hover) !important;
}

/* Мягкий акцентный фон */
:is([class~="bg-[#F4F3FF]"], [class~="bg-[#F4F1FF]"], [class~="bg-[#EEF0FF]"], [class~="bg-[#F3F0FF]"], [class~="bg-[#EDE9FE]"], [class~="bg-[#7A5AF8]/10"], [class~="bg-[#5141e5]/10"], [class~="bg-[#7C51F8]/10"]):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  background-color: var(--a4-accent-soft) !important;
}

/* Акцентный фон */
:is([class~="bg-[#7A5AF8]"], [class~="bg-[#7C51F8]"], [class~="bg-[#5141e5]"], [class~="bg-[#5146E5]"], [class~="bg-[#6847F4]"], [class~="bg-[#7C3AED]"], [class~="bg-purple-600"], [class~="bg-violet-600"]):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  background-color: var(--a4-accent) !important;
}

/* Основной текст */
:is([class~="text-[#191919]"], [class~="text-[#101323]"], [class~="text-[#05070A]"], [class~="text-[#333333]"], [class~="text-[#19001F]"], [class~="text-[#111827]"], [class~="text-[#1F2937]"], [class~="text-gray-900"], [class~="text-gray-800"], [class~="text-black"], [class~="text-[#000000]"], [class~="text-[#0F172A]"]):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  color: var(--a4-text) !important;
}

/* Второстепенный текст */
:is([class~="text-gray-700"], [class~="text-gray-600"], [class~="text-[#4B5563]"], [class~="text-[#344054]"], [class~="text-[#4C4C4C]"], [class~="text-[#5F6062]"], [class~="text-[#666666]"], [class~="text-[#686873]"], [class~="text-[#667085]"], [class~="text-[#475467]"], [class~="text-[#6B7280]"]):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  color: var(--a4-muted) !important;
}

/* Подсказки и неактивное */
:is([class~="text-gray-500"], [class~="text-gray-400"], [class~="text-[#808080]"], [class~="text-[#8B8B94]"], [class~="text-[#99A1AF]"], [class~="text-[#999]"], [class~="text-[#999999]"], [class~="text-[#B3B3B3]"], [class~="text-[#777781]"], [class~="text-[#9CA3AF]"], [class~="text-[#98A2B3]"]):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  color: var(--a4-faint) !important;
}

/* Акцентный текст */
:is([class~="text-[#7A5AF8]"], [class~="text-[#7C51F8]"], [class~="text-[#7C3AED]"], [class~="text-[#6847F4]"], [class~="text-[#5141e5]"], [class~="text-[#5146E5]"], [class~="text-purple-600"], [class~="text-violet-600"]):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  color: var(--a4-accent-text) !important;
}

/* Рамки */
:is([class~="border-[#EDEEEF]"], [class~="border-gray-300"], [class~="border-gray-200"], [class~="border-gray-100"], [class~="border-[#E6E6EA]"], [class~="border-[#ECECF1]"], [class~="border-[#E1E1E5]"], [class~="border-[#F4F4F4]"], [class~="border-[#E8E8EC]"], [class~="border-[#E4E2EB]"], [class~="border-[#EDECEC]"], [class~="border-[#E5E7EB]"], [class~="border-[#EAECF0]"], [class~="border-[#D0D5DD]"], [class~="border-gray-400"]):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  border-color: var(--a4-border) !important;
}

/* Акцентные рамки */
:is([class~="border-[#7A5AF8]"], [class~="border-[#7C51F8]"], [class~="border-[#5141e5]"], [class~="border-[#D9D6FE]"], [class~="border-purple-600"]):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  border-color: var(--a4-accent) !important;
}

/* Наш дизайн без теней: блоки отделяются заливкой и рамкой */
[class*="shadow"]:not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  box-shadow: none !important;
}

/* Скругления — наши: 16 px у карточек и панелей, 8 px у кнопок и полей */
:is([class~="rounded-[22px]"], [class~="rounded-[20px]"], [class~="rounded-[24px]"], [class~="rounded-2xl"], [class~="rounded-3xl"]):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  border-radius: 16px !important;
}
:is([class~="rounded-[14px]"], [class~="rounded-[12px]"], [class~="rounded-xl"]):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  border-radius: 8px !important;
}

/* Кнопка «Экспорт» и другие градиентные кнопки — сплошной наш акцент */
:is([class*="bg-[linear-gradient"], [class*="bg-gradient-to"]):is(button, a):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  background: var(--a4-accent) !important;
  color: #ffffff !important;
}

/* Поля ввода в тёмной теме */
html[data-a4doc-theme="dark"] :is(input, textarea, select):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  background-color: var(--a4-subtle);
  color: var(--a4-text);
}
html[data-a4doc-theme="dark"] :is(input, textarea)::placeholder {
  color: var(--a4-faint);
}

/* Иконки, нарисованные тёмным цветом, в тёмной теме — светлые */
html[data-a4doc-theme="dark"] :is(svg[class~="text-black"], svg[class*="text-gray-"], svg[class*="text-[#1"]):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  color: var(--a4-muted) !important;
}

/* ── Точечные места, найденные проверкой в браузере ──────────────────── */

/* Фон редактора вокруг слайда и плашка «ИИ / Блоки» заданы inline-стилем */
[style*="background: rgb(237, 238, 239)"]:not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  background: var(--a4-subtle) !important;
}
[style*="background: rgba(244, 243, 255"]:not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  background: var(--a4-accent-soft) !important;
}

/* Страница шаблонов и плана: свои оттенки фона */
:is([class~="bg-[#FEFEFF]"], [class~="bg-[#FDFDFF]"]):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  background-color: var(--a4-bg) !important;
}
:is([class~="bg-[#F8FBFB]"], [class~="bg-[#F7F5FF]"]):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  background-color: var(--a4-subtle) !important;
}
[class~="border-[#E4E0FF]"]:not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  border-color: var(--a4-border) !important;
}
:is([class~="text-[#5141E5]"], [class~="text-[#5146E5]"]):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  color: var(--a4-accent-text) !important;
}

/* Кнопка «Экспорт»: градиент задан inline-стилем */
:is(button, a)[style*="linear-gradient"]:not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  background: var(--a4-accent) !important;
  color: #ffffff !important;
}
:is(button, a)[style*="linear-gradient"]:not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) * {
  color: #ffffff !important;
}

/* Затухание под лентой миниатюр — к цвету фона, а не к белому */
html[data-a4doc-theme="dark"] [class*="bg-[linear-gradient(to_top,#FEFEFF"]:not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  background: linear-gradient(to top, var(--a4-bg) 76%, transparent 100%) !important;
}

/*
 * Тёмная тема: любой зашитый тёмный цвет текста (#0…–#3…) становится
 * светлым. Список по одному цвету не угнаться — их у Presenton десятки.
 */
html[data-a4doc-theme="dark"] :is([class*="text-[#0"], [class*="text-[#1"], [class*="text-[#2"], [class*="text-[#3"], [class*="text-[#4"]):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  color: var(--a4-text) !important;
}
/* …и текст, унаследованный от кнопок и панелей без своего цвета */
html[data-a4doc-theme="dark"] body:not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  color: var(--a4-text);
}
html[data-a4doc-theme="dark"] :is(button, [role="button"], [role="menuitem"]):not([class*="text-"]):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  color: var(--a4-text);
}

/* Иконки с цветом прямо в атрибутах SVG (stroke="black" и т.п.) */
html[data-a4doc-theme="dark"] :is([stroke="black"], [stroke="#000"], [stroke="#000000"], [stroke="#191919"], [stroke="#101323"]):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  stroke: var(--a4-muted);
}
html[data-a4doc-theme="dark"] :is([fill="black"], [fill="#000"], [fill="#000000"], [fill="#191919"], [fill="#101323"]):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  fill: var(--a4-muted);
}

/* Точечная подложка превью шаблонов — белая картинка, в тёмной теме гасим */
html[data-a4doc-theme="dark"] img[src="/card_bg.svg"] {
  opacity: 0.06;
}

/* Крестик «закрыть редактор» справа от «Экспорт» (panel-bridge.js) */
.a4doc-close {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-left: 10px;
  border: 1px solid var(--a4-border);
  border-radius: 9999px;
  background: var(--a4-bg);
  color: var(--a4-text);
  cursor: pointer;
  transition: background-color 0.15s;
}
.a4doc-close:hover {
  background: var(--a4-subtle);
}

/* Иконки панели вставки — тёмные картинки; в тёмной теме инвертируем все,
 * кроме фиолетовых «ИИ» и «Блоки» */
html[data-a4doc-theme="dark"] img[src^="/figma/presentation-actions/"]:not([src$="/ai.svg"]):not([src$="/blocks.svg"]) {
  filter: invert(1) brightness(0.85);
}

/*
 * Общие правила по оттенку, а не по списку: светлые рамки и фоны Presenton
 * (#D…, #E…, #F…) — в том числе с прозрачностью (/60) и адаптивными
 * префиксами (xl:border-[#EDEEEF]) — в наши. Списком их не угнаться.
 */
:is([class*="border-[#D"], [class*="border-[#E"], [class*="border-[#F"], [class*="border-[#d"], [class*="border-[#e"], [class*="border-[#f"], [class*="border-white"]):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  border-color: var(--a4-border) !important;
}
html[data-a4doc-theme="dark"] :is([class*="bg-[#D"], [class*="bg-[#E"], [class*="bg-[#F"], [class*="bg-[#d"], [class*="bg-[#e"], [class*="bg-[#f"], [class*="bg-white/"]):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  background-color: var(--a4-subtle) !important;
}
html[data-a4doc-theme="dark"] :is([class*="bg-[#FFFEFF]"], [class*="bg-[#FEFEFF]"], [class*="bg-[#FFFFFF]"]):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  background-color: var(--a4-bg) !important;
}
/* Сиреневые подложки активных пунктов («ИИ», «Изображения») — мягкий акцент */
html[data-a4doc-theme="dark"] :is([class*="bg-[#F4F3FF]"], [class*="bg-[#F4F1FF]"], [class*="bg-[#F7F5FF]"], [class*="bg-[#EEF0FF]"], [class*="bg-[#EDE9FE]"]):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  background-color: var(--a4-accent-soft) !important;
}

/* Окно «Создаём презентацию»: сиреневая волна внизу — в тёмной теме гасим */
html[data-a4doc-theme="dark"] .overlay-loader-dots ~ svg {
  opacity: 0.12;
}

/* Кнопка темы рядом с крестиком (panel-bridge.js) — как крестик */
.a4doc-theme-toggle {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-left: 10px;
  border: 1px solid var(--a4-border);
  border-radius: 9999px;
  background: var(--a4-bg);
  color: var(--a4-text);
  cursor: pointer;
  transition: background-color 0.15s;
}
.a4doc-theme-toggle:hover {
  background: var(--a4-subtle);
}

/* Текст плана и ответов чата — типографика Tailwind (.prose) со своими
 * переменными цвета: заголовки, жирное, маркеры, ссылки, цитаты */
html[data-a4doc-theme="dark"] .prose:not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  --tw-prose-body: var(--a4-muted);
  --tw-prose-headings: var(--a4-text);
  --tw-prose-lead: var(--a4-muted);
  --tw-prose-links: var(--a4-accent-text);
  --tw-prose-bold: var(--a4-text);
  --tw-prose-counters: var(--a4-faint);
  --tw-prose-bullets: var(--a4-faint);
  --tw-prose-hr: var(--a4-border);
  --tw-prose-quotes: var(--a4-text);
  --tw-prose-quote-borders: var(--a4-border);
  --tw-prose-captions: var(--a4-faint);
  --tw-prose-code: var(--a4-text);
  --tw-prose-th-borders: var(--a4-border);
  --tw-prose-td-borders: var(--a4-border);
}
html[data-a4doc-theme="dark"] .prose :is(h1, h2, h3, h4, h5, h6, strong, b):not(:is([style*="width: 1280px"], [class~="w-[1280px]"], [data-slide-thumbnail-index], [data-tailwind-runtime-scope]) *) {
  color: var(--a4-text) !important;
}


/* Боковая панель инструментов: в колонке остаются только иконки, название
 * всплывает подсказкой. Подпись убирает и data-a4doc-tip проставляет
 * i18n-runtime.js — он же опознаёт эти кнопки (их панели у Presenton три, и
 * лежат они то в nav, то в div, поэтому целимся в атрибут, а не в место). */
[data-a4doc-tip] {
  position: relative;
  /* Без подписи кнопка должна быть квадратной: высота и отступы у Presenton
   * рассчитаны на две строки (иконка + текст), иначе она остаётся вытянутой */
  gap: 0 !important;
  width: 46px !important;
  height: 46px !important;
  padding: 0 !important;
}

/* Подсказка — слева от кнопки, чтобы не уезжать за край окна */
[data-a4doc-tip]::after {
  content: attr(data-a4doc-tip);
  position: absolute;
  right: calc(100% + 8px);
  top: 50%;
  transform: translateY(-50%);
  z-index: 50;
  padding: 4px 8px;
  border: 1px solid var(--a4-border);
  border-radius: 6px;
  background: var(--a4-bg);
  color: var(--a4-text);
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.12s;
}
[data-a4doc-tip]:hover::after,
[data-a4doc-tip]:focus-visible::after {
  opacity: 1;
  visibility: visible;
}

/* Без подписей разделители между кнопками лишние: раньше они отделяли
 * подпись одной кнопки от иконки следующей, теперь в колонке одни иконки. */
nav > div[class~="border-t"],
nav > div[class~="h-px"] {
  display: none;
}

/* Иконка без подписи — единственный различитель кнопки, поэтому крупнее */
[data-a4doc-tip] > span:first-child {
  height: 34px;
  width: 34px;
}
/* В редакторе презентации иконка — <img>, в редакторе шаблона — <svg> */
[data-a4doc-tip] :is(img, svg) {
  height: 20px;
  width: 20px;
}

/* ── Кнопки «ИИ» и «Блоки» вверху правой панели ──────────────────────────
 *
 * У Presenton подпись обеих всегда сиреневая (text-[#7A5AF8]), а выбранная
 * отличается только белой заливкой иконки и тенью, — в тёмной теме обе
 * выглядят одинаково подсвеченными и не читаются как кнопки. Возвращаем
 * различие: невыбранная приглушена, выбранная акцентная и с заливкой.
 * Подложку группы (инлайновый rgba(244,243,255,.60), отсюда !important)
 * переводим на наши токены. */
aside[aria-label="Editor tools"] > div:first-child {
  background: var(--a4-subtle) !important;
}

aside[aria-label="Editor tools"] > div:first-child button {
  border-radius: 10px;
  cursor: pointer;
  transition: background-color 0.15s, color 0.15s;
}
aside[aria-label="Editor tools"] > div:first-child button:disabled {
  cursor: not-allowed;
}

/* Подпись: приглушённая по умолчанию */
aside[aria-label="Editor tools"] > div:first-child button > span:last-child {
  color: var(--a4-muted) !important;
}
aside[aria-label="Editor tools"] > div:first-child button:not(:disabled):hover {
  background: var(--a4-hover);
}

/* Выбранная: у Presenton заливка иконки белая — по ней её и отличаем */
aside[aria-label="Editor tools"] > div:first-child button:has(> span[class~="bg-white"]) > span:last-child {
  color: var(--a4-accent-text) !important;
  font-weight: 600;
}
aside[aria-label="Editor tools"] > div:first-child button:has(> span[class~="bg-white"]) {
  background: var(--a4-accent-soft);
}
aside[aria-label="Editor tools"] > div:first-child button > span:first-child[class~="bg-white"] {
  background: transparent !important;
  border-color: transparent !important;
}

/* Тень выбранной кнопки Presenton задаёт инлайново (без класса), поэтому
 * общее правило по [class*="shadow"] её не ловит — гасим отдельно */
aside[aria-label="Editor tools"] button > span[style*="box-shadow"],
aside[aria-label="Editor tools"] button > span {
  box-shadow: none !important;
}

/* Панель ИИ-чата редактора: у Presenton раскрытая ширина 383px (класс
 * xl:w-[383px] на том же контейнере, что держит колонку иконок). Для
 * переписки это узко — реплики рвутся на 3–4 слова. Расширяем; свёрнутое
 * состояние (xl:w-[90px], одни иконки) не трогаем. */
@media (min-width: 1280px) {
  [class~="xl:w-[383px]"] {
    width: 460px;
  }
}

/* ── Раздел «Шаблоны»: загрузка своего PPTX ──────────────────────────────
 *
 * Шапка страницы разбора — белая заливка с растворением (from-white via-white
 * to-white/0): в тёмной теме это светлая полоса поперёк экрана. Заливку берём
 * из наших токенов, растворение оставляем. */
html[data-a4doc-theme="dark"] [class~="bg-gradient-to-b"][class~="from-white"] {
  background-image: linear-gradient(
    to bottom,
    var(--a4-bg),
    var(--a4-bg),
    transparent
  );
}

/* Переключатель «Свои | Встроенные»: цвета заданы инлайново, поэтому только
 * !important. Выбранная — акцентом на мягкой заливке, невыбранная —
 * приглушённым текстом; в тёмной теме белое на белом читалось как пустая
 * таблетка. */
html[data-a4doc-theme="dark"] button[style*="background: rgb(244, 243, 255)"] {
  background: var(--a4-accent-soft) !important;
  color: var(--a4-accent-text) !important;
}
html[data-a4doc-theme="dark"] button[style*="background: transparent"][style*="color: rgb(58, 58, 58)"] {
  color: var(--a4-muted) !important;
}

/* Боковое меню Presenton (дашборд, шаблоны, сообщество, настройки) на
 * странице шаблонов: три пункта из четырёх ведут в разделы, закрытые в
 * nginx, — человек ушёл бы туда и вылетел обратно в кабинет. Четвёртый
 * («Шаблоны») — страница, на которой он и так находится. Раздел открывается
 * из кабинета и возвращает в кабинет, поэтому меню убираем целиком. */
aside[aria-label="Dashboard sidebar"] {
  display: none !important;
}

/* Логотип Presenton в шапке разбора шаблона ведёт в дашборд — закрыт в
 * nginx, уход туда выбрасывает человека в кабинет. Убираем: возврат в
 * кабинет делает крестик панели. */
a[href="/dashboard"][aria-label="Dashboard"] {
  display: none !important;
}

/* Подложка группы кнопок в редакторе шаблона: у Presenton она задана классом
 * bg-[rgba(244,243,255,0.6)] — сиреневая, в тёмной теме светлым пятном. В
 * списки выше не попала: там цвета в hex, а этот с прозрачностью. */
html[data-a4doc-theme="dark"] [class*="bg-[rgba(244,243,255"] {
  background-color: var(--a4-subtle) !important;
}

/* Выбранная кнопка панели: у Presenton иконка получает белую заливку и
 * тень — в тёмной теме это белая заплатка. Отмечаем выбор акцентом, как
 * в остальном интерфейсе; теней у нас нет нигде. */
[data-a4doc-tip] > span:first-child {
  box-shadow: none !important;
}
html[data-a4doc-theme="dark"] [data-a4doc-tip] > span[class~="bg-white"] {
  background: var(--a4-accent-soft) !important;
  border-color: transparent !important;
}
