/* ==========================================================================
   t4-campionato-v3 — pagina Campionato, piano v3 P6 (versione 2D)
   .t4j  "La stagione" (t4-journey.js): da 992px scena ferma con le tappe che
         scorrono (is-pin), sotto card con mappa piccola ferma (is-stack),
         con "riduci movimento" o Save-Data elenco e mappa statica (is-static).
   .t4n  "Risultati in pista" (t4-numbers.js): griglia a scacchiera di numeri
         e grafici su fondo navy, stile sezione RESULTS di sstr.tech.
   Token, .t4-pill, odometro e "Scorri" vengono da t4-fx.css. Misure in px con
   clamp(): la root del tema cambia tra 10 e 16px secondo la larghezza.
   Movimento: prima lo stato finale, poi l'animazione dentro
   (prefers-reduced-motion: no-preference).
   ========================================================================== */
.t4j, .t4n {
  --t4c-gut: max(16px, 4.8vw);
  background: var(--t4-navy);
  box-sizing: border-box;
  color: #fff;
  position: relative;
}
.t4j *, .t4n * { box-sizing: border-box; }

/* trama di croci "+" (come il selettore kart) e un alone blu */
.t4j.is-pin .t4j__stage::before, .t4j:not(.is-pin)::before, .t4n::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Cpath d='M28 23v10M23 28h10' stroke='%2386a0ff' stroke-opacity='.2' stroke-width='1'/%3E%3C/svg%3E");
  background-size: 56px 56px;
  content: "";
  inset: 0;
  -webkit-mask-image: radial-gradient(ellipse 80% 70% at 40% 50%, #000 25%, transparent 85%);
  mask-image: radial-gradient(ellipse 80% 70% at 40% 50%, #000 25%, transparent 85%);
  pointer-events: none;
  position: absolute;
}
.t4j.is-pin .t4j__stage::after {
  background: radial-gradient(ellipse 50% 45% at 40% 56%, rgba(36, 72, 216, .26), rgba(36, 72, 216, 0) 70%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

/* testate */
.t4j-ck, .t4n-k {
  align-items: center;
  color: var(--t4-sky);
  display: flex;
  flex-wrap: wrap;
  font-family: var(--t4-mono);
  font-size: 12px;
  font-weight: 400;
  gap: 10px;
  letter-spacing: .14em;
  line-height: 1.4;
  margin: 0;
  text-transform: uppercase;
}
.t4j-ck > i, .t4n-k > i { background: var(--t4-blue); display: inline-block; flex: 0 0 auto; height: 8px; width: 8px; }
.t4j__title, .t4n__title {
  color: #fff;
  font-family: var(--t4-head);
  font-size: var(--t4-h2);
  font-weight: 500;
  letter-spacing: var(--t4-h2-track);
  line-height: .95;
  margin: 14px 0 0;
  text-transform: uppercase;
}
.t4j__lead, .t4n__lead {
  font-family: var(--t4-mono);
  font-size: clamp(13px, 12px + .15vw, 15px);
  line-height: 1.6;
  margin: 16px 0 0;
  max-width: 40em;
  opacity: .74;
}
/* dati di esempio in attesa di Racemetrics: stesso avviso dei risultati, sul navy */
.t4n-flag, .t4j-flag {
  background: rgba(245, 158, 11, .14);
  border: 1px solid rgba(245, 158, 11, .55);
  border-radius: 8px;
  color: #fbbf24;
  display: inline-block;
  font-family: var(--t4-mono);
  font-size: 11px;
  letter-spacing: .08em;
  line-height: 1.4;
  margin: 18px 0 0;
  padding: 6px 10px;
  text-transform: uppercase;
}
.t4j-flag { font-size: 10px; margin-top: 12px; padding: 3px 8px; }

/* "Il campionato in breve": restano due dati (round e classi sono nella
   testata), su due colonne invece di quattro */
@media (min-width: 992px) {
  .t4cp-facts.t4cp-facts--pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ==========================================================================
   La stagione: mappa (comune ai tre modi)
   ========================================================================== */
.t4j__map { position: relative; }
.t4j-geo, .t4j-ov { display: block; height: 100%; inset: 0; position: absolute; width: 100%; }
.t4j-geo path { fill: rgba(134, 160, 255, .07); stroke: rgba(134, 160, 255, .34); stroke-linejoin: round; stroke-width: 1; vector-effect: non-scaling-stroke; }
/* i confini arrivano dopo pin e percorso (script caricato quando serve) */
@media (prefers-reduced-motion: no-preference) {
  .t4j-geo path { animation: t4j-fade .5s linear both; }
}
@keyframes t4j-fade { from { opacity: 0; } }
.t4j-route, .t4j-arc { fill: none; stroke: rgba(255, 255, 255, .26); stroke-dasharray: 0 8; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.5; }
.t4j-route--on, .t4j-arc--on { stroke: var(--t4-sky); stroke-width: 3; }
.t4j-far circle { fill: var(--t4-navy); stroke: var(--t4-sky); stroke-width: 1.5; }
.t4j-far.is-on circle { fill: var(--t4-sky); }
.t4j-far text, .t4j-pin__t {
  font-family: var(--t4-mono);
  letter-spacing: .1em;
  paint-order: stroke;
  stroke: var(--t4-navy);
  stroke-linejoin: round;
  stroke-width: 3px;
  text-transform: uppercase;
}
.t4j-far text { fill: #fff; font-size: 11px; }
.t4j-pin__dot { fill: var(--t4-navy); stroke: rgba(255, 255, 255, .85); stroke-width: 1.5; transition: fill .3s linear, stroke .3s linear; }
.t4j-pin.is-done .t4j-pin__dot { fill: rgba(255, 255, 255, .85); }
.t4j-pin.is-on .t4j-pin__dot { fill: var(--t4-sky); stroke: var(--t4-sky); }
.t4j-pin__wave { fill: none; opacity: 0; stroke: var(--t4-sky); stroke-width: 1.5; transform-box: fill-box; transform-origin: center; }
.t4j-pin.is-on .t4j-pin__wave { opacity: .5; }
.t4j-pin__sq { fill: var(--t4-navy); stroke: rgba(255, 255, 255, .6); stroke-width: 1.2; }
.t4j-pin--club.is-done .t4j-pin__sq { fill: rgba(255, 255, 255, .3); }
.t4j-pin__t { fill: rgba(255, 255, 255, .62); font-size: 10px; transition: opacity .3s linear; }
.t4j-pin.is-on .t4j-pin__t { fill: #fff; font-size: 11px; }
.t4j-pin.is-quiet .t4j-pin__t, .t4j-pin.is-off .t4j-pin__t { opacity: 0; }
@media (prefers-reduced-motion: no-preference) {
  .t4j-pin.is-on .t4j-pin__wave { animation: t4j-wave 1.8s var(--t4-ease-out) infinite; }
}
@keyframes t4j-wave { 0% { opacity: .9; transform: scale(.35); } 100% { opacity: 0; transform: scale(1.6); } }
.is-away .t4j-pin.is-on .t4j-pin__wave { animation-play-state: paused; }   /* sezione fuori vista (t4-journey.js) */

.t4j__legend {
  color: rgba(255, 255, 255, .72);
  display: flex;
  flex-wrap: wrap;
  font-family: var(--t4-mono);
  font-size: 10.5px;
  gap: 6px 18px;
  letter-spacing: .1em;
  line-height: 1.4;
  margin: 0;
  text-transform: uppercase;
}
.t4j__legend span { align-items: center; display: inline-flex; gap: 8px; }
.t4j__legend i { display: inline-block; height: 9px; width: 9px; }
.t4j__legend i.is-round { background: var(--t4-sky); border-radius: 50%; }
.t4j__legend i.is-club { border: 1.2px solid rgba(255, 255, 255, .6); }
.t4j__pill {
  border: 1px solid rgba(134, 160, 255, .55);
  border-radius: 999px;
  color: rgba(255, 255, 255, .7);
  font-family: var(--t4-mono);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  letter-spacing: .1em;
  line-height: 1;
  padding: 7px 11px;
  text-transform: uppercase;
  white-space: nowrap;
}
.t4j__pill b { color: #fff; font-weight: 400; }

/* didascalia di una tappa (scena e card) */
.t4j__cap {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: linear-gradient(160deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .025));
  border: 1px solid rgba(134, 160, 255, .42);
  border-radius: 24px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 30px 60px rgba(0, 0, 0, .25);
  min-width: 0;
  padding: clamp(20px, 2vw, 32px);
}
.t4j-ck b { color: #fff; font-weight: 400; margin-left: auto; }
/* didascalia stretta (995px): il testo va a capo accanto al quadratino, il
   numero della tappa resta a destra sulla prima riga */
.t4j__cap .t4j-ck { align-items: baseline; flex-wrap: nowrap; }
.t4j__cap .t4j-ck > span { min-width: 0; }
.t4j__cap .t4j-ck > b { flex: 0 0 auto; }
.t4j-ct {
  color: #fff;
  font-family: var(--t4-head);
  font-size: clamp(30px, 2.6vw, 48px);
  font-weight: 500;
  letter-spacing: -.03em;
  line-height: .98;
  margin: 14px 0 0;
  overflow-wrap: anywhere;
  text-transform: uppercase;
}
.t4j-cm { display: flex; flex-wrap: wrap; font-family: var(--t4-mono); font-size: 13px; gap: 2px 14px; line-height: 1.5; margin: 10px 0 0; opacity: .8; }
.t4j-st {
  align-items: center;
  border-top: 1px solid var(--t4-hair-dark);
  color: rgba(255, 255, 255, .78);
  display: flex;
  font-family: var(--t4-mono);
  font-size: 11px;
  gap: 8px;
  letter-spacing: .12em;
  line-height: 1.4;
  margin: 18px 0 0;
  padding-top: 14px;
  text-transform: uppercase;
}
.t4j-st i { border: 1.5px solid currentColor; border-radius: 50%; flex: 0 0 auto; height: 8px; width: 8px; }
.t4j-st.is-done i { background: currentColor; }
.t4j-st.is-next { color: var(--t4-sky); }
.t4j-st.is-next i { background: var(--t4-sky); }
.t4j-win { display: grid; gap: 6px; margin: 12px 0 0; }
.t4j-win div { align-items: baseline; display: grid; gap: 10px; grid-template-columns: 5.5em minmax(0, 1fr); }
.t4j-win dt { color: var(--t4-sky); font-family: var(--t4-mono); font-size: 11px; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; }
.t4j-win dd { font-family: var(--t4-head); font-size: 16px; line-height: 1.35; margin: 0; }
.t4j-win small { font-family: var(--t4-mono); font-size: 10px; letter-spacing: .08em; opacity: .6; text-transform: uppercase; }
.t4j-club { font-family: var(--t4-mono); font-size: 12px; line-height: 1.5; margin: 12px 0 0; opacity: .8; }
.t4j-club span { color: var(--t4-sky); display: block; font-size: 10.5px; letter-spacing: .12em; margin-bottom: 2px; text-transform: uppercase; }
.t4j-go { margin-top: 18px; }

/* ==========================================================================
   La stagione da 992px: scena ferma (t4fx.pin), poi 60vh di scroll per tappa
   (prima 100vh: 7 schermate per arrivare ai risultati). Lo scatto a fine
   scroll tiene comunque una tappa per gesto.
   ========================================================================== */
.t4j.is-pin { height: calc(100vh + (var(--n, 7) - 1) * 60vh); }
.t4j__stage { height: 100vh; overflow: hidden; position: relative; }
.t4j.is-pin .t4j__map { inset: 0; position: absolute; }
.t4j.is-pin .t4j__head { left: var(--t4c-gut); max-width: min(30em, 44vw); pointer-events: none; position: absolute; top: clamp(96px, 12vh, 132px); z-index: 2; }
.t4j.is-pin .t4j__title { font-size: var(--t4-h2); }
.t4j.is-pin .t4j__lead { max-width: 30em; }
.t4j.is-pin .t4j__caps {
  display: grid;
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  right: var(--t4c-gut);
  top: 52%;
  transform: translateY(-50%);
  width: clamp(320px, 29vw, 460px);
  z-index: 2;
}
.t4j.is-pin .t4j__cap { align-self: center; grid-area: 1 / 1; opacity: 0; pointer-events: none; visibility: visible; }
.t4j.is-pin .t4j__cap[data-status="active"] { opacity: 1; pointer-events: auto; }
@media (prefers-reduced-motion: no-preference) {
  .t4j.is-pin .t4j__cap { transform: translateY(18px); transition: opacity .35s var(--t4-ease), transform .6s var(--t4-ease-out); }
  .t4j.is-pin .t4j__cap[data-status="before"] { transform: translateY(-18px); }
  .t4j.is-pin .t4j__cap[data-status="active"] { transform: none; transition-delay: .06s; }
}
/* indicatori: compaiono quando la sezione occupa lo schermo */
.t4j__ind { opacity: 0; transition: opacity .25s linear; }
.t4j.is-live .t4j__ind { opacity: 1; }
.t4j__count { align-items: center; display: flex; gap: 4px; position: absolute; right: var(--t4c-gut); top: clamp(96px, 12vh, 132px); z-index: 3; }
.t4j__sq { display: flex; }
.t4j__sqb { align-items: center; background: none; border: 0; border-radius: 4px; cursor: pointer; display: grid; height: 40px; justify-items: center; padding: 0; position: relative; width: 40px; }
.t4j__sqb i { background: rgba(255, 255, 255, .2); display: block; height: 10px; transition: background-color .3s var(--t4-ease), box-shadow .3s var(--t4-ease); width: 10px; }
.t4j__sqb:hover i { background: rgba(255, 255, 255, .5); }
.t4j__sqb.is-on i { background: var(--t4-sky); }
/* tappa attuale: il pallino da 6px sotto il quadratino, come nel resto del sito */
.t4j__sqb[aria-current]::after { background: var(--t4-sky); border-radius: 50%; bottom: 3px; content: ""; height: 6px; left: 50%; margin-left: -3px; position: absolute; width: 6px; }
.t4j__sqb:focus-visible { outline: 2px solid var(--t4-sky); outline-offset: -2px; }
.t4j__legendw { bottom: 72px; left: var(--t4c-gut); position: absolute; z-index: 2; }
.t4j__hintw { bottom: 22px; color: rgba(255, 255, 255, .85); left: 50%; position: absolute; transform: translateX(-50%); z-index: 2; }
.t4j__btn {
  align-items: center;
  background: none;
  border: 0;
  border-radius: 8px;
  bottom: 18px;
  color: rgba(255, 255, 255, .8);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--t4-mono);
  font-size: 11px;
  gap: 8px;
  letter-spacing: .12em;
  min-height: 40px;
  padding: 0 6px;
  position: absolute;
  text-transform: uppercase;
  z-index: 3;
}
.t4j__btn:hover { color: #fff; }
.t4j__btn:focus-visible { outline: 2px solid var(--t4-sky); outline-offset: 2px; }
.t4j__start { left: calc(var(--t4c-gut) - 6px); }
.t4j__skip { right: calc(var(--t4c-gut) - 6px); }
.t4j.is-first .t4j__start { visibility: hidden; }

/* ==========================================================================
   La stagione sotto i 992px (card + mappa ferma) e statica
   ========================================================================== */
.t4j.is-stack, .t4j.is-static { padding: clamp(72px, 9vw, 120px) 0 clamp(64px, 8vw, 110px); }
.t4j__wrap { margin: 0 auto; max-width: 1440px; padding: 0 var(--t4c-gut); position: relative; z-index: 1; }
.t4j__mini {
  background: var(--t4-navy);
  border: 1px solid var(--t4-hair-dark);
  border-radius: 20px;
  height: clamp(200px, 34vh, 300px);
  margin-top: 28px;
  overflow: hidden;
  position: relative;
  z-index: 3;
}
.t4j__mini.is-sticky { position: sticky; }
.t4j__mini.is-stuck { box-shadow: 0 -16px 0 2px var(--t4-navy); }
.t4j.is-static .t4j__mini { height: clamp(280px, 46vw, 560px); }
.t4j__mini .t4j__map { inset: 0; position: absolute; }
.t4j__mini .t4j__legend { bottom: 10px; left: 12px; position: absolute; right: 12px; }
.t4j__mini .t4j__pill { background: rgba(14, 20, 48, .75); position: absolute; right: 10px; top: 10px; }
.t4j__caps--cards { display: grid; gap: 14px; list-style: none; margin: 16px 0 0; padding: 0; }
.t4j.is-stack .t4j__cap { transition: border-color .3s linear; }
.t4j.is-stack .t4j__cap.is-on { border-color: var(--t4-sky); }
@media (min-width: 768px) {
  .t4j.is-static .t4j__caps--cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
  .t4j.is-static .t4j__caps--cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ==========================================================================
   Risultati in pista
   ========================================================================== */
.t4n { padding: clamp(72px, 8vw, 140px) 0; }
.t4n__wrap { margin: 0 auto; max-width: 1440px; padding: 0 var(--t4c-gut); position: relative; z-index: 1; }
.t4n__head { margin-bottom: clamp(28px, 3vw, 48px); max-width: 52em; }
.t4n-row { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
.t4n-row + .t4n-row { margin-top: 16px; }
.t4n-row[hidden] { display: none; }
@media (min-width: 992px) {
  .t4n-row { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  .t4n-row--flip { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .t4n-row--flip > .t4n-card--num { order: 2; }
  .t4n-row--nums { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
  .t4n-row[data-n="1"] { grid-template-columns: minmax(0, 1fr); }
}
.t4n-card {
  background: linear-gradient(160deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .015));
  border: 1px solid var(--t4-hair-dark);
  border-radius: 24px;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(22px, 2.4vw, 40px);
  position: relative;
}
.t4n-card--num { justify-content: center; }
.t4n-pair { font-family: var(--t4-mono); font-size: 13px; letter-spacing: .06em; line-height: 1.5; margin: 18px 0 0; }
.t4n-pair small { display: block; font-size: 10.5px; letter-spacing: .1em; margin-top: 2px; opacity: .55; text-transform: uppercase; }
.t4n-big { align-items: baseline; display: flex; flex-wrap: wrap; gap: 0 10px; margin: 12px 0 0; }
/* riga 1,2 e margine negativo, come la card del selettore kart: il rullo
   dell'odometro non lascia vedere la cifra dopo */
.t4n-v { font-family: var(--t4-head); font-size: clamp(64px, 6.2vw, 120px); font-weight: 500; letter-spacing: -.04em; line-height: 1.2; margin-block: -.14em; white-space: nowrap; }
.t4n-u { font-family: var(--t4-head); font-size: clamp(22px, 2vw, 34px); font-weight: 500; }
.t4n-name { color: #fff; font-family: var(--t4-head); font-size: clamp(20px, 1.7vw, 28px); font-weight: 500; letter-spacing: -.02em; line-height: 1.15; margin: 14px 0 0; text-transform: none; }
.t4n-sub { font-family: var(--t4-mono); font-size: 12px; line-height: 1.55; margin: 8px 0 0; opacity: .66; }
.t4n-go { margin-top: 22px; }

/* card con grafico */
.t4n-ch { align-items: flex-start; display: flex; flex-wrap: wrap; gap: 14px 24px; justify-content: space-between; }
.t4n-ct { color: #fff; font-family: var(--t4-head); font-size: clamp(20px, 1.6vw, 28px); font-weight: 500; letter-spacing: -.02em; line-height: 1.15; margin: 10px 0 0; text-transform: none; }
.t4n-picks { display: flex; flex-wrap: wrap; gap: 6px; }
.t4n-pick {
  align-items: center;
  background: transparent;
  border: 1px solid rgba(134, 160, 255, .38);
  border-radius: 999px;
  color: rgba(255, 255, 255, .78);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--t4-mono);
  font-size: 11px;
  gap: 6px;
  letter-spacing: .08em;
  min-height: 40px;
  padding: 0 14px;
  text-transform: uppercase;
  transition: background-color var(--t4-dur) var(--t4-ease), color var(--t4-dur) var(--t4-ease), border-color var(--t4-dur) var(--t4-ease);
}
.t4n-pick small { font-size: 9.5px; opacity: .6; }
.t4n-pick:hover { border-color: var(--t4-sky); color: #fff; }
.t4n-pick[aria-pressed="true"] { background: var(--t4-sky); border-color: var(--t4-sky); color: var(--t4-navy); }
.t4n-pick:focus-visible { outline: 2px solid var(--t4-sky); outline-offset: 2px; }
/* "Punti / Posizione" sopra il grafico dei punti (richiesta 23/10/2026) */
.t4n-modes { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 18px; }
.t4n-legend { color: rgba(255, 255, 255, .72); display: flex; flex-wrap: wrap; font-family: var(--t4-mono); font-size: 10.5px; gap: 6px 18px; letter-spacing: .1em; line-height: 1.4; margin: 16px 0 0; text-transform: uppercase; }
.t4n-key { align-items: center; display: inline-flex; gap: 8px; }
.t4n-key i { background: rgba(255, 255, 255, .55); display: inline-block; height: 7px; width: 7px; }
.t4n-key b { font-weight: 400; opacity: .6; }
.t4n-key--hi i, .t4n-key--italia i { background: var(--t4-sky); height: 9px; width: 9px; }
.t4n-key--fill i { background: rgba(134, 160, 255, .32); height: 9px; width: 16px; }
.t4n-key--unit i { background: none; border: 1px solid rgba(255, 255, 255, .55); }
.t4n-plot { aspect-ratio: 4 / 3; margin-top: 14px; min-height: 240px; position: relative; width: 100%; }
@media (min-width: 992px) { .t4n-plot { aspect-ratio: 16 / 10; } }
.t4n-svg { display: block; overflow: visible; }
.t4n-axis text { fill: rgba(255, 255, 255, .5); font-family: var(--t4-mono); font-size: 10px; letter-spacing: .06em; }
.t4n-axis .t4n-xl { fill: rgba(255, 255, 255, .78); font-size: 11px; }
.t4n-axis .t4n-xl--italia { fill: var(--t4-sky); }
.t4n-grid { stroke: rgba(134, 160, 255, .2); stroke-dasharray: 2 5; stroke-width: 1; }
.t4n-d, .t4n-m, .t4n-sq { fill: rgba(255, 255, 255, .55); }
.t4n-s--hi .t4n-d, .t4n-s--hi .t4n-m, .t4n-s--hi .t4n-sq { fill: var(--t4-sky); }
.t4n-fill { fill: var(--t4-sky); opacity: .14; }
.t4n-m { outline: none; }
.t4n-m:focus-visible { stroke: #fff; stroke-width: 2; }
.t4n-vl { opacity: 0; stroke: rgba(255, 255, 255, .55); stroke-dasharray: 3 4; stroke-width: 1; transition: opacity .2s linear; }
.t4n-vl.is-on { opacity: 1; }
.t4n-hit, .t4n-colhit { fill: transparent; }
.t4n-hit { cursor: crosshair; }
.t4n-col { outline: none; }
.t4n-col.is-on .t4n-sq { fill: #fff; }
.t4n-col:focus-visible .t4n-colhit { stroke: var(--t4-sky); stroke-width: 1.5; }
.t4n-note { font-family: var(--t4-mono); font-size: 11px; line-height: 1.5; margin: 12px 0 0; opacity: .62; }
@media (prefers-reduced-motion: no-preference) {
  .t4n-plot .t4n-a { transform: scale(0); transform-box: fill-box; transform-origin: center; transition: transform .45s var(--t4-ease-out) var(--d, 0ms); }
  .t4n-plot .t4n-sq { transform-origin: center bottom; }
  .t4n-plot.is-in .t4n-a { transform: none; }
  .t4n-plot .t4n-fill { opacity: 0; transition: opacity .6s linear var(--d, 0ms); }
  .t4n-plot.is-in .t4n-fill { opacity: .14; }
  .t4n-plot.is-still .t4n-a, .t4n-plot.is-still .t4n-fill { transition: none; }
}
.t4n-tip {
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: rgba(14, 20, 48, .94);
  border: 1px solid rgba(134, 160, 255, .5);
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, .35);
  color: rgba(255, 255, 255, .85);
  display: grid;
  font-family: var(--t4-mono);
  font-size: 11px;
  gap: 4px;
  left: 0;
  line-height: 1.4;
  max-width: 260px;
  min-width: 170px;
  padding: 10px 12px;
  pointer-events: none;
  position: absolute;
  top: 0;
  z-index: 2;
}
.t4n-tip[hidden] { display: none; }
.t4n-tip strong { color: var(--t4-sky); font-size: 10.5px; font-weight: 400; letter-spacing: .06em; margin-bottom: 2px; text-transform: uppercase; }
.t4n-tr { align-items: center; display: flex; gap: 8px; }
.t4n-tr i { background: rgba(255, 255, 255, .55); flex: 0 0 auto; height: 6px; width: 6px; }
.t4n-tr.is-hi i { background: var(--t4-sky); }
.t4n-tr b { font-weight: 400; margin-left: auto; padding-left: 12px; white-space: nowrap; }
.t4n-tr.is-me { color: #fff; font-weight: 700; }

/* ---------------- v4 P2: piloti nel grafico "Punti, round per round" ----------------
   colore = pilota (palette validata sul blu notte, 5 posti fissi); la serie del
   meglio piazzato resta con i quadrati grandi */
.t4n-s[style] .t4n-d, .t4n-s[style] .t4n-m { fill: var(--c); }
.t4n-key--unit-sq i { background: none; border: 1.5px solid rgba(255, 255, 255, .7); height: 9px; width: 9px; }
.t4n-pp { border-top: 1px solid var(--t4-hair-dark); margin-top: 18px; padding-top: 16px; }
.t4n-pp__top { align-items: center; display: flex; flex-wrap: wrap; gap: 10px 16px; justify-content: space-between; }
.t4n-pp__k { align-items: center; color: rgba(255, 255, 255, .72); display: inline-flex; font-family: var(--t4-mono); font-size: 11px; gap: 8px; letter-spacing: .1em; margin: 0; text-transform: uppercase; }
.t4n-pp__k i { background: var(--t4-sky); display: inline-block; height: 6px; width: 6px; }
.t4n-pp__k b { color: #fff; font-weight: 400; }
/* il contatore riceve il fuoco al 5° pilota (non "Pulisci"): anello solo da tastiera */
.t4n-pp__k:focus { outline: none; }
.t4n-pp__k:focus-visible { border-radius: 4px; outline: 2px solid var(--t4-sky); outline-offset: 4px; }
.t4n-pp__acts { display: flex; gap: 6px; }
.t4n-pp__btn {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  font-family: var(--t4-mono);
  font-size: 11px;
  letter-spacing: .08em;
  min-height: 40px;
  padding: 0 16px;
  text-transform: uppercase;
  transition: background-color var(--t4-dur) var(--t4-ease), border-color var(--t4-dur) var(--t4-ease), opacity var(--t4-dur) var(--t4-ease);
}
.t4n-pp__btn:hover:not(:disabled) { background: rgba(255, 255, 255, .08); border-color: #fff; }
.t4n-pp__btn:disabled { cursor: default; opacity: .38; }
.t4n-pp__btn:focus-visible, .t4n-pp__x:focus-visible { outline: 2px solid var(--t4-sky); outline-offset: 2px; }
.t4n-pp__chips { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 12px 0 0; padding: 0; }
.t4n-pp__chips:empty { display: none; }
.t4n-pp__chip {
  align-items: center;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 14px;
  gap: 8px;
  line-height: 1.2;
  max-width: 100%;
  min-height: 40px;
  padding: 0 4px 0 12px;
}
.t4n-pp__chip i { background: var(--c); flex: 0 0 auto; height: 10px; width: 10px; }
.t4n-pp__chip span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.t4n-pp__chip small { font-family: var(--t4-mono); font-size: 11px; opacity: .6; }
.t4n-pp__x { align-items: center; background: transparent; border: 0; border-radius: 50%; color: rgba(255, 255, 255, .75); cursor: pointer; display: inline-flex; flex: 0 0 auto; height: 32px; justify-content: center; padding: 0; width: 32px; }
.t4n-pp__x:hover { background: rgba(255, 255, 255, .12); color: #fff; }
.t4n-pp__add { margin-top: 12px; position: relative; }
.t4n-pp__ico { color: rgba(255, 255, 255, .55); left: 14px; pointer-events: none; position: absolute; top: 14px; }
.t4n-pp__q {
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(134, 160, 255, .38);
  border-radius: 12px;
  color: #fff;
  font-family: var(--t4-head);
  font-size: 16px;
  min-height: 44px;
  padding: 10px 14px 10px 40px;
  width: 100%;
}
.t4n-pp__q::placeholder { color: rgba(255, 255, 255, .5); }
.t4n-pp__q:focus { border-color: var(--t4-sky); outline: 2px solid rgba(134, 160, 255, .45); outline-offset: 1px; }
.t4n-pp__q:disabled { cursor: not-allowed; opacity: .6; }
.t4n-pp__list {
  background: #121a3d;
  border: 1px solid rgba(134, 160, 255, .5);
  border-radius: 12px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .4);
  left: 0;
  list-style: none;
  margin: 6px 0 0;
  max-height: 248px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 6px;
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 5;
}
.t4n-pp__list[hidden] { display: none; }
.t4n-pp__opt { align-items: baseline; border-radius: 8px; color: rgba(255, 255, 255, .88); cursor: pointer; display: flex; font-size: 15px; gap: 10px; min-height: 40px; padding: 10px 10px; }
.t4n-pp__opt b { color: var(--t4-sky); flex: 0 0 34px; font-family: var(--t4-mono); font-size: 12px; font-weight: 400; }
.t4n-pp__opt span { flex: 1 1 auto; min-width: 0; }
.t4n-pp__opt small { font-family: var(--t4-mono); font-size: 11px; opacity: .6; white-space: nowrap; }
.t4n-pp__opt:hover, .t4n-pp__opt[aria-selected="true"] { background: rgba(134, 160, 255, .18); color: #fff; }
.t4n-pp__none { font-family: var(--t4-mono); font-size: 12px; opacity: .7; padding: 10px; }
.t4n-empty { align-items: center; border: 1px dashed rgba(134, 160, 255, .35); border-radius: 16px; color: rgba(255, 255, 255, .72); display: flex; font-family: var(--t4-mono); font-size: 12px; inset: 0; justify-content: center; letter-spacing: .04em; line-height: 1.6; margin: 0; padding: 24px; position: absolute; text-align: center; }
.t4n-empty[hidden] { display: none; }

/* ---------------- v4 P4: classifica generale, primi 5 e "Espandi classifica" ---------------- */
.t4lr-std__scroll.is-capped:not([data-all]) .t4lr-std__tr.is-extra { display: none; }
/* tabelle del round e Totale (23/10/2026): primi 10, poi "Mostra tutti" */
.t4lr-scroll.is-capped:not([data-all]) .is-extra { display: none; }
.t4lr-scroll + .t4lr-rows-more { margin-bottom: 4px; }
.t4lr-std__scroll.is-capped[data-all] { border-bottom: 1px solid rgba(14, 20, 48, .12); max-height: min(560px, 62vh); overflow-y: auto; overscroll-behavior: contain; }
.t4lr-std__scroll.is-capped[data-all] thead th { position: sticky; top: 0; z-index: 1; }
.t4lr-std__scroll[data-all]:focus-visible { outline: 2px solid var(--t4-blue); outline-offset: 3px; }
.t4lr-std__more {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(36, 72, 216, .35);
  border-radius: 999px;
  color: var(--t4-blue);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--t4-mono);
  font-size: 12px;
  gap: 10px;
  letter-spacing: .08em;
  margin-top: 16px;
  min-height: 44px;
  padding: 0 18px;
  text-transform: uppercase;
  transition: background-color var(--t4-dur) var(--t4-ease), border-color var(--t4-dur) var(--t4-ease);
}
.t4lr-std__more span, .t4lr-std__more small { white-space: nowrap; }
.t4lr-std__more small { font-size: 11px; letter-spacing: .04em; opacity: .65; text-transform: none; }
.t4lr-std__more svg { transition: transform var(--t4-dur) var(--t4-ease); }
.t4lr-std__more[aria-expanded="true"] svg { transform: rotate(180deg); }
.t4lr-std__more:hover { background: rgba(36, 72, 216, .06); border-color: var(--t4-blue); }
.t4lr-std__more:focus-visible { outline: 2px solid var(--t4-blue); outline-offset: 2px; }
.t4lr-std__more + .t4lr-legend { margin-top: 14px; }
@media (prefers-reduced-motion: no-preference) {
  .t4lr-std__scroll[data-all] .t4lr-std__tr.is-extra { animation: t4-row-in .4s cubic-bezier(.215, .61, .355, 1) both; animation-delay: calc(min(var(--i) - 5, 12) * 30ms); }
  .t4lr-scroll[data-all] .is-extra { animation: t4-row-in .4s cubic-bezier(.215, .61, .355, 1) both; }
}

/* ---------------- v4 P5: assistente dei regolamenti ---------------- */
.t4rb {
  background: #fff;
  border: 1px solid rgba(14, 20, 48, .12);
  border-radius: 24px;
  margin: 28px 0 8px;
  padding: clamp(20px, 2.4vw, 36px);
}
.t4rb__k { align-items: center; color: var(--t4-blue); display: inline-flex; font-family: var(--t4-mono); font-size: 11px; gap: 8px; letter-spacing: .1em; margin: 0; text-transform: uppercase; }
.t4rb__k i { background: var(--t4-blue); display: inline-block; height: 6px; width: 6px; }
.t4s .t4rb__t { color: var(--t4-navy); font-family: var(--t4-head); font-size: clamp(24px, 2.2vw, 36px); font-weight: 500; letter-spacing: -.025em; line-height: 1.1; margin: 10px 0 0; text-transform: none; }
.t4rb__intro { font-size: 16px; line-height: 1.55; margin: 10px 0 0; max-width: 60em; opacity: .78; }
.t4rb__log { border-top: 1px solid rgba(14, 20, 48, .1); display: flex; flex-direction: column; gap: 12px; margin-top: 20px; max-height: min(460px, 60vh); overflow-y: auto; overscroll-behavior: contain; padding: 20px 4px 4px; }
.t4rb__log[hidden] { display: none; }
.t4rb__msg { border-radius: 16px; font-size: 16px; line-height: 1.55; max-width: min(720px, 88%); padding: 12px 16px; }
.t4rb__msg p { margin: 0; }
.t4rb__msg p + p, .t4rb__msg p + ul, .t4rb__msg ul + p { margin-top: 8px; }
.t4rb__msg ul { margin: 0; padding-left: 20px; }
.t4rb__msg.is-me { align-self: flex-end; background: var(--t4-navy); border-bottom-right-radius: 4px; color: #fff; }
.t4rb__msg.is-bot { align-self: flex-start; background: rgba(14, 20, 48, .05); border-bottom-left-radius: 4px; color: var(--t4-navy); }
.t4rb__msg.is-refused { background: rgba(14, 20, 48, .03); border: 1px dashed rgba(14, 20, 48, .18); }
.t4rb__msg.is-error { background: rgba(198, 40, 40, .07); color: #8e1b1b; }
.t4rb__msg.is-wait p { align-items: center; display: inline-flex; font-family: var(--t4-mono); font-size: 12px; gap: 10px; letter-spacing: .06em; opacity: .75; }
.t4rb__dots { display: inline-flex; gap: 4px; }
.t4rb__dots i { background: currentColor; border-radius: 50%; display: block; height: 6px; opacity: .5; width: 6px; }
@media (prefers-reduced-motion: no-preference) {
  .t4rb__dots i { animation: t4rb-dot 1s ease-in-out infinite; }
  .t4rb__dots i:nth-child(2) { animation-delay: .15s; }
  .t4rb__dots i:nth-child(3) { animation-delay: .3s; }
  .t4rb__msg { animation: t4rb-in .35s var(--t4-ease-out, ease-out) both; }
}
@keyframes t4rb-dot { 0%, 100% { opacity: .25; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-3px); } }
@keyframes t4rb-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.t4rb__srcs { align-items: center; border-top: 1px solid rgba(14, 20, 48, .1); display: flex; flex-wrap: wrap; gap: 6px 8px; margin-top: 10px !important; padding-top: 10px; }
.t4rb__srcs > span { font-family: var(--t4-mono); font-size: 11px; letter-spacing: .1em; opacity: .6; text-transform: uppercase; }
.t4rb__src { align-items: center; background: #fff; border: 1px solid rgba(36, 72, 216, .3); border-radius: 999px; color: var(--t4-blue); display: inline-flex; font-size: 13px; gap: 6px; line-height: 1.3; min-height: 32px; padding: 4px 12px; text-decoration: none; }
a.t4rb__src:hover { border-color: var(--t4-blue); color: var(--t4-blue); }
a.t4rb__src:focus-visible { outline: 2px solid var(--t4-blue); outline-offset: 2px; }
.t4rb__note { font-family: var(--t4-mono); font-size: 11px; letter-spacing: .04em; margin-top: 8px !important; opacity: .6; }
.t4rb__sugg { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.t4rb__sugg[hidden] { display: none; }
.t4rb__chip { background: rgba(36, 72, 216, .06); border: 1px solid rgba(36, 72, 216, .22); border-radius: 999px; color: var(--t4-navy); cursor: pointer; font-family: var(--t4-head); font-size: 15px; line-height: 1.3; min-height: 40px; padding: 8px 16px; text-align: left; transition: background-color var(--t4-dur) var(--t4-ease), border-color var(--t4-dur) var(--t4-ease); }
.t4rb__chip:hover { background: rgba(36, 72, 216, .12); border-color: var(--t4-blue); }
.t4rb__chip:focus-visible { outline: 2px solid var(--t4-blue); outline-offset: 2px; }
.t4rb__form { align-items: flex-end; background: #fff; border: 1px solid rgba(14, 20, 48, .2); border-radius: 18px; display: flex; gap: 8px; margin-top: 16px; padding: 6px 6px 6px 16px; transition: border-color var(--t4-dur) var(--t4-ease), box-shadow var(--t4-dur) var(--t4-ease); }
.t4rb__form:focus-within { border-color: var(--t4-blue); box-shadow: 0 0 0 3px rgba(36, 72, 216, .15); }
.t4rb__q { background: transparent; border: 0; color: var(--t4-navy); flex: 1 1 auto; font-family: var(--t4-head); font-size: 16px; line-height: 1.45; max-height: 160px; min-height: 44px; min-width: 0; outline: 0; padding: 10px 0; resize: none; }
.t4rb__q::placeholder { color: rgba(14, 20, 48, .5); }
.t4rb__send { align-items: center; background: linear-gradient(135deg, var(--t4-ink), var(--t4-blue)); border: 0; border-radius: 14px; color: #fff; cursor: pointer; display: inline-flex; flex: 0 0 auto; font-family: var(--t4-mono); font-size: 12px; gap: 8px; letter-spacing: .08em; min-height: 44px; padding: 0 18px; text-transform: uppercase; }
.t4rb__send:disabled { cursor: progress; opacity: .55; }
.t4rb__send:focus-visible { outline: 2px solid var(--t4-blue); outline-offset: 3px; }
.t4rb__foot { font-family: var(--t4-mono); font-size: 11px; letter-spacing: .03em; line-height: 1.6; margin: 12px 0 0; opacity: .6; }
@media (max-width: 767px) {
  .t4rb { border-radius: 18px; padding: 18px 16px; }
  .t4rb__msg { max-width: 94%; }
  .t4rb__send span { display: none; }
  .t4rb__send { padding: 0 14px; }
}

/* ---------------- v4 P6: calcolatore della stagione al posto del link MP Kart Shop ----------------
   la sezione compare solo quando t4-vetrina.js ha riempito [data-t4-calc] */
.t4cp-calc:not(:has([data-t4-calc]:not([hidden]))) { display: none; }
.t4cp-calc [data-t4-calc] { margin-top: 8px; }

/* ---------------- Dirette YouTube (richieste 19/10/2026, t4-results.js) ----------------
   .t4-live  banner-link "In diretta <giorno> <data> alle <ore>" nella scheda della gara,
             nella testata (--dark) e nella stagione; "IN DIRETTA ORA" rossa con il pallino
             che pulsa (fermo con "riduci movimento"). Tutto assente senza link in Filament.
   .t4lv     "Rivedi la diretta": pillole con l'icona YouTube verso la nuova scheda e
             "Guarda qui" che apre il player nocookie sul posto, solo al clic. */
.t4-live { align-items: center; border: 1px solid rgba(36, 72, 216, .3); border-radius: 999px; box-sizing: border-box; color: var(--t4-navy); display: inline-flex; font-family: var(--t4-mono); font-size: 11px; font-weight: 400; gap: 8px; letter-spacing: .06em; line-height: 1.3; max-width: 100%; min-height: 36px; padding: 6px 14px 6px 12px; text-decoration: none; text-transform: uppercase; transition: border-color var(--t4-dur) var(--t4-ease), color var(--t4-dur) var(--t4-ease), background-color var(--t4-dur) var(--t4-ease); }
.t4-live:hover { border-color: var(--t4-blue); color: var(--t4-blue); }
.t4-live:focus-visible { outline: 2px solid var(--t4-blue); outline-offset: 2px; }
.t4-live__dot { background: var(--t4-blue); border-radius: 50%; flex: 0 0 auto; height: 8px; width: 8px; }
.t4-live .t4lv-yt { flex: 0 0 auto; opacity: .8; }
.t4-live__t { min-width: 0; }
.t4-live.is-now { background: #fef3f2; border-color: #fecdca; color: #b42318; font-weight: 700; }
.t4-live.is-now:hover { border-color: #b42318; color: #b42318; }
.t4-live.is-now .t4-live__dot { animation: t4-live-pulse 1.2s ease-out infinite; background: #d92d20; }
@keyframes t4-live-pulse { 0% { box-shadow: 0 0 0 0 rgba(217, 45, 32, .55); } 70% { box-shadow: 0 0 0 7px rgba(217, 45, 32, 0); } 100% { box-shadow: 0 0 0 0 rgba(217, 45, 32, 0); } }
@media (prefers-reduced-motion: reduce) { .t4-live.is-now .t4-live__dot { animation: none; box-shadow: 0 0 0 3px rgba(217, 45, 32, .25); } }
/* sul blu: testata (t4h-next) e stagione (t4j) */
.t4-live--dark { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .3); color: #fff; }
.t4-live--dark:hover { background: rgba(255, 255, 255, .18); border-color: #fff; color: #fff; }
.t4-live--dark:focus-visible { outline-color: #fff; }
.t4-live--dark .t4-live__dot { background: var(--t4-sky); }
.t4-live--dark.is-now { background: rgba(217, 45, 32, .2); border-color: rgba(255, 180, 171, .6); color: #ffb4ab; }
.t4-live--dark.is-now:hover { border-color: #ffb4ab; color: #ffb4ab; }
.t4-live--dark.is-now .t4-live__dot { animation-name: t4-live-pulse-dark; background: #ff6b5e; }
@keyframes t4-live-pulse-dark { 0% { box-shadow: 0 0 0 0 rgba(255, 107, 94, .6); } 70% { box-shadow: 0 0 0 7px rgba(255, 107, 94, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 107, 94, 0); } }
@media (prefers-reduced-motion: reduce) { .t4-live--dark.is-now .t4-live__dot { animation: none; box-shadow: 0 0 0 3px rgba(255, 107, 94, .35); } }
.t4h-next__live { margin: 14px 0 0; }
.t4h-next__dl + .t4h-next__live { margin-top: 10px; }
.t4j-live { margin: 12px 0 0 !important; }
.t4tl__pop-row--live .t4-live, .t4tl__pop-row--live .t4lv { align-self: flex-start; max-width: 100%; }

/* replay delle dirette */
.t4lv { margin-top: 28px; }
.t4lv__head { align-items: baseline; display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 0 0 12px; }
.t4lv__head--final { margin-top: 28px; }
.t4lv__head--final + .t4lr-video { margin-top: 0; }
.t4lv__title { font-family: var(--t4-head); font-size: 22px; font-weight: 500; letter-spacing: -.02em; line-height: 1.2; margin: 0; text-transform: none; }
.t4lv__sub { font-family: var(--t4-mono); font-size: 11px; letter-spacing: .06em; margin: 0; opacity: .6; text-transform: uppercase; }
.t4lv__pills { display: flex; flex-wrap: wrap; gap: 8px; }
.t4lv-pill { align-items: center; background: #fff; border: 1px solid rgba(36, 72, 216, .3); border-radius: 999px; box-sizing: border-box; color: var(--t4-navy); cursor: pointer; display: inline-flex; font-family: var(--t4-head); font-size: 14px; font-weight: 500; gap: 8px; line-height: 1.2; min-height: 40px; padding: 6px 16px 6px 12px; text-decoration: none; transition: border-color var(--t4-dur) var(--t4-ease), color var(--t4-dur) var(--t4-ease), background-color var(--t4-dur) var(--t4-ease); }
.t4lv-pill:hover { border-color: var(--t4-blue); color: var(--t4-blue); }
.t4lv-pill:focus-visible { outline: 2px solid var(--t4-blue); outline-offset: 2px; }
.t4lv-pill svg { flex: 0 0 auto; }
.t4lv-pill--here { background: var(--t4-navy); border-color: var(--t4-navy); color: #fff; }
.t4lv-pill--here:hover { background: var(--t4-blue); border-color: var(--t4-blue); color: #fff; }
.t4lv-pill--here[aria-expanded="true"] { background: #fff; color: var(--t4-navy); }
.t4lv__player { margin-top: 14px; }
.t4lv__player[hidden] { display: none; }
.t4lv__tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.t4lv__tab { background: transparent; border: 1px solid rgba(14, 20, 48, .25); border-radius: 999px; color: var(--t4-navy); cursor: pointer; font-family: var(--t4-mono); font-size: 11px; letter-spacing: .06em; line-height: 1.2; min-height: 32px; padding: 4px 12px; text-transform: uppercase; }
.t4lv__tab[aria-pressed="true"] { background: var(--t4-navy); border-color: var(--t4-navy); color: #fff; }
.t4lv__tab:focus-visible { outline: 2px solid var(--t4-blue); outline-offset: 2px; }
.t4lv__frame { aspect-ratio: 16 / 9; background: #000; border-radius: 16px; overflow: hidden; }
.t4lv__frame iframe { border: 0; display: block; height: 100%; width: 100%; }
.t4lv__note { font-family: var(--t4-mono); font-size: 11px; letter-spacing: .04em; margin: 8px 0 0; opacity: .6; }
/* dentro la scheda della stagione: solo le pillole, più piccole */
.t4lv--compact { margin-top: 0; }
.t4lv--compact .t4lv-pill { font-size: 13px; min-height: 36px; padding: 4px 14px 4px 10px; }
@media (max-width: 767px) {
  .t4lv__title { font-size: 19px; }
  .t4lv-pill { font-size: 13px; }
  .t4lv__frame { border-radius: 12px; }
}

/* ---------------- Confronto piloti nei risultati di gara (richiesta 23/10/2026, t4-results.js) ----------------
   Sul modello di kart4all, con i soli dati che il box riceve (niente giro per giro):
   .t4lr-kpis  piloti, giro più veloce e vincitore della sessione aperta
   .t4lr-pick  il "+" accanto al pilota nella tabella (premuto = colore del pilota)
   .t4lr-cmp   chip dei piloti scelti, grafico Posizione / Distacco sessione per
               sessione (in alto il migliore), velocità media e massima, tabella affiancata.
   Colore = pilota, passato come --c dal JS. Misure in px come le dirette qui sopra. */
.t4lr-kpis { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 0 16px; }
.t4lr-kpis div { border: 1px solid rgba(14, 20, 48, .12); border-radius: 14px; display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 14px 16px; }
.t4lr-kpis dt { font-family: var(--t4-mono); font-size: 11px; letter-spacing: .08em; opacity: .6; text-transform: uppercase; }
.t4lr-kpis dd { display: flex; flex-direction: column; gap: 2px; margin: 0; min-width: 0; }
.t4lr-kpis strong { font-family: var(--t4-head); font-size: 24px; font-weight: 500; letter-spacing: -.01em; line-height: 1.1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.t4lr-kpis strong.mono { font-variant-numeric: tabular-nums; }
.t4lr-kpis span { font-size: 13px; opacity: .7; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.t4lr-pick { align-items: center; background: #fff; border: 1.5px solid rgba(14, 20, 48, .3); border-radius: 50%; color: rgba(14, 20, 48, .7); cursor: pointer; display: inline-flex; height: 26px; justify-content: center; margin: -3px 10px -3px 0; padding: 0; transition: background-color var(--t4-dur) var(--t4-ease), border-color var(--t4-dur) var(--t4-ease), color var(--t4-dur) var(--t4-ease); vertical-align: middle; width: 26px; }
.t4lr-pick:hover { border-color: var(--t4-blue); color: var(--t4-blue); }
.t4lr-pick[aria-pressed="true"] { background: var(--c, var(--t4-blue)); border-color: var(--c, var(--t4-blue)); color: #fff; }
.t4lr-pick[aria-disabled="true"] { cursor: not-allowed; opacity: .35; }
.t4lr-pick[aria-disabled="true"]:hover { border-color: rgba(14, 20, 48, .3); color: rgba(14, 20, 48, .7); }
.t4lr-pick:focus-visible { outline: 2px solid var(--t4-blue); outline-offset: 2px; }
.t4lr-pick .t4lr-pick__t, .t4lr-pick[aria-pressed="true"] .t4lr-pick__p { display: none; }
.t4lr-pick[aria-pressed="true"] .t4lr-pick__t { display: inline; }

.t4lr-cmp { border: 1px solid rgba(14, 20, 48, .12); border-radius: 18px; margin-top: 28px; padding: 22px 24px 24px; }
.t4lr-cmp__head { align-items: flex-end; display: flex; flex-wrap: wrap; gap: 10px 28px; justify-content: space-between; }
.t4lr-cmp__h { font-family: var(--t4-head); font-size: 26px; font-weight: 500; letter-spacing: -.02em; line-height: 1.1; margin: 6px 0 0; text-transform: none; }
.t4lr-cmp__h:focus { outline: none; }
.t4lr-cmp__h:focus-visible { border-radius: 4px; outline: 2px solid var(--t4-blue); outline-offset: 4px; }
.t4lr-cmp__hint { font-size: 13px; line-height: 1.5; margin: 0; max-width: 460px; opacity: .72; }
.t4lr-cmp__plus { align-items: center; border: 1.5px solid currentColor; border-radius: 50%; display: inline-flex; font-weight: 700; height: 18px; justify-content: center; line-height: 1; vertical-align: -3px; width: 18px; }
.t4lr-cmp__chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 16px 0 0; padding: 0; }
.t4lr-cmp__chip { align-items: center; background: rgba(14, 20, 48, .04); border: 1px solid rgba(14, 20, 48, .12); border-radius: 999px; display: inline-flex; font-size: 14px; font-weight: 600; gap: 8px; min-height: 36px; padding: 2px 4px 2px 12px; }
.t4lr-cmp__chip > i { background: var(--c); border-radius: 50%; flex: 0 0 auto; height: 10px; width: 10px; }
.t4lr-cmp__chip small { font-family: var(--t4-mono); font-size: 11px; font-weight: 400; opacity: .6; }
.t4lr-cmp__x { align-items: center; background: none; border: 0; border-radius: 50%; color: inherit; cursor: pointer; display: inline-flex; height: 30px; justify-content: center; opacity: .6; padding: 0; width: 30px; }
.t4lr-cmp__x:hover { background: rgba(14, 20, 48, .08); opacity: 1; }
.t4lr-cmp__x:focus-visible { opacity: 1; outline: 2px solid var(--t4-blue); }
.t4lr-cmp__grid { display: grid; gap: 22px; grid-template-columns: minmax(0, 1fr); margin-top: 18px; }
@media (min-width: 992px) { .t4lr-cmp__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } }
.t4lr-cmp__modes { display: flex; flex-wrap: wrap; gap: 6px; }
.t4lr-cmp__plot { height: 280px; margin-top: 14px; position: relative; }
.t4lr-cmp__svg { display: block; overflow: visible; }
.t4lr-cmp__axis line { stroke: rgba(14, 20, 48, .14); stroke-dasharray: 2 5; stroke-width: 1; }
.t4lr-cmp__axis text { fill: rgba(14, 20, 48, .55); font-family: var(--t4-mono); font-size: 11px; }
.t4lr-cmp__axis text.is-x { fill: rgba(14, 20, 48, .8); font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; }
.t4lr-cmp__axis text.is-cur { fill: var(--t4-blue); font-weight: 700; }
.t4lr-cmp__s path { fill: none; stroke: var(--c); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.5; }
.t4lr-cmp__m { fill: #fff; outline: none; stroke: var(--c); stroke-width: 2.5; }
.t4lr-cmp__m.is-best { fill: var(--c); }
.t4lr-cmp__m:focus-visible { stroke: var(--t4-navy); stroke-width: 3.5; }
.t4lr-cmp__vl { opacity: 0; stroke: rgba(14, 20, 48, .4); stroke-dasharray: 3 4; stroke-width: 1; transition: opacity .2s linear; }
.t4lr-cmp__vl.is-on { opacity: 1; }
.t4lr-cmp__hit { cursor: crosshair; fill: transparent; }
.t4lr-cmp__tip { background: rgba(14, 20, 48, .95); border-radius: 12px; box-shadow: 0 14px 34px rgba(14, 20, 48, .28); color: rgba(255, 255, 255, .85); display: grid; font-family: var(--t4-mono); font-size: 11px; gap: 4px; left: 0; line-height: 1.4; max-width: 280px; min-width: 180px; padding: 10px 12px; pointer-events: none; position: absolute; top: 0; z-index: 2; }
.t4lr-cmp__tip[hidden] { display: none; }
.t4lr-cmp__tip strong { color: var(--t4-sky); font-weight: 400; letter-spacing: .06em; margin-bottom: 2px; text-transform: uppercase; }
.t4lr-cmp__tr { align-items: center; display: flex; gap: 8px; }
.t4lr-cmp__tr i { border-radius: 50%; flex: 0 0 auto; height: 8px; width: 8px; }
.t4lr-cmp__tr b { font-weight: 400; margin-left: auto; padding-left: 12px; white-space: nowrap; }
.t4lr-cmp__tr.is-me { color: #fff; font-weight: 700; }
.t4lr-cmp__note { font-size: 12.5px; line-height: 1.5; margin: 8px 0 0; opacity: .65; }
.t4lr-cmp__k { font-family: var(--t4-mono); font-size: 11px; font-weight: 400; letter-spacing: .08em; margin: 0 0 10px; opacity: .7; text-transform: uppercase; }
/* velocità: segmento tra media (cerchio) e massima (quadrato) sulla stessa scala */
.t4lr-spd { align-self: start; background: rgba(36, 72, 216, .05); border-radius: 14px; padding: 16px 18px; }
.t4lr-spd__key { display: flex; font-size: 12px; gap: 16px; margin: 0 0 12px; opacity: .75; }
.t4lr-spd__key span { align-items: center; display: inline-flex; gap: 6px; }
.t4lr-spd__key i { display: inline-block; height: 10px; width: 10px; }
.t4lr-spd__key i.is-avg { border: 2px solid currentColor; border-radius: 50%; }
.t4lr-spd__key i.is-top { background: currentColor; }
.t4lr-spd__list { display: grid; gap: 14px; list-style: none; margin: 0; padding: 0; }
.t4lr-spd__row { align-items: baseline; display: grid; gap: 4px 12px; grid-template-columns: minmax(0, 1fr) auto; }
.t4lr-spd__name { align-items: center; display: flex; font-size: 14px; font-weight: 600; gap: 8px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.t4lr-spd__name i { background: var(--c); border-radius: 50%; flex: 0 0 auto; height: 8px; width: 8px; }
.t4lr-spd__v { font-size: 12.5px; text-align: right; white-space: nowrap; }
.t4lr-spd__v strong { font-variant-numeric: tabular-nums; }
.t4lr-spd__none { font-size: 12.5px; grid-column: 1 / -1; opacity: .6; }
.t4lr-spd__track { background: linear-gradient(rgba(14, 20, 48, .14), rgba(14, 20, 48, .14)) 0 50% / 100% 1px no-repeat; grid-column: 1 / -1; grid-row: 2; height: 18px; margin: 0 7px; position: relative; }
.t4lr-spd__track b { position: absolute; top: 50%; }
.t4lr-spd__bar { background: var(--c); height: 3px; opacity: .45; transform: translateY(-50%); }
.t4lr-spd__avg { background: #fff; border: 2.5px solid var(--c); border-radius: 50%; height: 14px; transform: translate(-50%, -50%); width: 14px; }
.t4lr-spd__top { background: var(--c); height: 12px; transform: translate(-50%, -50%); width: 12px; }
.t4lr-spd__axis { display: flex; font-family: var(--t4-mono); font-size: 10.5px; justify-content: space-between; margin: 10px 0 0; opacity: .55; }
/* tabella affiancata: il meglio piazzato della riga con la barra blu, il giro migliore tra i scelti in viola come GV */
.t4lr-cmp__scroll { border: 1px solid rgba(14, 20, 48, .12); border-radius: 14px; margin-top: 22px; overflow-x: auto; }
.t4lr-cmp__table { border-collapse: collapse; font-size: 14px; width: 100%; }
.t4lr-cmp__table th, .t4lr-cmp__table td { padding: 11px 14px; text-align: left; vertical-align: top; white-space: nowrap; }
.t4lr-cmp__table thead th { background: var(--t4-navy); color: #fff; font-family: var(--t4-mono); font-size: 11px; font-weight: 400; letter-spacing: .08em; text-transform: uppercase; }
.t4lr-cmp__table thead th i { background: var(--c); border-radius: 50%; display: inline-block; height: 9px; margin-right: 8px; width: 9px; }
.t4lr-cmp__table tbody tr { border-top: 1px solid rgba(14, 20, 48, .09); }
.t4lr-cmp__table tbody th { font-family: var(--t4-mono); font-size: 11px; font-weight: 400; letter-spacing: .06em; opacity: .75; text-transform: uppercase; }
.t4lr-cmp__table tr.is-cur th { color: var(--t4-blue); font-weight: 700; opacity: 1; }
.t4lr-cmp__table td strong { display: block; font-family: var(--t4-head); font-size: 20px; font-weight: 500; line-height: 1.1; }
.t4lr-cmp__table td .mono { display: block; font-variant-numeric: tabular-nums; margin-top: 2px; }
.t4lr-cmp__table td .is-fast { color: #7c3aed; font-weight: 700; }
.t4lr-cmp__table td em { display: block; font-size: 12px; font-style: normal; opacity: .6; }
.t4lr-cmp__table td.is-best { background: rgba(36, 72, 216, .08); box-shadow: inset 3px 0 var(--t4-blue); }
.t4lr-cmp__table td.is-best strong { color: var(--t4-blue); }
.t4lr-cmp__table td.is-none { opacity: .45; }
.t4lr-cmp__tot th, .t4lr-cmp__tot td { background: rgba(14, 20, 48, .03); }
/* la colonna Sessione resta ferma quando la tabella scorre di lato (fondo pieno della pagina) */
.t4lr-cmp__table tbody th { background: var(--t4-page); left: 0; position: sticky; z-index: 1; }
.t4lr-cmp__table thead th:first-child { left: 0; position: sticky; z-index: 2; }
.t4lr-cmp__table .t4lr-cmp__tot th { background: linear-gradient(rgba(14, 20, 48, .03), rgba(14, 20, 48, .03)), var(--t4-page); }
/* giro per giro (sessione aperta, piloti scelti): grafico a sinistra, tabella Giro | piloti a destra */
.t4lr-lap { border-top: 1px solid rgba(14, 20, 48, .1); margin-top: 24px; padding-top: 20px; }
.t4lr-lap__head { align-items: center; display: flex; flex-wrap: wrap; gap: 10px 20px; justify-content: space-between; }
.t4lr-lap__head .t4lr-cmp__k { margin: 0; }
.t4lr-lap__grid { display: grid; gap: 22px; grid-template-columns: minmax(0, 1fr); margin-top: 14px; }
@media (min-width: 992px) { .t4lr-lap__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } }
.t4lr-lap__plot { height: 300px; position: relative; }
.t4lr-lap__dot { fill: var(--c); stroke: #fff; stroke-width: 1; }
.t4lr-lap__dot.is-best { stroke: #fff; stroke-width: 2; }
.t4lr-lap__col { cursor: crosshair; fill: transparent; outline: none; }
.t4lr-lap__col:focus-visible { fill: rgba(36, 72, 216, .08); stroke: var(--t4-blue); stroke-width: 1.5; }
.t4lr-lap__scroll { margin-top: 0; }
.t4lr-lap__table th, .t4lr-lap__table td { vertical-align: middle; }
.t4lr-lap__table td { font-variant-numeric: tabular-nums; }
.t4lr-lap__table td .mono { display: inline; margin: 0; }
.t4lr-lap__table td small { font-family: var(--t4-mono); font-size: 11px; margin-left: 8px; opacity: .6; }
.t4lr-lap__table td.is-fast .mono { color: #7c3aed; font-weight: 700; }
.t4lr-lap__table tr[hidden] { display: none; }
.t4lr-lap__more { background: transparent; border: 1px solid rgba(14, 20, 48, .25); border-radius: 999px; color: var(--t4-navy); cursor: pointer; display: block; font-family: var(--t4-mono); font-size: 11px; letter-spacing: .06em; margin: 12px 0 0 auto; min-height: 36px; padding: 6px 16px; text-transform: uppercase; }
.t4lr-lap__more:hover { border-color: var(--t4-blue); color: var(--t4-blue); }
.t4lr-lap__more:focus-visible { outline: 2px solid var(--t4-blue); outline-offset: 2px; }
/* comunicati della direzione gara, sotto la tabella della sessione */
.t4lr-notes { background: #fff; border: 1px solid rgba(14, 20, 48, .12); border-left: 3px solid var(--t4-blue); border-radius: 14px; margin-top: 18px; padding: 16px 20px; }
.t4lr-notes__h { font-family: var(--t4-mono); font-size: 11px; font-weight: 400; letter-spacing: .08em; margin: 0 0 10px; opacity: .75; text-transform: uppercase; }
.t4lr-notes__list { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.t4lr-notes__list li { display: grid; gap: 2px; }
.t4lr-notes__tag { font-family: var(--t4-mono); font-size: 10.5px; letter-spacing: .06em; opacity: .55; text-transform: uppercase; }
.t4lr-notes__list p { font-size: 14px; line-height: 1.5; margin: 0; }
/* ---------------- Dati ufficiali T4 Series 2026 (richieste 23/10/2026, t4-results.js / t4-numbers.js) ----------------
   Club "in arrivo": visibile ma grigio e non cliccabile (aria-disabled), nei chip
   campionato, nella scheda della stagione e nei grafici. */
.t4lr-champ.is-soon, .t4n-pick.is-soon { cursor: not-allowed; opacity: .45; }
.t4lr-champ.is-soon:hover { background: none; }
.t4n-pick.is-soon:hover { border-color: rgba(134, 160, 255, .38); color: rgba(255, 255, 255, .78); }
.t4lr-champ.is-soon small, .t4n-pick.is-soon small { font-family: var(--t4-mono); font-size: 10px; letter-spacing: .06em; margin-left: 4px; opacity: .8; text-transform: uppercase; }
.t4tl-btn.is-soon { cursor: not-allowed; filter: grayscale(1); opacity: .45; }
.t4tl-btn.is-soon:hover { background: rgb(var(--color-primary)); transform: none; }
/* non classificati (DNF, DNS, DSQ, NC) e penalità */
.t4lr-row.is-out .t4lr-pos, .t4lr-tot .t4lr-pos { font-size: 13px; }
.t4lr-row.is-out .t4lr-pos { color: rgba(14, 20, 48, .55); font-family: var(--t4-mono); letter-spacing: .04em; }
.t4lr-row.is-out td:not(.t4lr-pos) { color: rgba(14, 20, 48, .7); }
.t4lr-pen { background: rgba(217, 45, 32, .1); border-radius: 6px; color: #b42318; font-family: var(--t4-mono); font-size: 11px; padding: 1px 6px; white-space: nowrap; }
.t4lr-cmp__table td em.t4lr-pen { display: inline-block; font-style: normal; margin-top: 2px; opacity: 1; }
/* tabella "Totale" del round */
.t4lr-tot .t4lr-pos { font-family: var(--font-family-headings), sans-serif; font-size: 1.6rem; width: 4.5rem; }
.t4lr-tot.is-podium .t4lr-pos { color: var(--t4-blue); }
.t4lr-table--tot tbody tr { border-top: 1px solid rgba(14, 20, 48, .09); }
.t4lr-table--tot th small { opacity: .65; }
.t4lr-table--tot td.is-zero { color: rgba(14, 20, 48, .45); }
/* dettaglio pilota: punti round per round, il round scartato barrato */
.t4lr-rr { display: flex; flex-wrap: wrap; gap: 6px 14px; list-style: none; margin: 12px 0 0; padding: 10px 0 0; border-top: 1px solid rgba(14, 20, 48, .1); }
.t4lr-rr li { display: flex; flex-direction: column; min-width: 0; }
.t4lr-rr span { font-family: var(--t4-mono); font-size: 10.5px; letter-spacing: .04em; opacity: .6; text-transform: uppercase; }
.t4lr-rr strong { font-family: var(--t4-head); font-size: 16px; font-weight: 500; }
.t4lr-rr .is-dropped strong { color: rgba(14, 20, 48, .45); }
.t4lr-rr em { font-family: var(--t4-mono); font-size: 10px; font-style: normal; opacity: .55; text-transform: uppercase; }
.t4lr-rr + .t4lr-dnote, .t4lr-dnote + .t4lr-dnote { margin-top: 6px; }
/* classifica generale: chi non ha le prove minime */
.t4lr-std__tr.is-nc { color: rgba(14, 20, 48, .6); }
.t4lr-std__tr.is-nc .t4lr-std__pos abbr { font-family: var(--t4-mono); font-size: .8em; text-decoration: none; }
/* confronto: colonna destra (velocità + settori) */
.t4lr-cmp__side { align-self: start; display: grid; gap: 16px; min-width: 0; }
.t4lr-sec__scroll { margin-top: 0; }
.t4lr-sec__table tbody th { font-family: var(--t4-head); font-size: 13px; letter-spacing: 0; opacity: 1; text-transform: none; }
.t4lr-sec__table tbody th i { background: var(--c); border-radius: 50%; display: inline-block; height: 8px; margin-right: 6px; width: 8px; }
.t4lr-sec__table td { font-variant-numeric: tabular-nums; }
.t4lr-sec__table td.is-fast, .t4lr-lap__s b.is-fast { color: #7c3aed; font-weight: 700; }
/* giro per giro: settori sotto il tempo, round senza giri */
.t4lr-lap__s { display: flex; font-family: var(--t4-mono); font-size: 10.5px; gap: 8px; margin-top: 3px; opacity: .8; }
.t4lr-lap__s b { font-weight: 400; white-space: nowrap; }
.t4lr-lap__s abbr { opacity: .55; text-decoration: none; }
.t4lr-lap__first[hidden] { display: none; }
.t4lr-lap__none { border-top: 1px solid rgba(14, 20, 48, .1); font-size: 13px; margin: 24px 0 0; opacity: .7; padding-top: 18px; }
/* ---------------- Pilota contro pilota e settori migliori della sessione (23/10/2026) ----------------
   .t4lr-duel  scelta A/B tra i piloti in confronto, riepilogo affiancato, barre A − B per
               giro (colore di chi è stato più veloce) + linea del distacco in pista, tabella Δ
   .t4lr-sb    primi 5 di S1/S2/S3 e del giro ideale; sul telefono una scheda per volta */
.t4lr-duel, .t4lr-sb { border-top: 1px solid rgba(14, 20, 48, .1); margin-top: 24px; padding-top: 20px; }
.t4lr-duel__h { font-family: var(--t4-head); font-size: 20px; font-weight: 500; letter-spacing: -.01em; line-height: 1.2; margin: 0 0 12px; text-transform: none; }
.t4lr-duel__pick { display: grid; gap: 8px; }
.t4lr-duel__side { align-items: center; display: flex; flex-wrap: wrap; gap: 6px; }
.t4lr-duel__lab { align-items: center; background: var(--t4-navy); border-radius: 50%; color: #fff; display: inline-flex; flex: 0 0 auto; font-family: var(--t4-mono); font-size: 12px; height: 28px; justify-content: center; margin-right: 4px; width: 28px; }
.t4lr-duel__btn { align-items: center; background: #fff; border: 1px solid rgba(14, 20, 48, .2); border-radius: 999px; color: var(--t4-navy); cursor: pointer; display: inline-flex; font-size: 13px; font-weight: 600; gap: 6px; min-height: 34px; padding: 4px 12px; transition: background-color var(--t4-dur) var(--t4-ease), border-color var(--t4-dur) var(--t4-ease), color var(--t4-dur) var(--t4-ease); }
.t4lr-duel__btn i { background: var(--c); border-radius: 50%; height: 8px; width: 8px; }
.t4lr-duel__btn:hover { border-color: var(--c); }
.t4lr-duel__btn[aria-pressed="true"] { background: var(--c); border-color: var(--c); color: #fff; }
.t4lr-duel__btn[aria-pressed="true"] i { background: #fff; }
.t4lr-duel__btn:focus-visible { outline: 2px solid var(--t4-blue); outline-offset: 2px; }
.t4lr-duel__grid { display: grid; gap: 22px; grid-template-columns: minmax(0, 1fr); margin-top: 16px; }
@media (min-width: 992px) { .t4lr-duel__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } }
.t4lr-duel__plot { height: 280px; position: relative; }
.t4lr-duel__bar { fill: var(--c); opacity: .85; }
.t4lr-duel__line { fill: none; stroke: var(--t4-navy); stroke-dasharray: 5 4; stroke-linejoin: round; stroke-width: 2; }
.t4lr-cmp__axis line.is-zero { stroke: rgba(14, 20, 48, .45); stroke-dasharray: none; }
.t4lr-cmp__axis text.is-r { fill: rgba(14, 20, 48, .45); }
.t4lr-cmp__axis text.is-who { fill: rgba(14, 20, 48, .55); font-size: 10.5px; letter-spacing: .02em; }
.t4lr-duel__right { align-self: start; min-width: 0; }
.t4lr-duel__sumw, .t4lr-duel__lapw { margin-top: 0; }
.t4lr-duel__lapw { margin-top: 10px; }
.t4lr-duel__sum tbody th { font-family: var(--t4-mono); font-size: 11px; white-space: normal; }
.t4lr-duel__sum thead th, .t4lr-duel__laps thead th { white-space: nowrap; }
.t4lr-duel__sum thead th i, .t4lr-duel__laps thead th i { background: var(--c); }
.t4lr-duel__sum td, .t4lr-duel__laps td { font-variant-numeric: tabular-nums; }
.t4lr-duel__sum td.is-win, .t4lr-duel__laps td.is-win { box-shadow: inset 3px 0 var(--c); color: var(--c); font-weight: 700; }
.t4lr-duel__d { color: var(--c, inherit); font-family: var(--t4-mono); font-size: 12.5px; }
.t4lr-duel__d[style]::before { background: var(--c); border-radius: 50%; content: ""; display: inline-block; height: 7px; margin-right: 6px; vertical-align: 1px; width: 7px; }
.t4lr-duel__laps tr[hidden] { display: none; }
/* settori migliori della sessione */
.t4lr-sb__most { font-size: 14px; margin: 0 0 12px; }
.t4lr-sb__tabs { display: none; margin-bottom: 12px; }
.t4lr-sb__grid { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.t4lr-sb__card { border: 1px solid rgba(14, 20, 48, .12); border-radius: 14px; min-width: 0; overflow-x: auto; padding: 12px 14px; }
.t4lr-sb__card--ideal { grid-column: 1 / -1; }
.t4lr-sb__card h5 { font-family: var(--t4-mono); font-size: 11px; font-weight: 400; letter-spacing: .08em; margin: 0 0 8px; opacity: .75; text-transform: uppercase; }
.t4lr-sb__t { border-collapse: collapse; font-size: 13px; width: 100%; }
.t4lr-sb__t th, .t4lr-sb__t td { padding: 6px 6px; text-align: left; white-space: nowrap; }
.t4lr-sb__t thead th { border-bottom: 1px solid rgba(14, 20, 48, .15); font-family: var(--t4-mono); font-size: 10px; font-weight: 400; letter-spacing: .06em; opacity: .65; text-transform: uppercase; }
.t4lr-sb__t thead abbr { text-decoration: none; }
.t4lr-sb__t tbody th { font-weight: 600; overflow: hidden; text-overflow: ellipsis; max-width: 14em; }
.t4lr-sb__t tbody tr + tr { border-top: 1px solid rgba(14, 20, 48, .07); }
.t4lr-sb__t td.mono { font-variant-numeric: tabular-nums; }
.t4lr-sb__t td.is-fast { color: #7c3aed; font-weight: 700; }
.t4lr-sb__pos { opacity: .6; width: 2.2em; }
.t4lr-sb__t tr.is-cmp th { color: var(--c); }
.t4lr-sb__t tr.is-cmp th::before { background: var(--c); border-radius: 50%; content: ""; display: inline-block; height: 7px; margin-right: 6px; vertical-align: 1px; width: 7px; }
.t4lr-sb__gap td { opacity: .45; padding: 0 6px; }
@media (min-width: 768px) and (max-width: 1199px) { .t4lr-sb__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .t4lr-sb__t tbody th { max-width: 8.5em; } .t4lr-sb__card { padding: 10px 10px; } }
@media (max-width: 767px) {
  .t4lr-sb__tabs { display: flex; }
  .t4lr-sb__grid { grid-template-columns: minmax(0, 1fr); }
  .t4lr-sb__card:not(.is-on) { display: none; }
  .t4lr-duel__plot { height: 240px; }
  .t4lr-duel__h { font-size: 18px; }
  .t4lr-sb__t tbody th { max-width: 9.5em; }
  /* riepilogo del duello: nelle intestazioni solo A e B (i nomi restano per i lettori di schermo e nei pulsanti sopra) */
  .t4lr-duel__nm { clip: rect(0 0 0 0); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
}
/* ---------------- Riquadro "Piloti a confronto" a schede (23/10/2026) ----------------
   Giro per giro · Settori e giro teorico · Pilota contro pilota · Sessioni: una per volta.
   Dentro le schede i blocchi non hanno più il filetto in testa (la barra fa da separatore). */
.t4lr-cmp__tabs { border-bottom: 1px solid rgba(14, 20, 48, .14); display: flex; gap: 4px; margin: 18px 0 0; overflow-x: auto; scrollbar-width: none; }
.t4lr-cmp__tabs::-webkit-scrollbar { display: none; }
.t4lr-cmp__tab { background: none; border: 0; border-bottom: 3px solid transparent; color: inherit; cursor: pointer; flex: 0 0 auto; font-family: var(--t4-head); font-size: 15px; font-weight: 500; margin-bottom: -1px; opacity: .6; padding: 10px 14px; transition: opacity .2s ease, border-color .2s ease, color .2s ease; white-space: nowrap; }
.t4lr-cmp__tab:hover { opacity: .9; }
.t4lr-cmp__tab.is-on { border-bottom-color: var(--t4-blue); color: var(--t4-blue); opacity: 1; }
.t4lr-cmp__tab:focus-visible { border-radius: 6px; outline: 2px solid var(--t4-blue); outline-offset: -2px; }
.t4lr-cmp__pan { padding-top: 18px; }
.t4lr-cmp__pan[hidden] { display: none; }
.t4lr-cmp__pan:focus { outline: none; }
.t4lr-cmp__pan > .t4lr-lap, .t4lr-cmp__pan > .t4lr-duel, .t4lr-cmp__pan > .t4lr-set, .t4lr-cmp__pan > .t4lr-cmp__grid { border-top: 0; margin-top: 0; padding-top: 0; }
.t4lr-cmp__pan > .t4lr-cmp__grid { margin-top: 0; }
.t4lr-lap__none + .t4lr-cmp__pan { padding-top: 14px; }
/* giro per giro: riferimento della Differenza, Δ sotto il tempo */
.t4lr-lap__ref { align-items: center; display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.t4lr-lap__refk { font-family: var(--t4-mono); font-size: 11px; letter-spacing: .06em; margin-right: 4px; opacity: .7; text-transform: uppercase; }
.t4lr-lap__d { display: block; font-family: var(--t4-mono); font-size: 11px; font-style: normal; margin-top: 2px; }
.t4lr-lap__d.is-faster { color: #13896f; }
.t4lr-lap__d.is-slower { color: #b42318; }
.t4lr-lap__table thead small { opacity: .7; text-transform: none; }
/* settori e giro teorico */
.t4lr-set__grid { display: grid; gap: 22px; grid-template-columns: minmax(0, 1fr); margin-top: 18px; }
@media (min-width: 992px) { .t4lr-set__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } }
.t4lr-secl__plot { height: 260px; margin-top: 12px; position: relative; }
.t4lr-secl .t4lr-lap__head .t4lr-cmp__k { margin: 0; }
.t4lr-loss__key { display: flex; font-size: 12px; gap: 14px; margin: 0 0 10px; opacity: .8; }
.t4lr-loss__key span { align-items: center; display: inline-flex; gap: 6px; }
.t4lr-loss__key i { border-radius: 2px; display: inline-block; height: 10px; width: 14px; }
.t4lr-loss__list { display: grid; gap: 12px; list-style: none; margin: 0; padding: 0; }
.t4lr-loss__row { align-items: center; display: grid; gap: 4px 10px; grid-template-columns: minmax(0, 1fr) auto; }
.t4lr-loss__name { align-items: center; display: flex; font-size: 13px; font-weight: 600; gap: 6px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.t4lr-loss__name i { background: var(--c); border-radius: 50%; flex: 0 0 auto; height: 8px; width: 8px; }
.t4lr-loss__tot { font-family: var(--t4-mono); font-size: 12px; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.t4lr-loss__bar { background: rgba(14, 20, 48, .06); border-radius: 4px; display: flex; grid-column: 1 / -1; grid-row: 2; height: 22px; overflow: hidden; }
.t4lr-loss__bar b { align-items: center; color: #fff; display: flex; font-family: var(--t4-mono); font-size: 10.5px; font-weight: 400; justify-content: center; overflow: hidden; white-space: nowrap; }
.t4lr-loss__bar b.is-light { color: var(--t4-navy); }
@media (max-width: 767px) {
  .t4lr-cmp__tab { font-size: 14px; padding: 9px 11px; }
  .t4lr-secl__plot { height: 220px; }
}
/* telefoni e tablet: la colonna Pilota resta ferma (t4-sections.css, 9rem); col "+"
   dentro serve un po' più di posto per il nome */
@media (max-width: 991px) { .t4lr-table td.t4lr-pilot { min-width: 10.5rem; } .t4lr-tot .t4lr-pos { font-size: 1.2rem; } }
@media (max-width: 767px) {
  .t4lr-kpis { gap: 6px; }
  .t4lr-kpis div { border-radius: 12px; padding: 10px; }
  .t4lr-kpis dt { font-size: 9.5px; }
  .t4lr-kpis strong { font-size: 16px; }
  .t4lr-kpis span { font-size: 11px; }
  .t4lr-pick { height: 28px; margin-right: 8px; width: 28px; }
  .t4lr-cmp { border-radius: 14px; margin-top: 22px; padding: 16px 14px 18px; }
  .t4lr-cmp__h { font-size: 21px; }
  .t4lr-cmp__plot { height: 230px; }
  .t4lr-lap__plot { height: 240px; }
  .t4lr-notes { padding: 14px 14px; }
  .t4lr-notes__list p { font-size: 13px; }
  /* velocità: nome intero sopra, segmento, valori sotto */
  .t4lr-spd__row { grid-template-columns: minmax(0, 1fr); }
  .t4lr-spd__v { grid-row: 3; text-align: left; }
  .t4lr-cmp__table { font-size: 13px; }
  .t4lr-cmp__table th, .t4lr-cmp__table td { padding: 9px 10px; }
  .t4lr-cmp__table td strong { font-size: 17px; }
}
/* scelta della stagione nel calendario della stagione (27/10/2026): solo con 2+ anni in archivio */
.t4ss-years{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem}
.t4ss-year{background:transparent;border:1px solid rgba(15,19,32,.25);border-radius:999px;color:inherit;cursor:pointer;font-family:var(--t4-mono,monospace);font-size:.8rem;padding:.45rem .9rem}
.t4ss-year[aria-pressed="true"]{background:#0f1320;border-color:#0f1320;color:#fff}
