/* Палитра один-в-один из lib/theme.dart — чтобы веб и телефон читались как одно приложение.
   Меняя цвет здесь, поменяйте и там: другого способа удержать их вместе нет, общего источника у Dart и CSS
   не бывает. */

:root {
  /* Сукно: синее, а не зелёное — это общий тон приложения. */
  --felt-top: #0E3A66;
  --felt-bottom: #06233F;
  --felt-glow: #1C6CB0;

  /* Классическое ЗЕЛЁНОЕ сукно — только там, где стол должен читаться традиционно (шахматы, рулетка). */
  --felt-green-top: #0F5132;
  --felt-green-bottom: #06371F;
  --felt-green-glow: #1B7A4D;

  /* Деньги ВСЕГДА золотые: монеты, ставки, банк, выплаты. Синим не перекрашивать никогда. */
  --gold: #E8C46A;
  --gold-deep: #B8902F;

  /* Обычный акцент (не деньги) — синий, под сукно. */
  --accent: #53A6FF;
  --accent-deep: #2E6BB8;

  /* Карты. */
  --card-face: #FBFAF5;
  --card-edge: #E3DECB;
  --card-back-ink: #7A1228;
  --card-back-ink-deep: #4A0A18;

  /* Тёмный фон ОСНОВНЫХ экранов (лобби, люди, профиль, магазин) — как в мобильном: там Material 3
     dark от синего seed, почти чёрный с холодным отливом. Синее сукно осталось входу и матчам. */
  --bg: #0F1216;
  --bg-elev: #171C22;

  /* Текст и поверхности. */
  --ink: #F2F6FB;
  --ink-dim: rgba(242, 246, 251, 0.66);
  --ink-faint: rgba(242, 246, 251, 0.40);
  --surface: rgba(255, 255, 255, 0.06);
  --surface-strong: rgba(255, 255, 255, 0.10);
  --surface-sunken: rgba(0, 0, 0, 0.24);
  --line: rgba(255, 255, 255, 0.12);
  --line-strong: rgba(255, 255, 255, 0.22);

  --danger: #FF6B6B;
  --danger-deep: #B03A3A;
  --success: #5BD98A;
  --warn: #FFC44D;

  /* Геометрия. */
  --r-sm: 8px;
  --r-md: 14px;
  --r-lg: 20px;
  --r-pill: 999px;

  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;

  /* Тени — повторяют AppTheme.cardShadow(elevation). */
  --shadow-1: 0 3px 8px rgba(0, 0, 0, 0.35);
  --shadow-2: 0 5px 13px rgba(0, 0, 0, 0.35);
  --shadow-3: 0 8px 21px rgba(0, 0, 0, 0.38);

  /* Кривые Flutter в переводе на CSS. easeOutCubic — рабочая лошадка всех появлений. */
  --ease-out: cubic-bezier(0.215, 0.61, 0.355, 1);
  --ease-in-out: cubic-bezier(0.645, 0.045, 0.355, 1);
  --ease-emph: cubic-bezier(0.2, 0, 0, 1);
  --dur-fast: 140ms;
  --dur: 240ms;
  --dur-slow: 420ms;

  /* Шрифт. В pubspec.yaml своих шрифтов нет — приложение рисует дефолтным Roboto, который Flutter носит с
     собой. В вебе его надо назвать явно, иначе Safari подставит San Francisco и метрики поедут. */
  --font: Roboto, 'Helvetica Neue', Helvetica, Arial, system-ui, sans-serif;
  --font-num: 'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
}

/* Фон приложения — тот же радиальный «прожектор» на сукне, что и во Flutter (AppTheme.feltSpotlight):
   светлое пятно чуть выше центра, к краям уходящее в тёмно-синее. */
/* Фоны матчей — ровно те же, что у Scaffold соответствующих экранов Flutter: у каждого стола свой
   плоский тон, а «прожектор» сукна остаётся только дураку (.felt-blue ниже). */
.match-bg-Battleship { background: #0A1622; }
.match-bg-Pool { background: #0E1116; }
.match-bg-Monopoly { background: #0C2A19; }

.felt-blue {
  background:
    radial-gradient(120% 110% at 50% 42.5%, var(--felt-glow) 0%, var(--felt-top) 45%, var(--felt-bottom) 100%);
}

.felt-green {
  background:
    radial-gradient(120% 110% at 50% 42.5%, var(--felt-green-glow) 0%, var(--felt-green-top) 45%, var(--felt-green-bottom) 100%);
}
