:root {
  color-scheme: dark;
  --bg: #0b0b0f;
  --panel: rgba(21, 21, 30, 0.94);
  --panel-solid: #15151e;
  --line: rgba(255, 255, 255, 0.16);
  --muted: #babdc5;
  --text: #ffffff;
  --red: #e10600;
  --red-dark: #850400;
  --amber: #ff332a;
  --cyan: #f4f4f4;
  --display: "Roboto Condensed", "Arial Narrow", sans-serif;
  --body: "Manrope", system-ui, sans-serif;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }

html { min-width: 320px; background: var(--bg); }

body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  background: var(--bg);
  font-family: var(--body);
  font-size: 16px;
}

button, input, select { font: inherit; }
button, select { cursor: pointer; }

.garage-shell {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  padding: 0 clamp(22px, 5vw, 78px) 28px;
  background: var(--bg);
}

.garage-shell::before {
  content: "";
  position: absolute;
  inset: -14px;
  background:
    linear-gradient(90deg, rgba(11, 11, 15, 0.97) 0%, rgba(11, 11, 15, 0.86) 46%, rgba(11, 11, 15, 0.48) 100%),
    linear-gradient(180deg, rgba(11, 11, 15, 0.08) 32%, rgba(11, 11, 15, 0.94) 100%),
    url("assets/formula-one-background.jpg") center 55% / cover fixed no-repeat;
  filter: grayscale(35%) saturate(0.72) contrast(1.08);
  transform: scale(1.02);
  pointer-events: none;
}

.garage-shell::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.18;
  pointer-events: none;
  background-image: repeating-linear-gradient(135deg, transparent 0 46px, rgba(255,255,255,.045) 46px 47px);
}

.ambient { position: absolute; pointer-events: none; filter: blur(2px); }
.ambient--one { width: 360px; height: 3px; right: 5%; top: 41%; background: linear-gradient(90deg, transparent, var(--red)); transform: rotate(-24deg); }
.ambient--two { width: 280px; height: 2px; left: -5%; top: 31%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.38)); transform: rotate(15deg); }

.topbar, .hero, .setup-card, .team-screen, .card-screen, .career-screen, .footer-line {
  position: relative;
  z-index: 1;
  width: min(100%, 1180px);
  margin-inline: auto;
}

.topbar {
  height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255,255,255,.24);
}

.brand { color: var(--text); text-decoration: none; display: flex; align-items: center; gap: 12px; font: 800 18px/1 var(--display); letter-spacing: 0.16em; }
.brand__mark { width: 36px; height: 26px; display: grid; align-content: center; gap: 3px; transform: skewX(-16deg); }
.brand__mark i { display: block; height: 4px; background: var(--red); }
.brand__mark i:nth-child(1) { width: 100%; }
.brand__mark i:nth-child(2) { width: 76%; }
.brand__mark i:nth-child(3) { width: 52%; }

.season-tag { color: #bfc4cc; font: 700 12px/1 var(--display); letter-spacing: 0.16em; display: flex; align-items: center; gap: 9px; }
.season-tag span { width: 7px; height: 7px; border-radius: 50%; background: var(--red); box-shadow: 0 0 14px var(--red); }

.hero { min-height: calc(100vh - 140px); padding: clamp(70px, 12vh, 145px) 0 100px; display: flex; justify-content: space-between; align-items: center; gap: 40px; }
.hero__copy { max-width: 710px; }
.eyebrow, .section-kicker { margin: 0 0 16px; color: #a9afb7; font: 700 12px/1 var(--display); letter-spacing: 0.25em; }
.eyebrow span { display: inline-block; width: 6px; height: 6px; margin-right: 11px; border-radius: 50%; background: var(--red); box-shadow: 0 0 11px rgba(255,59,48,.55); vertical-align: 1px; }
.hero h1 { margin: 0; font: italic 900 clamp(68px, 8.5vw, 122px)/0.78 var(--display); letter-spacing: -0.045em; text-transform: uppercase; text-shadow: 0 8px 40px rgba(0,0,0,.48); }
.hero h1 em { color: var(--red); font-style: italic; }
.hero__description { max-width: 560px; margin: 32px 0 0 3px; color: #c1c5cc; font-size: 14px; line-height: 1.7; }

.intro-button { width: min(100%, 390px); height: 62px; margin-top: 38px; display: flex; align-items: center; justify-content: center; gap: 16px; border: 0; color: white; background: linear-gradient(90deg, #ca241d, var(--red)); font: 800 20px/1 var(--display); letter-spacing: .08em; clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px)); transition: 180ms ease; }
.intro-button:hover { filter: brightness(1.14); letter-spacing: .1em; }
.intro-button svg { width: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; transition: transform 180ms ease; }
.intro-button:hover svg { transform: translateX(4px); }
.intro-note { margin: 13px 0 0 3px; color: #777c85; font: 700 9px/1 var(--display); letter-spacing: .12em; }
.hero__race-line { align-self: flex-end; width: 290px; margin-bottom: 38px; display: flex; align-items: center; color: rgba(255,255,255,.34); font: 700 9px/1 var(--display); letter-spacing: .18em; transform: rotate(-90deg) translateX(110px); transform-origin: bottom right; }
.hero__race-line i { flex: 1; height: 1px; margin: 0 13px; background: linear-gradient(90deg, var(--red), rgba(255,255,255,.12)); }
.hero__race-line b { color: var(--red); font-size: 22px; }

.setup-card {
  margin-top: clamp(46px, 8vh, 92px);
  padding: clamp(26px, 4vw, 48px);
  border: 1px solid var(--line);
  border-top: 3px solid var(--red);
  background: linear-gradient(125deg, rgba(31, 31, 39, 0.98), rgba(21, 21, 30, 0.97));
  box-shadow: 0 36px 100px rgba(0, 0, 0, 0.52);
  backdrop-filter: blur(20px);
}

.setup-card__heading { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 30px; }
.section-kicker { color: var(--red); margin-bottom: 8px; }
.setup-card h2, .confirmation h2 { margin: 0; font: 800 36px/1 var(--display); text-transform: uppercase; letter-spacing: 0.01em; }
.setup-card__intro { margin: 10px 0 0; color: #7f858f; font-size: 11px; }
.back-button { margin: 0 0 26px; padding: 0; display: flex; align-items: center; gap: 7px; border: 0; color: #8e949d; background: transparent; font: 700 10px/1 var(--display); letter-spacing: .15em; }
.back-button:hover { color: var(--text); }
.back-button svg { width: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.random-button { display: flex; align-items: center; gap: 9px; padding: 10px 15px; color: var(--text); background: transparent; border: 1px solid var(--line); font: 700 12px/1 var(--display); letter-spacing: 0.12em; transition: 160ms ease; }
.random-button:hover { border-color: var(--red); background: rgba(255, 59, 48, 0.08); }
.random-button svg { width: 16px; fill: none; stroke: var(--red); stroke-width: 1.8; }

.identity-grid { display: grid; grid-template-columns: minmax(260px, 1.3fr) minmax(220px, 1fr) 120px 100px; gap: 12px; }
.field > span:first-child, .style-picker legend { display: block; margin: 0 0 9px; color: #8f949d; font: 700 10px/1 var(--display); letter-spacing: 0.17em; }
.field input, .field select { width: 100%; height: 58px; padding: 0 17px; border: 1px solid var(--line); border-radius: 0; outline: none; color: var(--text); background: rgba(12, 12, 17, 0.88); transition: border-color 160ms ease, background 160ms ease; }
.field input::placeholder { color: #646973; }
.field input:focus, .field select:focus { border-color: var(--red); background: rgba(255, 59, 48, 0.035); }
.field select { appearance: none; padding-right: 44px; }
.field--code { position: relative; }
.field--code input { padding: 0 14px 11px; color: white; border-color: rgba(225,6,0,.65); font: 800 25px/1 var(--display); letter-spacing: .12em; text-transform: uppercase; }
.field--code > small { position: absolute; right: 12px; bottom: 7px; color: #76767f; font: 700 7px/1 var(--display); letter-spacing: .13em; pointer-events: none; }
.select-wrap { position: relative; display: block; }
.select-wrap svg { position: absolute; width: 18px; right: 15px; top: 19px; fill: none; stroke: #7c828c; stroke-width: 2; pointer-events: none; }
.country-picker { position: relative; }
.country-picker > select { display: none; }
.country-picker__trigger { width: 100%; height: 56px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 15px 0 17px; border: 1px solid var(--line); color: var(--text); background: rgba(5, 6, 8, 0.82); text-align: left; transition: border-color 160ms ease, background 160ms ease; }
.country-picker__trigger:hover, .country-picker__trigger:focus-visible, .country-picker__trigger[aria-expanded="true"] { border-color: var(--red); background: #1f1f27; outline: none; }
.country-picker__trigger > span { min-width: 0; display: flex; align-items: center; gap: 11px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.country-picker__trigger svg { flex: 0 0 18px; width: 18px; fill: none; stroke: #9298a2; stroke-width: 2; transition: transform 160ms ease; }
.country-picker__trigger[aria-expanded="true"] svg { transform: rotate(180deg); }
.country-picker__menu { position: absolute; z-index: 20; top: calc(100% + 6px); left: 0; width: 100%; max-height: 294px; padding: 6px; overflow-y: auto; border: 1px solid #343840; background: #101217; box-shadow: 0 22px 55px rgba(0,0,0,.72); }
.country-picker__menu button { width: 100%; min-height: 44px; display: flex; align-items: center; gap: 12px; padding: 8px 11px; border: 0; color: #e9e6df; background: transparent; text-align: left; font-size: 13px; transition: color 120ms ease, background 120ms ease; }
.country-picker__menu button:hover, .country-picker__menu button:focus-visible { color: white; background: rgba(255,255,255,.08); outline: none; }
.country-picker__menu button[aria-selected="true"] { color: white; background: rgba(255,59,48,.15); box-shadow: inset 3px 0 0 var(--red); }
.country-picker img, .driver-preview__copy img { width: 28px; height: 18px; flex: 0 0 28px; object-fit: cover; border: 1px solid rgba(255,255,255,.18); box-shadow: 0 2px 8px rgba(0,0,0,.35); }

.difficulty-picker { margin: 26px 0 0; padding: 0; border: 0; }
.difficulty-picker legend { margin-bottom: 10px; color: #8f949d; font: 700 10px/1 var(--display); letter-spacing: .17em; }
.difficulty-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.difficulty-grid label { cursor: pointer; }
.difficulty-grid input { position: absolute; opacity: 0; pointer-events: none; }
.difficulty-grid label > span { min-height: 92px; display: flex; flex-direction: column; justify-content: center; padding: 14px 16px; border: 1px solid #2b2f36; background: rgba(7,8,10,.6); transition: 160ms ease; }
.difficulty-grid small { color: #858b94; font: 700 9px/1 var(--display); letter-spacing: .14em; }
.difficulty-grid strong { margin: 7px 0 6px; color: #f0ede6; font: 800 20px/1 var(--display); }
.difficulty-grid b { color: #69707a; font-size: 9px; font-weight: 500; }
.difficulty-grid label:hover > span { border-color: #565b64; background: rgba(255,255,255,.035); }
.difficulty-grid input:focus-visible + span { outline: 2px solid #fff; outline-offset: 3px; }
.difficulty-grid input:checked + span { color: #fff; border-color: var(--red); background: linear-gradient(115deg, rgba(225,6,0,.13), rgba(31,31,39,.96) 58%); box-shadow: inset 3px 0 0 var(--red); }
.difficulty-grid input:checked + span small, .difficulty-grid input:checked + span strong { color: #fff; }
.difficulty-grid input:checked + span b { color: #b7bbc3; }

.style-picker { border: 0; padding: 0; margin: 30px 0 0; }
.style-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.style-option { display: block; cursor: pointer; }
.style-option input { position: absolute; opacity: 0; pointer-events: none; }
.style-card { min-height: 148px; position: relative; display: grid; grid-template-columns: 58px 1fr; align-items: center; gap: 16px; padding: 22px 24px; overflow: hidden; color: #9ba0a8; background: #1f1f27; border: 1px solid var(--line); transition: 180ms ease; }
.style-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: transparent; transition: 180ms ease; }
.style-card__index { position: absolute; right: 18px; top: 12px; color: rgba(255, 255, 255, 0.05); font: 900 48px/1 var(--display); }
.style-card__icon { color: #5d626b; font: 800 46px/1 var(--display); }
.style-card__icon svg { width: 40px; height: 40px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.style-card__content { display: flex; flex-direction: column; position: relative; }
.style-card__content strong { color: #f3f0e9; font: 800 26px/1 var(--display); letter-spacing: 0.03em; }
.style-card__content small { margin: 7px 0 10px; color: #8f949d; font: 700 11px/1 var(--display); letter-spacing: 0.07em; text-transform: uppercase; }
.style-card__content > span { color: #7d838d; font-size: 11px; line-height: 1.45; }
.style-card__check { position: absolute; right: 18px; bottom: 16px; display: grid; place-items: center; width: 20px; height: 20px; border: 1px solid #555a63; color: transparent; border-radius: 50%; font: normal 700 11px/1 var(--body); }
.style-card__check svg { width: 12px; fill: none; stroke: currentColor; stroke-width: 2; }
.style-option:hover .style-card { border-color: rgba(255, 255, 255, 0.26); transform: translateY(-2px); }
.style-option input:checked + .style-card { border-color: var(--red); background: linear-gradient(115deg, rgba(225, 6, 0, 0.15), #1f1f27 48%); color: var(--text); box-shadow: inset 0 0 0 1px rgba(225, 6, 0, 0.16); }
.style-option input:checked + .style-card::before { background: var(--red); }
.style-option input:checked + .style-card .style-card__icon { color: var(--red); }
.style-option input:checked + .style-card .style-card__check { color: white; border-color: var(--red); background: var(--red); }

.driver-preview { margin: 30px 0 18px; min-height: 106px; display: flex; align-items: center; padding: 14px 22px; border: 1px solid var(--line); border-right: 4px solid var(--red); background: linear-gradient(100deg, #1f1f27, #15151e 68%, rgba(225,6,0,.12)); }
.helmet { flex: 0 0 82px; width: 82px; height: 72px; position: relative; display: grid; place-items: center; margin-right: 20px; border: 3px solid var(--red); border-radius: 52% 48% 38% 45%; color: var(--text); font: italic 900 30px/1 var(--display); transform: skewX(-5deg); }
.helmet::after { content: ""; position: absolute; width: 56px; height: 20px; top: 21px; right: -6px; background: #090a0d; border: 2px solid #b51c17; border-left-color: transparent; border-radius: 0 10px 14px 0; }
.helmet strong { position: relative; z-index: 1; margin-left: -42px; }
.helmet__shine { position: absolute; top: 7px; right: 15px; width: 20px; height: 2px; background: #ff8b84; }
.driver-preview__copy { display: flex; flex-direction: column; min-width: 0; }
.driver-preview__copy > div { display: flex; align-items: center; gap: 11px; min-width: 0; }
.driver-preview__copy span { color: #777d87; font: 700 9px/1 var(--display); letter-spacing: .16em; }
.driver-preview__copy strong { margin: 5px 0; overflow: hidden; text-overflow: ellipsis; color: var(--text); font: 800 27px/1 var(--display); text-transform: uppercase; white-space: nowrap; }
.driver-preview__copy b { flex: 0 0 auto; padding: 5px 7px 4px; color: white; background: var(--red); font: 800 13px/1 var(--display); letter-spacing: .12em; }
.driver-preview__copy small { min-height: 18px; display: flex; align-items: center; gap: 8px; color: #a4a9b1; font: 600 11px/1 var(--display); letter-spacing: .07em; }
.driver-preview__copy small img { width: 22px; height: 14px; flex-basis: 22px; }

.form-error { min-height: 18px; margin: 0 0 8px; color: #ff7770; font-size: 12px; }
.primary-button { width: 100%; height: 64px; display: flex; align-items: center; justify-content: center; gap: 16px; border: 0; color: #fff; background: linear-gradient(90deg, #c9231c, var(--red)); font: 800 20px/1 var(--display); letter-spacing: .07em; clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px)); transition: 180ms ease; }
.primary-button:hover { filter: brightness(1.14); letter-spacing: .09em; }
.primary-button svg { width: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; transition: transform 180ms ease; }
.primary-button:hover svg { transform: translateX(4px); }
.fine-print { margin: 13px 0 0; color: #6f7580; font-size: 10px; text-align: center; }

.footer-line { padding: 30px 0 0; display: flex; justify-content: space-between; color: #555a63; font: 700 9px/1 var(--display); letter-spacing: .16em; }
.footer-line a { color: #666b74; text-decoration: none; transition: color 160ms ease; }
.footer-line a:hover { color: #b0b5bd; }

.confirmation { width: min(90vw, 520px); padding: 42px; color: var(--text); border: 1px solid #3b3f47; border-top: 0; background: #0e1014; box-shadow: 0 35px 120px #000; }
.confirmation::backdrop { background: rgba(2,3,5,.84); backdrop-filter: blur(8px); }
.confirmation__stripe { height: 5px; margin: -42px -42px 38px; background: repeating-linear-gradient(90deg, var(--red) 0 35px, #f5f1e8 35px 70px); }
.confirmation > p:not(.section-kicker) { color: #9da2ab; font-size: 13px; line-height: 1.6; }
.confirmation button { width: 100%; margin-top: 24px; padding: 16px; display: flex; align-items: center; justify-content: center; gap: 10px; border: 0; color: white; background: var(--red); font: 800 16px/1 var(--display); letter-spacing: .08em; }
.confirmation button svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }

.screen-panel {
  margin-top: clamp(46px, 8vh, 92px);
  padding: clamp(26px, 4vw, 48px);
  border: 1px solid var(--line);
  border-top: 3px solid var(--red);
  background: linear-gradient(125deg, rgba(31, 31, 39, 0.98), rgba(21, 21, 30, 0.97));
  box-shadow: 0 36px 100px rgba(0, 0, 0, 0.52);
  backdrop-filter: blur(20px);
}
.screen-panel__header { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; margin-bottom: 34px; }
.screen-panel__header h2, .career-event h2 { margin: 0; font: italic 900 clamp(38px, 5vw, 58px)/.92 var(--display); letter-spacing: -.02em; text-transform: uppercase; }
.screen-panel__header > div:first-child > p:last-child { max-width: 630px; margin: 14px 0 0; color: #8d939d; font-size: 12px; line-height: 1.6; }
.candidate-chip { min-width: 220px; padding: 15px 18px; border-left: 3px solid var(--red); background: rgba(255,255,255,.035); }
.candidate-chip > * { display: block; }
.candidate-chip span, .candidate-chip small { color: #747a85; font: 700 9px/1 var(--display); letter-spacing: .15em; }
.candidate-chip strong { margin: 6px 0; font: 800 22px/1 var(--display); text-transform: uppercase; }

.team-market-note { margin: 0 0 12px; padding-left: 11px; color: #757c87; border-left: 2px solid var(--amber); font: 700 9px/1.4 var(--display); letter-spacing: .12em; }
.team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.team-option { display: block; cursor: pointer; }
.team-option > input { position: absolute; opacity: 0; pointer-events: none; }
.team-card { min-height: 438px; position: relative; display: flex; flex-direction: column; align-items: center; padding: 22px 22px 38px; overflow: hidden; border: 1px solid #38383f; background: linear-gradient(160deg, #1f1f27, #15151e); transition: 180ms ease; }
.team-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: transparent; transition: background 180ms ease; }
.team-option:hover .team-card { transform: translateY(-3px); border-color: #505660; }
.team-option input:checked + .team-card { border-color: var(--red); background: linear-gradient(160deg, rgba(225,6,0,.14), #15151e 48%); box-shadow: inset 0 0 0 1px rgba(225,6,0,.16), 0 14px 42px rgba(0,0,0,.32); }
.team-option input:checked + .team-card::before { background: var(--red); }
.team-card__topline { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #646a74; font: 700 9px/1 var(--display); letter-spacing: .13em; }
.team-card__topline b { color: #9399a3; font-size: 8px; font-weight: 700; text-align: right; }
.team-card--top .team-card__topline b { color: #ff6b60; }
.team-card--mid .team-card__topline b { color: var(--amber); }
.team-card--budget .team-card__topline b { color: var(--cyan); }
.team-logo { width: 82px; height: 82px; margin: 30px 0 20px; display: grid; place-items: center; position: relative; color: #fff; border: 2px solid currentColor; background: #111319; transform: rotate(45deg); box-shadow: inset 0 0 0 5px #111319, inset 0 0 0 7px currentColor; }
.team-logo i { font: normal 900 38px/1 var(--display); transform: rotate(-45deg); }
.team-logo--vertice { color: #ff4339; border-radius: 6px 24px 6px 24px; }
.team-logo--prisma { color: #52d5ff; border-radius: 50%; }
.team-logo--sur { color: #ffd058; border-radius: 4px 50% 4px 50%; }
.team-card__logo-wrap { width: 100%; height: 104px; margin: 22px 0 15px; display: grid; place-items: center; padding: 12px 18px; border: 1px solid #252a31; background: rgba(243,243,239,.96); }
.team-card__logo-wrap img { width: 100%; height: 78px; object-fit: contain; }
.team-card__wordmark { color: #13161a; font: italic 900 32px/1 var(--display); letter-spacing: .04em; }
.team-card > strong { font: 800 27px/1 var(--display); letter-spacing: .03em; text-align: center; }
.team-card__location { min-height: 25px; margin-top: 7px; color: #7e848e; font-size: 9px; line-height: 1.35; text-align: center; }
.team-card__metrics { width: 100%; display: grid; grid-template-columns: repeat(3, 1fr); margin: 24px 0 17px; border: 1px solid #272b32; }
.team-card__metrics > span { padding: 10px 4px; text-align: center; border-right: 1px solid #272b32; }
.team-card__metrics > span:last-child { border-right: 0; }
.team-card__metrics small, .team-card__offer small { display: block; color: #696f79; font: 700 8px/1 var(--display); letter-spacing: .1em; }
.team-card__metrics b { display: block; margin-top: 5px; color: #e3e0da; font: 800 20px/1 var(--display); }
.team-card__offer { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 12px 0; border-top: 1px solid #272b32; border-bottom: 1px solid #272b32; }
.team-card__offer b { color: var(--amber); font: 800 18px/1 var(--display); }
.team-card__contract { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 9px 0 0; color: #6f7680; }
.team-card__contract small { font: 700 8px/1 var(--display); letter-spacing: .1em; }
.team-card__contract b { color: #d8dce2; font: 800 12px/1 var(--display); }
.team-card__perk { align-self: flex-start; margin-top: 14px; color: #7f858f; font-size: 10px; line-height: 1.5; }
.team-card__check { position: absolute; right: 17px; top: 46px; width: 22px; height: 22px; display: grid; place-items: center; border: 1px solid #4b515b; border-radius: 50%; color: transparent; }
.team-card__check svg { width: 13px; fill: none; stroke: currentColor; stroke-width: 2; }
.team-option input:checked + .team-card .team-card__check { color: #090a0d; border-color: var(--amber); background: var(--amber); }
.team-selection-summary { min-height: 56px; margin: 20px 0 14px; display: flex; align-items: center; justify-content: center; padding: 12px 16px; border: 1px solid #262a31; color: #737984; background: rgba(5,6,8,.55); font: 700 10px/1.4 var(--display); letter-spacing: .1em; text-align: center; }
.team-selection-summary strong { color: var(--text); }
.primary-button:disabled { cursor: not-allowed; opacity: .34; filter: grayscale(.4); }
.style-picker--standalone { margin-top: 0; }
.style-picker--standalone .style-card { min-height: 210px; }
.style-picker--standalone .style-card__content strong { font-size: 34px; }
.style-picker--standalone .style-card__content > span { max-width: 380px; font-size: 12px; }
.card-screen__note { min-height: 18px; margin: 22px 0 10px; color: #727984; font-size: 10px; text-align: center; }

.career-screen { margin-top: 28px; }
.career-hud { position: relative; padding: clamp(20px, 3vw, 34px); overflow: hidden; border: 1px solid #38383f; border-top: 4px solid var(--red); border-radius: 0 18px 0 0; background: linear-gradient(120deg, rgba(31,31,39,.98), rgba(21,21,30,.99)); box-shadow: 0 28px 70px rgba(0,0,0,.46); }
.career-hud::after { content: ""; position: absolute; z-index: 0; top: -52px; right: 46px; width: 2px; height: 190px; background: rgba(225,6,0,.5); transform: rotate(38deg); box-shadow: 14px 0 0 rgba(225,6,0,.18), 28px 0 0 rgba(225,6,0,.08); pointer-events: none; }
.career-hud > * { position: relative; z-index: 1; }
.career-hud__identity { display: flex; align-items: center; gap: 18px; }
.career-rating { min-width: 74px; text-align: center; border-right: 1px solid #38383f; }
.career-rating strong { display: block; font: 900 57px/.8 var(--display); }
.career-rating span { color: #68717e; font: 700 8px/1 var(--display); letter-spacing: .14em; }
.career-driver { min-width: 0; }
.career-driver__name { display: flex; align-items: center; gap: 9px; min-width: 0; }
.career-driver button.career-driver__name { width: fit-content; padding: 0; border: 0; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.career-driver button.career-driver__name:hover strong { color: #fff; text-decoration: underline; text-decoration-color: var(--red); text-underline-offset: 5px; }
.career-driver button.career-driver__name:focus-visible { outline: 2px solid white; outline-offset: 6px; }
.career-driver__name img { width: 29px; height: 18px; object-fit: cover; border: 1px solid rgba(255,255,255,.18); }
.career-driver__name strong { max-width: 340px; overflow: hidden; color: var(--text); font: 800 29px/1 var(--display); text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.career-driver__code { flex: 0 0 auto; padding: 5px 7px 4px; color: white; background: var(--red); font: 800 13px/1 var(--display); letter-spacing: .12em; }
.career-driver__name span { color: #b6b6bd; font: 700 21px/1 var(--display); }
.career-driver small { display: block; margin-top: 7px; color: #8992a0; font: 700 9px/1 var(--display); letter-spacing: .1em; }
.career-context { margin-top: 8px; display: flex; align-items: center; gap: 10px; color: #6f7986; font: 700 8px/1 var(--display); letter-spacing: .1em; }
.career-context b { color: #d8d8dc; font-weight: 700; }
.career-context strong { color: #55e98a; font-weight: 700; }
.career-team { margin-left: auto; display: flex; align-items: center; gap: 16px; text-align: right; }
.career-team > img { width: 118px; height: 64px; padding: 8px; object-fit: contain; border: 1px solid rgba(255,255,255,.14); background: rgba(246,246,242,.96); }
.career-team > span { min-width: 110px; padding: 17px 14px; color: #fff; border: 1px solid #38383f; background: #1f1f27; font: italic 900 23px/1 var(--display); text-align: center; }
.team-logo--small { width: 52px; height: 52px; margin: 0; }
.team-logo--small i { font-size: 24px; }
.career-team div > * { display: block; }
.career-team small { margin-bottom: 6px; color: #6c7582; font: 700 8px/1 var(--display); letter-spacing: .13em; }
.career-team strong { font: 800 18px/1 var(--display); }
.career-results { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 28px; }
.career-results div { padding: 12px; text-align: center; border-top: 2px solid #38383f; background: #1f1f27; }
.career-results div:first-child { border-top-color: var(--red); }
.career-results strong { display: block; color: #f0eee9; font: 800 26px/1 var(--display); }
.career-results span, .career-attributes span { display: block; margin-top: 3px; color: #808997; font: 700 8px/1 var(--display); letter-spacing: .1em; }
.career-attributes { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 6px; }
.career-attributes div { padding: 9px; text-align: center; border-bottom: 1px solid #38383f; background: #181820; }
.career-attributes strong { display: flex; align-items: baseline; justify-content: center; gap: 5px; color: #f1f1f3; font: 800 21px/1 var(--display); }
.career-attributes strong b { color: inherit; font: inherit; }
.career-attributes strong i { font: normal 800 8px/1 var(--display); letter-spacing: .02em; }
.career-attributes strong i.is-up { color: #42e773; }
.career-attributes strong i.is-down { color: #ff6f68; }
.career-attributes strong i.is-flat { color: #66666e; }
.career-economy { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 6px; margin-top: 6px; }
.career-economy div { padding: 12px 16px; border-left: 2px solid #38383f; background: #1f1f27; }
.career-economy span { display: block; color: #76808e; font: 700 8px/1 var(--display); letter-spacing: .1em; }
.career-economy strong { display: block; margin-top: 5px; color: #fff; font: 800 21px/1 var(--display); }
.career-economy div:nth-child(2) strong { color: #d8d8dc; }
.career-economy div:nth-child(3) { border-left-color: var(--red); }
.career-economy div:nth-child(3) strong { color: #fff; }
.career-contract-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 6px; }
.career-contract-strip > div { position: relative; padding: 12px 16px 13px; overflow: hidden; border: 1px solid #31313a; background: linear-gradient(110deg, #181820, #202029); }
.career-contract-strip > div::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 2px; background: var(--red); }
.career-contract-strip > div:nth-child(2)::before { background: #d8d8dc; }
.career-contract-strip > div:nth-child(3)::before { background: #e6bd49; }
.career-contract-strip span, .career-contract-strip small { display: block; color: #747d89; font: 700 8px/1 var(--display); letter-spacing: .11em; }
.career-contract-strip strong { display: block; margin: 6px 0 5px; color: #f3f1ec; font: 800 16px/1 var(--display); letter-spacing: .04em; }
.career-contract-strip small { color: #979ea8; line-height: 1.3; }
.career-contract-strip .superlicence-status strong { color: #f0cd65; }
.career-contract-strip .superlicence-status.is-eligible strong { color: #61e58c; }
.superlicence-progress { height: 3px; margin-top: 9px; overflow: hidden; background: #34343c; }
.superlicence-progress i { width: 0; height: 100%; display: block; background: linear-gradient(90deg, #b68a1d, #f0cd65); transition: width 240ms ease; }
.superlicence-status.is-eligible .superlicence-progress i { background: #54df80; }
.career-fame { margin-top: 20px; }
.career-fame > div:first-child { display: flex; justify-content: space-between; gap: 18px; color: #77818e; font: 700 8px/1 var(--display); letter-spacing: .12em; }
.career-fame > div:first-child span { display: flex; align-items: center; gap: 8px; }
.career-fame > div:first-child b { color: #c6ccd4; font-weight: 700; }
.career-fame > div:first-child strong { font-weight: 700; }
.career-fame > div:first-child strong.is-positive { color: #55e98a; }
.career-fame > div:first-child strong.is-negative { color: #ff6f65; }
.career-fame > div:first-child strong.is-neutral { color: #a8b0bc; }
.career-fame__bar { height: 8px; margin-top: 9px; overflow: hidden; background: #38383f; }
.career-fame__bar i { display: block; width: 2%; min-width: 8px; height: 100%; background: linear-gradient(90deg, var(--red-dark), var(--red)); transition: width 300ms ease; }
.career-matchups { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 16px; }
.matchup-card { padding: 14px 16px; border-left: 3px solid #fff; background: #1f1f27; }
.matchup-card--rival { border-left-color: var(--red); }
.matchup-card > span { color: #6f7987; font: 700 8px/1 var(--display); letter-spacing: .13em; }
.matchup-card > div { margin: 6px 0 4px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.matchup-card > div b { font: 800 18px/1 var(--display); }
.matchup-card > div strong { color: #cad1dc; font: 800 22px/1 var(--display); }
.matchup-card > div i { font-style: normal; }
.matchup-card > small { color: #68717e; font-size: 8px; }
.career-hud__footer { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 16px; margin-top: 19px; }
.season-progress { margin-top: 0; }
.season-progress > div:first-child { display: flex; justify-content: space-between; color: #77818e; font: 700 8px/1 var(--display); letter-spacing: .12em; }
.season-progress__bar { height: 7px; margin-top: 8px; overflow: hidden; background: #38383f; }
.season-progress__bar i { display: block; width: 12%; height: 100%; background: var(--red); }
.career-hud__actions { display: flex; gap: 7px; }
.career-hud__actions button { min-width: 112px; height: 48px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid #5b5b63; color: #f2f2f3; background: #1f1f27; font: 700 10px/1 var(--display); letter-spacing: .08em; transition: 160ms ease; }
.career-hud__actions button:first-child { color: #fff; border-color: #77777f; }
.career-hud__actions button:nth-child(2) { color: #fff; border-color: #77777f; }
.career-hud__actions button:hover { color: white; border-color: var(--red); background: rgba(255,59,48,.12); }
.career-hud__actions button:focus-visible { outline: 2px solid white; outline-offset: 2px; }
.career-hud__actions svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.career-hud__actions button { position: relative; }
.hud-action-badge { position: absolute; top: -7px; right: -7px; min-width: 21px; height: 21px; display: grid; place-items: center; padding: 0 5px; border: 2px solid #101016; border-radius: 12px; color: white; background: var(--red); font: 800 10px/1 var(--display); }

.sponsor-dialog { width: min(94vw, 1120px); }
.sponsor-dialog__balance { margin-left: auto; text-align: right; }
.sponsor-dialog__balance span { display: block; margin-bottom: 5px; color: #9fa6b0; font: 700 10px/1 var(--display); letter-spacing: .12em; }
.sponsor-dialog__balance strong { color: #62e98d; font: 800 21px/1 var(--display); }
.sponsor-dialog__body { display: grid; gap: 28px; }
.sponsor-summary-strip { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid #3a3a43; background: #101017; }
.sponsor-summary-strip > div { min-height: 82px; display: flex; flex-direction: column; justify-content: center; gap: 9px; padding: 17px 20px; border-right: 1px solid #34343c; }
.sponsor-summary-strip > div:last-child { border-right: 0; }
.sponsor-summary-strip span { color: #aeb4bd; font: 700 10px/1.25 var(--display); letter-spacing: .1em; }
.sponsor-summary-strip strong { color: white; font: 800 23px/1 var(--display); }
.sponsor-section { display: grid; gap: 14px; }
.sponsor-section__heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-bottom: 11px; border-bottom: 1px solid #3a3a43; }
.sponsor-section__heading span { display: block; margin-bottom: 6px; color: var(--red); font: 800 10px/1 var(--display); letter-spacing: .16em; }
.sponsor-section__heading h3 { margin: 0; font: italic 900 25px/1 var(--display); }
.sponsor-section__heading small { max-width: 330px; color: #aeb4bd; font: 700 10px/1.4 var(--display); letter-spacing: .08em; text-align: right; }
.sponsor-active-list, .sponsor-offer-list { display: grid; gap: 12px; }
.sponsor-empty { margin: 0; padding: 22px; color: #bdc2ca; border: 1px dashed #45454e; background: rgba(255,255,255,.025); font-size: 14px; line-height: 1.5; }
.sponsor-monogram { width: 58px; height: 58px; flex: 0 0 58px; display: grid; place-items: center; border: 1px solid #666771; color: white; background: linear-gradient(145deg, #30303a, #18181e); font: 900 16px/1 var(--display); letter-spacing: .04em; }
.sponsor-active-card { display: grid; grid-template-columns: 58px minmax(220px, 1fr) minmax(430px, 1.5fr); align-items: center; gap: 18px; padding: 18px; border-left: 3px solid #63e68b; background: #1d1d25; }
.sponsor-active-card > div > span, .sponsor-offer-card__brand > div > span, .sponsor-negotiation__brand > div > span { color: #9ea6b1; font: 700 10px/1 var(--display); letter-spacing: .1em; }
.sponsor-active-card h4, .sponsor-offer-card h4 { margin: 6px 0 0; font: 800 19px/1 var(--display); }
.sponsor-active-card p, .sponsor-offer-card > p { margin: 8px 0 0; color: #c4c8cf; font-size: 13px; line-height: 1.45; }
.sponsor-active-card dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 0; background: #383840; }
.sponsor-active-card dl div { min-height: 62px; padding: 13px 11px; background: #14141b; }
.sponsor-active-card dt, .sponsor-active-card dd { margin: 0; }
.sponsor-active-card dt { color: #969eaa; font: 700 9px/1 var(--display); letter-spacing: .09em; }
.sponsor-active-card dd { margin-top: 8px; color: white; font: 800 12px/1.2 var(--display); }
.sponsor-offer-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sponsor-offer-card { display: flex; flex-direction: column; min-height: 340px; padding: 21px; border: 1px solid #41414a; border-top: 3px solid #777984; background: linear-gradient(155deg, #24242d, #18181f 66%); }
.sponsor-offer-card__brand { display: flex; align-items: center; gap: 14px; }
.sponsor-offer-card > p { min-height: 57px; margin-bottom: 19px; }
.sponsor-offer-card__terms { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: auto; background: #3b3b43; }
.sponsor-offer-card__terms > span { min-height: 61px; padding: 12px; background: #121219; }
.sponsor-offer-card__terms small { display: block; margin-bottom: 7px; color: #969eaa; font: 700 9px/1 var(--display); letter-spacing: .08em; }
.sponsor-offer-card__terms b { color: #f4f5f6; font: 800 13px/1.2 var(--display); }
.sponsor-offer-card > button { min-height: 46px; margin-top: 13px; border: 1px solid #696a73; color: white; background: #2a2a33; font: 800 11px/1 var(--display); letter-spacing: .08em; }
.sponsor-offer-card > button:hover, .sponsor-offer-card > button:focus-visible { border-color: var(--red); background: rgba(225,6,0,.16); }
.sponsor-negotiation { display: grid; gap: 18px; }
.sponsor-negotiation__back { width: max-content; min-height: 40px; padding: 0 14px; border: 1px solid #4a4a53; color: #d9dce1; background: transparent; font: 700 10px/1 var(--display); letter-spacing: .09em; }
.sponsor-negotiation__brand { display: flex; align-items: center; gap: 17px; padding: 20px; border-left: 3px solid var(--red); background: #1e1e26; }
.sponsor-negotiation__brand h3 { margin: 6px 0 8px; font: italic 900 29px/1 var(--display); }
.sponsor-negotiation__brand p { max-width: 680px; margin: 0; color: #c8ccd2; font-size: 13px; line-height: 1.5; }
.sponsor-negotiation__layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: 15px; }
.sponsor-controls, .sponsor-contract-preview { border: 1px solid #3d3d46; background: #17171f; }
.sponsor-controls { display: grid; gap: 23px; padding: 22px; }
.sponsor-control { display: grid; gap: 10px; }
.sponsor-control > span, .sponsor-patience > span { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #aeb4bd; font: 700 10px/1.2 var(--display); letter-spacing: .08em; }
.sponsor-control > span strong { color: white; }
.sponsor-control small { color: #aeb4bd; font-size: 12px; line-height: 1.4; }
.sponsor-control input[type="range"] { width: 100%; min-height: 28px; accent-color: var(--red); cursor: pointer; }
.sponsor-patience { display: grid; gap: 9px; padding-top: 18px; border-top: 1px solid #3b3b43; }
.sponsor-patience > span b { color: white; }
.sponsor-patience > i { height: 8px; overflow: hidden; background: #3a3a42; }
.sponsor-patience > i > b { width: 100%; height: 100%; display: block; background: linear-gradient(90deg, #df2119, #f1cc63); transition: width 220ms ease; }
.sponsor-contract-preview { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; padding: 1px; background: #3c3c45; }
.sponsor-contract-preview h4 { grid-column: 1 / -1; margin: 0; padding: 17px; background: #111117; font: italic 900 21px/1 var(--display); }
.sponsor-contract-preview > div { min-height: 77px; padding: 15px; background: #191921; }
.sponsor-contract-preview small { display: block; margin-bottom: 8px; color: #a2a9b3; font: 700 9px/1.25 var(--display); letter-spacing: .07em; }
.sponsor-contract-preview strong { color: white; font: 800 16px/1.15 var(--display); }
.sponsor-contract-preview > p { grid-column: 1 / -1; margin: 0; padding: 15px; color: #c6cad1; background: #111117; font-size: 12px; }
.sponsor-contract-preview > p b { color: #65e78e; }
.sponsor-negotiation__status { min-height: 48px; display: flex; align-items: center; margin: 0; padding: 13px 16px; border-left: 3px solid #f0cc65; color: #ecedf0; background: rgba(240,204,101,.08); font-size: 13px; line-height: 1.4; }
.sponsor-negotiation__actions { display: grid; grid-template-columns: 1fr 1.3fr; gap: 10px; }
.sponsor-negotiation__actions > button { min-height: 53px; border: 1px solid #666770; color: white; background: #24242d; font: 800 11px/1 var(--display); letter-spacing: .07em; }
.sponsor-negotiation__actions .primary-button { margin: 0; border: 0; background: var(--red); }
.sponsor-negotiation__actions button:disabled { cursor: not-allowed; opacity: .42; }
.season-sponsor-fact { border-left-color: #63e68b !important; }
.season-sponsor-fact.is-failed { border-left-color: #ff5d54 !important; background: rgba(225,6,0,.07) !important; }

.career-event { margin-top: 22px; padding: 38px clamp(20px, 3vw, 34px) 34px; border-top: 4px solid var(--red); border-radius: 0 18px 0 0; background: rgba(21,21,30,.96); box-shadow: 0 22px 60px rgba(0,0,0,.34); }
.event-stage > p:not(.section-kicker) { max-width: 760px; margin: 13px 0 24px; color: #c1c5cc; font-size: 14px; line-height: 1.65; }
.decision-deck-note { display: flex; align-items: center; margin: 0 0 16px; padding: 13px 15px; color: #c0c5cd; border-left: 3px solid var(--red); background: rgba(255,255,255,.04); font: 700 11px/1.45 var(--display); letter-spacing: .07em; }
.decision-deck-note em { color: #d7d9dd; font-style: normal; }
.decision-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.decision-grid button { min-height: 430px; position: relative; display: flex; flex-direction: column; align-items: stretch; padding: 29px 25px 23px; overflow: hidden; border: 1px solid #414149; border-top-width: 4px; border-radius: 0 16px 0 16px; color: var(--text); background: linear-gradient(155deg, #22222a 0%, #18181f 63%, #131319 100%); text-align: left; transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease; isolation: isolate; }
.decision-grid button:hover:not(:disabled) { transform: translateY(-5px); border-color: #777781; box-shadow: 0 20px 42px rgba(0,0,0,.4); }
.decision-grid button:focus-visible { outline: 2px solid white; outline-offset: 3px; }
.decision-grid button:disabled { cursor: default; opacity: .34; }
.decision-grid button.is-selected { opacity: 1; border-color: var(--red) !important; box-shadow: 0 0 0 3px rgba(225,6,0,.22), 0 18px 38px rgba(0,0,0,.38); transform: translateY(-3px); }
.decision-card::before { content: ""; position: absolute; z-index: -2; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, #777780, #47474f); }
.decision-card::after { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(circle at 85% 4%, rgba(255,255,255,.065), transparent 34%); pointer-events: none; }
.decision-card--rare { border-color: #aebbc9 !important; background: linear-gradient(145deg, #222832, #151820 72%) !important; box-shadow: inset 0 0 28px rgba(188,211,234,.06); }
.decision-card--rare::before { background: linear-gradient(90deg, #768596, #e6eef5, #768596); }
.decision-card--rare::after { background: linear-gradient(125deg, transparent 0 58%, rgba(216,229,241,.09) 58% 72%, transparent 72%); }
.decision-card--legendary { border-color: #efb82e !important; background: linear-gradient(145deg, #2b2209, #171309 68%) !important; box-shadow: inset 0 0 34px rgba(255,190,53,.11), 0 0 18px rgba(239,184,46,.12); }
.decision-card--legendary::before { background: linear-gradient(90deg, #9a6200, #ffe27a, #bc7b00); }
.decision-card--legendary::after { background: linear-gradient(109deg, transparent 0 57%, rgba(255,240,174,.18) 57% 72%, rgba(255,255,255,.05) 72% 78%, transparent 78%); animation: card-gold-shine 3.4s ease-in-out infinite; }
@keyframes card-gold-shine { 0%, 55% { transform: translateX(-35%); opacity: .55; } 78%, 100% { transform: translateX(30%); opacity: 1; } }
.decision-card__number { position: absolute; z-index: 2; left: 25px; top: 21px; color: #b4b5bb; font: 800 10px/1 var(--display); letter-spacing: .14em; }
.decision-card__rarity { position: absolute; z-index: 2; right: 20px; top: 16px; padding: 7px 10px 6px; color: #b8bac0; border: 1px solid #505058; border-radius: 10px; background: #24242b; font: 800 8px/1 var(--display); letter-spacing: .12em; }
.decision-card--rare .decision-card__rarity { color: #131820; border-color: #d8e2eb; background: #d8e2eb; }
.decision-card--legendary .decision-card__rarity { color: #241900; border-color: #ffc12f; background: #ffc12f; }
.decision-grid > .decision-card > strong { position: relative; z-index: 1; display: block; min-height: 62px; margin-top: 42px; padding-right: 12px; font: 800 31px/1.03 var(--display); }
.decision-grid > .decision-card > p { position: relative; z-index: 1; min-height: 68px; margin: 13px 0 18px; color: #d0d2d7; font-size: 13px; line-height: 1.5; }
.decision-card__impact { position: relative; z-index: 1; display: block; padding: 11px 13px 12px; border-left: 3px solid; background: rgba(255,255,255,.035); }
.decision-card__impact small, .decision-card__impact b { display: block; }
.decision-card__impact small { margin-bottom: 7px; color: #b1b6bf; font: 800 10px/1 var(--display); letter-spacing: .1em; }
.decision-card__impact b { color: #f0f2f4; font: 800 16px/1.4 var(--display); letter-spacing: .02em; }
.decision-card__impact--gain { border-color: #52e982; background: rgba(55,195,99,.08); }
.decision-card__impact--gain small, .decision-card__impact--gain b { color: #6cf097; }
.decision-card__costs { position: relative; z-index: 1; display: grid; gap: 6px; margin-top: 7px; }
.decision-card__impact--permanent { border-color: #ff5b53; background: rgba(255,67,59,.07); }
.decision-card__impact--permanent small, .decision-card__impact--permanent b { color: #ff7a73; }
.decision-card__impact--temporary { border-color: #d89e43; background: rgba(216,158,67,.07); }
.decision-card__impact--temporary small, .decision-card__impact--temporary b { color: #e9bd76; }
.decision-card__risk { position: relative; z-index: 1; min-height: 64px; display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin-top: auto; padding-top: 15px; border-top: 1px solid #3a3a42; }
.decision-card__risk > span { display: flex; align-items: baseline; gap: 8px; }
.decision-card__risk small { color: #d0d3d8; font: 800 10px/1 var(--display); letter-spacing: .08em; }
.decision-card__risk b { color: white; font: 900 24px/.85 var(--display); }
.decision-card__risk em { max-width: 165px; color: #b2b7bf; font: normal 800 10px/1.4 var(--display); letter-spacing: .04em; text-align: right; }
.decision-card__risk em.is-higher { color: #ff8179; }
.decision-card__risk em.is-lower { color: #72e798; }

.motorsport-world { margin-top: 22px; padding: 30px clamp(20px, 3vw, 34px) 28px; border: 1px solid #34343c; border-top: 4px solid #f3f3f0; border-radius: 0 18px 0 0; background: linear-gradient(150deg, rgba(21,21,30,.98), rgba(10,10,14,.98)); box-shadow: 0 22px 60px rgba(0,0,0,.34); }
.motorsport-world__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.motorsport-world__header h2 { margin: 6px 0 8px; font: italic 900 clamp(34px, 4vw, 48px)/.9 var(--display); text-transform: uppercase; }
.motorsport-world__header > div:first-child > p:last-child { max-width: 680px; margin: 0; color: #b3b9c2; font-size: 12px; line-height: 1.55; }
.motorsport-world__season { flex: 0 0 auto; padding-left: 18px; border-left: 2px solid var(--red); text-align: right; }
.motorsport-world__season span, .motorsport-world__season strong { display: block; }
.motorsport-world__season span { color: #737b87; font: 700 8px/1 var(--display); letter-spacing: .13em; }
.motorsport-world__season strong { margin-top: 6px; font: 800 25px/1 var(--display); }
.championship-picker { max-width: 560px; display: grid; grid-template-columns: auto minmax(260px, 1fr); align-items: center; gap: 16px; margin: 24px 0 10px; padding: 12px 14px; border-left: 3px solid var(--red); background: #18181f; }
.championship-picker > span { color: #a9afb8; font: 800 10px/1 var(--display); letter-spacing: .12em; }
.championship-picker select { min-height: 46px; width: 100%; padding: 0 42px 0 14px; border: 1px solid #4a4a53; color: white; background: #24242c; font: 800 12px/1 var(--display); letter-spacing: .06em; }
.championship-picker select:hover { border-color: #777781; }
.championship-picker select:focus-visible { outline: 2px solid white; outline-offset: 2px; }
.standings-context { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 13px 15px; border-left: 2px solid var(--red); background: rgba(255,255,255,.025); }
.standings-context span, .standings-context strong { display: block; }
.standings-context span { color: var(--red); font: 700 8px/1 var(--display); letter-spacing: .13em; }
.standings-context strong { margin-top: 6px; font: 800 18px/1 var(--display); }
.standings-context p { max-width: 520px; margin: 0; color: #abb2bc; font-size: 11px; line-height: 1.5; text-align: right; }
.standings-grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: 8px; margin-top: 8px; }
.standings-panel { min-width: 0; border: 1px solid #313139; background: rgba(12,12,16,.72); }
.standings-panel__title { min-height: 51px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 14px; border-bottom: 1px solid #303038; background: #1c1c24; }
.standings-panel__title h3 { margin: 0; font: italic 900 21px/1 var(--display); }
.standings-panel__title span { color: #747c87; font: 700 8px/1 var(--display); letter-spacing: .1em; }
.standings-table-wrap { max-height: 430px; overflow: auto; scrollbar-width: thin; }
.standings-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.standings-table th { position: sticky; z-index: 1; top: 0; height: 36px; padding: 0 10px; color: #9ca3ad; background: #111117; font: 700 9px/1 var(--display); letter-spacing: .09em; text-align: left; }
.standings-table th:first-child { width: 46px; text-align: center; }
.standings-table th:last-child { width: 58px; text-align: right; }
.standings-table td { height: 49px; padding: 8px 10px; overflow: hidden; border-bottom: 1px solid #303039; color: #e3e5e9; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.standings-table td:first-child { position: relative; color: #888f99; font: 800 14px/1 var(--display); text-align: center; }
.standings-table td:last-child { color: white; font: 800 14px/1 var(--display); text-align: right; }
.standings-table tr:last-child td { border-bottom: 0; }
.standings-table tr:hover td { background: rgba(255,255,255,.025); }
.standings-table tr.is-player td { color: white; background: rgba(225,6,0,.11); }
.standings-table tr.is-player td:first-child::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--red); }
.standings-driver { display: flex; align-items: center; gap: 7px; min-width: 0; }
.standings-driver strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.standings-driver small { flex: 0 0 auto; padding: 3px 4px; color: #8d949e; border: 1px solid #414149; font: 700 6px/1 var(--display); letter-spacing: .06em; }
.standings-team-name { display: flex; align-items: center; gap: 8px; min-width: 0; }
.standings-team-name i { flex: 0 0 auto; width: 3px; height: 22px; background: var(--team-color, #aaa); }
.standings-team-name strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.team-trend { display: inline-flex; align-items: center; gap: 4px; font: 700 7px/1 var(--display); letter-spacing: .05em; }
.team-trend--up { color: #54e47f; }
.team-trend--down { color: #ff7169; }
.team-trend--stable { color: #858c96; }
.motorsport-world__disclaimer { margin: 13px 0 0; color: #555d68; font: 700 7px/1.4 var(--display); letter-spacing: .1em; text-align: center; }
.decision-card__watermark { position: absolute; z-index: 0; right: -8px; bottom: -13px; max-width: 92%; overflow: hidden; color: rgba(255,255,255,.035); font: 900 70px/.8 var(--display); letter-spacing: -.035em; text-align: right; white-space: nowrap; pointer-events: none; }
.decision-card--rare .decision-card__watermark { color: rgba(214,229,242,.055); }
.decision-card--legendary .decision-card__watermark { color: rgba(255,211,92,.07); }
.decision-result { margin-top: 16px; padding: 20px 24px; border-left: 4px solid var(--amber); background: rgba(255,178,28,.08); }
.decision-result > * { display: block; }
.decision-result span { color: var(--amber); font: 700 9px/1 var(--display); letter-spacing: .14em; }
.decision-result strong { margin-top: 7px; font: 800 23px/1 var(--display); }
.decision-result p { margin: 8px 0 0; color: #a8adb6; font-size: 11px; line-height: 1.5; }

.story-decision-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.story-option { display: block; cursor: pointer; }
.story-option > input { position: absolute; opacity: 0; pointer-events: none; }
.story-option > span { min-height: 245px; display: flex; flex-direction: column; padding: 24px; border: 1px solid #383840; background: linear-gradient(145deg, #202028, #17171e); transition: 160ms ease; }
.story-option small { color: var(--red); font: 800 9px/1 var(--display); letter-spacing: .14em; }
.story-option strong { margin: 22px 0 10px; color: #f4f4f5; font: 800 25px/1.05 var(--display); }
.story-option p { margin: 0 0 20px !important; color: #d0d3d8 !important; font-size: 13px !important; line-height: 1.6 !important; }
.story-option b { margin-top: auto; padding-top: 15px; color: #83f3a8; font: 800 clamp(14px, 1.15vw, 17px)/1.45 var(--display); letter-spacing: .035em; text-wrap: balance; }
.story-option:hover > span { transform: translateY(-3px); border-color: #686872; }
.story-option input:focus-visible + span { outline: 2px solid white; outline-offset: 3px; }
.story-option input:checked + span { border-color: var(--red); background: linear-gradient(120deg, rgba(225,6,0,.16), #202028 55%); box-shadow: inset 4px 0 var(--red); }
.story-option.is-unavailable { cursor: not-allowed; }
.story-option.is-unavailable > span { opacity: .42; }
.story-decision .decision-result .event-continue-button { margin-top: 18px; }

.skill-game-panel[hidden] { display: none; }
.prestige-event-banner { position: relative; margin: 17px 0; padding: 18px 20px; overflow: hidden; border: 1px solid #b79232; border-left: 5px solid #f1c54d; background: radial-gradient(circle at 88% 20%, rgba(240,195,69,.18), transparent 28%), linear-gradient(120deg, #2b230c, #17171d 58%); }
.prestige-event-banner::after { content: "P1"; position: absolute; right: 18px; bottom: -15px; color: rgba(255,224,125,.08); font: italic 900 78px/.8 var(--display); }
.prestige-event-banner span, .prestige-event-banner strong { display: block; position: relative; z-index: 1; }
.prestige-event-banner span { color: #e8c45d; font: 800 9px/1 var(--display); letter-spacing: .14em; }
.prestige-event-banner strong { margin-top: 8px; color: white; font: italic 900 30px/.95 var(--display); }
.prestige-event-banner p { max-width: 680px; position: relative; z-index: 1; margin: 8px 0 0 !important; color: #c8c2ae !important; font-size: 11px !important; line-height: 1.5 !important; }
.skill-instruction { margin: 15px 0 !important; color: #c4c7cd !important; font: 700 11px/1.5 var(--display); letter-spacing: .06em; text-align: center; }
.braking-brief { padding: 19px 21px; border: 1px solid #3b434e; border-top: 3px solid var(--red); background: linear-gradient(120deg, rgba(225,6,0,.08), #17171e 46%); }
.braking-brief span, .braking-brief strong { display: block; }
.braking-brief span { color: var(--red); font: 800 9px/1 var(--display); letter-spacing: .14em; }
.braking-brief strong { margin-top: 8px; color: white; font: italic 900 30px/.95 var(--display); text-transform: uppercase; }
.braking-brief p { margin: 10px 0 0; color: #adb2bb; font-size: 11px; line-height: 1.55; }
.braking-hud { display: flex; justify-content: space-between; gap: 20px; margin-top: 10px; padding: 11px 14px; color: #8e959f; border: 1px solid #34343c; background: #111117; font: 700 9px/1 var(--display); letter-spacing: .1em; }
.braking-hud b { margin-left: 6px; color: white; font-size: 14px; }
.braking-meter { height: 31px; position: relative; margin: 24px 4px 6px; border: 1px solid #4a505a; border-radius: 18px; background: linear-gradient(#222830, #101319 52%, #1a1e24); box-shadow: inset 0 2px 8px rgba(0,0,0,.75); }
.braking-meter__target { height: calc(100% - 4px); position: absolute; top: 2px; border-radius: 15px; background: radial-gradient(circle at center, #7dffc0, #2cc66d 52%, rgba(24,130,64,.64)); box-shadow: 0 0 17px rgba(67,236,126,.56), inset 0 0 10px rgba(255,255,255,.22); }
.braking-meter__target::after { content: ""; width: 3px; height: 70%; position: absolute; left: 50%; top: 15%; border-radius: 2px; background: rgba(255,255,255,.72); transform: translateX(-50%); }
.braking-meter__cursor { width: 4px; height: 43px; position: absolute; top: 50%; border-radius: 3px; background: white; box-shadow: 0 0 9px white, 0 0 18px rgba(255,255,255,.75); transform: translate(-50%, -50%); }
.braking-button.is-braking { color: #071009; background: #24dc55; box-shadow: 0 0 20px rgba(36,220,85,.24); }
.braking-button.is-braking:hover, .braking-button.is-braking:focus-visible { background: #50ed75; outline: 2px solid white; outline-offset: 2px; }
.memory-hud { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 8px; padding: 13px 16px; color: #949aa4; border: 1px solid #34343c; background: #111117; font: 700 10px/1 var(--display); letter-spacing: .1em; }
.memory-hud b { margin-left: 6px; color: white; font-size: 16px; }
.braking-game > .reaction-button, .simon-game > .reaction-button, .memory-game > .reaction-button { width: 100%; min-height: 58px; margin-top: 10px; }

.simon-board { width: min(100%, 620px); display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 auto; }
.simon-board button { aspect-ratio: 2/1; border: 2px solid #404049; color: white; background: #24242c; transition: 100ms ease; }
.simon-board button:nth-child(1) { border-top: 5px solid #e10600; }
.simon-board button:nth-child(2) { border-top: 5px solid #f2b632; }
.simon-board button:nth-child(3) { border-top: 5px solid #36a2d8; }
.simon-board button:nth-child(4) { border-top: 5px solid #65cb72; }
.simon-board button span { font: 900 28px/1 var(--display); }
.simon-board button.is-active { color: #09090c; background: white; box-shadow: 0 0 28px rgba(255,255,255,.5); transform: scale(.97); }

.memory-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.memory-grid button { min-height: 112px; position: relative; overflow: hidden; border: 1px solid #42424a; background: #15151b; transform-style: preserve-3d; transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.memory-grid button:not(:disabled):hover { border-color: #777781; transform: translateY(-2px); }
.memory-card-art,
.memory-card-back { position: absolute; inset: 0; display: block; transition: opacity .18s ease, transform .22s ease; }
.memory-card-art { opacity: 0; transform: rotateY(90deg) scale(.86); background-image: url("assets/memory/motorsport-memory-sprite.png"); background-repeat: no-repeat; background-size: 300% 200%; background-position: var(--memory-position); }
.memory-card-back { opacity: 1; transform: rotateY(0); background-color: #202027; background-image: linear-gradient(45deg, rgba(255,255,255,.08) 25%, transparent 25%, transparent 75%, rgba(255,255,255,.08) 75%), linear-gradient(45deg, rgba(255,255,255,.08) 25%, transparent 25%, transparent 75%, rgba(255,255,255,.08) 75%); background-position: 0 0, 12px 12px; background-size: 24px 24px; }
.memory-card-back::after { content: ""; position: absolute; inset: 28%; border: 2px solid #707079; border-radius: 50%; background: radial-gradient(circle, transparent 36%, #707079 38% 47%, transparent 49%), linear-gradient(90deg, transparent 46%, #707079 47% 53%, transparent 54%); opacity: .8; }
.memory-grid button.is-visible,
.memory-grid button.is-matched { border-color: #efefef; box-shadow: 0 10px 28px rgba(0,0,0,.28); }
.memory-grid button.is-visible .memory-card-art,
.memory-grid button.is-matched .memory-card-art { opacity: 1; transform: rotateY(0) scale(1); }
.memory-grid button.is-visible .memory-card-back,
.memory-grid button.is-matched .memory-card-back { opacity: 0; transform: rotateY(-90deg); }
.memory-grid button.is-matched { border-color: #60e78c; box-shadow: inset 0 0 0 2px rgba(96,231,140,.25), 0 10px 28px rgba(0,0,0,.28); }
.memory-grid button.is-matched .memory-card-art { filter: saturate(.8) brightness(.82); }

.challenge-game { --challenge-accent: #e10600; }
.challenge-hud { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 16px; border: 1px solid #3b3b44; border-left: 4px solid var(--challenge-accent); background: linear-gradient(110deg, color-mix(in srgb, var(--challenge-accent) 10%, #17171d), #111117 55%); }
.challenge-hud span { color: #9fa5ae; font: 800 9px/1 var(--display); letter-spacing: .13em; }
.challenge-hud strong { color: white; font: 900 18px/1 var(--display); letter-spacing: .06em; }
.challenge-arena { min-height: 260px; display: grid; place-items: center; padding: 22px; margin-top: 10px; border: 1px solid #393941; background: radial-gradient(circle at 50% 45%, rgba(255,255,255,.045), transparent 48%), #111117; }
.challenge-start { width: 100%; min-height: 58px; margin-top: 10px; }
.challenge-start.is-running { color: #071009; background: #24dc55; }
.challenge-start[hidden] { display: none; }
.challenge-meter-wrap { width: min(100%, 760px); }
.challenge-meter { height: 34px; position: relative; overflow: visible; border: 1px solid #555b64; border-radius: 20px; background: linear-gradient(#222830, #0d1015 55%, #1d2229); box-shadow: inset 0 2px 10px rgba(0,0,0,.75); }
.challenge-meter__zone { position: absolute; inset-block: 3px; border-radius: 16px; background: linear-gradient(90deg, #11833b, #66efa0, #11833b); box-shadow: 0 0 18px rgba(65,226,116,.42); }
.challenge-meter__cursor { width: 4px; height: 48px; position: absolute; top: 50%; border-radius: 3px; background: white; box-shadow: 0 0 10px white; transform: translate(-50%, -50%); }
.challenge-meter-labels { display: flex; justify-content: space-between; margin-top: 13px; color: #7f8791; font: 700 8px/1 var(--display); letter-spacing: .12em; }
.challenge-grid { width: min(100%, 690px); display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; }
.challenge-grid--three { grid-template-columns: repeat(3, 1fr); }
.challenge-grid--four { grid-template-columns: repeat(4, 1fr); }
.challenge-choice { min-height: 84px; padding: 14px; border: 1px solid #45454e; color: #f4f4f5; background: #202028; font: 800 13px/1.2 var(--display); letter-spacing: .05em; }
.challenge-choice:hover:not(:disabled), .challenge-choice:focus-visible { border-color: white; outline: 2px solid white; outline-offset: 2px; }
.challenge-choice.is-target { border-color: #5ee58a; color: #72ed9a; background: #15301e; }
.challenge-choice.is-wrong { border-color: var(--red); color: #ff7872; background: #321412; }
.challenge-choice:disabled { opacity: .5; }
.challenge-readout { display: grid; justify-items: center; gap: 8px; margin-bottom: 20px; text-align: center; }
.challenge-readout span { color: #858c96; font: 700 9px/1 var(--display); letter-spacing: .12em; }
.challenge-readout strong { color: white; font: italic 900 clamp(38px, 7vw, 72px)/.9 var(--display); }
.challenge-readout small { color: #aeb3bb; font-size: 11px; }
.challenge-temperature { color: #69e996 !important; }
.tire-control { width: min(100%, 760px); text-align: center; }
.tire-temperature-meter { height: 38px; position: relative; margin: 10px 0 14px; border: 1px solid #59616c; border-radius: 22px; background: linear-gradient(90deg, #327ad9 0 41.66%, #1eaf5b 41.66% 60%, #df543d 60% 100%); box-shadow: inset 0 4px 14px rgba(0,0,0,.65); }
.tire-temperature-meter span { position: absolute; inset: 5px 40% 5px 41.66%; border: 1px solid rgba(255,255,255,.48); border-radius: 14px; }
.tire-temperature-meter i { width: 5px; height: 52px; position: absolute; top: 50%; border-radius: 4px; background: white; box-shadow: 0 0 13px white; transform: translate(-50%, -50%); transition: left 70ms linear; }
.tire-hold-progress { height: 8px; margin-bottom: 16px; overflow: hidden; border-radius: 6px; background: #292d34; }
.tire-hold-progress i { display: block; width: 0; height: 100%; background: linear-gradient(90deg, #2da657, #72ee9b); transition: width 80ms linear; }
.tire-heat-button { width: 100%; min-height: 76px; color: #07120a; border-color: #62ea91; background: linear-gradient(180deg, #67ee93, #2eb65d); font-size: 18px; user-select: none; }
.tire-heat-button:active { transform: translateY(2px); filter: brightness(.85); }
.tire-control > p { margin: 12px 0 0; color: #b8bec7; font-size: 12px; line-height: 1.5; }
.telemetry-cell { min-height: 70px; font-size: 19px; }
.challenge-game .reaction-result { width: 100%; }

.event-action-bar { margin-top: 18px; display: grid; grid-template-columns: 1fr minmax(260px, 390px); align-items: center; gap: 20px; padding-top: 18px; border-top: 1px solid #38383f; }
.event-action-bar > span { color: #aeb2ba; font: 650 12px/1.4 var(--body); letter-spacing: .025em; }
.event-continue-button, .summary-continue-button { min-height: 58px; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 0 22px; border: 0; color: #fff; background: var(--red); font: 800 15px/1 var(--display); letter-spacing: .09em; transition: filter 160ms ease, transform 160ms ease; }
.event-continue-button svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.event-continue-button:hover:not(:disabled), .summary-continue-button:hover:not(:disabled) { filter: brightness(1.14); transform: translateY(-1px); }
.event-continue-button:disabled, .summary-continue-button:disabled { color: #77777f; background: #2b2b32; cursor: not-allowed; }

.race-loading { position: fixed; z-index: 100; inset: 0; display: grid; place-content: center; justify-items: center; color: #fff; background: rgba(11,11,15,.97); }
.race-loading::before { content: ""; position: absolute; inset: 0; opacity: .2; background: repeating-linear-gradient(135deg, transparent 0 54px, rgba(255,255,255,.08) 54px 55px); }
.race-loading > * { position: relative; }
.season-race-visual { width: 176px; height: 176px; margin-bottom: 28px; overflow: hidden; border: 1px solid #46464e; background: #17171d; clip-path: polygon(16px 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%, 0 16px); }
.season-race-track { position: absolute; inset: -80px 29px; overflow: hidden; border-right: 8px solid #e8e8e8; border-left: 8px solid var(--red); background: linear-gradient(90deg, #292930, #3b3b42 48%, #292930); transform: perspective(220px) rotateX(9deg); }
.season-race-track::before { content: ""; position: absolute; inset: -100% calc(50% - 2px); width: 4px; background: repeating-linear-gradient(180deg, rgba(255,255,255,.72) 0 24px, transparent 24px 52px); animation: track-scroll 540ms linear infinite; }
.season-race-track::after { content: ""; position: absolute; inset: 0; box-shadow: inset 18px 0 30px rgba(0,0,0,.35), inset -18px 0 30px rgba(0,0,0,.35); }
.season-race-track i { position: absolute; left: 18px; width: 42px; height: 2px; background: rgba(255,255,255,.25); animation: speed-line 720ms linear infinite; }
.season-race-track i:nth-child(1) { top: 18%; animation-delay: -120ms; }
.season-race-track i:nth-child(2) { top: 47%; left: 47px; animation-delay: -430ms; }
.season-race-track i:nth-child(3) { top: 76%; animation-delay: -650ms; }
.season-race-car { position: absolute; z-index: 2; left: 50%; bottom: 13px; width: 66px; height: 116px; transform: translateX(-50%); filter: drop-shadow(0 9px 6px rgba(0,0,0,.65)); animation: race-car-line 760ms ease-in-out infinite alternate; }
.season-race-car path { fill: #e5e5e8; stroke: #0e0e12; stroke-width: 2; }
.season-race-car rect { fill: #070709; }
.season-race-car .season-race-car__accent { fill: var(--red); stroke: none; }
@keyframes track-scroll { to { transform: translateY(52px); } }
@keyframes speed-line { from { transform: translateY(-55px); opacity: 0; } 35% { opacity: 1; } to { transform: translateY(95px); opacity: 0; } }
@keyframes race-car-line { to { transform: translateX(-46%) rotate(1.6deg); } }
.race-loading > strong { max-width: min(90vw, 760px); font: italic 900 43px/1 var(--display); letter-spacing: .06em; text-align: center; }
.race-loading > span { max-width: 90vw; margin-top: 10px; color: #8f8f97; font: 700 9px/1.4 var(--display); letter-spacing: .18em; text-align: center; }

.start-strategy-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 20px; }
.start-strategy-grid label { cursor: pointer; }
.start-strategy-grid input { position: absolute; opacity: 0; pointer-events: none; }
.start-strategy-grid label > span { min-height: 132px; display: flex; flex-direction: column; justify-content: center; padding: 20px 22px; border: 1px solid #38383f; background: #1f1f27; transition: 160ms ease; }
.start-strategy-grid small { color: var(--red); font: 700 9px/1 var(--display); letter-spacing: .14em; }
.start-strategy-grid strong { margin: 8px 0; color: #fff; font: 800 24px/1 var(--display); }
.start-strategy-grid b { color: #8f8f97; font-size: 10px; font-weight: 500; line-height: 1.5; }
.start-strategy-grid label:hover > span { border-color: #73737b; }
.start-strategy-grid input:focus-visible + span { outline: 2px solid #fff; outline-offset: 3px; }
.start-strategy-grid input:checked + span { border-color: var(--red); background: linear-gradient(120deg, rgba(225,6,0,.17), #1f1f27 55%); box-shadow: inset 4px 0 0 var(--red); }
.start-strategy-grid input:disabled + span { opacity: .64; cursor: default; }

.reaction-console { display: grid; grid-template-columns: minmax(260px, 1.15fr) minmax(180px, .75fr) minmax(190px, .65fr); align-items: stretch; border: 1px solid #38383f; background: #101014; }
.start-lights { display: grid; grid-template-columns: repeat(5, 1fr); align-items: center; gap: clamp(8px, 2vw, 18px); padding: 25px clamp(18px, 3vw, 36px); border-right: 1px solid #38383f; }
.start-lights i { aspect-ratio: 1; display: block; border: 5px solid #28282f; border-radius: 50%; background: #08080b; box-shadow: inset 0 0 0 2px #3c3c43; transition: 80ms ease; }
.start-lights i.is-on { border-color: #650400; background: var(--red); box-shadow: 0 0 24px rgba(225,6,0,.75), inset 0 0 8px #ff756f; }
.reaction-readout { display: flex; flex-direction: column; justify-content: center; padding: 19px 22px; border-right: 1px solid #38383f; }
.reaction-readout span { color: #797981; font: 700 8px/1 var(--display); letter-spacing: .13em; }
.reaction-readout strong { margin: 7px 0 5px; color: #fff; font: 900 29px/1 var(--display); }
.reaction-readout small { color: #96969e; font: 700 8px/1.25 var(--display); letter-spacing: .08em; }
.reaction-button { min-height: 100%; padding: 17px; border: 0; color: #fff; background: var(--red); font: 800 17px/1.05 var(--display); letter-spacing: .06em; }
.reaction-button:disabled { color: #72727a; background: #26262d; cursor: not-allowed; }
.reaction-button.is-waiting { color: #111; background: #f1f1f3; }
.reaction-button.is-go { color: #111; background: #fff; animation: go-pulse 420ms ease-in-out infinite alternate; }
.reaction-button.is-complete { color: #8b8b93; background: #2b2b32; }
@keyframes go-pulse { to { filter: brightness(.72); } }

.reaction-result { margin-top: 18px; padding: 21px 24px; border-left: 4px solid var(--red); background: #1f1f27; }
.reaction-result > span { color: var(--red); font: 700 8px/1 var(--display); letter-spacing: .14em; }
.reaction-result > strong { display: block; margin-top: 8px; font: 800 26px/1 var(--display); text-transform: uppercase; }
.reaction-result > p { margin: 8px 0 18px; color: #a0a0a8; font-size: 11px; line-height: 1.5; }
.reaction-result .event-continue-button { width: min(100%, 360px); margin-left: auto; }

.event-summary { padding: 0; }
.event-summary__topline { display: flex; justify-content: space-between; gap: 20px; padding: 11px 0; border-top: 1px solid #5b5b63; border-bottom: 1px solid #38383f; }
.event-summary__topline strong { color: var(--red); font: 800 15px/1 var(--display); letter-spacing: .08em; }
.event-summary__topline span { color: #85858d; font: 700 9px/1 var(--display); letter-spacing: .13em; }
.motorsport-celebration { position: relative; min-height: 210px; margin: 16px 0 22px; overflow: hidden; display: grid; place-items: center; border: 1px solid #8e742b; background: radial-gradient(circle at 50% 76%, rgba(226,186,68,.2), transparent 34%), linear-gradient(145deg, #211b0a, #111116 68%); }
.motorsport-celebration::before { content: ""; position: absolute; inset: 0; opacity: .22; background: repeating-linear-gradient(135deg, transparent 0 44px, rgba(255,236,172,.12) 44px 45px); }
.champagne-spray { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; overflow: visible; fill: none; stroke: #f3d77e; stroke-width: 6; stroke-linecap: round; stroke-dasharray: 4 15; filter: drop-shadow(0 0 5px rgba(255,221,117,.62)); }
.champagne-spray path { animation: champagne-flow 760ms linear infinite; }
.champagne-spray__fine { stroke: #fff4cf; stroke-width: 2; stroke-dasharray: 2 20; animation-duration: 1100ms !important; }
@keyframes champagne-flow { to { stroke-dashoffset: -76; } }
.champagne-bottle { position: absolute; z-index: 2; bottom: -17px; width: 42px; height: 116px; border: 2px solid #967b2f; border-radius: 10px 10px 16px 16px; background: linear-gradient(90deg, #07170e, #174529 44%, #081d12 72%); box-shadow: inset 7px 0 10px rgba(255,255,255,.08), 0 10px 22px rgba(0,0,0,.5); transform-origin: 50% 100%; }
.champagne-bottle::before { content: ""; position: absolute; left: 11px; top: -45px; width: 17px; height: 50px; border: 2px solid #967b2f; border-bottom: 0; border-radius: 5px 5px 0 0; background: linear-gradient(90deg, #102819, #285c39 52%, #0a1c11); }
.champagne-bottle::after { content: ""; position: absolute; left: 8px; top: -39px; width: 23px; height: 18px; border-radius: 4px 4px 1px 1px; background: linear-gradient(#d4b34e, #806718); }
.champagne-bottle > i { position: absolute; left: 5px; right: 5px; top: 37px; height: 38px; border: 1px solid #b7983e; background: #e5d49c; transform: skewY(-4deg); }
.champagne-bottle > i::after { content: "P1"; position: absolute; inset: 0; display: grid; place-items: center; color: #241d08; font: normal 900 15px/1 var(--display); }
.champagne-bottle > b { position: absolute; left: 12px; top: -52px; width: 16px; height: 9px; border-radius: 4px; background: #b98b4f; }
.champagne-bottle--left { left: 64px; transform: rotate(48deg); animation: bottle-left 880ms ease-in-out infinite alternate; }
.champagne-bottle--right { right: 64px; transform: rotate(-48deg); animation: bottle-right 880ms ease-in-out infinite alternate; }
@keyframes bottle-left { to { transform: rotate(43deg); } }
@keyframes bottle-right { to { transform: rotate(-43deg); } }
.motorsport-celebration__copy { position: relative; z-index: 3; display: flex; flex-direction: column; align-items: center; padding: 22px 130px; text-align: center; text-shadow: 0 2px 18px #000; }
.motorsport-celebration__copy span { color: #d6b854; font: 700 8px/1 var(--display); letter-spacing: .16em; }
.motorsport-celebration__copy strong { margin: 7px 0 6px; color: #fff; font: italic 900 clamp(30px, 5vw, 54px)/.9 var(--display); letter-spacing: -.02em; }
.motorsport-celebration__copy small { color: #b9b7ae; font-size: 10px; }
.event-summary h2 { margin-top: 24px; }
.event-summary__score { margin-top: 18px; display: flex; align-items: center; justify-content: space-between; min-height: 58px; padding: 12px 18px; border: 1px solid #45454c; background: #1f1f27; }
.event-summary__score span { color: #a0a0a8; font: 700 11px/1 var(--display); letter-spacing: .12em; }
.event-summary__score strong { color: #fff; font: 900 37px/1 var(--display); }
.event-summary__money { margin-top: 13px; padding: 12px 18px; border: 1px solid #237541; background: #0b2b17; }
.event-summary__money.is-negative { border-color: #8b2724; background: #321210; }
.event-summary__money > * { display: block; }
.event-summary__money span { color: #70aa7e; font: 700 8px/1 var(--display); letter-spacing: .12em; }
.event-summary__money.is-negative span { color: #c57772; }
.event-summary__money strong { margin-top: 7px; color: #57e37b; font: 800 17px/1.2 var(--display); }
.event-summary__money.is-negative strong { color: #ff746b; }
.event-summary__facts { display: grid; gap: 8px; margin: 18px 0 28px; }
.event-summary__facts article { display: grid; grid-template-columns: 3px 1fr; gap: 14px; padding: 3px 0; }
.event-summary__facts article > i { display: block; background: #77777f; }
.event-summary__facts article.is-external > i { background: #b89a54; }
.event-summary__facts article.is-positive > i { background: #42c66a; }
.event-summary__facts article.is-negative > i { background: var(--red); }
.event-summary__facts article.is-victory > i { background: #d6b854; box-shadow: 0 0 12px rgba(214,184,84,.5); }
.event-summary__facts article.is-crown { padding: 13px 15px; border: 1px solid #a9842d; background: radial-gradient(circle at 92% 15%, rgba(255,224,129,.16), transparent 28%), linear-gradient(110deg, #30250d, #17171e 62%); }
.event-summary__facts article.is-crown > i { background: linear-gradient(#fff1b0, #c89322); box-shadow: 0 0 16px rgba(240,196,73,.65); }
.event-summary__facts article.is-crown span, .event-summary__facts article.is-crown strong { color: #ffe69a; }
.event-summary__facts span { color: #86868e; font: 700 8px/1 var(--display); letter-spacing: .12em; }
.event-summary__facts p { margin: 4px 0 0; color: #c2c2c8; font-size: 11px; line-height: 1.45; }
.summary-continue-button { width: 100%; min-height: 62px; font-size: 18px; }

.game-dialog { width: min(94vw, 1080px); max-height: 90vh; padding: 0; overflow: hidden; color: var(--text); border: 1px solid #38383f; border-top: 4px solid var(--red); background: #15151e; box-shadow: 0 40px 140px rgba(0,0,0,.88); }
.game-dialog::backdrop { background: rgba(2,4,6,.88); backdrop-filter: blur(9px); }
.game-dialog__header { position: sticky; z-index: 3; top: 0; min-height: 92px; display: flex; align-items: center; gap: 24px; padding: 22px 28px; border-bottom: 1px solid #252b33; background: rgba(9,13,17,.97); }
.game-dialog__header .section-kicker { margin-bottom: 6px; }
.game-dialog__header h2 { margin: 0; font: italic 900 44px/.9 var(--display); letter-spacing: .02em; }
.dialog-close { width: 40px; height: 40px; margin-left: auto; display: grid; place-items: center; border: 1px solid #353c45; color: #8e98a4; background: #11151a; }
.dialog-close:hover { color: white; border-color: var(--red); }
.dialog-close svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.game-dialog__body { max-height: calc(90vh - 145px); padding: 27px 28px 38px; overflow-y: auto; }
.season-results-dialog { width: min(94vw, 920px); max-height: 92vh; overflow: auto; }
.season-results__masthead { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 18px 38px 0; padding: 10px 0; border-top: 1px solid #83858a; border-bottom: 1px solid #3b3c42; }
.season-results__masthead strong { color: #f2f2ee; font: 800 17px/1 var(--display); letter-spacing: .03em; }
.season-results__masthead span { color: #8f949d; font: 700 9px/1 var(--display); letter-spacing: .12em; }
.season-results__header { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 32px; padding: 20px 38px 23px; border-bottom: 1px solid #373740; background: linear-gradient(120deg, rgba(225,6,0,.11), #17171e 48%); }
.season-results__header h2 { margin: 7px 0 9px; font: italic 900 clamp(38px, 5vw, 56px)/.9 var(--display); text-transform: uppercase; }
.season-results__header > div:first-child > p:last-child { max-width: 610px; margin: 0; color: #bdc1c8; font-size: 13px; line-height: 1.55; }
.season-results__position { min-width: 150px; padding-left: 22px; border-left: 3px solid var(--red); text-align: right; }
.season-results__position span, .season-results__position strong { display: block; }
.season-results__position span { color: #9da3ad; font: 800 9px/1 var(--display); letter-spacing: .12em; }
.season-results__position strong { margin-top: 8px; color: white; font: 900 58px/.85 var(--display); }
.season-results__body { padding: 18px 38px 28px; }
.season-results__rating { display: flex; align-items: center; justify-content: space-between; min-height: 56px; margin-bottom: 9px; padding: 10px 16px; border: 1px solid #5e4f18; border-radius: 8px; background: #231e0c; }
.season-results__rating span { color: #d2cda9; font: 800 10px/1 var(--display); letter-spacing: .11em; }
.season-results__rating strong { color: #f5cb2e; font: 900 34px/.8 var(--display); }
.season-results__rating[data-tone="great"] { border-color: #237a3b; background: #0e2b17; }
.season-results__rating[data-tone="great"] strong { color: #48ee78; }
.season-results__rating[data-tone="hard"] { border-color: #73332f; background: #2c1211; }
.season-results__rating[data-tone="hard"] strong { color: #ff7168; }
.season-results__learning { margin-bottom: 9px; padding: 13px 16px 14px; border: 1px solid #315744; border-left: 4px solid #54e887; background: linear-gradient(100deg, rgba(39,137,75,.17), rgba(18,29,23,.84)); }
.season-results__learning span { color: #73e69a; font: 800 9px/1 var(--display); letter-spacing: .13em; }
.season-results__learning strong { display: block; margin-top: 7px; color: white; font: 800 17px/1.05 var(--display); }
.season-results__learning p { margin: 7px 0 0; max-width: 760px; color: #c1c9c3; font-size: 11px; line-height: 1.5; }
.season-results__metrics { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid #3a3a43; }
.season-results__metrics article { padding: 15px 18px; border-right: 1px solid #3a3a43; background: #202028; }
.season-results__metrics article:last-child { border-right: 0; }
.season-results__metrics span, .season-results__metrics strong { display: block; }
.season-results__metrics span { color: #9096a0; font: 800 9px/1 var(--display); letter-spacing: .11em; }
.season-results__metrics strong { margin-top: 7px; color: white; font: 900 30px/1 var(--display); }
.season-results__story { display: grid; gap: 6px; margin-top: 9px; }
.season-results__story article { display: grid; grid-template-columns: 150px minmax(180px, .7fr) 1fr; align-items: center; gap: 18px; padding: 10px 14px; border-left: 3px solid #59606b; background: #17171e; }
.season-results__story span { color: var(--red); font: 800 10px/1 var(--display); letter-spacing: .1em; }
.season-results__story strong { display: block; color: white; font: 800 18px/1.08 var(--display); }
.season-results__story p { margin: 0; color: #c8ccd3; font-size: 13px; line-height: 1.55; }
.season-results__story .season-prestige-fact { border: 1px solid #8f7424; border-left: 5px solid #f1c54d; background: linear-gradient(100deg, #2b230b, #17171e 58%); }
.season-results__story .season-prestige-fact span { color: #e8c45d; }
.season-results__story .season-prestige-fact strong { color: #ffe69a; }
.season-results__story .season-crown-fact { border: 1px solid #aa852a; border-left: 6px solid #ffe181; background: radial-gradient(circle at 92% 20%, rgba(255,224,129,.16), transparent 26%), linear-gradient(100deg, #35280d, #17171e 60%); }
.season-results__story .season-crown-fact span { color: #e9c45b; }
.season-results__story .season-crown-fact strong { color: #fff0b0; font-size: 19px; }
.season-results__story .season-superlicence-fact { border-left-color: #e6bd49; background: linear-gradient(100deg, rgba(230,189,73,.12), #17171e 58%); }
.season-results__story .season-superlicence-fact span, .season-results__story .season-superlicence-fact strong { color: #f0cd65; }
.season-results__balance { margin: 9px 0 14px; padding: 13px 16px; border-left: 3px solid #61e58a; background: #102419; }
.season-results__balance span, .season-results__balance strong, .season-results__balance small { display: block; }
.season-results__balance span { color: #87b895; font: 800 9px/1 var(--display); letter-spacing: .11em; }
.season-results__balance strong { margin: 6px 0; color: #64ee8e; font: 900 24px/1 var(--display); }
.season-results__balance small { color: #b5c0b8; font-size: 11px; line-height: 1.45; }
.season-results__balance .season-results__finance-breakdown { margin-bottom: 7px; color: #e5ebe6; font-weight: 750; }
.season-results__balance.is-negative { border-left-color: #ff5c62; background: #281417; }
.season-results__balance.is-negative strong { color: #ff7277; }
.season-results__body .primary-button { margin: 0; }
.press-dialog { width: min(94vw, 900px); max-height: 92vh; overflow: auto; border-top-color: #4c84df; }
.press-dialog__masthead { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 28px 30px 22px; border-bottom: 1px solid #35404f; background: linear-gradient(125deg, rgba(28,71,135,.24), rgba(20,23,30,.98) 54%); }
.press-dialog__masthead h2 { margin: 7px 0 0; font: italic 900 46px/.9 var(--display); text-transform: uppercase; }
.press-dialog__fame { min-width: 96px; padding-left: 18px; border-left: 3px solid #4c84df; text-align: right; }
.press-dialog__fame span, .press-dialog__fame strong { display: block; }
.press-dialog__fame span { color: #8995a6; font: 800 9px/1 var(--display); letter-spacing: .13em; }
.press-dialog__fame strong { margin-top: 7px; color: white; font: 900 36px/.85 var(--display); }
.press-dialog__context { margin: 18px 30px 0; padding: 15px 17px; border: 1px solid #385477; border-left: 4px solid #62a0ff; border-radius: 7px; background: #111b29; }
.press-dialog__context span, .press-dialog__context strong { display: block; }
.press-dialog__context span { color: #79aef7; font: 800 8px/1 var(--display); letter-spacing: .14em; }
.press-dialog__context strong { margin-top: 8px; color: white; font: 800 16px/1 var(--display); }
.press-dialog__context p { margin: 8px 0 0; color: #b6c0ce; font-size: 11px; line-height: 1.5; }
.press-dialog__body { padding: 21px 30px 30px; }
.press-dialog__progress { display: flex; align-items: center; gap: 18px; }
.press-dialog__progress > span { flex: 0 0 auto; color: #7e8998; font: 800 9px/1 var(--display); letter-spacing: .13em; }
.press-dialog__progress > i { height: 5px; flex: 1; overflow: hidden; border-radius: 4px; background: #303642; }
.press-dialog__progress > i > b { display: block; width: 33.33%; height: 100%; background: linear-gradient(90deg, #3e75c9, #73a9ff); transition: width 180ms ease; }
.press-dialog__question h3 { margin: 17px 0 16px; color: white; font: 750 19px/1.35 var(--body); letter-spacing: .005em; }
.press-answer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.press-answer-grid button { min-height: 132px; display: flex; flex-direction: column; align-items: flex-start; padding: 17px 18px; border: 1px solid #3a424e; color: white; background: #1b1f27; text-align: left; transition: 150ms ease; }
.press-answer-grid button:hover { border-color: #6d95cb; background: #202936; transform: translateY(-2px); }
.press-answer-grid button:focus-visible { outline: 2px solid white; outline-offset: 2px; }
.press-answer-grid button > span { padding: 5px 8px; border-radius: 9px; color: #d6dde7; background: #343b46; font: 800 8px/1 var(--display); letter-spacing: .11em; }
.press-answer-grid button[data-press-tone="swagger"] > span { color: #ffd3d0; background: #652c29; }
.press-answer-grid button[data-press-tone="formal"] > span { color: #d5e7ff; background: #284b74; }
.press-answer-grid button[data-press-tone="humble"] > span { color: #d7f4df; background: #27563a; }
.press-answer-grid button[data-press-tone="personality"] > span { color: #eee0ff; background: #53396f; }
.press-answer-grid button > strong { margin-top: 11px; color: white; font-size: 13px; line-height: 1.4; }
.press-answer-grid button > small { margin-top: auto; padding-top: 10px; color: #838c99; font-size: 9px; line-height: 1.35; }
.press-transcript { margin-top: 14px; padding: 15px 17px; border: 1px solid #343b46; background: #11151b; }
.press-transcript > span { color: #7d8795; font: 800 8px/1 var(--display); letter-spacing: .14em; }
.press-transcript > div { display: grid; gap: 6px; margin-top: 10px; }
.press-transcript > div > p { margin: 0; color: #707986; font-size: 10px; }
.press-transcript__line { display: grid; grid-template-columns: 22px 110px 1fr; align-items: center; gap: 9px; min-height: 27px; }
.press-transcript__line > span { width: 21px; height: 21px; display: grid; place-items: center; border-radius: 50%; color: #aab2bd; background: #2e343e; font: 800 8px/1 var(--display); }
.press-transcript__line b { color: #dce0e6; font: 800 9px/1 var(--display); letter-spacing: .08em; }
.press-transcript__line em { font: normal 800 9px/1 var(--display); letter-spacing: .07em; }
.press-transcript__line.is-success em { color: #5fe68a; }
.press-transcript__line.is-miss em { color: #ff746c; }
.press-result { margin-top: 16px; padding: 22px; border: 1px solid #3a424e; background: #1b2028; text-align: center; }
.press-result > span { color: #82a8dc; font: 800 9px/1 var(--display); letter-spacing: .13em; }
.press-result > strong { display: block; margin-top: 9px; color: white; font: italic 900 38px/.95 var(--display); }
.press-result > p { max-width: 680px; margin: 11px auto 0; color: #aeb7c4; font-size: 11px; line-height: 1.55; }
.press-result__balance { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 18px 0 0; }
.press-result__balance span { color: #838d9b; font: 800 9px/1 var(--display); letter-spacing: .1em; }
.press-result__balance b { color: white; font: 900 25px/1 var(--display); }
.press-result__balance b.is-positive { color: #59ea87; }
.press-result__balance b.is-negative { color: #ff6e66; }
.press-result .primary-button { margin: 20px 0 0; }
.store-balance { margin-left: auto; text-align: right; }
.store-balance span { display: block; color: #6f7985; font: 700 8px/1 var(--display); letter-spacing: .14em; }
.store-balance strong { display: block; margin-top: 6px; color: #55ef89; font: 800 23px/1 var(--display); }
.store-balance + .dialog-close { margin-left: 0; }
.store-section + .store-section { margin-top: 31px; }
.store-section h3 { margin: 0 0 11px; color: #f0eee8; font: 800 13px/1 var(--display); letter-spacing: .09em; }
.store-section h3 span { margin-left: 7px; color: #68717c; font-size: 9px; }
.store-list { display: grid; gap: 8px; }
.store-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.store-item { min-height: 108px; display: grid; grid-template-columns: 92px 1fr auto; align-items: center; gap: 14px; padding: 12px; overflow: hidden; border: 1px solid #2d333b; background: rgba(17,22,27,.76); }
.store-item__image { width: 92px; height: 78px; display: block; border: 1px solid #373d44; background-position: var(--store-position); background-repeat: no-repeat; background-size: 300% 200%; box-shadow: inset 0 0 24px rgba(0,0,0,.14); }
.store-item__image--staff { background-image: url("assets/store/staff-sprite.png"); }
.store-item__image--consumables { background-image: url("assets/store/consumables-sprite.png"); }
.store-item__image--lifestyle { background-image: url("assets/store/lifestyle-sprite.png"); }
.store-item__copy { min-width: 0; }
.store-item__copy strong { display: block; font: 700 15px/1.1 var(--body); }
.store-item__copy p { margin: 7px 0 0; color: #77808b; font-size: 10px; line-height: 1.4; }
.store-item__copy small { display: inline-block; margin-top: 8px; padding: 4px 7px; border-radius: 20px; color: #69727d; background: #1b2127; font: 700 7px/1 var(--display); letter-spacing: .08em; }
.store-item__buy { min-width: 108px; padding: 10px 11px; border: 1px solid #343d47; color: #ef7770; background: transparent; font: 800 11px/1 var(--display); letter-spacing: .06em; }
.store-item__buy:hover:not(:disabled) { color: white; border-color: var(--red); background: rgba(255,59,48,.12); }
.store-item__buy:disabled { cursor: not-allowed; color: #505963; border-color: #272d34; }
.store-item.is-owned { border-color: rgba(77,229,125,.3); background: rgba(38,112,62,.08); }
.store-item.is-owned .store-item__buy { color: #53e682; }
.store-status { min-height: 53px; margin: 0; display: flex; align-items: center; padding: 12px 28px; border-top: 1px solid #252b33; color: #7f8995; background: #090c10; font-size: 10px; }
.store-status:empty { display: none; }

.ui-tour { position: fixed; z-index: 1200; inset: 0; pointer-events: auto; }
.ui-tour__spotlight { position: fixed; pointer-events: none; border: 2px solid #ff3b30; border-radius: 7px; box-shadow: 0 0 0 9999px rgba(4,5,8,.76), 0 0 0 5px rgba(255,59,48,.16), 0 12px 38px rgba(0,0,0,.46); transition: left 220ms ease, top 220ms ease, width 220ms ease, height 220ms ease; }
.ui-tour__panel { position: fixed; width: min(350px, calc(100vw - 32px)); padding: 18px; pointer-events: auto; border: 1px solid #4a4a52; border-top: 3px solid var(--red); background: #17171f; box-shadow: 0 20px 70px rgba(0,0,0,.72); transition: left 220ms ease, top 220ms ease; }
.ui-tour__progress { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #aeb3ba; font: 800 10px/1 var(--display); letter-spacing: .1em; }
.ui-tour__progress span { color: var(--red-light); }
.ui-tour__panel h2 { margin: 14px 0 7px; color: white; font: italic 900 28px/.95 var(--display); }
.ui-tour__panel p { margin: 0; color: #d4d7dc; font-size: 13px; line-height: 1.45; }
.ui-tour__actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 18px; }
.ui-tour__actions > span { display: flex; gap: 7px; }
.ui-tour__actions button { min-height: 38px; padding: 0 13px; border: 1px solid #4d4d55; color: #d5d7db; background: #22222a; font: 800 10px/1 var(--display); letter-spacing: .06em; }
.ui-tour__actions button:hover:not(:disabled),
.ui-tour__actions button:focus-visible { color: white; border-color: var(--red); outline: none; }
.ui-tour__actions button:disabled { opacity: .3; cursor: default; }
#ui-tour-next { color: white; border-color: var(--red); background: var(--red); }
body.is-touring { overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ui-tour__spotlight,
  .ui-tour__panel { transition: none; }
}

.training-dialog { width: min(92vw, 820px); }
.training-balance { margin-left: auto; text-align: right; }
.training-balance span { display: block; color: #6f7985; font: 700 8px/1 var(--display); letter-spacing: .14em; }
.training-balance strong { display: block; margin-top: 6px; color: var(--amber); font: 800 23px/1 var(--display); }
.training-balance + .dialog-close { margin-left: 0; }
.training-intro { max-width: 650px; margin: 0 0 20px; color: #89919c; font-size: 11px; line-height: 1.55; }
.training-list { display: grid; gap: 7px; }
.training-row { min-height: 76px; display: grid; grid-template-columns: minmax(130px, .65fr) 1fr auto; align-items: center; gap: 18px; padding: 12px 15px; border: 1px solid #242a32; background: rgba(17,22,27,.76); transition: 150ms ease; }
.training-row.has-points { border-color: rgba(255,178,28,.42); background: rgba(255,178,28,.045); }
.training-row > span { color: #e6e3dc; font: 800 14px/1 var(--display); letter-spacing: .08em; }
.training-row > small { color: #737c87; font-size: 9px; line-height: 1.4; }
.training-row > div { display: grid; grid-template-columns: 34px 50px 34px; align-items: center; gap: 5px; }
.training-row button { width: 34px; height: 34px; border: 1px solid #3a424c; color: #c6ccd3; background: #11161c; font: 700 19px/1 var(--body); }
.training-row button:hover:not(:disabled) { color: #0a0c0f; border-color: var(--amber); background: var(--amber); }
.training-row button:disabled { cursor: not-allowed; opacity: .25; }
.training-row b { color: white; font: 800 24px/1 var(--display); text-align: center; }
.training-status { min-height: 18px; margin: 15px 0 10px; color: #8b939e; font-size: 10px; text-align: center; }
.training-apply { margin-top: 0; }

.program-dialog { width: min(92vw, 900px); }
.program-overview { margin: 25px 28px 0; padding: 20px; border: 1px solid #31313a; border-left: 3px solid var(--red); background: linear-gradient(120deg, #1f1f27, #15151e); }
.program-overview__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.program-overview span, .program-overview small { color: #79818d; font: 700 8px/1.35 var(--display); letter-spacing: .12em; }
.program-overview h3 { margin: 7px 0 8px; font: italic 900 29px/1 var(--display); }
.program-overview p { max-width: 640px; margin: 0; color: #9ba2ac; font-size: 10px; line-height: 1.55; }
.program-overview__support { min-width: 170px; padding-left: 18px; border-left: 1px solid #3a3a42; text-align: right; }
.program-overview__support strong { display: block; margin: 5px 0; color: #51e37c; font: 800 22px/1 var(--display); }
.program-objectives { max-height: calc(90vh - 255px); display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 16px 28px 32px; overflow-y: auto; }
.program-objectives section { padding: 18px; border: 1px solid #292932; background: rgba(10,10,14,.45); }
.program-section-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid #2c2c34; }
.program-section-title span, .program-section-title b { font: 700 8px/1 var(--display); letter-spacing: .12em; }
.program-section-title b { color: #9da5af; }
.objective-list { display: grid; gap: 7px; margin-top: 12px; }
.objective-item { display: grid; grid-template-columns: 12px 1fr auto; align-items: center; gap: 10px; min-height: 47px; padding: 10px; background: #1c1c24; }
.objective-item i { width: 9px; height: 9px; border: 1px solid #686872; border-radius: 50%; }
.objective-item.is-complete i { border-color: #51e37c; background: #51e37c; box-shadow: 0 0 10px rgba(81,227,124,.3); }
.objective-item div strong, .objective-item div small { display: block; }
.objective-item div strong { font: 700 11px/1.2 var(--body); }
.objective-item div small { margin-top: 4px; color: #747c87; font-size: 8px; }
.objective-item > b { color: #aeb5bf; font: 800 11px/1 var(--display); white-space: nowrap; }

.transfer-dialog { width: min(96vw, 1180px); max-height: 94vh; }
.transfer-dialog .game-dialog__header { position: static; }
.market-year { margin-left: auto; text-align: right; }
.market-year span, .market-year strong { display: block; }
.market-year span { color: #6f7884; font: 700 8px/1 var(--display); letter-spacing: .13em; }
.market-year strong { margin-top: 6px; font: 800 24px/1 var(--display); }
.market-intro { display: grid; grid-template-columns: minmax(250px, .75fr) 1.25fr; gap: 22px; align-items: center; padding: 18px 28px; border-bottom: 1px solid #292932; background: #101018; }
.market-intro > div { padding-left: 12px; border-left: 2px solid var(--red); }
.market-intro span, .market-intro strong, .market-intro small { display: block; }
.market-intro span { color: #8d949e; font: 700 9px/1 var(--display); letter-spacing: .12em; }
.market-intro strong { margin: 7px 0 6px; font: 800 22px/1 var(--display); }
.market-intro small { color: #9ba2ac; font-size: 10px; line-height: 1.4; }
.market-intro p { margin: 0; color: #b3b8c0; font-size: 12px; line-height: 1.6; }
#market-form { max-height: calc(94vh - 172px); padding: 24px 28px 32px; overflow-y: auto; }
.market-section + .market-section { margin-top: 28px; }
.market-section__heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.market-section__heading span, .market-section__heading small { color: var(--red); font: 700 9px/1.3 var(--display); letter-spacing: .12em; }
.market-section__heading small { max-width: 360px; color: #767e89; text-align: right; }
.market-section__heading h3 { margin: 7px 0 0; font: italic 900 32px/.95 var(--display); }
.market-offers-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.market-offer, .program-offer { position: relative; display: block; cursor: pointer; }
.market-offer > input, .program-offer > input { position: absolute; opacity: 0; pointer-events: none; }
.market-offer__card { min-height: 350px; display: flex; flex-direction: column; padding: 22px; border: 1px solid #383842; border-top: 3px solid #62626b; background: linear-gradient(145deg, #202029, #15151d); transition: 160ms ease; }
.market-offer__card--late { border-top-color: #55c8df; background: linear-gradient(145deg, rgba(31,49,58,.98), #15151d 66%); }
.market-offer:hover .market-offer__card, .program-offer:hover .program-offer__card { transform: translateY(-2px); border-color: #6c6c75; }
.market-offer input:focus-visible + .market-offer__card, .program-offer input:focus-visible + .program-offer__card { outline: 2px solid white; outline-offset: 3px; }
.market-offer input:checked + .market-offer__card, .program-offer input:checked + .program-offer__card { border-color: var(--red); box-shadow: inset 0 0 0 1px rgba(225,6,0,.2), 0 12px 28px rgba(0,0,0,.28); }
.market-offer__topline { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #969da7; font: 700 9px/1 var(--display); letter-spacing: .1em; }
.market-offer__topline b { color: #a6adb7; font-weight: 700; }
.market-offer__card h4 { min-height: 52px; margin: 22px 0 7px; font: 800 27px/.98 var(--display); }
.market-offer__card > p { min-height: 54px; margin: 0 0 16px; color: #aeb3bb; font-size: 11px; line-height: 1.55; }
.contract-primary { padding: 13px 0; border-top: 1px solid #33333b; border-bottom: 1px solid #33333b; }
.contract-primary span, .contract-primary strong { display: block; }
.contract-primary span { color: #979ea8; font: 700 9px/1 var(--display); letter-spacing: .11em; }
.contract-primary strong { margin-top: 8px; color: #52e37d; font: 800 26px/1 var(--display); }
.contract-primary.is-cost strong { color: #ff7069; }
.contract-bonuses { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; margin-top: 8px; }
.contract-bonuses span { padding: 9px 4px; background: #191921; text-align: center; }
.contract-bonuses small, .contract-bonuses b { display: block; }
.contract-bonuses small { color: #8c939d; font: 700 8px/1 var(--display); }
.contract-bonuses b { margin-top: 5px; color: #d5d9df; font: 800 12px/1 var(--display); }
.market-offer__age { margin-top: 9px; padding: 7px 8px; color: #7d8590; background: #17171e; font: 700 7px/1.2 var(--display); letter-spacing: .08em; }
.market-offer__age.is-declining { color: #ff8b82; border-left: 2px solid #ff5b53; background: rgba(255,91,83,.07); }
.market-offer__footer { margin-top: auto; padding-top: 15px; display: flex; justify-content: space-between; gap: 12px; color: #969da7; font: 700 9px/1.4 var(--display); letter-spacing: .07em; }
.market-offer__footer b { color: #d8dce2; font-weight: 700; text-align: right; }
.program-offers-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.program-offer__card { min-height: 230px; display: flex; flex-direction: column; padding: 21px; border: 1px solid #33333c; background: #1b1b23; transition: 160ms ease; }
.program-offer__card > span { color: #969da7; font: 700 9px/1 var(--display); letter-spacing: .12em; }
.program-offer__card h4 { margin: 15px 0 9px; font: 800 23px/1 var(--display); }
.program-offer__card p { margin: 0; color: #aab0b9; font-size: 11px; line-height: 1.55; }
.program-offer__terms { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin-top: auto; padding-top: 13px; }
.program-offer__terms span { padding: 8px; background: #14141b; }
.program-offer__terms small, .program-offer__terms b { display: block; }
.program-offer__terms small { color: #89909a; font: 700 8px/1 var(--display); }
.program-offer__terms b { margin-top: 6px; color: #e3e5e8; font: 800 12px/1 var(--display); }
.market-confirmation { position: sticky; bottom: -32px; display: grid; grid-template-columns: 1fr minmax(300px, 420px); align-items: center; gap: 20px; margin: 25px -28px -32px; padding: 16px 28px; border-top: 1px solid #35353e; background: rgba(9,9,13,.98); }
.market-confirmation p { margin: 0; color: #8a929d; font: 700 9px/1.4 var(--display); letter-spacing: .08em; }
.market-confirmation .primary-button { margin: 0; }

.retirement-dialog { width: min(92vw, 760px); text-align: center; }
.retirement-dialog__flag { height: 18px; overflow: hidden; color: transparent; background: conic-gradient(#f4f4f0 25%, #111 0 50%, #f4f4f0 0 75%, #111 0) 0 0 / 18px 18px; }
.retirement-dialog__content { padding: 40px clamp(20px, 5vw, 52px) 44px; }
.retirement-dialog h2 { margin: 8px 0 15px; font: italic 900 clamp(45px, 8vw, 78px)/.85 var(--display); text-transform: uppercase; }
.retirement-dialog__content > p:not(.section-kicker) { max-width: 570px; margin: 0 auto; color: #9299a4; font-size: 11px; line-height: 1.6; }
.retirement-summary { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; margin: 28px 0 20px; }
.retirement-summary div { padding: 14px 8px; border-top: 2px solid #4a4a52; background: #1d1d25; }
.retirement-summary div:last-child { border-top-color: var(--red); }
.retirement-summary span, .retirement-summary strong { display: block; }
.retirement-summary span { color: #737b86; font: 700 7px/1 var(--display); letter-spacing: .09em; }
.retirement-summary strong { margin-top: 7px; font: 800 20px/1 var(--display); }
.retirement-dialog .primary-button { margin-top: 0; }

.career-dialog { width: min(92vw, 820px); }
.career-dialog__profile { display: flex; align-items: center; gap: 13px; margin: 26px 28px 5px; padding: 18px; border: 1px solid #282f38; background: #11161c; }
.career-dialog__profile img { width: 38px; height: 24px; object-fit: cover; }
.career-dialog__profile div > * { display: block; }
.career-dialog__profile strong { font: 800 23px/1 var(--display); }
.career-dialog__profile span { margin-top: 5px; color: #75808c; font: 700 8px/1 var(--display); letter-spacing: .12em; }
.career-dialog__profile > b { margin-left: auto; color: var(--amber); font: 800 18px/1 var(--display); }
.career-timeline { max-height: calc(90vh - 235px); padding: 20px 28px 40px; overflow-y: auto; }
.career-timeline__entry { display: grid; grid-template-columns: 85px 18px 1fr; gap: 18px; min-height: 190px; }
.career-timeline__entry > div { text-align: right; }
.career-timeline__entry > div strong, .career-timeline__entry > div span { display: block; }
.career-timeline__entry > div strong { font: 800 24px/1 var(--display); }
.career-timeline__entry > div span { margin-top: 6px; color: #68727e; font: 700 8px/1 var(--display); letter-spacing: .1em; }
.career-timeline__entry > i { position: relative; width: 2px; height: 100%; background: #303843; }
.career-timeline__entry > i::before { content: ""; position: absolute; left: -5px; top: 3px; width: 10px; height: 10px; border: 1px solid #65707c; border-radius: 50%; background: #10151a; }
.career-timeline__entry--active > i { background: linear-gradient(var(--red), #303843); }
.career-timeline__entry--active > i::before { border-color: var(--red); background: var(--red); box-shadow: 0 0 12px rgba(255,59,48,.55); }
.career-timeline__entry section { padding: 0 0 25px; }
.career-timeline__entry section > small { color: var(--red); font: 700 8px/1 var(--display); letter-spacing: .13em; }
.career-timeline__entry section h3 { margin: 7px 0 7px; font: 800 22px/1 var(--display); }
.career-timeline__entry section p { margin: 0; color: #7e8792; font-size: 10px; line-height: 1.5; }
.career-timeline__entry section .career-prestige-win { display: flex; flex-wrap: wrap; gap: 7px 12px; margin-top: 10px; padding: 8px 10px; border-left: 3px solid #e6bd49; color: #d7c37f; background: rgba(230,189,73,.08); }
.career-prestige-win strong { color: #f0cd65; font: 800 8px/1.2 var(--display); letter-spacing: .1em; }
.career-prestige-win span { color: #d6d0be; font-size: 9px; }
.career-crown-milestone { margin-top: 9px; padding: 11px 12px; border: 1px solid #80671f; border-left: 4px solid #f0ca5a; background: linear-gradient(110deg, rgba(178,135,28,.18), rgba(26,25,22,.7)); }
.career-timeline__entry section .career-crown-milestone small { color: #dfb941; font: 800 8px/1 var(--display); letter-spacing: .12em; }
.career-timeline__entry section .career-crown-milestone strong { display: block; margin-top: 6px; color: #fff0ae; font: 800 14px/1.05 var(--display); }
.career-timeline__entry section .career-crown-milestone p { margin-top: 6px; color: #c7bea1; }
.career-timeline__entry section .career-superlicence-points { display: flex; flex-wrap: wrap; gap: 7px 12px; margin-top: 7px; padding: 7px 10px; border-left: 3px solid #b58e28; background: rgba(181,142,40,.07); }
.career-superlicence-points strong { color: #dfba54; font: 800 8px/1.2 var(--display); letter-spacing: .08em; }
.career-superlicence-points span { color: #989486; font-size: 9px; }
.career-timeline__empty { margin: 0; padding: 28px; color: #7d8691; border: 1px dashed #303741; background: #11161c; font-size: 10px; line-height: 1.6; text-align: center; }
.season-result-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 5px; margin-top: 14px; }
.season-result-grid > span { padding: 9px 7px; border-top: 1px solid #3a424c; background: #14191f; }
.season-result-grid small, .season-result-grid b { display: block; }
.season-result-grid small { color: #68727e; font: 700 7px/1 var(--display); letter-spacing: .07em; }
.season-result-grid b { margin-top: 6px; color: #e6e8eb; font: 800 15px/1 var(--display); }

@media (max-width: 800px) {
  .hero { min-height: calc(100vh - 110px); padding: 70px 0; }
  .hero h1 { font-size: clamp(58px, 14vw, 92px); }
  .hero__race-line { display: none; }
  .identity-grid { grid-template-columns: minmax(0, 1fr) 120px 100px; }
  .field--wide { grid-column: 1 / -1; }
  .style-grid { grid-template-columns: 1fr; }
  .screen-panel__header { align-items: flex-start; flex-direction: column; }
  .candidate-chip { width: 100%; }
  .team-grid { grid-template-columns: 1fr; }
  .team-card { min-height: 370px; }
  .career-hud__identity { align-items: flex-start; flex-wrap: wrap; }
  .career-team { width: 100%; margin-left: 92px; justify-content: flex-end; }
  .career-results { grid-template-columns: repeat(2, 1fr); }
  .career-attributes { grid-template-columns: repeat(3, 1fr); }
  .career-economy { grid-template-columns: 1fr; }
  .career-contract-strip { grid-template-columns: 1fr; }
  .career-matchups { grid-template-columns: 1fr; }
  .career-hud__footer { grid-template-columns: 1fr; }
  .career-hud__actions { width: 100%; }
  .career-hud__actions button { flex: 1; }
  .sponsor-summary-strip { grid-template-columns: 1fr 1fr; }
  .sponsor-summary-strip > div { border-bottom: 1px solid #34343c; }
  .sponsor-summary-strip > div:nth-child(2) { border-right: 0; }
  .sponsor-summary-strip > div:last-child { grid-column: 1 / -1; border-bottom: 0; }
  .sponsor-active-card { grid-template-columns: 58px 1fr; }
  .sponsor-active-card dl { grid-column: 1 / -1; }
  .sponsor-offer-list { grid-template-columns: 1fr; }
  .sponsor-negotiation__layout { grid-template-columns: 1fr; }
  .program-objectives { grid-template-columns: 1fr; }
  .market-offers-grid { grid-template-columns: 1fr; }
  .program-offers-grid { grid-template-columns: 1fr; }
  .market-offer__card { min-height: 285px; }
  .market-intro { grid-template-columns: 1fr; }
  .standings-grid { grid-template-columns: 1fr; }
  .standings-table-wrap { max-height: 360px; }
  .decision-deck-note { align-items: flex-start; flex-direction: column; gap: 7px; }
  .decision-deck-note em { text-align: left; }
  .decision-grid { grid-template-columns: 1fr; }
  .decision-grid button { min-height: 330px; }
  .story-decision-grid { grid-template-columns: 1fr; }
  .story-option > span { min-height: 205px; }
  .season-results__story article { grid-template-columns: 125px 1fr; gap: 8px 14px; }
  .season-results__story article p { grid-column: 2; }
  .press-answer-grid { grid-template-columns: 1fr; }
  .press-answer-grid button { min-height: 116px; }
  .event-action-bar { grid-template-columns: 1fr; }
  .start-strategy-grid { grid-template-columns: 1fr; }
  .reaction-console { grid-template-columns: 1fr; }
  .start-lights, .reaction-readout { border-right: 0; border-bottom: 1px solid #38383f; }
  .reaction-button { min-height: 62px; }
  .store-grid { grid-template-columns: 1fr; }
  .training-row { grid-template-columns: 1fr auto; gap: 7px 14px; }
  .training-row > small { grid-column: 1; }
  .training-row > div { grid-column: 2; grid-row: 1 / 3; }
  .season-result-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 540px) {
  .season-results__masthead { align-items: flex-start; flex-direction: column; gap: 7px; margin-inline: 20px; }
  .season-results__masthead strong { font-size: 15px; }
  .season-results__header h2 { font-size: 40px; }
  .season-results__rating { min-height: 58px; }
  .season-results__rating strong { font-size: 32px; }
  .season-results__learning strong { font-size: 17px; }
  .season-results__story article { grid-template-columns: 1fr; }
  .season-results__story article p { grid-column: auto; }
  .press-dialog__masthead { align-items: flex-start; padding: 23px 20px 19px; }
  .press-dialog__masthead h2 { font-size: 35px; }
  .press-dialog__fame { min-width: 66px; }
  .press-dialog__context { margin-inline: 20px; }
  .press-dialog__body { padding: 18px 20px 24px; }
  .press-dialog__question h3 { font-size: 20px; }
  .press-transcript__line { grid-template-columns: 22px 90px 1fr; }
  .press-result > strong { font-size: 31px; }
  .garage-shell { padding-inline: 16px; }
  .topbar { height: 68px; }
  .brand { font-size: 15px; }
  .season-tag { font-size: 9px; }
  .hero { min-height: calc(100svh - 96px); padding: 56px 0 70px; }
  .hero__description { font-size: 12px; margin-top: 22px; }
  .intro-button { width: 100%; margin-top: 30px; }
  .intro-note { font-size: 8px; line-height: 1.5; }
  .setup-card { padding: 24px 18px; }
  .screen-panel { padding: 24px 18px; }
  .setup-card h2 { font-size: 30px; }
  .random-button { padding: 9px; font-size: 10px; }
  .identity-grid { grid-template-columns: 1fr; }
  .difficulty-grid { grid-template-columns: 1fr; }
  .field--wide { grid-column: auto; }
  .style-card { grid-template-columns: 42px 1fr; gap: 10px; padding: 20px 16px; }
  .style-card__icon { font-size: 36px; }
  .driver-preview { padding: 13px; }
  .helmet { flex-basis: 62px; width: 62px; height: 57px; margin-right: 13px; }
  .helmet::after { width: 42px; height: 15px; top: 18px; }
  .helmet strong { margin-left: -29px; font-size: 23px; }
  .driver-preview__copy strong { max-width: 130px; font-size: 22px; }
  .driver-preview__copy small { font-size: 9px; }
  .team-card { padding: 20px 17px; }
  .career-hud { padding: 22px 16px; }
  .career-rating { min-width: 62px; }
  .career-rating strong { font-size: 47px; }
  .career-driver__name strong { max-width: 160px; font-size: 23px; }
  .career-driver__name { flex-wrap: wrap; }
  .career-driver__code { padding: 4px 6px 3px; font-size: 11px; }
  .career-team { margin-left: 0; justify-content: flex-start; text-align: left; }
  .career-results { grid-template-columns: repeat(3, 1fr); }
  .career-attributes { grid-template-columns: repeat(2, 1fr); }
  .career-context { align-items: flex-start; flex-direction: column; gap: 5px; }
  .career-hud__actions { flex-direction: column; }
  .sponsor-dialog__balance { display: none; }
  .sponsor-summary-strip { grid-template-columns: 1fr; }
  .sponsor-summary-strip > div, .sponsor-summary-strip > div:nth-child(2), .sponsor-summary-strip > div:last-child { grid-column: auto; border-right: 0; border-bottom: 1px solid #34343c; }
  .sponsor-summary-strip > div:last-child { border-bottom: 0; }
  .sponsor-section__heading { align-items: flex-start; flex-direction: column; }
  .sponsor-section__heading small { text-align: left; }
  .sponsor-active-card { grid-template-columns: 48px 1fr; gap: 13px; padding: 15px; }
  .sponsor-monogram { width: 48px; height: 48px; flex-basis: 48px; font-size: 14px; }
  .sponsor-active-card dl { grid-template-columns: repeat(2, 1fr); }
  .sponsor-offer-card { min-height: 0; padding: 17px; }
  .sponsor-offer-card > p { min-height: 0; }
  .sponsor-negotiation__brand { align-items: flex-start; }
  .sponsor-negotiation__brand h3 { font-size: 24px; }
  .sponsor-contract-preview { grid-template-columns: 1fr; }
  .sponsor-contract-preview h4, .sponsor-contract-preview > p { grid-column: auto; }
  .sponsor-negotiation__actions { grid-template-columns: 1fr; }
  .program-overview { margin-inline: 16px; }
  .program-overview__top { flex-direction: column; }
  .program-overview__support { width: 100%; padding: 12px 0 0; border-top: 1px solid #3a3a42; border-left: 0; text-align: left; }
  .program-objectives { padding-inline: 16px; }
  .market-year { display: none; }
  .market-intro { padding-inline: 18px; }
  #market-form { padding-inline: 18px; }
  .market-section__heading { align-items: flex-start; flex-direction: column; }
  .market-section__heading small { text-align: left; }
  .market-confirmation { position: static; grid-template-columns: 1fr; margin: 24px -18px -32px; padding-inline: 18px; }
  .retirement-summary { grid-template-columns: repeat(2, 1fr); }
  .retirement-summary div:last-child { grid-column: 1 / -1; }
  .motorsport-world { padding-inline: 16px; }
  .motorsport-world__header { align-items: flex-start; flex-direction: column; }
  .motorsport-world__season { padding: 0; border-left: 0; text-align: left; }
  .championship-picker { grid-template-columns: 1fr; gap: 9px; }
  .standings-context { align-items: flex-start; flex-direction: column; gap: 9px; }
  .standings-context p { text-align: left; }
  .standings-table th:nth-child(3), .standings-table td:nth-child(3) { width: 92px; }
  .career-event h2 { font-size: 40px; }
  .career-event { padding-inline: 18px; }
  .event-summary__topline { align-items: flex-start; flex-direction: column; gap: 6px; }
  .event-summary__score strong { font-size: 31px; }
  .motorsport-celebration { min-height: 180px; }
  .champagne-bottle--left { left: 18px; }
  .champagne-bottle--right { right: 18px; }
  .motorsport-celebration__copy { padding-inline: 72px; }
  .motorsport-celebration__copy strong { font-size: 30px; }
  .race-loading > strong { font-size: 35px; }
  .game-dialog__header { padding: 18px; }
  .game-dialog__header h2 { font-size: 34px; }
  .game-dialog__body { padding: 20px 16px 30px; }
  .season-results__header { grid-template-columns: 1fr; padding: 28px 20px 24px; }
  .season-results__position { padding: 14px 0 0; border-top: 1px solid #3a3a42; border-left: 0; text-align: left; }
  .season-results__position strong { font-size: 46px; }
  .season-results__body { padding: 20px; }
  .season-results__metrics { grid-template-columns: repeat(2, 1fr); }
  .season-results__metrics article:nth-child(2) { border-right: 0; }
  .season-results__metrics article:nth-child(-n+2) { border-bottom: 1px solid #3a3a43; }
  .memory-grid { grid-template-columns: repeat(3, 1fr); }
  .memory-grid button { min-height: 80px; }
  .challenge-arena { min-height: 230px; padding: 15px 10px; }
  .challenge-grid--three, .challenge-grid--four { grid-template-columns: repeat(2, 1fr); }
  .challenge-choice { min-height: 68px; padding: 10px; font-size: 11px; }
  .challenge-hud { align-items: flex-start; flex-direction: column; gap: 7px; }
  .store-balance strong { font-size: 18px; }
  .training-balance strong { font-size: 18px; }
  .store-section h3 span { display: block; margin: 5px 0 0; }
  .store-item { grid-template-columns: 72px 1fr; }
  .store-item__image { width: 72px; height: 64px; }
  .store-item__buy { grid-column: 1 / -1; width: 100%; }
  .ui-tour__panel { top: auto !important; right: 12px; bottom: 12px; left: 12px !important; width: auto !important; }
  .training-row { grid-template-columns: 1fr; }
  .training-row > small, .training-row > div { grid-column: 1; grid-row: auto; }
  .training-row > div { justify-content: start; }
  .career-dialog__profile { margin-inline: 16px; }
  .career-dialog__profile > b { display: none; }
  .career-timeline { padding-inline: 16px; }
  .career-timeline__entry { grid-template-columns: 62px 14px 1fr; gap: 12px; }
  .season-result-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-line span:last-child { display: none; }
}

@media (prefers-reduced-motion: no-preference) {
  .hero__copy, .setup-card, .team-screen, .card-screen, .career-screen { animation: rise-in 600ms both; }
  .setup-card { animation-delay: 180ms; }
  @keyframes rise-in { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
}

@media (prefers-reduced-motion: reduce) {
  .season-race-track::before, .season-race-track i, .season-race-car, .reaction-button.is-go, .champagne-spray path, .champagne-bottle, .decision-card--legendary::after { animation: none; }
}

.session-note { max-width: 48ch; font-size: 12px; line-height: 1.6; color: #b1b6bf; }
.crucial-grid button.is-active { color: #fff; font-size: 24px; }

/* Legibilidad base: la información secundaria sigue siendo secundaria, pero nunca microscópica. */
.setup-card__intro,
.screen-panel__header > div:first-child > p:last-child { color: #b1b6bf; font-size: 13px; }
.difficulty-grid b,
.team-card__location,
.team-card__perk { color: #aab0b9; font-size: 11px; }
.team-market-note,
.team-card__topline,
.team-card__metrics small,
.team-card__offer small,
.team-card__contract small { font-size: 10px; }
.career-driver small,
.career-context,
.career-team small,
.career-results span,
.career-attributes span,
.career-economy span,
.career-contract-strip span,
.career-contract-strip small,
.career-fame > div:first-child,
.matchup-card > span,
.matchup-card > small,
.season-progress > div:first-child { color: #aab1bb; font-size: 10px; line-height: 1.35; }
.career-contract-strip strong { font-size: 18px; }
.career-contract-strip small,
.matchup-card > small {
  display: block;
  margin-top: 7px;
  color: #c4c8cf;
  font-family: var(--body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.4;
}
.decision-grid > .decision-card > p { min-height: 54px; color: #e0e2e6; font-size: 14px; line-height: 1.45; }
.decision-card__risk small,
.decision-card__risk em { font-size: 11px; }

/* Momentos cruciales: adaptaciones de los juegos externos, aisladas de la rotación normal. */
#crucial-game-root { display: contents; }
.crucial-game-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 250px);
  gap: 14px 18px;
}
.crucial-context {
  grid-column: 2;
  grid-row: 1 / span 2;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 18px;
  border: 1px solid #3b4049;
  border-top: 3px solid var(--red);
  background: radial-gradient(circle at 65% 52%, rgba(225,6,0,.11), transparent 38%), #111117;
}
.crucial-context span,
.crucial-context strong,
.crucial-context small { display: block; }
.crucial-context span { color: var(--red); font: 800 10px/1 var(--display); letter-spacing: .14em; }
.crucial-context strong { margin-top: 8px; color: #fff; font: 800 20px/1 var(--display); }
.crucial-context small { margin-top: 8px; color: #b8bec7; font: 700 11px/1.3 var(--display); letter-spacing: .08em; }
.crucial-context svg { width: 100%; height: 132px; margin-top: 15px; overflow: visible; }
.crucial-context svg path { fill: none; stroke: #f0f1f3; stroke-width: 10; stroke-linecap: round; stroke-linejoin: round; }
.crucial-context svg .crucial-track-shadow { stroke: rgba(225,6,0,.62); stroke-width: 23; }
.crucial-context svg circle { fill: var(--red); stroke: #fff; stroke-width: 5; }
.crucial-brief {
  grid-column: 1;
  padding: 20px 22px;
  border: 1px solid #3b4049;
  border-left: 5px solid var(--red);
  background: linear-gradient(112deg, rgba(225,6,0,.13), #17171e 52%);
}
.crucial-brief span,
.crucial-brief strong { display: block; }
.crucial-brief span { color: #ff4b45; font: 800 10px/1 var(--display); letter-spacing: .15em; }
.crucial-brief strong { margin-top: 10px; color: #fff; font: italic 900 clamp(30px, 5vw, 48px)/.92 var(--display); text-transform: uppercase; }
.crucial-brief p { max-width: 680px; margin: 12px 0 0; color: #d4d7dc; font-size: 14px; line-height: 1.55; }
.crucial-play { grid-column: 1; min-width: 0; }
.crucial-start { width: 100%; min-height: 74px; }
.crucial-hud { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 20px; margin-bottom: 10px; padding: 13px 16px; border: 1px solid #3a3f48; background: #0f1015; }
.crucial-hud span { color: #abb1ba; font: 800 10px/1 var(--display); letter-spacing: .1em; }
.crucial-hud b { margin-left: 7px; color: #fff; font-size: 16px; }
.crucial-enduro-canvas { width: min(100%, 520px); height: auto; display: block; margin-inline: auto; border: 1px solid #575c65; background: #23262c; box-shadow: 0 18px 38px rgba(0,0,0,.35); }
.crucial-drive-controls { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 10px; }
.crucial-drive-controls button,
.crucial-stroop-options button { min-height: 52px; border: 1px solid #454a53; color: #fff; background: #1c1e25; font: 800 12px/1 var(--display); letter-spacing: .07em; }
.crucial-drive-controls button:hover,
.crucial-drive-controls button:focus-visible,
.crucial-stroop-options button:hover,
.crucial-stroop-options button:focus-visible { border-color: #fff; outline: 2px solid #fff; outline-offset: 2px; }
.crucial-drive-controls button.is-active { border-color: var(--red); background: #3a100e; box-shadow: inset 0 -4px var(--red); }
.crucial-target-arena,
.crucial-lane-arena { height: 360px; position: relative; overflow: hidden; border: 1px solid #4a4f58; background: linear-gradient(90deg, transparent 32.8%, rgba(255,255,255,.1) 33%, transparent 33.3% 66.1%, rgba(255,255,255,.1) 66.3%, transparent 66.6%), radial-gradient(circle at 50% 20%, #303842, #14161b 68%); }
.crucial-target-arena::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(180deg, transparent 0 52px, rgba(255,255,255,.06) 52px 54px); }
.crucial-target { --target-size: 62px; width: var(--target-size); height: var(--target-size); position: absolute; z-index: 1; border: 7px solid #fff; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 7px rgba(225,6,0,.28), 0 0 24px rgba(225,6,0,.7); transform: translate(-50%, -50%); }
.crucial-target::after { content: ""; position: absolute; inset: 30%; border-radius: 50%; background: #fff; }
.crucial-lane-obstacles i { width: 27%; min-height: 62px; position: absolute; top: 54px; display: grid; place-items: center; padding: 8px; color: #fff; border: 1px solid #ff716b; background: #8f1712; font: 800 10px/1.2 var(--display); text-align: center; transform: translateX(-50%); }
.crucial-lane-obstacles i.is-useful { color: #08240f; border-color: #6df396; background: #64e98e; }
.crucial-lane-player { width: 54px; height: 84px; position: absolute; left: 50%; bottom: 24px; border: 3px solid #fff; background: var(--red); clip-path: polygon(28% 0,72% 0,100% 27%,87% 100%,13% 100%,0 27%); transform: translateX(-50%); transition: left 130ms ease; }
.crucial-fourline { width: min(100%, 650px); display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; margin: 0 auto; padding: 10px; border: 1px solid #474c55; background: #111319; }
.crucial-fourline button { display: flex; flex-direction: column; gap: 5px; padding: 5px; border: 0; background: #20242b; }
.crucial-fourline button:hover,
.crucial-fourline button:focus-visible { outline: 2px solid #fff; outline-offset: 1px; }
.crucial-fourline button:disabled { cursor: wait; opacity: .72; }
.crucial-fourline button:disabled:hover { outline: 0; }
.crucial-fourline.is-thinking { border-color: #f6c344; box-shadow: 0 0 0 1px rgba(246,195,68,.18); }
.crucial-fourline i { aspect-ratio: 1; display: block; border: 2px solid #3e444e; border-radius: 50%; background: #0c0e12; }
.crucial-fourline i.player-1 { border-color: #ff645d; background: var(--red); }
.crucial-fourline i.player-2 { border-color: #fff; background: #e5e7eb; }
.crucial-grid { width: min(100%, 560px); display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin: 0 auto; }
.crucial-grid button { aspect-ratio: 1; border: 1px solid #424750; background: #1d2027; }
.crucial-grid button:hover,
.crucial-grid button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.crucial-grid button.is-active { border-color: #fff; background: var(--red); box-shadow: 0 0 22px rgba(225,6,0,.62), inset 0 0 0 5px #fff; }
.crucial-grid button.is-error { border-color: #ff7872; background: #63120e; }
.crucial-stroop-word { min-height: 170px; display: grid; place-items: center; border: 1px solid #454a53; background: radial-gradient(circle, #292d35, #111319 68%); font: italic 900 clamp(48px, 10vw, 92px)/1 var(--display); letter-spacing: .04em; }
.crucial-stroop-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 10px; }
.crucial-game-panel > .reaction-result { grid-column: 1 / -1; }

@media (max-width: 800px) {
  #crucial-game-root.is-playing .crucial-context { display: none; }
  .crucial-game-panel { grid-template-columns: 1fr; }
  .crucial-context,
  .crucial-brief,
  .crucial-play { grid-column: 1; grid-row: auto; }
  .crucial-context { min-height: 0; display: grid; grid-template-columns: 1fr 150px; align-items: center; }
  .crucial-context svg { height: 105px; margin-top: 0; }
}

@media (max-width: 540px) {
  .crucial-context { grid-template-columns: 1fr 112px; padding: 14px; }
  .crucial-context strong { font-size: 17px; }
  .crucial-context svg { height: 86px; }
  .crucial-brief { padding: 18px; }
  .crucial-brief p { font-size: 13px; }
  .crucial-target-arena,
  .crucial-lane-arena { height: 300px; }
  .crucial-drive-controls button { min-height: 48px; padding-inline: 5px; font-size: 10px; }
  .crucial-stroop-options { grid-template-columns: repeat(2, 1fr); }
  .crucial-fourline { gap: 3px; padding: 6px; }
  .crucial-fourline button { gap: 3px; padding: 3px; }
}

@media (prefers-reduced-motion: reduce) {
  .crucial-lane-player { transition: none; }
}

/* Auditoría de lectura: jerarquía simple, texto útil y tamaños cómodos. */
.career-hud {
  padding: clamp(24px, 3.2vw, 38px);
  background: linear-gradient(125deg, rgba(27,27,34,.99), rgba(16,16,22,.99));
}
.career-hud__identity { gap: 22px; }
.career-rating { min-width: 86px; }
.career-rating strong { font-size: 64px; }
.career-rating span { margin-top: 7px; color: #b5bbc4; font: 700 12px/1 var(--body); letter-spacing: .05em; }
.career-driver__name strong { font-size: clamp(30px, 3vw, 38px); letter-spacing: -.01em; }
.career-driver__name span { font-size: 24px; }
.career-driver small,
.career-context { color: #c8cdd4; font: 600 13px/1.45 var(--body); letter-spacing: 0; }
.career-context { margin-top: 6px; }
.career-context b { color: #fff; font-weight: 700; }
.career-results { gap: 9px; margin-top: 30px; }
.career-results div { padding: 16px 14px; }
.career-results strong { font-size: 32px; }
.career-results span,
.career-attributes span { margin-top: 7px; color: #c0c5cd; font: 700 12px/1.2 var(--body); letter-spacing: .025em; }
.career-attributes { gap: 9px; margin-top: 9px; }
.career-attributes div { padding: 14px 10px; }
.career-attributes strong { font-size: 27px; }
.career-attributes strong i { font-size: 11px; }
.career-economy { gap: 9px; margin-top: 9px; }
.career-economy div { padding: 16px 18px; }
.career-economy span { color: #b9c0c9; font: 700 12px/1.25 var(--body); letter-spacing: .02em; }
.career-economy strong { margin-top: 8px; font-size: 25px; }
.career-fame { margin-top: 18px; padding: 16px 18px 15px; border: 1px solid #373740; background: #191920; }
.career-fame__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; }
.career-fame__header span { display: flex; align-items: baseline; gap: 12px; }
.career-fame__header small { color: #b8bec7; font: 700 12px/1 var(--body); letter-spacing: .04em; }
.career-fame__header b { color: #fff; font: 800 27px/1 var(--display); }
.career-fame__header strong { font: 800 18px/1 var(--display); }
.career-fame__bar { height: 11px; margin-top: 13px; }
.career-matchups { gap: 9px; margin-top: 12px; }
.matchup-card { padding: 17px 18px; }
.matchup-card > span { color: #b9c0c9; font: 700 12px/1 var(--body); letter-spacing: .025em; }
.matchup-card > div { margin: 9px 0 0; }
.matchup-card > div b { font-size: 22px; }
.matchup-card > div strong { font-size: 26px; }
.season-progress > div:first-child { color: #b9c0c9; font: 700 12px/1.2 var(--body); letter-spacing: .025em; }
.season-progress__bar { height: 9px; margin-top: 10px; }
.career-hud__actions button { min-width: 124px; height: 54px; font-size: 12px; letter-spacing: .035em; }
.career-hud__actions svg { width: 21px; }

.career-dialog .career-contract-strip { margin: 14px 28px 0; }
.career-dialog .career-contract-strip > div { padding: 17px 18px; }
.career-dialog .career-contract-strip span { color: #b2bac4; font: 700 11px/1.2 var(--body); letter-spacing: .035em; }
.career-dialog .career-contract-strip strong { margin: 9px 0 7px; font-size: 20px; }
.career-dialog .career-contract-strip small { color: #d0d4da; font: 600 12px/1.45 var(--body); letter-spacing: 0; }
.career-dialog .career-matchups { margin: 14px 28px 0; }
.career-dialog__objectives-button {
  width: calc(100% - 56px);
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 12px 28px 0;
  padding: 12px 18px;
  border: 1px solid #3b424c;
  border-left: 3px solid var(--red);
  color: #f4f5f6;
  background: #171b21;
  text-align: left;
}
.career-dialog__objectives-button:hover { border-color: var(--red); background: rgba(225,6,0,.09); }
.career-dialog__objectives-button span > * { display: block; }
.career-dialog__objectives-button small { color: #aeb5be; font: 700 11px/1 var(--body); letter-spacing: .03em; }
.career-dialog__objectives-button strong { margin-top: 6px; font: 800 19px/1 var(--display); }
.career-dialog__objectives-button svg { width: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; }

.championship-dialog { width: min(96vw, 1180px); }
.championship-dialog__season { margin-left: auto; text-align: right; }
.championship-dialog__season span,
.championship-dialog__season strong { display: block; }
.championship-dialog__season span { color: #aeb5be; font: 700 11px/1 var(--body); letter-spacing: .03em; }
.championship-dialog__season strong { margin-top: 6px; font: 800 24px/1 var(--display); }
.championship-dialog .dialog-close { margin-left: 0; }
.championship-dialog__body { padding-top: 22px; }
.championship-dialog .motorsport-world { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.championship-dialog .championship-picker { margin-top: 0; }
.career-hud__actions button.has-notification { border-color: var(--red); }

.career-event { padding-top: 42px; }
.event-stage > p:not(.section-kicker) { max-width: 700px; color: #d8dbe0; font-size: 16px; line-height: 1.6; }
.decision-deck-note { font: 700 13px/1.45 var(--body); letter-spacing: 0; }
.decision-grid > .decision-card > p { color: #e4e6ea; font-size: 15px; line-height: 1.55; }
.decision-card__impact small { font-size: 12px; }
.decision-card__impact b { font-size: 17px; }
.decision-card__risk small,
.decision-card__risk em { font-size: 12px; }
.decision-grid button { min-height: 385px; }
.decision-grid > .decision-card > strong { min-height: 72px; margin-bottom: 22px; }
.story-option p { color: #e0e3e7 !important; font-size: 15px !important; line-height: 1.6 !important; }
.decision-result p,
.event-summary__facts p,
.season-results__learning p,
.season-results__balance small { color: #d0d4da; font-size: 14px; line-height: 1.55; }

.motorsport-world { padding-top: 34px; }
.motorsport-world__header h2 { font-size: clamp(40px, 4vw, 52px); }
.motorsport-world__season span,
.standings-context span,
.standings-panel__title span { color: #b2b8c1; font: 700 11px/1.2 var(--body); letter-spacing: .035em; }
.championship-picker > span { font: 700 12px/1.2 var(--body); letter-spacing: .03em; }
.championship-picker select { font: 700 14px/1 var(--body); letter-spacing: 0; }
.standings-context strong { font-size: 22px; }
.standings-table th { height: 42px; font: 700 11px/1 var(--body); letter-spacing: .03em; }
.standings-table td { height: 54px; color: #edf0f3; font-size: 14px; }
.standings-driver strong,
.standings-team-name strong { font: 700 14px/1.2 var(--body); }
.standings-driver small { font-size: 10px; }
.team-trend { font: 700 10px/1.2 var(--body); letter-spacing: 0; }

.game-dialog__body { font-size: 15px; }
.training-intro,
.program-overview p,
.market-intro small,
.store-item__copy p,
.training-row > small,
.objective-item div small,
.market-offer__card > p,
.program-offer__card p,
.press-dialog__context p,
.press-answer-grid button > small,
.press-result > p { color: #c6cbd2; font-size: 13px; line-height: 1.55; }
.store-status,
.training-status { color: #bcc2ca; font-size: 13px; }

@media (max-width: 800px) {
  .career-rating strong { font-size: 52px; }
  .career-results span,
  .career-attributes span,
  .career-economy span { font-size: 11px; }
  .career-hud__actions button { min-width: 0; flex: 1 1 130px; }
  .career-dialog .career-contract-strip { margin-inline: 18px; }
  .career-dialog .career-matchups { margin-inline: 18px; }
  .career-dialog__objectives-button { width: calc(100% - 36px); margin-inline: 18px; }
}

@media (max-width: 540px) {
  .career-hud { padding: 20px 16px; }
  .career-driver__name strong { font-size: 27px; }
  .career-results strong { font-size: 27px; }
  .career-attributes { grid-template-columns: repeat(2, 1fr); }
  .career-attributes div:last-child { grid-column: 1 / -1; }
  .career-economy { grid-template-columns: 1fr; }
  .career-fame__header { align-items: flex-start; flex-direction: column; gap: 10px; }
  .career-hud__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .career-hud__actions button { width: 100%; height: 58px; min-height: 58px; flex: none; }
  .career-hud__actions button:last-child { grid-column: auto; }
  .championship-dialog__season { display: none; }
  .championship-dialog .dialog-close { margin-left: auto; }
  .standings-table td,
  .standings-driver strong,
  .standings-team-name strong { font-size: 12px; }
}
