/* Shared interface rhythm: text, navigation and native controls. */
:root { --ui-text:#f2f3f7; --ui-muted:#b4b7c8; --ui-border:#343544; --ui-control:#171821; --ui-control-height:48px; --ui-nav-height:72px; color-scheme:dark; }
body.app-shell { font-family:'Marvel',sans-serif; font-size:16px; line-height:1.5; color:var(--ui-text); }
.app-shell .font-display { font-family:'Marvel',sans-serif; }
.app-shell :is(button,input,select,textarea) { font-family:'Marvel',sans-serif!important; }
.app-shell :is(a,button,input,select,textarea):focus-visible { outline:2px solid #00D2BE!important; outline-offset:3px; }
.app-shell :is(.text-\[7px\],.text-\[8px\],.text-\[9px\],.text-\[10px\],.text-\[11px\]) { font-size:12px; line-height:1.5; }
.app-shell :is(.text-white\/15,.text-white\/20,.text-white\/25,.text-white\/30,.text-white\/40) { color:var(--ui-muted); }
.app-shell h1 { line-height:1.15!important; text-wrap:balance; }
.app-shell :is(.input-f,select) { min-height:var(--ui-control-height); width:100%; min-width:0; border-radius:10px; font-size:16px; line-height:1.5; font-weight:500; }
.app-shell select { appearance:none; padding:10px 38px 10px 14px; background-color:var(--ui-control)!important; border:1px solid var(--ui-border)!important; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23b4b7c8' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-position:right 12px center; background-repeat:no-repeat; color:var(--ui-text); }
.app-shell select.has-piloto { border-color:#00A695!important; }
.app-shell select:disabled { opacity:1; color:#aaadbf; background-color:#12131c!important; border-color:#2b2c38!important; cursor:not-allowed; }
.app-shell select option { background:#171821; color:var(--ui-text)!important; }
.app-shell select option:disabled { color:#797d90!important; }
.app-shell .input-f { padding:11px 14px; border-color:var(--ui-border); }
.app-shell .input-f::placeholder { color:#969aae; }
.app-shell .btn-r { min-height:40px; justify-content:center; gap:8px; padding:8px 14px; font-size:14px; letter-spacing:.02em; }
.app-shell th { color:var(--ui-muted); font-size:12px; letter-spacing:.06em; }
.app-nav { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; height:var(--ui-nav-height); gap:24px; background:rgba(13,13,20,.97); }
.app-nav > a { min-width:0; }
.app-nav > a img { width:116px; height:auto; max-height:40px; }
.app-nav > a .text-\[24px\] { font-size:21px; letter-spacing:.06em; }
.app-nav > a .text-\[10px\] { font-size:10px; letter-spacing:.09em; }
.app-nav .nav-links { min-width:0; margin:0; gap:4px; overflow:visible; justify-content:center; }
.app-nav > .ml-auto { justify-self:end; }
.app-nav .nav-link { display:flex; align-items:center; justify-content:center; min-height:44px; padding:10px 14px; border-radius:0; font-size:16px; line-height:1.25; font-weight:500; color:var(--ui-muted); white-space:nowrap; }
.app-nav .nav-link:hover { background:transparent; color:#fff; }
.app-nav .nav-link[aria-current='page'] { color:#fff; background:transparent; box-shadow:inset 0 -2px #E8002D; }
.app-nav #avatar-circle { width:36px; height:36px; flex-shrink:0; }
.app-nav a[href='/logout.php'] { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; font-size:13px; color:var(--ui-muted); }
.app-shell > .pt-14 { padding-top:var(--ui-nav-height); }
.prediction-grid { grid-template-columns:minmax(0,1fr) 290px; max-width:1440px; margin:0 auto; }
.prediction-grid > *, .prediction-page .flex-1 { min-width:0; }
.prediction-page .race-tabs { gap:8px; padding:8px 16px; }
.race-tabs [role='tab'] { position:relative; z-index:1; min-height:44px; border-radius:0; font-size:18px; line-height:1.5; letter-spacing:.02em; font-weight:600; text-transform:none; padding:10px 24px; color:var(--ui-muted); }
.race-tabs [aria-selected='true'] { background:transparent; color:#fff; box-shadow:inset 0 -2px #E8002D; }
.race-tabs #btn-sx[aria-selected='true'] { box-shadow:inset 0 -2px #a78bfa; }
.prediction-page .prediction-row { display:grid; grid-template-columns:38px minmax(0,1fr) 38px; gap:12px; align-items:center; }
.prediction-row > :first-child,.prediction-row > :last-child { width:auto; font-size:20px; line-height:1; font-variant-numeric:tabular-nums; }
.prediction-page form button.w-full { min-height:48px; font-size:14px; letter-spacing:.04em; line-height:1.5; }
.prediction-page [role='status'] { font-size:14px; line-height:1.5; }
.prediction-page form > .glass > .border-b, .prediction-page form > .overflow-hidden > .border-b { gap:12px; flex-wrap:wrap; padding:16px 20px; }
.prediction-page form > .glass > .border-b > span, .prediction-page form > .overflow-hidden > .border-b > span { font-family:'Marvel',sans-serif; font-size:12px; white-space:nowrap; }
.prediction-page .toggle-opt { min-height:48px; }
@media(max-width:1200px) {
  :root { --ui-nav-height:120px; }
  .app-nav { display:flex; flex-wrap:wrap; gap:4px 16px; padding:8px 20px; align-content:center; }
  .app-nav .nav-links { order:3; flex:1 0 100%; margin:0; justify-content:center; }
}
@media(max-width:900px) {
  .prediction-grid { grid-template-columns:minmax(0,1fr); }
  .prediction-grid > :first-child { border-right:0; }
  .prediction-grid > :last-child { border-top:1px solid var(--ui-border); }
  .profile-grid { grid-template-columns:minmax(0,1fr)!important; }
}
@media(max-width:540px) {
  :root { --ui-nav-height:164px; }
  .app-nav { padding:8px 12px; gap:6px; }
  .app-nav > a img { width:80px; }
  .app-nav > a .leading-snug { display:none; }
  .app-nav .nav-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; }
  .app-nav .nav-link { padding:8px 4px; font-size:12px; min-height:40px; }
  .app-nav > .ml-auto { gap:6px; }
  .prediction-grid > .p-6 { padding:16px 12px; }
  .prediction-page .prediction-row { grid-template-columns:30px minmax(0,1fr) 30px; gap:8px; }
  .prediction-page .prediction-row > :first-child,.prediction-page .prediction-row > :last-child { font-size:18px; }
  .prediction-page form > .glass > .border-b, .prediction-page form > .overflow-hidden > .border-b { padding:14px; }
  .app-shell > .pt-14 > .p-8 { padding-left:16px; padding-right:16px; }
}
@media(prefers-reduced-motion:reduce) {
  .app-shell *, .app-shell *::before,.app-shell *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
/* One heading hierarchy across player, administration and account pages. */
:root { --page-title-size:40px; --section-title-size:24px; }
.page-title { font-family:'Marvel',sans-serif; font-size:var(--page-title-size)!important; font-weight:700; line-height:1.15!important; letter-spacing:.02em; text-wrap:balance; }
:is(.app-shell,.auth-shell) h2 { font-family:'Marvel',sans-serif; font-size:var(--section-title-size)!important; font-weight:700; line-height:1.25; }
:is(.app-shell,.auth-shell) h3 { font-family:'Marvel',sans-serif; font-size:20px!important; font-weight:700; line-height:1.3; }
/* Text labels remain unboxed; cards and form fields keep their own structure. */
.app-shell span:is(.rounded-full,.rounded,.rounded-lg):is(.px-2,.px-3), .app-shell .chip { background:transparent!important; border:0!important; border-radius:0; box-shadow:none!important; padding-left:0; padding-right:0; }
.auth-tabs { background:transparent!important; border:0!important; border-bottom:1px solid #343544!important; border-radius:0!important; padding:0!important; gap:16px!important; }
.auth-tabs button { background:transparent!important; box-shadow:none!important; border-radius:0!important; color:#b4b7c8; font-family:'Marvel',sans-serif; font-size:16px; }
.auth-tabs button[aria-selected='true'] { color:#fff; box-shadow:inset 0 -2px #E8002D!important; }
@media(max-width:540px) { :root { --page-title-size:32px; } }

.app-shell div:has(> table) { overflow-x:auto; }
.page-admin > .pt-14 { min-width:0; }
.page-admin .grid > * { min-width:0; }
@media(max-width:900px) {
  .page-admin .grid[style*="grid-template-columns"] { grid-template-columns:minmax(0,1fr)!important; }
}

.incident-icon { display:block; width:32px; height:32px; margin:0 auto 8px; }
.incident-icon-inline { display:inline-block; width:22px; height:22px; vertical-align:middle; margin-right:6px; flex-shrink:0; }

.app-nav .user-profile-link { min-height:44px; text-decoration:none; }
.app-nav .user-profile-link:hover { color:#fff; }

.app-nav .user-dropdown { position:relative; justify-self:end; }
.app-nav .user-dropdown summary { list-style:none; cursor:pointer; min-height:44px; }
.app-nav .user-dropdown summary::-webkit-details-marker { display:none; }
.app-nav .user-dropdown summary:focus-visible { outline:2px solid #00D2BE; outline-offset:3px; }
.user-dropdown-panel { position:absolute; top:calc(100% + 8px); right:0; min-width:180px; max-width:calc(100vw - 24px); padding:8px; background:#171821; border:1px solid #343544; border-radius:8px; box-shadow:0 12px 32px #0006; z-index:60; }
.app-nav .user-dropdown-panel a { display:flex; align-items:center; justify-content:flex-start; gap:10px; min-height:44px; padding:10px 12px; color:#f2f3f7; font-size:16px; white-space:nowrap; }
.app-nav .user-dropdown-panel a:hover,.app-nav .user-dropdown-panel a:focus-visible { color:#00D2BE; }
.app-nav .user-dropdown-panel svg { flex-shrink:0; }
/* Compact prediction cards and photo picker. */
.previous-race { margin:16px 24px 20px; padding:16px 0; border-top:1px solid var(--ui-border); border-bottom:1px solid var(--ui-border); }
.previous-race-heading { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 18px; margin-bottom:12px; }
.previous-race-heading h2 { margin:0; }
.previous-race-heading > span,.previous-race-breakdown { color:var(--ui-muted); }
.previous-race-sections { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:24px; }
.previous-race-sections h3 { font-size:18px; margin:0 0 8px; }
.previous-race-score { display:flex; align-items:baseline; gap:12px; }
.previous-race-score strong { font-size:24px; }
.previous-race-breakdown { font-size:14px; margin:6px 0 12px; }
.previous-race-positions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 16px; list-style:none; margin:10px 0 0; padding:0; }
.previous-race-positions li { display:flex; align-items:baseline; gap:10px; min-width:0; font-size:16px; }
.previous-race-positions li > span { color:var(--ui-muted); min-width:18px; font-variant-numeric:tabular-nums; }
@media(max-width:540px) { .previous-race { margin-inline:14px; } }
.compact-predictions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:start; }
.compact-predictions > div { margin:0; min-width:0; }
.compact-predictions > div:has(select[data-group]) { grid-column:1 / -1; }
.compact-predictions > div > .border-b { padding:12px 16px!important; gap:8px!important; }
.compact-predictions .driver-field-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr)); gap:10px; padding:14px; }
.compact-predictions .driver-field-grid > * { margin-top:0!important; margin-bottom:0!important; min-width:0; }
.compact-predictions .driver-field-grid > button.w-full,.compact-predictions .driver-field-grid > [role='status'] { grid-column:1 / -1; }
.prediction-page .compact-predictions .prediction-row { grid-template-columns:28px minmax(0,1fr) 28px; gap:8px; }
.prediction-page .compact-predictions .prediction-row > :first-child,.prediction-page .compact-predictions .prediction-row > :last-child { font-size:18px; }
.compact-predictions .p-5:not(.driver-field-grid) { padding:14px; }
.compact-predictions .p-4:not(.driver-field-grid) { padding:14px; }
.compact-predictions .incident-icon { width:24px; height:24px; margin-bottom:4px; }
.compact-predictions .toggle-opt { padding:8px; }
.driver-trigger { display:flex; align-items:center; gap:8px; width:100%; min-width:0; min-height:46px; padding:4px 10px; border:1px solid var(--ui-border); border-radius:8px; background:var(--ui-control); color:var(--ui-text); font:inherit; font-size:16px; text-align:left; cursor:pointer; }
.driver-trigger:hover:not(:disabled) { border-color:#777c92; }
.driver-trigger.has-driver { border-color:#008f81; }
.driver-trigger:disabled { cursor:not-allowed; color:var(--ui-muted); }
.driver-trigger-text { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.driver-trigger-arrow { flex-shrink:0; color:var(--ui-muted); }
.driver-photo { display:block; width:42px; height:58px; object-fit:contain; object-position:center; flex-shrink:0; }
.driver-trigger:has(.driver-photo) { position:relative; padding-left:54px; overflow:hidden; }
.driver-trigger .driver-photo { position:absolute; left:6px; bottom:0; width:auto; height:90%; max-width:none; object-position:center bottom; }
.driver-option:has(.driver-photo) { position:relative; padding-left:78px; overflow:hidden; }
.driver-option .driver-photo { position:absolute; left:6px; bottom:0; width:auto; height:90%; max-width:none; object-position:center bottom; }
.driver-picker { position:fixed; inset:auto; margin:0; padding:14px; box-sizing:border-box; overflow:hidden; border:1px solid #484b60; border-radius:12px; background:#14151f; color:#f2f3f7; font-family:'Marvel',sans-serif; box-shadow:0 16px 48px #0009; }
.driver-picker:not([hidden]) { display:flex; flex-direction:column; gap:10px; }
.driver-picker-header { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-shrink:0; }
.driver-picker h2 { margin:0; font-size:18px!important; line-height:1.25; }
.driver-picker button { font-family:inherit; }
.driver-picker-close { width:36px; height:36px; font-size:26px; color:#b4b7c8; background:transparent; border:0; cursor:pointer; }
.driver-picker-search { width:100%; min-height:44px; padding:8px 12px; border:1px solid #484b60; border-radius:8px; background:#0d0d14; color:#fff; font:inherit; font-size:16px; flex-shrink:0; }
.driver-picker-search::placeholder { color:#b4b7c8; }
.driver-picker-status { font-size:13px; line-height:1.3; color:#b4b7c8; margin:0; flex-shrink:0; }
.driver-picker-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; overflow-y:auto; overscroll-behavior:contain; min-height:0; padding:3px; }
.driver-option { display:flex; align-items:center; gap:10px; min-height:72px; width:100%; padding:6px 10px; border:1px solid #343544; border-left:3px solid var(--driver-team-color); border-radius:6px; text-align:left; background:#1b1c28; color:#f2f3f7; cursor:pointer; }
.driver-option:hover:not(:disabled) { background:#272939; }
.driver-option[aria-pressed='true'] { border-color:#00bfae; background:#10302e; }
.driver-option:disabled { cursor:not-allowed; opacity:.5; }
.driver-option-text { min-width:0; line-height:1.25; }
.driver-option-text strong { display:block; font-size:17px; overflow-wrap:anywhere; }
.driver-option-text small { display:block; font-size:13px; color:#b4b7c8; margin-top:2px; }
.driver-clear { grid-column:1 / -1; min-height:36px; text-align:left; background:transparent; color:#b4b7c8; border:0; padding:6px; cursor:pointer; }
.driver-clear:disabled { opacity:.5; cursor:default; }
.driver-picker :is(button,input):focus-visible { outline:2px solid #00D2BE; outline-offset:2px; }
@media(max-width:640px) {
 .compact-predictions { grid-template-columns:minmax(0,1fr); }
 .driver-picker-options { grid-template-columns:minmax(0,1fr); }
}

.driver-picker { z-index:1000; }
.driver-picker[hidden] { display:none!important; }

.ranking-page { max-width:1600px; }
.ranking-boards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; align-items:start; }
.ranking-boards > section { min-width:0; }
.ranking-board-heading { margin-bottom:16px; }
.ranking-board-heading h2 { margin:0 0 4px; }
.ranking-boards .ranking-table :is(th,td) { padding:10px 8px; }
.ranking-table { min-width:580px; }
@media(max-width:900px) { .ranking-boards { grid-template-columns:minmax(0,1fr); } }
.hero-race-side { gap:28px; }
.hero-live-status { color:#ff5269; font-size:24px!important; font-weight:700; opacity:1; text-shadow:0 0 4px #ff334f,0 0 12px #ff1744,0 0 24px #ff1744; }
.hero-countdown { min-width:210px; text-align:center; }
.hero-countdown-digits { display:flex; justify-content:center; gap:16px; }
.hero-countdown-digits span { display:block; font-family:'Marvel',sans-serif; font-size:36px; line-height:1.1; font-variant-numeric:tabular-nums; }
.hero-countdown-digits small { display:block; color:var(--ui-muted); font-size:12px; margin-top:4px; }
@media(max-width:1100px) { .hero-content { flex-wrap:wrap; } .hero-race-side { flex-wrap:wrap; justify-content:flex-start; } }
@media(max-width:540px) { .hero-race-side { gap:16px; width:100%; } .hero-race-side > img { max-width:100px; } .hero-countdown { min-width:0; flex:1; } .hero-countdown-digits { gap:10px; } .hero-countdown-digits span { font-size:28px; } }
/* Race administration: list first, dedicated editor with grouped fields. */
.race-admin-page { max-width:1400px; min-width:0; }
.race-admin-header { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; margin:16px 0 24px; }
.race-admin-header h1 { margin-bottom:6px; }
.race-season-filter { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:20px; }
.race-season-filter select { max-width:300px; }
.race-table-wrap { overflow-x:auto; }
.race-calendar-table { min-width:780px; }
.race-calendar-table td { font-size:16px; }
.race-country-name { display:flex; align-items:center; gap:12px; }
.race-country-name img { object-fit:cover; flex-shrink:0; }
.race-country-name small { display:block; color:var(--ui-muted); font-size:13px; margin-top:3px; }
.race-row-actions { display:flex; gap:18px; align-items:center; }
.race-text-link { color:#f2f3f7; text-underline-offset:5px; }
.race-text-link:hover { text-decoration:underline; }
.race-delete { color:#ff6b7a; background:transparent; border:0; min-height:44px; cursor:pointer; }
.race-notice { margin:0 0 20px; padding:12px 0; color:#00D2BE; border-bottom:1px solid #343544; }
.race-error { color:#ff8794; }
.race-editor { display:grid; grid-template-columns:minmax(0,1fr) 320px; align-items:start; gap:24px; }
.race-editor-main { min-width:0; display:grid; gap:18px; }
.race-form-section { padding:24px; }
.race-form-section h2 { margin-bottom:18px; }
.race-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.race-form-grid > * { min-width:0; }
.race-form-grid label,.race-form-section > label { display:block; font-size:16px; }
.race-form-section .input-f { display:block; margin-top:7px; }
.race-field-wide { grid-column:1 / -1; }
.race-form-section small,.race-form-grid small { display:block; color:var(--ui-muted); font-size:13px; line-height:1.4; margin-top:7px; }
.race-form-section > summary { font-size:20px; cursor:pointer; padding:0; }
.race-form-section[open] > summary { margin-bottom:18px; }
.race-schedule-summary dl { margin-top:18px; }
.race-schedule-summary dl > div { padding:12px 0; border-bottom:1px solid #343544; }
.race-schedule-summary dt { color:var(--ui-muted); font-size:14px; }
.race-schedule-summary dd { margin:4px 0 0; font-size:18px; }
.race-check { display:flex!important; align-items:center; gap:10px; min-height:44px; }
.race-check input { width:18px; height:18px; accent-color:#E8002D; }
.race-editor-actions { grid-column:1 / -1; display:flex; justify-content:flex-end; align-items:center; gap:24px; padding:18px 0; border-top:1px solid #343544; }
.race-editor-actions .btn-r { min-height:48px; padding:12px 28px; font-size:16px; }
.race-country-picker { position:relative; margin-top:7px; }
.race-country-picker > summary { display:flex; align-items:center; gap:10px; min-height:48px; padding:10px 14px; border:1px solid var(--ui-border); border-radius:10px; background:var(--ui-control); list-style:none; cursor:pointer; }
.race-country-picker > summary::-webkit-details-marker { display:none; }
.race-country-picker > summary span:last-child { margin-left:auto; }
.race-country-picker > summary:focus-visible { outline:2px solid #00D2BE; outline-offset:3px; }
.race-country-options { position:absolute; z-index:55; top:calc(100% + 6px); left:0; width:100%; max-height:300px; overflow-y:auto; padding:6px; background:#171821; border:1px solid #484b60; border-radius:8px; box-shadow:0 12px 32px #0008; }
.race-country-options label { display:flex; align-items:center; gap:10px; padding:8px; min-height:44px; cursor:pointer; font-size:16px; }
.race-country-options label:hover { background:#262836; }
.race-country-options input { width:16px; height:16px; accent-color:#E8002D; }
.race-country-options img { object-fit:cover; flex-shrink:0; }
@media(max-width:950px) { .race-editor { grid-template-columns:minmax(0,1fr); } .race-schedule-summary { order:2; } .race-editor-actions { order:3; } }
@media(max-width:540px) { .race-admin-page { padding:20px 14px; } .race-form-section { padding:18px; } .race-form-grid { grid-template-columns:minmax(0,1fr); gap:16px; } }
.hero-meta-row { gap:14px!important; }
.hero-gp-flag { width:32px; height:24px; object-fit:cover; border-radius:2px; flex-shrink:0; }
.race-insights-trigger { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 4px; border:0; background:transparent; cursor:pointer; }
.race-insights-trigger { flex-direction:column; gap:0; font-size:16px; line-height:1.1; letter-spacing:.08em; animation:race-insights-pulse 2s ease-in-out infinite; }
.race-insights-trigger small { font-size:50%; line-height:1.2; letter-spacing:.04em; }
@keyframes race-insights-pulse { 0%,100% { text-shadow:0 0 0 transparent; } 50% { text-shadow:0 0 8px currentColor,0 0 16px currentColor; } }
@media(prefers-reduced-motion:reduce) { .race-insights-trigger { animation:none; } }
.race-insights-trigger:hover { opacity:.8; }
.race-insights-bubble { position:fixed; z-index:1000; box-sizing:border-box; background:#171821; border:1px solid #45485a; border-radius:14px; padding:18px; color:#f2f3f7; font-family:'Marvel',sans-serif; box-shadow:0 16px 48px #0009; }
.race-insights-bubble[hidden] { display:none!important; }
.race-insights-bubble::before { content:''; position:absolute; left:var(--insights-arrow,32px); top:-7px; width:12px; height:12px; background:#171821; border-top:1px solid #45485a; border-left:1px solid #45485a; transform:translateX(-50%) rotate(45deg); }
.race-insights-bubble.above::before { top:auto; bottom:-7px; transform:translateX(-50%) rotate(225deg); }
.race-insights-header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:10px; }
.race-insights-header h2 { font-size:24px!important; margin:0; }
.race-insights-close { width:44px; height:44px; font:inherit; font-size:28px; cursor:pointer; background:transparent; border:0; color:#b4b7c8; }
.race-insights-body { overflow:visible; }
.race-insights-bubble { max-height:calc(100dvh - 24px); overflow-y:auto; }
.race-insights-tabs { display:none; gap:16px; margin-bottom:8px; }
.race-insights-tabs button { min-height:44px; padding:4px 0; border:0; border-bottom:2px solid transparent; background:transparent; color:#b4b7c8; font:inherit; cursor:pointer; }
.race-insights-tabs button[aria-pressed="true"] { color:#f2f3f7; border-bottom-color:currentColor; }
.race-insight-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 18px; margin:0; }
.race-insight-item { padding:8px 0; border-bottom:1px solid #343544; min-width:0; }
.race-insight-item dt { color:#b4b7c8; font-size:14px; }
.race-insight-item dd { margin:5px 0 0; font-size:24px; line-height:1.15; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.race-insight-item p { color:#d5d7e2; font-size:15px; margin-top:5px; }
.race-insights-note { margin-top:14px; color:#b4b7c8; font-size:12px; line-height:1.4; }
.race-insights-footer { display:flex; justify-content:center; padding-top:10px; }
.race-insights-logo { display:block; width:90px; max-width:100%; height:auto; }
.race-insights-loading { padding:20px 0; color:#b4b7c8; font-size:16px; }
.race-insights-retry { min-height:44px; padding:8px 0; background:transparent; color:#00D2BE; border:0; font:inherit; cursor:pointer; }
.race-insights-bubble :is(button,a):focus-visible { outline:2px solid #00D2BE; outline-offset:2px; }
@media(max-width:540px) { .hero-meta-row { gap:10px!important; } .hero-meta-row > span { letter-spacing:.05em; } .race-insights-trigger img { width:100px; } .race-insight-grid { gap:0 14px; } .race-insight-item dd { font-size:21px; } }
@media(max-width:640px), (max-height:560px) {
  .race-insights-tabs { display:flex; }
  .race-insights-body[data-active-panel="circuit"] [data-panel="history"],
  .race-insights-body[data-active-panel="history"] [data-panel="circuit"] { display:none; }
  .race-insight-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .race-insights-bubble { padding:12px 16px; }
  .race-insights-header { margin-bottom:0; }
  .race-insight-item p { font-size:13px; margin:3px 0 0; }
}
