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

@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:        #03d598;
  --sr-mint-dim:    rgba(3,213,152,.10);
  --sr-line:        rgba(3,213,152,.08);
  --sr-line-hover:  rgba(3,213,152,.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(3,213,152,.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(3,213,152,.25));
  transition: filter .3s ease;
}
header img[src*="logo"]:hover,
nav img[src*="logo"]:hover {
  filter: drop-shadow(0 0 14px rgba(3,213,152,.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(3,213,152,.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(3,213,152,.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(3,213,152,.08) !important;
  box-shadow: 0 0 16px rgba(3,213,152,.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(3,213,152,.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(3,213,152,.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(3,213,152,.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(3,213,152,.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(3,213,152,.2)); }
  50% { filter: drop-shadow(0 0 12px rgba(3,213,152,.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: #03d598 !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(3,213,152,.28); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(3,213,152,.55); }
* { scrollbar-width: thin; scrollbar-color: rgba(3,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(3,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(3,213,152,.45);transform:scale(1.05);}
.sr24-pit-btn svg{width:26px;height:26px;fill:#03d598;}
.sr24-pit-hint{position:fixed;right:92px;bottom:104px;z-index:60;background:#15151c;border:1px solid rgba(3,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:#03d598;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: #03d598 !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-\[\#03d598\].hover\:bg-white:hover,
.bg-\[\#03d598\].hover\:bg-white:hover,
button.bg-\[\#03d598\]:hover, a.bg-\[\#03d598\]:hover, label.bg-\[\#03d598\]:hover,
button.bg-\[\#03d598\]:hover, a.bg-\[\#03d598\]:hover, label.bg-\[\#03d598\]:hover {
  background-color: #03d598 !important;
  box-shadow: 0 0 22px rgba(3,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: #03d598;
  background: rgba(3,213,152,.1);
  border-color: rgba(3,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:#03d598;border:none;box-shadow:0 4px 20px rgba(3,213,152,.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(3,213,152,.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(3,213,152,.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:#03d598;border:2.5px solid #0A2A1E;box-shadow:0 0 8px rgba(3,213,152,.8);}
@keyframes sr24GamesPulse{0%{box-shadow:0 4px 20px rgba(3,213,152,.35)}3%{box-shadow:0 4px 34px rgba(3,213,152,.75)}6%{box-shadow:0 4px 20px rgba(3,213,152,.35)}100%{box-shadow:0 4px 20px rgba(3,213,152,.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(3,213,152,.35);}
.sr24-game-icon{width:44px;height:44px;border-radius:12px;background:rgba(3,213,152,.1);border:1px solid rgba(3,213,152,.3);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.sr24-game-play{background:#03d598;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(3,213,152,.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(3,213,152,.10);
  border-color: rgba(3,213,152,.45);
  box-shadow: 0 0 18px rgba(3,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:#03d598;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(3,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(3,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(3,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(3,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(3,213,152,.12),0 0 12px rgba(3,213,152,.06);border-color:rgba(3,213,152,.35)}
  50%{box-shadow:0 0 12px rgba(3,213,152,.45),0 0 28px rgba(3,213,152,.18);border-color:rgba(3,213,152,.9)}
}
.sr24-next-race{border-color:rgba(3,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(3,213,152,.35)}
.sr24-switch-input:checked+.sr24-switch::after{left:20px;background:#03d598}

/* ── 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:#03d598}
.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:#03d598;box-shadow:0 0 7px rgba(3,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,#03d598,#03d598)}
.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}

/* ── v280: hero сезона (ТЗ первого экрана битвы пилотов) ── */
.sr24-hero-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:14px;margin-bottom:14px}
.sr24-hero-card{position:relative;background:linear-gradient(180deg,#101815,#0d1310);border:1px solid #223029;border-radius:16px;padding:16px 18px;overflow:hidden}
.sr24-hero-card:before{content:"";position:absolute;inset:0;background:radial-gradient(560px 180px at 18% -10%,rgba(3,213,152,.10),transparent 60%);pointer-events:none}
.sr24-card-label{font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#7d8c85;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.sr24-status{display:inline-flex;align-items:center;gap:7px;padding:3px 10px;border-radius:999px;border:1px solid #223029;background:#0b100e;color:#a8b8b1;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.sr24-pulse-dot{width:7px;height:7px;border-radius:50%;background:#03d598;box-shadow:0 0 0 0 rgba(3,213,152,.55);animation:sr24pulse 1.8s infinite}
.sr24-status-soon .sr24-pulse-dot{background:#f0b429;animation:none}
.sr24-status-done .sr24-pulse-dot{background:#5d6d66;animation:none}
.sr24-timer{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:8px 0 12px}
.sr24-hero-cell{background:#0b100e;border:1px solid #1b2621;border-radius:12px;padding:10px 6px;text-align:center}
.sr24-hero-num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:26px;line-height:1;font-weight:800;color:#e9f2ee;font-variant-numeric:tabular-nums}
.sr24-hero-lab{margin-top:5px;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:#5d6d66;font-weight:800}
.sr24-progress-wrap{margin-top:4px}
.sr24-progress-lines{display:flex;gap:3px;margin-top:8px}
.sr24-progress-lines i{height:4px;flex:1;border-radius:2px;background:#1b2621}
.sr24-progress-lines i.on{background:#03d598;box-shadow:0 0 8px rgba(3,213,152,.35)}
.sr24-ring{width:118px;height:118px}
.sr24-ring .bg{fill:none;stroke:#1b2621;stroke-width:8}
.sr24-ring .fg{fill:none;stroke:#03d598;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .6s ease}
.sr24-ring .st{fill:#223029;transition:fill .3s}
.sr24-ring .st.on{fill:#03d598}
.sr24-ring .st.next{fill:#f0b429}
.sr24-ring-num{font-size:24px;font-weight:800;fill:#e9f2ee;text-anchor:middle;font-variant-numeric:tabular-nums}
.sr24-ring-lab{font-size:7px;letter-spacing:.18em;fill:#7d8c85;text-anchor:middle;text-transform:uppercase}
.sr24-ladder-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #16201b}
.sr24-ladder-row:last-child{border-bottom:none}
.sr24-ladder-pos{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;font-size:13px;color:#5d6d66;text-align:center}
.sr24-bar{height:5px;border-radius:3px;background:#16201b;overflow:hidden;margin-top:6px}
.sr24-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#03d598,#03d598);transition:width .7s ease}
.sr24-race-card{display:flex;gap:14px;align-items:stretch;margin-top:14px}
.sr24-track{width:120px;height:86px;flex-shrink:0;align-self:center}
.sr24-track path{fill:none;stroke:#223029;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.sr24-track .hot{stroke:#03d598;stroke-dasharray:12 130;animation:sr24dash 3.2s linear infinite}
.sr24-remind{display:inline-flex;align-items:center;gap:7px;margin-top:10px;padding:8px 12px;border-radius:10px;border:1px solid #03d598;color:#06281a;background:#03d598;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:filter .2s,transform .2s}
.sr24-remind:hover{filter:brightness(1.08);transform:translateY(-1px)}
.sr24-remind-off{background:transparent;color:#5d6d66;border-color:#223029;cursor:default}
.sr24-remind-off:hover{filter:none;transform:none}
.sr24-me{margin-top:14px;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:rgba(3,213,152,.07);border:1px solid rgba(3,213,152,.25)}
.sr24-timeline{margin-top:14px}
.sr24-ticks{display:flex;gap:3px}
.sr24-tick-wrap{flex:1;min-width:0}
.sr24-tick{display:block;height:8px;border-radius:4px;background:#1b2621;border:1px solid #223029}
.sr24-tick.done{background:#03d598;border-color:#03d598}
.sr24-tick.next{background:#f0b429;border-color:#f0b429;box-shadow:0 0 10px rgba(240,180,41,.35)}
.sr24-tick.final{border-color:#f0b429}
.sr24-mon{display:flex;justify-content:space-between;margin-top:7px;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#5d6d66;font-weight:800}
@keyframes sr24pulse{0%{box-shadow:0 0 0 0 rgba(3,213,152,.55)}70%{box-shadow:0 0 0 9px rgba(3,213,152,0)}100%{box-shadow:0 0 0 0 rgba(3,213,152,0)}}
@keyframes sr24dash{to{stroke-dashoffset:-142}}
@media (prefers-reduced-motion:reduce){.sr24-pulse-dot,.sr24-track .hot{animation:none}.sr24-ring .fg,.sr24-bar-fill{transition:none}}
@media(max-width:980px){.sr24-hero-grid{grid-template-columns:1fr}.sr24-race-card{flex-direction:column}.sr24-track{align-self:flex-start}}
@media(max-width:420px){.sr24-hero-card{padding:13px}.sr24-hero-num{font-size:21px}.sr24-timer{gap:5px}.sr24-ring{width:104px;height:104px}}

/* ── v281: hero polish — компактно, ровно, живее ── */
.sr24-hero{animation:sr24heroIn .45s ease both}
.sr24-hero-grid{align-items:start;gap:16px}
.sr24-hero-card{background:linear-gradient(180deg,rgba(16,24,21,.96),rgba(11,16,14,.98));box-shadow:0 18px 50px rgba(0,0,0,.28);transition:border-color .2s,transform .2s,box-shadow .2s}
.sr24-hero-card:hover{border-color:#2c3b34;transform:translateY(-1px);box-shadow:0 22px 60px rgba(0,0,0,.34)}
.sr24-timer{gap:10px;margin:10px 0 16px}
.sr24-hero-cell{background:linear-gradient(180deg,#0e1512,#0a0f0d);border-color:#24332c;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.sr24-hero-num{font-size:30px;color:#f2fbf6}
.sr24-prog{display:flex;align-items:center;gap:18px;margin-top:4px}
.sr24-ring{width:112px;height:112px;filter:drop-shadow(0 0 14px rgba(3,213,152,.12))}
.sr24-ring .bg{stroke:#18241f}
.sr24-ring .fg{stroke:url(#sr24mint);stroke:#03d598}
.sr24-ring .st{fill:#223029}
.sr24-ring .st.on{fill:#03d598}
.sr24-ring .st.next{fill:#f0b429;filter:drop-shadow(0 0 6px rgba(240,180,41,.8))}
.sr24-stat{display:flex;align-items:baseline;gap:8px;padding:6px 0;border-bottom:1px dashed #1b2621}
.sr24-stat:last-of-type{border-bottom:none}
.sr24-stat b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:16px;color:#e9f2ee;min-width:34px}
.sr24-stat span{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#7d8c85;font-weight:800}
.sr24-stat.gold b{color:#f0b429}
.sr24-me{margin-top:10px;padding:9px 11px;background:linear-gradient(90deg,rgba(3,213,152,.12),rgba(3,213,152,.03))}
.sr24-me-pos{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800;color:#06281a;background:#03d598;border-radius:8px;padding:5px 8px;font-size:11px;flex-shrink:0}
.sr24-ladder-row{grid-template-columns:34px minmax(0,1fr) 54px;gap:12px;padding:10px 10px;margin:0 -10px;border-bottom:1px solid rgba(34,48,41,.7);border-radius:10px}
.sr24-ladder-row:hover{background:rgba(3,213,152,.04)}
.sr24-ladder-row.first{background:linear-gradient(90deg,rgba(240,180,41,.10),transparent 70%);border-color:rgba(240,180,41,.25)}
.sr24-ladder-pos{font-size:15px}
.sr24-bar{height:6px;background:#121b17}
.sr24-race-card{margin-top:0;align-items:center}
.sr24-track{width:112px;height:80px;opacity:.9}
.sr24-track path{stroke:#1d2a25;stroke-width:6}
.sr24-track .hot{stroke:#03d598;stroke-width:3;filter:drop-shadow(0 0 6px rgba(3,213,152,.8))}
.sr24-remind{border-radius:999px;padding:8px 14px;box-shadow:0 8px 22px rgba(3,213,152,.18)}
.sr24-remind-off{box-shadow:none}
.sr24-timeline{margin-top:16px;padding-top:2px}
.sr24-ticks{gap:4px}
.sr24-tick{height:9px;background:#141d19;border-color:#223029;transition:transform .2s,background .2s}
.sr24-tick:hover{transform:translateY(-2px)}
.sr24-tick.done{background:linear-gradient(90deg,#03d598,#03d598);border-color:transparent}
.sr24-tick.next{background:#f0b429;border-color:#f0b429}
.sr24-mon{position:relative;height:16px;margin-top:8px}
.sr24-mon span{position:absolute;top:0;transform:translateX(-1px);white-space:nowrap}
@keyframes sr24heroIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:640px){.sr24-prog{gap:12px}.sr24-ring{width:96px;height:96px}.sr24-hero-num{font-size:24px}.sr24-ladder-row{grid-template-columns:28px minmax(0,1fr) 46px;gap:8px}}

/* ── v282: hero stable beauty — возврат видимого hero + пересборка сетки ── */
.sr24-hero{display:block}
.sr24-hero>div:first-child{align-items:flex-end}
.sr24-hero-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:16px;align-items:stretch}
.sr24-hero-grid>.sr24-hero-card:first-child{display:flex;flex-direction:column;min-height:330px}
.sr24-timer{margin:10px 0 14px}
.sr24-progress-wrap{display:flex;align-items:center;gap:18px;margin-top:auto;padding-top:6px}
.sr24-progress-wrap .sr24-ring{width:128px;height:128px;flex-shrink:0}
.sr24-progress-lines{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}
.sr24-progress-lines>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid #1b2621;border-radius:10px;background:rgba(11,16,14,.55);color:#a8b8b1;font-size:11px}
.sr24-progress-lines>div:first-child{color:#03d598;font-weight:800}
.sr24-ladder-row{display:grid;grid-template-columns:30px 46px minmax(0,1fr);gap:12px;align-items:center;padding:11px 12px;margin:0 -12px;border-bottom:1px solid rgba(34,48,41,.75);border-radius:12px}
.sr24-ladder-row:hover{background:rgba(3,213,152,.045)}
.sr24-ladder-row .sr24-crown{position:absolute;top:-15px;left:50%;transform:translateX(-50%);font-size:14px;line-height:1;filter:drop-shadow(0 0 8px rgba(240,180,41,.65))}
.sr24-ladder-row .min-w-0.flex-1{display:block}
.sr24-ladder-row .flex.items-baseline.justify-between{align-items:center}
.sr24-bar{margin-top:8px;height:6px;background:#121b17;border-radius:4px}
.sr24-hero>.sr24-race-card{max-width:820px;margin:14px 0 0;display:flex;align-items:center;gap:18px;padding:14px 16px}
.sr24-race-card .sr24-track{width:170px;height:92px;margin-left:auto}
.sr24-hero>.sr24-me{display:inline-flex;max-width:560px;margin-top:12px}
.sr24-timeline{margin-top:16px}
.sr24-mon{position:static;height:auto;display:flex;justify-content:space-between;margin-top:8px}
.sr24-mon span{position:static;transform:none}
@media(max-width:980px){.sr24-hero-grid{grid-template-columns:1fr}.sr24-hero>.sr24-race-card{max-width:none}.sr24-race-card .sr24-track{margin-left:0}}
@media(max-width:560px){.sr24-progress-wrap{gap:12px}.sr24-progress-wrap .sr24-ring{width:104px;height:104px}.sr24-ladder-row{grid-template-columns:24px 40px minmax(0,1fr);gap:9px;padding:10px 8px;margin:0 -8px}.sr24-hero>.sr24-race-card{align-items:flex-start}.sr24-race-card .sr24-track{width:120px;height:70px}}

/* ── v283: шкала сезона — 3 месяца, ровные полоски и даты ── */
.sr24-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sr24-month{min-width:0;padding:10px 12px 12px;border:1px solid #16201b;border-radius:12px;background:linear-gradient(180deg,rgba(16,24,21,.55),rgba(11,16,14,.35))}
.sr24-month-name{height:16px;margin-bottom:8px;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#7d8c85}
.sr24-month-ticks{display:flex;gap:7px;align-items:flex-start}
.sr24-stage{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.sr24-tick{display:block;width:100%;height:10px;border-radius:5px;background:#2b3236;border:1px solid #222a2e;box-sizing:border-box}
.sr24-tick.done{background:#14684a;border-color:#14684a}
.sr24-tick.next{background:#03d598;border-color:#03d598;animation:sr24tickblink 1.1s ease-in-out infinite}
.sr24-tick.final{background:#f0b429;border-color:#f0b429;box-shadow:0 0 12px rgba(240,180,41,.35);animation:none}
.sr24-date{display:block;font-size:8px;line-height:1.1;text-align:center;color:#7d8c85;font-variant-numeric:tabular-nums;white-space:nowrap}
.sr24-date.gold{color:#f0b429;font-weight:800}
@keyframes sr24tickblink{0%,100%{opacity:1;box-shadow:0 0 0 rgba(3,213,152,0)}50%{opacity:.45;box-shadow:0 0 12px rgba(3,213,152,.65)}}
@media (prefers-reduced-motion:reduce){.sr24-tick.next{animation:none}}
@media(max-width:760px){.sr24-months{grid-template-columns:1fr;gap:10px}.sr24-month{padding:9px 10px}.sr24-date{font-size:7px}}

/* ── v284: следующий этап — во всю ширину, с баннером и слотами ── */
.sr24-hero>.sr24-race-card{max-width:none;width:100%;margin:16px 0 0;display:grid;grid-template-columns:300px minmax(0,1fr);align-items:stretch;padding:0;overflow:hidden}
.sr24-race-banner{min-height:168px;background:#101815 center/cover no-repeat;border-right:1px solid #223029}
.sr24-race-main{padding:16px 18px;min-width:0}
.sr24-race-title{font-family:var(--font-heading,inherit);font-weight:800;text-transform:uppercase;color:#e9f2ee;font-size:clamp(16px,1.8vw,24px);line-height:1.1;letter-spacing:.02em}
.sr24-race-meta{margin-top:7px;color:#a8b8b1;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.sr24-slots{display:inline-flex;align-items:baseline;gap:5px;margin-top:10px;padding:6px 10px;border:1px solid #223029;border-radius:999px;background:#0b100e;color:#a8b8b1;font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.sr24-slots b{color:#03d598;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}
.sr24-race-main .sr24-remind{margin-left:10px}
@media(max-width:760px){.sr24-hero>.sr24-race-card{grid-template-columns:1fr}.sr24-race-banner{min-height:120px;border-right:none;border-bottom:1px solid #223029}.sr24-race-main .sr24-remind{margin-left:0;margin-top:12px}}

/* ── v285: до финиша сезона по ТЗ (макет v3) ── */
.sr24-left-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.sr24-raceweek{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:999px;background:rgba(3,213,152,.13);border:1px solid rgba(3,213,152,.35);color:#03d598;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.sr24-timer{display:flex;align-items:stretch;gap:8px}
.sr24-timer .sr24-hero-cell{flex:1;min-width:0}
.sr24-timer>.sr24-hero-cell:last-child{border-bottom:2px solid #03d598}
.sr24-timer>.sr24-hero-cell:last-child .sr24-hero-num{text-shadow:0 0 18px rgba(3,213,152,.35)}
.sr24-sep{align-self:center;color:#5d6d66;font-size:22px;font-weight:800;user-select:none}
.sr24-div{height:1px;background:#1c2822;margin:14px 0}
.sr24-progress-wrap .sr24-ring{width:132px;height:132px}
.sr24-ring .bg{fill:none;stroke:#1c2822;stroke-width:6}
.sr24-ring .fg{fill:none;stroke:#03d598;stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset 1.3s ease-out}
.sr24-ring circle:not(.bg):not(.fg){transition:fill .3s}
.sr24-ring .sr24-stage-next{animation:sr24dotpulse 1.4s ease-in-out infinite}
.sr24-ring-num{font-size:25px;font-weight:800;fill:#e9f2ee;font-variant-numeric:tabular-nums}
.sr24-ring-lab{font-size:8px;letter-spacing:.2em;fill:#7d8c85}
.sr24-progress-lines>div{display:flex;align-items:center;gap:10px;padding:9px 11px}
.sr24-progress-lines .sr24-ic{width:22px;height:22px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:#0b100e;border:1px solid #223029;color:#7d8c85;font-size:12px;font-weight:800}
.sr24-progress-lines .sr24-ic.ok{color:#06281a;background:#03d598;border-color:#03d598}
.sr24-progress-lines .sr24-ic.gold{color:#2a1c04;background:#f0b429;border-color:#f0b429}
.sr24-progress-lines .sr24-st-t{flex:1;min-width:0;color:#a8b8b1;font-size:11px}
.sr24-progress-lines b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;color:#e9f2ee;font-size:12px;white-space:nowrap}
.sr24-progress-lines b.ok{color:#03d598}.sr24-progress-lines b.gold{color:#f0b429}
.sr24-path{margin-top:2px;padding:0 2px 2px}
.sr24-path-lab{display:flex;justify-content:space-between;margin:2px 0 6px;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#5d6d66;font-weight:800}
.sr24-path-bar{position:relative;height:5px;border-radius:3px;background:#1c2822;overflow:visible}
.sr24-path-bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#03d598,#03d598);transition:width 1.3s ease-out}
.sr24-path-bar .sr24-fin{position:absolute;right:-1px;top:-3px;width:2px;height:11px;border-radius:2px;background:#f0b429;box-shadow:0 0 10px rgba(240,180,41,.7)}
@keyframes sr24dotpulse{0%,100%{opacity:1}50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.sr24-ring .fg,.sr24-path-bar i{transition:none}.sr24-ring .sr24-stage-next{animation:none}}
@media(max-width:640px){.sr24-timer{gap:5px}.sr24-sep{font-size:18px}.sr24-left-head{flex-direction:column;align-items:flex-start}.sr24-raceweek{white-space:normal}}

/* ── v286: фиксы пути сезона, кликабельной ближайшей и кольца ── */
.sr24-progress-lines>.sr24-path{display:block;border:none;background:transparent;padding:8px 2px 2px}
.sr24-path-lab{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 6px}
.sr24-path-lab span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sr24-path-lab span:last-child{flex-shrink:0;text-align:right}
.sr24-path-bar{height:6px;border-radius:3px;background:#17231e;box-shadow:inset 0 0 0 1px #1c2822}
.sr24-path-bar i{min-width:4px;box-shadow:0 0 12px rgba(3,213,152,.25)}
.sr24-ring-num{font-size:20px}
.sr24-near-link{color:#f0b429;font-weight:800;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;font-size:12px;white-space:nowrap;text-decoration:none;border-bottom:1px dashed rgba(240,180,41,.55);transition:color .2s,border-color .2s}
.sr24-near-link:hover{color:#ffd166;border-bottom-color:#ffd166}

/* ── v287: CTA мигание — кнопка участия и ближайшая гонка ── */
.sr24-remind{background:#03d598;border:1px solid #03d598;color:#06110c;box-shadow:0 0 0 rgba(3,213,152,.0),0 10px 26px rgba(3,213,152,.22);animation:sr24ctapulse 1.7s ease-in-out infinite}
.sr24-remind:hover{filter:none;background:#03d598;border-color:#03d598;color:#06110c;transform:translateY(-1px);box-shadow:0 0 0 6px rgba(3,213,152,.10),0 14px 34px rgba(3,213,152,.30)}
.sr24-remind:active{transform:translateY(0)}
.sr24-remind-off{background:transparent;border-color:#223029;color:#5d6d66;box-shadow:none;animation:none;cursor:default}
.sr24-remind-off:hover{background:transparent;border-color:#223029;color:#5d6d66;transform:none;box-shadow:none}
.sr24-near-link{animation:sr24nearblink 1.9s ease-in-out infinite}
.sr24-near-link:hover{animation-play-state:paused}
@keyframes sr24ctapulse{0%,100%{box-shadow:0 0 0 0 rgba(3,213,152,.24),0 10px 26px rgba(3,213,152,.20)}50%{box-shadow:0 0 0 7px rgba(3,213,152,0),0 10px 30px rgba(3,213,152,.34)}}
@keyframes sr24nearblink{0%,100%{opacity:1;text-shadow:0 0 0 rgba(240,180,41,0)}50%{opacity:.68;text-shadow:0 0 12px rgba(240,180,41,.45)}}
@media (prefers-reduced-motion:reduce){.sr24-remind,.sr24-near-link{animation:none}}

/* ── v288: живой основной отсчёт сезона ── */
.sr24-timer .sr24-hero-cell{animation:sr24cellbreathe 2.6s ease-in-out infinite}
.sr24-timer .sr24-hero-num{animation:sr24numbreathe 1.8s ease-in-out infinite}
@keyframes sr24cellbreathe{0%,100%{box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 0 0 rgba(3,213,152,0)}50%{box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 0 18px rgba(3,213,152,.10)}}
@keyframes sr24numbreathe{0%,100%{opacity:1}50%{opacity:.86}}
@media (prefers-reduced-motion:reduce){.sr24-timer .sr24-hero-cell,.sr24-timer .sr24-hero-num{animation:none}}

/* ── v289: битва сезона — финальная лестница v3 ── */
.sr24-blist{display:flex;flex-direction:column;gap:8px}
.sr24-brow{display:grid;grid-template-columns:30px 50px minmax(0,1fr) auto 58px;gap:12px;align-items:center;padding:12px;border-radius:12px;border:1px solid #223029;background:rgba(255,255,255,.02)}
.sr24-brow.p1{background:linear-gradient(90deg,rgba(240,180,41,.09),rgba(240,180,41,.02));border-color:rgba(240,180,41,.28);box-shadow:0 10px 30px rgba(240,180,41,.08)}
.sr24-brow.p2{background:rgba(192,200,196,.045);border-color:rgba(192,200,196,.16)}
.sr24-brow.p3{background:rgba(176,121,63,.05);border-color:rgba(176,121,63,.2)}
.sr24-medal{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;color:#10140f;box-shadow:0 0 14px rgba(0,0,0,.25)}
.sr24-medal.p1{background:radial-gradient(circle at 30% 25%,#f7d069,#b8860b);box-shadow:0 0 18px rgba(240,180,41,.45)}
.sr24-medal.p2{background:linear-gradient(180deg,#e6ece9,#8b9590)}
.sr24-medal.p3{background:linear-gradient(180deg,#d69a5c,#7c4f22)}
.sr24-bav{position:relative;width:46px;height:46px}
.sr24-bav img,.sr24-bav>span{width:46px;height:46px;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center;background:#18231e;color:#a8b8b1;font-weight:800;font-size:12px;border:2px solid #5d6d66}
.sr24-brow.p1 .sr24-bav img,.sr24-brow.p1 .sr24-bav>span{border-color:#f0b429;box-shadow:0 0 16px rgba(240,180,41,.4)}
.sr24-brow.p2 .sr24-bav img,.sr24-brow.p2 .sr24-bav>span{border-color:#c0c8c4}
.sr24-brow.p3 .sr24-bav img,.sr24-brow.p3 .sr24-bav>span{border-color:#b0793f}
.sr24-crown2{position:absolute;top:-15px;left:50%;transform:translateX(-50%) rotate(-8deg);font-size:15px;z-index:2;filter:drop-shadow(0 0 8px rgba(240,180,41,.7))}
.sr24-bmain{min-width:0}
.sr24-bname{display:flex;align-items:center;gap:8px;min-width:0}
.sr24-bname .n{color:#e9f2ee;font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sr24-delta{flex-shrink:0;padding:2px 7px;border-radius:6px;font-size:9px;font-weight:900;letter-spacing:.04em}
.sr24-delta.up{color:#03d598;background:rgba(3,213,152,.12);border:1px solid rgba(3,213,152,.28)}
.sr24-delta.down{color:#ff6b8f;background:rgba(255,46,99,.10);border:1px solid rgba(255,46,99,.28)}
.sr24-bmeta{margin-top:2px;color:#7d8c85;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sr24-mot{margin-top:6px;display:flex;align-items:center;gap:10px;color:#a8b8b1;font-size:10px}
.sr24-mini{flex:1;max-width:220px;height:3px;border-radius:2px;background:#1c2822;overflow:hidden}
.sr24-mini em{display:block;height:100%;border-radius:2px;background:currentColor;transition:width 1.1s ease-out}
.sr24-brow.p1 .sr24-mot{color:#d8b45c}.sr24-brow.p2 .sr24-mot{color:#c0c8c4}.sr24-brow.p3 .sr24-mot{color:#c98b4c}
.sr24-spark{min-width:74px;text-align:right}
.sr24-spark-bars{display:flex;align-items:flex-end;justify-content:flex-end;gap:3px;height:38px}
.sr24-spark-bars i{width:5px;border-radius:2px;display:block;transition:height .4s}
.sr24-spark span{display:block;margin-top:4px;font-size:7px;letter-spacing:.12em;color:#5d6d66;font-weight:800;white-space:nowrap}
.sr24-bpts{text-align:right}
.sr24-bpts b{display:block;font-size:22px;line-height:1;font-weight:800;font-variant-numeric:tabular-nums}
.sr24-brow.p1 .sr24-bpts b{color:#f0b429}.sr24-brow.p2 .sr24-bpts b{color:#e6ece9}.sr24-brow.p3 .sr24-bpts b{color:#d69a5c}
.sr24-bpts span{font-size:10.5px;color:#5d6d66;font-variant-numeric:tabular-nums}
.sr24-bfoot{margin-top:12px;padding-top:12px;border-top:1px dashed #223029;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#7d8c85;font-size:10px}
.sr24-podium-cta{color:#03d598;font-weight:800;text-decoration:none;white-space:nowrap}
.sr24-podium-cta:hover{text-decoration:underline}
@media (prefers-reduced-motion:reduce){.sr24-mini em{transition:none}}
@media(max-width:900px){.sr24-brow{grid-template-columns:28px 46px minmax(0,1fr) 52px}.sr24-spark{display:none}}
@media(max-width:520px){.sr24-brow{grid-template-columns:24px 40px minmax(0,1fr);gap:8px;padding:10px}.sr24-bpts{grid-column:3}.sr24-bav,.sr24-bav img,.sr24-bav>span{width:40px;height:40px}.sr24-bfoot{flex-direction:column;align-items:flex-start}}

/* ── v290: битва — флаг после ника, форма 5 точек, заметный #4 ── */
.sr24-crown2{display:none}
.sr24-bname{align-items:center;gap:7px}
.sr24-bname img{flex-shrink:0}
.sr24-bmeta{margin-top:4px;color:#8a9a92;font-size:10px}
.sr24-spark{min-width:92px}
.sr24-spark-dots{display:flex;align-items:center;justify-content:flex-end;height:38px}
.sr24-brow{grid-template-columns:30px 50px minmax(0,1fr) auto 58px}
.sr24-back{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:10px;border:1px solid rgba(240,180,41,.34);background:rgba(240,180,41,.09);color:#f0c65a;font-weight:800;letter-spacing:.02em}
.sr24-back .sr24-pulse-dot{background:#f0b429;box-shadow:0 0 0 0 rgba(240,180,41,.55);animation:sr24pulse 1.5s infinite}
@media(max-width:520px){.sr24-spark{display:none}.sr24-brow{grid-template-columns:24px 40px minmax(0,1fr) 48px}}

/* v291: team chip under nickname — same look as season table */
.sr24-bmeta{margin-top:4px;color:#8a9a92;font-size:10px;white-space:normal;overflow:visible;text-overflow:clip;display:flex;align-items:center;min-width:0}
.sr24-bmeta>span{max-width:100%}

/* ── v292: яркое мигание отсчёта + пульс медалей топ-3 ── */
@keyframes sr24cellbreathe{0%,100%{box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 0 0 rgba(3,213,152,0);border-color:rgba(3,213,152,.14)}50%{box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 30px rgba(3,213,152,.34),0 0 8px rgba(3,213,152,.22);border-color:rgba(3,213,152,.55)}}
@keyframes sr24numbreathe{0%,100%{opacity:1;text-shadow:0 0 0 rgba(3,213,152,0)}50%{opacity:.6;text-shadow:0 0 20px rgba(3,213,152,.7)}}
.sr24-timer .sr24-hero-cell{animation-duration:1.9s}
.sr24-timer .sr24-hero-num{animation-duration:1.3s}

.sr24-medal{animation:sr24medalsilver 2s ease-in-out infinite}
.sr24-medal.p1{animation-name:sr24medalgold}
.sr24-medal.p3{animation-name:sr24medalbronze}
@keyframes sr24medalgold{0%,100%{box-shadow:0 0 10px rgba(240,180,41,.35);filter:brightness(1)}50%{box-shadow:0 0 26px rgba(240,180,41,.9),0 0 6px rgba(240,180,41,.5);filter:brightness(1.22)}}
@keyframes sr24medalsilver{0%,100%{box-shadow:0 0 8px rgba(214,224,220,.2);filter:brightness(1)}50%{box-shadow:0 0 20px rgba(214,224,220,.55),0 0 5px rgba(214,224,220,.3);filter:brightness(1.18)}}
@keyframes sr24medalbronze{0%,100%{box-shadow:0 0 8px rgba(214,154,92,.25);filter:brightness(1)}50%{box-shadow:0 0 20px rgba(214,154,92,.6),0 0 5px rgba(214,154,92,.35);filter:brightness(1.18)}}
@media (prefers-reduced-motion:reduce){.sr24-medal{animation:none;filter:none}}

/* ── v294: отсчёт — синхронная пульсация ячеек и цифр ── */
.sr24-timer .sr24-hero-cell,.sr24-timer .sr24-hero-num{animation-duration:1.6s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}

/* ── v297: отсчёт — медленнее и чуть приглушённее ── */
.sr24-timer .sr24-hero-cell,.sr24-timer .sr24-hero-num{animation-duration:2.4s}
@keyframes sr24cellbreathe{0%,100%{box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 0 0 rgba(3,213,152,0);border-color:rgba(3,213,152,.14)}50%{box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 0 20px rgba(3,213,152,.22),0 0 6px rgba(3,213,152,.14);border-color:rgba(3,213,152,.4)}}
@keyframes sr24numbreathe{0%,100%{opacity:1;text-shadow:0 0 0 rgba(3,213,152,0)}50%{opacity:.74;text-shadow:0 0 12px rgba(3,213,152,.45)}}

/* ── v299: Пульс сезона — секции, график, факты, итоговая полоса ── */
.sr24-psec{margin-bottom:18px}
.sr24-psec-title{font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#5d6d66;margin:0 0 10px}
.sr24-intrigue{width:100%;height:auto;display:block;margin:2px 0 4px}
.sr24-intrigue-line{stroke-dasharray:420;stroke-dashoffset:420;animation:sr24draw 1.3s ease-out forwards}
@keyframes sr24draw{to{stroke-dashoffset:0}}
.sr24-fact-ic{width:22px;height:22px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;background:#17171c;border:1px solid #26262d;font-size:11px;flex-shrink:0}
.sr24-bblock .sr24-medal{width:22px;height:22px;font-size:10px;animation:none}
.sr24-totals{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:4px}
.sr24-total{background:#141419;border:1px solid #222;border-radius:12px;padding:12px 8px;text-align:center}
.sr24-total b{display:block;font-size:18px;font-weight:800;color:#03d598;font-variant-numeric:tabular-nums}
.sr24-total span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#7d8c85}
@media(max-width:900px){.sr24-totals{grid-template-columns:repeat(3,1fr)}}
@media (prefers-reduced-motion:reduce){.sr24-intrigue-line{animation:none;stroke-dashoffset:0}}

/* ── v300: итоговая полоса — 10 метрик ── */
.sr24-totals{grid-template-columns:repeat(5,1fr)}
@media(max-width:900px){.sr24-totals{grid-template-columns:repeat(2,1fr)}}

/* ── v301: Пульс — победители этапов, рекорды трасс, одна машина ── */
.sr24-winrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:8px}
.sr24-win{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border-radius:10px;background:#17171c;border:1px solid #232329;min-width:0}
.sr24-win.done{border-color:rgba(240,180,41,.32);background:rgba(240,180,41,.05)}
.sr24-win-n{font-size:9px;font-weight:800;color:#7d8c85;letter-spacing:.08em}
.sr24-win-d{font-size:8px;color:#5d6d66;font-variant-numeric:tabular-nums}
.sr24-win-av{width:30px;height:30px;border-radius:50%;object-fit:cover}
.sr24-win.done .sr24-win-av{box-shadow:0 0 0 2px #f0b429}
.sr24-win-init{display:inline-flex;align-items:center;justify-content:center;background:#2a2a30;color:#e9f2ee;font-size:10px;font-weight:800}
.sr24-win-q{display:inline-flex;align-items:center;justify-content:center;border:1px dashed #3a3a44;color:#5d6d66;font-weight:800;font-size:12px}
.sr24-win-name{font-size:8px;font-weight:700;color:#a8b8b1;letter-spacing:.04em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sr24-win-cap{margin-top:10px;font-size:10px;color:#7d8c85}
.sr24-duelrow{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.sr24-duel-name{width:120px;font-size:12px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}
.sr24-duel-pts{font-size:13px;color:#fff;font-variant-numeric:tabular-nums;flex-shrink:0;min-width:24px;text-align:right}
.sr24-duel-cap{font-size:10px;color:#7d8c85;margin-top:2px}
.sr24-brand{display:inline-block;padding:1px 5px;border-radius:4px;background:rgba(255,46,99,.12);border:1px solid rgba(255,46,99,.3);color:#ff6b8f;font-size:8px;font-weight:800;letter-spacing:.05em;flex-shrink:0}
.sr24-car-init{width:26px;height:26px;font-size:9px}
.sr24-car-n{font-size:11px;color:#03d598;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}
.sr24-recs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.sr24-rec{background:#17171c;border:1px solid #232329;border-radius:12px;padding:12px;min-width:0}
.sr24-rec.empty{opacity:.55}
.sr24-rec-track{font-size:11px;font-weight:800;color:#e9f2ee;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sr24-rec-time{font-size:18px;font-weight:800;color:#03d598;font-variant-numeric:tabular-nums}
.sr24-rec-pilot{font-size:11px;color:#a8b8b1;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sr24-rec-meta{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:9px;color:#7d8c85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sr24-rec-wait{font-size:10px;color:#7d8c85}
.sr24-recs-cap{margin-top:10px;font-size:10px;color:#5d6d66}
@media(max-width:1024px){.sr24-recs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.sr24-recs{grid-template-columns:1fr}.sr24-duel-name{width:84px}}


/* === v302: пульс — интервалы между блоками, трио, логотипы авто и аватары в рекордах === */
.sr24-pulse-stack{display:flex;flex-direction:column;gap:16px}
.sr24-bblocks{gap:16px}
.sr24-bblocks3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.sr24-bblocks3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px){.sr24-bblocks3{grid-template-columns:1fr}}
.sr24-rec-pilot{display:flex;align-items:center;gap:6px}
.sr24-rec-av{width:18px;height:18px;border-radius:50%;object-fit:cover;flex-shrink:0}
.sr24-rec-init{display:inline-flex;align-items:center;justify-content:center;background:#2a2a2a;color:#8a8f98;font-size:8px;font-weight:800}
.sr24-rec-meta img{flex-shrink:0}


/* === v303: пульс — ассорти машин / поул-мастер / король этапов === */
.sr24-bblock-sub{margin-left:2px;color:#5d6d66;font-size:9px;letter-spacing:.04em;text-transform:none;font-weight:400}
.sr24-varlogos{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}
.sr24-varlogos img{width:16px;height:16px;object-fit:contain}


/* === v304: итоговая полоса — 4 метрики с иконками === */
.sr24-totals{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.sr24-totals{grid-template-columns:repeat(2,1fr)}}
.sr24-total-ic{font-size:18px;line-height:1;margin-bottom:2px}


/* === v305: пульс сезона — мигание блоков и медалей как у «Битвы сезона топ-3» === */
.sr24-bblock{animation:sr24blockbreathe 2.4s ease-in-out infinite}
@keyframes sr24blockbreathe{0%,100%{box-shadow:0 0 0 rgba(3,213,152,0);border-color:#222}50%{box-shadow:0 0 20px rgba(3,213,152,.18),0 0 6px rgba(3,213,152,.12);border-color:rgba(3,213,152,.38)}}
.sr24-bblock .sr24-medal{animation:sr24medalsilver 2s ease-in-out infinite}
.sr24-bblock .sr24-medal.p1{animation-name:sr24medalgold}
.sr24-bblock .sr24-medal.p3{animation-name:sr24medalbronze}
@media (prefers-reduced-motion:reduce){.sr24-bblock{animation:none}.sr24-bblock .sr24-medal{animation:none;filter:none}}


/* === v306: рамки блоков пульса больше не мигают зелёным — только медали === */
.sr24-bblock{animation:none}

/* === v326: кнопка часового пояса в шапке === */
.sr24-tz-link{display:inline-flex;align-items:center;gap:5px;background:rgba(3,213,152,.08);border:1px solid rgba(3,213,152,.35);border-radius:999px;padding:3px 10px;cursor:pointer;color:#03d598;transition:background .2s,border-color .2s,box-shadow .2s}
.sr24-tz-link:hover{background:rgba(3,213,152,.18);border-color:rgba(3,213,152,.7);box-shadow:0 0 10px rgba(3,213,152,.35)}
.sr24-tz-globe{width:13px;height:13px;flex:none;transition:transform .45s ease}
.sr24-tz-link:hover .sr24-tz-globe{transform:rotate(180deg)}
.sr24-tz-label{font:600 11px/1 monospace;letter-spacing:.3px;white-space:nowrap}
