/* ============================================================
   theme-apple.css — интеграция нового дизайна (Apple-style) в «Тортугу».

   === ЗАЧЕМ ЭТОТ ФАЙЛ И ПОЧЕМУ ОН ПОСЛЕДНИЙ ===
   Новый дизайн построен на CSS-токенах: --bg, --panel, --border, --accent…
   Существующий интерфейс (midnight.css, nightfall.css) построен на ДРУГИХ
   именах: --canvas, --surface, --line, --primary… плюс содержит сотни
   жёстко прописанных цветов вида #191b20.

   Поэтому простого «добавить тему» недостаточно. Этот файл делает две вещи:
     1. МОСТ ТОКЕНОВ — старые имена переопределяются через новые. Одна правка
        (--surface: var(--panel)) мгновенно перекрашивает все правила
        midnight.css, которые писались через var(--surface).
     2. ТОЧЕЧНЫЕ ПЕРЕОПРЕДЕЛЕНИЯ — те места, где цвет зашит литералом,
        перебиваем явно. Все они собраны здесь, сгруппированы по зонам
        интерфейса, чтобы их можно было править без поиска по трём файлам.

   === ПОЧЕМУ НЕ ПОДКЛЮЧАЕМ base.css ИЗ ДИЗАЙН-ПАПКИ НАПРЯМУЮ ===
   base.css описывает ДРУГУЮ разметку (.entry-card, .app-nav, .queue li,
   .room) — это превью-макет, а не реальный DOM приложения. Подключив его,
   мы получили бы конфликтующие правила и `* { margin:0 }`, ломающий
   layout.css. Поэтому оттуда взяты ТОЛЬКО токены и визуальные решения,
   а селекторы здесь — реальные (#roomList, .room-choice, .playlist li…).

   === КАК ВКЛЮЧАЕТСЯ ===
   Файл работает только когда на <body> есть класс apple-ui + theme-*.
   Ставит их theme-switcher.js. Без них интерфейс выглядит ровно как раньше
   (тема «Ночь» = прежний nightfall, этот файл не применяется вовсе).
   ============================================================ */


/* ============================================================
   1. ТОКЕНЫ ТЕМ
   Каждая тема задаёт палитру на body. Значения взяты из
   themes/light.css, dark.css, glass.css дизайн-макета.
   ============================================================ */

/* --- Тема A · «Дневной сеанс»: светлый, как apple.com --- */
body.theme-light {
  --bg: #f5f5f7;
  --bg-accent: radial-gradient(900px 500px at 85% -5%, rgba(0,113,227,.06), transparent 60%);
  --panel: #ffffff;
  --panel-raised: #ffffff;
  --field: #ffffff;
  --border: #d2d2d7;
  --border-soft: rgba(0,0,0,.07);
  --text: #1d1d1f;
  --muted: #6e6e73;
  --faint: #86868b;
  --accent: #0071e3;
  --accent-text: #ffffff;
  --accent-soft: rgba(0,113,227,.10);
  --accent-hover: #0077ed;
  --green: #34c759;
  --red: #ff3b30;
  --shadow-card: 0 1px 2px rgba(0,0,0,.04), 0 10px 34px rgba(0,0,0,.07);
  --shadow-float: 0 18px 60px rgba(0,0,0,.16);
  --blur: none;
  /* Стрелка <select>: CSS-переменную НЕЛЬЗЯ подставить внутрь url("data:…"),
     поэтому держим готовую картинку целиком, по одной на тему (цвет штриха
     совпадает с --muted). */
  --chevron-bg: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%236e6e73' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  color-scheme: light;
}

/* --- Тема B · «Полночь»: тёмный, в духе Apple TV+ --- */
body.theme-dark {
  --bg: #000000;
  --bg-accent: radial-gradient(1100px 600px at 50% -10%, rgba(88,86,214,.14), transparent 60%);
  --panel: #1c1c1e;
  --panel-raised: #2c2c2e;
  --field: #2c2c2e;
  --border: #3a3a3c;
  --border-soft: rgba(255,255,255,.08);
  --text: #f5f5f7;
  --muted: #a1a1a6;
  --faint: #86868b;
  --accent: #0a84ff;
  --accent-text: #ffffff;
  --accent-soft: rgba(10,132,255,.16);
  --accent-hover: #409cff;
  --green: #30d158;
  --red: #ff453a;
  --shadow-card: 0 1px 2px rgba(0,0,0,.4), 0 12px 40px rgba(0,0,0,.5);
  --shadow-float: 0 20px 70px rgba(0,0,0,.7);
  --blur: none;
  --chevron-bg: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23a1a1a6' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  color-scheme: dark;
}

/* --- Тема C · «Стекло»: полупрозрачные blur-панели поверх фона --- */
body.theme-glass {
  --bg: #0a0d14;
  --bg-accent:
    radial-gradient(1000px 620px at 18% 8%, rgba(64,120,255,.22), transparent 62%),
    radial-gradient(900px 620px at 84% 88%, rgba(190,80,255,.14), transparent 60%),
    radial-gradient(700px 500px at 70% 20%, rgba(255,120,90,.10), transparent 60%);
  --panel: rgba(255,255,255,.055);
  --panel-raised: rgba(255,255,255,.09);
  --field: rgba(255,255,255,.07);
  --border: rgba(255,255,255,.16);
  --border-soft: rgba(255,255,255,.10);
  --text: #f2f4f8;
  --muted: #b6bcc9;
  --faint: #8b93a3;
  --accent: #5eb0ff;
  --accent-text: #07131f;
  --accent-soft: rgba(94,176,255,.14);
  --accent-hover: #7cc0ff;
  --green: #3ddb82;
  --red: #ff6a5e;
  --shadow-card: 0 1px 0 rgba(255,255,255,.06) inset, 0 20px 60px rgba(0,0,0,.35);
  --shadow-float: 0 30px 90px rgba(0,0,0,.55);
  --blur: blur(26px) saturate(150%);
  --chevron-bg: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23b6bcc9' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  color-scheme: dark;
}

/* Общие для всех трёх тем геометрические токены */
body.apple-ui {
  --radius-l: 22px;
  --radius-m: 14px;
  --radius-s: 10px;
  --font: -apple-system, BlinkMacSystemFont, "SF Pro Display",
          "Segoe UI Variable Display", "Segoe UI", "Helvetica Neue", sans-serif;
}


/* ============================================================
   2. МОСТ ТОКЕНОВ: старые имена → новые
   Это ядро интеграции. midnight.css и nightfall.css написаны через
   --canvas/--surface/--line/--primary, поэтому переопределив ИХ,
   мы перекрашиваем десятки правил разом, не трогая те файлы.
   ============================================================ */

body.apple-ui {
  /* МАППИНГ только тех имён, которых НЕТ в новых темах. Новые темы (секция 1)
     задают --bg/--panel/--border/--text/--muted/--accent/--field напрямую на
     body.theme-*, а midnight.css читает --canvas/--surface/--line/--primary.
     Связываем вторые с первыми.
     ВАЖНО: НЕ пишем здесь `--text: var(--text)` и т.п. — само-ссылка на том же
     элементе создаёт CSS-цикл, переменная становится invalid, и тема ломается.
     Имена, совпадающие в обеих системах (--text/--muted/--accent/--field/
     --panel), просто наследуем из темы — их маппить не нужно. */
  /* Фолбэки обязательны: :root в midnight.css объявляет --panel: var(--surface),
     а здесь --surface: var(--panel). Если на body окажется apple-ui БЕЗ класса
     темы, обе переменные сошлются друг на друга → цикл → невалидные значения.
     Второй аргумент var() разрывает его: при отсутствии --panel берётся литерал. */
  --canvas: var(--bg, #f5f5f7);
  --surface: var(--panel, #ffffff);
  --surface-raised: var(--panel-raised, #ffffff);
  --line: var(--border, #d2d2d7);
  --primary: var(--accent, #0071e3);
  --bronze: var(--accent);
  --parchment-dim: var(--muted);
  --ui-font: var(--font);
  --plyr-color-main: var(--accent);
  --plyr-font-family: var(--font);
  font-family: var(--font);
}

/* Фон страницы: однотонная подложка + мягкий акцентный градиент темы.
   nightfall-картинка back.png в apple-темах не используется — вместо неё
   градиент из --bg-accent (в glass он насыщенный, в light почти незаметен). */
body.apple-ui {
  background-color: var(--bg);
  background-image: var(--bg-accent);
  background-attachment: fixed;
  color: var(--text);
  letter-spacing: -0.011em;
}

/* Ночной «туман» nightfall.css (::before с радиальными градиентами) в
   apple-темах лишний — его рисует --bg-accent. */
body.apple-ui::before,
body.apple-ui::after { display: none; }

/* Скроллбары в цвет темы (в midnight.css зашит #444852) */
body.apple-ui ::-webkit-scrollbar { width: 8px; height: 8px; }
body.apple-ui ::-webkit-scrollbar-track { background: transparent; }
body.apple-ui ::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--muted) 35%, transparent);
  border-radius: 10px;
}
body.apple-ui ::-webkit-scrollbar-thumb:hover {
  background: color-mix(in srgb, var(--muted) 55%, transparent);
}
body.apple-ui ::selection { background: var(--accent-soft); color: var(--text); }


/* ============================================================
   3. ЕДИНАЯ СИСТЕМА КНОПОК
   Все кнопки интерфейса приводятся к трём видам + иконочная круглая.
   Раньше каждый блок красил свои кнопки отдельным литералом
   (#2b3548, #30343e, #282b32…) — отсюда разнобой.
   ============================================================ */

/* Базовая форма любой кнопки: pill (скругление 999px), плавные переходы,
   лёгкое уменьшение при нажатии — как в дизайн-макете (.pill-btn). */
body.apple-ui button {
  font-family: var(--font);
  font-weight: 500;
  transition: transform .18s cubic-bezier(.32,.72,0,1),
              background .15s, border-color .15s, opacity .15s;
}
body.apple-ui button:active:not(:disabled) { transform: scale(.97); }
body.apple-ui button:disabled { opacity: .45; cursor: not-allowed; }

/* --- Вид 1: PRIMARY (акцентная, залитая) ---
   Сюда попадают: «Сохранить», «Включить фильм», кнопка входа, «Фильм»
   в быстрой панели хоста. */
body.apple-ui .room-submit,
body.apple-ui #loginSubmit,
body.apple-ui .host-quick-bar #openFilmBtn,
body.apple-ui .request-approve {
  background: var(--accent);
  border: 1px solid transparent;
  color: var(--accent-text);
  border-radius: 999px;
  font-weight: 500;
  box-shadow: none;
}
body.apple-ui .room-submit:hover:not(:disabled),
body.apple-ui #loginSubmit:hover:not(:disabled),
body.apple-ui .host-quick-bar #openFilmBtn:hover {
  background: var(--accent-hover);
  opacity: .92;
}

/* --- Вид 2: SECONDARY (контурная «призрачная») ---
   Верхняя навигация, быстрые кнопки хоста, «В очередь», стрелки очереди,
   кнопки в библиотеке и истории. */
body.apple-ui .view-controls button,
body.apple-ui .host-quick-bar button,
body.apple-ui .secondary-action,
body.apple-ui .queue-action,
body.apple-ui .library-item button,
body.apple-ui .history-item button,
body.apple-ui .host-pane button:not(.room-submit),
body.apple-ui .empty-video button,
body.apple-ui .btn-join,
body.apple-ui #voiceSection #btnJoinVoice,
body.apple-ui .local-controls-row button,
body.apple-ui .subtitle-toggle,
body.apple-ui #realtimeSubtitleToggle,
body.apple-ui #retryFileSubtitles,
body.apple-ui #retryPlaybackBtn,
body.apple-ui .create-room-shortcut,
body.apple-ui .request-deny {
  background: color-mix(in srgb, var(--muted) 8%, transparent);
  border: 1px solid var(--border-soft);
  color: var(--text);
  border-radius: 999px;
}
body.apple-ui .view-controls button:hover,
body.apple-ui .host-quick-bar button:hover,
body.apple-ui .secondary-action:hover,
body.apple-ui .library-item button:hover,
body.apple-ui .history-item button:hover,
body.apple-ui .host-pane button:not(.room-submit):hover,
body.apple-ui .empty-video button:hover,
body.apple-ui .btn-join:hover,
body.apple-ui .create-room-shortcut:hover,
body.apple-ui .reaction-bar button:hover {
  background: var(--accent-soft);
  border-color: color-mix(in srgb, var(--accent) 30%, transparent);
  color: var(--accent);
}
/* Кнопка-переключатель в нажатом состоянии (aria-pressed) — как активный chip */
body.apple-ui .view-controls button[aria-pressed="true"] {
  background: var(--accent-soft);
  border-color: color-mix(in srgb, var(--accent) 40%, transparent);
  color: var(--accent);
  font-weight: 600;
}

/* --- Вид 3: DANGER (красная контурная) --- */
body.apple-ui .room-delete,
body.apple-ui .subtitle-danger,
body.apple-ui .delete-room-confirm {
  background: color-mix(in srgb, var(--red) 12%, transparent);
  border: 1px solid transparent;
  color: var(--red);
  border-radius: 999px;
}
body.apple-ui .room-delete:hover,
body.apple-ui .subtitle-danger:hover {
  background: color-mix(in srgb, var(--red) 20%, transparent);
}

/* --- Вид 4: ICON ROUND (крестики закрытия) --- */
body.apple-ui #closeHostDialogBtn,
body.apple-ui .drawer-close {
  background: color-mix(in srgb, var(--muted) 10%, transparent);
  border: 1px solid var(--border-soft);
  color: var(--muted);
  border-radius: 50%;
}
body.apple-ui #closeHostDialogBtn:hover,
body.apple-ui .drawer-close:hover { background: var(--accent-soft); color: var(--accent); }

/* Кнопки реакций — прозрачные, но с акцентной подсветкой при наведении */
body.apple-ui .reaction-bar button {
  background: transparent; border: 1px solid transparent; border-radius: 999px;
}


/* ============================================================
   4. ЕДИНЫЙ СТИЛЬ ВЫПАДАЮЩИХ МЕНЮ
   В интерфейсе четыре разных «выпадающих» механизма. Раньше каждый
   выглядел по-своему. Приводим к одному языку: карточка с мягким
   скруглением, тонкая граница, тень и (в glass) размытие.
   ============================================================ */

/* --- 4.1. Нативные <select> ---
   Качество/пресет/звук/провайдер субтитров.
   appearance:none убирает системную стрелку, чтобы во всех темах и ОС
   она была одинаковой; свою рисуем data-URI (цвет — токен --chevron). */
body.apple-ui select,
body.apple-ui #qualitySelect,
body.apple-ui #screenPreset,
body.apple-ui #screenAudioMode,
body.apple-ui #subtitleProviderSelect,
body.apple-ui .subtitle-settings select,
body.apple-ui .host-pane select {
  appearance: none;
  -webkit-appearance: none;
  background-color: var(--field);
  background-image: var(--chevron-bg);   /* своя стрелка, цвет задаёт тема */
  background-repeat: no-repeat;
  background-position: right 13px center;
  border: 1px solid var(--border);
  border-radius: var(--radius-m);
  color: var(--text);
  font-family: var(--font);
  font-size: 13px;
  padding: 9px 36px 9px 14px;   /* справа запас под стрелку */
  cursor: pointer;
  transition: border-color .15s, box-shadow .15s;
}
body.apple-ui select:hover { border-color: var(--accent); }
body.apple-ui select:focus {
  outline: none;
  border-color: var(--accent);
  /* Кольцо фокуса — фирменный приём макета: 3.5px полупрозрачного акцента */
  box-shadow: 0 0 0 3.5px var(--accent-soft);
}
/* Сама всплывающая панель опций рисуется операционной системой и полностью
   не стилизуется. Но color-scheme (задан в токенах темы) заставляет ОС
   рисовать её тёмной в тёмных темах и светлой в светлой — поэтому список
   больше не «белый на тёмном». */
body.apple-ui select option { background-color: var(--panel); color: var(--text); }

/* --- 4.2. <details>/<summary> — раскрывающиеся секции ---
   «Инструменты демонстрации», «Диагностика плеера», «Настройки субтитров»,
   «Библиотека сервера», «История просмотра», «В разговоре», «Настройки звука»,
   «Закрепить сообщение», «Какие ссылки подойдут?». */
body.apple-ui details,
body.apple-ui .screen-tools,
body.apple-ui .player-diagnostics,
body.apple-ui .subtitle-settings,
body.apple-ui #voiceRoster,
body.apple-ui #voiceSettings,
body.apple-ui .source-help,
body.apple-ui .library-disclosure,
body.apple-ui .room-form {
  background: color-mix(in srgb, var(--muted) 5%, transparent);
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-m);
  backdrop-filter: var(--blur);
}
body.apple-ui summary {
  cursor: pointer;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--muted);
  padding: 11px 14px;
  border-radius: var(--radius-m);
  list-style: none;              /* убираем системный треугольник */
  display: flex; align-items: center; gap: 8px;
  transition: color .15s, background .15s;
}
body.apple-ui summary::-webkit-details-marker { display: none; }
body.apple-ui summary:hover { color: var(--text); background: var(--accent-soft); }
/* Своя стрелка вместо системной: вращается при раскрытии. */
body.apple-ui summary::before {
  content: "";
  width: 7px; height: 7px;
  flex-shrink: 0;
  border-right: 1.8px solid currentColor;
  border-bottom: 1.8px solid currentColor;
  transform: rotate(-45deg);      /* свёрнуто → смотрит вправо */
  transition: transform .2s cubic-bezier(.32,.72,0,1);
  margin-right: 2px;
}
body.apple-ui details[open] > summary::before { transform: rotate(45deg); }
body.apple-ui details[open] > summary { color: var(--text); }

/* --- 4.3. Диалоги (<dialog>) — пульт хоста и подтверждения --- */
body.apple-ui .host-dialog,
body.apple-ui .confirmation-dialog {
  background: var(--panel);
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-l);
  box-shadow: var(--shadow-float);
  backdrop-filter: var(--blur);
  color: var(--text);
}
body.apple-ui .host-dialog::backdrop,
body.apple-ui .confirmation-dialog::backdrop {
  background: color-mix(in srgb, var(--bg) 72%, transparent);
  backdrop-filter: blur(10px);
}

/* --- 4.4. Меню настроек внутри плеера Plyr ---
   Тоже выпадающее меню, поэтому приводим к тому же виду. */
body.apple-ui .plyr {
  --plyr-menu-background: var(--panel);
  --plyr-menu-color: var(--text);
  --plyr-menu-border-color: var(--border-soft);
  --plyr-menu-arrow-size: 0px;
  --plyr-video-control-color: var(--text);
  --plyr-color-main: var(--accent);
  --plyr-menu-radius: var(--radius-m);
  --plyr-menu-shadow: var(--shadow-float);
}
body.apple-ui .plyr__control:hover { background: var(--accent-soft) !important; }

/* --- 4.5. Переключатель темы (создаётся в theme-switcher.js) ---
   z-index выше всех слоёв приложения: экран входа — 1000, диалог удаления
   комнаты — 1200, уведомления — 1500. Переключатель должен быть кликабелен
   всегда, в том числе до входа. */
.theme-switcher { position: relative; z-index: 2000; }
.theme-switcher-popup {
  position: fixed; left: 16px; bottom: 70px; z-index: 2001;
  min-width: 218px; padding: 6px;
  background: var(--surface);           /* токены есть и в nightfall, и в apple */
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
  backdrop-filter: blur(20px) saturate(150%);
}
.theme-switcher-popup[hidden] { display: none; }
.theme-switcher-item {
  display: flex; align-items: center; gap: 10px; width: 100%;
  padding: 9px 11px; border: 0; border-radius: 11px;
  background: transparent; color: var(--text);
  font-size: 13px; text-align: left; cursor: pointer;
}
.theme-switcher-item:hover { background: var(--accent-soft); }
.theme-switcher-item[aria-checked="true"] { font-weight: 600; }
/* Кружок-образец палитры: видно, какая тема какая, без подписи */
.theme-swatch {
  width: 18px; height: 18px; border-radius: 50%; flex-shrink: 0;
  border: 1px solid var(--line);
}
.theme-switcher-item small { margin-left: auto; color: var(--muted); font-size: 10.5px; }


/* ============================================================
   5. КАРТОЧКИ И ПАНЕЛИ (перебиваем литералы midnight.css)
   ============================================================ */

body.apple-ui .rooms-column,
body.apple-ui .sidebar,
body.apple-ui .main-column {
  background: var(--panel);
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-l);
  box-shadow: var(--shadow-card);
  backdrop-filter: var(--blur);
}

/* --- Список комнат --- */
body.apple-ui .room-sidebar .room-choice {
  border: 1px solid transparent;
  border-radius: var(--radius-m);
  background: transparent;
}
body.apple-ui .room-sidebar .room-choice:hover {
  background: var(--accent-soft);
  border-color: transparent;
}
body.apple-ui .room-sidebar .room-choice.active,
body.apple-ui .room-sidebar .room-choice.active:hover {
  background: var(--accent-soft);
  border-color: color-mix(in srgb, var(--accent) 32%, transparent);
}
body.apple-ui .room-choice .room-icon {
  background: var(--bg);
  border: 1px solid var(--border-soft);
  color: var(--text);
  border-radius: 11px;
}
body.apple-ui .room-choice.active .room-icon {
  background: var(--accent-soft); color: var(--accent);
}
body.apple-ui .room-choice strong { color: var(--text); }
body.apple-ui .room-sidebar .room-choice small,
body.apple-ui .room-choice .room-film { color: var(--muted); }
body.apple-ui .room-sidebar-title,
body.apple-ui .panel-heading { color: var(--muted); }

/* --- Шапка --- */
body.apple-ui .brand h1 { color: var(--text); font-weight: 650; letter-spacing: -.02em; }
body.apple-ui .title-accent { color: var(--accent); }
body.apple-ui .brand-tagline { color: var(--muted); }
body.apple-ui .badge {
  background: var(--panel-raised); color: var(--muted);
  border: 1px solid var(--border-soft); border-radius: 999px;
}
body.apple-ui .badge.host {
  background: var(--accent-soft); color: var(--accent);
  border-color: color-mix(in srgb, var(--accent) 28%, transparent);
}
body.apple-ui .connection-status { color: var(--muted); }
body.apple-ui .view-caption { color: var(--faint); }

/* --- Плеер и вокруг него --- */
/* Контейнер плеера остаётся чёрным в любой теме: кино на светлом фоне
   не смотрят, а рамка плеера должна быть нейтральной. */
body.apple-ui .player-container { background: #000; }
body.apple-ui .empty-video {
  background:
    radial-gradient(120% 90% at 50% 110%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 60%),
    linear-gradient(160deg, #10151d, #05070b 70%);
}
body.apple-ui .empty-video .empty-symbol { color: var(--accent); }
body.apple-ui .empty-video h2 { color: #f5f5f7; }
body.apple-ui .empty-video p { color: #a1a1a6; }
body.apple-ui .info-panel { border-bottom: 1px solid var(--border-soft); }
body.apple-ui .film-heading small { color: var(--faint); text-transform: uppercase; letter-spacing: .07em; font-size: 11px; font-weight: 600; }
body.apple-ui #currentTitle { color: var(--text); font-weight: 640; }
body.apple-ui #syncStatus { color: var(--green); }

/* --- Очередь фильмов --- */
body.apple-ui .queue-heading,
body.apple-ui .queue-heading h3 { color: var(--text); font-weight: 640; font-size: 14px; }
body.apple-ui #queueCount {
  background: color-mix(in srgb, var(--muted) 14%, transparent);
  color: var(--faint); border-radius: 999px; padding: 2px 9px; font-size: 11.5px;
}
body.apple-ui .playlist li {
  background: color-mix(in srgb, var(--muted) 6%, transparent);
  border: 1px solid transparent;
  border-radius: var(--radius-m);
}
body.apple-ui .playlist li:hover { background: color-mix(in srgb, var(--muted) 12%, transparent); }
body.apple-ui .playlist li.active {
  background: var(--accent-soft);
  color: var(--accent); font-weight: 600;
}

/* --- Уведомления --- */
body.apple-ui .notice,
body.apple-ui .media-status {
  background: var(--panel-raised);
  border: 1px solid var(--border-soft);
  color: var(--text);
  border-radius: var(--radius-m);
  box-shadow: var(--shadow-card);
}
body.apple-ui .notice.error {
  background: color-mix(in srgb, var(--red) 14%, var(--panel-raised));
  color: var(--text);
  border-color: color-mix(in srgb, var(--red) 40%, transparent);
}
body.apple-ui .build-warning {
  background: color-mix(in srgb, #ff9f0a 16%, var(--panel-raised));
  color: var(--text);
  border-radius: var(--radius-m);
}


/* ============================================================
   6. ЧАТ И ГОЛОС
   ============================================================ */

body.apple-ui .sidebar-header { border-bottom: 1px solid var(--border-soft); color: var(--text); }
body.apple-ui .msg {
  background: color-mix(in srgb, var(--muted) 7%, transparent);
  border: 0; border-radius: var(--radius-m);
  color: var(--text);
}
body.apple-ui .msg.admin {
  background: var(--accent-soft);
}
body.apple-ui .msg-head strong { color: var(--text); font-weight: 600; }
/* Метка «Хост» — маленький акцентный чип, как .host-tag в макете */
body.apple-ui .msg-head .host-tag,
body.apple-ui .msg.admin .msg-head strong { color: var(--accent); }
body.apple-ui .msg-head time { color: var(--faint); }
body.apple-ui .chat-empty, body.apple-ui .system-msg { color: var(--muted); }
body.apple-ui .chat-input { border-top: 1px solid var(--border-soft); }
body.apple-ui .chat-input input {
  background: color-mix(in srgb, var(--muted) 8%, transparent);
  border: 1px solid transparent;
  border-radius: 999px;          /* поле чата — «пилюля», как в макете */
  color: var(--text);
}
body.apple-ui .chat-input input:focus {
  background: var(--field);
  border-color: var(--accent);
  box-shadow: 0 0 0 3.5px var(--accent-soft);
  outline: none;
}
/* Кнопка отправки — круглая акцентная (.send-btn в макете) */
body.apple-ui .chat-input button {
  background: var(--accent); border: 0; color: var(--accent-text);
  border-radius: 50%; width: 42px; height: 42px; flex-shrink: 0;
}
body.apple-ui .chat-input button:hover { background: var(--accent-hover); }
body.apple-ui .pinned-message,
body.apple-ui .pinned-section {
  background: var(--accent-soft);
  border-color: color-mix(in srgb, var(--accent) 24%, transparent);
  color: var(--text);
}
body.apple-ui #voiceSection {
  background: color-mix(in srgb, var(--muted) 5%, transparent);
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-m);
}
body.apple-ui #voiceSection .voice-heading strong { color: var(--text); }
body.apple-ui #voiceConnectionState, body.apple-ui #voiceEmpty,
body.apple-ui #voiceStatus, body.apple-ui #voiceRoster > summary,
body.apple-ui .voice-settings > summary { color: var(--muted); }
body.apple-ui #voiceUserCount {
  background: color-mix(in srgb, var(--muted) 14%, transparent); color: var(--text);
}
body.apple-ui .voice-settings { background: transparent; border-color: var(--border-soft); }
body.apple-ui #pinText {
  background: var(--field); border: 1px solid var(--border);
  color: var(--text); border-radius: var(--radius-m);
}
body.apple-ui #pinForm, body.apple-ui #pinnedMessage { color: var(--muted); }
/* Ползунки громкости в цвет темы */
body.apple-ui input[type="range"] { accent-color: var(--accent); }
body.apple-ui meter { accent-color: var(--green); }


/* ============================================================
   7. ПУЛЬТ ХОСТА (диалог)
   ============================================================ */

body.apple-ui .host-dialog-heading h2 { color: var(--text); font-weight: 650; letter-spacing: -.02em; }
body.apple-ui .host-dialog-heading small { color: var(--muted); }
/* Табы пульта — «сегментированный контрол» из макета (.segmented) */
body.apple-ui .host-tabs {
  background: color-mix(in srgb, var(--muted) 12%, transparent);
  border: 0; padding: 3px; gap: 2px; border-radius: 12px;
}
body.apple-ui .host-tabs button {
  background: transparent; border: 0; color: var(--muted);
  border-radius: 9px; font-weight: 500;
}
body.apple-ui .host-tabs button[aria-selected="true"] {
  background: var(--panel-raised); color: var(--text);
  box-shadow: 0 1px 4px rgba(0,0,0,.14); font-weight: 600;
}
/* В тёмных темах panel-raised может быть полупрозрачным (glass) —
   тогда активный таб дополнительно подсвечиваем, чтобы он читался. */
body.theme-glass .host-tabs button[aria-selected="true"] {
  background: rgba(255,255,255,.16); color: #fff; box-shadow: none;
}
body.apple-ui .host-pane h3 { color: var(--text); font-weight: 640; }
body.apple-ui .host-pane label { color: var(--muted); }
body.apple-ui .host-pane input:not([type="checkbox"]):not([type="radio"]),
body.apple-ui .host-pane textarea,
body.apple-ui .host-pane .room-form input {
  background: var(--field);
  border: 1px solid var(--border);
  color: var(--text);
  border-radius: var(--radius-m);
}
body.apple-ui .host-pane input:focus,
body.apple-ui .host-pane textarea:focus {
  outline: none; border-color: var(--accent);
  box-shadow: 0 0 0 3.5px var(--accent-soft);
}
/* Карточка «Следующая глава» (.source-composer) */
body.apple-ui .source-composer {
  background: color-mix(in srgb, var(--muted) 5%, transparent);
  border: 1px solid var(--border-soft);
  border-left: 3px solid var(--accent);
  border-radius: var(--radius-l);
}
body.apple-ui .source-heading h3 { color: var(--text); font-weight: 640; }
body.apple-ui .section-eyebrow {
  color: var(--faint); text-transform: uppercase;
  letter-spacing: .07em; font-size: 11px; font-weight: 600;
}
body.apple-ui .source-badge {
  background: var(--accent-soft); color: var(--accent);
  border: 1px solid transparent; border-radius: 999px;
}
body.apple-ui .source-step {
  background: color-mix(in srgb, var(--muted) 16%, transparent);
  color: var(--muted); border-radius: 6px;
}
body.apple-ui .source-form input {
  background: var(--field); border: 1px solid var(--border); color: var(--text);
  border-radius: var(--radius-m);
}
body.apple-ui .source-form input:focus {
  outline: none; border-color: var(--accent); box-shadow: 0 0 0 3.5px var(--accent-soft);
}
body.apple-ui .source-hint,
body.apple-ui .source-format,
body.apple-ui .source-help, body.apple-ui .source-help p { color: var(--muted); }
body.apple-ui .source-help { border-color: var(--border-soft); }
body.apple-ui .source-result { color: var(--accent); }
body.apple-ui .confirmation-dialog h2 { color: var(--text); }
body.apple-ui .confirmation-dialog p { color: var(--muted); }
body.apple-ui .workspace-label,
body.apple-ui .quick-label {
  color: var(--faint); text-transform: uppercase;
  letter-spacing: .07em; font-size: 10.5px; font-weight: 600;
}
body.apple-ui .host-quick-bar { border-bottom: 1px solid var(--border-soft); }
body.apple-ui .resize-handle::after { background: var(--border); }
body.apple-ui .resize-handle:hover::after { background: var(--accent); }


/* ============================================================
   8. ПАНЕЛЬ ЗАЯВОК (queue-panel.css) на новых токенах
   ============================================================ */

body.apple-ui .request-form input[type="url"],
body.apple-ui #requestLibrarySearch {
  background: var(--field); border: 1px solid var(--border);
  color: var(--text); border-radius: var(--radius-m);
}
body.apple-ui .request-form input:focus,
body.apple-ui #requestLibrarySearch:focus {
  outline: none; border-color: var(--accent); box-shadow: 0 0 0 3.5px var(--accent-soft);
}
body.apple-ui .request-item {
  background: color-mix(in srgb, var(--muted) 6%, transparent);
  border: 1px solid transparent;
  border-radius: var(--radius-m);
}
body.apple-ui .request-item[data-status="pending"] {
  border-color: color-mix(in srgb, var(--accent) 35%, transparent);
  background: var(--accent-soft);
}
body.apple-ui .request-item[data-status="approved"] {
  border-color: color-mix(in srgb, var(--green) 35%, transparent);
}
body.apple-ui .request-item[data-status="denied"] {
  border-color: color-mix(in srgb, var(--red) 30%, transparent); opacity: .75;
}
body.apple-ui .request-title { color: var(--text); }
body.apple-ui .request-meta { color: var(--muted); }
body.apple-ui .request-status[data-status="pending"] { color: var(--accent); }
body.apple-ui .request-status[data-status="approved"] { color: var(--green); }
body.apple-ui .request-status[data-status="denied"] { color: var(--red); }


/* ============================================================
   9. ЭКРАН ВХОДА
   ============================================================ */

body.apple-ui #nicknameOverlay {
  background-color: var(--bg);
  background-image: var(--bg-accent);
  background-attachment: fixed;
}
body.apple-ui .entry-brand > svg { stroke: var(--accent); }
body.apple-ui .entry-brand > span { color: var(--text); font-weight: 650; letter-spacing: -.02em; }
body.apple-ui .entry-brand small { color: var(--muted); }
body.apple-ui #loginForm {
  background: var(--panel);
  border: 1px solid var(--border-soft);
  border-radius: var(--radius-l);
  box-shadow: var(--shadow-float);
  backdrop-filter: var(--blur);
}
body.apple-ui #loginForm::before { display: none; }  /* ночная красная полоса не нужна */
body.apple-ui #loginForm h2 { color: var(--text); font-weight: 650; letter-spacing: -.028em; }
body.apple-ui #loginForm h2 em { color: var(--accent); }
body.apple-ui #loginForm p,
body.apple-ui .entry-kicker { color: var(--muted); }
body.apple-ui #loginForm label { color: var(--muted); }
body.apple-ui #loginForm input:not([type="radio"]) {
  background: var(--field); border: 1px solid var(--border);
  color: var(--text); border-radius: var(--radius-m); height: 46px;
}
body.apple-ui #loginForm input:focus {
  border-color: var(--accent); box-shadow: 0 0 0 3.5px var(--accent-soft);
}
/* Карточки выбора роли — как .role в макете */
body.apple-ui #loginForm .entry-role-card {
  background: var(--field);
  border: 1.5px solid var(--border);
  color: var(--muted);
  border-radius: var(--radius-m);
}
body.apple-ui #loginForm .entry-role-choice input:checked + .entry-role-card {
  border-color: var(--accent);
  background: var(--accent-soft);
  color: var(--accent);
}
body.apple-ui #loginForm .entry-role-card strong { color: inherit; }
body.apple-ui .entry-features span {
  border: 1px solid var(--border-soft); color: var(--muted); border-radius: 999px;
}
body.apple-ui .entry-form { border-color: var(--border-soft); }
body.apple-ui .entry-form-caption { color: var(--text); font-weight: 640; }
body.apple-ui .entry-footer { color: var(--faint); }
body.apple-ui .entry-note { color: var(--faint); }
body.apple-ui .remember-password { color: var(--muted); }
body.apple-ui .remember-password:hover { color: var(--text); }
body.apple-ui .remember-password input { accent-color: var(--accent); }
body.apple-ui #loginError { color: var(--red); }


/* ============================================================
   10. СЕКЦИЯ ДЕМОНСТРАЦИИ ЭКРАНА И ПРОЧЕЕ
   ============================================================ */

body.apple-ui #screenStatus,
body.apple-ui #screenMediaInfo,
body.apple-ui #screenTransportInfo,
body.apple-ui #screenQualityHint,
body.apple-ui #screenAudioStatus,
body.apple-ui .screen-quality-note,
body.apple-ui .screen-audio-hint { color: var(--muted); }
body.apple-ui #screenTitle { color: var(--text); font-weight: 640; }
/* Видео демонстрации — всегда на чёрном, как и кино */
body.apple-ui #screenVideo { background: #000; border-radius: var(--radius-m); }
body.apple-ui .subtitle-settings label { color: var(--muted); }
body.apple-ui #realtimeSubtitleStatus,
body.apple-ui .file-subtitle-status { color: var(--muted); }
/* Чип «В ЭФИРЕ» — красный пульсирующий индикатор */
body.apple-ui .liveChip {
  background: color-mix(in srgb, var(--red) 18%, transparent);
  color: var(--red);
  border: 1px solid color-mix(in srgb, var(--red) 45%, transparent);
}

/* «Лёгкий вид» в apple-темах отключает blur и тени — как и задумано */
body.apple-ui.light-effects .rooms-column,
body.apple-ui.light-effects .sidebar,
body.apple-ui.light-effects .main-column,
body.apple-ui.light-effects #loginForm,
body.apple-ui.light-effects .host-dialog {
  backdrop-filter: none;
  box-shadow: none;
}

/* В кинорежиме фон полностью чёрный в любой теме — ничто не отвлекает */
body.apple-ui.cinema-mode { background: #000; background-image: none; }
