:root {
  --tt2-red: #f20d0d;
  --tt2-red-dark: #a90000;
  --tt2-panel: #15171c;
  --tt2-panel-soft: #1d2027;
  --tt2-line: #343945;
  --tt2-muted: #a9afbb;
}

/* Na ekranie jazdy Firefox nie powinien ponownie kotwiczyć przewijania ani
   zmieniać dostępnej szerokości po pojawieniu się wyniku sektora/okrążenia. */
html {
  overflow-anchor: none;
  scrollbar-gutter: stable;
}

body.tt2-drive-page {
  max-width: 100%;
  overflow-anchor: none;
  overflow-x: hidden;
}

main.tt2 {
  display: block;
  width: min(1240px, calc(100% - 32px));
  max-width: 1240px;
  min-height: 620px;
  margin: 0 auto;
  padding: 34px 0 76px;
  color: #fff;
}

main.tt2.tt2--drive {
  width: min(1680px, calc(100% - 32px));
  max-width: 1680px;
  min-width: 0;
  overflow-x: clip;
  transition: width .22s ease, max-width .22s ease;
}

main.tt2.tt2--drive.tt2--compact {
  width: min(1240px, calc(100% - 32px));
  max-width: 1240px;
}

/* Firefox potrafi korygować pozycję przewijania po zmianie komunikatu
   nad grą. W obszarze jazdy pozycja widoku ma pozostać nieruchoma. */
main.tt2.tt2--drive,
main.tt2.tt2--drive .tt2__head,
main.tt2.tt2--drive .tt2-drive,
main.tt2.tt2--drive .tt2-stage {
  overflow-anchor: none;
}

main.tt2.tt2--drive .tt2-drive,
main.tt2.tt2--drive .tt2-stage,
main.tt2.tt2--drive .tt2-game-surface,
main.tt2.tt2--drive .tt2-race-hud,
main.tt2.tt2--drive .tt2-race-hud > div,
main.tt2.tt2--drive .tt2-current-sectors,
main.tt2.tt2--drive .sectorRun__row,
main.tt2.tt2--drive .sectorRun__row > span {
  min-width: 0;
}

main.tt2.tt2--drive .tt2-race-hud {
  contain: layout inline-size;
}

main.tt2.tt2--drive .tt2-game-surface canvas {
  display: block;
  height: auto;
  aspect-ratio: 12 / 7;
}

main.tt2.tt2--drive #driveStatus {
  height: 1.5em;
  min-height: 1.5em;
  max-height: 1.5em;
  overflow: hidden;
  line-height: 1.5;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tt2__head,
.tt2-drive-actions,
.tt2-view-control,
.tt2-view-control > div {
  display: flex;
  align-items: center;
}

.tt2__head {
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
}

.tt2__head > div:first-child { min-width: 0; }

.tt2-drive-actions { justify-content: flex-end; gap: 10px; }
.tt2-btn--challenge { border-color:#e10600; color:#fff; background:linear-gradient(135deg,#e10600,#8f0906); box-shadow:0 8px 22px rgba(225,6,0,.16); text-decoration:none; }
.tt2-btn--challenge:hover { border-color:#ff4b45; background:linear-gradient(135deg,#ff2019,#b20b07); }
.tt2-btn--challenge[data-target-challenge="five_laps"] {
  border-color:#7552e8;
  background:linear-gradient(135deg,#7552e8,#3f2a9c);
  box-shadow:0 8px 22px rgba(101,66,220,.28);
}
.tt2-btn--challenge[data-target-challenge="five_laps"]:hover {
  border-color:#a38aff;
  background:linear-gradient(135deg,#8b6cff,#5135bd);
  box-shadow:0 9px 25px rgba(101,66,220,.38);
}
.tt2-btn--challenge.is-loading { pointer-events:none; opacity:.65; }

.tt2-view-control {
  gap: 8px;
  padding: 4px 5px 4px 10px;
  border: 1px solid #343944;
  border-radius: 10px;
  background: #15171c;
}

.tt2-view-control > span {
  color: #858d99;
  font: 700 8px "Orbitron", sans-serif;
  text-transform: uppercase;
}

.tt2-view-control > div {
  gap: 3px;
  padding: 3px;
  border-radius: 7px;
  background: #0e1014;
}

.tt2-view-control button {
  min-height: 29px;
  padding: 5px 8px;
  color: #9299a5;
  border: 0;
  border-radius: 6px;
  background: transparent;
  font: 700 8px "Orbitron", sans-serif;
  cursor: pointer;
}

.tt2-view-control button:hover { color: #fff; }
.tt2-view-control button.is-active {
  color: #fff;
  background: #292c34;
  box-shadow: inset 0 -2px 0 #e10600;
}
.tt2-view-control button i { margin-right: 4px; color: #ff3636; }

.tt2-hero {
  position: relative;
  display: flex;
  min-height: 280px;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  overflow: hidden;
  padding: 42px clamp(26px, 5vw, 64px);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 24px;
  background:
    linear-gradient(100deg, rgba(7,8,11,.98) 0%, rgba(16,18,25,.96) 58%, rgba(52,8,12,.88) 100%),
    repeating-linear-gradient(120deg, transparent 0 28px, rgba(255,255,255,.025) 28px 29px);
  box-shadow: 0 24px 70px rgba(0,0,0,.32);
}

.tt2-hero::before {
  content: "";
  position: absolute;
  inset: auto -70px -160px auto;
  width: 440px;
  height: 440px;
  border: 70px solid rgba(242,13,13,.13);
  border-radius: 50%;
}

.tt2-hero::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(#ff382f, #a60000);
}

.tt2-hero__content {
  position: relative;
  z-index: 2;
  max-width: 760px;
}

.tt2-eyebrow,
.tt2-section-kicker {
  color: #ff4038;
  font-family: "Orbitron", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
}

.tt2-eyebrow i { margin-right: 7px; }

.tt2-hero h1 {
  margin: 10px 0 12px;
  font-family: "Orbitron", sans-serif;
  font-size: clamp(38px, 6vw, 68px);
  line-height: .98;
  letter-spacing: -.04em;
}

.tt2-hero h1 span { color: #fff; }
.tt2-hero h1 { color: var(--tt2-red); }

.tt2-hero p {
  max-width: 720px;
  margin: 0;
  color: #c7cbd3;
  font-size: clamp(14px, 1.8vw, 17px);
  line-height: 1.65;
}

.tt2-features {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 24px;
}

.tt2-features span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  color: #d9dce2;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  font-size: 12px;
}

.tt2-features i { color: #ff3b34; }
.tt2-features b { color: #fff; font-family: "Orbitron", sans-serif; }

.tt2-hero__mark {
  position: relative;
  z-index: 1;
  display: flex;
  flex: 0 0 255px;
  height: 190px;
  align-items: center;
  justify-content: center;
  font-family: "Orbitron", sans-serif;
  font-style: italic;
  filter: drop-shadow(0 18px 30px rgba(0,0,0,.4));
}

.tt2-hero__mark span {
  color: rgba(255,255,255,.13);
  font-size: 86px;
  font-weight: 900;
  letter-spacing: -.12em;
}

.tt2-hero__mark strong {
  color: #f20d0d;
  font-size: 145px;
  line-height: 1;
  text-shadow: 8px 0 0 rgba(255,255,255,.08);
}

.tt2-hero__mark i {
  position: absolute;
  right: 10px;
  bottom: 17px;
  color: #ffe04a;
  font-size: 28px;
  transform: rotate(8deg);
}

.tt2-tracks {
  margin-top: 28px;
  padding: clamp(20px, 4vw, 34px);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 22px;
  background: rgba(14,15,19,.92);
}

.tt2-tracks__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}

.tt2-tracks__head h2 {
  margin: 4px 0 2px;
  font-family: "Orbitron", sans-serif;
  font-size: clamp(24px, 4vw, 36px);
}

.tt2-tracks__head p {
  margin: 0;
  color: var(--tt2-muted);
  font-size: 13px;
}

.tt2-tracks__legend {
  color: var(--tt2-muted);
  font-size: 11px;
}

.tt2-tracks__legend i {
  margin-right: 5px;
  color: #35d477;
  font-size: 8px;
  box-shadow: 0 0 9px rgba(53,212,119,.8);
  border-radius: 50%;
}

.tt2__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(235px, 280px));
  gap: 18px;
  justify-content: center;
}

.tt2-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--tt2-line);
  border-radius: 18px;
  background: linear-gradient(180deg, #1b1e25, #14161b);
  box-shadow: 0 14px 30px rgba(0,0,0,.22);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.tt2-card:hover {
  border-color: rgba(242,13,13,.72);
  box-shadow: 0 18px 40px rgba(0,0,0,.34), 0 0 22px rgba(242,13,13,.1);
  transform: translateY(-5px);
}

.tt2-card__media {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 158px;
  max-height: 158px;
  background: #0b0c0f;
}

.tt2-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(10,11,14,.85));
  pointer-events: none;
}

.tt2-card__media img {
  display: block;
  width: 100%;
  height: 100% !important;
  max-height: 158px;
  object-fit: cover;
  transition: transform .45s ease, filter .45s ease;
}

/* Zgodność ze starszym HTML karty: article > img */
.tt2-card > img {
  display: block;
  width: 100%;
  height: 158px !important;
  max-height: 158px !important;
  object-fit: cover;
}

.tt2-card:hover .tt2-card__media img {
  transform: scale(1.045);
  filter: saturate(1.12);
}

.tt2-card__number {
  position: absolute;
  z-index: 2;
  left: 14px;
  bottom: 9px;
  color: rgba(255,255,255,.82);
  font-family: "Orbitron", sans-serif;
  font-size: 24px;
  font-weight: 700;
}

.tt2-card__status {
  position: absolute;
  z-index: 2;
  top: 12px;
  right: 12px;
  padding: 6px 9px;
  color: #fff;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  background: rgba(6,8,11,.75);
  backdrop-filter: blur(8px);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .1em;
}

.tt2-card__status i {
  margin-right: 4px;
  color: #35d477;
  font-size: 6px;
}

.tt2-card__body {
  display: flex;
  min-height: 174px;
  flex-direction: column;
  padding: 16px;
}

.tt2-card__label {
  color: #ff3a33;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
}

.tt2-card h3 {
  display: -webkit-box;
  min-height: 46px;
  overflow: hidden;
  margin: 6px 0 5px;
  font-family: "Orbitron", sans-serif;
  font-size: 16px;
  line-height: 1.3;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/* Zgodność ze starszym HTML karty: nagłówek h2 */
.tt2-card h2 {
  min-height: 46px;
  margin: 6px 0 12px;
  overflow: hidden;
  font-family: "Orbitron", sans-serif;
  font-size: 16px;
  line-height: 1.3;
}

.tt2-card__body p {
  margin: 0 0 16px;
  color: var(--tt2-muted);
  font-size: 11px;
}

.tt2-card__challenge {
  display: flex;
  align-items: center;
  gap: 8px;
}

.tt2-card__flag {
  width: 22px;
  height: 15px;
  flex: 0 0 22px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 3px;
  object-fit: cover;
}

.tt2-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 0;
  border-radius: 999px;
  padding: 11px 17px;
  color: #fff;
  background: linear-gradient(180deg, var(--tt2-red), var(--tt2-red-dark));
  box-shadow: 0 7px 18px rgba(242,13,13,.22);
  font-family: "Orbitron", sans-serif;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.tt2-btn:hover {
  color: #fff;
  box-shadow: 0 9px 24px rgba(242,13,13,.36);
  filter: brightness(1.08);
  transform: translateY(-1px);
}

.tt2-btn--track {
  width: 100%;
  margin-top: auto;
  justify-content: space-between;
  border-radius: 11px;
}

.tt2-btn:disabled { opacity: .45; cursor: not-allowed; }
.tt2-btn--ghost { background: #292d35; box-shadow: none; }

.tt2-empty {
  display: flex;
  min-height: 170px;
  grid-column: 1 / -1;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 8px;
  padding: 28px;
  color: var(--tt2-muted);
  border: 1px dashed var(--tt2-line);
  border-radius: 16px;
}

.tt2-empty i { color: #f20d0d; font-size: 25px; }
.tt2-empty strong { color: #fff; font-family: "Orbitron", sans-serif; }
.tt2-empty span { font-size: 12px; }

.tt2-modal[hidden] { display: none; }
.tt2-modal {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 16px;
  background: rgba(0,0,0,.82);
  backdrop-filter: blur(6px);
}

.tt2-modal__box {
  width: min(620px, 100%);
  padding: 24px;
  border: 1px solid #404550;
  border-radius: 18px;
  background: #15171b;
  box-shadow: 0 25px 80px #000;
}

.tt2-modal__box h2 {
  margin: 0 0 8px;
  font-family: "Orbitron", sans-serif;
}

.tt2-note { color: var(--tt2-muted); line-height: 1.5; }
.tt2-allocation { display: grid; gap: 10px; margin: 18px 0; }

.tt2-compound {
  display: grid;
  grid-template-columns: 18px 1fr 126px;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  background: #20232a;
}

.tt2-dot { width: 14px; height: 14px; border-radius: 50%; }
.tt2-dot--soft { background: #f22; }
.tt2-dot--medium { background: #ffd633; }
.tt2-dot--hard { background: #fff; }

.tt2-stepper {
  display: grid;
  width: 126px;
  height: 36px;
  grid-template-columns: 34px 1fr 34px;
  overflow: hidden;
  border: 1px solid #4b505c;
  border-radius: 9px;
  background: #101115;
}

.tt2-stepper button {
  display: grid;
  place-items: center;
  padding: 0;
  color: #aeb4bf;
  border: 0;
  background: #242730;
  font-size: 10px;
  cursor: pointer;
  transition: color .16s ease, background .16s ease;
}

.tt2-stepper button:first-child {
  border-right: 1px solid #3a3f49;
}

.tt2-stepper button:last-child {
  border-left: 1px solid #3a3f49;
}

.tt2-stepper button:hover {
  color: #fff;
  background: #e10600;
}

.tt2-stepper button:active {
  background: #a90000;
}

.tt2-stepper input {
  width: 100%;
  min-width: 0;
  padding: 0 3px;
  color: #fff;
  border: 0;
  outline: 0;
  background: transparent;
  font-family: "Orbitron", sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  appearance: textfield;
  -moz-appearance: textfield;
}

.tt2-stepper input::-webkit-inner-spin-button,
.tt2-stepper input::-webkit-outer-spin-button {
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
}

.tt2-total { font-weight: 900; }
.tt2-total.is-bad { color: #ff6b6b; }

.tt2-allocation-hint {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 8px;
  color: var(--tt2-muted);
  font-size: 11px;
  line-height: 1.4;
}

.tt2-allocation-hint i {
  color: #ff3a33;
}

.tt2-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; flex-wrap: wrap; }
.tt2-challenges { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }

.tt2-challenge {
  padding: 20px;
  color: #fff;
  border: 1px solid #3b404b;
  border-radius: 14px;
  background: #20232a;
  text-align: left;
  cursor: pointer;
  transition: border-color .18s ease, transform .18s ease;
}

.tt2-challenge:hover { border-color: #f20d0d; transform: translateY(-2px); }
.tt2-challenge strong { display: block; margin-bottom: 6px; font-family: "Orbitron", sans-serif; font-size: 18px; }
.tt2-challenge span { color: var(--tt2-muted); }

.tt2-tyre-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: 12px 0 10px;
}

.tt2-tyre-tab {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 58px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 3px;
  padding: 8px 4px;
  color: #aeb4bf;
  border: 1px solid #363b46;
  border-radius: 10px;
  background: #20232a;
  font-family: "Orbitron", sans-serif;
  font-size: 9px;
  font-weight: 700;
  cursor: pointer;
  transition: color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease;
}

.tt2-tyre-tab:hover:not(:disabled) {
  color: #fff;
  transform: translateY(-1px);
}

.tt2-tyre-tab:disabled {
  opacity: .35;
  cursor: not-allowed;
}

.tt2-tyre-tab__dot {
  width: 10px;
  height: 10px;
  border: 2px solid currentColor;
  border-radius: 50%;
  box-shadow: 0 0 8px currentColor;
}

.tt2-tyre-tab b {
  position: absolute;
  top: 5px;
  right: 6px;
  display: grid;
  min-width: 17px;
  height: 17px;
  place-items: center;
  padding: 0 4px;
  color: #fff;
  border-radius: 999px;
  background: rgba(0,0,0,.35);
  font-size: 8px;
}

.tt2-tyre-tab.is-soft { color: #ff3636; }
.tt2-tyre-tab.is-medium { color: #ffd43b; }
.tt2-tyre-tab.is-hard { color: #f5f5f5; }
.tt2-tyre-tab.is-soft .tt2-tyre-tab__dot { color: #ff3636; }
.tt2-tyre-tab.is-medium .tt2-tyre-tab__dot { color: #ffd43b; }
.tt2-tyre-tab.is-hard .tt2-tyre-tab__dot { color: #f5f5f5; }

.tt2-tyre-tab.is-active {
  color: #fff;
  border-color: currentColor;
  background: #111318;
  box-shadow: inset 0 -3px 0 currentColor, 0 6px 16px rgba(0,0,0,.22);
}

.tt2-tyre-tab.is-soft.is-active { border-color: #ff3636; box-shadow: inset 0 -3px 0 #ff3636, 0 6px 16px rgba(255,54,54,.14); }
.tt2-tyre-tab.is-medium.is-active { border-color: #ffd43b; box-shadow: inset 0 -3px 0 #ffd43b, 0 6px 16px rgba(255,212,59,.12); }
.tt2-tyre-tab.is-hard.is-active { border-color: #f5f5f5; box-shadow: inset 0 -3px 0 #f5f5f5, 0 6px 16px rgba(255,255,255,.08); }

.tt2-set.is-soft { --tyre-accent: #ff3636; border-left: 3px solid var(--tyre-accent); }
.tt2-set.is-medium { --tyre-accent: #ffd43b; border-left: 3px solid var(--tyre-accent); }
.tt2-set.is-hard { --tyre-accent: #f5f5f5; border-left: 3px solid var(--tyre-accent); }
.tt2-set.is-fitted {
  border-color: var(--tyre-accent, #e10600);
  background: linear-gradient(105deg, rgba(225,6,0,.25), #292c34 58%, rgba(255,255,255,.055));
  box-shadow: inset 4px 0 0 var(--tyre-accent, #e10600), inset 0 0 0 1px rgba(255,255,255,.08), 0 0 16px rgba(225,6,0,.14);
}
.tt2-set.is-medium.is-fitted { background: linear-gradient(105deg, rgba(255,212,59,.18), #292c34 58%, rgba(255,255,255,.055)); }
.tt2-set.is-hard.is-fitted { background: linear-gradient(105deg, rgba(255,255,255,.16), #292c34 58%, rgba(255,255,255,.055)); }
.tt2-set.is-spent,
.tt2-set.is-spent:hover {
  border-color: #6e3434;
  background: linear-gradient(105deg, rgba(95,20,20,.32), #202127 62%);
  box-shadow: none;
  cursor: not-allowed;
  filter: saturate(.55);
  opacity: .68;
}
.tt2-set.is-spent .tt2-set__state { color: #ff625d; text-shadow: none; }
.tt2-set__state { align-self: center; font-family: "Orbitron", sans-serif; font-size: 10px; }
.tt2-set.is-fitted .tt2-set__state { color: var(--tyre-accent, #fff); text-shadow: 0 0 8px currentColor; }
.tt2-set__state i { margin-right: 4px; }

.tt2-sets-empty {
  padding: 22px 12px;
  color: var(--tt2-muted);
  border: 1px dashed #3b404b;
  border-radius: 10px;
  text-align: center;
  font-size: 11px;
}

.tt2-side-nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 16px;
  padding: 4px;
  border: 1px solid #30343e;
  border-radius: 11px;
  background: #101216;
}

.tt2-side-nav__btn {
  display: flex;
  min-width: 0;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px;
  color: #969daa;
  border: 0;
  border-radius: 8px;
  background: transparent;
  font: 700 8px "Orbitron", sans-serif;
  cursor: pointer;
  transition: color .18s ease, background .18s ease, box-shadow .18s ease;
}

.tt2-side-nav__btn:hover { color: #fff; }
.tt2-side-nav__btn i { color: #ff302b; }
.tt2-side-nav__btn.is-active {
  color: #fff;
  background: #252831;
  box-shadow: inset 0 -2px 0 #e10600;
}

.tt2-side-panel[hidden] { display: none !important; }

.tt2-side-panel > h2,
.tt2-setup__head h2 {
  margin: 0;
  padding-left: 10px;
  border-left: 4px solid #ef1717;
  font-family: "Orbitron", sans-serif;
  font-size: 17px;
}

.tt2-setup {
  max-height: 568px;
  padding-right: 4px;
  overflow-y: auto;
  scrollbar-color: #565c68 #17191e;
  scrollbar-width: thin;
}

.tt2-setup__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.tt2-setup-reset {
  padding: 7px 9px;
  color: #b9bfca;
  border: 1px solid #3b404b;
  border-radius: 8px;
  background: #22252c;
  font: 700 9px "Orbitron", sans-serif;
  cursor: pointer;
}

.tt2-setup-reset:hover { color: #fff; border-color: #e10600; }
.tt2-setup-reset i { margin-right: 3px; color: #ff302b; }

.tt2-setup-control {
  margin-bottom: 9px;
  padding: 11px 12px;
  border: 1px solid #323741;
  border-radius: 11px;
  background: #20232a;
}

.tt2-setup-control__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.tt2-setup-control__head label { color: #fff; font-size: 12px; font-weight: 700; }

.tt2-setup-control__head output {
  display: grid;
  min-width: 39px;
  height: 25px;
  place-items: center;
  padding: 0 6px;
  color: #fff;
  border: 1px solid #4a505d;
  border-radius: 7px;
  background: #111318;
  font: 700 10px "Orbitron", sans-serif;
}

.tt2-range {
  width: 100%;
  height: 18px;
  margin: 9px 0 1px;
  outline: 0;
  background: transparent;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

.tt2-range::-webkit-slider-runnable-track {
  height: 5px;
  border-radius: 999px;
  background: linear-gradient(90deg, #e10600 0 var(--range-position, 50%), #3b404a var(--range-position, 50%) 100%);
}

.tt2-range::-moz-range-track { height: 5px; border-radius: 999px; background: #3b404a; }
.tt2-range::-moz-range-progress { height: 5px; border-radius: 999px; background: #e10600; }

.tt2-range::-webkit-slider-thumb {
  width: 17px;
  height: 17px;
  margin-top: -6px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #e10600;
  box-shadow: 0 0 0 3px rgba(225,6,0,.22);
  appearance: none;
  -webkit-appearance: none;
}

.tt2-range::-moz-range-thumb {
  width: 12px;
  height: 12px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #e10600;
  box-shadow: 0 0 0 3px rgba(225,6,0,.22);
}

.tt2-range-labels {
  display: flex;
  justify-content: space-between;
  color: #808794;
  font-size: 8px;
  font-weight: 700;
  text-transform: uppercase;
}

.tt2-setup-effect {
  min-height: 42px;
  margin: 8px 0 0;
  padding-top: 7px;
  color: #b8bec9;
  border-top: 1px solid #323741;
  font-size: 10px;
  line-height: 1.4;
}

.tt2-setup-summary {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #3a3f49;
  border-radius: 11px;
  background: #111318;
}

.tt2-setup-summary h3 { margin: 0 0 10px; color: #fff; font: 700 11px "Orbitron", sans-serif; }

.tt2-setup-metric {
  display: grid;
  grid-template-columns: 95px 1fr 34px;
  align-items: center;
  gap: 7px;
  margin-top: 7px;
  color: #aeb4bf;
  font-size: 9px;
}

.tt2-setup-metric > div {
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: #323741;
}

.tt2-setup-metric i {
  display: block;
  width: 50%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #e10600, #ff554f);
  transition: width .18s ease;
}

.tt2-setup-metric i.is-negative { background: #777e8a; }
.tt2-setup-metric b { color: #d9dde4; text-align: right; }
.tt2-setup-metric b.is-positive { color: #61dc94; }
.tt2-setup-metric b.is-negative { color: #ff7772; }

.tt2-drive { align-items: stretch; }
.tt2-side {
  display: flex;
  height: 100%;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
}

.tt2-side-panel[data-side-panel="tyres"] {
  display: flex;
  min-height: 0;
  flex: 1 1 auto;
  flex-direction: column;
  overflow: hidden;
}

.tt2-side-panel[data-side-panel="tyres"] .tt2-sets {
  align-content: start;
  grid-auto-rows: max-content;
  max-height: none !important;
  min-height: 0;
  padding-right: 6px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  scrollbar-color: #4b5260 #111318;
  scrollbar-width: thin;
  flex: 1 1 0;
}

.tt2-side-panel[data-side-panel="tyres"] .tt2-sets::-webkit-scrollbar {
  width: 9px;
}

.tt2-side-panel[data-side-panel="tyres"] .tt2-sets::-webkit-scrollbar-track {
  border-radius: 999px;
  background: #111318;
  box-shadow: inset 0 0 0 1px #272b34;
}

.tt2-side-panel[data-side-panel="tyres"] .tt2-sets::-webkit-scrollbar-thumb {
  min-height: 42px;
  border: 2px solid #111318;
  border-radius: 999px;
  background: linear-gradient(180deg, #626a79, #3e444f);
}

.tt2-side-panel[data-side-panel="tyres"] .tt2-sets::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #ff3a34, #c80b08);
}

.tt2-side-panel[data-side-panel="tyres"] .tt2-sets::-webkit-scrollbar-button {
  display: none;
  width: 0;
  height: 0;
}

.tt2-side-panel[data-side-panel="tyres"] .tt2-set {
  min-height: 58px;
  align-self: start;
}

.tt2-side .tt2-setup { max-height: none; flex: 1 1 auto; }

.tt2-ranking {
  min-height: 0;
  flex: 1 1 auto;
}

.tt2-ranking-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin: 13px 0 10px;
}

.tt2-ranking-tabs button {
  min-height: 37px;
  padding: 7px 5px;
  color: #969daa;
  border: 1px solid #363b46;
  border-radius: 8px;
  background: #20232a;
  font: 700 9px "Orbitron", sans-serif;
  cursor: pointer;
}

.tt2-ranking-tabs button:hover { color: #fff; border-color: #666d7a; }
.tt2-ranking-tabs button.is-active { color: #fff; border-color: #e10600; background: #111318; box-shadow: inset 0 -2px 0 #e10600; }

.tt2-ranking-list {
  display: grid;
  max-height: 590px;
  gap: 6px;
  padding-right: 3px;
  overflow-y: auto;
  scrollbar-color: #565c68 #17191e;
  scrollbar-width: thin;
}

.tt2-ranking-row {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 7px 9px;
  color: #dce0e7;
  border: 1px solid #343944;
  border-radius: 9px;
  background: #20232a;
}

.tt2-ranking-row.is-me { border-color: #e10600; box-shadow: inset 3px 0 0 #e10600; }
.tt2-ranking-pos { color: #929aa7; font: 700 12px "Orbitron", sans-serif; }
.tt2-ranking-row.is-p1 .tt2-ranking-pos { color: #ffd43b; }
.tt2-ranking-row.is-p2 .tt2-ranking-pos { color: #d7dce4; }
.tt2-ranking-row.is-p3 .tt2-ranking-pos { color: #d9945d; }
.tt2-ranking-player { min-width: 0; }
.tt2-ranking-player b { display: block; overflow: hidden; color: #fff; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.tt2-ranking-player small { display: block; margin-top: 2px; color: #858d99; font-size: 8px; }
.tt2-ranking-tyres {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #b8bec8;
}
.tt2-ranking-tyres::before {
  width: 6px;
  height: 6px;
  border: 1px solid currentColor;
  border-radius: 50%;
  box-shadow: 0 0 5px currentColor;
  content: "";
}
.tt2-ranking-tyres.is-soft { color: #ff4b4b; }
.tt2-ranking-tyres.is-medium { color: #ffd43b; }
.tt2-ranking-tyres.is-hard { color: #f5f5f5; }
.tt2-ranking-tyres.is-mixed { color: #b8bec8; }
.tt2-ranking-time { display: grid; justify-items: end; gap: 3px; }
.tt2-ranking-time strong { color: #fff; font: 700 9px "Orbitron", sans-serif; }
.tt2-ranking-time small { color: #ff5a55; font: 700 7px "Orbitron", sans-serif; }
.tt2-ranking-time small.is-leader { color: #ffd43b; }
.tt2-guest-result-badge {
  display:inline-flex;
  align-items:center;
  margin-left:4px;
  padding:2px 4px;
  border:1px solid rgba(255,190,35,.5);
  border-radius:4px;
  color:#ffc83d;
  background:rgba(255,179,0,.09);
  font:800 6px/1 "Orbitron",sans-serif;
  letter-spacing:.08em;
  vertical-align:middle;
}
.tt2-ranking-empty { padding: 25px 12px; color: #858d99; border: 1px dashed #3b404b; border-radius: 9px; text-align: center; font-size: 10px; line-height: 1.5; }

.tt2-race-hud {
  display: grid;
  grid-template-columns: 145px 100px 90px 125px 155px minmax(0, 1fr);
  gap: 8px;
  margin-bottom: 12px;
  padding: 8px;
  border: 1px solid #343944;
  border-radius: 12px;
  background: #0f1115;
  overflow: hidden;
}

.tt2-race-hud > div {
  min-height: 60px;
  padding: 9px 12px;
  border: 1px solid #2d323c;
  border-radius: 9px;
  background: linear-gradient(145deg, #20232a, #181a20);
}

.tt2-race-hud span {
  display: block;
  margin-bottom: 4px;
  color: #8e96a4;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.tt2-race-hud__main strong,
.tt2-race-hud__position strong,
.tt2-race-hud__speed strong,
.tt2-race-hud__tyre strong,
.tt2-race-hud__leader strong {
  color: #fff;
  font: 700 22px "Orbitron", sans-serif;
}

.tt2-race-hud__main { min-width:0; overflow:hidden; border-bottom-color: #e10600 !important; }
.tt2-race-hud__main #lapTime {
  display:block;
  max-width:100%;
  overflow:hidden;
  font-size:clamp(16px,1.15vw,20px);
  font-variant-numeric:tabular-nums;
  letter-spacing:-.055em;
  line-height:1.15;
  white-space:nowrap;
}
.tt2-race-hud__position strong { color: #ff3934; }
.tt2-race-hud__speed { overflow:hidden; }
.tt2-speed-value {
  display:flex;
  min-width:0;
  align-items:baseline;
  flex-wrap:nowrap;
  line-height:1;
  white-space:nowrap;
}
.tt2-race-hud__speed .tt2-speed-value strong {
  display:block;
  min-width:0;
  flex:0 1 auto;
  color:#fff;
  font-size:clamp(17px,1.2vw,21px);
  font-variant-numeric:tabular-nums;
  line-height:1;
  white-space:nowrap;
}
.tt2-race-hud__speed .tt2-speed-value small {
  display:block;
  margin-left:3px;
  flex:0 0 auto;
  color:#8e96a4;
  font:700 7px/1 "Orbitron",sans-serif;
  white-space:nowrap;
}
.tt2-race-hud__tyre { position: relative; overflow: hidden; }
.tt2-race-hud__tyre::after {
  position: absolute;
  top: 12px;
  right: 10px;
  width: 9px;
  height: 9px;
  border: 2px solid currentColor;
  border-radius: 50%;
  box-shadow: 0 0 8px currentColor;
  content: "";
  opacity: 0;
}
.tt2-race-hud__tyre.is-soft { color: #ff3636; }
.tt2-race-hud__tyre.is-medium { color: #ffd43b; }
.tt2-race-hud__tyre.is-hard { color: #f5f5f5; }
.tt2-race-hud__tyre.is-soft::after,
.tt2-race-hud__tyre.is-medium::after,
.tt2-race-hud__tyre.is-hard::after { opacity: 1; }
.tt2-race-hud__tyre strong { padding-right: 16px; color: currentColor; font-size: 12px; }
.tt2-race-hud__tyre small { display: block; margin-top: 3px; color: #aab1bd; font-size: 8px; }
.tt2-race-hud__leader strong { display:block; font-size:12px; color:#fff; white-space:nowrap; }
.tt2-race-hud__leader small { display:block; margin-top:3px; color:#8e96a4; font:700 7px "Orbitron",sans-serif; white-space:nowrap; }
.tt2-race-hud__leader small.is-leader { color:#ffd43b; }
.tt2-race-hud__leader small.is-behind { color:#ff5a55; }

.tt2-five-progress {
  grid-column: 1 / -1;
  min-height: auto !important;
  padding: 8px 12px 10px !important;
}
.tt2-five-progress[hidden] { display: none !important; }
.tt2-five-progress__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.tt2-five-progress__head span { margin: 0; }
.tt2-five-progress__head strong { color: #fff; font: 700 9px "Orbitron", sans-serif; }
.tt2-five-progress__track {
  position: relative;
  display: grid;
  height: 18px;
  grid-template-columns: repeat(5, 1fr);
  align-items: center;
  margin-top: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #0d0f13;
  box-shadow: inset 0 0 0 1px #303540;
}
.tt2-five-progress__track::before,
.tt2-five-progress__track i { position: absolute; inset: 0 auto 0 0; border-radius: inherit; content: ""; }
.tt2-five-progress__track::before { width: 100%; background: linear-gradient(90deg, transparent 19.6%, #343944 20%, transparent 20.4%, transparent 39.6%, #343944 40%, transparent 40.4%, transparent 59.6%, #343944 60%, transparent 60.4%, transparent 79.6%, #343944 80%, transparent 80.4%); }
.tt2-five-progress__track i { width: 0; background: linear-gradient(90deg, #a90000, #ff2721); box-shadow: 0 0 12px rgba(242,13,13,.45); transition: width .3s ease; }
.tt2-five-progress__track b { position: relative; z-index: 1; color: #cbd0d8; font: 700 8px "Orbitron", sans-serif; text-align: center; }

.tt2-current-sectors {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}

.tt2-current-sectors .sectorRun__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
  min-height: 39px;
  height: 39px;
  overflow: hidden;
  padding: 6px 9px;
  color: #aeb4bf;
  border-radius: 6px;
  background: #111318;
  font-size: 10px;
}

.tt2-current-sectors .sectorRun__row > span:first-child { margin: 0; color: #ff3934; }
.tt2-current-sectors .sectorRun__row > span:last-child { display: flex; min-width: 0; max-width: calc(100% - 22px); align-items: flex-end; flex-direction: column; gap: 2px; overflow: hidden; }
.tt2-current-sectors .sectorBadge { display:block; max-width:100%; overflow:hidden; color: #fff; font-family: "Orbitron", sans-serif; font-size: 11px; text-overflow:ellipsis; white-space:nowrap; }
.tt2-current-sectors .sectorBadge.is-better-leader { color: #c36cff; text-shadow: 0 0 9px rgba(195,108,255,.6); }
.tt2-current-sectors .sectorBadge.is-better-pb { color: #55e58d; text-shadow: 0 0 8px rgba(85,229,141,.45); }
.tt2-current-sectors .sectorBadge.is-slower { color: #ffd43b; }
.tt2-current-sectors .sectorRun__delta {
  display: block;
  max-width: 100%;
  overflow: hidden;
  margin: 0;
  color: #ff6661;
  font: 700 8px "Orbitron", sans-serif;
  letter-spacing: 0;
  text-transform: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tt2-current-sectors .sectorRun__delta.is-good { color: #55e58d; }
.tt2-current-sectors .sectorRun__delta.is-bad { color: #ff6661; }

.tt2-lap-history {
  margin-top: 15px;
  border: 1px solid #343944;
  border-radius: 12px;
  background: #111318;
  overflow: hidden;
}

.tt2-lap-history__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 15px;
  border-bottom: 1px solid #30343d;
}

.tt2-lap-history__head h2 {
  margin: 0;
  padding-left: 10px;
  border-left: 4px solid #e10600;
  color: #fff;
  font: 700 14px "Orbitron", sans-serif;
}

.tt2-lap-history__head span { color: #969daa; font-size: 10px; }
.tt2-lap-history-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 9px 12px;
  border-bottom: 1px solid #30343d;
  background: #16181e;
}
.tt2-lap-history-tabs button {
  padding: 7px 11px;
  color: #929aa7;
  border: 1px solid #373c47;
  border-radius: 8px;
  background: #22252c;
  font: 700 8px "Orbitron", sans-serif;
  cursor: pointer;
}
.tt2-lap-history-tabs button:hover { color: #fff; }
.tt2-lap-history-tabs button.is-active { color: #fff; border-color: #e10600; background: #111318; box-shadow: inset 0 -2px 0 #e10600; }
.tt2-lap-history__table-wrap { overflow-x: auto; }
.tt2-lap-history__table { width: 100%; border-collapse: collapse; color: #dce0e7; font-size: 10px; }
.tt2-lap-history__table th,
.tt2-lap-history__table td { padding: 10px 12px; border-bottom: 1px solid #282c34; text-align: right; white-space: nowrap; }
.tt2-lap-history__table th { color: #858d9a; background: #191b21; font-size: 8px; letter-spacing: .04em; text-transform: uppercase; }
.tt2-lap-history__table th:first-child,
.tt2-lap-history__table td:first-child { text-align: left; }
.tt2-lap-history__table tbody tr:last-child td { border-bottom: 0; }
.tt2-lap-history__table tbody tr:not(.tt2-lap-history__empty):hover { background: #1b1e25; }
.tt2-lap-history__table td strong { color: #fff; font-family: "Orbitron", sans-serif; }
.tt2-lap-history__table .tt2-sector-result.is-better-leader { color: #c36cff; font-weight: 700; }
.tt2-lap-history__table .tt2-sector-result.is-better-pb { color: #55e58d; font-weight: 700; }
.tt2-lap-history__table .tt2-sector-result.is-slower { color: #ffd43b; }
.tt2-lap-history__table .tt2-lap-position { color: #ff4a45; font: 700 10px "Orbitron", sans-serif; }
.tt2-lap-history__table .tt2-attempt-number { color: #ff4a45; font: 700 9px "Orbitron", sans-serif; }
.tt2-lap-history__table .tt2-attempt-total { background: rgba(225,6,0,.07); }
.tt2-lap-history__table .tt2-attempt-total strong { color: #fff; text-shadow: 0 0 9px rgba(255,255,255,.16); }
.tt2-lap-history__table .tt2-attempt-row:hover .tt2-attempt-total { background: rgba(225,6,0,.13); }
.tt2-lap-history__empty td { padding: 18px; color: #7f8794; text-align: center !important; }

.tt2-lap-pagination {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 9px 12px;
  border-top: 1px solid #282c34;
  background: #15171c;
}

.tt2-lap-pagination[hidden] { display: none; }
.tt2-lap-pagination span { color: #8f97a4; font-size: 9px; }
.tt2-lap-pagination span b { color: #fff; }
.tt2-lap-pagination button {
  display: grid;
  width: 28px;
  height: 25px;
  place-items: center;
  padding: 0;
  color: #fff;
  border: 1px solid #414651;
  border-radius: 7px;
  background: #242730;
  cursor: pointer;
}
.tt2-lap-pagination button:hover:not(:disabled) { border-color: #e10600; background: #e10600; }
.tt2-lap-pagination button:disabled { opacity: .3; cursor: not-allowed; }

.tt2-lap-bubble {
  position: fixed;
  left: 24px;
  bottom: 24px;
  z-index: 1200;
  width: min(430px, calc(100vw - 32px));
  padding: 16px 18px 15px 21px;
  color: #fff;
  border: 1px solid #3a404b;
  border-radius: 15px;
  background:
    radial-gradient(130% 160% at 5% 0%, rgba(255,255,255,.11), transparent 48%),
    linear-gradient(145deg, rgba(29,32,39,.97), rgba(12,14,18,.98));
  box-shadow: 0 18px 55px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.05);
  opacity: 0;
  transform: translateX(-18px) translateY(8px) scale(.97);
  pointer-events: none;
  transition: opacity .2s ease, transform .25s cubic-bezier(.2,.8,.2,1), border-color .2s ease;
  backdrop-filter: blur(10px);
}

.tt2-lap-bubble.is-show { opacity: 1; transform: translateX(0) translateY(0) scale(1); pointer-events: auto; }
.tt2-lap-bubble::before {
  content: "";
  position: absolute;
  top: 11px;
  bottom: 11px;
  left: 0;
  width: 4px;
  border-radius: 0 4px 4px 0;
  background: #e10600;
  box-shadow: 0 0 14px rgba(225,6,0,.55);
}
.tt2-lap-bubble.is-pb { border-color: rgba(195,108,255,.48); }
.tt2-lap-bubble.is-pb::before { background: #c36cff; box-shadow: 0 0 16px rgba(195,108,255,.75); }
.tt2-lap-bubble.is-good { border-color: rgba(85,229,141,.42); }
.tt2-lap-bubble.is-good::before { background: #55e58d; box-shadow: 0 0 16px rgba(85,229,141,.65); }
.tt2-lap-bubble.is-bad { border-color: rgba(255,102,97,.38); }
.tt2-lap-bubble.is-bad::before { background: #ff6661; box-shadow: 0 0 16px rgba(255,102,97,.6); }

.tt2-lap-bubble .lapBubble__close {
  position: absolute;
  top: 10px;
  right: 10px;
  display: grid;
  width: 27px;
  height: 27px;
  place-items: center;
  padding: 0;
  color: #aeb5c0;
  border: 1px solid #3d424d;
  border-radius: 8px;
  background: #22252c;
  cursor: pointer;
}
.tt2-lap-bubble .lapBubble__close:hover { color: #fff; border-color: #e10600; }
.tt2-lap-bubble .lapBubble__title { padding-right: 34px; color: #dfe3ea; font: 700 11px "Orbitron", sans-serif; letter-spacing: .04em; }
.tt2-lap-bubble .lapBubble__time { margin-top: 8px; color: #fff; font: 700 25px "Orbitron", sans-serif; }
.tt2-lap-bubble .lapBubble__delta { margin-top: 7px; color: #aeb5c0; font-size: 11px; }
.tt2-lap-bubble .lapBubble__delta b { color: #ff7772; font-family: "Orbitron", sans-serif; }
.tt2-lap-bubble.is-pb .lapBubble__delta b,
.tt2-lap-bubble.is-good .lapBubble__delta b { color: #55e58d; }
.tt2-lap-bubble .lapBubble__delta.is-good b { color: #55e58d; }
.tt2-lap-bubble .lapBubble__delta.is-bad b { color: #ff7772; }
.tt2-lap-bubble .tt2-lap-comparison,
.tt2-lap-bubble .tt2-attempt-comparison { padding: 7px 9px; border: 1px solid #303540; border-radius: 8px; background: rgba(8,10,13,.45); }
.tt2-lap-bubble .tt2-lap-comparison small,
.tt2-lap-bubble .tt2-attempt-comparison small { color: #858d99; font-size: 9px; }

@media (max-width: 560px) {
  .tt2-lap-bubble { right: 16px; bottom: 16px; left: 16px; width: auto; }
}

main.tt2.tt2--drive.tt2--compact .tt2-race-hud {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
main.tt2.tt2--drive.tt2--compact .tt2-race-hud__sectors { grid-column: 1 / -1; }
main.tt2.tt2--drive.tt2--compact .tt2-stage,
main.tt2.tt2--drive.tt2--compact .tt2-game-surface,
main.tt2.tt2--drive.tt2--compact .tt2-current-sectors,
main.tt2.tt2--drive.tt2--compact .sectorRun__row {
  max-width: 100%;
  overflow-x: hidden;
}
main.tt2.tt2--drive.tt2--compact .tt2-lap-bubble {
  right: 16px;
  left: 16px;
  width: auto;
  max-width: 430px;
  transform: translateY(8px) scale(.97);
}
main.tt2.tt2--drive.tt2--compact .tt2-lap-bubble.is-show {
  transform: translateY(0) scale(1);
}

@media (max-width: 1050px) {
  .tt2-race-hud { grid-template-columns: 1fr 1fr; }
  main.tt2.tt2--drive.tt2--compact .tt2-race-hud { grid-template-columns: 1fr 1fr; }
  .tt2-race-hud__sectors { grid-column: 1 / -1; }
}

@media (max-width: 850px) {
  body.tt2-touch-driving {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }
  body.tt2-touch-driving main.tt2.tt2--drive {
    width: calc(100% - 24px);
    max-width: calc(100% - 24px);
  }
  .tt2-side { height: auto; }
  .tt2-side { overflow: visible; }
  .tt2-side-panel[data-side-panel="tyres"] { overflow: visible; }
  .tt2-side-panel[data-side-panel="tyres"] .tt2-sets {
    max-height: min(643px, 68vh) !important;
    flex-basis: auto;
  }
}

@media (max-width: 900px) {
  main.tt2,
  main.tt2.tt2--drive { width: min(100% - 24px, 1240px); padding-top: 20px; }
  .tt2-hero { min-height: 0; }
  .tt2-hero__mark { flex-basis: 185px; transform: scale(.8); }
  .tt2__head { align-items: flex-start; flex-direction: column; }
  .tt2-drive-actions { width: 100%; justify-content: space-between; }
}

@media (max-width: 680px) {
  .tt2-hero { padding: 30px 24px; }
  .tt2-hero__mark { display: none; }
  .tt2-tracks { padding: 20px 14px; }
  .tt2-tracks__head { display: block; }
  .tt2-tracks__legend { margin-top: 10px; }
  .tt2__grid { grid-template-columns: repeat(auto-fit, minmax(220px, 280px)); }
  .tt2-challenges { grid-template-columns: 1fr; }
  .tt2-drive-actions { align-items: stretch; flex-direction: column; }
  .tt2-view-control { justify-content: space-between; }
}

@media (max-width: 430px) {
  main.tt2,
  main.tt2.tt2--drive { width: calc(100% - 16px); }
  .tt2-hero h1 { font-size: 38px; }
  .tt2-features { display: grid; }
  .tt2__grid { grid-template-columns: 1fr; }
  .tt2-card__media,
  .tt2-card__media img,
  .tt2-card > img {
    height: 150px !important;
    max-height: 150px !important;
  }
  .tt2-compound { grid-template-columns: 16px 1fr 112px; font-size: 12px; }
  .tt2-stepper { width: 112px; grid-template-columns: 31px 1fr 31px; }
}

/* Centrum Time Trial 2 */
.tt2-main-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 28px 0 18px;
  padding: 8px;
  border: 1px solid #292e37;
  border-radius: 15px;
  background: #101217;
}
.tt2-main-tabs button {
  display: grid;
  grid-template-columns: 30px 1fr;
  column-gap: 8px;
  padding: 13px 16px;
  color: #8f97a5;
  text-align: left;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  cursor: pointer;
}
.tt2-main-tabs button > i { grid-row: 1 / 3; align-self: center; color: #ff2420; font-size: 17px; text-align: center; }
.tt2-main-tabs button > span { color: #fff; font: 700 13px "Orbitron",sans-serif; }
.tt2-main-tabs button > small { margin-top: 3px; font-size: 10px; }
.tt2-main-tabs button:hover,.tt2-main-tabs button.is-active { border-color: #424854; background: #20232b; }
.tt2-main-tabs button.is-active { box-shadow: inset 0 -3px 0 #e10600; }
.tt2-main-panel[hidden],.tt2-dashboard-panel[hidden] { display: none !important; }

.tt2-dashboard,.tt2-info { padding: 28px; border: 1px solid #292e37; border-radius: 18px; background: linear-gradient(145deg,#111318,#0c0e12); }
.tt2-dashboard__head,.tt2-info__intro { display: flex; justify-content: space-between; align-items: end; gap: 18px; margin-bottom: 20px; }
.tt2-dashboard__head h2,.tt2-info__intro h2 { margin: 3px 0; color: #fff; font: 700 27px "Orbitron",sans-serif; }
.tt2-dashboard__head p,.tt2-info__intro p { margin: 0; color: #9ba3af; font-size: 12px; }
.tt2-dashboard-refresh { padding: 10px 13px; color: #fff; border: 1px solid #3a404b; border-radius: 9px; background: #22252d; cursor: pointer; }
.tt2-dashboard-refresh:hover { border-color: #e10600; }
.tt2-dashboard-tabs { display: flex; gap: 7px; margin-bottom: 18px; padding: 6px; border: 1px solid #2e333d; border-radius: 12px; background: #0b0d11; }
.tt2-dashboard-tabs button { flex: 1; padding: 11px; color: #9098a5; border: 1px solid transparent; border-radius: 8px; background: transparent; font: 700 10px "Orbitron",sans-serif; cursor: pointer; }
.tt2-dashboard-tabs button.is-active { color: #fff; border-color: #444a55; background: #22252d; box-shadow: inset 0 -2px 0 #e10600; }
.tt2-dashboard-loading,.tt2-dashboard-empty { padding: 45px 20px; color: #8f97a4; text-align: center; }

.tt2-kpis { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; margin-bottom: 15px; }
.tt2-kpi { min-height: 94px; padding: 15px; border: 1px solid #303641; border-radius: 12px; background: #191c22; }
.tt2-kpi small { display: block; color: #858e9c; font-size: 9px; text-transform: uppercase; }
.tt2-kpi strong { display: block; margin-top: 8px; color: #fff; font: 700 23px "Orbitron",sans-serif; }
.tt2-kpi.is-accent strong { color: #ff2823; }
.tt2-data-card { overflow: hidden; border: 1px solid #303641; border-radius: 13px; background: #14171c; }
.tt2-data-card__head { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:14px 16px; border-bottom:1px solid #303641; }
.tt2-data-card__head h3 { margin:0; color:#fff; font:700 14px "Orbitron",sans-serif; }
.tt2-data-card__head small { color:#8d96a4; }
.tt2-ranking-table { width:100%; border-collapse:collapse; color:#dce1e8; font-size:11px; }
.tt2-ranking-table th,.tt2-ranking-table td { padding:11px 13px; border-bottom:1px solid #292e37; text-align:center; white-space:nowrap; }
.tt2-ranking-table th { color:#7f8896; background:#191c22; font-size:8px; text-transform:uppercase; }
.tt2-ranking-table th:nth-child(2),.tt2-ranking-table td:nth-child(2) { text-align:left; }
.tt2-ranking-table tr.is-me { background:rgba(225,6,0,.11); }
.tt2-ranking-table tr.is-me td:first-child { box-shadow:inset 3px 0 #e10600; }
.tt2-rank { color:#ff3630; font:700 12px "Orbitron",sans-serif; }

.tt2-track-dashboard-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:14px; }
.tt2-track-stat-card { overflow:hidden; border:1px solid #303641; border-radius:15px; background:#16191f; }
.tt2-track-stat-card__cover { position:relative; display:block; height:145px; background:#090b0e; text-decoration:none; }
.tt2-track-stat-card__cover img { width:100%; height:100%; object-fit:cover; opacity:.78; }
.tt2-track-stat-card__cover::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#16191f,transparent 70%); }
.tt2-track-stat-card__cover h3 { position:absolute; z-index:1; right:16px; bottom:12px; left:16px; margin:0; color:#fff; font:700 17px "Orbitron",sans-serif; }
.tt2-track-stat-card__body { padding:14px; }
.tt2-track-meta { display:grid; grid-template-columns:repeat(2,1fr); gap:7px; margin-bottom:12px; }
.tt2-track-meta span { padding:8px; color:#9ba4b1; border:1px solid #2d323b; border-radius:8px; background:#111319; font-size:9px; }
.tt2-track-meta b { display:block; margin-top:3px; color:#fff; font-size:11px; }
.tt2-podiums { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.tt2-podium h4 { margin:0 0 6px; color:#ff332d; font:700 9px "Orbitron",sans-serif; text-transform:uppercase; }
.tt2-podium ol { margin:0; padding:0; list-style:none; }
.tt2-podium li { display:grid; grid-template-columns:19px 1fr auto; gap:5px; padding:6px 0; color:#dce1e7; border-bottom:1px solid #292e36; font-size:9px; }
.tt2-podium li b { color:#ffd43b; }.tt2-podium li time { color:#fff; font-family:"Orbitron",sans-serif; }
.tt2-podiums + .tt2-track-meta { margin-top:12px; }

.tt2-stats-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.tt2-stats-grid .tt2-data-card { padding:16px; }
.tt2-stats-grid .tt2-data-card--wide { grid-column:1 / -1; }
.tt2-stats-grid h3 { margin:0 0 12px; color:#fff; font:700 14px "Orbitron",sans-serif; }
.tt2-donut-wrap { display:grid; grid-template-columns:150px 1fr; align-items:center; gap:20px; }
.tt2-donut { display:grid; width:142px; aspect-ratio:1; place-items:center; border-radius:50%; background:var(--chart); box-shadow:0 0 30px rgba(0,0,0,.35); }
.tt2-donut::after { content:""; grid-area:1/1; width:83px; aspect-ratio:1; border-radius:50%; background:#171a20; }
.tt2-donut b { z-index:1; grid-area:1/1; color:#fff; font:700 18px "Orbitron",sans-serif; }
.tt2-chart-legend { display:grid; gap:7px; }
.tt2-chart-legend span { display:grid; grid-template-columns:9px 1fr auto; gap:7px; align-items:center; color:#aeb5c0; font-size:10px; }
.tt2-chart-legend i { width:8px; height:8px; border-radius:50%; background:var(--color); }
.tt2-chart-legend b { color:#fff; }
.tt2-rival-score { display:flex; gap:10px; margin-bottom:12px; }
.tt2-rival-score span { flex:1; padding:10px; border:1px solid #303641; border-radius:9px; color:#929ba8; text-align:center; }
.tt2-rival-score b { display:block; margin-top:3px; color:#fff; font:700 17px "Orbitron",sans-serif; }
.tt2-mini-list { display:grid; gap:7px; }
.tt2-mini-list > div { display:grid; grid-template-columns:1fr auto; gap:10px; padding:9px 10px; border:1px solid #2d323b; border-radius:8px; background:#111319; color:#adb5c1; font-size:10px; }
.tt2-mini-list b { color:#fff; }.tt2-mini-list .is-good { color:#55e58d; }.tt2-mini-list .is-bad { color:#ff6f69; }
.tt2-setup-winners { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:8px; }
.tt2-setup-winner { padding:11px; border:1px solid #303641; border-radius:9px; background:#111319; }
.tt2-setup-winner strong { display:block; color:#fff; font-size:11px; }.tt2-setup-winner small { color:#919aa7; }
.tt2-setup-values { display:flex; flex-wrap:wrap; gap:5px; margin-top:8px; }
.tt2-setup-values span { padding:5px 7px; color:#dce1e8; border-radius:6px; background:#242832; font-size:8px; }

.tt2-info__intro { display:block; }
.tt2-info-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.tt2-info-card { display:grid; grid-template-columns:48px 1fr; gap:14px; padding:20px; border:1px solid #303641; border-radius:14px; background:#181b21; }
.tt2-info-card > i { display:grid; width:44px; height:44px; place-items:center; color:#fff; border-radius:11px; background:#e10600; box-shadow:0 0 22px rgba(225,6,0,.3); }
.tt2-info-card span { color:#ff302a; font:700 9px "Orbitron",sans-serif; }
.tt2-info-card h3 { margin:5px 0 8px; color:#fff; font:700 17px "Orbitron",sans-serif; }
.tt2-info-card p { margin:0; color:#a9b0bb; font-size:11px; line-height:1.65; }
.tt2-info-card--wide { grid-column:1 / -1; }
.tt2-tyre-guide,.tt2-setup-guide { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:14px; }
.tt2-tyre-guide b,.tt2-setup-guide span { padding:11px; border:1px solid #343a45; border-radius:9px; background:#111319; color:#fff; font-size:10px; }
.tt2-tyre-guide b { border-top:3px solid currentColor; }.tt2-tyre-guide .is-soft{color:#ff3933}.tt2-tyre-guide .is-medium{color:#ffd43b}.tt2-tyre-guide .is-hard{color:#fff}
.tt2-tyre-guide small,.tt2-setup-guide small { display:block; margin-top:5px; color:#969eaa; font-weight:400; line-height:1.45; }
.tt2-wear-estimate { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-top:10px; padding:10px; border:1px solid #343a45; border-radius:10px; background:#111319; }
.tt2-wear-estimate > strong { grid-column:1/-1; color:#fff; font-size:10px; }
.tt2-wear-estimate > span { padding:7px 8px; border-left:3px solid currentColor; border-radius:6px; background:#1d2027; font-size:9px; }
.tt2-wear-estimate .is-soft{color:#ff3933}.tt2-wear-estimate .is-medium{color:#ffd43b}.tt2-wear-estimate .is-hard{color:#fff}
.tt2-setup-guide { grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }.tt2-setup-guide i { margin-right:6px; color:#ff302a; }

@media(max-width:900px){.tt2-kpis{grid-template-columns:repeat(2,1fr)}.tt2-stats-grid{grid-template-columns:1fr}.tt2-stats-grid .tt2-data-card--wide{grid-column:auto}.tt2-main-tabs{grid-template-columns:1fr}.tt2-podiums,.tt2-info-grid{grid-template-columns:1fr}.tt2-info-card--wide{grid-column:auto}.tt2-setup-guide,.tt2-tyre-guide{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.tt2-dashboard,.tt2-info{padding:17px 12px}.tt2-dashboard__head{align-items:flex-start;flex-direction:column}.tt2-dashboard-tabs{overflow-x:auto}.tt2-dashboard-tabs button{min-width:120px}.tt2-kpis{grid-template-columns:1fr 1fr}.tt2-track-dashboard-grid{grid-template-columns:1fr}.tt2-donut-wrap{grid-template-columns:1fr;justify-items:center}.tt2-info-card{grid-template-columns:1fr}.tt2-setup-guide,.tt2-tyre-guide,.tt2-wear-estimate{grid-template-columns:1fr}.tt2-wear-estimate>strong{grid-column:auto}}

.tt2-inline-flag { width:22px; height:15px; margin-right:7px; object-fit:cover; border:1px solid rgba(255,255,255,.18); border-radius:3px; vertical-align:middle; }
.tt2-track-stat-card__cover h3 .tt2-inline-flag {
  display:inline-block;
  width:25px;
  min-width:25px;
  max-width:25px;
  height:17px;
  min-height:17px;
  max-height:17px;
  margin-right:8px;
  object-fit:cover;
  opacity:1;
  vertical-align:-2px;
}
.tt2-tyre-best-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.tt2-tyre-best { padding:13px; border:1px solid #303641; border-radius:10px; background:#111319; }
.tt2-tyre-best h4 { margin:0 0 10px; color:#fff; font:700 11px "Orbitron",sans-serif; }
.tt2-tyre-stat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.tt2-tyre-stat { padding:9px; border:1px solid #343a45; border-radius:8px; background:#1d2027; }
.tt2-tyre-stat span { display:block; color:#9ca5b2; font-size:8px; }.tt2-tyre-stat strong { display:block; margin:3px 0 7px; color:#fff; font:700 17px "Orbitron",sans-serif; }
.tt2-tyre-stat small { display:block; margin-top:7px; color:#7f8895; font-size:7px; }
.tt2-tyre-stat > i { display:block; height:4px; overflow:hidden; border-radius:4px; background:#343944; }.tt2-tyre-stat > i b { display:block; height:100%; background:#e10600; }
.tt2-tyre-stat.is-medium > i b { background:#ffd43b; }.tt2-tyre-stat.is-hard > i b { background:#f5f5f5; }
.tt2-tyre-result-list { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.tt2-tyre-result-list > span { padding:6px 8px; color:#aeb6c1; border:1px solid #2e333c; border-radius:7px; background:#181b21; font-size:9px; }
.tt2-tyre-result-list b { margin-left:5px; color:#fff; }
.tt2-bar-chart { display:grid; gap:8px; }
.tt2-bar-row { display:grid; grid-template-columns:minmax(110px,1fr) minmax(90px,1.6fr) 38px; gap:9px; align-items:center; color:#aeb6c1; font-size:9px; }
.tt2-bar-row > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.tt2-bar-row > span b { margin-right:6px; color:#ff3832; }.tt2-bar-row small { display:block; color:#747d8a; }
.tt2-bar-row > i { height:7px; overflow:hidden; border-radius:8px; background:#2c313b; }.tt2-bar-row > i b { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#e10600,#ff5b55); box-shadow:0 0 9px rgba(225,6,0,.38); }
.tt2-bar-row > strong { color:#fff; text-align:right; font:700 10px "Orbitron",sans-serif; }
.tt2-challenge-chart { display:grid; grid-template-columns:1fr 2fr 1fr; gap:12px; align-items:center; min-height:142px; }
.tt2-challenge-chart > div { text-align:center; }.tt2-challenge-chart > div b { display:block; color:#fff; font:700 22px "Orbitron",sans-serif; }.tt2-challenge-chart > div span { color:#929ba8; font-size:9px; }
.tt2-challenge-chart > i { display:block; height:14px; overflow:hidden; border:1px solid #3a404a; border-radius:12px; background:#545b67; }.tt2-challenge-chart > i b { display:block; height:100%; background:#e10600; }
.tt2-competition-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tt2-participation-summary { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-bottom:12px; }
.tt2-participation-summary span { padding:8px; color:#858e9b; border:1px solid #303641; border-radius:8px; background:#111319; font-size:8px; text-transform:uppercase; }
.tt2-participation-summary b { display:block; margin-top:4px; color:#fff; font-size:10px; text-transform:none; }
.tt2-community-tyre-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.tt2-community-tyre { padding:12px; border:1px solid #303641; border-radius:10px; background:#111319; }
.tt2-community-tyre h4 { margin:0 0 10px; color:#fff; font:700 10px "Orbitron",sans-serif; }
@media(max-width:700px){.tt2-tyre-best-grid,.tt2-competition-list,.tt2-community-tyre-grid{grid-template-columns:1fr}.tt2-bar-row{grid-template-columns:minmax(90px,1fr) 1fr 34px}.tt2-tyre-stat-grid{grid-template-columns:1fr}}

/* Dashboard społeczności TT2 Special */
.tt2-community-dashboard { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr); gap:14px; }
.tt2-community-card { min-width:0; padding:18px; }
.tt2-community-card > h3 { margin:0 0 16px; color:#fff; font:700 14px "Orbitron",sans-serif; }
.tt2-community-card--wide,.tt2-community-tyres { grid-column:1/-1; }
.tt2-community-share { display:grid; grid-template-columns:138px minmax(0,1fr); gap:22px; align-items:center; }
.tt2-donut--community { width:128px; }
.tt2-donut--community::after { width:76px; }
.tt2-donut b small { display:block; margin-top:2px; color:#7f8895; font:600 7px "Montserrat",sans-serif; text-transform:uppercase; }
.tt2-community-track-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 15px; }
.tt2-community-track-row { display:grid; grid-template-columns:minmax(105px,1fr) minmax(45px,.65fr) 28px; gap:8px; align-items:center; min-width:0; padding:3px 0; }
.tt2-community-track-row > span { display:flex; min-width:0; align-items:center; gap:7px; color:#bdc4ce; }
.tt2-community-track-row > span b { overflow:hidden; font:600 9px "Montserrat",sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.tt2-community-track-row .tt2-inline-flag { width:19px; min-width:19px; height:13px; margin:0; }
.tt2-community-track-row > i,.tt2-community-bar-row > i { height:6px; overflow:hidden; border-radius:999px; background:#292e37; }
.tt2-community-track-row > i b { display:block; height:100%; border-radius:inherit; background:var(--bar,#e10600); box-shadow:0 0 7px color-mix(in srgb,var(--bar,#e10600) 50%,transparent); }
.tt2-community-track-row > strong { color:#fff; text-align:right; font:700 9px "Orbitron",sans-serif; }
.tt2-community-bars { display:grid; gap:8px; }
.tt2-community-bars--tracks { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 22px; }
.tt2-community-bar-row { display:grid; grid-template-columns:minmax(120px,1fr) minmax(70px,.8fr) 32px; gap:10px; align-items:center; min-width:0; padding:8px 10px; border:1px solid #292f38; border-radius:8px; background:#111319; }
.tt2-community-bar-row > span { display:grid; grid-template-columns:auto minmax(0,1fr); min-width:0; align-items:center; column-gap:7px; }
.tt2-community-bar-row > span b { overflow:hidden; color:#e2e6ec; font:600 9px "Montserrat",sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.tt2-community-bar-row > span small { grid-column:2; color:#747d8a; font-size:7px; }
.tt2-community-bar-row > span em { grid-row:1/3; color:#ff3832; font:700 9px "Orbitron",sans-serif; font-style:normal; }
.tt2-community-bar-row .tt2-inline-flag { grid-row:1/3; width:20px; min-width:20px; height:14px; margin:0; }
.tt2-community-bar-row > i b { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#e10600,#ff5b55); box-shadow:0 0 8px rgba(225,6,0,.34); }
.tt2-community-bar-row > strong { color:#fff; text-align:right; font:700 10px "Orbitron",sans-serif; }
.tt2-community-tyres { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.tt2-community-tyre-chart { display:grid; grid-template-columns:112px 1fr; gap:18px; align-items:center; }
.tt2-donut--tyre { width:108px; }
.tt2-donut--tyre::after { width:66px; }
.tt2-donut--tyre b { font-size:15px; }
.tt2-community-tyre-legend { display:grid; gap:8px; }
.tt2-community-tyre-legend > span { display:grid; grid-template-columns:9px minmax(70px,1fr) 34px 52px; gap:8px; align-items:center; padding:8px 10px; border:1px solid #2d333c; border-radius:8px; background:#111319; }
.tt2-community-tyre-legend > span > i { width:8px; height:8px; border-radius:50%; background:#aaa; }
.tt2-community-tyre-legend .is-soft > i { background:#ff302a; box-shadow:0 0 7px #ff302a; }
.tt2-community-tyre-legend .is-medium > i { background:#ffd43b; box-shadow:0 0 7px #ffd43b; }
.tt2-community-tyre-legend .is-hard > i { background:#f5f5f5; box-shadow:0 0 7px #fff; }
.tt2-community-tyre-legend b { color:#cbd1d9; font:600 9px "Montserrat",sans-serif; }
.tt2-community-tyre-legend strong { color:#fff; text-align:right; font:700 11px "Orbitron",sans-serif; }
.tt2-community-tyre-legend small { color:#7e8794; font-size:7px; text-align:right; }
@media(max-width:1050px){.tt2-community-dashboard{grid-template-columns:1fr}.tt2-community-card--wide,.tt2-community-tyres{grid-column:auto}.tt2-community-tyres{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.tt2-community-share{grid-template-columns:1fr;justify-items:center}.tt2-community-track-grid,.tt2-community-bars--tracks,.tt2-community-tyres{grid-template-columns:1fr;width:100%}.tt2-community-card{padding:14px}.tt2-community-tyre-chart{grid-template-columns:92px 1fr}.tt2-donut--tyre{width:88px}.tt2-donut--tyre::after{width:53px}}

.tt2-track-switch-modal .tt2-modal__box { width:min(720px,100%); overflow:hidden; }
.tt2-track-switch__head { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin-bottom:18px; }
.tt2-track-switch__head span { color:#ff332d; font:700 8px "Orbitron",sans-serif; letter-spacing:.12em; }
.tt2-track-switch__head h2 { margin:4px 0 0; color:#fff; }
.tt2-track-switch__head button { display:grid; width:34px; height:34px; place-items:center; color:#afb6c1; border:1px solid #3a404b; border-radius:9px; background:#22252c; cursor:pointer; }
.tt2-track-switch__viewport { display:grid; grid-template-columns:.62fr 1.5fr .62fr; gap:10px; align-items:center; min-height:235px; overflow:hidden; }
.tt2-track-switch-card { position:relative; height:165px; overflow:hidden; border:1px solid #353b45; border-radius:13px; background:#090b0e; opacity:.4; transform:scale(.9); }
.tt2-track-switch-card.is-current { height:220px; opacity:1; transform:none; border-color:#e10600; box-shadow:0 14px 38px rgba(0,0,0,.5),0 0 22px rgba(225,6,0,.13); }
.tt2-track-switch-card img { width:100%; height:100%; object-fit:cover; }
.tt2-track-switch-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(7,9,12,.96),transparent 68%); }
.tt2-track-switch-card span,.tt2-track-switch-card h3 { position:absolute; z-index:1; right:12px; left:12px; }
.tt2-track-switch-card span { bottom:43px; color:#ff312b; font:700 7px "Orbitron",sans-serif; }
.tt2-track-switch-card h3 { bottom:13px; margin:0; color:#fff; font:700 12px "Orbitron",sans-serif; line-height:1.25; }
.tt2-track-switch-card:not(.is-current) span,.tt2-track-switch-card:not(.is-current) h3 { display:none; }
.tt2-track-switch__controls { display:flex; align-items:center; justify-content:center; gap:16px; margin-top:12px; }
.tt2-track-switch__controls button { display:grid; width:38px; height:34px; place-items:center; color:#fff; border:1px solid #414752; border-radius:9px; background:#22252c; cursor:pointer; }
.tt2-track-switch__controls button:hover { border-color:#e10600; background:#e10600; }
.tt2-track-switch__controls div { min-width:60px; color:#aeb6c1; text-align:center; font:700 9px "Orbitron",sans-serif; }
.tt2-track-switch-modal .tt2-actions { margin-top:16px; }
.tt2-track-switch-modal .tt2-btn:disabled { opacity:.4; cursor:not-allowed; }
@media(max-width:560px){.tt2-track-switch__viewport{grid-template-columns:46px 1fr 46px}.tt2-track-switch-card{height:130px}.tt2-track-switch-card.is-current{height:190px}.tt2-track-switch-modal .tt2-modal__box{padding:17px 12px}}

.tt2-track-ranking-link { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:13px; padding:10px; color:#fff; border:1px solid #3a404a; border-radius:9px; background:#22252c; font:700 8px "Orbitron",sans-serif; text-decoration:none; }
.tt2-track-ranking-link:hover { border-color:#e10600; background:#e10600; }
.tt2-track-ranking-link i:last-child { margin-left:auto; }

.tt2-my-results-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(380px,1fr)); gap:14px; }
.tt2-my-result-card { overflow:hidden; border:1px solid #303641; border-radius:15px; background:#15181e; }
.tt2-my-result-card__cover { position:relative; height:115px; overflow:hidden; background:#090b0e; }
.tt2-my-result-card__cover > img { width:100%; height:100%; object-fit:cover; opacity:.62; }
.tt2-my-result-card__cover::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#15181e,transparent 80%); }
.tt2-my-result-card__cover h3 { position:absolute; z-index:1; right:14px; bottom:10px; left:14px; margin:0; color:#fff; font:700 15px "Orbitron",sans-serif; }
.tt2-my-result-card__cover h3 .tt2-inline-flag { width:25px; height:17px; margin-right:8px; opacity:1; }
.tt2-my-result-card__body { display:grid; grid-template-columns:1fr 1fr; gap:9px; padding:12px; }
.tt2-my-result-challenge { min-width:0; padding:12px; border:1px solid #343a45; border-radius:10px; background:linear-gradient(145deg,#111319,#171a21); }
.tt2-my-result-challenge > header { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.tt2-my-result-challenge h4 { margin:0; color:#aeb6c1; font:700 9px "Orbitron",sans-serif; }.tt2-my-result-challenge header > b { color:#ff342e; font:700 15px "Orbitron",sans-serif; }.tt2-my-result-challenge header small { color:#858e9b; font-size:8px; }
.tt2-challenge-badge { display:inline-flex; align-items:center; min-height:22px; padding:5px 8px; border:1px solid #454c58; border-radius:999px; color:#eef1f5; background:#252a33; font:700 8px "Orbitron",sans-serif; text-transform:uppercase; letter-spacing:.04em; white-space:nowrap; }
.tt2-challenge-badge.is-hotlap { border-color:#e10600; color:#ff716c; background:rgba(225,6,0,.1); }
.tt2-challenge-badge.is-five_laps { border-color:#7051c9; color:#bcaaff; background:rgba(112,81,201,.12); }
.tt2-my-result-time { display:block; margin:12px 0 10px; color:#fff; font:700 15px "Orbitron",sans-serif; letter-spacing:-.03em; }
.tt2-my-result-tyres { display:flex; flex-wrap:wrap; align-items:center; gap:5px; }.tt2-my-result-tyres > span:first-child { width:100%; color:#737c89; font-size:7px; text-transform:uppercase; }
.tt2-result-compound { display:inline-flex; align-items:center; gap:5px; color:#b9c0ca; font-size:8px; }.tt2-result-compound i { width:7px; height:7px; border-radius:50%; background:#858d98; }.tt2-result-compound.is-soft i{background:#ff302a;box-shadow:0 0 7px #ff302a}.tt2-result-compound.is-medium i{background:#ffd43b;box-shadow:0 0 7px #ffd43b}.tt2-result-compound.is-hard i{background:#fff;box-shadow:0 0 7px #fff}
.tt2-result-comparison { margin-top:10px; padding-top:9px; border-top:1px solid #2d323b; }.tt2-result-comparison > span { color:#929ba7; font-size:8px; }.tt2-result-comparison > b { display:block; margin-top:3px; color:#ff6f69; font:700 11px "Orbitron",sans-serif; }.tt2-result-comparison.is-good > b { color:#55e58d; }.tt2-result-comparison > small { display:block; margin-top:6px; color:#777f8b; font-size:7px; }.tt2-result-comparison > small .tt2-result-compound { margin-left:4px; }
.tt2-my-result-challenge.is-empty { display:grid; min-height:165px; align-content:center; text-align:center; opacity:.55; }.tt2-my-result-challenge.is-empty p { color:#858e9b; font-size:9px; }
.tt2-my-result-card > a { display:flex; justify-content:space-between; padding:11px 14px; color:#fff; border-top:1px solid #303641; background:#1d2027; font:700 8px "Orbitron",sans-serif; text-decoration:none; }.tt2-my-result-card > a:hover { color:#ff3b35; }

.tt2-track-classification { padding-top:28px; }
.tt2-classification-back { margin-bottom:12px; }
.tt2-classification-hero { position:relative; display:flex; min-height:245px; align-items:flex-end; overflow:hidden; padding:30px; border:1px solid #323844; border-radius:18px; background:#111319; }
.tt2-classification-hero::before { content:""; position:absolute; inset:0; background-image:linear-gradient(90deg,rgba(8,10,13,.98) 5%,rgba(8,10,13,.55) 60%,rgba(8,10,13,.28)),var(--track-cover); background-position:center; background-size:cover; }
.tt2-classification-hero > div { position:relative; z-index:1; }.tt2-classification-hero span { color:#ff342e; font:700 9px "Orbitron",sans-serif; letter-spacing:.12em; }.tt2-classification-hero h1 { display:flex; align-items:center; gap:11px; margin:8px 0; color:#fff; font:700 31px "Orbitron",sans-serif; }.tt2-classification-hero h1 img { width:38px; height:25px; object-fit:cover; border-radius:4px; }.tt2-classification-hero p { margin:0; color:#aab2be; }
.tt2-classification-tabs { display:flex; gap:8px; margin:17px 0; padding:7px; border:1px solid #303641; border-radius:12px; background:#101217; }.tt2-classification-tabs button { flex:1; padding:12px; color:#929ba8; border:1px solid transparent; border-radius:8px; background:transparent; font:700 10px "Orbitron",sans-serif; cursor:pointer; }.tt2-classification-tabs button.is-active { color:#fff; border-color:#444a55; background:#23262e; box-shadow:inset 0 -3px #e10600; }
.tt2-ranking-scope { display:flex; width:max-content; gap:6px; margin:-8px 0 16px auto; padding:5px; border:1px solid #303641; border-radius:10px; background:#101217; }
.tt2-ranking-scope button { display:flex; min-height:34px; align-items:center; gap:7px; padding:0 13px; color:#858e9b; border:1px solid transparent; border-radius:7px; background:transparent; cursor:pointer; font:700 8px "Orbitron",sans-serif; }
.tt2-ranking-scope button:hover { color:#fff; }
.tt2-ranking-scope button.is-active { color:#fff; border-color:#444b57; background:#252932; box-shadow:inset 0 -2px #e10600; }
.tt2-ranking-scope button[data-classification-scope="mobile"].is-active,.tt2-ranking-scope button[data-ranking-scope="mobile"].is-active { box-shadow:inset 0 -2px #7d4dff; }
.tt2-ranking-scope--side { width:100%; margin:8px 0 12px; }
.tt2-ranking-scope--side button { flex:1; justify-content:center; padding:0 7px; }
.tt2-mobile-result-badge { display:inline-grid; width:20px; height:20px; margin-left:6px; place-items:center; color:#d8ceff; border:1px solid rgba(125,77,255,.65); border-radius:6px; background:rgba(125,77,255,.18); box-shadow:0 0 10px rgba(125,77,255,.18); vertical-align:middle; }
.tt2-mobile-result-badge i { font-size:9px; }
.tt2-ranking-player .tt2-mobile-result-badge { width:17px; height:17px; margin-left:3px; }
.tt2-five-ranking-card .tt2-mobile-result-badge { width:18px; height:18px; }
.tt2-lap-tyre-wear { display:inline-flex; align-items:center; gap:4px; margin:4px 0 0 5px; padding:3px 6px; border:1px solid #404753; border-radius:999px; color:#d2d8e1; background:#22262e; font:700 7px "Orbitron",sans-serif; white-space:nowrap; }
.tt2-lap-tyre-wear i { color:#ff4b45; font-size:7px; }
.tt2-lap-tyre-wear.is-compact { display:flex; width:max-content; max-width:100%; margin:4px auto 0; color:#929ca9; background:#181b21; }
@media(max-width:600px){.tt2-ranking-scope{width:100%;margin:-8px 0 14px}.tt2-ranking-scope button{flex:1;justify-content:center}}
.tt2-classification-panel { min-height:250px; }.tt2-classification-table-wrap { overflow-x:auto; }.tt2-full-ranking-table th:nth-child(2),.tt2-full-ranking-table td:nth-child(2){text-align:left}.tt2-full-ranking-table td { font-family:"Orbitron",sans-serif; }
.tt2-ranking-tyre { display:inline-flex; align-items:center; gap:6px; color:#dce1e8; font:600 8px "Montserrat",sans-serif; }.tt2-ranking-tyre > span { display:grid; gap:2px; text-align:left; }.tt2-ranking-tyre small { color:#8f99a6; font:600 7px "Montserrat",sans-serif; white-space:nowrap; }.tt2-ranking-tyre i { width:8px; height:8px; flex:0 0 8px; border-radius:50%; background:#aaa; }.tt2-ranking-tyre.is-soft i{background:#ff302a;box-shadow:0 0 7px #ff302a}.tt2-ranking-tyre.is-medium i{background:#ffd43b;box-shadow:0 0 7px #ffd43b}.tt2-ranking-tyre.is-hard i{background:#fff;box-shadow:0 0 7px #fff}
.tt2-five-ranking-grid { display:grid; gap:10px; }.tt2-five-ranking-card { overflow:hidden; border:1px solid #303641; border-radius:13px; background:#15181e; }.tt2-five-ranking-card.is-me { border-color:#e10600; box-shadow:inset 3px 0 #e10600; }.tt2-five-ranking-card > header { display:grid; grid-template-columns:48px 1fr auto; gap:12px; align-items:center; padding:14px 16px; background:#1d2027; }.tt2-five-ranking-card > header > b { color:#ff342e; font:700 16px "Orbitron",sans-serif; }.tt2-five-ranking-card > header strong { display:block; color:#fff; font:700 12px "Orbitron",sans-serif; }.tt2-five-ranking-card > header small { display:block; margin-top:3px; color:#ff5d57; font-size:8px; }.tt2-five-ranking-card > header time { color:#fff; font:700 17px "Orbitron",sans-serif; }
.tt2-five-ranking-laps { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; padding:11px; }.tt2-five-ranking-laps > div { padding:9px; border:1px solid #303641; border-radius:8px; background:#101217; }.tt2-five-ranking-laps > div > span { display:block; color:#848d9a; font-size:7px; text-transform:uppercase; }.tt2-five-ranking-laps > div > b { display:block; margin:5px 0; color:#fff; font:700 10px "Orbitron",sans-serif; }.tt2-five-ranking-laps > div > small { display:block; margin-top:7px; color:#7f8895; font-size:7px; line-height:1.5; }
@media(max-width:900px){.tt2-five-ranking-laps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.tt2-my-results-grid{grid-template-columns:1fr}.tt2-my-result-card__body{grid-template-columns:1fr}.tt2-classification-hero{min-height:190px;padding:20px}.tt2-classification-hero h1{font-size:22px}.tt2-five-ranking-card>header{grid-template-columns:38px 1fr}.tt2-five-ranking-card>header time{grid-column:2}.tt2-five-ranking-laps{grid-template-columns:1fr}}

/* Time Trial 2 Special: personal statistics and driver drill-down */
.tt2-ranking-table tbody tr.is-player-link { cursor:pointer; transition:background .18s ease,box-shadow .18s ease; }
.tt2-ranking-table tbody tr.is-player-link:hover,.tt2-ranking-table tbody tr.is-player-link:focus { outline:none; background:rgba(225,6,0,.13); box-shadow:inset 3px 0 #ff2d27; }
.tt2-personal-dashboard { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.tt2-personal-card { min-width:0; padding:18px; }
.tt2-personal-card--wide { grid-column:1/-1; }
.tt2-personal-card > h3 { margin:0 0 16px; color:#fff; font:700 14px "Orbitron",sans-serif; }
.tt2-personal-tyre-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.tt2-personal-tyre-card { overflow:hidden; padding:14px; border:1px solid #303641; border-radius:11px; background:linear-gradient(145deg,#111319,#181b22); }
.tt2-personal-tyre-card header { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:13px; padding-bottom:11px; border-bottom:1px solid #2b3039; }
.tt2-personal-tyre-card header small { color:#77808d; font-size:8px; text-transform:uppercase; }
.tt2-mode-badge { display:inline-flex; align-items:center; min-height:27px; padding:0 11px; border:1px solid rgba(255,49,43,.55); border-radius:999px; color:#fff; background:rgba(225,6,0,.14); font:700 9px "Orbitron",sans-serif; }
.tt2-personal-tyre-card.is-five_laps .tt2-mode-badge { border-color:rgba(124,87,255,.62); background:rgba(124,87,255,.14); }
.tt2-personal-tyre-list { display:grid; gap:9px; }
.tt2-personal-tyre-row { display:grid; grid-template-columns:minmax(82px,.75fr) minmax(70px,1fr) 30px; gap:10px; align-items:center; padding:8px 10px; border:1px solid #282e37; border-radius:8px; background:#0e1015; }
.tt2-personal-tyre-row > span { display:flex; align-items:center; gap:8px; color:#d9dee6; font:600 9px "Montserrat",sans-serif; }
.tt2-personal-tyre-row > span i { width:8px; height:8px; border-radius:50%; background:#aaa; }
.tt2-personal-tyre-row.is-soft > span i { background:#ff302a; box-shadow:0 0 8px #ff302a; }
.tt2-personal-tyre-row.is-medium > span i { background:#ffd43b; box-shadow:0 0 8px #ffd43b; }
.tt2-personal-tyre-row.is-hard > span i { background:#f4f4f4; box-shadow:0 0 8px #fff; }
.tt2-personal-tyre-row > div { height:6px; overflow:hidden; border-radius:999px; background:#2a3039; }
.tt2-personal-tyre-row > div b { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#e10600,#ff4c46); }
.tt2-personal-tyre-row.is-medium > div b { background:linear-gradient(90deg,#c99900,#ffd43b); }
.tt2-personal-tyre-row.is-hard > div b { background:linear-gradient(90deg,#8f98a5,#fff); }
.tt2-personal-tyre-row > strong { color:#fff; text-align:right; font:700 11px "Orbitron",sans-serif; }
.tt2-personal-potential > div { grid-template-columns:auto minmax(0,1fr) auto; gap:8px; align-items:center; }
.tt2-personal-potential .tt2-inline-flag { width:21px; min-width:21px; height:14px; margin:0; }
.tt2-personal-potential span { display:flex; align-items:center; gap:6px; }
.tt2-personal-potential span small { color:#747e8b; font-size:7px; }
.tt2-personal-form-chart { display:grid; grid-template-columns:126px minmax(0,1fr); gap:20px; align-items:center; }
.tt2-personal-form-donut { position:relative; width:118px; aspect-ratio:1; border-radius:50%; box-shadow:0 0 24px rgba(225,6,0,.12); }
.tt2-personal-form-donut::after { position:absolute; inset:25px; content:""; border:1px solid #303641; border-radius:50%; background:#15181e; }
.tt2-personal-form-donut span { position:absolute; z-index:1; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.tt2-personal-form-donut b { color:#fff; font:700 18px "Orbitron",sans-serif; }
.tt2-personal-form-donut small { color:#7b8491; font-size:7px; text-transform:uppercase; }
.tt2-personal-form-list { display:grid; gap:8px; }
.tt2-personal-form-row { display:grid; grid-template-columns:7px 20px minmax(90px,1fr) minmax(60px,.7fr) 38px; gap:8px; align-items:center; min-width:0; padding:7px 9px; border:1px solid #292f38; border-radius:8px; background:#111319; }
.tt2-form-colour { width:7px; height:7px; border-radius:50%; }
.tt2-personal-form-row .tt2-inline-flag { width:20px; min-width:20px; height:14px; margin:0; }
.tt2-personal-form-name { overflow:hidden; color:#d9dee6; font:600 9px "Montserrat",sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.tt2-personal-form-row > div { height:6px; overflow:hidden; border-radius:999px; background:#292e37; }
.tt2-personal-form-row > div i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#e10600,#ff5a54); }
.tt2-personal-form-row > strong { color:#fff; text-align:right; font:700 9px "Orbitron",sans-serif; }
.tt2-track-position-chart { display:grid; gap:10px; width:100%; }
.tt2-track-position-row { display:grid; grid-template-columns:minmax(145px,.8fr) minmax(0,1.6fr); gap:14px; align-items:center; padding:11px 12px; border:1px solid #2d333d; border-radius:10px; background:#111319; }
.tt2-track-position-row > header { display:flex; align-items:center; gap:8px; min-width:0; }
.tt2-track-position-row > header b { overflow:hidden; color:#fff; font:700 9px "Orbitron",sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.tt2-track-position-row > header .tt2-inline-flag { width:22px; min-width:22px; height:15px; margin:0; }
.tt2-track-position-row > div { display:grid; gap:7px; }
.tt2-track-position-mode { display:grid; grid-template-columns:68px minmax(80px,1fr) 78px; gap:9px; align-items:center; }
.tt2-track-position-mode > span { color:#aab2be; font:700 8px "Orbitron",sans-serif; }
.tt2-track-position-mode > i { height:7px; overflow:hidden; border-radius:999px; background:#2b3039; }
.tt2-track-position-mode > i b { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#e10600,#ff5953); }
.tt2-track-position-mode.is-five_laps > i b { background:linear-gradient(90deg,#6542dc,#9b7cff); }
.tt2-track-position-mode > strong { color:#fff; text-align:right; font:700 9px "Orbitron",sans-serif; white-space:nowrap; }
.tt2-personal-card:has(.tt2-position-chart) { grid-column:1/-1; }
.tt2-position-chart { width:100%; }
.tt2-position-chart__legend { display:flex; justify-content:flex-end; gap:18px; margin:-4px 2px 12px; }
.tt2-position-chart__legend span { display:flex; align-items:center; gap:6px; color:#aab2be; font:700 8px "Orbitron",sans-serif; }
.tt2-position-chart__legend span::before { width:9px; height:9px; content:""; border-radius:3px; background:#ef1712; }
.tt2-position-chart__legend .is-five_laps::before { background:#7552e8; }
.tt2-position-chart__scroll { overflow-x:auto; overflow-y:hidden; padding:18px 8px 5px; scrollbar-color:#e10600 #242832; scrollbar-width:thin; }
.tt2-position-chart__plot { display:grid; grid-template-columns:repeat(var(--tracks,15),minmax(58px,1fr)); min-width:max(870px,calc(var(--tracks,15) * 58px)); height:260px; align-items:end; border-bottom:1px solid #3a404b; background:repeating-linear-gradient(to top,transparent 0,transparent 54px,rgba(255,255,255,.055) 55px); }
.tt2-position-track { display:grid; grid-template-rows:215px 44px; min-width:0; border-left:1px solid rgba(255,255,255,.035); }
.tt2-position-track:last-child { border-right:1px solid rgba(255,255,255,.035); }
.tt2-position-bars { display:flex; align-items:flex-end; justify-content:center; gap:4px; min-width:0; padding:22px 5px 0; }
.tt2-position-column { position:relative; display:flex; width:min(18px,42%); height:100%; align-items:flex-end; justify-content:center; }
.tt2-position-column > i { display:block; width:100%; min-height:8px; border-radius:4px 4px 0 0; background:linear-gradient(180deg,#ff514c,#e10600); box-shadow:0 0 12px rgba(225,6,0,.22); }
.tt2-position-column.is-five_laps > i { background:linear-gradient(180deg,#9b7cff,#6542dc); box-shadow:0 0 12px rgba(101,66,220,.24); }
.tt2-position-column > b { position:absolute; left:50%; z-index:2; margin-bottom:5px; color:#fff; font:700 7px "Orbitron",sans-serif; white-space:nowrap; transform:translateX(-50%) rotate(-90deg); transform-origin:center; }
.tt2-position-column.is-empty { height:10px; opacity:.35; }
.tt2-position-column.is-empty > i { height:2px; min-height:2px; background:#59606c; box-shadow:none; }
.tt2-position-axis { display:flex; min-width:0; flex-direction:column; align-items:center; justify-content:center; gap:4px; border-top:1px solid #3a404b; }
.tt2-position-axis .tt2-inline-flag { width:24px; min-width:24px; height:16px; margin:0; }
.tt2-position-axis small { display:block; overflow:hidden; width:48px; color:#7f8997; font-size:6px; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.tt2-personal-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.tt2-personal-summary > span { min-width:0; padding:13px; border:1px solid #2d333c; border-radius:9px; background:#111319; }
.tt2-personal-summary small { display:block; margin-bottom:7px; color:#7c8592; font-size:7px; text-transform:uppercase; }
.tt2-personal-summary b { display:flex; min-width:0; align-items:center; gap:8px; color:#fff; font:700 10px "Orbitron",sans-serif; }
.tt2-personal-summary b span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tt2-personal-summary .tt2-inline-flag { width:22px; min-width:22px; height:15px; margin:0; }
.tt2-player-results__head { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:18px; align-items:center; margin-bottom:16px; padding:15px 17px; border:1px solid #303641; border-radius:11px; background:#15181e; }
.tt2-player-results__head button,.tt2-dashboard-empty button { padding:9px 12px; border:1px solid #3a414c; border-radius:8px; color:#fff; background:#232730; cursor:pointer; font:700 8px "Orbitron",sans-serif; }
.tt2-player-results__head button:hover,.tt2-dashboard-empty button:hover { border-color:#e10600; background:rgba(225,6,0,.14); }
.tt2-player-results__head div small { color:#ff342e; font:700 7px "Orbitron",sans-serif; text-transform:uppercase; }
.tt2-player-results__head h3 { margin:4px 0 0; color:#fff; font:700 18px "Orbitron",sans-serif; }
.tt2-player-results__head > span { color:#8993a1; font-size:9px; }
@media(max-width:900px){.tt2-personal-form-chart{grid-template-columns:1fr;justify-items:center}.tt2-personal-form-list{width:100%}.tt2-personal-summary{grid-template-columns:1fr}}
@media(max-width:700px){.tt2-personal-dashboard,.tt2-personal-tyre-grid{grid-template-columns:1fr}.tt2-personal-card--wide{grid-column:auto}.tt2-player-results__head{grid-template-columns:1fr}.tt2-player-results__head>span{text-align:left}}
@media(max-width:700px){.tt2-track-position-row{grid-template-columns:1fr}.tt2-track-position-mode{grid-template-columns:62px minmax(70px,1fr) 72px}}
