/* ШАР 1 — ТОКЕНИ. Єдиний словник значень порталу: колір, типографіка, геометрія.
   Тут НЕ буває селекторів, крім :root — тільки змінні.
   Зона може перевизначити токен на СВОЄМУ контейнері (.promo-shell { --green: … }),
   але не в :root — інакше поїде решта порталу. Див. packages/ui/README.md. */
:root {
  --bg:            #F9F4E8;   /* rb-cream */
  --surface:       #FFFFFF;
  --green:         #1B4D3E;   /* rb-green */
  --green-rgb:     27, 77, 62;
  --gold:          #D4AF37;   /* rb-gold */
  --gold-rgb:      212, 175, 55;
  --gold-light:    #E5C387;
  --gold-gradient: linear-gradient(135deg, #D4AF37 0%, #E5C387 100%);
  --text:          #444444;   /* rb-text-body */
  --hint:          #616A71;   /* rb-text-muted, затемнений: #6C757D давав 4.27:1 на --bg */
  --border-gold:   rgba(229, 195, 135, 0.35);
  /* Колір кільця фокуса. Зелений, а не золотий: золото на світлому тлі дає
     лише 2.1:1, замало для 3:1 на нетекстових елементах; зелений — 9.6:1. */
  --focus:         #1B4D3E;
  --glass-bg:      rgba(255, 255, 255, 0.6);
  --glass-border:  rgba(229, 195, 135, 0.2);
  /* Семантика (повна палітра прошивки oCBot) */
  --danger:        #dc3545;   /* rb-danger */
  --danger-rgb:    220, 53, 69;
  --warning:       #D4AF37;
  --success:       #1B4D3E;
  --info:          #2B6CB0;   /* rb-info */
  --info-rgb:      43, 108, 176;
  /* Геометрія / типографіка (прошивка: Fixel Display → Plus Jakarta fallback) */
  --radius-sm:     8px;
  --radius:        12px;
  --radius-lg:     28px;
  --shadow-card:   0 4px 15px rgba(0, 0, 0, .02);
  --shadow-lift:   0 18px 40px rgba(var(--green-rgb), .14);
  /* Лише тривалість і крива — БЕЗ `all`. Вживати як `transition: border-color
     var(--transition), box-shadow var(--transition)`, перелічуючи властивості.
     Крива — сильний ease-out; попередня (Material 0.4,0,0.2,1) на коротких
     станах читається млявою. */
  --transition:    160ms cubic-bezier(0.23, 1, 0.32, 1);
  --font:          'Montserrat', system-ui, sans-serif;
  --font-display:  'Fixel Display', 'Plus Jakarta Sans', sans-serif;
  --font-tagline:  'Montserrat', sans-serif;
  --fs-caption:    0.72rem;   /* секційні заголовки-капс (прошивка) */
  --fs-small:      0.78rem;   /* дрібний текст віджетів (прошивка) */
  /* Брейкпойнти — довідково: у @media змінні не працюють, значення дублюються
     в components.css. Міняючи тут, міняй і там. */
  --bp-sm: 560px; --bp-md: 900px; --bp-lg: 1280px; --bp-xl: 1720px; --bp-xxl: 2200px;
  /* Палітра периферії прошивки — 16 кольорів для пристроїв/каналів (rb_js.js PALETTE) */
  --p-red: #C62828; --p-scarlet: #E64A19; --p-orange: #EF6C00; --p-yellow: #C99700;
  --p-gold: #9E7D0A; --p-lime: #7CB342; --p-green: #2E9E4F; --p-malachite: #00897B;
  --p-cyan: #00ACC1; --p-azure: #1E88E5; --p-blue: #3949AB; --p-violet: #6A3FB5;
  --p-magenta: #AB47BC; --p-pink: #D81B60; --p-white: #CFD8DC; --p-grey: #607D8B;
}
/* ТЕМНОЇ ТЕМИ НЕМАЄ — свідомо, а не через недогляд.
   Вона тут жила з 1 серпня (e05896b) як механічна інверсія світлої палітри:
   ніхто її не проєктував і ніхто не бачив, бо перемикача не існувало. Перша ж
   перевірка виміром знайшла в ній заголовки з контрастом 2.62:1 при потрібних
   4.5. Поки портал росте, кожна нова деталь інтерфейсу коштувала б подвійної
   звірки заради теми, яку ніхто не тримає в голові.
   Повертати — окремою задачею і з нормальною палітрою, а не інверсією:
   темна тема це власний набір кольорів, а не світла навпаки. */
