/* ============================================================
   SIMRACER 24 — BALANCED EDITION v7.0
   Цвета оригинального сайта + новые эффекты (particles, glass, hover)
   Белый текст. Мятный (#00D598) только для акцентов.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

:root {
  --sr-black:       #0A0A0F;
  --sr-black-2:     #060609;
  --sr-panel:       #111118;
  --sr-panel-2:     #1A1A24;
  --sr-mint:        #00D598;
  --sr-mint-dim:    rgba(0,230,164,.10);
  --sr-line:        rgba(0,230,164,.08);
  --sr-line-hover:  rgba(0,230,164,.35);
  --sr-gold:        #D4AF37;
  --sr-danger:      #FF4655;

  --font-heading:   "Orbitron", system-ui, sans-serif;
  --font-body:      "JetBrains Mono", system-ui, sans-serif;
  --font-mono:      "JetBrains Mono", monospace;
}

html {
  scroll-behavior: smooth;
  background: var(--sr-black);
}

body {
  background: var(--sr-black);
  color: rgba(255,255,255,.85);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/* Particle canvas layer */
#sr-particles {
  position: fixed !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

::selection {
  background: rgba(0,230,164,.30);
  color: #fff;
}

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--sr-black); }
::-webkit-scrollbar-thumb {
  background: var(--sr-mint);
  border-radius: 3px;
}

/* ============================================================
   TYPOGRAPHY — White base, mint accents only
   ============================================================ */

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading) !important;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #fff !important;
}

/* v176: font-heading — только шрифт/жирность/регистр, БЕЗ принудительного
   белого цвета: иначе белый !important перебивал Tailwind text-black,
   и надписи на акцентных кнопках пропадали при hover (белое на белом) */
.font-heading,
[class*="font-heading"] {
  font-family: var(--font-heading) !important;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

/* страховка: явный text-black всегда остаётся чёрным */
.text-black,
[class*="text-black"] {
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
}

/* H1 — white (SIMRACER), glow subtle */
h1,
[class*="hero-logo"],
[class*="hero-title"] {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  text-shadow: none !important;
}

/* Only the "24" part or accent spans are mint */
h1 span,
[class*="hero-logo"] span,
[class*="hero-title"] span,
[class*="accent-text"],
[class*="highlight"] {
  color: var(--sr-mint) !important;
}

/* Force "24" hero logo number to mint */
.hero-logo-num,
[class*="hero-logo-num"],
[class*="hero-logo"] > span,
[class*="hero-title"] > span {
  color: var(--sr-mint) !important;
}

/* H2 — white */
h2,
[class*="section-title"] {
  color: #fff !important;
  text-shadow: none !important;
}

/* Body text larger and readable */
p, li, td, th, label, [class*="description"], [class*="text-body"] {
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.font-mono,
[class*="font-mono"],
[class*="countdown"],
[class*="timer"],
[class*="elo"] {
  font-family: var(--font-mono) !important;
}

/* ============================================================
   NAVIGATION — White text, mint active
   ============================================================ */

header,
nav,
[class*="header"],
[class*="Header"],
[class*="navbar"] {
  background: rgba(5,5,8,.90) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-bottom: 1px solid var(--sr-line) !important;
}

/* Logo */
header img[src*="logo"],
nav img[src*="logo"] {
  filter: drop-shadow(0 0 6px rgba(0,230,164,.25));
  transition: filter .3s ease;
}
header img[src*="logo"]:hover,
nav img[src*="logo"]:hover {
  filter: drop-shadow(0 0 14px rgba(0,230,164,.5));
}

/* Nav items — WHITE, larger */
[class*="nav-tab"],
[class*="nav-link"] {
  font-family: var(--font-heading);
  font-size: 13px !important;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: rgba(255,255,255,.7) !important;
  transition: all .25s ease;
  position: relative;
}

[class*="nav-tab"]::after,
[class*="nav-link"]::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 50%;
  width: 0;
  height: 2px;
  background: var(--sr-mint);
  transition: all .25s ease;
  transform: translateX(-50%);
}

[class*="nav-tab"]:hover,
[class*="nav-link"]:hover {
  color: #fff !important;
}
[class*="nav-tab"]:hover::after,
[class*="nav-link"]:hover::after {
  width: 100%;
}

/* Active nav — MINT */
[class*="nav-tab-active"],
[class*="nav-link-active"] {
  color: var(--sr-mint) !important;
}
[class*="nav-tab-active"]::after,
[class*="nav-link-active"]::after {
  width: 100%;
  background: var(--sr-mint);
}

/* ============================================================
   BUTTONS — Mint primary, outline secondary
   ============================================================ */

button,
[role="button"],
a[class*="btn"],
[class*="button"],
[class*="Button"] {
  border-radius: 8px !important;
  font-family: var(--font-heading) !important;
  font-size: 12px !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  transition: all .25s ease !important;
}

/* Primary — solid mint */
.btn-primary,
[class*="btn-primary"],
[class*="primary"]:is(button, a),
.reg-card-primary,
[class*="reg-card-primary"] {
  background: var(--sr-mint) !important;
  color: var(--sr-black) !important;
  font-weight: 800;
  border: none !important;
  box-shadow: 0 0 16px rgba(0,230,164,.3), 0 4px 12px rgba(0,0,0,.3) !important;
  position: relative;
  overflow: hidden;
}

.btn-primary:hover,
[class*="btn-primary"]:hover {
  box-shadow: 0 0 28px rgba(0,230,164,.5), 0 6px 20px rgba(0,0,0,.4) !important;
  transform: translateY(-2px);
}

/* Secondary — outline mint */
.btn-secondary,
[class*="btn-secondary"] {
  background: transparent !important;
  border: 1px solid var(--sr-mint) !important;
  color: #fff !important;
}
.btn-secondary:hover {
  background: rgba(0,230,164,.08) !important;
  box-shadow: 0 0 16px rgba(0,230,164,.2) !important;
}

button[disabled] {
  opacity: .35 !important;
  filter: grayscale(.8);
  cursor: not-allowed !important;
}

/* ============================================================
   CARDS — Dark glass, subtle mint border
   ============================================================ */

.card-base,
.glass-card,
.glass,
.glass-strong,
[class*="card-base"],
[class*="glass-card"],
[class*="glass"],
[class*="reg-card"],
[class*="auth-card"],
[class*="admin-stat-card"],
[class*="stat-card"] {
  background: rgba(17,17,24,.85) !important;
  border: 1px solid var(--sr-line) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.5) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  transition: all .35s ease !important;
  position: relative;
  overflow: hidden;
}

/* Top accent line */
.card-base::before,
.glass-card::before,
[class*="glass-card"]::before,
[class*="reg-card"]::before {
  content: '';
  position: absolute;
  top: 0; left: 10%; right: 10%;
  height: 1px;
  background: var(--sr-mint);
  opacity: .4;
  transition: all .3s ease;
}

/* Hover lift */
.card-hover-lift:hover,
.race-card-hover:hover,
[class*="card-hover"]:hover,
[class*="glass-card"]:hover,
[class*="glass"]:hover,
[class*="reg-card"]:hover {
  transform: translateY(-6px) !important;
  border-color: var(--sr-line-hover) !important;
  box-shadow: 0 20px 48px rgba(0,0,0,.55), 0 0 24px rgba(0,230,164,.1) !important;
}
[class*="glass-card"]:hover::before,
[class*="reg-card"]:hover::before {
  opacity: .8;
  left: 5%; right: 5%;
}

/* ============================================================
   FORMS
   ============================================================ */

input,
select,
textarea,
.form-input,
.form-select,
[class*="form-input"],
[class*="form-select"],
[class*="cmdk-input"] {
  background: rgba(17,17,24,.8) !important;
  border: 1px solid var(--sr-line) !important;
  border-radius: 8px !important;
  color: #fff !important;
  font-family: var(--font-body);
  font-size: 14px !important;
  padding: 10px 14px !important;
  transition: all .25s ease;
}

input:focus,
select:focus,
textarea:focus,
.form-input:focus,
.form-select:focus,
[class*="cmdk-input"]:focus {
  border-color: var(--sr-mint) !important;
  box-shadow: 0 0 0 2px rgba(0,230,164,.12) !important;
  outline: none !important;
}

input::placeholder {
  color: rgba(255,255,255,.25) !important;
}

input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--sr-mint);
}

/* ============================================================
   TABLES — White text, mint header
   ============================================================ */

table,
.table {
  border-collapse: separate !important;
  border-spacing: 0 6px !important;
}

.table-header,
[class*="table-header"] {
  color: var(--sr-mint) !important;
  font-size: 11px !important;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-family: var(--font-heading);
}

.table-row,
[class*="table-row"],
tr[class*="row"] {
  background: rgba(17,17,24,.7) !important;
  border-left: 2px solid transparent;
  transition: all .25s ease;
  font-size: 14px !important;
  color: rgba(255,255,255,.9) !important;
}

.table-row:hover,
[class*="table-row"]:hover,
.leaderboard-row-hover:hover,
tr:hover {
  background: rgba(0,230,164,.05) !important;
  border-left-color: var(--sr-mint) !important;
}

/* Top 3 */
.crown-gold,
[class*="crown-gold"],
[class*="rank-1"] {
  color: var(--sr-gold) !important;
}
.crown-silver,
[class*="crown-silver"],
[class*="rank-2"] {
  color: #C0C8D8 !important;
}
.crown-bronze,
[class*="crown-bronze"],
[class*="rank-3"] {
  color: #CD7F32 !important;
}

/* ============================================================
   BADGES — Mint, readable
   ============================================================ */

.badge,
[class*="badge"],
.sim-badge,
.sim-badge-acc,
.sim-badge-ac,
.date-badge,
.season-badge,
.season-badge-upcoming,
.season-badge-completed,
.season-badge-active,
.badge-accent,
.badge-outline {
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: .04em;
  border-radius: 999px !important;
  padding: 3px 10px !important;
  border: 1px solid var(--sr-line) !important;
  background: rgba(0,230,164,.06) !important;
  color: var(--sr-mint) !important;
}

.badge-accent,
[class*="badge-accent"] {
  background: var(--sr-mint) !important;
  color: var(--sr-black) !important;
  border: none !important;
}

/* ============================================================
   HERO — Original style enhanced
   ============================================================ */

.hero-video-bg,
[class*="hero-video-bg"] {
  filter: brightness(.85);
}

.hero-video-overlay,
[class*="hero-video-overlay"] {
  background:
    radial-gradient(ellipse at 50% 50%, transparent 30%, rgba(5,5,8,.8) 100%),
    linear-gradient(to bottom, rgba(5,5,8,.2) 0%, rgba(5,5,8,.05) 50%, rgba(5,5,8,.7) 100%) !important;
}

/* Hero stat numbers — MINT (accent) */
.hero-stat-number,
[class*="hero-stat-number"] {
  font-family: var(--font-mono) !important;
  color: var(--sr-mint);
  font-size: 26px;
  font-weight: 700;
}

.hero-stat-label,
[class*="hero-stat-label"] {
  color: rgba(255,255,255,.5);
  font-family: var(--font-heading);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .1em;
}

/* ============================================================
   COUNTDOWN — Mint digits, smaller labels
   ============================================================ */

.countdown-cell,
[class*="countdown-cell"],
[class*="countdown"] {
  background: rgba(17,17,24,.8) !important;
  border: 1px solid var(--sr-line) !important;
  border-radius: 8px !important;
  font-family: var(--font-mono) !important;
  color: var(--sr-mint) !important;
  font-weight: 700;
  font-size: 22px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 4px 16px rgba(0,0,0,.3) !important;
}

/* Labels under countdown — smaller */
.countdown-label,
[class*="countdown-label"],
[class*="timer-label"] {
  font-family: var(--font-heading) !important;
  font-size: 10px !important;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(255,255,255,.5) !important;
}

/* ============================================================
   MODALS & TOASTS
   ============================================================ */

[role="dialog"],
[role="alertdialog"],
[class*="modal"],
[class*="Modal"],
[class*="dialog"],
[class*="Dialog"],
[class*="popover"],
[class*="Popover"] {
  background: rgba(17,17,24,.95) !important;
  border: 1px solid var(--sr-line) !important;
  border-radius: 12px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.6) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
}

[class*="toast"],
[class*="Toast"] {
  background: var(--sr-panel) !important;
  border-left: 3px solid var(--sr-mint) !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.4) !important;
}

/* ============================================================
   MAPS
   ============================================================ */

.world-map-container,
[class*="world-map"] {
  background: var(--sr-black) !important;
  border-radius: 12px;
  border: 1px solid var(--sr-line);
  box-shadow: 0 8px 24px rgba(0,0,0,.4);
  overflow: hidden;
}

.leaflet-container {
  background: var(--sr-black) !important;
}

.leaflet-popup-content-wrapper {
  background: var(--sr-panel) !important;
  border: 1px solid var(--sr-line) !important;
  border-radius: 10px !important;
  color: #fff !important;
}

/* ============================================================
   FOOTER — subtle
   ============================================================ */

footer,
[class*="footer"],
[class*="Footer"] {
  background: var(--sr-black) !important;
  border-top: 1px solid var(--sr-line) !important;
}

footer a,
[class*="footer"] a {
  color: rgba(255,255,255,.5) !important;
  transition: color .25s ease;
}
footer a:hover,
[class*="footer"] a:hover {
  color: var(--sr-mint) !important;
}

/* ============================================================
   ANIMATIONS (subtle)
   ============================================================ */

/* Logo gentle pulse */
.neon-pulse,
[class*="neon-pulse"] {
  animation: mintPulse 3s ease-in-out infinite;
}

@keyframes mintPulse {
  0%, 100% { filter: drop-shadow(0 0 4px rgba(0,230,164,.2)); }
  50% { filter: drop-shadow(0 0 12px rgba(0,230,164,.4)); }
}

/* Live indicator */
[class*="live-badge"],
[class*="live-indicator"],
[class*="live-dot"] {
  animation: livePulse 1.5s ease-in-out infinite;
}
@keyframes livePulse {
  0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(255,70,85,.5); }
  50% { opacity: .7; box-shadow: 0 0 0 6px rgba(255,70,85,0); }
}

/* Fade in */
[class*="fade-in"],
[class*="slide-in"] {
  animation: fadeInUp .5s ease forwards;
}
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

[class*="spin"] {
  animation: spin360 .8s linear infinite;
}
@keyframes spin360 {
  to { transform: rotate(360deg); }
}

/* ============================================================
   LINKS
   ============================================================ */

a {
  color: rgba(255,255,255,.7);
  transition: color .25s ease;
}
a:hover {
  color: var(--sr-mint);
}

.accent-link,
[class*="accent-link"],
[class*="link-primary"] {
  color: var(--sr-mint) !important;
}
.accent-link:hover,
[class*="accent-link"]:hover {
  color: #00FFB0 !important;
}

/* ============================================================
   DIVIDERS
   ============================================================ */

hr,
[class*="divider"],
[class*="separator"] {
  border: none !important;
  height: 1px !important;
  background: var(--sr-line) !important;
}

/* ============================================================
   CONTAINERS & Z-INDEX
   ============================================================ */

.container-main,
.container,
[class*="container-main"] {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px;
}

#root,
.app,
[class*="app"],
main,
[class*="main"] {
  position: relative;
  z-index: 1;
}

/* ============================================================
   TAILWIND OVERRIDES
   ============================================================ */

.bg-zinc-700, .bg-zinc-800, .bg-zinc-900,
.bg-neutral-700, .bg-neutral-800, .bg-neutral-900,
.bg-gray-700, .bg-gray-800, .bg-gray-900,
.bg-slate-700, .bg-slate-800, .bg-slate-900 {
  background-color: var(--sr-panel) !important;
}

.border-zinc-700, .border-zinc-800,
.border-neutral-700, .border-neutral-800,
.border-gray-700, .border-gray-800,
.border-slate-700, .border-slate-800 {
  border-color: var(--sr-line) !important;
}

.text-zinc-400, .text-zinc-500,
.text-neutral-400, .text-neutral-500,
.text-gray-400, .text-gray-500,
.text-slate-400, .text-slate-500 {
  color: rgba(255,255,255,.5) !important;
  font-size: 13px !important;
}

.shadow-sm, .shadow, .shadow-md, .shadow-lg, .shadow-xl, .shadow-2xl {
  box-shadow: 0 8px 24px rgba(0,0,0,.4) !important;
}

.rounded-lg, .rounded-xl, .rounded-2xl, .rounded-md {
  border-radius: 12px !important;
}

/* Utility */
.bg-card       { background: var(--sr-panel) !important; }
.text-muted    { color: rgba(255,255,255,.5) !important; }
.text-primary  { color: #fff !important; }
.text-secondary{ color: rgba(255,255,255,.8) !important; }
.border-primary{ border-color: var(--sr-mint) !important; }
.bg-primary    { background: var(--sr-mint) !important; }
.bg-secondary  { background: var(--sr-panel) !important; }
.bg-muted      { background: var(--sr-black-2) !important; }

/* ============================================================
   ACCESSIBILITY & MOBILE
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@media (max-width: 768px) {
  h1 { font-size: 32px; }
  h2 { font-size: 22px; }
  .container-main, .container { padding: 0 16px; }
}

@supports not (backdrop-filter: blur(16px)) {
  .glass-card, .glass, .glass-strong,
  [class*="glass-card"], [class*="glass"] {
    background: var(--sr-panel) !important;
  }
}

/* ============================================================
   v156 FIX — выпадающие меню в шапке
   ============================================================ */
/* Правило карточек [class*="glass"] { position: relative } ломало
   абсолютное позиционирование дропдауна языка: меню уезжало вверх
   и первый пункт (Русский) обрезался. Возвращаем absolute/fixed. */
.absolute[class*="glass"] { position: absolute !important; }
.fixed[class*="glass"]   { position: fixed !important; }

/* Пункты выпадающих меню: моноширинный шрифт, без переноса строк —
   Orbitron + uppercase + letter-spacing разрывал «Админ-панель»
   на две строки в узком меню */
header [class*="top-full"] button {
  font-family: var(--font-body) !important;
  font-size: 12px !important;
  letter-spacing: normal !important;
  white-space: nowrap !important;
}

/* ============================================================
   v157 FIX — модалки под шапкой + обрезанное меню языка
   ============================================================ */
/* 1. Правило темы [class*="main"]/[class*="app"] { z-index: 1 }
      превращало .container-main в stacking context: модальные окна
      (z-[300]) «запирались» внутри него и уходили ПОД липкую шапку
      (z-50) — в админке шапка закрывала заголовки и вкладки.
      Убираем z-index, оставляем position:relative (для частиц). */
main,
.app,
[class*="app"],
[class*="main"] {
  z-index: auto !important;
}

/* 2. Класс min-w-[150px] отсутствует в скомпилированном Tailwind —
      меню языка сжималось до ~84px и обрезало названия стран */
[class*="min-w-[150px]"] {
  min-width: 172px !important;
}

/* ============================================================
   v158 FIX — скроллбары + мятная «24»
   ============================================================ */
/* 1. Яркая мятная полоса под вкладками/списками — это стилизованный
      горизонтальный скроллбар (на Windows виден постоянно).
      Делаем тонким и приглушённым */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(0,213,152,.28); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(0,213,152,.55); }
* { scrollbar-width: thin; scrollbar-color: rgba(0,213,152,.28) transparent; }

/* 2. Цифра «24» в hero снова мятная: общее правило H1 задаёт
      -webkit-text-fill-color:#fff !important, которое перекрывает
      color — задаём fill явно */
.hero-logo-num,
[class*="hero-logo-num"] {
  color: var(--sr-mint) !important;
  -webkit-text-fill-color: var(--sr-mint) !important;
}


/* ═══ v165 FIX: карта пилотов перекрывала фиксированные виджеты ═══
   Leaflet-панели имеют z-index до 1000 и лезут поверх плашки сервера
   и кнопки стримов (z-40). z-index:0 на контейнере создаёт свой
   stacking context — все внутренние слои карты остаются внутри неё. */
.leaflet-container { z-index: 0 !important; }
.leaflet-tile-pane { z-index: 1 !important; }
.leaflet-overlay-pane { z-index: 2 !important; }
.leaflet-shadow-pane { z-index: 3 !important; }
.leaflet-marker-pane { z-index: 4 !important; }
.leaflet-tooltip-pane { z-index: 5 !important; }
.leaflet-popup-pane { z-index: 6 !important; }
.leaflet-top, .leaflet-bottom { z-index: 7 !important; }

/* ═══ v166: чат-ассистент «Пит» (ТЗ §3: 56px кнопка, 380x560 окно, bottom-sheet на мобильных) ═══ */
.sr24-pit-btn{position:fixed;right:24px;bottom:92px;width:56px;height:56px;border-radius:50%;z-index:60;display:flex;align-items:center;justify-content:center;background:#0f0f14;border:1px solid rgba(0,213,152,.5);box-shadow:0 4px 18px rgba(0,0,0,.45);cursor:pointer;transition:box-shadow .25s,transform .25s;}
.sr24-pit-btn:hover{box-shadow:0 0 22px rgba(0,213,152,.45);transform:scale(1.05);}
.sr24-pit-btn svg{width:26px;height:26px;fill:#00d598;}
.sr24-pit-hint{position:fixed;right:92px;bottom:104px;z-index:60;background:#15151c;border:1px solid rgba(0,213,152,.4);color:#e8e8ea;font-size:12px;padding:9px 12px;border-radius:12px 12px 2px 12px;max-width:220px;cursor:pointer;animation:sr24PitFade .3s ease;box-shadow:0 6px 20px rgba(0,0,0,.5);}
@keyframes sr24PitFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.sr24-pit-win{position:fixed;right:24px;bottom:160px;width:380px;height:560px;z-index:60;display:flex;flex-direction:column;background:#0f0f14;border:1px solid #1e1e26;border-radius:16px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.6);animation:sr24PitFade .22s ease;}
.sr24-pit-dot{width:6px;height:6px;border-radius:50%;background:#00d598;display:inline-block;animation:sr24PitB 1s infinite;}
.sr24-pit-dot:nth-child(2){animation-delay:.15s;}
.sr24-pit-dot:nth-child(3){animation-delay:.3s;}
@keyframes sr24PitB{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}
@media (max-width:640px){
.sr24-pit-btn{right:16px;bottom:84px;}
.sr24-pit-hint{right:82px;bottom:96px;max-width:200px;}
.sr24-pit-win{left:0;right:0;bottom:0;top:6vh;width:auto;height:auto;border-radius:16px 16px 0 0;}
.sr24-pit-win ~ .sr24-pit-btn{display:none;}
}


/* ═══ v173: зум-контролы карты пилотов — всегда видны поверх тайлов ═══ */
.world-map-container .leaflet-top,
.world-map-container .leaflet-bottom { z-index: 1000 !important; }
.world-map-container .leaflet-control-zoom,
.world-map-container .leaflet-bar {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 1001 !important;
}
.world-map-container .leaflet-bar a,
.world-map-container .leaflet-bar a.leaflet-disabled {
  background: #121218 !important;
  color: #00d598 !important;
  border: 1px solid #2a2a33 !important;
  width: 32px !important;
  height: 32px !important;
  line-height: 30px !important;
  font-size: 16px !important;
  opacity: 1 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.55) !important;
}
.world-map-container .leaflet-bar a:hover { background: #1b1b24 !important; }


/* ═══ v174: поисковые поля с иконкой — левый паддинг под иконку,
   глобальное правило input{padding:!important} перебивало Tailwind pl-9/pl-10 ═══ */
input.pl-9 { padding-left: 2.25rem !important; }
input.pl-10 { padding-left: 2.5rem !important; }
input.pl-11 { padding-left: 2.75rem !important; }


/* ═══ v175: кнопки-ссылки с тёмным текстом на акцентном фоне —
   глобальное a:hover{color:mint} делало надпись невидимой (зелёное на зелёном) ═══ */
a.text-black:hover,
a[class*="text-black"]:hover {
  color: #000 !important;
}


/* ═══ v177: зелёные кнопки — мягкое свечение при наведении
   вместо ослепляющего белого (стиль кнопки «ПРИСОЕДИНИТЬСЯ») ═══ */
.bg-\[\#00d598\].hover\:bg-white:hover,
.bg-\[\#03d598\].hover\:bg-white:hover,
button.bg-\[\#00d598\]:hover, a.bg-\[\#00d598\]:hover, label.bg-\[\#00d598\]:hover,
button.bg-\[\#03d598\]:hover, a.bg-\[\#03d598\]:hover, label.bg-\[\#03d598\]:hover {
  background-color: #2ee6b2 !important;
  box-shadow: 0 0 22px rgba(0,213,152,.5), 0 4px 16px rgba(0,0,0,.35) !important;
  transform: translateY(-1px);
}


/* ═══ v185: официальный Twitch-эфир на главной и ссылка в шапке ═══ */
.sr24-twitch-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
  gap: 1.25rem;
  align-items: stretch;
}
.sr24-twitch-player {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 1rem;
  background: #121016;
  border: 1px solid rgba(145,70,255,.28);
  box-shadow: 0 20px 60px rgba(0,0,0,.35), 0 0 34px rgba(145,70,255,.12);
}
.sr24-twitch-link {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #8f8b99;
  background: rgba(145,70,255,.08);
  border: 1px solid rgba(145,70,255,.18);
  transition: color .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}
.sr24-twitch-link:hover {
  color: #c9a6ff;
  background: rgba(145,70,255,.16);
  border-color: rgba(145,70,255,.48);
  box-shadow: 0 0 18px rgba(145,70,255,.32);
  transform: translateY(-1px);
}
.sr24-twitch-mobile-link {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: 11px;
  color: #a78bfa;
  transition: color .2s ease, text-shadow .2s ease;
}
.sr24-twitch-mobile-link:hover {
  color: #c9a6ff;
  text-shadow: 0 0 12px rgba(145,70,255,.55);
}
.sr24-live-dot {
  width: .55rem;
  height: .55rem;
  border-radius: 999px;
  background: #ff3434;
  box-shadow: 0 0 0 rgba(255,52,52,.7);
  animation: sr24-live-pulse 1.6s infinite;
}
@keyframes sr24-live-pulse {
  0% { box-shadow: 0 0 0 0 rgba(255,52,52,.7); }
  70% { box-shadow: 0 0 0 9px rgba(255,52,52,0); }
  100% { box-shadow: 0 0 0 0 rgba(255,52,52,0); }
}
.sr24-twitch-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  border-radius: .75rem;
  padding: .8rem 1.1rem;
  color: #fff !important;
  background: linear-gradient(135deg, #9146ff, #772ce8);
  border: 1px solid rgba(201,166,255,.35);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.sr24-twitch-button:hover {
  transform: translateY(-1px);
  filter: brightness(1.12);
  box-shadow: 0 10px 28px rgba(145,70,255,.34);
}
.sr24-twitch-button-small {
  padding: .65rem .9rem;
  white-space: nowrap;
}
.sr24-twitch-offline {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border-radius: 1rem;
  background: rgba(21,19,28,.9);
  border: 1px solid rgba(145,70,255,.22);
  box-shadow: 0 16px 44px rgba(0,0,0,.28);
}
.sr24-twitch-offline-icon {
  width: 3rem;
  height: 3rem;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: .9rem;
  color: #a970ff;
  background: rgba(145,70,255,.14);
  border: 1px solid rgba(145,70,255,.28);
}
.sr24-twitch-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  border-radius: .75rem;
  padding: .75rem 1rem;
  color: #c9a6ff;
  background: rgba(145,70,255,.1);
  border: 1px solid rgba(145,70,255,.32);
  font-size: .78rem;
  font-weight: 700;
  transition: background .2s ease, box-shadow .2s ease, color .2s ease;
}
.sr24-twitch-secondary:hover {
  color: #fff;
  background: rgba(145,70,255,.18);
  box-shadow: 0 0 18px rgba(145,70,255,.24);
}
.sr24-twitch-secondary:disabled,
.sr24-twitch-button:disabled {
  opacity: .55;
  cursor: not-allowed;
  transform: none !important;
}
@media (max-width: 1023px) {
  .sr24-twitch-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .sr24-twitch-offline { align-items: flex-start; flex-direction: column; }
  .sr24-twitch-button-small { width: 100%; }
}


/* v185: утилиты, которых не было в старом скомпилированном Tailwind CSS */
.w-11 { width: 2.75rem !important; }
.w-3\.5 { width: .875rem !important; }
.h-3\.5 { height: .875rem !important; }
.gap-y-2 { row-gap: .5rem !important; }
.text-\[11px\] { font-size: 11px !important; }
.mt-1\.5 { margin-top: .375rem !important; }
.mt-7 { margin-top: 1.75rem !important; }
.py-10 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; }
.tracking-\[0\.14em\] { letter-spacing: .14em !important; }
.tracking-\[0\.2em\] { letter-spacing: .2em !important; }
.text-\[\#9aa0aa\] { color: #9aa0aa !important; }
.text-\[\#9146ff\] { color: #9146ff !important; }
.text-\[\#a970ff\] { color: #a970ff !important; }
.text-\[\#666\] { color: #666 !important; }
.text-white\/85 { color: rgba(255,255,255,.85) !important; }
.bg-\[\#121016\] { background-color: #121016 !important; }
.accent-\[\#9146ff\] { accent-color: #9146ff !important; }
@media (min-width: 768px) {
  .md\:text-base { font-size: 1rem !important; line-height: 1.5rem !important; }
  .md\:text-sm { font-size: .875rem !important; line-height: 1.25rem !important; }
  .md\:text-2xl { font-size: 1.5rem !important; line-height: 2rem !important; }
}

.sr24-twitch-live-card {
  padding: 1.25rem;
  border-radius: 1rem;
  border: 1px solid rgba(145,70,255,.25);
  background: rgba(21,19,28,.9);
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
}
@media (min-width: 768px) {
  .sr24-twitch-live-card { padding: 1.5rem; }
}
.sr24-twitch-live-badge {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .375rem .75rem;
  margin-bottom: 1rem;
  border-radius: 999px;
  background: rgba(233,25,22,.1);
  border: 1px solid rgba(233,25,22,.3);
  color: #ff5a5f;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.sr24-twitch-admin-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
}
@media (min-width: 1024px) {
  .sr24-twitch-admin-grid { grid-template-columns: minmax(0, 1fr) 320px; }
}
.sr24-twitch-side-card { height: fit-content; }
.sr24-twitch-admin-icon {
  width: 2.75rem;
  height: 2.75rem;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: .75rem;
  color: #a970ff;
  background: rgba(145,70,255,.15);
  border: 1px solid rgba(145,70,255,.3);
}
.sr24-twitch-test {
  border-radius: .5rem;
  border: 1px solid;
  padding: .75rem;
  font-size: .875rem;
  line-height: 1.6;
}
.sr24-twitch-test-ok {
  color: #7dffcf;
  background: rgba(0,213,152,.1);
  border-color: rgba(0,213,152,.3);
}
.sr24-twitch-test-warn {
  color: #ffd58a;
  background: rgba(255,184,28,.1);
  border-color: rgba(255,184,28,.3);
}
.sr24-twitch-live-text { color: #ff5a5f !important; }


/* ═══ v186: явный статус офлайн у официальной Twitch-секции ═══ */
.sr24-twitch-offline-badge {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-bottom: .45rem;
  padding: .25rem .6rem;
  border-radius: 999px;
  color: #ffb3b3;
  background: rgba(233,25,22,.1);
  border: 1px solid rgba(233,25,22,.28);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.sr24-twitch-offline-badge::before {
  content: "";
  width: .45rem;
  height: .45rem;
  border-radius: 999px;
  background: #ff5a5f;
  box-shadow: 0 0 10px rgba(255,90,95,.55);
}


/* ═══ v196: Twitch-блок перенесён между статистикой и Книгой рекордов — ритм 24px ═══ */
.sr24-twitch-section {
  margin: 24px auto 0 !important;
}
@media (max-width: 768px) {
  .sr24-twitch-section { margin: 24px auto 0 !important; }
}

/* ═══ v188: внешние гонки SimGrid ═══ */
.bg-\[\#9146ff\] { background-color: #9146ff !important; }
.bg-\[\#9146ff\]\/20 { background-color: rgba(145, 70, 255, .2) !important; }
.text-\[\#b887ff\] { color: #b887ff !important; }
/* v188: бейджи «Дэйли» (классы отсутствовали в собранном CSS) */
.bg-\[\#3b82f6\] { background-color: #3b82f6 !important; }
.bg-\[\#3b82f6\]\/20 { background-color: rgba(59, 130, 246, .2) !important; }
.text-\[\#60a5fa\] { color: #60a5fa !important; }

/* v190: фирменный синий SimGrid вместо фиолетового (кнопки + бейджи) */
.bg-\[\#0a1526\] { background-color: #0a1526 !important; }
.bg-\[\#2e9bff\] { background-color: #2e9bff !important; }
.bg-\[\#2e9bff\]\/20 { background-color: rgba(46, 155, 255, .18) !important; }
.text-\[\#7cc4ff\] { color: #7cc4ff !important; }
.text-\[\#06121f\] { color: #06121f !important; }
.border-\[\#2e9bff\]\/60 { border-color: rgba(46, 155, 255, .6) !important; }
.hover\:bg-\[\#2e9bff\]:hover { background-color: #2e9bff !important; }
.hover\:text-\[\#06121f\]:hover { color: #06121f !important; }
.hover\:border-\[\#2e9bff\]:hover { border-color: #2e9bff !important; }
/* словесный знак SIMGRID внутри кнопки: SIM — синий, GRID — по цвету текста */
.sr24-sg-word b { color: #2e9bff; font-weight: inherit; font-style: normal; }
a:hover .sr24-sg-word, a:hover .sr24-sg-word b { color: inherit; }

/* ═══ v205: кнопка каталога мини-игр (геймпад) + drawer (ТЗ 15.10.2026) ═══ */
.sr24-games-btn{position:fixed;right:92px;bottom:92px;width:56px;height:56px;border-radius:16px;z-index:60;display:flex;align-items:center;justify-content:center;background:#2EE6A8;border:none;box-shadow:0 4px 20px rgba(46,230,168,.35);cursor:pointer;transition:box-shadow .25s,transform .25s;animation:sr24GamesPulse 20s ease-out infinite;}
.sr24-games-btn:hover{box-shadow:0 4px 30px rgba(46,230,168,.6);transform:scale(1.05);}
.sr24-games-btn svg{width:30px;height:24px;display:block;}
.sr24-games-tip{position:absolute;bottom:calc(100% + 10px);right:0;background:#15151c;border:1px solid rgba(46,230,168,.4);color:#e8e8ea;font-size:12px;padding:7px 11px;border-radius:10px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;box-shadow:0 6px 20px rgba(0,0,0,.5);}
.sr24-games-btn:hover .sr24-games-tip{opacity:1;}
.sr24-games-badge{position:absolute;top:-5px;right:-5px;width:14px;height:14px;border-radius:50%;background:#2EE6A8;border:2.5px solid #0A2A1E;box-shadow:0 0 8px rgba(46,230,168,.8);}
@keyframes sr24GamesPulse{0%{box-shadow:0 4px 20px rgba(46,230,168,.35)}3%{box-shadow:0 4px 34px rgba(46,230,168,.75)}6%{box-shadow:0 4px 20px rgba(46,230,168,.35)}100%{box-shadow:0 4px 20px rgba(46,230,168,.35)}}
.sr24-games-win{position:fixed;right:24px;bottom:160px;width:380px;max-height:560px;z-index:59;display:flex;flex-direction:column;background:#0f0f14;border:1px solid #1e1e26;border-radius:16px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.6);animation:sr24PitFade .22s ease;}
.sr24-game-card{display:flex;gap:12px;padding:13px 14px;background:#121218;border:1px solid #1e1e26;border-radius:12px;transition:border-color .2s;}
.sr24-game-card:hover{border-color:rgba(46,230,168,.35);}
.sr24-game-icon{width:44px;height:44px;border-radius:12px;background:rgba(46,230,168,.1);border:1px solid rgba(46,230,168,.3);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.sr24-game-play{background:#2EE6A8;color:#0A2A1E;border:none;border-radius:8px;padding:7px 16px;font-weight:800;cursor:pointer;font-size:11px;letter-spacing:.08em;text-transform:uppercase;transition:filter .2s;}
.sr24-game-play:hover{filter:brightness(1.1);}
.sr24-game-play[disabled]{background:#1e1e26;color:#8A8F98;border:1px solid #2a2a33;cursor:default;}
.sr24-game-play[disabled]:hover{filter:none;}
@media (max-width:640px){
.sr24-games-btn{right:84px;bottom:calc(84px + env(safe-area-inset-bottom,0px));}
.sr24-pit-win ~ .sr24-games-btn{display:none;}
.sr24-games-win{left:0;right:0;bottom:0;top:auto;width:auto;max-height:82vh;border-radius:16px 16px 0 0;padding-bottom:env(safe-area-inset-bottom,0px);}
}
.sr24-game-overlay{position:fixed;inset:0;z-index:200;background:rgba(4,6,8,.78);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px 16px;animation:sr24PitFade .2s ease;}
.sr24-game-modal{width:100%;max-width:780px;max-height:calc(100vh - 48px);overflow-y:auto;background:#0f0f14;border:1px solid #1e1e26;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.7);}
@media (max-width:640px){
.sr24-game-overlay{padding:26px 0 0;align-items:flex-end;}
.sr24-game-modal{max-height:calc(100vh - 26px);border-radius:18px 18px 0 0;}
}
.sr24-soc-row{display:flex;gap:12px;flex-wrap:nowrap;}
.sr24-soc-card{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 10px 14px;background:#121218;border:1px solid #1e1e26;border-radius:14px;text-decoration:none;transition:border-color .2s;}
.sr24-soc-card:hover{border-color:rgba(46,230,168,.55);}
.sr24-soc-plate{width:56px;height:56px;border-radius:14px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;transition:transform .25s ease;flex-shrink:0;}
.sr24-soc-card:hover .sr24-soc-plate{transform:scale(1.05);}
.sr24-soc-plate img{width:40px;height:40px;object-fit:contain;display:block;}
.sr24-soc-name{font-size:11px;font-weight:700;color:#b8bcc4;letter-spacing:.04em;}
.sr24-soc-count{font-size:20px;font-weight:800;color:#fff;font-variant-numeric:tabular-nums;line-height:1.1;}
.sr24-soc-unit{font-size:10px;color:#6b7078;}
@media (max-width:1100px){
.sr24-soc-row{overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;}
.sr24-soc-card{flex:0 0 auto;min-width:132px;}
}

/* v236: кнопки соцсетей в шапке (YouTube / Telegram / Discord) по образцу .sr24-twitch-link */
.sr24-soc-link {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.sr24-soc-link img { width: 18px; height: 18px; object-fit: contain; }
.sr24-soc-yt { background: rgba(255,0,0,.08); border: 1px solid rgba(255,0,0,.22); }
.sr24-soc-yt:hover { background: rgba(255,0,0,.18); border-color: rgba(255,0,0,.55); box-shadow: 0 0 18px rgba(255,0,0,.35); transform: translateY(-1px); }
.sr24-soc-tg { background: rgba(34,158,217,.08); border: 1px solid rgba(34,158,217,.22); }
.sr24-soc-tg:hover { background: rgba(34,158,217,.18); border-color: rgba(34,158,217,.55); box-shadow: 0 0 18px rgba(34,158,217,.35); transform: translateY(-1px); }
.sr24-soc-ds { background: rgba(88,101,242,.10); border: 1px solid rgba(88,101,242,.25); }
.sr24-soc-ds:hover { background: rgba(88,101,242,.20); border-color: rgba(88,101,242,.60); box-shadow: 0 0 18px rgba(88,101,242,.40); transform: translateY(-1px); }

/* v237: круглая кнопка смены языка (флаг) */
.sr24-lang-link {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}
.sr24-lang-link:hover {
  background: rgba(0,213,152,.10);
  border-color: rgba(0,213,152,.45);
  box-shadow: 0 0 18px rgba(0,213,152,.25);
  transform: translateY(-1px);
}
.sr24-lang-flag { width: 18px; height: 18px; border-radius: 999px; object-fit: cover; display: block; }

/* ===== v238: календарь — превью гонок (ТЗ календаря) ===== */
.sr24-cal-card{overflow:hidden;isolation:isolate;transition:border-color .2s ease}
.sr24-cal-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .35s ease;pointer-events:none}
.sr24-cal-bg-fallback{background:linear-gradient(135deg,#0c0f16 0%,#101826 45%,#0d2b22 100%)}
.sr24-cal-bg-fallback::after{content:"";position:absolute;inset:0;background:url('/images/simracer24_logo.png') center 55%/62% no-repeat;opacity:.10}
.sr24-cal-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom,rgba(8,10,14,.28) 0%,rgba(8,10,14,.42) 45%,rgba(6,8,12,.88) 100%)}
.sr24-cal-card>*:not(.sr24-cal-bg):not(.sr24-cal-shade){position:relative;z-index:2}
.sr24-sim-badge{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:6px;background:rgba(10,10,15,.72);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:3;border:1px solid rgba(255,255,255,.12)}
.sr24-sim-icon{object-fit:contain;display:block;border-radius:3px}
.sr24-sim-txt{font-family:'Russo One',sans-serif;font-size:7px;line-height:1;color:#9fe8cd;letter-spacing:.03em;text-align:center;max-width:22px;overflow:hidden}
.group:hover .sr24-cal-bg{transform:scale(1.03)}
.group:hover .sr24-cal-card{border-color:rgba(0,213,152,.45)}
.sr24-race-thumb{width:120px;height:68px;border-radius:8px;object-fit:cover;flex-shrink:0;border:1px solid rgba(255,255,255,.10)}
.sr24-race-thumb-fallback{background:linear-gradient(135deg,#0c0f16 0%,#101826 45%,#0d2b22 100%);position:relative}
.sr24-race-thumb-fallback::after{content:"";position:absolute;inset:0;background:url('/images/simracer24_logo.png') center/70% no-repeat;opacity:.14}
@media (max-width:640px){.sr24-race-thumb{width:80px;height:45px}}

/* ===== v239: компактная карточка гонки в сетке ===== */
.sr24-cal-card{display:flex;flex-direction:column;justify-content:flex-end;min-height:58px;text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 8px rgba(0,0,0,.6)}
@media (min-width:640px){.sr24-cal-card{min-height:68px}}
.sr24-cal-shade{background:linear-gradient(to bottom,rgba(8,10,14,.45) 0%,rgba(8,10,14,.55) 40%,rgba(6,8,12,.92) 100%)}
.group:hover .sr24-cal-shade{background:linear-gradient(to bottom,rgba(8,10,14,.30) 0%,rgba(8,10,14,.45) 40%,rgba(6,8,12,.90) 100%)}

/* ===== v240: вертикальная карточка по ТЗ (превью сверху, текст под ним) ===== */
.sr24-cal-card{display:block;min-height:0;padding:0;text-shadow:none;background:#101116;transition:transform .2s ease,border-color .2s ease}
@media (min-width:640px){.sr24-cal-card{min-height:0}}
.sr24-cal-hero{position:relative;aspect-ratio:16/9;overflow:hidden}
.sr24-cal-day{position:absolute;top:4px;left:4px;z-index:2;background:rgba(8,10,14,.72);backdrop-filter:blur(4px);color:#fff;font-family:'Russo One',sans-serif;font-size:10px;font-weight:700;line-height:1.4;padding:0 5px;border-radius:5px;border:1px solid rgba(255,255,255,.12)}
.sr24-sim-badge{top:auto;bottom:4px;right:4px;width:30px;height:22px}
.sr24-cal-flag{background:rgba(8,10,14,.72);backdrop-filter:blur(4px);border-radius:4px;padding:1px 4px;z-index:3}
.sr24-cal-info{padding:4px 6px 5px}
.group:hover .sr24-cal-card{transform:translateY(-2px)}

/* ===== v241: возврат к компактной ячейке (отмена вертикальной карточки v240) ===== */
.sr24-cal-card{display:flex;flex-direction:column;justify-content:flex-end;min-height:58px;padding:2px 8px 5px;background:transparent;text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 8px rgba(0,0,0,.6)}
@media (min-width:640px){.sr24-cal-card{min-height:68px}}
.sr24-sim-badge{top:4px;right:4px;bottom:auto;width:24px;height:24px}
.group:hover .sr24-cal-card{transform:none}

/* ===== v242: логотип сима слева в сетке, потухшие превью в списке ===== */
.sr24-sim-badge{left:4px;right:auto}
.sr24-thumb-dim{filter:grayscale(.85) brightness(.55);opacity:.75}

/* ===== v243: заметный бейдж симулятора в левом верхнем углу ячейки ===== */
.sr24-cal-card .sr24-sim-badge{top:5px;left:5px;right:auto;width:32px;height:32px;border-radius:7px;background:rgba(8,10,14,.88);border:1px solid rgba(0,213,152,.4);box-shadow:0 2px 8px rgba(0,0,0,.6)}
.sr24-cal-card .sr24-sim-badge .sr24-sim-txt{font-size:8px;max-width:28px}

/* ===== v244: логотипы симуляторов во весь бейдж (сетка) ===== */
.sr24-cal-card .sr24-sim-badge{width:30px;height:30px;overflow:hidden}
.sr24-cal-card .sr24-sim-badge .sr24-sim-icon{width:100%!important;height:100%!important;object-fit:cover;border-radius:6px}

/* ===== v245: крупный логотип симулятора ===== */
.sr24-cal-card .sr24-sim-badge{width:44px;height:44px;top:6px;left:6px;border-radius:9px}
.sr24-sim-icon{border-radius:6px}

/* ===== v246: квадратный логотип без подложки + одинаковая высота ячеек ===== */
.sr24-cal-card .sr24-sim-badge{background:transparent;border:none;box-shadow:none;backdrop-filter:none;width:44px;height:44px}
.sr24-cal-card .sr24-sim-badge .sr24-sim-icon{object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.85))}
.sr24-cal-card .sr24-sim-badge:has(.sr24-sim-txt){background:rgba(8,10,14,.85);border:1px solid rgba(0,213,152,.4);border-radius:9px}
@media (min-width:640px){.sr24-cal-card{min-height:94px}}

/* ===== v247: бейдж логотипа полностью прозрачный, без скруглений ===== */
.sr24-cal-card .sr24-sim-badge{border-radius:0;padding:0}

/* ===== v248: логотип симулятора убран из ячейки сетки ===== */
.sr24-cal-card .sr24-sim-badge{display:none}

/* ===== v250: убраны белые линии-рамки по краям превью в сетке ===== */
.sr24-cal-card{border-color:transparent}
.group:hover .sr24-cal-card{border-color:rgba(0,213,152,.45)}

/* ===== v252: логотип SimGrid компактнее ===== */
.sr24-simgrid-logo{height:14px}
@media (max-width:640px){.sr24-simgrid-logo{height:11px}}

/* ===== v253: логотип SimGrid ровно по линии слотов ===== */
.sr24-simgrid-logo{display:block;margin-left:auto;margin-right:0;vertical-align:baseline}

/* v257: неоновая подсветка ближайшей предстоящей гонки */
@keyframes sr24NextNeon{
  0%,100%{box-shadow:0 0 4px rgba(0,213,152,.12),0 0 12px rgba(0,213,152,.06);border-color:rgba(0,213,152,.35)}
  50%{box-shadow:0 0 12px rgba(0,213,152,.45),0 0 28px rgba(0,213,152,.18);border-color:rgba(0,213,152,.9)}
}
.sr24-next-race{border-color:rgba(0,213,152,.5)!important;animation:sr24NextNeon 2.4s ease-in-out infinite}

/* v260: шапка страницы гонки — редизайн по ТЗ */
.sr24-hdr-sim{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:6px 12px 6px 8px}
.sr24-hdr-sim img{width:26px;height:26px;object-fit:contain;display:block;border-radius:4px}
.sr24-hdr-sim-name{display:flex;flex-direction:column;line-height:1.15;text-align:left}
.sr24-hdr-sim-name b{font-size:11px;font-weight:800;letter-spacing:1.5px;color:#e8edf1;font-style:normal;white-space:nowrap}
.sr24-hdr-sim-name i{font-size:10.5px;letter-spacing:2px;color:#8A8F98;font-style:normal;font-weight:600;white-space:nowrap}
.sr24-hdr-main{display:inline-flex;align-items:center;gap:7px;background:linear-gradient(135deg,rgba(255,190,60,.14),rgba(255,150,40,.06));border:1px solid rgba(255,190,60,.45);border-radius:10px;padding:7px 12px;font-size:10px;font-weight:900;letter-spacing:2px;color:#FFCE6B;white-space:nowrap}
.sr24-hdr-quiet{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:7px 12px;font-size:10px;font-weight:800;letter-spacing:2px;color:#9AA4AD;white-space:nowrap}
.sr24-cls-chip{display:inline-flex;align-items:center;background:#13171B;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:3px 8px;font-size:10.5px;font-weight:800;letter-spacing:1.2px;color:#C8D0D7}
@media (max-width:640px){
  .sr24-hdr-sim-name b{font-size:10px;letter-spacing:1px}
  .sr24-hdr-sim-name i{font-size:9px;letter-spacing:1.5px}
  .sr24-hdr-main,.sr24-hdr-quiet{font-size:9px;letter-spacing:1.5px;padding:6px 10px}
}
@media (max-width:640px){
  h1.text-3xl.sm\:text-4xl.lg\:text-5xl{font-size:24px;line-height:1.2}
}

/* v261: голубой бейдж внешней гонки SimGrid */
.sr24-hdr-ext{display:inline-flex;align-items:center;gap:6px;background:rgba(46,155,255,.12);border:1px solid rgba(46,155,255,.45);border-radius:10px;padding:7px 12px;font-size:10px;font-weight:800;letter-spacing:2px;color:#5eb0ff;white-space:nowrap}
@media (max-width:640px){.sr24-hdr-ext{font-size:9px;letter-spacing:1.5px;padding:6px 10px}}

/* v262: логотип SimGrid в кнопке регистрации */
.sr24-sg-btn-logo{height:15px;width:auto;display:block;filter:brightness(1.05)}

/* v263: тумблер «скрывать уведомления» в профиле */
.sr24-notif-toggle{margin:4px 0 10px;padding:12px 14px;border-radius:10px;background:#151518;border:1px solid #252528}
.sr24-switch-input{display:none}
.sr24-switch{position:relative;width:38px;height:20px;border-radius:10px;background:#2a2a30;transition:background .2s;flex-shrink:0}
.sr24-switch::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#8A8F98;transition:left .2s,background .2s}
.sr24-switch-input:checked+.sr24-switch{background:rgba(0,213,152,.35)}
.sr24-switch-input:checked+.sr24-switch::after{left:20px;background:#00d598}

/* ── v268: Битва пилотов/команд — подиум, таблицы, мини-блоки ── */
.sr24-crown{position:absolute;top:-13px;left:50%;transform:translateX(-50%);font-size:20px;line-height:1;filter:drop-shadow(0 2px 8px rgba(255,184,28,.65));z-index:2;pointer-events:none}
.sr24-mv{font-size:9px;font-weight:800;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1}
.sr24-mv-up{color:#00d598}
.sr24-mv-dn{color:#F44336}
.sr24-mv-eq{color:#555}
.sr24-form{display:inline-flex;gap:4px;align-items:center}
.sr24-fd{width:10px;height:10px;border-radius:50%;display:inline-block;cursor:help;flex-shrink:0}
.sr24-fd-win{background:#00d598;box-shadow:0 0 7px rgba(0,213,152,.6)}
.sr24-fd-pod{background:#FFB81C;box-shadow:0 0 6px rgba(255,184,28,.35)}
.sr24-fd-dnf{background:#F44336}
.sr24-fd-oth{background:#3a3a42}
.sr24-fd-abs{background:transparent;border:2px solid #2a2a30;box-sizing:border-box}
.sr24-bblocks{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(max-width:768px){.sr24-bblocks{grid-template-columns:1fr}}
.sr24-bblock{background:#141419;border:1px solid #222;border-radius:14px;padding:16px 18px;transition:border-color .2s}
.sr24-bblock:hover{border-color:#2c2c34}
.sr24-bblock-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:#949498;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.sr24-duel-score{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;font-size:22px;color:#fff;text-align:center;font-variant-numeric:tabular-nums}
.sr24-duel-bar{height:6px;border-radius:3px;background:#1e1e26;overflow:hidden}
.sr24-duel-fill{height:100%;border-radius:3px;transition:width .4s}
.sr24-bblock-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid #1a1a1f}
.sr24-bblock-row:last-child{border-bottom:none;padding-bottom:0}
.sr24-bblock-pos{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;width:20px;text-align:center;flex-shrink:0;font-size:12px}

/* ── v269: сезоны — редизайн обёртки (пилюли лицензий, рейтинг-бары, чипы классов) ── */
.sr24-lic{display:inline-block;padding:3px 8px;border:1px solid #2c2c34;border-radius:6px;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#c8ccd2;background:#16161c;white-space:nowrap}
.sr24-rate-bar{display:inline-block;width:52px;height:5px;border-radius:3px;background:#1e1e26;overflow:hidden;flex-shrink:0}
.sr24-rate-fill{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#00d598,#00b87f)}
.sr24-clschip{display:inline-block;padding:1px 6px;border-radius:4px;background:#1a1a20;border:1px solid #2a2a32;font-size:8px;font-weight:700;letter-spacing:.06em;color:#8A8F98;text-transform:uppercase;flex-shrink:0}
.sr24-crown{top:-11px}
