/* РУСФЛОУ · розыгрыш iPhone 18 - общие токены.
 *
 * Один файл на страницу участника и на админку: у них разный язык, но цвета,
 * шрифты и тёмная тема общие, и расходиться им нельзя.
 *
 * Токены из дизайна (Claude Design). Цвета фирстиля: зелёный #1a4126, золото
 * #ffc174, глубокий зелёный #14251a. Шрифты - локальные стеки: Cochin и Gill
 * Sans есть на устройствах Apple, остальным достаются Georgia и Trebuchet.
 * Внешних шрифтов нет - так велит CSP.
 *
 * Фон один на весь экран и на всё приложение в теме: страница не выглядит
 * карточкой внутри другой страницы.
 */

/* Gill Sans Bold из b2b: кириллица есть, знака ₽ нет - его подставит следующий шрифт.
 * Там, где Gill Sans установлен в системе (Apple), берётся системный. */
@font-face {
  font-family: "RF Gill Sans";
  src: url("/static/fonts/GillSans-Bold.ttf") format("truetype");
  font-weight: 600 700;
  font-style: normal;
  font-display: swap;
}

/* Cormorant Garamond: заголовки. Замена Cochin, у которого нет кириллицы. */
@font-face {
  font-family: "RF Cormorant";
  src: url("/static/fonts/CormorantGaramond-cyrillic.woff2") format("woff2");
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "RF Cormorant";
  src: url("/static/fonts/CormorantGaramond-latin.woff2") format("woff2");
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@property --rf-angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}

:root {
  color-scheme: light;

  --font-display: "RF Cormorant", Georgia, "Times New Roman", serif;
  --font-text: "Gill Sans", "Gill Sans MT", "Trebuchet MS", system-ui, sans-serif;
  --font-mono: ui-monospace, Menlo, Consolas, monospace;
  /* Жирные акценты: кнопки, суммы, число билетов, статусы. */
  --font-accent: "Gill Sans", "RF Gill Sans", "Gill Sans MT", "Trebuchet MS", system-ui, sans-serif;

  --ease-out: cubic-bezier(.2, .8, .2, 1);
  --ease-sheet: cubic-bezier(.32, .72, 0, 1);
  --ease-pop: cubic-bezier(.34, 1.56, .64, 1);

  --deep: #14251a;
  --bg: #faf8f5;
  --canvas: #f2efe9;
  --surface: #ffffff;
  --surface-muted: #f7f5f1;
  --line: #e2ded6;
  --line-strong: #cfcabf;

  --ink: #14251a;
  --ink-2: #33463a;
  --ink-3: #4a5a4e;
  --ink-4: #7b8580;
  --ink-amount-muted: #5c6660;

  --link: #1a4126;
  --link-hover: #2c6b40;
  --btn: #1a4126;
  --btn-ink: #ffffff;
  --btn-hover: #2c6b40;
  --btn-soft: #eef1ec;
  --btn-soft-ink: #14251a;
  --btn-disabled: #e8e4dc;
  --btn-disabled-ink: #6b776f;
  --check: #1a4126;
  --check-ink: #ffffff;
  --focus: #ffc174;

  --gold: #ffc174;
  --gold-hover: #ffd29a;

  /* Акцент бренда: на тёмной теме золото, на светлой зелёный. Золото на
     кремовом не читается, поэтому одним цветом на обе темы не обойтись.
     Кнопка «Участвовать» при этом золотая всегда: на ней тёмный текст. */
  --accent: #1a4126;
  /* Главная: тёплое свечение сверху, линейка под надписью, ореол за
     картинкой призов и её тень. Всё это часть сцены, а не интерфейса,
     поэтому живёт отдельными токенами. */
  --hero-halo: rgba(255, 193, 116, .3);
  --hero-rule: rgba(26, 65, 38, .35);
  --hero-glow: rgba(107, 31, 40, .16);
  --hero-glow-2: rgba(107, 31, 40, .07);
  --hero-hint: rgba(255, 255, 255, .72);
  --hero-shadow: rgba(20, 37, 26, .22);
  /* Ореолы за призами в обзоре, по одному на приз. */
  --glow-1: radial-gradient(50% 50% at 50% 45%, rgba(107, 31, 40, .16) 0%, rgba(107, 31, 40, .06) 55%, transparent 100%);
  --glow-2: radial-gradient(50% 50% at 50% 45%, rgba(122, 90, 28, .16) 0%, rgba(122, 90, 28, .06) 55%, transparent 100%);
  --glow-3: radial-gradient(50% 50% at 50% 45%, rgba(125, 58, 76, .16) 0%, rgba(125, 58, 76, .06) 55%, transparent 100%);
  --on-deep: #f4f1ea;
  --on-deep-2: #d6e3d9;

  --summary: #1a4126;
  --summary-ink: #ffffff;
  --summary-ink-2: #d6e3d9;

  --ok: #14663c;
  --ok-bg: #e7f2ea;
  --wait: #7a4f0d;
  --wait-bg: #fdf1dd;
  --fail: #7c3b33;
  --fail-bg: #f6eae7;
  --fail-field: #fdf7f6;
  --neutral-bg: #eef1ec;

  --shimmer-a: #eeeae3;
  --shimmer-b: #f7f5f1;
  --scrim: rgba(20, 37, 26, .42);
  --shadow-float: 0 18px 48px rgba(20, 37, 26, .18), 0 2px 8px rgba(20, 37, 26, .08);

  --radius-card: 16px;
  --radius-control: 14px;
  --pad-x: 20px;
}

@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;

    --bg: #14251a;
    --canvas: #22362a;
    --surface: #1c3526;
    --surface-muted: #182e21;
    --line: #2a4636;
    --line-strong: #3b5c48;

    --ink: #f4f1ea;
    --ink-2: #c9d6cc;
    --ink-3: #a7b8ac;
    --ink-4: #7f8f84;
    --ink-amount-muted: #a7b8ac;

    --link: #ffc174;
    --link-hover: #ffd29a;
    --btn: #ffc174;
    --btn-ink: #14251a;
    --btn-hover: #ffd29a;
    --btn-soft: #22362a;
    --btn-soft-ink: #f4f1ea;
    --btn-disabled: #22362a;
    --btn-disabled-ink: #7f8f84;
    --check: #ffc174;
    --check-ink: #14251a;

    --accent: #ffc174;
    --hero-halo: rgba(255, 193, 116, .12);
    --hero-rule: rgba(255, 193, 116, .5);
    --hero-glow: rgba(107, 31, 40, .85);
    --hero-glow-2: rgba(42, 16, 22, .55);
    --hero-hint: rgba(20, 37, 26, .55);
    --hero-shadow: rgba(0, 0, 0, .5);
    --glow-1: radial-gradient(50% 50% at 50% 45%, rgba(107, 31, 40, .85) 0%, rgba(42, 16, 22, .55) 55%, transparent 100%);
    --glow-2: radial-gradient(50% 50% at 50% 45%, rgba(122, 90, 28, .75) 0%, rgba(46, 37, 19, .5) 55%, transparent 100%);
    --glow-3: radial-gradient(50% 50% at 50% 45%, rgba(125, 58, 76, .8) 0%, rgba(44, 22, 32, .5) 55%, transparent 100%);

    --summary: #1a4126;
    --summary-ink: #f4f1ea;
    --summary-ink-2: #c9d6cc;

    --ok: #a8e2bd;
    /* Фоны плашек «принят», «ждём» и «не участвует» выровнены по светлоте
       (L* около 25): иначе зелёная выпирает, а красная кажется глуше. */
    --ok-bg: #184529;
    --wait: #f3cf8e;
    --wait-bg: #4a3a14;
    --fail: #f0b7ae;
    --fail-bg: #54302b;
    --fail-field: #2e1f1c;
    --neutral-bg: #22362a;

    --shimmer-a: #1c3526;
    --shimmer-b: #22362a;
    --scrim: rgba(4, 10, 7, .62);
    --shadow-float: 0 18px 48px rgba(0, 0, 0, .45), 0 2px 8px rgba(0, 0, 0, .3);
  }
}

/* Стенд генеральной репетиции: полоса поверх всех страниц - участника,
   админки и эфира. Операторы входят и на бой, и на стенд, и путать их
   нельзя. Нажатия проходят сквозь полосу. */
html[data-rehearsal]::after {
  content: "Репетиция · данные не настоящие";
  position: fixed;
  z-index: 1000;
  top: 0; left: 0; right: 0;
  padding: 2px 8px;
  background: repeating-linear-gradient(135deg, #f2b33d 0 12px, #e0a02c 12px 24px);
  color: #2a1d05;
  font: 700 11px/14px system-ui, sans-serif;
  letter-spacing: .06em;
  text-align: center;
  text-transform: uppercase;
  pointer-events: none;
}
