@import "https://fonts.googleapis.com/css2?family=Exo+2:wght@500;600;700;800&family=Inter:wght@400;500;600;700&family=Roboto+Mono:wght@400;500;600;700&display=swap";
/* [project]/app/styles.css [app-client] (css) */
:root {
  --font-title: "Exo 2", Arial, Helvetica, sans-serif;
  --font-body: "Inter", Arial, Helvetica, sans-serif;
  --font-data: "Roboto Mono", "Courier New", monospace;
  --layout-main: 1200px;
  --layout-wide: 1540px;
  --layout-readable: 760px;
  --layout-gutter: 40px;
  --layout-gutter-mobile: 24px;
  --portal-sidebar: 260px;
  --portal-content: 900px;
  --nitro-red: #e10600;
  --nitro-red-soft: #ff3126;
  --race-white: #f7f7f2;
  --carbon: #101319;
  --carbon-deep: #06080c;
  --graphite: #1b2029;
  --graphite-2: #252b35;
  --steel: #94a0b3;
  --line: #333b49;
  --live-cyan: #00c2ff;
  --success-green: #2fd17c;
  --warning-amber: #ffb020;
}

* {
  box-sizing: border-box;
}

html {
  background: var(--carbon-deep);
}

body {
  background: linear-gradient(180deg, #000000f7, #06080cfa), url("/nitro/nitro-dark-track-bg.png") center top / cover fixed, var(--carbon);
  min-height: 100vh;
  color: var(--race-white);
  font-family: var(--font-body);
  margin: 0;
  font-weight: 400;
  overflow-x: hidden;
}

a {
  color: inherit;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

h1, h2, h3, p {
  margin-top: 0;
}

h1, h2, h3, .sn-title, .sn-section-title, .sn-tournament-title, .sn-card-title, .sn-hero-title, .nitro-section-header h2, .nitro-page-header h1, .nitro-card h3, .event-card h3, .championship-card h3, .team-card h3, .portal-preview h3, .race-control-card h2, .tournament-copy h3, .next-race-box strong, .promo-card-product strong {
  font-family: var(--font-title);
  letter-spacing: .01em;
  font-weight: 700;
}

p, li, button, input, select, textarea, .sn-text, .sn-description, .sn-profile, .sn-regulation, .sn-list, .sn-btn, .sn-form, .sn-table, .nitro-nav a, .nitro-link-button, .nitro-primary-button, .nitro-outline-button, .nitro-chip, .mock-form, .nitro-table, .admin-table {
  font-family: var(--font-body);
}

.sn-time, .sn-laptime, .sn-sector, .sn-gap, .sn-position, .sn-points, .sn-number, .sn-car-number, .sn-live-data, .sn-standings-value, .pilot-number, .race-countdown strong, .race-card-meta strong, .nitro-stats strong, .cart-pill span, .next-race-box small, .timezone-note, input[type="number"] {
  font-family: var(--font-data);
  font-variant-numeric: tabular-nums;
}

.nitro-brand img {
  object-fit: contain;
  border-radius: 0;
  width: 100%;
  max-height: 76px;
}

.login-button {
  text-transform: uppercase;
  background: linear-gradient(#f42118, #b80000);
  border-radius: 8px;
  gap: 8px;
  min-height: 54px;
  padding-inline: 24px;
  box-shadow: inset 0 1px #ffffff38, 0 0 22px #e1060057;
}

.nitro-icon-link:hover, .nitro-icon-link:focus-visible {
  color: #ff332a;
  background: #ffffff0f;
  border-color: #ffffff1f;
  outline: none;
}

.sim-brand-list {
  scrollbar-width: thin;
  justify-content: flex-start;
  padding: 10px 0;
  overflow-x: auto;
}

.sim-filter-button {
  color: #fff;
  cursor: pointer;
  background: #0c0e14f0;
  border: 1px solid #ffffff1f;
  border-radius: 7px;
  min-height: 44px;
  padding: 0 13px;
  font-weight: 900;
}

.nitro-home-stage, .nitro-home-panels, .nitro-home-stats {
  width: min(var(--layout-wide), calc(100% - var(--layout-gutter)));
  margin-inline: auto;
}

.nitro-home-stage {
  grid-template-columns: minmax(0, 2.1fr) minmax(320px, .94fr);
  gap: 18px;
  padding-top: 24px;
  display: grid;
}

.nitro-home-hero-card, .nitro-promo-panel, .nitro-home-panels > article, .nitro-home-stats {
  background: linear-gradient(145deg, #0f1219f0, #05070cf5);
  border: 1px solid #ffffff21;
  border-radius: 10px;
  box-shadow: 0 28px 70px #00000057;
}

.nitro-home-hero-card {
  min-height: clamp(360px, 35vw, 540px);
  position: relative;
  overflow: hidden;
}

.nitro-home-hero-bg {
  background: linear-gradient(90deg, #06080ce6 0%, #06080c85 45%, #06080c2e 100%), linear-gradient(#06080c0d, #06080cdb), url("/nitro/gameco-racing-hero.png") center / cover no-repeat;
  position: absolute;
  inset: 0;
}

.nitro-home-hero-card:after, .nitro-promo-panel:after {
  content: "";
  background: linear-gradient(90deg, #e10600f2, #0000);
  height: 2px;
  position: absolute;
  inset: auto 0 0;
}

.nitro-home-hero-copy {
  z-index: 1;
  max-width: 620px;
  padding: clamp(34px, 5vw, 72px);
  position: relative;
}

.nitro-home-hero-copy h1 {
  color: #fff;
  text-transform: uppercase;
  margin-bottom: 18px;
  font-size: clamp(44px, 5.4vw, 82px);
  line-height: .93;
}

.nitro-home-hero-copy h1 strong, .nitro-home-hero-copy h1 span {
  color: var(--nitro-red-soft);
}

.nitro-home-hero-copy p {
  color: #f0f3f7;
  max-width: 540px;
  font-size: 17px;
  line-height: 1.55;
}

.nitro-home-slider-dots {
  z-index: 1;
  justify-content: center;
  gap: 8px;
  display: flex;
  position: absolute;
  bottom: 28px;
  left: 0;
  right: 0;
}

.nitro-home-slider-dots span {
  background: #ffffff57;
  border-radius: 999px;
  width: 32px;
  height: 6px;
}

.nitro-home-slider-dots .is-active {
  background: var(--nitro-red);
}

.nitro-promo-panel {
  align-content: end;
  min-height: clamp(360px, 35vw, 540px);
  display: grid;
  position: relative;
  overflow: hidden;
}

.nitro-promo-panel img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.nitro-promo-panel > div {
  z-index: 1;
  background: linear-gradient(#0000, #05070cf0 34%, #05070cfa);
  padding: 28px;
  position: relative;
}

.nitro-promo-panel span, .nitro-panel-title a {
  color: var(--nitro-red-soft);
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 900;
}

.nitro-promo-panel h2 {
  text-transform: uppercase;
  margin: 8px 0 10px;
  font-size: clamp(24px, 2.4vw, 38px);
}

.nitro-promo-panel p, .nitro-community-panel p, .nitro-featured-panel p {
  color: #cfd6e1;
  line-height: 1.55;
}

.nitro-home-panels {
  grid-template-columns: 1fr 1fr .9fr 1fr;
  gap: 16px;
  margin-top: 16px;
  display: grid;
}

.nitro-home-panels > article {
  min-width: 0;
  padding: 20px;
}

.nitro-panel-title {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  display: flex;
}

.nitro-panel-title > div {
  align-items: center;
  gap: 10px;
  display: inline-flex;
}

.nitro-panel-title svg {
  color: var(--nitro-red-soft);
}

.nitro-panel-title strong {
  color: #fff;
  font-family: var(--font-title);
  text-transform: uppercase;
  font-size: 18px;
}

.nitro-panel-title a {
  text-decoration: none;
}

.nitro-race-list, .nitro-result-list {
  gap: 10px;
  display: grid;
}

.nitro-race-item, .nitro-result-item {
  color: #fff;
  background: #ffffff09;
  border: 1px solid #ffffff14;
  border-radius: 8px;
  align-items: center;
  gap: 12px;
  padding: 11px;
  text-decoration: none;
  display: grid;
}

.nitro-race-item {
  grid-template-columns: 58px 78px minmax(0, 1fr) auto;
}

.nitro-race-item:hover, .nitro-result-item:hover {
  background: #e106001a;
  border-color: #e106008f;
}

.nitro-race-item time {
  background: #0c0e14db;
  border: 1px solid #e1060070;
  border-radius: 8px;
  place-items: center;
  min-height: 64px;
  display: grid;
}

.nitro-race-item time strong {
  font-family: var(--font-data);
  font-size: 27px;
  line-height: 1;
}

.nitro-race-item time span {
  color: var(--nitro-red-soft);
  font-size: 12px;
  font-weight: 900;
}

.nitro-race-item em {
  color: #fff;
  min-height: 56px;
  font-family: var(--font-title);
  background: #06080c;
  border-radius: 8px;
  place-items: center;
  font-style: normal;
  font-weight: 900;
  display: grid;
}

.nitro-race-item div, .nitro-result-item {
  min-width: 0;
}

.nitro-race-item div strong, .nitro-result-item strong {
  color: #fff;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  overflow: hidden;
}

.nitro-race-item div span, .nitro-race-item div small, .nitro-result-item em, .nitro-result-item small {
  color: #b9c2cf;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-style: normal;
  display: block;
  overflow: hidden;
}

.nitro-featured-panel img {
  object-fit: cover;
  border: 1px solid #ffffff17;
  border-radius: 8px;
  width: 100%;
  height: 126px;
}

.nitro-featured-meta {
  flex-wrap: wrap;
  gap: 10px;
  margin: 14px 0 8px;
  display: flex;
}

.nitro-featured-meta span {
  color: #dfe5ef;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 900;
  display: inline-flex;
}

.nitro-featured-panel h2, .nitro-community-panel h2 {
  margin-bottom: 10px;
  font-size: 23px;
}

.nitro-featured-panel .nitro-primary-button, .nitro-community-panel .nitro-outline-button, .nitro-results-panel .nitro-outline-button {
  width: 100%;
  margin-top: 14px;
}

.nitro-result-item {
  grid-template-columns: 26px minmax(0, 1fr) 54px 86px;
  min-height: 42px;
}

.nitro-result-item span {
  color: var(--nitro-red-soft);
  font-family: var(--font-data);
  font-weight: 900;
}

.nitro-discord-card {
  background: linear-gradient(135deg, #5865f2, #3141c9);
  border-radius: 8px;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 6px 12px;
  margin-top: 18px;
  padding: 16px;
  display: grid;
}

.nitro-discord-card svg {
  grid-row: span 2;
}

.nitro-discord-card strong, .nitro-discord-card span {
  color: #fff;
}

.nitro-home-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-top: 18px;
  display: grid;
  overflow: hidden;
}

.nitro-home-stats article {
  border-right: 1px solid #e1060061;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: 12px;
  min-height: 82px;
  padding: 16px 26px;
  display: grid;
}

.nitro-home-stats article:last-child {
  border-right: 0;
}

.nitro-home-stats svg {
  color: var(--nitro-red-soft);
}

.nitro-home-stats strong {
  color: #fff;
  font-family: var(--font-data);
  font-size: 25px;
  line-height: 1;
}

.nitro-home-stats span {
  color: #e8edf5;
  text-transform: uppercase;
  font-size: 13px;
  font-weight: 800;
}

@media (max-width: 1180px) {
  .nitro-header {
    flex-direction: column;
    align-items: flex-start;
    min-height: auto;
  }

  .nitro-nav {
    justify-content: flex-start;
  }

  .nitro-home-stage, .nitro-home-panels, .nitro-home-stats {
    width: min(100% - 28px, var(--layout-wide));
  }

  .nitro-home-stage, .nitro-home-panels {
    grid-template-columns: 1fr 1fr;
  }

  .nitro-home-hero-card {
    grid-column: 1 / -1;
  }

  .nitro-home-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .nitro-header-actions {
    flex-wrap: wrap;
  }

  .nitro-icon-link, .nitro-action-separator {
    display: none;
  }

  .nitro-home-stage, .nitro-home-panels, .nitro-home-stats {
    grid-template-columns: 1fr;
  }

  .nitro-home-hero-card, .nitro-promo-panel {
    min-height: 420px;
  }

  .nitro-home-hero-copy {
    padding: 28px;
  }

  .nitro-home-hero-copy h1 {
    font-size: 42px;
  }

  .nitro-race-item {
    grid-template-columns: 56px minmax(0, 1fr) auto;
  }

  .nitro-race-item em {
    display: none;
  }

  .nitro-result-item {
    grid-template-columns: 24px minmax(0, 1fr);
  }

  .nitro-result-item em, .nitro-result-item small {
    display: none;
  }

  .nitro-home-stats article {
    border-bottom: 1px solid #e1060042;
    border-right: 0;
  }
}

h1 {
  margin-bottom: 18px;
  font-size: clamp(42px, 7vw, 86px);
  line-height: .96;
}

h2 {
  margin-bottom: 12px;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.04;
}

h3 {
  margin-bottom: 10px;
  font-size: 22px;
  line-height: 1.12;
}

.shell {
  width: min(1120px, calc(100% - var(--layout-gutter)));
  margin: 0 auto;
  padding: 56px 0;
}

.nitro-public {
  min-height: 100vh;
  overflow: hidden;
}

.nitro-public:before {
  z-index: -2;
  content: "";
  pointer-events: none;
  background: linear-gradient(#000000b8, #00000061), repeating-linear-gradient(90deg, #ffffff05 0 1px, #0000 1px 96px);
  position: fixed;
  inset: 0;
}

.nitro-header, .nitro-footer, .nitro-hero, .nitro-section, .nitro-stats, .nitro-page-header {
  width: min(var(--layout-main), calc(100% - var(--layout-gutter)));
  margin-inline: auto;
}

.nitro-header {
  z-index: 10;
  width: 100%;
  min-height: 58px;
  padding: 6px max(var(--layout-gutter-mobile), calc((100vw - var(--layout-wide)) / 2));
  background: #050505;
  justify-content: space-between;
  align-items: center;
  gap: 22px;
  margin-inline: 0;
  display: flex;
  position: relative;
}

.nitro-brand {
  flex: none;
  width: clamp(126px, 10vw, 168px);
  text-decoration: none;
}

.nitro-brand img {
  object-fit: contain;
  max-height: 46px;
}

.nitro-nav {
  flex-wrap: wrap;
  flex: 1;
  justify-content: flex-start;
  gap: 12px;
  display: flex;
}

.nitro-nav a, .nitro-link-button, .nitro-primary-button, .nitro-outline-button {
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  min-height: 42px;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
  display: inline-flex;
}

.nitro-nav a {
  color: #fff;
  font-family: var(--font-body);
  text-transform: uppercase;
  border: 1px solid #0000;
  padding: 0 14px;
  font-size: 17px;
  font-weight: 700;
}

.nitro-nav a:hover {
  color: #ff3126;
  background: #e106002e;
  border-color: #e106004d;
}

.nitro-header-actions {
  align-items: center;
  gap: 8px;
  display: flex;
}

.nitro-link-button, .nitro-outline-button {
  background: #f7f7f20a;
  border: 1px solid #f7f7f247;
  padding: 0 16px;
}

.login-button {
  border-radius: 8px;
  min-height: 40px;
  padding-inline: 18px;
}

.cart-pill {
  color: #fff;
  border: 1px solid #f7f7f22e;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 42px;
  height: 38px;
  text-decoration: none;
  display: inline-flex;
  position: relative;
}

.cart-pill:before {
  content: "🛒";
  font-size: 16px;
}

.cart-pill span {
  background: var(--nitro-red);
  border-radius: 999px;
  place-items: center;
  width: 18px;
  height: 18px;
  font-size: 11px;
  font-weight: 900;
  display: grid;
  position: absolute;
  top: -7px;
  right: -4px;
}

.sim-brand-bar {
  z-index: 9;
  background: #1b1b1b;
  width: 100%;
  position: relative;
}

.sim-brand-bar-inner {
  width: min(var(--layout-wide), calc(100% - var(--layout-gutter)));
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  margin: 0 auto;
  display: flex;
  overflow: visible;
}

.sim-brand-list {
  flex-wrap: nowrap;
  flex: 1;
  justify-content: center;
  align-items: center;
  gap: clamp(8px, 1vw, 16px);
  min-width: 0;
  display: flex;
  overflow: visible;
}

.sim-brand-trigger {
  color: #fff;
  cursor: pointer;
  width: 100%;
  min-height: 42px;
  font: inherit;
  background: #090d15f0;
  border: 1px solid #ffffff1f;
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 0 12px;
  display: none;
}

.sim-brand-trigger span, .sim-brand-trigger strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.sim-brand-trigger span {
  color: #e7edf7;
  font-family: var(--font-title);
  font-weight: 800;
}

.sim-brand-trigger strong {
  color: #ff5d55;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 900;
}

.sim-brand-list a, .sim-brand-loading {
  color: #f2f2f2;
  opacity: .86;
  border: 1px solid #0000;
  border-radius: 8px;
  flex: none;
  justify-content: center;
  align-items: center;
  gap: 7px;
  min-width: 0;
  min-height: 48px;
  text-decoration: none;
  display: inline-flex;
  position: relative;
}

.sim-brand-list a:hover, .sim-brand-list a:focus-visible, .sim-brand-list a.is-active {
  color: #fff;
  opacity: 1;
  outline: none;
}

.sim-brand-list a.is-active {
  background: linear-gradient(#e106002e, #e1060014);
  border-color: #e106008c;
  box-shadow: 0 0 22px #e1060038;
}

.sim-brand-list a.is-active:after {
  content: "";
  background: #ff3a32;
  border-radius: 999px;
  height: 2px;
  position: absolute;
  bottom: 3px;
  left: 12%;
  right: 12%;
  box-shadow: 0 0 10px #ff3a32b8;
}

.sim-brand-list a.is-active img {
  filter: drop-shadow(0 0 7px #ff4d426b);
}

.sim-brand-list img, .sim-filter-option img {
  object-fit: contain;
  width: clamp(70px, 6.1vw, 104px);
  height: 34px;
}

.sim-brand-list em, .sim-filter-option em {
  color: #fff;
  background: #ffffff0f;
  border: 1px solid #f7f7f21f;
  border-radius: 5px;
  place-items: center;
  min-width: 42px;
  min-height: 26px;
  font-style: normal;
  font-weight: 900;
  display: grid;
}

.sim-brand-list span, .sim-brand-loading {
  color: #f2f2f2;
  font-family: var(--font-title);
  opacity: .86;
  text-transform: uppercase;
  white-space: nowrap;
  font-size: clamp(13px, 1vw, 18px);
  font-style: italic;
  font-weight: 700;
  line-height: 1;
}

.nitro-primary-button {
  border: 1px solid var(--nitro-red);
  background: var(--nitro-red);
  color: #fff;
  padding: 0 18px;
  box-shadow: 0 12px 34px #e106003d;
}

.nitro-hero {
  grid-template-columns: minmax(0, 1fr) minmax(330px, 440px);
  align-items: end;
  gap: 30px;
  min-height: 720px;
  padding: 92px 0 72px;
  display: grid;
  position: relative;
}

.hero-bg {
  z-index: -1;
  background: linear-gradient(90deg, #06080cfa, #06080c99 50%, #06080cfa), linear-gradient(180deg, #06080c29, var(--carbon-deep)), url("/nitro/track-fog-bg.png") center / cover no-repeat;
  position: absolute;
  inset: 0 calc(50% - 50vw);
}

.hero-bg:after, .nitro-page-header:after {
  background: var(--nitro-red);
  content: "";
  width: min(520px, 36vw);
  height: 5px;
  position: absolute;
  bottom: 18%;
  right: 8vw;
  transform: skewX(-18deg);
  box-shadow: 0 0 30px #e10600b8;
}

.hero-copy {
  max-width: 780px;
}

.nitro-eyebrow {
  color: var(--nitro-red-soft);
  letter-spacing: 0;
  text-transform: uppercase;
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 900;
}

.nitro-lead, .nitro-section-header p, .nitro-card p, .nitro-side-panel p, .nitro-detail-panel p {
  color: #c4ccd9;
  font-size: 17px;
  line-height: 1.58;
}

.hero-actions {
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
  display: flex;
}

.nitro-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: -38px;
  display: grid;
}

.nitro-stats article, .nitro-card, .livetiming-preview, .server-card, .nitro-detail-panel, .nitro-side-panel, .nitro-table {
  background: linear-gradient(145deg, #e106001c, #00c2ff09), #1b2029e6;
  border: 1px solid #f7f7f21f;
  border-radius: 8px;
  box-shadow: 0 28px 80px #00000047;
}

.nitro-stats article {
  min-height: 134px;
  padding: 20px;
}

.nitro-stats strong {
  color: var(--race-white);
  font-size: 34px;
  line-height: 1;
  display: block;
}

.nitro-stats span {
  margin-top: 10px;
  font-weight: 900;
  display: block;
}

.nitro-stats p {
  color: var(--steel);
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.4;
}

.nitro-section, .nitro-page-header {
  padding: 72px 0 0;
}

.nitro-page-header {
  min-height: 320px;
  padding-top: 88px;
  position: relative;
}

.nitro-page-header h1 {
  max-width: 920px;
}

.nitro-page-header .nitro-lead {
  max-width: 760px;
}

.nitro-page-header-compact {
  min-height: auto;
  padding-top: 46px;
}

.nitro-page-header-compact h1 {
  max-width: 780px;
  margin-bottom: 10px;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.05;
}

.nitro-page-header-compact .nitro-lead {
  max-width: 680px;
  font-size: 16px;
}

.nitro-section-header {
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  margin-bottom: 22px;
  display: flex;
}

.nitro-section-header > div {
  max-width: var(--layout-readable);
}

.nitro-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  display: grid;
}

.nitro-card {
  flex-direction: column;
  justify-content: space-between;
  min-height: 248px;
  padding: 22px;
  text-decoration: none;
  display: flex;
  position: relative;
  overflow: hidden;
}

.nitro-card:before {
  background: var(--nitro-red);
  content: "";
  width: 84px;
  height: 5px;
  position: absolute;
  inset: 0 0 auto auto;
  transform: skewX(-18deg);
}

.nitro-card:hover {
  border-color: #e10600ad;
  transform: translateY(-2px);
}

.nitro-chip, .nitro-tags span {
  color: #dfe5ef;
  text-transform: uppercase;
  border: 1px solid #f7f7f224;
  border-radius: 999px;
  align-items: center;
  width: max-content;
  max-width: 100%;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 900;
  display: inline-flex;
}

.nitro-chip-red {
  color: var(--nitro-red-soft);
  border-color: #e106007a;
}

.nitro-meta-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 18px 0;
  display: grid;
}

.nitro-meta-grid span, .detail-grid span {
  min-width: 0;
  color: var(--steel);
  border: 1px solid #f7f7f21a;
  border-radius: 6px;
  padding: 10px;
  font-size: 13px;
}

.nitro-card-footer {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.nitro-card-footer em, .nitro-table em, .standing-row em {
  color: var(--success-green);
  font-style: normal;
  font-weight: 900;
}

.nitro-tags {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
  display: flex;
}

.pilot-number {
  width: max-content;
  color: var(--nitro-red-soft);
  font-size: 34px;
  font-weight: 900;
  line-height: 1;
}

.pilot-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 18px;
  display: grid;
}

.pilot-stats strong {
  color: var(--race-white);
  border: 1px solid #f7f7f21a;
  border-radius: 6px;
  padding: 10px;
  font-size: 13px;
}

.nitro-split, .detail-layout, .portal-grid, .auth-layout {
  grid-template-columns: minmax(0, 1fr) minmax(320px, .64fr);
  gap: 20px;
  display: grid;
}

.simulator-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.simulator-pill {
  border: 1px solid var(--line);
  background: #1b2029d6;
  border-radius: 8px;
  padding: 16px;
}

.simulator-pill strong {
  color: var(--race-white);
  font-size: 26px;
  display: block;
}

.simulator-pill span, .simulator-pill em {
  color: var(--steel);
  font-style: normal;
  line-height: 1.4;
  display: block;
}

.tone-red {
  border-color: #e1060080;
}

.tone-cyan {
  border-color: #00c2ff80;
}

.tone-green {
  border-color: #2fd17c80;
}

.tone-amber {
  border-color: #ffb02080;
}

.tone-steel {
  border-color: #94a0b361;
}

.server-grid {
  gap: 12px;
  display: grid;
}

.server-card {
  padding: 18px;
}

.server-card span {
  color: var(--live-cyan);
  font-size: 12px;
  font-weight: 900;
}

.server-card strong {
  color: var(--success-green);
}

.server-card p {
  color: var(--steel);
  margin-bottom: 0;
}

.livetiming-preview {
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  align-self: end;
  padding: 18px;
  overflow: hidden;
}

.timing-head, .timing-row, .nitro-table-row {
  align-items: center;
  gap: 12px;
  display: grid;
}

.timing-head {
  grid-template-columns: auto 1fr auto;
  padding-bottom: 14px;
}

.live-dot {
  color: var(--live-cyan);
  text-transform: uppercase;
  align-items: center;
  gap: 8px;
  font-weight: 900;
  display: inline-flex;
}

.live-dot:before {
  background: var(--live-cyan);
  width: 9px;
  height: 9px;
  box-shadow: 0 0 18px var(--live-cyan);
  content: "";
  border-radius: 50%;
}

.timing-row {
  border-top: 1px solid #f7f7f21a;
  grid-template-columns: 42px minmax(0, 1fr) 80px 88px 54px;
  padding: 13px 0;
}

.timing-row strong, .nitro-table-row strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.timing-row em {
  color: var(--warning-amber);
  font-style: normal;
  font-weight: 900;
}

.nitro-table {
  overflow-x: auto;
}

.nitro-table-row {
  border-top: 1px solid #f7f7f21a;
  grid-template-columns: 1.2fr 1fr 90px 130px 70px 120px;
  min-width: 780px;
  padding: 16px 18px;
}

.nitro-table-head {
  color: var(--steel);
  text-transform: uppercase;
  border-top: 0;
  font-size: 12px;
  font-weight: 900;
}

.component-grid, .filter-bar {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}

.component-grid span, .filter-bar span {
  color: #dfe5ef;
  background: #1b2029e0;
  border: 1px solid #f7f7f21f;
  border-radius: 999px;
  padding: 10px 13px;
  font-size: 13px;
  font-weight: 900;
}

.filter-bar {
  margin-bottom: 18px;
}

.simulator-hub {
  width: min(var(--layout-wide), calc(100% - var(--layout-gutter)));
  padding-top: 30px;
}

.simulator-hub-layout {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
  align-items: start;
  gap: 22px;
  display: grid;
}

.simulator-hub-main, .simulator-hub-sidebar {
  gap: 14px;
  display: grid;
}

.simulator-hub-hero, .simulator-hub-tabs, .simulator-hub-panel, .simulator-side-card {
  background: linear-gradient(145deg, #09111ef0, #070b12e0), #0a0e16e6;
  border: 1px solid #f7f7f21f;
  border-radius: 10px;
  box-shadow: 0 28px 80px #00000052;
}

.simulator-hub-hero {
  background: linear-gradient(90deg, #05080ee0, #05080e9e), var(--simulator-banner, url("/nitro/track-fog-bg.png")) center / cover;
  align-items: center;
  min-height: 118px;
  padding: 22px 34px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.simulator-hub-hero.has-banner {
  background: var(--simulator-banner) center / cover no-repeat;
  min-height: clamp(88px, 6.8vw, 112px);
  padding: 0;
}

.simulator-hub-hero:after {
  content: "";
  background: linear-gradient(90deg, #df1c14d9, #df1c144d, #0000);
  height: 2px;
  position: absolute;
  inset: auto 0 0;
}

.simulator-hub-hero.has-banner:after {
  display: none;
}

.simulator-hub-hero h1 {
  max-width: 760px;
  color: var(--race-white);
  font-family: var(--font-title);
  text-transform: uppercase;
  margin: 12px 0 10px;
  font-size: clamp(38px, 6vw, 72px);
  line-height: .94;
}

.simulator-hub-hero-logo {
  z-index: 1;
  align-items: center;
  max-width: min(440px, 72vw);
  min-height: 74px;
  display: inline-flex;
  position: relative;
}

.simulator-hub-hero-logo img {
  object-fit: contain;
  filter: drop-shadow(0 12px 28px #0000009e);
  width: auto;
  max-width: 100%;
  max-height: clamp(64px, 7vw, 92px);
  display: block;
}

.simulator-hub-hero p {
  color: #d7deea;
  max-width: 680px;
  margin: 0;
  font-size: 17px;
  line-height: 1.5;
}

.simulator-hub-hero-actions {
  align-items: start;
  gap: 10px;
  display: flex;
}

.simulator-hub-stats {
  z-index: 1;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  max-width: 760px;
  display: grid;
  position: relative;
}

.simulator-hub-stats span, .simulator-hub-stats strong {
  color: #dce4ef;
  background: #050910b8;
  border: 1px solid #f7f7f21f;
  border-radius: 8px;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 9px 12px;
  font-size: 13px;
  font-weight: 900;
  display: inline-flex;
}

.simulator-hub-stats strong {
  color: var(--success-green);
}

.simulator-hub-tabs {
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px;
  display: flex;
}

.simulator-hub-tabs a {
  color: #e7edf7;
  background: #1b2029c7;
  border: 1px solid #f7f7f21f;
  border-radius: 8px;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  display: inline-flex;
}

.simulator-hub-tabs a.is-active {
  color: #fff;
  background: linear-gradient(#e12b24, #b91510);
  border-color: #e10600c7;
}

.simulator-hub-panel {
  padding: 16px;
}

.simulator-hub-panel-head {
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
  display: flex;
}

.simulator-hub-panel-head h2 {
  color: var(--race-white);
  font-family: var(--font-title);
  text-transform: uppercase;
  margin: 3px 0 4px;
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.05;
}

.simulator-hub-panel-head p {
  max-width: 560px;
  color: var(--steel);
  margin: 0;
  font-size: 14px;
  line-height: 1.35;
}

.simulator-hub-filters {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  display: flex;
}

.simulator-hub-filters button {
  color: #dfe6f1;
  background: #0e141fe0;
  border: 1px solid #f7f7f21f;
  border-radius: 999px;
  align-items: center;
  gap: 7px;
  min-height: 36px;
  padding: 0 12px;
  font-weight: 900;
  display: inline-flex;
}

.simulator-hub-filters button span {
  color: #fff;
  min-width: 22px;
  min-height: 22px;
  font-family: var(--font-data);
  background: #ffffff1f;
  border-radius: 999px;
  place-items: center;
  font-size: 12px;
  display: inline-grid;
}

.simulator-hub-filters button.is-active {
  background: #e10600f0;
  border-color: #e10600b8;
}

.simulator-event-list {
  gap: 12px;
  display: grid;
}

.simulator-event-row {
  background: #080c14e6;
  border: 1px solid #f7f7f21c;
  border-radius: 9px;
  grid-template-columns: 220px minmax(0, 1fr) 170px;
  align-items: center;
  gap: 16px;
  padding: 14px;
  display: grid;
}

.simulator-event-row.is-championship {
  grid-template-columns: 280px minmax(0, 1fr) 168px;
  align-items: stretch;
}

.simulator-event-poster {
  background: #050910e6;
  border: 1px solid #f7f7f21a;
  border-radius: 8px;
  place-items: center;
  min-height: 132px;
  display: grid;
  position: relative;
  overflow: hidden;
}

.simulator-event-row.is-championship .simulator-event-poster {
  min-height: 178px;
}

.simulator-event-row.is-championship .simulator-event-poster:after {
  display: none;
}

.simulator-event-poster img {
  object-fit: cover;
  z-index: 0;
  width: 100%;
  height: 100%;
  position: relative;
}

.simulator-event-poster:after {
  display: none;
}

.simulator-event-poster span {
  z-index: 2;
  color: #fff;
  font-family: var(--font-data);
  background: #000000b8;
  border-radius: 6px;
  padding: 6px 9px;
  font-weight: 900;
  position: absolute;
  bottom: 10px;
  left: 10px;
}

.simulator-event-kicker {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.simulator-event-brand {
  background: #f7f7f20f;
  border: 1px solid #f7f7f21f;
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  width: 82px;
  height: 30px;
  padding: 5px 8px;
  display: inline-flex;
}

.simulator-event-brand img {
  object-fit: contain;
  max-width: 100%;
  max-height: 100%;
  display: block;
}

.simulator-event-copy h3 {
  color: var(--race-white);
  font-family: var(--font-title);
  text-transform: uppercase;
  margin: 8px 0 6px;
  font-size: clamp(20px, 2.05vw, 28px);
  line-height: 1;
}

.simulator-event-copy p {
  color: #d8e0eb;
  max-width: 820px;
  margin: 0;
  font-size: 14px;
  line-height: 1.38;
}

.simulator-event-visuals {
  grid-template-columns: minmax(180px, 1.15fr) minmax(130px, .85fr);
  gap: 8px;
  margin-top: 12px;
  display: grid;
}

.simulator-track-preview, .simulator-car-preview {
  background: #050910a8;
  border: 1px solid #f7f7f21c;
  border-radius: 8px;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 7px 9px;
  display: flex;
  overflow: hidden;
}

.simulator-track-preview img, .simulator-car-preview img {
  object-fit: cover;
  border-radius: 5px;
  flex: none;
  width: 62px;
  height: 34px;
}

.simulator-car-preview img {
  object-fit: contain;
  background: #ffffff0a;
}

.simulator-track-preview strong, .simulator-car-preview strong {
  color: #f6f8fb;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  font-size: 12px;
  font-weight: 900;
  overflow: hidden;
}

.simulator-event-meta {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
  display: flex;
}

.simulator-event-meta span {
  color: var(--steel);
  border: 1px solid #f7f7f21a;
  border-radius: 999px;
  padding: 6px 9px;
  font-size: 12px;
  font-weight: 800;
}

.simulator-event-action {
  align-content: center;
  justify-items: stretch;
  gap: 10px;
  display: grid;
}

.simulator-event-action button {
  width: 100%;
}

.simulator-event-action strong {
  color: var(--success-green);
  font-family: var(--font-data);
  text-align: center;
}

.championship-detail-page {
  width: min(100% - 56px, var(--layout-wide));
  margin: 34px auto 70px;
}

.championship-hero-panel, .championship-panel, .championship-section-nav {
  background: linear-gradient(145deg, #09111ef0, #070b12e6), #0a0e16eb;
  border: 1px solid #f7f7f21f;
  border-radius: 10px;
  box-shadow: 0 28px 80px #0000004d;
}

.championship-hero-panel {
  min-height: 280px;
  position: relative;
  overflow: hidden;
}

.championship-hero-bg, .championship-hero-shade {
  position: absolute;
  inset: 0;
}

.championship-hero-bg {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.championship-hero-shade {
  background: linear-gradient(90deg, #05080ef5, #05080ed1 46%, #05080e6b), linear-gradient(#0000 54%, #05080ef2);
}

.championship-hero-content {
  z-index: 1;
  grid-template-columns: minmax(0, 1fr) 220px;
  align-items: end;
  gap: 20px;
  min-height: 280px;
  padding: clamp(20px, 3vw, 32px);
  display: grid;
  position: relative;
}

.championship-hero-copy {
  max-width: 860px;
}

.championship-kicker {
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin-bottom: 12px;
  display: flex;
}

.championship-kicker > span:last-child {
  color: #e8edf5;
  background: #060a12bd;
  border: 1px solid #f7f7f226;
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 900;
}

.championship-hero-copy h1 {
  max-width: 920px;
  color: var(--race-white);
  font-family: var(--font-title);
  text-transform: uppercase;
  margin: 0 0 10px;
  font-size: clamp(30px, 3.9vw, 50px);
  line-height: .95;
}

.championship-hero-copy p {
  color: #dbe3ef;
  max-width: 720px;
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
}

.championship-hero-meta {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
  display: flex;
}

.championship-hero-meta span {
  color: #edf2f8;
  background: #060a12c2;
  border: 1px solid #f7f7f21f;
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 12px;
  font-weight: 900;
}

.championship-signup-card {
  background: #060a12c7;
  border: 1px solid #f7f7f224;
  border-radius: 10px;
  align-content: end;
  align-self: stretch;
  gap: 10px;
  padding: 12px;
  display: grid;
}

.championship-signup-card img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid #f7f7f21f;
  border-radius: 8px;
  width: 100%;
}

.championship-signup-card strong {
  color: var(--success-green);
  font-family: var(--font-data);
  text-align: center;
  font-size: 24px;
}

.championship-signup-card span {
  color: var(--steel);
  text-align: center;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 900;
}

.championship-section-nav {
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0;
  padding: 12px;
  display: flex;
}

.championship-section-nav a {
  color: #edf2f8;
  background: #f7f7f20d;
  border: 1px solid #f7f7f21f;
  border-radius: 8px;
  padding: 10px 13px;
  font-weight: 900;
}

.championship-section-nav a:hover, .championship-section-nav a:focus-visible {
  background: #e1060038;
  border-color: #e10600b8;
}

.championship-tabs {
  gap: 0;
  margin-top: 14px;
  display: grid;
}

.championship-tab-list {
  background: linear-gradient(145deg, #09111ef0, #070b12e6), #0a0e16eb;
  border: 1px solid #f7f7f21f;
  border-radius: 10px 10px 0 0;
  gap: 8px;
  padding: 12px;
  display: flex;
  overflow-x: auto;
}

.championship-tab-list button {
  color: #edf2f8;
  background: #f7f7f20d;
  border: 1px solid #f7f7f221;
  border-radius: 8px;
  flex: none;
  min-height: 42px;
  padding: 0 15px;
  font-weight: 900;
}

.championship-tab-list button:hover, .championship-tab-list button:focus-visible, .championship-tab-list button.is-active {
  color: #fff;
  background: #e10600eb;
  border-color: #e10600c7;
}

.championship-tab-panel {
  border-top: 0;
  border-radius: 0 0 10px 10px;
}

.championship-detail-layout {
  grid-template-columns: minmax(0, 1fr) 340px;
  align-items: start;
  gap: 16px;
  display: grid;
}

.championship-main-flow, .championship-side-flow {
  gap: 16px;
  display: grid;
}

.championship-panel {
  padding: clamp(18px, 2.2vw, 26px);
  scroll-margin-top: 120px;
}

.championship-panel h2 {
  color: var(--race-white);
  font-family: var(--font-title);
  text-transform: uppercase;
  margin: 0 0 10px;
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1;
}

.championship-panel p, .championship-panel li {
  color: #cbd4e2;
  line-height: 1.55;
}

.championship-html-content {
  color: #dbe3ef;
  gap: 14px;
  font-size: 15px;
  line-height: 1.55;
  display: grid;
}

.championship-html-content section, .championship-html-content div {
  max-width: 100%;
}

.championship-html-content h1, .championship-html-content h2, .championship-html-content h3, .championship-html-content h4 {
  color: #fff;
  font-family: var(--font-title);
  text-transform: uppercase;
  margin: 8px 0 4px;
  line-height: 1.08;
}

.championship-html-content h1 {
  font-size: clamp(26px, 3vw, 42px);
}

.championship-html-content h2 {
  font-size: clamp(22px, 2.4vw, 32px);
}

.championship-html-content h3 {
  font-size: clamp(18px, 2vw, 24px);
}

.championship-html-content p, .championship-html-content ul, .championship-html-content ol {
  margin: 0;
}

.championship-html-content ul, .championship-html-content ol {
  padding-left: 22px;
}

.championship-html-content li + li {
  margin-top: 5px;
}

.championship-html-content a {
  color: #ff4c42;
  text-underline-offset: 3px;
  font-weight: 900;
  text-decoration: underline;
}

.championship-html-content hr {
  background: #f7f7f221;
  border: 0;
  width: 100%;
  height: 1px;
}

.championship-html-content table {
  border-collapse: collapse;
  background: #04080e8c;
  border: 1px solid #f7f7f21f;
  border-radius: 8px;
  width: 100%;
  display: block;
  overflow-x: auto;
}

.championship-html-content th, .championship-html-content td {
  text-align: left;
  border-bottom: 1px solid #f7f7f21a;
  padding: 10px;
}

.championship-html-content th {
  color: #fff;
  text-transform: uppercase;
  background: #e10600d1;
  font-size: 12px;
}

.championship-html-content code {
  color: #fff;
  font-family: var(--font-data);
  background: #00000059;
  border: 1px solid #f7f7f224;
  border-radius: 6px;
  padding: 2px 6px;
}

.championship-info-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
  display: grid;
}

.championship-info-grid div {
  background: #04080e94;
  border: 1px solid #f7f7f21a;
  border-radius: 8px;
  padding: 12px;
}

.championship-info-grid span {
  color: var(--steel);
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 900;
  display: block;
}

.championship-info-grid strong {
  color: #fff;
  margin-top: 6px;
  display: block;
}

.championship-panel-head {
  justify-content: space-between;
  align-items: end;
  gap: 16px;
  margin-bottom: 14px;
  display: flex;
}

.championship-panel-head > span {
  color: var(--success-green);
  font-family: var(--font-data);
  border: 1px solid #f7f7f21f;
  border-radius: 999px;
  padding: 8px 11px;
  font-weight: 900;
}

.championship-round-list {
  gap: 10px;
  display: grid;
}

.championship-round-card {
  background: #04080e94;
  border: 1px solid #f7f7f21a;
  border-radius: 9px;
  grid-template-columns: 118px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 10px;
  display: grid;
}

.championship-round-card img {
  object-fit: cover;
  border-radius: 7px;
  width: 118px;
  height: 72px;
}

.championship-round-card span {
  color: var(--nitro-red-light);
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 900;
}

.championship-round-card strong {
  color: #fff;
  display: block;
}

.championship-round-card p {
  margin: 4px 0 0;
  font-size: 13px;
}

.championship-round-card em {
  color: #fff;
  font-family: var(--font-data);
  white-space: nowrap;
  font-style: normal;
  font-weight: 900;
}

.championship-calendar-tree {
  gap: 14px;
  display: grid;
}

.championship-calendar-round {
  background: linear-gradient(145deg, #0d1624eb, #070b12f0), #090e17f0;
  border: 1px solid #f7f7f21f;
  border-radius: 10px;
  overflow: hidden;
}

.championship-calendar-round__head {
  background: #f7f7f209;
  border-bottom: 1px solid #f7f7f21a;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  display: flex;
}

.championship-calendar-round__head span, .championship-calendar-meeting__top span, .championship-calendar-session span {
  color: #93a3b8;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 900;
}

.championship-calendar-round__head strong, .championship-calendar-meeting__top strong, .championship-calendar-session strong {
  color: #fff;
  font-family: var(--font-title);
  line-height: 1.08;
  display: block;
}

.championship-calendar-round__head strong {
  text-transform: uppercase;
  font-size: 22px;
}

.championship-calendar-round__head p, .championship-calendar-meeting__top p {
  color: #cbd4e2;
  margin: 4px 0 0;
  font-size: 13px;
}

.championship-calendar-meetings {
  gap: 12px;
  padding: 14px;
  display: grid;
}

.championship-calendar-meeting {
  background: #03070da3;
  border: 1px solid #f7f7f21a;
  border-radius: 9px;
  grid-template-columns: 168px minmax(0, 1fr);
  gap: 14px;
  padding: 12px;
  display: grid;
}

.championship-calendar-meeting__media {
  background: #f7f7f20a;
  border: 1px solid #f7f7f21a;
  border-radius: 8px;
  place-items: center;
  min-height: 118px;
  display: grid;
  overflow: hidden;
}

.championship-calendar-meeting__media img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  min-height: 118px;
}

.championship-calendar-meeting__media span {
  color: #fff;
  font-family: var(--font-data);
  font-weight: 900;
}

.championship-calendar-meeting__body {
  gap: 12px;
  min-width: 0;
  display: grid;
}

.championship-calendar-meeting__top {
  justify-content: space-between;
  align-items: start;
  gap: 14px;
  display: flex;
}

.championship-calendar-meeting__top strong {
  font-size: 19px;
}

.championship-calendar-meeting__date {
  text-align: right;
  min-width: 118px;
}

.championship-calendar-meeting__date strong, .championship-calendar-meeting__date span, .championship-calendar-session__time strong, .championship-calendar-session__time span {
  color: #fff;
  font-family: var(--font-data);
  font-variant-numeric: tabular-nums;
  font-size: 12px;
  display: block;
}

.championship-calendar-meeting__date span, .championship-calendar-session__time span {
  color: #aeb9c8;
  margin-top: 3px;
}

.championship-calendar-sessions {
  gap: 8px;
  display: grid;
}

.championship-calendar-session {
  background: #f7f7f209;
  border: 1px solid #f7f7f21a;
  border-left: 3px solid #94a3b89e;
  border-radius: 8px;
  grid-template-columns: minmax(0, 1fr) 160px auto;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  display: grid;
}

.championship-calendar-session.is-race, .championship-calendar-session.is-race_2 {
  border-left-color: #e10600e0;
}

.championship-calendar-session.is-qualifying, .championship-calendar-session.is-prequaly {
  border-left-color: #f5ba41e6;
}

.championship-calendar-session.is-practice {
  border-left-color: #26d37cd9;
}

.championship-calendar-session small {
  color: #93a3b8;
  font-family: var(--font-data);
  text-transform: uppercase;
  margin-top: 4px;
  font-weight: 900;
  display: inline-flex;
}

.championship-calendar-session__badges {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  display: flex;
}

.championship-calendar-session__badges > span:not(.championship-status-pill) {
  color: #dbe3ef;
  text-transform: uppercase;
  border: 1px solid #f7f7f21f;
  border-radius: 999px;
  padding: 6px 8px;
  font-size: 10px;
  font-weight: 900;
}

.championship-status-pill {
  color: #e7edf6;
  text-transform: uppercase;
  white-space: nowrap;
  background: #94a3b824;
  border: 1px solid #94a3b859;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-height: 26px;
  padding: 5px 9px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  display: inline-flex;
}

.championship-status-pill.is-scheduled, .championship-status-pill.is-check_in_open, .championship-status-pill.is-server_ready {
  color: #cfe4ff;
  background: #4c9aff29;
  border-color: #4c9aff73;
}

.championship-status-pill.is-in_progress {
  color: #ffe4a6;
  background: #f5ba412e;
  border-color: #f5ba418c;
}

.championship-status-pill.is-finished {
  color: #c7f7dc;
  background: #26d37c29;
  border-color: #26d37c80;
}

.championship-status-pill.is-cancelled {
  color: #ffd0d0;
  background: #ff595929;
  border-color: #ff59598c;
}

.championship-calendar-empty {
  color: #aeb9c8;
  text-align: center;
  border: 1px dashed #f7f7f229;
  border-radius: 8px;
  margin: 0;
  padding: 14px;
}

.championship-sticky-panel {
  position: sticky;
  top: 96px;
}

.championship-sticky-panel ul {
  margin: 14px 0 18px;
  padding-left: 18px;
}

.championship-sticky-panel .nitro-primary-button, .championship-sticky-panel .nitro-outline-button, .championship-signup-card .nitro-primary-button {
  justify-content: center;
  width: 100%;
}

.championship-registration-panel {
  gap: 16px;
  display: grid;
}

.championship-registration-panel ul {
  margin: 0;
  padding-left: 20px;
}

.championship-registration-actions {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}

.championship-registration-actions .nitro-primary-button, .championship-registration-actions .nitro-outline-button {
  justify-content: center;
  min-width: 210px;
}

.competition-registration-backdrop {
  z-index: 1200;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #000000c2;
  place-items: center;
  padding: 22px;
  display: grid;
  position: fixed;
  inset: 0;
}

.competition-registration-modal {
  background: linear-gradient(145deg, #0f1726fa, #060a12fa), #090d15;
  border: 1px solid #f7f7f229;
  border-radius: 12px;
  width: min(780px, 100%);
  max-height: min(860px, 100vh - 34px);
  overflow: auto;
  box-shadow: 0 30px 90px #000000ad;
}

.competition-registration-head {
  z-index: 2;
  background: #080c14f5;
  border-bottom: 1px solid #f7f7f21a;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 18px 20px;
  display: flex;
  position: sticky;
  top: 0;
}

.competition-registration-head span, .registration-summary span {
  color: var(--nitro-red-light);
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 900;
}

.competition-registration-head h3 {
  color: var(--race-white);
  font-family: var(--font-title);
  text-transform: uppercase;
  margin: 4px 0 0;
  font-size: clamp(22px, 3vw, 34px);
  line-height: 1;
}

.competition-registration-head button {
  color: #fff;
  background: #f7f7f20f;
  border: 1px solid #f7f7f224;
  border-radius: 8px;
  place-items: center;
  width: 38px;
  height: 38px;
  display: inline-grid;
}

.registration-loading, .registration-flow, .registration-auth-form {
  gap: 16px;
  padding: 20px;
  display: grid;
}

.registration-loading {
  color: #dce5f2;
  place-items: center;
  min-height: 220px;
  font-weight: 900;
}

.registration-summary {
  background: #03080fb8;
  border: 1px solid #f7f7f21f;
  border-radius: 10px;
  grid-template-columns: 1fr auto;
  gap: 6px 14px;
  padding: 14px;
  display: grid;
}

.registration-summary strong {
  color: var(--success-green);
  font-family: var(--font-data);
  text-align: right;
}

.registration-summary em {
  color: #dce4ef;
  grid-column: 1 / -1;
  font-style: normal;
}

.registration-checklist {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}

.registration-checklist span {
  color: #dce4ef;
  text-align: center;
  border: 1px solid #f7f7f21a;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  padding: 8px;
  font-size: 12px;
  font-weight: 900;
  display: inline-flex;
}

.registration-checklist .is-ok {
  color: #d7ffe9;
  background: #12b86b1f;
  border-color: #12b86b6b;
}

.registration-checklist .is-pending {
  color: #ffe9a9;
  background: #ffc1071a;
  border-color: #ffc1076b;
}

.registration-action-panel, .registration-success-panel {
  background: #09101cd1;
  border: 1px solid #f7f7f21f;
  border-radius: 10px;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  padding: 16px;
  display: grid;
}

.registration-action-panel strong, .registration-success-panel strong {
  color: var(--race-white);
  font-family: var(--font-title);
  font-size: 20px;
}

.registration-action-panel p, .registration-success-panel p, .registration-terms {
  color: var(--steel);
  margin: 5px 0 12px;
}

.registration-action-panel input, .registration-auth-form input, .registration-ready-step input, .registration-ready-step select {
  color: #fff;
  width: 100%;
  min-height: 44px;
  font: inherit;
  background: #02060de0;
  border: 1px solid #f7f7f22e;
  border-radius: 8px;
  padding: 0 12px;
}

.registration-action-panel input {
  margin-bottom: 10px;
}

.registration-auth-form label, .registration-ready-step label {
  color: #edf3ff;
  gap: 7px;
  font-weight: 900;
  display: grid;
}

.registration-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.registration-mode-switch {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}

.registration-mode-switch button {
  color: #e9eef8;
  background: #f7f7f20f;
  border: 1px solid #f7f7f224;
  border-radius: 8px;
  min-height: 42px;
  font-weight: 900;
}

.registration-mode-switch button.is-active {
  color: #fff;
  background: #e10600e6;
  border-color: #e10600b8;
}

.registration-ready-step {
  background: #12b86b14;
  border: 1px solid #12b86b47;
  border-radius: 10px;
  gap: 13px;
  padding: 16px;
  display: grid;
}

.registration-ready-step .nitro-primary-button, .registration-auth-form .nitro-primary-button {
  justify-content: center;
}

.registration-alert {
  color: #ffe9a9;
  background: #ffc1071a;
  border: 1px solid #ffc1076b;
  border-radius: 8px;
  padding: 11px 12px;
  font-weight: 800;
}

.registration-alert.is-error {
  color: #ffd5d5;
  background: #e1060024;
  border-color: #ff696980;
}

@media (max-width: 720px) {
  .competition-registration-backdrop {
    align-items: end;
    padding: 10px;
  }

  .competition-registration-modal {
    max-height: calc(100vh - 20px);
  }

  .registration-checklist, .registration-form-grid, .registration-summary {
    grid-template-columns: 1fr;
  }

  .registration-summary strong {
    text-align: left;
  }
}

.simulator-empty-state {
  background: #060a12a8;
  border: 1px dashed #f7f7f229;
  border-radius: 9px;
  min-height: 190px;
  padding: 24px;
}

.simulator-side-card {
  padding: 16px;
}

.simulator-pilot-card {
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  display: grid;
}

.simulator-pilot-card .nitro-outline-button {
  grid-column: 1 / -1;
}

.simulator-avatar {
  color: #fff;
  width: 54px;
  height: 54px;
  font-family: var(--font-data);
  background: #e1060024;
  border: 1px solid #e106008c;
  border-radius: 9px;
  place-items: center;
  font-weight: 900;
  display: grid;
}

.simulator-side-card strong, .simulator-side-card h3 {
  color: var(--race-white);
}

.simulator-side-card span, .simulator-side-card p {
  color: var(--steel);
}

.simulator-chat-card {
  min-height: 300px;
}

.simulator-chat-card header {
  border-bottom: 1px solid #f7f7f21a;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 12px;
  display: flex;
}

.simulator-chat-card header span {
  border: 1px solid #f7f7f21a;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 12px;
  font-weight: 900;
}

.simulator-chat-empty {
  min-height: 150px;
  color: var(--steel);
  text-align: center;
  align-content: center;
  place-items: center;
  gap: 8px;
  display: grid;
}

.simulator-chat-empty--compact {
  min-height: 120px;
}

.simulator-chat-messages {
  gap: 10px;
  max-height: 260px;
  margin: 12px 0;
  padding-right: 4px;
  display: grid;
  overflow-y: auto;
}

.simulator-chat-message {
  background: #080c14d1;
  border: 1px solid #f7f7f21a;
  border-radius: 8px;
  justify-items: start;
  gap: 4px;
  padding: 9px 10px;
  display: grid;
}

.simulator-chat-message.is-mine {
  background: #0d2c1fb8;
  border-color: #2fd17c5c;
}

.simulator-chat-message strong {
  font-size: 12px;
}

.simulator-chat-message p {
  color: #edf3fb;
  overflow-wrap: anywhere;
  margin: 0;
  font-size: 13px;
  line-height: 1.42;
}

.simulator-chat-message time {
  color: var(--steel);
  font-family: var(--font-data);
  font-size: 11px;
}

.simulator-chat-error {
  color: var(--warning-amber);
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 800;
}

.simulator-chat-form {
  grid-template-columns: minmax(0, 1fr) 44px;
  gap: 8px;
  display: grid;
}

.simulator-chat-form input, .simulator-chat-form button {
  color: #fff;
  background: #080c14eb;
  border: 1px solid #f7f7f224;
  border-radius: 7px;
  min-height: 40px;
  padding: 0 12px;
}

.simulator-chat-form button {
  background: #e10600d1;
  place-items: center;
  font-weight: 900;
  display: grid;
}

.simulator-chat-form button:disabled {
  cursor: not-allowed;
  opacity: .48;
}

.simulator-ad-card {
  background: linear-gradient(#060a1257, #060a12d6), url("/nitro/promo-iracing-f4.jpg") center / cover;
  min-height: 340px;
}

.simulator-ad-card span {
  color: #fff;
  background: #e10600eb;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 12px;
  font-weight: 900;
  display: inline-flex;
}

.simulator-ad-card h3 {
  max-width: 220px;
  font-family: var(--font-title);
  text-transform: uppercase;
  margin-top: 170px;
  font-size: 30px;
  line-height: .98;
}

.nitro-detail-panel, .nitro-side-panel {
  padding: 24px;
}

.portal-grid {
  grid-template-columns: var(--portal-sidebar) minmax(0, var(--portal-content));
  justify-content: center;
  align-items: start;
  padding-top: 36px;
}

.portal-grid .nitro-detail-panel h2, .auth-layout .nitro-detail-panel h2 {
  margin-bottom: 8px;
  font-size: clamp(24px, 2.8vw, 34px);
  line-height: 1.12;
}

.portal-grid .nitro-detail-panel > p, .auth-layout .nitro-detail-panel > p {
  font-size: 15px;
}

.detail-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 22px 0;
  display: grid;
}

.detail-grid strong {
  color: var(--race-white);
  margin-top: 6px;
  display: block;
}

.nitro-side-panel ol, .nitro-side-panel ul, .membership-card ul {
  color: #d8deea;
  margin: 14px 0 0;
  padding-left: 20px;
  line-height: 1.8;
}

.membership-card ul {
  margin-bottom: 20px;
}

.mock-form {
  gap: 12px;
  margin-top: 22px;
  display: grid;
}

.form-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.mock-form input, .mock-form textarea, .mock-form select {
  min-height: 48px;
  color: var(--race-white);
  font: inherit;
  background: #06080cb8;
  border: 1px solid #f7f7f229;
  border-radius: 6px;
  padding: 0 14px;
}

.mock-form textarea {
  resize: vertical;
  min-height: 120px;
  padding-block: 12px;
}

.mock-form button {
  width: max-content;
  min-width: 160px;
}

.mock-form button:disabled {
  cursor: progress;
  opacity: .68;
}

.form-message {
  color: #dce8f7;
  margin: 4px 0 0;
  font-weight: 700;
}

.form-message-error {
  color: #ff817a;
}

.pilot-sidebar {
  background: #070a10eb;
  border: 1px solid #f7f7f21f;
  border-radius: 8px;
  align-content: start;
  gap: 8px;
  padding: 18px;
  display: grid;
}

.pilot-sidebar strong {
  color: #fff;
  margin-bottom: 8px;
  font-size: 22px;
  font-weight: 700;
}

.pilot-sidebar a, .pilot-sidebar button {
  color: #eef3fb;
  min-height: 40px;
  font: inherit;
  text-align: left;
  background: #ffffff0a;
  border: 1px solid #ffffff1a;
  border-radius: 6px;
  align-items: center;
  padding: 0 12px;
  font-weight: 700;
  text-decoration: none;
  display: flex;
}

.pilot-sidebar button {
  cursor: pointer;
}

.pilot-portal-shell {
  grid-template-columns: 76px minmax(0, 1fr);
  align-items: start;
  gap: 18px;
  padding-top: 36px;
  display: grid;
}

.pilot-left-rail {
  background: linear-gradient(#e106001f, #00c2ff0a), #070a10f0;
  border: 1px solid #f7f7f21f;
  border-radius: 10px;
  align-content: start;
  gap: 14px;
  min-height: calc(100vh - 150px);
  padding: 12px;
  display: grid;
  position: sticky;
  top: 18px;
  box-shadow: 0 26px 70px #00000057;
}

.pilot-rail-home, .pilot-left-rail a, .pilot-left-rail button {
  color: #eef3fb;
  background: #ffffff0a;
  border: 1px solid #f7f7f21f;
  border-radius: 10px;
  place-items: center;
  width: 50px;
  height: 50px;
  text-decoration: none;
  display: grid;
}

.pilot-rail-home {
  background: var(--nitro-red);
  color: #fff;
  font-family: var(--font-title);
  border-color: #e1060085;
  font-weight: 800;
}

.pilot-rail-nav {
  gap: 8px;
  display: grid;
}

.pilot-rail-nav a span, .pilot-rail-logout span {
  z-index: 2;
  color: #fff;
  opacity: 0;
  pointer-events: none;
  background: #070a10f5;
  border: 1px solid #f7f7f21f;
  border-radius: 8px;
  min-width: max-content;
  padding: 8px 10px;
  font-size: 13px;
  font-weight: 700;
  transition: opacity .16s, transform .16s;
  position: absolute;
  left: 72px;
  transform: translateX(-6px);
}

.pilot-left-rail a:hover span, .pilot-left-rail button:hover span {
  opacity: 1;
  transform: translateX(0);
}

.pilot-left-rail a:hover, .pilot-left-rail a.is-active, .pilot-left-rail button:hover {
  color: #fff;
  background: #e106002e;
  border-color: #e10600ad;
}

.pilot-rail-logout {
  cursor: pointer;
  align-self: end;
  margin-top: auto;
}

.pilot-portal-main {
  gap: 16px;
  min-width: 0;
  display: grid;
}

.pilot-portal-topbar {
  background: linear-gradient(135deg, #e106001f, #00c2ff0d), #101319e6;
  border: 1px solid #f7f7f21f;
  border-radius: 10px;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 22px;
  display: flex;
}

.pilot-portal-topbar h2 {
  margin: 10px 0 6px;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.06;
}

.pilot-portal-topbar p {
  color: #c4ccd9;
  margin: 0;
}

.pilot-status-card {
  min-width: 190px;
  color: var(--success-green);
  background: #2fd17c12;
  border: 1px solid #2fd17c47;
  border-radius: 10px;
  align-items: center;
  gap: 10px;
  padding: 12px;
  display: flex;
}

.pilot-status-card span, .pilot-status-card strong {
  display: block;
}

.pilot-status-card span {
  color: #c4ccd9;
  font-size: 12px;
}

.pilot-status-card strong {
  color: #fff;
  text-transform: uppercase;
  font-size: 15px;
}

.pilot-portal-grid {
  grid-template-columns: minmax(230px, .32fr) minmax(0, 1fr);
  gap: 16px;
  display: grid;
}

.pilot-summary-card {
  background: #070a10e0;
  border: 1px solid #f7f7f21f;
  border-radius: 10px;
  align-self: start;
  padding: 18px;
}

.pilot-summary-number {
  color: var(--nitro-red-soft);
  gap: 10px;
  margin-bottom: 18px;
  display: grid;
}

.pilot-summary-number strong {
  color: #fff;
  font-size: 34px;
}

.pilot-summary-card dl {
  gap: 10px;
  margin: 0;
  display: grid;
}

.pilot-summary-card div {
  min-width: 0;
}

.pilot-summary-card dt {
  color: var(--steel);
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
}

.pilot-summary-card dd {
  color: #fff;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin: 4px 0 0;
  font-size: 14px;
  overflow: hidden;
}

.pilot-portal-content {
  min-width: 0;
}

.pilot-portal-shell {
  width: min(var(--layout-wide), calc(100% - (var(--layout-gutter) * 2)));
  grid-template-columns: 280px minmax(0, 1fr);
  align-items: stretch;
  gap: 14px;
}

.pilot-profile-menu {
  background: linear-gradient(160deg, #580f20b8, #081220e0 42%, #06080cf5), url("/nitro/nitro-dark-track-bg.png") center / cover;
  border: 1px solid #788caa3d;
  border-radius: 14px;
  align-content: start;
  gap: 10px;
  min-height: calc(100vh - 150px);
  padding: 18px;
  display: grid;
  position: sticky;
  top: 18px;
  box-shadow: 0 30px 90px #0000005c;
}

.pilot-menu-card {
  text-align: center;
  background: #080d17b8;
  border: 1px solid #f7f7f21a;
  border-radius: 12px;
  justify-items: center;
  gap: 8px;
  padding: 14px;
  display: grid;
}

.pilot-menu-avatar {
  background: linear-gradient(160deg, #e1060038, #00c2ff1a), #02060cdb;
  border: 1px solid #f7f7f22e;
  border-radius: 12px;
  place-items: center;
  width: 112px;
  height: 112px;
  display: grid;
  overflow: hidden;
}

.pilot-menu-avatar span {
  color: #fff;
  font-family: var(--font-title);
  font-size: 36px;
  font-weight: 800;
}

.pilot-menu-card strong {
  color: #fff;
  font-family: var(--font-title);
  font-size: 20px;
  line-height: 1.08;
}

.pilot-menu-card p {
  color: #d7deeb;
  margin: 0;
  font-size: 13px;
}

.pilot-membership-pill {
  color: #fff;
  background: #94a0b347;
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 700;
}

.pilot-public-profile {
  background: var(--nitro-red);
  color: #fff;
  border: 1px solid #e106008c;
  border-radius: 9px;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 42px;
  margin-top: 8px;
  font-weight: 800;
  text-decoration: none;
  display: inline-flex;
}

.pilot-profile-menu .pilot-rail-nav {
  background: #080d17ad;
  border: 1px solid #f7f7f21a;
  border-radius: 12px;
  gap: 8px;
  padding: 8px;
  display: grid;
}

.pilot-profile-menu .pilot-rail-nav a, .pilot-profile-menu .pilot-rail-logout {
  color: #eef3fb;
  min-height: 44px;
  font: inherit;
  text-align: left;
  background: #78161e6b;
  border: 1px solid #f7f7f217;
  border-radius: 8px;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
  font-weight: 800;
  text-decoration: none;
  display: flex;
}

.pilot-profile-menu .pilot-rail-nav a.is-active, .pilot-profile-menu .pilot-rail-nav a:hover, .pilot-profile-menu .pilot-rail-logout:hover {
  background: var(--nitro-red);
  color: #fff;
  border-color: #e10600b8;
}

.pilot-profile-menu .pilot-rail-logout {
  cursor: pointer;
  background: #581418c2;
  justify-content: center;
  width: 100%;
  margin-top: 10px;
}

.pilot-profile-menu .pilot-rail-nav a span, .pilot-profile-menu .pilot-rail-logout span {
  opacity: 1;
  pointer-events: auto;
  background: none;
  border: 0;
  border-radius: 0;
  min-width: 0;
  padding: 0;
  position: static;
  transform: none;
}

.pilot-portal-main {
  align-content: start;
}

.pilot-portal-topbar {
  background: linear-gradient(90deg, #06080ce6 0%, #06080c8a 48%, #06080ce0 100%), url("/nitro/gameco-racing-hero.png") center / cover no-repeat;
  align-items: end;
  min-height: 238px;
}

.pilot-portal-hero-copy {
  max-width: 780px;
}

.pilot-portal-topbar h2 {
  text-transform: uppercase;
  margin-top: 12px;
  font-size: clamp(40px, 5vw, 70px);
}

.pilot-kpi-row {
  margin-top: -70px;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #080d17e0;
  border: 1px solid #f7f7f21a;
  border-radius: 12px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-inline: 18px;
  padding: 12px;
  display: grid;
}

.pilot-kpi-row span {
  min-width: 0;
  color: var(--steel);
  border: 1px solid #f7f7f214;
  border-radius: 9px;
  gap: 4px;
  padding: 12px;
  font-size: 12px;
  display: grid;
}

.pilot-kpi-row strong {
  color: #fff;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
  font-size: 14px;
  overflow: hidden;
}

.sim-brand-list a:has(img) span {
  clip: rect(0, 0, 0, 0);
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}

.sim-filter-menu {
  flex: none;
  position: relative;
}

.sim-filter-button {
  color: #fff;
  min-height: 36px;
  font: inherit;
  cursor: pointer;
  text-transform: uppercase;
  background: #ffffff14;
  border: 1px solid #f7f7f22e;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 0 13px;
  font-weight: 900;
  display: inline-flex;
}

.sim-filter-button:hover, .sim-filter-button:focus-visible {
  background: #e106002e;
  border-color: #e1060080;
  outline: none;
}

.sim-filter-popover {
  z-index: 40;
  background: #060a11fa;
  border: 1px solid #f7f7f224;
  border-radius: 8px;
  gap: 8px;
  width: min(330px, 100vw - 24px);
  padding: 12px;
  display: grid;
  position: absolute;
  top: calc(100% + 9px);
  right: 0;
  box-shadow: 0 24px 58px #0000007a;
}

.sim-filter-popover > div {
  border-bottom: 1px solid #f7f7f214;
  gap: 3px;
  padding-bottom: 8px;
  display: grid;
}

.sim-filter-popover strong {
  color: #fff;
  font-family: var(--font-title);
  font-size: 17px;
}

.sim-filter-popover > div span, .sim-filter-popover p {
  color: #aeb9ca;
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.sim-filter-option {
  color: #eef3fb;
  cursor: pointer;
  background: #ffffff09;
  border: 1px solid #f7f7f214;
  border-radius: 7px;
  grid-template-columns: 18px 62px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-height: 40px;
  padding: 6px 8px;
  display: grid;
}

.sim-filter-option input {
  accent-color: #2fe07f;
  width: 17px;
  height: 17px;
}

.sim-filter-option img {
  width: 72px;
  height: 24px;
}

.sim-filter-option span {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  font-size: 13px;
  font-weight: 900;
  overflow: hidden;
}

.sim-filter-popover > a {
  color: #fff;
  background: #e1060024;
  border: 1px solid #e1060094;
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  min-height: 36px;
  font-weight: 900;
  text-decoration: none;
  display: inline-flex;
}

.pilot-portal-content {
  gap: 16px;
  margin-top: 16px;
  display: grid;
}

.pilot-portal-content .nitro-detail-panel {
  background: linear-gradient(145deg, #0b1423f5, #101828e0), #101319eb;
}

.pilot-portal-content .nitro-detail-panel > p:first-child {
  display: none;
}

.pilot-portal-content .profile-form {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}

.pilot-v4-shell {
  width: min(var(--layout-wide), calc(100% - var(--layout-gutter)));
  grid-template-columns: 300px minmax(0, 1fr);
  align-items: start;
  gap: 18px;
  padding-top: 36px;
  display: grid;
}

.pilot-v4-sidebar {
  background: linear-gradient(#e106001c, #08101c9e 34%, #070a10f0), #070a10eb;
  border: 1px solid #f7f7f21f;
  border-radius: 12px;
  gap: 14px;
  padding: 16px;
  display: grid;
  position: sticky;
  top: 18px;
  box-shadow: 0 24px 70px #00000052;
}

.sn-cabin-shell {
  padding-bottom: 34px;
}

.pilot-v4-identity {
  grid-template-columns: 62px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  display: grid;
}

.pilot-v4-avatar {
  background: linear-gradient(145deg, #e1060052, #00c2ff14), #06080ce0;
  border: 1px solid #e1060070;
  border-radius: 12px;
  place-items: center;
  width: 62px;
  height: 62px;
  display: grid;
}

.pilot-v4-avatar span, .pilot-v4-identity strong {
  font-family: var(--font-title);
}

.pilot-v4-avatar span {
  color: #fff;
  font-size: 24px;
  font-weight: 800;
}

.pilot-v4-identity strong {
  color: #fff;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 18px;
  line-height: 1.08;
  display: block;
  overflow: hidden;
}

.pilot-v4-identity p {
  color: var(--steel);
  align-items: center;
  gap: 5px;
  margin: 5px 0 0;
  font-size: 13px;
  display: inline-flex;
}

.pilot-v4-public-link {
  color: #fff;
  background: #e106002e;
  border: 1px solid #e1060080;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  min-height: 40px;
  font-weight: 800;
  text-decoration: none;
  display: inline-flex;
}

.pilot-v4-nav {
  gap: 14px;
  display: grid;
}

.pilot-v4-nav section {
  gap: 7px;
  display: grid;
}

.pilot-v4-nav section > span {
  color: #8f9aab;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 800;
}

.pilot-v4-nav a, .pilot-v4-logout {
  color: #dfe6f1;
  min-height: 40px;
  font: inherit;
  text-align: left;
  background: #ffffff09;
  border: 1px solid #f7f7f214;
  border-radius: 8px;
  align-items: center;
  gap: 10px;
  padding: 0 11px;
  font-weight: 700;
  text-decoration: none;
  display: flex;
}

.pilot-v4-nav a > span {
  flex: 1;
  min-width: 0;
}

.pilot-v4-nav a small {
  color: #ffd166;
  text-transform: uppercase;
  background: #ffb0201f;
  border: 1px solid #ffd24e52;
  border-radius: 999px;
  padding: 3px 6px;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
}

.pilot-v4-nav a.is-active {
  background: var(--nitro-red);
  color: #fff;
  border-color: #e1060094;
}

.pilot-v4-nav a:hover, .pilot-v4-logout:hover {
  background: #ffffff13;
  border-color: #f7f7f238;
}

.pilot-v4-logout {
  cursor: pointer;
  justify-content: center;
  margin-top: 6px;
}

.pilot-v4-main {
  gap: 14px;
  min-width: 0;
  display: grid;
}

.pilot-v4-header {
  background: linear-gradient(90deg, #06080cf0, #06080c8f 54%, #06080ce6), url("/nitro/track-fog-bg.png") center / cover no-repeat;
  border: 1px solid #f7f7f21f;
  border-radius: 12px;
  align-items: end;
  min-height: 188px;
  padding: 24px;
  display: flex;
}

.sn-cabin-hero {
  position: relative;
  overflow: hidden;
}

.sn-cabin-hero:after {
  content: "";
  pointer-events: none;
  background: linear-gradient(90deg, #e1060029, #0000 28%), linear-gradient(#0000, #06080c8a);
  position: absolute;
  inset: 0;
}

.sn-cabin-hero > * {
  z-index: 1;
  position: relative;
}

.sn-cabin-hero--accounts {
  background: linear-gradient(90deg, #06080cf5, #06080c9e 54%, #06080ceb), url("/nitro/gameco-racing-hero.png") center / cover no-repeat;
}

.pilot-v4-header h2 {
  margin: 12px 0 8px;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.02;
}

.pilot-v4-header p {
  color: #c4ccd9;
  max-width: 720px;
  margin: 0;
  line-height: 1.55;
}

.pilot-v4-status-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}

.pilot-v4-status-grid span {
  min-width: 0;
  color: var(--steel);
  background: #080d17c7;
  border: 1px solid #f7f7f21a;
  border-radius: 9px;
  padding: 11px;
  font-size: 12px;
}

.pilot-v4-status-grid strong {
  color: #fff;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
  font-size: 13px;
  display: block;
  overflow: hidden;
}

.pilot-v4-content {
  min-width: 0;
}

.pilot-v4-content .nitro-detail-panel {
  background: linear-gradient(145deg, #0b1423f0, #101828db), #101319eb;
}

.pilot-v4-content .nitro-detail-panel > p:first-child {
  display: none;
}

.pilot-v4-content .profile-form {
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}

.pilot-profile-panel {
  gap: 18px;
  display: grid;
}

.profile-form {
  border-top: 1px solid #ffffff1f;
  margin-top: 28px;
  padding-top: 22px;
}

.profile-form--competition {
  gap: 12px;
  display: grid;
}

.profile-completion {
  background: #ffb02014;
  border: 1px solid #ffd24e47;
  border-radius: 9px;
  gap: 9px;
  padding: 12px;
  display: grid;
}

.profile-completion.is-complete {
  background: #2fd17c1a;
  border-color: #44ffa561;
}

.profile-completion div {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.profile-completion strong {
  color: #fff;
  font-size: 14px;
  font-weight: 900;
}

.profile-completion span {
  color: #fff;
  font-family: var(--font-data);
  font-variant-numeric: tabular-nums;
  font-weight: 900;
}

.profile-completion > i {
  background: #ffffff1a;
  border-radius: 999px;
  height: 9px;
  display: block;
  overflow: hidden;
}

.profile-completion > i span {
  border-radius: inherit;
  background: linear-gradient(90deg, var(--nitro-red), #ffb020, #2fd17c);
  height: 100%;
  display: block;
}

.profile-form-section {
  background: #02071038;
  border: 1px solid #f7f7f21a;
  border-radius: 10px;
  gap: 12px;
  padding: 14px;
  display: grid;
}

.profile-form h3 {
  color: #fff;
  text-transform: uppercase;
  margin-bottom: 4px;
  font-size: 20px;
  line-height: 1.2;
}

.profile-field {
  gap: 7px;
  min-width: 0;
  display: grid;
}

.profile-field > span {
  color: #dfe6f1;
  font-size: 13px;
  font-weight: 900;
}

.profile-field.is-missing > span {
  color: #ffaaa5;
}

.profile-field.is-missing input, .profile-field.is-missing select, .profile-field.is-missing textarea {
  border-color: #e10600bd;
  box-shadow: 0 0 0 1px #e106001f;
}

.profile-field input[readonly] {
  opacity: .82;
  cursor: not-allowed;
}

.profile-toggle {
  color: #dfe6f1;
  background: #06080cb8;
  border: 1px solid #f7f7f21f;
  border-radius: 7px;
  grid-template-columns: minmax(0, 1fr) 52px;
  align-items: center;
  gap: 12px;
  min-height: 46px;
  padding: 0 12px;
  font-weight: 900;
  display: grid;
}

.profile-toggle input {
  opacity: 0;
  position: absolute;
}

.profile-toggle i {
  background: #ffffff29;
  border-radius: 999px;
  width: 46px;
  height: 26px;
  display: block;
  position: relative;
}

.profile-toggle i:after {
  content: "";
  background: #fff;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  transition: transform .18s;
  position: absolute;
  top: 3px;
  left: 3px;
}

.profile-toggle input:checked + i {
  background: var(--nitro-red);
}

.profile-toggle input:checked + i:after {
  transform: translateX(20px);
}

.section-heading-row {
  justify-content: space-between;
  align-items: start;
  gap: 16px;
  display: flex;
}

.nitro-ghost-button {
  color: #f7f7f2;
  cursor: pointer;
  min-height: 38px;
  font: inherit;
  background: #ffffff0e;
  border: 1px solid #f7f7f229;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  font-weight: 800;
  display: inline-flex;
}

.nitro-ghost-button:hover {
  background: #ffffff17;
  border-color: #f7f7f247;
}

.nitro-primary-button.compact, .nitro-ghost-button.compact {
  min-width: 0;
  min-height: 34px;
  padding-inline: 12px;
  font-size: 12px;
}

.nitro-ghost-button.danger {
  color: #ffb0ab;
  border-color: #e1060057;
}

.pilot-accounts-panel {
  gap: 18px;
  display: grid;
}

.pilot-accounts-panel h3, .control-topbar h2, .control-card h3, .control-eyebrow, .control-table-head span, .control-sidebar button, .pilot-account-card__head span, .account-status, .status-badge {
  align-items: center;
  gap: 7px;
  display: inline-flex;
}

.accounts-intro, .account-muted, .account-help {
  color: #aeb9ca;
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
}

.eligibility-summary {
  background: linear-gradient(135deg, #e106001c, #080d16b8);
  border: 1px solid #f7f7f21c;
  border-radius: 8px;
  gap: 12px;
  padding: 14px;
  display: grid;
}

.account-guide-steps {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}

.account-guide-steps span {
  color: #d8deea;
  background: #0207106b;
  border: 1px solid #f7f7f217;
  border-radius: 7px;
  padding: 9px 10px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
}

.simulator-account-section, .platform-account-section {
  gap: 12px;
  display: grid;
}

.account-section-head {
  justify-content: space-between;
  align-items: end;
  gap: 16px;
  display: flex;
}

.account-section-head h4 {
  color: #fff;
  font-family: var(--font-title);
  margin: 6px 0 0;
  font-size: 22px;
}

.account-section-head p {
  color: #9aa7ba;
  max-width: 560px;
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
}

.simulator-account-grid {
  grid-template-columns: 1fr;
  gap: 12px;
  display: grid;
}

.simulator-account-card {
  background: linear-gradient(135deg, #0d1422e6, #020710c7), #020710ad;
  border: 1px solid #f7f7f21c;
  border-radius: 8px;
  gap: 10px;
  min-width: 0;
  padding: 13px;
  display: grid;
}

.simulator-connect-row {
  background: linear-gradient(135deg, #0d1422e6, #020710c7), #020710ad;
  border: 1px solid #f7f7f21c;
  border-radius: 8px;
  grid-template-columns: minmax(240px, .9fr) minmax(300px, 1.35fr) minmax(190px, auto);
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 12px 14px;
  display: grid;
}

.simulator-connect-row.is-ready {
  border-color: #44ffa533;
}

.simulator-connect-row.needs-action {
  border-color: #ffd24e4d;
}

.simulator-connect-row.is-muted {
  opacity: .74;
}

.simulator-connect-main, .simulator-account-pill, .simulator-connect-actions {
  min-width: 0;
}

.simulator-connect-main {
  grid-template-columns: 68px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  display: grid;
}

.simulator-connect-main h5 {
  color: #fff;
  font-family: var(--font-title);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin: 0 0 4px;
  font-size: 17px;
  overflow: hidden;
}

.simulator-connect-main span {
  color: #9aa7ba;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 800;
  display: block;
  overflow: hidden;
}

.simulator-connect-accounts {
  gap: 8px;
  display: grid;
}

.simulator-account-pill {
  background: #0308109e;
  border: 1px solid #f7f7f217;
  border-radius: 8px;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 8px 10px;
  display: grid;
}

.simulator-account-pill.is-ready {
  border-color: #44ffa529;
}

.simulator-account-pill.needs-action {
  border-color: #ffd24e3d;
}

.simulator-account-pill > div {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.simulator-account-pill strong, .simulator-account-pill span {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.simulator-account-pill strong {
  color: #fff;
  font-family: var(--font-title);
  font-size: 15px;
}

.simulator-account-pill span {
  color: #c5cedd;
  font-family: var(--font-data);
  font-size: 13px;
  font-weight: 800;
}

.simulator-connect-actions {
  justify-items: stretch;
  gap: 8px;
  display: grid;
}

.simulator-connect-actions .account-status, .simulator-connect-actions .nitro-ghost-button, .simulator-connect-actions .account-primary-action {
  justify-content: center;
  width: 100%;
}

.simulator-pending-note {
  color: #ffe49a;
  text-align: center;
  background: #f7bb411a;
  border: 1px solid #ffd24e3d;
  border-radius: 7px;
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.3;
}

.simulator-menu-toggle--compact {
  justify-content: center;
  min-height: 32px;
}

.simulator-account-card:hover {
  background: linear-gradient(135deg, #2c0d12bd, #020710d1), #020710ad;
  border-color: #e106006b;
}

.simulator-account-card.is-ready {
  border-color: #44ffa533;
}

.simulator-account-card.is-blocked {
  border-color: #ffd24e47;
}

.simulator-account-card--wide {
  gap: 10px;
  padding: 12px 14px;
}

.simulator-account-card.is-muted {
  opacity: .78;
  border-color: #f7f7f21a;
}

.simulator-account-card__head, .requirement-card-head {
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  display: grid;
}

.simulator-account-card__head--wide {
  grid-template-columns: 76px minmax(0, 1fr) minmax(170px, auto);
  gap: 12px;
}

.simulator-account-card__head h5 {
  color: #fff;
  font-family: var(--font-title);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin: 0 0 3px;
  font-size: 16px;
  overflow: hidden;
}

.simulator-account-card__head span:not(.account-status), .requirement-card-head span:not(.account-status):not(.mini-state) {
  color: #9aa7ba;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 800;
  display: block;
  overflow: hidden;
}

.simulator-card-copy {
  color: #c6cfdd;
  max-width: 720px;
  margin: 4px 0 0;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}

.simulator-card-status {
  justify-items: end;
  gap: 8px;
  display: grid;
}

.simulator-menu-toggle {
  color: #e7f1ff;
  cursor: pointer;
  background: #2269c81a;
  border: 1px solid #50aaff3d;
  border-radius: 7px;
  align-items: center;
  gap: 9px;
  min-height: 32px;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 900;
  display: inline-flex;
}

.simulator-menu-toggle input {
  accent-color: #2fe07f;
  width: 17px;
  height: 17px;
}

.simulator-card-actions, .requirement-card-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.simulator-account-logo, .platform-account-logo {
  object-fit: contain;
  background: #ffffff0d;
  border: 1px solid #f7f7f21a;
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.simulator-account-logo {
  width: 68px;
  height: 38px;
  padding: 6px;
}

.platform-account-logo {
  width: 42px;
  height: 42px;
  padding: 6px;
}

.media-logo-fallback {
  color: #fff;
  font-family: var(--font-title);
  text-transform: uppercase;
  font-size: 13px;
  font-weight: 900;
}

.simulator-requirement-list, .requirement-account-list {
  gap: 8px;
  display: grid;
}

.simulator-requirement-list {
  grid-template-columns: 1fr;
}

.simulator-requirement-card {
  background: #0308109e;
  border: 1px solid #f7f7f217;
  border-radius: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px 12px;
  padding: 9px 10px;
  display: grid;
}

.simulator-requirement-card.is-ready {
  border-color: #44ffa529;
}

.simulator-requirement-card.needs-action {
  border-color: #ffd24e3d;
}

.mini-state {
  text-transform: uppercase;
  white-space: nowrap;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  min-height: 25px;
  padding: 0 9px;
  font-size: 11px;
  font-weight: 900;
  display: inline-flex;
}

.mini-state--ready {
  color: #fff;
  background: #128a52;
  border: 1px solid #9dffc9;
}

.mini-state--pending {
  color: #1f1300;
  background: #ffd166;
  border: 1px solid #ffe8a3;
}

.account-empty-note {
  color: #aeb9ca;
  border: 1px dashed #f7f7f21f;
  border-radius: 7px;
  margin: 0;
  padding: 8px 10px;
  font-size: 13px;
}

.account-primary-action {
  color: #fff;
  width: max-content;
  min-height: 36px;
  font: inherit;
  cursor: pointer;
  background: #e10600;
  border: 1px solid #ff2a22;
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 900;
  display: inline-flex;
}

.simulator-platform-strip {
  flex-wrap: wrap;
  gap: 7px;
  display: flex;
}

.simulator-platform-strip span {
  color: #d8deea;
  background: #ffffff0b;
  border: 1px solid #f7f7f21f;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  padding: 5px 9px 5px 5px;
  font-size: 12px;
  font-weight: 900;
  display: inline-flex;
}

.simulator-platform-strip span.is-ready {
  background: #1fb9721f;
  border-color: #44ffa56b;
}

.simulator-action-row {
  border-top: 1px solid #f7f7f214;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding-top: 10px;
  display: flex;
}

.requirement-card-head strong {
  color: #fff;
  font-family: var(--font-title);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 15px;
  display: block;
  overflow: hidden;
}

.requirement-card-head {
  min-width: 0;
}

.requirement-card-actions {
  justify-content: flex-end;
}

.requirement-card-actions:empty {
  display: none;
}

.simulator-requirement-card .account-help, .simulator-requirement-card .account-empty-note, .simulator-requirement-card .requirement-account-list {
  grid-column: 1 / -1;
}

.eligibility-summary__head, .eligibility-card {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.eligibility-summary__head h4 {
  color: #fff;
  font-family: var(--font-title);
  margin: 6px 0 0;
  font-size: 22px;
}

.eligibility-summary__head strong {
  color: #fff;
  font-family: var(--font-data);
  font-variant-numeric: tabular-nums;
  font-size: 24px;
}

.eligibility-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}

.eligibility-card {
  background: #0207107a;
  border: 1px solid #f7f7f217;
  border-radius: 7px;
  min-width: 0;
  padding: 10px;
}

.eligibility-card strong, .eligibility-card span {
  min-width: 0;
  display: block;
}

.eligibility-card strong {
  color: #fff;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  overflow: hidden;
}

.eligibility-card div > span {
  color: #9aa7ba;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 4px;
  font-size: 12px;
  overflow: hidden;
}

.pilot-account-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.pilot-account-grid--legacy {
  display: none;
}

.pilot-account-card {
  background: #0207107a;
  border: 1px solid #f7f7f21c;
  border-radius: 8px;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  display: grid;
}

.pilot-account-card__head, .account-row, .account-actions, .account-add-form {
  align-items: center;
  gap: 10px;
  display: flex;
}

.account-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.pilot-account-card__head {
  grid-template-columns: auto minmax(0, 1fr) auto;
  justify-content: stretch;
  display: grid;
}

.pilot-account-card__head h4 {
  color: #fff;
  font-family: var(--font-title);
  margin: 0 0 4px;
  font-size: 18px;
}

.pilot-account-card__head span:not(.account-status), .account-row span:not(.account-status) {
  color: #9aa7ba;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 800;
}

.pilot-account-card__head strong {
  color: #fff;
  min-width: 48px;
  min-height: 32px;
  font-family: var(--font-data);
  font-variant-numeric: tabular-nums;
  background: #1fb9721a;
  border: 1px solid #1fb9723d;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.account-status, .status-badge {
  width: max-content;
  max-width: 100%;
  box-shadow: none;
  text-transform: uppercase;
  border: 1px solid #f7f7f233;
  border-radius: 6px;
  padding: 6px 9px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

.account-status--verified, .account-status--connected, .status-badge--active {
  color: #fff;
  background: #128a52;
  border-color: #9dffc9;
}

.account-status.account-status--verified, .account-status.account-status--connected, .simulator-account-card__head .account-status.account-status--verified, .account-row .account-status.account-status--verified, .account-row .account-status.account-status--connected {
  color: #fff;
}

.account-status--pending, .account-status--unverified, .status-badge--pending {
  color: #1f1300;
  background: #ffd166;
  border-color: #ffe8a3;
}

.account-status--rejected, .status-badge--inactive {
  color: #fff;
  background: #e12b24;
  border-color: #ffaaa5;
}

.public-status-badge {
  width: max-content;
  max-width: 100%;
  box-shadow: none;
  font-family: var(--font-body);
  text-transform: uppercase;
  white-space: nowrap;
  border: 2px solid #0000;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  display: inline-flex;
}

.public-status-badge.is-compact {
  padding: 5px 8px;
  font-size: 11px;
}

.public-status-badge--active {
  color: #04120a;
  background: #2fe07f;
  border-color: #8fffc1;
}

.public-status-badge--inactive, .public-status-badge--rejected {
  color: #fff;
  background: #e12b24;
  border-color: #ffaaa5;
}

.public-status-badge--finished {
  color: #111827;
  background: #cbd5e1;
  border-color: #e2e8f0;
}

.public-status-badge--pending {
  color: #1f1300;
  background: #ffd166;
  border-color: #ffe8a3;
}

.public-status-badge--live {
  color: #06142b;
  background: #60a5fa;
  border-color: #bfdbfe;
}

.account-sim-list {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.account-sim-list span {
  color: #d8deea;
  background: #ffffff0b;
  border: 1px solid #f7f7f21a;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  padding: 4px 8px 4px 5px;
  font-size: 12px;
  font-weight: 800;
  display: inline-flex;
}

.account-sim-logo {
  object-fit: contain;
  background: #ffffff0f;
  border-radius: 3px;
  width: 30px;
  height: 18px;
  padding: 2px;
}

.account-list {
  gap: 8px;
  display: grid;
}

.account-row {
  background: #ffffff09;
  border: 1px solid #f7f7f217;
  border-radius: 7px;
  justify-content: space-between;
  align-items: stretch;
  padding: 9px;
}

.account-row--readonly {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  min-height: 48px;
  padding: 8px 10px;
  display: grid;
}

.account-row-main {
  gap: 6px;
  min-width: 0;
  display: grid;
}

.account-row strong {
  color: #fff;
  max-width: 260px;
  font-family: var(--font-data);
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  overflow: hidden;
}

.account-row .account-platform-note {
  color: #9aa7ba;
  text-transform: none;
  font-size: 12px;
  font-weight: 800;
}

.account-icon-button {
  color: #fff;
  min-height: 38px;
  font: inherit;
  cursor: pointer;
  background: #ffffff1f;
  border: 1px solid #f7f7f257;
  border-radius: 7px;
  justify-content: center;
  align-items: center;
  gap: 7px;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 900;
  display: inline-flex;
}

.account-icon-button:hover, .account-icon-button:focus-visible {
  background: #ffffff2e;
  border-color: #f7f7f294;
  outline: none;
}

.account-icon-button.is-danger {
  color: #fff;
  background: #e1060052;
  border-color: #ff8a84;
}

.account-login-toggle {
  color: #dceeff;
  text-transform: none;
  background: #2269c81a;
  border: 1px solid #50aaff3d;
  border-radius: 7px;
  align-items: center;
  gap: 8px;
  width: fit-content;
  max-width: 100%;
  padding: 7px 9px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  display: inline-flex;
}

.account-login-toggle input {
  accent-color: #2fe07f;
  width: 16px;
  height: 16px;
}

.account-login-toggle.is-disabled {
  opacity: .62;
}

.social-login-panel {
  border-top: 1px solid #f7f7f21a;
  gap: 10px;
  margin-top: 4px;
  padding-top: 14px;
  display: grid;
}

.social-login-panel > span {
  color: #aeb9ca;
  font-size: 13px;
  font-weight: 800;
}

.social-login-panel > div {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}

.social-login-panel p {
  color: #8793a5;
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
}

.social-login-button {
  color: #fff;
  min-height: 42px;
  font: inherit;
  cursor: pointer;
  background: #ffffff14;
  border: 1px solid #f7f7f229;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 900;
}

.social-login-button:hover, .social-login-button:focus-visible {
  background: #e106002e;
  border-color: #e1060080;
  outline: none;
}

.account-add-form input {
  color: #fff;
  min-width: 0;
  min-height: 40px;
  font: inherit;
  background: #06080cb8;
  border: 1px solid #f7f7f224;
  border-radius: 6px;
  flex: 1;
  padding: 0 12px;
}

.account-link-button {
  width: max-content;
}

.account-modal-backdrop {
  z-index: 80;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  background: #000000ad;
  place-items: center;
  padding: 24px;
  display: grid;
  position: fixed;
  inset: 0;
}

.account-modal {
  background: #0a101a;
  border: 1px solid #f7f7f229;
  border-radius: 9px;
  gap: 16px;
  width: min(520px, 100%);
  max-height: min(700px, 100vh - 48px);
  padding: 18px;
  display: grid;
  overflow: auto;
  box-shadow: 0 30px 90px #00000075;
}

.account-modal-head, .account-modal-actions {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.account-modal-head h3 {
  color: #fff;
  font-family: var(--font-title);
  margin: 0;
  font-size: 22px;
}

.account-modal-head button {
  color: #fff;
  cursor: pointer;
  background: #ffffff0f;
  border: 1px solid #f7f7f224;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  display: inline-flex;
}

.account-modal-form {
  gap: 12px;
  display: grid;
}

.account-modal-form label {
  color: #d8deea;
  gap: 6px;
  font-size: 13px;
  font-weight: 900;
  display: grid;
}

.account-modal-form input, .account-modal-form select {
  color: #fff;
  height: 42px;
  font: inherit;
  background: #06080cb8;
  border: 1px solid #f7f7f224;
  border-radius: 6px;
  padding: 0 12px;
}

.account-modal-actions {
  justify-content: flex-end;
  margin-top: 4px;
}

.account-modal-copy {
  color: #d7deea;
  margin: 0;
  line-height: 1.5;
}

.account-modal-copy strong {
  color: #fff;
}

.racenet-result-list {
  gap: 14px;
  display: grid;
}

.racenet-result-list h4 {
  font-family: var(--font-title);
  margin: 0 0 8px;
  font-size: 1rem;
}

.racenet-result-row {
  background: #ffffff0a;
  border: 1px solid #f7f7f21f;
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px;
  display: flex;
}

.racenet-result-row div {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.racenet-result-row strong, .racenet-result-row span {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.racenet-result-row span {
  color: #aeb8c7;
  font-family: var(--font-data);
  font-variant-numeric: tabular-nums;
  font-size: .82rem;
}

.control-page {
  background: radial-gradient(circle at 12% 8%, #e1060024, #0000 28%), linear-gradient(#04070cfa, #090e16f5);
  min-height: 100vh;
  padding: 18px 0 42px;
}

.control-page-gate {
  place-items: center;
  padding: 24px;
  display: grid;
}

.control-access-screen {
  width: min(760px, 100%);
}

.control-access-card-large {
  justify-items: start;
  min-height: 360px;
  padding: 34px;
}

.control-access-card-large h1 {
  color: #fff;
  font-family: var(--font-title);
  margin: 0;
  font-size: clamp(38px, 5vw, 64px);
  line-height: 1;
}

.control-access-card-large p {
  color: #cbd5e1;
  max-width: 620px;
  margin: 0;
  font-size: 18px;
  line-height: 1.5;
}

.control-access-actions {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}

.control-console {
  width: min(var(--layout-wide), calc(100% - var(--layout-gutter)));
  grid-template-columns: 250px minmax(0, 1fr);
  align-items: start;
  gap: 16px;
  margin: 0 auto;
  display: grid;
}

.control-console-stacked {
  grid-template-columns: 1fr;
  margin-top: 22px;
}

.control-sidebar, .control-card, .control-topbar, .control-metric {
  background: #0a101aeb;
  border: 1px solid #f7f7f21c;
  box-shadow: 0 20px 50px #0003;
}

.control-sidebar {
  border-radius: 8px;
  align-content: start;
  gap: 20px;
  min-height: 520px;
  padding: 18px;
  display: grid;
  position: sticky;
  top: 16px;
}

.control-brand, .control-eyebrow {
  color: var(--nitro-red-soft);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 900;
  display: block;
}

.control-sidebar strong {
  color: #fff;
  font-family: var(--font-title);
  margin-top: 6px;
  font-size: 20px;
  line-height: 1.1;
  display: block;
}

.control-sidebar nav {
  gap: 18px;
  display: grid;
}

.control-nav-group {
  gap: 8px;
  display: grid;
}

.control-nav-group > span {
  color: #7f8ca3;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 900;
}

.control-sidebar button {
  color: #cbd5e1;
  min-height: 38px;
  font: inherit;
  text-align: left;
  cursor: default;
  background: #ffffff05;
  border: 1px solid #f7f7f214;
  border-radius: 6px;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  font-weight: 800;
  display: inline-flex;
}

.control-sidebar button.is-active, .control-sidebar button:hover {
  color: #fff;
  background: #e106002e;
  border-color: #e1060080;
}

.control-main {
  align-content: start;
  gap: 14px;
  min-width: 0;
  display: grid;
}

.control-topbar {
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 18px;
  display: flex;
}

.control-topbar p {
  color: #9aa7ba;
  margin: 6px 0 0;
  font-size: 13px;
  font-weight: 800;
}

.control-topbar h2, .control-card h3 {
  color: #fff;
  font-family: var(--font-title);
  margin: 4px 0 0;
  line-height: 1.1;
}

.control-topbar h2 {
  font-size: 28px;
}

.control-card h3 {
  font-size: 20px;
}

.control-notice {
  color: #b9f7d5;
  background: #1fb9721c;
  border: 1px solid #1fb97247;
  border-radius: 8px;
  margin: 0;
  padding: 12px 14px;
  font-weight: 800;
}

.control-notice.is-error {
  color: #ffd0cd;
  background: #e12b2424;
  border-color: #ff655e85;
}

.control-tabs {
  gap: 8px;
  padding: 2px 0 14px;
  display: flex;
  overflow-x: auto;
}

.control-tabs button {
  color: #cbd5e1;
  cursor: pointer;
  min-height: 38px;
  font: inherit;
  white-space: nowrap;
  background: #ffffff0b;
  border: 1px solid #f7f7f21f;
  border-radius: 7px;
  padding: 0 13px;
  font-size: 12px;
  font-weight: 900;
}

.control-tabs button.is-active, .control-tabs button:hover, .control-tabs button:focus-visible {
  color: #fff;
  background: #e1060033;
  border-color: #e106009e;
  outline: none;
}

.control-filter-bar {
  background: #02071061;
  border: 1px solid #f7f7f217;
  border-radius: 7px;
  grid-template-columns: minmax(220px, 1fr) minmax(160px, .45fr) minmax(260px, 1fr) max-content;
  align-items: end;
  gap: 12px;
  margin-bottom: 14px;
  padding: 12px;
  display: grid;
}

.control-filter-bar label {
  color: #9aa7ba;
  text-transform: uppercase;
  gap: 6px;
  min-width: 0;
  font-size: 12px;
  font-weight: 900;
  display: grid;
}

.control-filter-bar label > span {
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.control-filter-bar input, .control-filter-bar select {
  color: #fff;
  min-height: 40px;
  font: inherit;
  text-transform: none;
  background: #06080cb8;
  border: 1px solid #f7f7f224;
  border-radius: 6px;
  padding: 0 12px;
}

.control-filter-bar > span {
  color: #cbd5e1;
  white-space: nowrap;
  align-self: center;
  font-size: 13px;
  font-weight: 900;
}

.control-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.control-metric {
  border-radius: 8px;
  align-content: start;
  gap: 7px;
  padding: 14px;
  display: grid;
}

.control-metric > svg {
  color: var(--nitro-red-soft);
}

.control-metric span {
  color: #9aa7ba;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 900;
}

.control-metric strong {
  color: #fff;
  font-family: var(--font-data);
  font-variant-numeric: tabular-nums;
  margin-top: 8px;
  font-size: 28px;
  display: block;
}

.control-card {
  border-radius: 8px;
  min-width: 0;
  padding: 16px;
}

.control-card-map {
  min-height: 540px;
}

.control-access-card {
  align-content: start;
  gap: 12px;
  min-height: 260px;
  display: grid;
}

.control-loading-block {
  color: #aeb9ca;
  background: linear-gradient(90deg, #ffffff09, #ffffff14, #ffffff09), #0207106b;
  border: 1px solid #f7f7f214;
  border-radius: 7px;
  place-items: center;
  min-height: 420px;
  font-weight: 900;
  display: grid;
}

.control-section-head {
  justify-content: space-between;
  align-items: start;
  gap: 16px;
  margin-bottom: 14px;
  display: flex;
}

.control-table {
  gap: 7px;
  display: grid;
}

.control-table-scroll {
  max-height: 450px;
  padding-right: 4px;
  overflow: auto;
}

.control-table-row {
  background: #0207106b;
  border: 1px solid #f7f7f214;
  border-radius: 7px;
  grid-template-columns: minmax(220px, .9fr) minmax(320px, 1.4fr) 120px;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 9px 12px;
  display: grid;
}

.control-table-head {
  color: #93a0b4;
  text-transform: uppercase;
  background: #ffffff0f;
  min-height: 36px;
  font-size: 12px;
  font-weight: 900;
}

.control-table-row strong, .control-table-row span, .control-table-row em {
  text-overflow: ellipsis;
  min-width: 0;
  overflow: hidden;
}

.control-table-row strong {
  color: #fff;
}

.control-table-row > span, .control-table-row em {
  color: #aeb9ca;
  font-style: normal;
}

.control-chip-list {
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
  display: flex;
}

.control-chip-list span {
  color: #e6edf7;
  background: #ffffff0b;
  border: 1px solid #f7f7f21a;
  border-radius: 999px;
  align-items: center;
  gap: 5px;
  padding: 5px 8px;
  font-size: 12px;
  display: inline-flex;
}

.control-chip-list-actions span {
  padding-right: 5px;
}

.control-chip-list span.is-muted {
  opacity: .58;
}

.control-chip-list button, .control-row-actions button, .control-action-button, .control-modal-head button, .control-secondary-button, .control-danger-button {
  color: #f8fafc;
  cursor: pointer;
  font: inherit;
  background: #ffffff0f;
  border: 1px solid #f7f7f224;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 900;
  display: inline-flex;
}

.control-chip-list button {
  width: 26px;
  height: 24px;
  padding: 0;
}

.control-chip-list button:hover, .control-row-actions button:hover, .control-action-button:hover, .control-secondary-button:hover {
  background: #ffffff1c;
  border-color: #f7f7f252;
}

.servers-admin-layout {
  gap: 14px;
  display: grid;
}

.server-panel-head, .server-status-card, .server-status-actions, .server-save-bar {
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  display: flex;
}

.server-panel-head p, .server-status-card p {
  color: #aeb9ca;
  margin: 8px 0 0;
  line-height: 1.45;
}

.server-selector-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
  display: grid;
}

.server-simulator-groups {
  gap: 16px;
  margin-top: 16px;
  display: grid;
}

.server-simulator-group {
  gap: 10px;
  display: grid;
}

.server-simulator-title {
  background: #01060e9e;
  border: 1px solid #f7f7f21a;
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  display: flex;
}

.server-simulator-title span {
  color: #fff;
  font-family: var(--font-title);
  font-weight: 900;
}

.server-simulator-title strong {
  color: #aeb9ca;
  text-transform: uppercase;
  font-size: 12px;
}

.server-selector-card {
  color: #d7deea;
  text-align: left;
  cursor: pointer;
  background: #ffffff09;
  border: 1px solid #f7f7f21f;
  border-radius: 8px;
  gap: 5px;
  min-height: 94px;
  padding: 12px;
  display: grid;
}

.server-selector-card.is-active, .server-selector-card:hover {
  background: #e1060021;
  border-color: #e1060094;
}

.server-selector-card strong {
  color: #fff;
}

.server-selector-card span, .server-selector-card em {
  color: #aeb9ca;
  font-size: 12px;
  font-style: normal;
}

.server-selector-card em {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.server-running-badge {
  color: #ffd98a;
  text-transform: uppercase;
  background: #ffc44d21;
  border: 1px solid #ffc44d73;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  font-weight: 800;
  display: inline-flex;
}

.server-running-badge.is-running {
  color: #dfffee;
  background: #1fb9722e;
  border-color: #44ffa58c;
}

.server-config-form {
  gap: 14px;
  display: grid;
}

.server-config-tabs {
  background: #01060e9e;
  border: 1px solid #f7f7f21a;
  border-radius: 8px;
  gap: 8px;
  padding: 8px;
  display: flex;
  overflow-x: auto;
}

.server-config-tabs button {
  color: #dce4ef;
  min-height: 38px;
  font: inherit;
  cursor: pointer;
  background: #ffffff0b;
  border: 1px solid #f7f7f21f;
  border-radius: 7px;
  flex: none;
  padding: 0 14px;
  font-weight: 900;
}

.server-config-tabs button:hover, .server-config-tabs button:focus-visible, .server-config-tabs button.is-active {
  color: #fff;
  background: #e1060033;
  border-color: #e10600b3;
}

.server-config-block {
  gap: 14px;
  display: grid;
}

.server-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.server-form-grid label, .server-session-box label {
  color: #dce4ef;
  gap: 6px;
  min-width: 0;
  font-weight: 700;
  display: grid;
}

.server-form-grid input, .server-form-grid select {
  color: #fff;
  min-width: 0;
  min-height: 42px;
  font: inherit;
  background: #01060ed1;
  border: 1px solid #f7f7f224;
  border-radius: 7px;
  padding: 0 12px;
}

.server-form-grid input:focus, .server-form-grid select:focus {
  border-color: #e106009e;
  outline: 2px solid #e106005c;
}

.server-ac-summary, .server-car-picker {
  grid-column: 1 / -1;
  gap: 8px;
  display: grid;
}

.server-ac-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.server-ac-summary span {
  color: #fff;
  text-overflow: ellipsis;
  background: #01060eb8;
  border: 1px solid #f7f7f21c;
  border-radius: 8px;
  gap: 4px;
  min-height: 54px;
  padding: 10px 12px;
  display: grid;
  overflow: hidden;
}

.server-ac-summary strong {
  color: #96a4b8;
  text-transform: uppercase;
  font-size: 11px;
}

.server-car-picker {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.server-car-picker p {
  color: #aeb9ca;
  grid-column: 1 / -1;
  margin: 0;
}

.server-live-preview, .server-track-preview, .server-preview-panel {
  grid-column: 1 / -1;
  gap: 12px;
  display: grid;
}

.server-live-preview {
  grid-template-columns: 1.2fr repeat(2, minmax(0, .8fr));
}

.server-track-preview, .server-preview-panel {
  background: #01060e94;
  border: 1px solid #f7f7f21a;
  border-radius: 8px;
  padding: 12px;
}

.server-track-preview {
  grid-template-columns: 132px minmax(0, 1fr);
  align-items: center;
}

.server-track-preview h4, .server-preview-panel h4 {
  color: #fff;
  font-family: var(--font-title);
  margin: 0;
  font-size: 18px;
}

.server-track-preview p, .server-preview-panel p, .server-empty-note {
  color: #aeb9ca;
  margin: 0;
  line-height: 1.45;
}

.server-preview-cars {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.server-media-thumb {
  background: #ffffff0f;
  border: 1px solid #f7f7f221;
  border-radius: 7px;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 42px;
  height: 34px;
  display: inline-flex;
  overflow: hidden;
}

.server-media-thumb.is-large {
  width: 120px;
  height: 76px;
}

.server-media-thumb img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.server-media-thumb em {
  color: #dce4ef;
  font-style: normal;
  font-weight: 900;
}

.server-combobox {
  grid-column: 1 / -1;
  gap: 6px;
  display: grid;
  position: relative;
}

.server-combobox label {
  color: #dce4ef;
  font-weight: 700;
}

.server-combobox-list {
  z-index: 20;
  background: #04080ffa;
  border: 1px solid #f7f7f22e;
  border-radius: 8px;
  gap: 6px;
  max-height: 340px;
  padding: 8px;
  display: grid;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  overflow: auto;
  box-shadow: 0 18px 42px #00000073;
}

.server-combobox-list button {
  color: #fff;
  text-align: left;
  cursor: pointer;
  background: #ffffff09;
  border: 1px solid #f7f7f21a;
  border-radius: 7px;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 10px;
  min-height: 54px;
  padding: 9px 10px;
  display: grid;
}

.server-combobox-list button:hover, .server-combobox-list button:focus-visible {
  background: #e1060024;
  border-color: #e1060099;
}

.server-combobox-list span, .server-combobox-list em {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.server-combobox-list span {
  font-weight: 900;
}

.server-combobox-list em {
  color: #9aa8ba;
  font-size: 12px;
  font-style: normal;
}

.server-combobox-list strong {
  color: #8df5c2;
  text-transform: uppercase;
  grid-row: 1 / span 2;
  align-self: center;
  font-size: 12px;
}

.server-combobox-list p {
  color: #aeb9ca;
  margin: 0;
}

.server-car-search-panel {
  background: #01060e94;
  border: 1px solid #f7f7f21a;
  border-radius: 8px;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1.1fr) minmax(220px, .65fr);
  gap: 10px;
  padding: 12px;
  display: grid;
}

.server-car-actions, .server-car-results {
  grid-column: 1 / -1;
}

.server-car-actions {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.server-car-actions span {
  color: #aeb9ca;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 900;
}

.server-car-results {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  max-height: 300px;
  padding-right: 3px;
  display: grid;
  overflow: auto;
}

.server-car-result {
  color: #eef4fb;
  text-align: left;
  cursor: pointer;
  background: #ffffff09;
  border: 1px solid #f7f7f21f;
  border-radius: 8px;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 3px 8px;
  min-height: 58px;
  padding: 9px 10px;
  display: grid;
}

.server-car-result:hover, .server-car-result:focus-visible {
  background: #e106001f;
  border-color: #e1060094;
}

.server-car-result.is-selected {
  background: #13583a42;
  border-color: #44ffa573;
}

.server-car-result span, .server-car-result em {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.server-car-result span {
  font-weight: 900;
}

.server-car-result em {
  color: #9aa8ba;
  font-size: 12px;
  font-style: normal;
}

.server-car-result strong {
  color: #fff;
  text-transform: uppercase;
  background: #ffffff14;
  border-radius: 999px;
  grid-area: 1 / 3 / span 2;
  align-self: center;
  padding: 5px 8px;
  font-size: 11px;
}

.server-car-result.is-selected strong {
  color: #9cffcc;
  background: #1fb97240;
}

.server-car-results p {
  color: #aeb9ca;
  grid-column: 1 / -1;
  margin: 0;
}

.server-car-chip {
  color: #effff7;
  min-height: 42px;
  font: inherit;
  cursor: pointer;
  background: #0d201dd9;
  border: 1px solid #44ffa552;
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  font-weight: 900;
  display: flex;
}

.server-car-chip span {
  color: #effff7;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.server-car-chip strong {
  color: #8df5c2;
  text-transform: uppercase;
  font-size: 11px;
}

.server-car-chip:hover, .server-car-chip:focus-visible {
  background: #370d10db;
  border-color: #e10600b8;
}

.server-toggle {
  background: #ffffff0a;
  border: 1px solid #f7f7f21a;
  border-radius: 7px;
  grid-template-columns: auto 1fr;
  align-items: center;
  min-height: 42px;
  padding: 0 12px;
}

.server-toggle input {
  width: 18px;
  height: 18px;
  accent-color: var(--nitro-red);
}

.server-session-box {
  background: #ffffff06;
  border: 1px solid #f7f7f21a;
  border-radius: 8px;
  grid-column: 1 / -1;
  grid-template-columns: 160px repeat(4, minmax(0, 1fr));
  align-items: end;
  gap: 10px;
  padding: 12px;
  display: grid;
}

.server-save-bar {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #050910eb;
  border: 1px solid #f7f7f21a;
  border-radius: 8px;
  justify-content: flex-end;
  padding: 12px;
  position: sticky;
  bottom: 14px;
}

.entry-list-editor {
  gap: 8px;
  display: grid;
}

.entry-list-head, .entry-list-row {
  grid-template-columns: 72px minmax(220px, 1.1fr) minmax(220px, 1fr) minmax(190px, .85fr) 108px;
  align-items: center;
  gap: 10px;
  display: grid;
}

.entry-list-head {
  color: #98a6ba;
  text-transform: uppercase;
  background: #ffffff0e;
  border-radius: 7px;
  min-height: 34px;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 800;
}

.entry-list-row {
  background: #ffffff07;
  border: 1px solid #f7f7f21a;
  border-radius: 8px;
  padding: 10px;
}

.entry-list-row strong {
  color: #fff;
  font-family: var(--font-data);
}

.entry-list-stack {
  gap: 6px;
  display: grid;
}

.entry-list-stack input {
  color: #fff;
  min-width: 0;
  min-height: 36px;
  font: inherit;
  background: #01060ed1;
  border: 1px solid #f7f7f224;
  border-radius: 7px;
  padding: 0 10px;
}

.entry-inline-check {
  color: #dce4ef;
  border: 1px solid #f7f7f21a;
  border-radius: 7px;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 0 10px;
  font-weight: 800;
  display: inline-flex;
}

.entry-inline-check input {
  width: 17px;
  height: 17px;
  accent-color: var(--nitro-red);
}

.server-logs-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.server-log-root {
  background: #01060e9e;
  border: 1px solid #f7f7f21a;
  border-radius: 8px;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  display: grid;
}

.server-log-root > div {
  gap: 4px;
  display: grid;
}

.server-log-root strong {
  color: #fff;
  font-family: var(--font-title);
}

.server-log-root span, .server-log-root p {
  color: #aeb9ca;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  margin: 0;
  overflow: hidden;
}

.server-log-root ul {
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.server-log-root li {
  border-top: 1px solid #f7f7f214;
  grid-template-columns: 16px minmax(0, 1fr);
  align-items: center;
  gap: 7px 8px;
  padding-top: 7px;
  display: grid;
}

.server-log-root li span {
  color: #edf3fb;
  font-weight: 800;
}

.server-log-root li em {
  color: #8794a8;
  grid-column: 2;
  font-size: 12px;
  font-style: normal;
}

.server-terminal-grid {
  gap: 14px;
  display: grid;
}

.server-terminal-root {
  background: #01060e9e;
  border: 1px solid #f7f7f21c;
  border-radius: 8px;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  display: grid;
}

.server-terminal-head {
  gap: 4px;
  display: grid;
}

.server-terminal-head strong {
  color: #fff;
  font-family: var(--font-title);
  font-size: 18px;
}

.server-terminal-head span {
  color: #98a6ba;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.server-terminal-stack {
  gap: 12px;
  display: grid;
}

.server-terminal-window {
  background: #03070c;
  border: 1px solid #44ffa52e;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: inset 0 1px #ffffff0a;
}

.server-terminal-window header {
  background: #ffffff0b;
  border-bottom: 1px solid #f7f7f214;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  min-height: 34px;
  padding: 0 12px;
  display: flex;
}

.server-terminal-window header span {
  color: #e8eef8;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  font-weight: 900;
  overflow: hidden;
}

.server-terminal-window header em {
  color: #8fa0b6;
  flex: none;
  font-size: 12px;
  font-style: normal;
}

.server-terminal-window pre {
  color: #9cffcc;
  min-height: 180px;
  max-height: 360px;
  font-family: var(--font-data);
  white-space: pre-wrap;
  word-break: break-word;
  margin: 0;
  padding: 12px;
  font-size: 12px;
  line-height: 1.55;
  overflow: auto;
}

.control-action-button {
  min-height: 38px;
  padding: 0 12px;
}

.control-action-button-primary {
  color: #fff;
  background: linear-gradient(#e22b24, #b70f0a);
  border-color: #e10600ad;
}

.control-action-button-primary:hover, .control-action-button-primary:focus-visible {
  background: linear-gradient(#ff362e, #cf150f);
  border-color: #ff756ee6;
}

.control-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 14px;
  display: grid;
}

.control-grid-1, .control-panel-content {
  align-content: start;
  gap: 14px;
  min-width: 0;
  display: grid;
}

.control-form {
  gap: 10px;
  display: grid;
}

.control-form-inline {
  grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(150px, auto);
  align-items: center;
}

.control-form input, .control-form select, .control-form textarea {
  color: #fff;
  width: 100%;
  min-width: 0;
  font: inherit;
  background: #06080cb8;
  border: 1px solid #f7f7f224;
  border-radius: 6px;
}

.control-form input, .control-form select {
  height: 42px;
  padding: 0 12px;
}

.control-form textarea {
  resize: vertical;
  min-height: 92px;
  padding: 11px 12px;
  line-height: 1.45;
}

.control-form-wide {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.control-form label {
  color: #d8deea;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  font-size: 13px;
  font-weight: 800;
  display: flex;
}

.control-form-wide label {
  flex-direction: column;
  align-items: flex-start;
}

.control-form-wide label:has(input[type="checkbox"]) {
  flex-direction: row;
  align-items: center;
}

.control-form-full {
  grid-column: 1 / -1;
}

.control-form input[type="checkbox"] {
  width: 16px;
  height: 16px;
  min-height: 0;
}

.control-list {
  gap: 8px;
  display: grid;
}

.control-list-row {
  background: #0207106b;
  border: 1px solid #f7f7f217;
  border-radius: 7px;
  grid-template-columns: minmax(0, 1fr) max-content max-content;
  align-items: center;
  gap: 12px;
  padding: 11px;
  display: grid;
}

.catalog-list-row {
  min-height: 74px;
}

.catalog-summary-row {
  grid-template-columns: minmax(260px, 1fr) minmax(360px, .95fr);
}

.catalog-summary-counts {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}

.catalog-summary-counts span {
  color: #9aa7ba;
  text-transform: uppercase;
  background: #ffffff0b;
  border: 1px solid #f7f7f214;
  border-radius: 7px;
  gap: 2px;
  min-width: 0;
  padding: 9px 10px;
  font-size: 11px;
  font-weight: 900;
  display: grid;
}

.catalog-summary-counts strong {
  color: #fff;
  font-family: var(--font-data);
  font-variant-numeric: tabular-nums;
  font-size: 18px;
}

.control-list-row strong, .control-list-row span {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  display: block;
  overflow: hidden;
}

.control-list-row strong {
  color: #fff;
  font-family: var(--font-title);
}

.control-list-row > div > span {
  color: #9aa7ba;
  margin-top: 4px;
  font-size: 12px;
  font-weight: 800;
}

.control-media-row {
  align-items: center;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.control-media-logo {
  object-fit: contain;
  background: #ffffff0a;
  border: 1px solid #f7f7f214;
  border-radius: 4px;
  flex: none;
  width: 54px;
  height: 30px;
  padding: 4px;
}

.control-media-logo-placeholder {
  color: #fff;
  font-family: var(--font-title);
  place-items: center;
  font-size: 12px;
  font-weight: 900;
  display: grid;
}

.control-form-hint {
  color: #9aa7ba;
  margin: -2px 0 2px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}

.control-combobox-field {
  position: relative;
}

.control-combobox {
  width: 100%;
  position: relative;
}

.control-combobox input {
  padding-right: 42px;
}

.control-combobox > button {
  color: #fff;
  cursor: pointer;
  background: #ffffff12;
  border: 1px solid #f7f7f21f;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  display: inline-flex;
  position: absolute;
  top: 6px;
  right: 6px;
}

.control-combobox.is-disabled {
  opacity: .68;
}

.control-combobox-list {
  z-index: 30;
  background: #070b12;
  border: 1px solid #e106005c;
  border-radius: 8px;
  gap: 4px;
  max-height: 280px;
  padding: 6px;
  display: grid;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  overflow-y: auto;
  box-shadow: 0 22px 50px #0000007a;
}

.control-combobox-list button {
  color: #f8fafc;
  cursor: pointer;
  width: 100%;
  font: inherit;
  text-align: left;
  background: none;
  border: 1px solid #0000;
  border-radius: 6px;
  gap: 3px;
  padding: 9px 10px;
  display: grid;
}

.control-combobox-list button:hover, .control-combobox-list button:focus-visible, .control-combobox-list button.is-selected {
  background: #e1060029;
  border-color: #e1060085;
  outline: none;
}

.control-combobox-list span, .control-combobox-empty {
  color: #9aa7ba;
  font-size: 12px;
  font-weight: 800;
}

.quick-race-car-picker {
  gap: 10px;
  display: grid;
}

.quick-race-car-picker-head {
  justify-content: space-between;
  align-items: start;
  gap: 12px;
  display: flex;
}

.quick-race-car-picker-head div {
  gap: 3px;
  display: grid;
}

.quick-race-car-picker-head strong {
  color: #fff;
  font-family: var(--font-title);
  font-size: 18px;
}

.quick-race-car-picker-head span {
  color: #aeb9ca;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
}

.quick-race-selected-cars {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.control-row-actions {
  flex-wrap: wrap;
  justify-content: end;
  gap: 7px;
  display: flex;
}

.control-row-actions button {
  min-height: 32px;
  padding: 0 10px;
}

.competitions-admin-layout {
  grid-template-columns: minmax(230px, .34fr) minmax(0, 1fr);
  gap: 14px;
  display: grid;
}

.competitions-picker {
  align-content: start;
  gap: 8px;
  min-width: 0;
  display: grid;
}

.competitions-picker button {
  color: #fff;
  text-align: left;
  background: #02071075;
  border: 1px solid #f7f7f21a;
  border-radius: 7px;
  gap: 5px;
  padding: 12px;
  display: grid;
}

.competitions-picker button.is-active, .competitions-picker button:hover, .competitions-picker button:focus-visible {
  background: #e1060026;
  border-color: #e106009e;
  outline: none;
}

.competitions-picker span {
  color: var(--nitro-red-soft);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 900;
}

.competitions-picker strong {
  font-family: var(--font-title);
  font-size: 15px;
  line-height: 1.15;
}

.competitions-picker small {
  color: #9aa7ba;
  font-weight: 800;
}

.competitions-detail {
  gap: 12px;
  min-width: 0;
  display: grid;
}

.competitions-detail-head {
  background: #ffffff06;
  border: 1px solid #f7f7f217;
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px;
  display: flex;
}

.competitions-detail-head h3 {
  margin: 3px 0 0;
}

.competitions-detail-head p {
  color: #9aa7ba;
  margin: 4px 0 0;
  font-size: 12px;
  font-weight: 800;
}

.competitions-overview {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  display: grid;
}

.competitions-overview p {
  color: #cbd5e1;
  background: #02071057;
  border: 1px solid #f7f7f214;
  border-radius: 7px;
  grid-column: 1 / -1;
  margin: 0;
  padding: 12px;
  line-height: 1.5;
}

.competition-operation-card {
  background: linear-gradient(135deg, #071324f5, #10060df5), #02071099;
  border: 1px solid #22c55e47;
  border-radius: 8px;
  grid-column: 1 / -1;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 14px;
  display: flex;
}

.competition-operation-card h4 {
  color: #f8fafc;
  margin: 4px 0;
  font-size: 18px;
}

.competition-operation-card p, .competition-operation-card small {
  color: #b9c4d6;
  margin: 0;
  font-size: 13px;
}

.competition-split-tools {
  grid-template-columns: repeat(2, minmax(150px, 1fr));
  gap: 10px;
  min-width: min(420px, 100%);
  display: grid;
}

.competition-split-tools label {
  color: #9aa7ba;
  text-transform: uppercase;
  gap: 5px;
  font-size: 11px;
  font-weight: 900;
  display: grid;
}

.competition-split-tools select {
  color: #f8fafc;
  background: #020710b8;
  border: 1px solid #94a3b852;
  border-radius: 7px;
  min-height: 38px;
  padding: 0 10px;
  font-weight: 850;
}

.competition-split-tools button {
  grid-column: 1 / -1;
}

.control-row-actions button.is-danger, .control-danger-button {
  color: #ffd0cd;
  background: #e12b242e;
  border-color: #ff655e8c;
}

.control-row-actions button.is-danger:hover, .control-danger-button:hover {
  background: #e12b2447;
  border-color: #ff655ed9;
}

.control-modal-backdrop {
  z-index: 80;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  background: #000000ad;
  place-items: center;
  padding: 24px;
  display: grid;
  position: fixed;
  inset: 0;
}

.control-modal {
  background: #0a101a;
  border: 1px solid #f7f7f229;
  border-radius: 9px;
  gap: 16px;
  width: min(560px, 100%);
  max-height: min(720px, 100vh - 48px);
  padding: 18px;
  display: grid;
  overflow: auto;
  box-shadow: 0 30px 90px #00000075;
}

.control-modal-wide {
  width: min(920px, 100%);
}

.control-modal-head {
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  display: flex;
}

.control-modal-head h3 {
  color: #fff;
  font-family: var(--font-title);
  margin: 0;
  font-size: 22px;
}

.control-modal-head button {
  width: 36px;
  height: 36px;
  padding: 0;
}

.control-modal-actions {
  justify-content: flex-end;
  gap: 10px;
  margin-top: 4px;
  display: flex;
}

.control-secondary-button, .control-danger-button {
  min-height: 38px;
  padding: 0 14px;
}

.control-modal-copy {
  color: #d7deea;
  background: #ffffff09;
  border: 1px solid #f7f7f217;
  border-radius: 7px;
  gap: 3px;
  margin: 0;
  padding: 12px;
  line-height: 1.5;
  display: grid;
}

.control-modal-copy strong {
  color: #fff;
}

.control-modal-copy span {
  color: #aeb9ca;
  font-size: 13px;
  font-weight: 800;
}

.admin-table {
  gap: 8px;
  display: grid;
}

.admin-row {
  background: #070a10b8;
  border: 1px solid #ffffff1a;
  border-radius: 8px;
  grid-template-columns: minmax(180px, 1.1fr) minmax(220px, 1fr) 90px 110px 120px;
  align-items: center;
  gap: 10px;
  padding: 12px;
  display: grid;
}

.admin-row strong, .admin-row span {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.nitro-footer {
  color: var(--steel);
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-top: 82px;
  padding: 28px 0 40px;
  display: flex;
}

.nitro-footer strong, .nitro-footer span {
  display: block;
}

.nitro-footer nav {
  flex-wrap: wrap;
  gap: 14px;
  display: flex;
}

.nitro-footer a {
  color: #dfe5ef;
  font-weight: 900;
  text-decoration: none;
}

.current-home-layout {
  width: min(var(--layout-wide), calc(100% - (var(--layout-gutter) * 2)));
  grid-template-columns: minmax(0, 2.05fr) minmax(360px, 1fr);
  align-items: stretch;
  gap: 2px;
  margin: 40px auto 0;
  display: grid;
}

.main-slider-card, .promo-card {
  background: #000000b8;
  border: 1px solid #788caa47;
  display: block;
  position: relative;
  overflow: hidden;
}

.main-slider-card {
  aspect-ratio: 1190 / 548;
  border-radius: 10px 0 0 10px;
}

.main-slider-card img, .promo-card img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.main-slider-card img, .promo-card:not(.promo-card-product) img {
  position: absolute;
  inset: 0;
}

.side-promo-grid .promo-card:not(.promo-card-product) img {
  object-fit: contain;
  background: linear-gradient(135deg, #071735, #11172a 48%, #541924);
}

.main-slider-card:after {
  content: "";
  background: linear-gradient(90deg, #00000029, #0000 55%), linear-gradient(#0000 64%, #00000047);
  position: absolute;
  inset: 0;
}

.slider-cta {
  z-index: 2;
  background: var(--nitro-red);
  color: #fff;
  font-family: var(--font-title);
  text-transform: uppercase;
  text-shadow: 0 2px #00000047;
  border: 4px solid #ff503ecc;
  border-radius: 10px;
  padding: 13px 22px;
  font-size: clamp(24px, 2.4vw, 36px);
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  position: absolute;
  bottom: 28%;
  right: 44px;
}

.side-promo-grid {
  grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
  gap: 2px;
  display: grid;
}

.promo-card {
  border-radius: 0 10px 0 0;
  min-height: 0;
}

.promo-card + .promo-card {
  border-radius: 0 0 10px;
}

.promo-card-product img {
  display: none;
}

.promo-card-product {
  color: #fff;
  text-align: center;
  background: linear-gradient(120deg, #02070ef0, #081428e0 45%, #76070cb8), url("/nitro/nitro-dark-track-bg.png") center / cover no-repeat;
  flex-direction: column;
  justify-content: center;
  padding: clamp(22px, 3vw, 42px);
  text-decoration: none;
  display: flex;
}

.promo-card-product span {
  color: #ff4037;
  font-family: var(--font-title);
  text-transform: uppercase;
  font-size: clamp(18px, 1.5vw, 28px);
  font-style: italic;
  font-weight: 700;
  line-height: 1;
}

.promo-card-product strong {
  color: #fff;
  max-width: 420px;
  font-family: var(--font-title);
  text-transform: uppercase;
  margin: 8px auto;
  font-size: clamp(19px, 1.7vw, 31px);
  font-weight: 700;
  line-height: 1.05;
}

.promo-card-product em {
  background: var(--nitro-red);
  color: #fff;
  text-transform: uppercase;
  border-radius: 999px;
  align-self: center;
  padding: 8px 16px;
  font-style: normal;
  font-weight: 900;
}

.tournament-panel-section {
  width: min(var(--layout-wide), calc(100% - (var(--layout-gutter) * 2)));
  border-top: 1px solid #ffffffb8;
  margin: 44px auto 0;
  padding-top: 28px;
}

.tournament-panel-section .nitro-section-header {
  margin-bottom: 18px;
}

.tournament-panel-section .nitro-section-header h2 {
  font-family: var(--font-title);
  text-transform: uppercase;
  font-size: clamp(38px, 4vw, 56px);
  font-weight: 700;
}

.panel-tabs {
  background: #08101cdb;
  border: 1px solid #506e966b;
  border-radius: 9px;
  display: flex;
  overflow: hidden;
}

.panel-tabs button {
  color: #fff;
  cursor: default;
  min-height: 38px;
  font: inherit;
  background: #e10600e6;
  border: 0;
  border-right: 1px solid #ffffff1f;
  padding: 0 18px;
  font-weight: 900;
}

.panel-tabs button + button {
  background: #581c28d6;
}

.panel-tabs span {
  background: #fff3;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-width: 20px;
  height: 20px;
  margin-left: 8px;
  font-size: 12px;
  display: inline-flex;
}

.timezone-note {
  color: #c9d2df;
  margin: 4px 0 12px;
  font-size: 13px;
}

.featured-tournament-card {
  background: linear-gradient(90deg, #07101df0, #0a121fbf, #24081ee6), url("/nitro/banner-cna.png") 0 / cover no-repeat;
  border: 1px solid #8296b447;
  border-radius: 10px;
  grid-template-columns: 100px minmax(0, 1fr) minmax(310px, .62fr) 150px;
  align-items: center;
  gap: 18px;
  min-height: 190px;
  padding: 16px;
  display: grid;
  box-shadow: 0 28px 80px #00000057;
}

.tournament-game-badge {
  color: #fff;
  width: 94px;
  height: 94px;
  font-family: var(--font-title);
  background: #0c182ae0;
  border: 1px solid #96b4e633;
  border-radius: 8px;
  place-items: center;
  font-size: 19px;
  font-style: italic;
  font-weight: 700;
  display: grid;
}

.tournament-copy span, .next-race-box span {
  color: #ffd5d0;
  letter-spacing: 0;
  text-transform: uppercase;
  background: #782d26e6;
  border-radius: 999px;
  width: max-content;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 900;
  display: inline-flex;
}

.tournament-copy h3 {
  font-family: var(--font-title);
  text-transform: uppercase;
  margin: 8px 0 6px;
  font-size: clamp(25px, 2.2vw, 38px);
  font-weight: 700;
}

.tournament-copy p, .next-race-box p {
  color: #d8e0ea;
  margin-bottom: 8px;
  line-height: 1.45;
}

.tournament-tags {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.tournament-tags em {
  color: #fff;
  background: #ffffff1f;
  border-radius: 999px;
  padding: 4px 9px;
  font-style: normal;
  font-weight: 900;
}

.next-race-box {
  background: linear-gradient(90deg, #00000094, #0000002e), url("/nitro/track-fog-bg.png") center / cover no-repeat;
  border: 1px solid #ffffff29;
  border-radius: 9px;
  min-height: 150px;
  padding: 14px;
}

.next-race-box strong {
  font-family: var(--font-title);
  text-transform: uppercase;
  margin: 8px 0 4px;
  font-size: 30px;
  font-weight: 700;
  display: block;
}

.next-race-box small {
  color: #fff;
  font-weight: 900;
}

.tournament-actions {
  gap: 10px;
  display: grid;
}

.tournament-actions .nitro-primary-button, .tournament-actions .nitro-outline-button {
  min-height: 44px;
}

.active-button {
  color: #04120a;
  background: #2fe07f;
  border-color: #8fffc1;
}

.compact-tournament-grid {
  display: none;
}

.nitro-home-hero {
  width: min(var(--layout-main), calc(100% - var(--layout-gutter)));
  grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
  align-items: end;
  gap: 28px;
  min-height: 760px;
  margin: 0 auto;
  padding: 92px 0 76px;
  display: grid;
  position: relative;
}

.home-hero-media {
  z-index: -1;
  background: linear-gradient(90deg, #06080cfa 0%, #06080ca3 45%, #06080cfa 100%), linear-gradient(180deg, #06080c14 0%, var(--carbon-deep) 96%), url("/nitro/gameco-racing-hero.png") center / cover no-repeat;
  position: absolute;
  inset: 0 calc(50% - 50vw);
}

.home-hero-media:before {
  background: var(--nitro-red);
  content: "";
  width: min(620px, 42vw);
  height: 7px;
  position: absolute;
  inset: auto 0 17% auto;
  transform: skewX(-19deg);
  box-shadow: 0 0 34px #e10600db;
}

.home-hero-media:after {
  content: "";
  background: radial-gradient(circle at 72% 40%, #00c2ff29, #0000 26%), radial-gradient(circle at 18% 70%, #e1060038, #0000 22%);
  position: absolute;
  inset: 0;
}

.home-hero-copy {
  max-width: 760px;
}

.home-hero-copy h1 {
  max-width: 880px;
  margin-bottom: 20px;
  font-size: clamp(50px, 8vw, 104px);
}

.large-button {
  min-height: 52px;
  padding-inline: 22px;
}

.hero-trust-row {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 28px;
  display: flex;
}

.hero-trust-row span {
  color: #e3e8f2;
  background: #06080c75;
  border: 1px solid #f7f7f229;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 900;
}

.race-control-card {
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  background: linear-gradient(145deg, #e106002e, #00c2ff14), #0e1117d6;
  border: 1px solid #f7f7f229;
  border-radius: 8px;
  padding: 24px;
  box-shadow: 0 30px 100px #00000075;
}

.race-control-card h2 {
  margin-top: 18px;
  font-size: 34px;
}

.race-control-card p {
  color: #c6ceda;
  line-height: 1.52;
}

.race-countdown {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 22px 0;
  display: grid;
}

.race-countdown span {
  color: var(--steel);
  text-align: center;
  text-transform: uppercase;
  background: #06080c6b;
  border: 1px solid #f7f7f221;
  border-radius: 8px;
  padding: 12px 10px;
  font-size: 12px;
  font-weight: 900;
}

.race-countdown strong {
  color: var(--race-white);
  font-size: 28px;
  line-height: 1;
  display: block;
}

.race-card-meta {
  color: #dce3ee;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  font-weight: 900;
  display: flex;
}

.race-card-meta strong {
  color: var(--success-green);
}

.final-stats {
  z-index: 2;
  margin-top: -44px;
  position: relative;
}

.home-feature-strip {
  width: min(var(--layout-main), calc(100% - var(--layout-gutter)));
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 14px;
  margin: 24px auto 0;
  display: grid;
}

.feature-panel, .portal-preview {
  background: linear-gradient(135deg, #e1060021, #252b35c7), #1b2029e6;
  border: 1px solid #f7f7f21f;
  border-radius: 8px;
  padding: 24px;
}

.feature-panel {
  justify-content: space-between;
  align-items: end;
  gap: 22px;
  display: flex;
}

.feature-panel p {
  color: #c4ccd9;
  line-height: 1.55;
}

.driver-spotlight {
  gap: 8px;
  display: grid;
}

.driver-spotlight span {
  color: var(--nitro-red-soft);
  font-size: 42px;
  font-weight: 900;
  line-height: 1;
}

.driver-spotlight strong {
  font-size: 22px;
}

.driver-spotlight em {
  color: var(--steel);
  font-style: normal;
  font-weight: 900;
}

.championship-showcase, .race-ops-section, .simulator-showcase, .results-showcase, .community-section {
  position: relative;
}

.championship-showcase:before, .community-section:before {
  z-index: -1;
  content: "";
  opacity: .45;
  background: linear-gradient(90deg, #06080ceb, #06080c9e), url("/nitro/gameco-tournament-banner.webp") center / cover no-repeat;
  height: 360px;
  position: absolute;
  inset: 40px calc(50% - 50vw) auto;
}

.race-ops-grid {
  grid-template-columns: minmax(0, 1fr) minmax(320px, .66fr);
  gap: 16px;
  display: grid;
}

.portal-preview h3 {
  font-size: 30px;
}

.portal-preview ul {
  color: #d9e0eb;
  margin: 18px 0 22px;
  padding-left: 20px;
  line-height: 1.8;
}

.community-grid {
  grid-template-columns: minmax(0, .72fr) minmax(0, 1fr);
  align-items: start;
  gap: 24px;
  display: grid;
}

.community-grid > article {
  background: #101319d1;
  border: 1px solid #f7f7f21f;
  border-radius: 8px;
  padding: 28px;
  position: sticky;
  top: 20px;
}

.community-grid > article p {
  color: #c4ccd9;
  line-height: 1.6;
}

.community-cards {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  display: grid;
}

.community-cards .membership-card {
  grid-column: 1 / -1;
}

@media (max-width: 980px) {
  .nitro-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .nitro-nav {
    justify-content: flex-start;
  }

  .nitro-hero, .nitro-home-hero, .admin-row, .current-home-layout, .featured-tournament-card, .nitro-split, .detail-layout, .portal-grid, .auth-layout, .home-feature-strip, .race-ops-grid, .community-grid, .simulator-hub-layout, .simulator-hub-hero {
    grid-template-columns: 1fr;
  }

  .simulator-hub-hero-actions {
    flex-wrap: wrap;
  }

  .simulator-hub-stats {
    grid-template-columns: 1fr;
  }

  .simulator-hub-panel-head {
    flex-direction: column;
    align-items: stretch;
  }

  .simulator-hub-filters {
    justify-content: flex-start;
  }

  .simulator-event-row {
    grid-template-columns: 1fr;
  }

  .championship-detail-page {
    width: min(100% - 28px, var(--layout-wide));
    margin-top: 22px;
  }

  .championship-hero-content, .championship-detail-layout {
    grid-template-columns: 1fr;
  }

  .championship-hero-panel, .championship-hero-content {
    min-height: auto;
  }

  .championship-signup-card {
    max-width: 360px;
  }

  .championship-info-grid {
    grid-template-columns: 1fr;
  }

  .championship-round-card {
    grid-template-columns: 94px minmax(0, 1fr);
  }

  .championship-round-card img {
    width: 94px;
    height: 64px;
  }

  .championship-round-card em {
    grid-column: 1 / -1;
  }

  .championship-panel-head {
    flex-direction: column;
    align-items: stretch;
  }

  .championship-panel-head > span {
    width: fit-content;
  }

  .championship-calendar-round__head, .championship-calendar-meeting__top {
    flex-direction: column;
    align-items: flex-start;
  }

  .championship-calendar-meeting {
    grid-template-columns: 1fr;
  }

  .championship-calendar-meeting__media, .championship-calendar-meeting__media img {
    min-height: 96px;
    max-height: 160px;
  }

  .championship-calendar-meeting__date {
    text-align: left;
    min-width: 0;
  }

  .championship-calendar-session {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .championship-calendar-session__badges {
    justify-content: flex-start;
  }

  .championship-sticky-panel {
    position: static;
  }

  .simulator-event-action {
    justify-items: start;
  }

  .community-grid > article {
    position: static;
  }

  .nitro-hero {
    min-height: auto;
    padding-top: 64px;
  }

  .nitro-home-hero {
    min-height: auto;
    padding-top: 70px;
  }

  .current-home-layout {
    width: min(100% - 28px, var(--layout-wide));
  }

  .main-slider-card, .promo-card, .promo-card + .promo-card {
    border-radius: 10px;
  }

  .main-slider-card {
    min-height: 0;
  }

  .side-promo-grid {
    grid-template-rows: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tournament-panel-section {
    width: min(100% - 28px, var(--layout-wide));
  }

  .nitro-stats, .nitro-card-grid, .simulator-strip, .community-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pilot-portal-shell, .pilot-portal-grid {
    grid-template-columns: 1fr;
  }

  .pilot-left-rail {
    grid-template-columns: auto 1fr auto;
    align-items: center;
    min-height: auto;
    position: static;
  }

  .pilot-profile-menu {
    min-height: auto;
    position: static;
  }

  .pilot-rail-nav {
    min-width: 0;
    display: flex;
    overflow-x: auto;
  }

  .pilot-profile-menu .pilot-rail-nav {
    display: flex;
    overflow-x: auto;
  }

  .pilot-rail-logout {
    margin-top: 0;
  }

  .pilot-rail-nav a span, .pilot-rail-logout span {
    display: none;
  }

  .pilot-profile-menu .pilot-rail-nav a span, .pilot-profile-menu .pilot-rail-logout span {
    display: inline;
  }

  .pilot-kpi-row {
    margin-top: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-inline: 0;
  }

  .pilot-v4-shell {
    grid-template-columns: 1fr;
  }

  .pilot-v4-sidebar {
    position: static;
  }

  .pilot-v4-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .pilot-v4-status-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pilot-account-grid, .simulator-account-grid, .account-guide-steps {
    grid-template-columns: 1fr;
  }

  .social-login-panel > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .simulator-action-row {
    flex-direction: column;
    align-items: stretch;
  }

  .account-section-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .simulator-account-card__head--wide {
    grid-template-columns: 1fr;
    justify-items: stretch;
  }

  .simulator-connect-row {
    grid-template-columns: 1fr;
  }

  .simulator-connect-main {
    grid-template-columns: 62px minmax(0, 1fr);
  }

  .simulator-card-status {
    justify-items: stretch;
  }

  .simulator-card-status .account-status, .simulator-menu-toggle {
    justify-content: center;
    width: 100%;
  }

  .account-row {
    flex-direction: column;
  }

  .account-row--readonly {
    grid-template-columns: 1fr;
  }

  .account-actions {
    justify-content: stretch;
  }

  .account-icon-button {
    flex: 140px;
  }

  .eligibility-grid, .control-console, .control-grid-2, .competitions-admin-layout {
    grid-template-columns: 1fr;
  }

  .control-sidebar {
    min-height: 0;
    position: static;
  }

  .control-sidebar nav, .control-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .control-filter-bar, .catalog-summary-row, .catalog-summary-counts, .control-form-inline, .control-form-wide, .competitions-overview, .competition-operation-card, .competition-split-tools {
    grid-template-columns: 1fr;
  }

  .competition-operation-card {
    flex-direction: column;
    align-items: stretch;
  }

  .competitions-detail-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .control-list-row {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .control-row-actions {
    justify-content: flex-start;
  }

  .control-table-row {
    grid-template-columns: 1fr;
  }

  .server-panel-head, .server-status-card, .server-status-actions, .server-save-bar {
    flex-direction: column;
    align-items: stretch;
  }

  .server-selector-grid, .server-form-grid, .server-ac-summary, .server-car-picker, .server-car-search-panel, .server-car-results, .server-logs-grid, .server-session-box, .entry-list-head, .entry-list-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .nitro-header, .nitro-footer, .nitro-hero, .nitro-home-hero, .home-feature-strip, .nitro-section, .nitro-stats, .nitro-page-header, .shell {
    width: min(100% - 28px, var(--layout-main));
  }

  .nitro-header {
    width: 100%;
    padding-inline: 14px;
  }

  .sim-brand-bar-inner {
    justify-content: stretch;
    width: calc(100% - 28px);
    min-height: 58px;
    display: grid;
    position: relative;
  }

  .sim-brand-trigger {
    display: flex;
  }

  .sim-brand-list {
    z-index: 42;
    background: #090d15fa;
    border: 1px solid #ffffff1a;
    border-radius: 10px;
    grid-template-columns: 1fr;
    gap: 8px;
    max-height: min(70vh, 520px);
    padding: 10px;
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    overflow-y: auto;
    box-shadow: 0 22px 60px #0000008f;
  }

  .sim-brand-bar.is-open .sim-brand-list {
    display: grid;
  }

  .sim-brand-list a, .sim-brand-loading {
    background: #ffffff09;
    border: 1px solid #ffffff14;
    border-radius: 8px;
    justify-content: flex-start;
    gap: 12px;
    min-height: 48px;
    padding: 7px 10px;
  }

  .sim-brand-list img {
    width: 92px;
    height: 28px;
  }

  .sim-brand-list span {
    font-size: 14px;
    display: block;
  }

  .sim-filter-popover {
    right: -2px;
  }

  .nitro-header-actions, .hero-actions, .nitro-section-header, .feature-panel, .nitro-footer {
    flex-direction: column;
    align-items: stretch;
  }

  .nitro-nav a, .nitro-link-button, .nitro-primary-button, .nitro-outline-button {
    min-height: 40px;
    padding-inline: 10px;
    font-size: 13px;
  }

  .nitro-stats, .nitro-card-grid, .form-grid-2, .simulator-strip, .side-promo-grid, .race-countdown, .community-cards, .detail-grid, .pilot-stats, .pilot-portal-topbar {
    grid-template-columns: 1fr;
  }

  .simulator-hub-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
  }

  .simulator-hub-tabs a {
    flex: none;
  }

  .simulator-hub-hero h1 {
    font-size: 40px;
  }

  .simulator-hub-hero-actions .nitro-primary-button, .simulator-hub-hero-actions .nitro-outline-button, .simulator-event-action .nitro-primary-button {
    justify-content: center;
    width: 100%;
  }

  .simulator-chat-card, .simulator-ad-card {
    min-height: 240px;
  }

  .pilot-portal-topbar {
    display: grid;
  }

  .pilot-status-card {
    min-width: 0;
  }

  .pilot-left-rail {
    margin-inline: -2px;
    padding: 8px;
  }

  .pilot-profile-menu {
    padding: 12px;
  }

  .pilot-profile-menu .pilot-rail-nav {
    display: grid;
  }

  .pilot-kpi-row {
    grid-template-columns: 1fr;
  }

  .pilot-portal-topbar {
    min-height: 210px;
  }

  .pilot-portal-topbar h2 {
    font-size: 34px;
  }

  .pilot-v4-nav, .pilot-v4-status-grid {
    grid-template-columns: 1fr;
  }

  .pilot-v4-header {
    min-height: 170px;
    padding: 18px;
  }

  .pilot-v4-header h2 {
    font-size: 32px;
  }

  .pilot-rail-home, .pilot-left-rail a, .pilot-left-rail button {
    width: 44px;
    height: 44px;
  }

  .timing-head, .timing-row {
    grid-template-columns: 1fr;
  }

  .nitro-card {
    min-height: 220px;
  }

  .main-slider-card {
    min-height: 0;
  }

  .slider-cta {
    font-size: 20px;
    bottom: 18px;
    right: 18px;
  }

  .featured-tournament-card {
    padding: 12px;
  }
}

.nitro-header {
  background: #020306f5;
  border-bottom: 1px solid #e106008f;
  min-height: 96px;
  padding-block: 10px;
  box-shadow: 0 12px 36px #00000075;
}

.nitro-brand {
  width: clamp(174px, 14vw, 238px);
}

.nitro-brand img {
  object-fit: contain;
  width: 100%;
  max-height: 76px;
}

.nitro-nav {
  justify-content: center;
  gap: clamp(8px, 1.1vw, 18px);
}

.nitro-nav a {
  border-radius: 8px;
  min-height: 44px;
  padding-inline: 16px;
  font-size: clamp(13px, .95vw, 16px);
  font-weight: 900;
}

.nitro-nav a:first-child, .nitro-nav a:hover, .nitro-nav a:focus-visible {
  color: #ff332a;
  background: radial-gradient(circle at 50% 100%, #e1060061, #e1060014 54%, #0000 72%);
  border-color: #e106007a;
  outline: none;
  box-shadow: 0 0 24px #e1060057;
}

.nitro-header-actions {
  flex: none;
  gap: 12px;
}

.login-button {
  text-transform: uppercase;
  background: linear-gradient(#f42118, #b80000);
  border-radius: 8px;
  gap: 8px;
  min-height: 54px;
  padding-inline: 24px;
}

.nitro-icon-link {
  color: #f7f7f2;
  opacity: .92;
  border: 1px solid #0000;
  border-radius: 8px;
  place-items: center;
  width: 42px;
  height: 42px;
  text-decoration: none;
  display: inline-grid;
}

.nitro-action-separator {
  background: #ffffff2e;
  width: 1px;
  height: 34px;
}

.cart-pill {
  border-radius: 8px;
  width: 42px;
  height: 42px;
}

.cart-pill:before {
  content: none;
}

.sim-brand-bar {
  background: #05070cf5;
  border-bottom: 1px solid #ffffff14;
}

.sim-brand-bar-inner {
  min-height: 74px;
}

.sim-brand-list {
  justify-content: flex-start;
  padding: 10px 0;
  overflow-x: auto;
}

.sim-brand-list a, .sim-brand-loading {
  background: linear-gradient(#12151deb, #080a10eb);
  border-color: #ffffff1f;
  border-radius: 7px;
  min-height: 48px;
  padding: 0 16px;
}

.sim-brand-list a.is-active, .sim-brand-list a:hover, .sim-brand-list a:focus-visible {
  background: linear-gradient(#e1060040, #11090cf2);
  border-color: #ff271ec7;
}

.nitro-header {
  grid-template-columns: auto minmax(0, 1fr) auto;
  display: grid;
}

.nitro-nav {
  flex-wrap: nowrap;
  align-items: center;
}

.nitro-nav a {
  white-space: nowrap;
  padding-inline: clamp(10px, .9vw, 15px);
}

.nitro-header-actions {
  min-width: max-content;
}

@media (max-width: 1180px) {
  .nitro-header {
    flex-direction: column;
    align-items: flex-start;
    min-height: auto;
    display: flex;
  }
}

@media (max-width: 760px) {
  .nitro-header {
    width: 100%;
    overflow: hidden;
  }

  .nitro-brand {
    width: 220px;
  }

  .nitro-nav {
    flex-wrap: nowrap;
    justify-content: flex-start;
    width: 100%;
    padding-bottom: 6px;
    overflow-x: auto;
  }

  .nitro-nav a {
    flex: none;
  }

  .nitro-header-actions {
    width: 100%;
    min-width: 0;
  }

  .nitro-icon-link, .nitro-action-separator, .cart-pill {
    display: none;
  }

  .sim-brand-bar {
    overflow: hidden;
  }

  .nitro-home-stage, .nitro-home-panels, .nitro-home-stats {
    width: min(100% - 28px, var(--layout-wide));
    grid-template-columns: 1fr;
    overflow: hidden;
  }

  .nitro-home-hero-copy h1 {
    overflow-wrap: anywhere;
    max-width: 100%;
    font-size: 34px;
  }

  .nitro-home-hero-copy h1 span {
    display: block;
  }
}

.nitro-public :where(a, button, div, em, h1, h2, h3, input, li, p, select, small, span, strong, textarea, time) {
  font-style: normal;
  font-family: var(--font-title) !important;
}

.sim-brand-bar {
  overflow: visible;
}

.sim-brand-bar-inner {
  align-items: center;
  min-height: 72px;
  padding-block: 10px;
}

.sim-brand-list {
  flex-wrap: wrap;
  flex: auto;
  justify-content: flex-start;
  gap: 8px;
  padding: 0;
  display: flex;
  overflow: visible;
}

.sim-brand-list a, .sim-brand-loading {
  flex: 0 auto;
  min-width: 64px;
  min-height: 42px;
  padding: 0 13px;
}

.sim-brand-list span, .sim-brand-loading {
  letter-spacing: 0;
  font-size: 14px;
  font-style: normal;
}

.sim-filter-menu {
  margin-left: auto;
}

.sim-brand-bar-inner {
  width: min(var(--layout-wide), calc(100% - var(--layout-gutter)));
  flex-wrap: nowrap;
  display: flex;
}

.sim-brand-list {
  scrollbar-width: thin;
  flex-wrap: nowrap;
  justify-content: flex-start;
  gap: 6px;
  overflow: auto hidden;
}

.sim-brand-list a, .sim-brand-loading {
  flex: 1 1 0;
  min-width: 0;
  padding: 0 8px;
}

.sim-brand-list img, .sim-filter-option img {
  width: min(100%, 78px);
  height: 28px;
}

.sim-brand-list em, .sim-filter-option em {
  min-width: 32px;
  min-height: 24px;
  padding: 0 5px;
  font-size: 13px;
}

.sim-brand-list span, .sim-brand-loading {
  text-overflow: ellipsis;
  min-width: 0;
  font-size: clamp(10px, .72vw, 13px);
  overflow: hidden;
}

.sim-brand-list a.is-logo-broken img {
  display: none;
}

.sim-brand-list a.is-logo-broken span {
  clip: auto;
  width: auto;
  height: auto;
  position: static;
}

.sim-filter-menu {
  flex: none;
}

@media (max-width: 680px) {
  .sim-brand-bar-inner {
    padding-block: 8px;
  }

  .sim-brand-list {
    overflow-y: auto;
  }
}

/*# sourceMappingURL=app_styles_bb79b3df.css.map*/