/* Общий визуальный слой всей коллекции. Размеры игровых полей, координаты
   фигур и обработчики ходов остаются в стилях соответствующей игры.
   «--сб-текст» здесь больше не объявляется — раньше дублировала style.css
   и из-за порядка подключения побеждала, теперь единственное объявление
   живёт в style.css (то же число #f4f4ed), а страницы этого файла как
   и раньше читают переменную оттуда, просто без второй копии. */
:root {
  --сб-фон: #0c1216;
  --сб-поверхность: #151e23;
  --сб-текст-тихий: #a2afb7;
  --сб-акцент: #d2f76b;
  --коллекция-кромка: rgba(204,222,226,.14);
  --коллекция-панель: linear-gradient(145deg,#243038e6,#151e23f2 75%);
  --коллекция-тень: 0 12px 28px #00000024, inset 0 1px 0 #ffffff09;
}
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
html:not([data-фон]) .экран,
html[data-фон="сукно"] .экран {
  background: radial-gradient(ellipse at 16% -12%,#34535b35,transparent 54%),
              radial-gradient(ellipse at 100% 18%,#a3b8730c,transparent 45%),#0c1216;
}
body :is(h1,h2,h3,.карточка-входа__название,.карточка-профиля__имя,.дом-верх,.море-шапка) {
  text-shadow:none;
  font-family:'Onest',system-ui,sans-serif;
  letter-spacing:-.025em;
}
body :is(.дом-тихо,.море-тихо,.карточка-входа__подпись,.карточка-профиля__рейтинг) { text-shadow:none; }
body :is(.дом-игрок strong,.деберц-счёт-сторона strong,.панель-игрока-шахмат__часы,.панель-игрока-шашек__часы) {
  font-variant-numeric:tabular-nums;
}
/* Панели получают одинаковую глубину, а основной акцент остаётся один. */
body :is(.карточка-профиля,.карточка-входа,.вариант,.сводка,.карточка-тренировки,
 .дом-панель,.море-панель,.дом-игрок,.деберц-счёт-сторона,
 .панель-игрока-шахмат,.панель-игрока-шашек) {
  background:var(--коллекция-панель);
  border-color:var(--коллекция-кромка);
  box-shadow:var(--коллекция-тень);
}
body :is(.дом-игрок.ходит,.деберц-счёт-сторона--вы) {
  background:linear-gradient(140deg,#2c3c29,#19251e);
  border-color:#d2f76b8c;
  box-shadow:inset 0 1px 0 #edffb720,0 0 22px #c4ed5b0a;
}
body :is(.кнопка--главная,.карточка-входа.карточка-входа--играть-онлайн) {
  background:linear-gradient(130deg,#ddfc8d,#c5ee61);
  color:#17200d;
  border-color:#d8f98b;
  box-shadow:inset 0 1px 0 #ffffff65,0 5px 18px #b6df4620;
  text-shadow:none;
}
body :is(.кнопка--главная,.карточка-входа.карточка-входа--играть-онлайн):disabled {
  box-shadow:none;
}
body :is(.дом-вход,.море-вход):not(.кнопка--главная) {
  background:var(--коллекция-панель);
  border-color:var(--коллекция-кромка);
  box-shadow:var(--коллекция-тень);
}
body .кнопка:is(.дом-вход,.море-вход) { position:relative; padding-right:44px; }
body .кнопка:is(.дом-вход,.море-вход) > span { font-weight:400; line-height:1.45; }
body :is(.дом-вход,.море-вход)::after {
  content:'↗'; position:absolute; right:17px; top:50%; transform:translateY(-50%);
  font-size:22px; font-weight:400; opacity:.7;
}
/* Изображение в лобби — самостоятельная обложка. Дерево остаётся у столов. */
body #экран-лобби :is(.лобби__картинка,.дом-афиша,.море-афиша) {
  border:1px solid #b7c8c629;
  border-radius:22px;
  background-color:#101b20;
  box-shadow:0 20px 40px #0005,inset 0 1px 0 #ffffff10;
  overflow:hidden;
}
body #экран-лобби .лобби__картинка::before { display:none; }
body #экран-лобби .лобби__картинка::after {
  background:linear-gradient(0deg,#050b10b8,transparent 58%);
  box-shadow:inset 0 0 0 1px #ffffff08;
  border-radius:21px;
}
body #экран-лобби .лобби__рисунок { border-radius:21px; }
body #экран-лобби:has(img[src*="лобби-2026"]) { overflow-y:auto; }
body #экран-лобби:has(> .нижние-вкладки) {
  scroll-padding-bottom:calc(var(--вт-панель-низ) + 12px + var(--отступ-снизу));
}
body #экран-лобби .лобби__картинка:has(img[src*="лобби-2026"]) { aspect-ratio:1942/809; flex-shrink:0; }
body #экран-лобби figure.лобби__картинка .лобби__подпись {
  font-family:'Onest',system-ui,sans-serif;
  font-size:clamp(16px,3.8vw,21px);
  font-weight:700;
  line-height:1.3;
  letter-spacing:-.02em;
  text-shadow:0 2px 12px #0008;
  max-width:none; text-align:left; padding:0 18px; bottom:16px;
}
body #экран-лобби .лобби__картинка:not(:has(.лобби__подпись))::after {
  background:linear-gradient(0deg,#07101620,transparent 70%);
}
body .плитка-игры {
  box-shadow:inset 0 0 0 1px #e3eeed14,0 8px 20px #0004;
  filter:saturate(.9);
}
body :is(.нижние-вкладки,.дом-вкладки,.море-вкладки) {
  background:linear-gradient(180deg,#182127f2,#10181df8);
  border-top-color:#d7e6e61a;
  box-shadow:0 -8px 28px #0002;
}
body :is(.дом-вкладки,.море-вкладки) { padding:6px; border:1px solid #d7e6e61a; border-radius:20px; }
body :is(.дом-вкладки,.море-вкладки) .кнопка {
  background:transparent; border-color:transparent; box-shadow:none;
  font-size:13px; color:#b7c4cc;
}
body :is(.дом-вкладки,.море-вкладки) .кнопка:first-child { color:#d2f76b; background:#d2f76b09; }
/* Итоги и настройки читаются как отдельные уровни, не сливаясь со столом. */
body :is(.лист-ещё__лист,.плашка-завершить__окно,dialog) {
  background:linear-gradient(150deg,#253138,#172126 72%);
  border-color:#acbfbd30;
  box-shadow:0 28px 80px #0009,inset 0 1px 0 #ffffff0d;
}
body :is(.дом-итог-игрок,.море-итоги > div) {
  background:linear-gradient(135deg,#2a3934,#1d2a28);
  border-color:#a6bc9c33;
  box-shadow:inset 0 1px 0 #ffffff08;
}
body dialog::backdrop { background:#050b10ba; backdrop-filter:blur(8px); }
body :is(.дом-очередь,.море-сводка) { background:linear-gradient(135deg,#24373a,#18272a); border-color:#58797559; }
body .дом-очередь.ваш { background:linear-gradient(120deg,#dafa8b,#c3eb67); color:#15220c; }
body :is(.доска-шахмат-рамка,.доска-шашек-рамка,.дом-стол) {
  filter:drop-shadow(0 14px 16px #00000035);
}
/* Обратная связь только у интерфейсных кнопок: фигуры не получают
   transform/transition, которые могли бы вмешаться в игровую анимацию. */
body :is(.карточка-входа,.карточка-профиля,.дом-вход,.море-вход,.плитка-игры) {
  transition:transform .16s ease,box-shadow .2s ease,filter .2s ease;
}
@media(hover:hover) {
  body :is(.карточка-входа,.карточка-профиля,.дом-вход,.море-вход,.плитка-игры):not(:disabled):hover {
    transform:translateY(-2px);
    box-shadow:0 14px 30px #0005,inset 0 0 0 1px #d2f76b32;
    filter:brightness(1.06);
  }
}
body :is(.карточка-входа,.карточка-профиля,.дом-вход,.море-вход,.плитка-игры):not(:disabled):active { transform:scale(.985); }
@media(prefers-reduced-motion:reduce) {
  body :is(.карточка-входа,.карточка-профиля,.дом-вход,.море-вход,.плитка-игры) { transition:none; }
  body :is(.карточка-входа,.карточка-профиля,.дом-вход,.море-вход,.плитка-игры):hover,
  body :is(.карточка-входа,.карточка-профиля,.дом-вход,.море-вход,.плитка-игры):active { transform:none; }
}
