
.f1-widget { font-family: 'Inter', sans-serif; color: var(--f1-ink); box-sizing: border-box; }
.f1-widget * { box-sizing: border-box; }

.w[data-wtype^="f1-"],
[data-theme="light"] body:not(.canvas-tv-mode) #ecanvas:not([data-cv-themed]) .w[data-wtype^="f1-"] {
  background: transparent !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
  border: 0 !important; box-shadow: none !important;
}

.f1-champ {
  display: flex; flex-direction: column; gap: clamp(.35rem, 1.6cqi, .65rem); padding: clamp(.5rem, 2.25cqi, .9rem) clamp(.6rem, 2.7cqi, 1.05rem);
  height: 100%; container-type: inline-size;
  background: var(--f1-surface); border-top: 3px solid var(--f1-red); border-radius: .6rem;
}

.f1-champ-head { display: flex; align-items: flex-end; justify-content: space-between; gap: clamp(.35rem, 1.6cqi, .65rem) clamp(.55rem, 2.4cqi, .95rem); row-gap: clamp(.26rem, 1.1cqi, .44rem); flex-wrap: wrap; padding-bottom: clamp(.3rem, 1.3cqi, .5rem); border-bottom: 1px solid var(--f1-line); }
.f1-champ-titlewrap { display: flex; flex-direction: column; gap: .1rem; min-width: 0; flex: 1 1 8rem; }
.f1-eyebrow { font-weight: 700; text-transform: uppercase; letter-spacing: .12em; font-size: clamp(.55rem, 2.3cqi, .86rem); color: var(--f1-sub); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.f1-head-title { font-weight: 800; text-transform: uppercase; letter-spacing: .04em; font-size: clamp(.82rem, 3.2cqi, 1.25rem); line-height: 1.05; color: var(--f1-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.f1-champ-tabs { display: flex; gap: clamp(.19rem, .8cqi, .31rem); flex: 0 0 auto; }
.f1-tab { font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: clamp(.54rem, 2.25cqi, .84rem); padding: clamp(.19rem, .8cqi, .31rem) clamp(.42rem, 1.75cqi, .66rem); border-radius: .4rem; background: var(--f1-track); color: var(--f1-sub); border: 0; cursor: pointer; }
.f1-tab.is-active { color: var(--f1-ink); box-shadow: inset 0 -2px 0 var(--f1-red); background: transparent; }

.f1-champ-rows { display: flex; flex-direction: column; flex: 1; overflow: auto; }
.f1-row {
  display: grid; grid-template-columns: clamp(1.35rem, 5.75cqi, 2.2rem) clamp(3px, .8cqi, 5px) 1fr auto auto;
  align-items: center; gap: clamp(.42rem, 1.75cqi, .66rem); padding: clamp(.3rem, 1.3cqi, .5rem) clamp(.26rem, 1.1cqi, .44rem);
  border-bottom: 1px solid var(--f1-line); position: relative;
}
.f1-row:nth-child(even) { background: var(--f1-zebra); }

.f1-pos { font-weight: 900; letter-spacing: -.02em; font-size: clamp(.78rem, 3.2cqi, 1.3rem); color: var(--f1-ink2); text-align: center; }
.f1-team-stripe { width: clamp(3px, .8cqi, 5px); align-self: stretch; border-radius: 2px; background: var(--f1-team-color, var(--f1-team-default)); }

.f1-id { display: flex; align-items: center; gap: clamp(.35rem, 1.6cqi, .65rem); min-width: 0; }
.f1-id-text { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.f1-name { font-weight: 700; text-transform: uppercase; letter-spacing: .01em; font-size: clamp(.72rem, 3cqi, 1.15rem); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.f1-tla { font-style: normal; font-weight: 800; letter-spacing: .06em; color: var(--f1-ink2); margin-right: .15rem; }
.f1-team-name { font-weight: 600; text-transform: uppercase; letter-spacing: .08em; font-size: clamp(.52rem, 2.2cqi, .82rem); color: var(--f1-sub); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.f1-avatar { width: clamp(1.3rem, 5.45cqi, 2.05rem); height: clamp(1.3rem, 5.45cqi, 2.05rem); border-radius: 50%; flex: 0 0 auto; display: grid; place-items: center; font-weight: 800; font-size: clamp(.48rem, 2cqi, .75rem); background: var(--f1-team-color, var(--f1-track)); color: var(--f1-ink-on-brand); }
.f1-constructor-dot { width: clamp(.85rem, 3.5cqi, 1.35rem); height: clamp(.85rem, 3.5cqi, 1.35rem); border-radius: 50%; flex: 0 0 auto; background: var(--f1-team-color, var(--f1-team-default)); }

.f1-ptswrap { display: flex; align-items: baseline; gap: clamp(.19rem, .8cqi, .31rem); justify-self: end; }
.f1-pts { font-weight: 900; letter-spacing: -.02em; font-size: clamp(.78rem, 3.2cqi, 1.35rem); color: var(--f1-ink); }
.f1-pts-suffix { font-weight: 700; text-transform: uppercase; letter-spacing: .1em; font-size: clamp(.46rem, 1.9cqi, .72rem); color: var(--f1-sub); }
.f1-gap { font-weight: 600; font-size: clamp(.62rem, 2.6cqi, 1rem); color: var(--f1-sub); }

.f1-delta { font-weight: 700; font-size: clamp(.55rem, 2.3cqi, .86rem); padding: .1rem clamp(.22rem, .95cqi, .38rem); border-radius: .3rem; justify-self: end; }
.f1-delta.is-up   { color: var(--f1-green); background: color-mix(in srgb, var(--f1-green) 16%, transparent); }
.f1-delta.is-down { color: var(--f1-loss);  background: color-mix(in srgb, var(--f1-loss) 16%, transparent); }
.f1-delta.is-flat { color: var(--f1-sub);   background: transparent; }

.f1-row.is-p1 .f1-pos { color: var(--f1-gold); }
.f1-row.is-p2 .f1-pos { color: var(--f1-silver); }
.f1-row.is-p3 .f1-pos { color: var(--f1-bronze); }
.f1-row.is-p1 { background: linear-gradient(90deg, var(--f1-gold-soft), transparent 55%); box-shadow: inset 3px 0 0 var(--f1-red); }
.f1-row.is-p2 { background: linear-gradient(90deg, var(--f1-silver-soft), transparent 55%); }
.f1-row.is-p3 { background: linear-gradient(90deg, var(--f1-bronze-soft), transparent 55%); }
.f1-row.is-p1 .f1-pts { color: var(--f1-ink); }

.f1-circuit { display: flex; flex-direction: column; gap: clamp(.35rem, 1.6cqi, .65rem); padding: clamp(.5rem, 2.25cqi, .9rem) clamp(.6rem, 2.7cqi, 1.05rem); height: 100%; background: var(--f1-surface); border-top: 3px solid var(--f1-red); border-radius: .6rem; container-type: inline-size; }
.f1-circ-head { display: flex; flex-direction: column; gap: .1rem; min-width: 0; }
.f1-circ-meta { font-size: clamp(.54rem, 2.25cqi, .84rem); color: var(--f1-sub); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.f1-track-wrap { position: relative; flex: 1; min-height: 8rem; width: 100%; margin-top: .2rem; }
.f1-track-svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.f1-track-bed { fill: none; stroke: var(--f1-track); stroke-width: 6; stroke-linejoin: round; stroke-linecap: round; }
.f1-track-line { fill: none; stroke: var(--f1-red); stroke-width: 1.7; stroke-linejoin: round; stroke-linecap: round; opacity: .9; }
.f1-startline { fill: var(--f1-ink); opacity: .8; }
.f1-car { position: absolute; transform: translate(-50%, -50%); display: grid; place-items: center; width: clamp(1.2rem, 4.95cqi, 1.9rem); height: clamp(1.2rem, 4.95cqi, 1.9rem); border-radius: 50%; background: var(--f1-team-color, var(--f1-team-default)); border: 2px solid var(--f1-tyre, transparent); box-shadow: 0 1px 4px rgba(0,0,0,.35); z-index: 2; }
.f1-car.is-leader { width: clamp(1.4rem, 5.75cqi, 2.2rem); height: clamp(1.4rem, 5.75cqi, 2.2rem); box-shadow: 0 0 0 2px var(--f1-red), 0 2px 7px rgba(0,0,0,.45); z-index: 3; }
.f1-car-tla { font-size: clamp(.4rem, 1.6cqi, .62rem); font-weight: 800; letter-spacing: .01em; color: var(--f1-ink-on-brand); }

.f1-result { display: flex; flex-direction: column; gap: clamp(.35rem, 1.6cqi, .65rem); padding: clamp(.5rem, 2.25cqi, .9rem) clamp(.6rem, 2.7cqi, 1.05rem); height: 100%; background: var(--f1-surface); border-top: 3px solid var(--f1-red); border-radius: .6rem; container-type: inline-size; }
.f1-podium-wrap { position: relative; }
.f1-podium { display: flex; align-items: flex-end; justify-content: center; gap: clamp(.3rem, 1.3cqi, .5rem); padding: clamp(.3rem, 1.3cqi, .5rem) 0 .2rem; }

.f1-celebrate { position: absolute; left: 50%; top: 8%; width: 0; height: 0; pointer-events: none; z-index: 4; }
.f1-celebrate i { position: absolute; width: .4rem; height: .4rem; border-radius: 1px; opacity: 0; animation: f1-conf 1.5s ease-out forwards; }
.f1-celebrate i:nth-child(3n) { background: var(--f1-gold); } .f1-celebrate i:nth-child(3n+1) { background: var(--f1-silver); } .f1-celebrate i:nth-child(3n+2) { background: var(--f1-red); }
.f1-celebrate i:nth-child(1){--dx:-46px;--dy:34px;animation-delay:0s} .f1-celebrate i:nth-child(2){--dx:40px;--dy:30px;animation-delay:.04s} .f1-celebrate i:nth-child(3){--dx:-30px;--dy:46px;animation-delay:.08s}
.f1-celebrate i:nth-child(4){--dx:28px;--dy:48px;animation-delay:.12s} .f1-celebrate i:nth-child(5){--dx:-58px;--dy:20px;animation-delay:.02s} .f1-celebrate i:nth-child(6){--dx:54px;--dy:18px;animation-delay:.06s}
.f1-celebrate i:nth-child(7){--dx:-16px;--dy:52px;animation-delay:.1s} .f1-celebrate i:nth-child(8){--dx:14px;--dy:54px;animation-delay:.14s} .f1-celebrate i:nth-child(9){--dx:-68px;--dy:8px;animation-delay:.05s}
.f1-celebrate i:nth-child(10){--dx:64px;--dy:6px;animation-delay:.09s} .f1-celebrate i:nth-child(11){--dx:-8px;--dy:40px;animation-delay:.13s} .f1-celebrate i:nth-child(12){--dx:8px;--dy:38px;animation-delay:.03s}
.f1-celebrate i:nth-child(13){--dx:-38px;--dy:12px;animation-delay:.07s} .f1-celebrate i:nth-child(14){--dx:36px;--dy:10px;animation-delay:.11s}
@keyframes f1-conf { 0%{opacity:0;transform:translate(0,0) scale(.4)} 12%{opacity:1} 100%{opacity:0;transform:translate(var(--dx,0),var(--dy,40px)) rotate(220deg) scale(1)} }
@media (prefers-reduced-motion: reduce) { .f1-celebrate { display: none; } }
.f1-pod { display: flex; flex-direction: column; align-items: center; gap: .12rem; flex: 1 1 0; max-width: 33%; min-width: 0; }
.f1-pod-name { font-weight: 800; text-transform: uppercase; letter-spacing: .02em; font-size: clamp(.5rem, 2.1cqi, .8rem); text-align: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.f1-pod-tla { font-weight: 800; font-size: clamp(.44rem, 1.85cqi, .7rem); color: var(--f1-sub); letter-spacing: .06em; }
.f1-pod-block { width: 100%; border-radius: .4rem .4rem 0 0; background: var(--f1-team-color, var(--f1-team-default)); display: grid; place-items: center; }
.f1-pod-pos { font-weight: 900; font-size: clamp(1rem, 5cqi, 1.3rem); color: var(--f1-ink-on-brand); }
.f1-pod-pts { font-weight: 800; font-size: clamp(.44rem, 1.85cqi, .7rem); color: var(--f1-sub); font-variant-numeric: tabular-nums; }
.f1-pod-1 .f1-pod-block { height: clamp(3.6rem, 16cqi, 5rem); box-shadow: 0 0 0 2px var(--f1-gold); }
.f1-pod-2 .f1-pod-block { height: clamp(2.6rem, 12cqi, 3.6rem); box-shadow: 0 0 0 2px var(--f1-silver); }
.f1-pod-3 .f1-pod-block { height: clamp(2rem, 9cqi, 2.8rem); box-shadow: 0 0 0 2px var(--f1-bronze); }
.f1-badges { display: flex; gap: clamp(.3rem, 1.3cqi, .5rem); flex-wrap: wrap; justify-content: center; }
.f1-badge { font-weight: 800; text-transform: uppercase; letter-spacing: .04em; font-size: clamp(.44rem, 1.85cqi, .7rem); padding: .15rem clamp(.3rem, 1.3cqi, .5rem); border-radius: .3rem; }
.f1-badge-pole, .f1-badge-fl { color: var(--f1-purple); background: color-mix(in srgb, var(--f1-purple) 15%, transparent); }
.f1-result-list { display: flex; flex-direction: column; overflow: auto; flex: 1; }
.f1-rrow { display: grid; grid-template-columns: clamp(1.2rem, 5.1cqi, 1.95rem) clamp(3px, .8cqi, 5px) 1fr auto; align-items: center; gap: clamp(.35rem, 1.6cqi, .65rem); padding: clamp(.19rem, .8cqi, .31rem) clamp(.26rem, 1.1cqi, .44rem); border-bottom: 1px solid var(--f1-line); }
.f1-rrow:nth-child(even) { background: var(--f1-zebra); }

.f1-grid { display: flex; flex-direction: column; gap: clamp(.3rem, 1.3cqi, .5rem); padding: clamp(.5rem, 2.25cqi, .9rem) clamp(.6rem, 2.7cqi, 1.05rem); height: 100%; background: var(--f1-surface); border-top: 3px solid var(--f1-red); border-radius: .6rem; container-type: inline-size; }
.f1-grid-rows { display: flex; flex-direction: column; flex: 1; overflow: auto; }
.f1-gridrow { display: grid; grid-template-columns: clamp(2rem, 8.3cqi, 3.2rem) 1fr auto; align-items: center; gap: clamp(.35rem, 1.6cqi, .65rem); padding: clamp(.24rem, 1cqi, .4rem) clamp(.26rem, 1.1cqi, .44rem); border-bottom: 1px solid var(--f1-line); }
.f1-gridrow:nth-child(even) { background: var(--f1-zebra); }
.f1-gridrow.is-pole { box-shadow: inset 3px 0 0 var(--f1-purple); }
.f1-gridrow.is-pole .f1-pos { color: var(--f1-purple); }
.f1-pole-tag { display: block; font-style: normal; font-weight: 800; font-size: clamp(.4rem, 1.6cqi, .62rem); letter-spacing: .08em; color: var(--f1-purple); }
.f1-grid-band { font-weight: 800; text-transform: uppercase; letter-spacing: .1em; font-size: clamp(.43rem, 1.8cqi, .68rem); color: var(--f1-sub); padding: clamp(.3rem, 1.3cqi, .5rem) clamp(.26rem, 1.1cqi, .44rem) .15rem; border-bottom: 1px solid var(--f1-line); margin-top: .2rem; }
.f1-gridrow.sess-Q2 { opacity: .78; } .f1-gridrow.sess-Q1 { opacity: .58; }

.f1-calendar { display: flex; flex-direction: column; gap: clamp(.3rem, 1.3cqi, .5rem); padding: clamp(.5rem, 2.25cqi, .9rem) clamp(.6rem, 2.7cqi, 1.05rem); height: 100%; background: var(--f1-surface); border-top: 3px solid var(--f1-red); border-radius: .6rem; container-type: inline-size; }
.f1-cal-rows { display: flex; flex-direction: column; flex: 1; overflow: auto; }
.f1-cal-row { display: grid; grid-template-columns: clamp(1.2rem, 5.1cqi, 1.95rem) clamp(.42rem, 1.75cqi, .66rem) auto 1fr; align-items: center; gap: clamp(.35rem, 1.6cqi, .65rem); padding: clamp(.21rem, .9cqi, .35rem) clamp(.26rem, 1.1cqi, .44rem); border-bottom: 1px solid var(--f1-line); }
.f1-cal-rnd { font-weight: 900; font-size: clamp(.6rem, 2.5cqi, .95rem); color: var(--f1-sub); font-variant-numeric: tabular-nums; text-align: center; }
.f1-cal-dot { width: clamp(.42rem, 1.75cqi, .66rem); height: clamp(.42rem, 1.75cqi, .66rem); border-radius: 50%; background: var(--f1-track); }
.f1-cal-row.is-active .f1-cal-dot { background: var(--f1-red); box-shadow: 0 0 0 3px color-mix(in srgb, var(--f1-red) 22%, transparent); }
.f1-cal-row.is-done .f1-cal-dot { background: var(--f1-green); }
.f1-cal-flag { font-size: clamp(.72rem, 3cqi, 1.15rem); }
.f1-cal-gp { font-weight: 700; text-transform: uppercase; letter-spacing: .02em; font-size: clamp(.56rem, 2.35cqi, .9rem); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.f1-cal-row.is-done { opacity: .58; }
.f1-cal-row.is-active .f1-cal-gp { color: var(--f1-red-ink); }
.f1-cal-spr { display: inline-block; font-style: normal; font-weight: 800; font-size: clamp(.4rem, 1.6cqi, .62rem); letter-spacing: .06em; color: var(--f1-purple); margin-left: clamp(.26rem, 1.1cqi, .44rem); vertical-align: middle; }

.f1-ticker { height: 100%; min-height: clamp(1.8rem, 7.7cqi, 3rem); display: flex; align-items: center; overflow: hidden; background: var(--f1-surface); border-top: 3px solid var(--f1-red); border-radius: .6rem; }
.f1-tick-track { display: flex; align-items: center; gap: clamp(.75rem, 3.2cqi, 1.25rem); white-space: nowrap; animation: f1-tick 32s linear infinite; will-change: transform; }
.f1-tick-item { font-weight: 700; text-transform: uppercase; letter-spacing: .04em; font-size: clamp(.62rem, 2.6cqi, 1rem); color: var(--f1-ink); }
.f1-tick-sep { color: var(--f1-red); font-weight: 900; }
@keyframes f1-tick { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.f1-countdown { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: clamp(.34rem, 1.45cqi, .56rem); height: 100%; padding: clamp(.6rem, 2.55cqi, 1rem); background: var(--f1-surface); border-top: 3px solid var(--f1-red); border-radius: .6rem; text-align: center; container-type: inline-size; }
.f1-cd-gp { font-weight: 800; text-transform: uppercase; letter-spacing: .03em; font-size: clamp(1rem, 4.5cqi, 1.35rem); }
.f1-cd-clock { display: flex; gap: clamp(.85rem, 3.5cqi, 1.4rem); }
.f1-cd-cell { display: flex; flex-direction: column; align-items: center; }
.f1-cd-num { font-weight: 900; font-size: clamp(1.6rem, 10cqi, 2.8rem); color: var(--f1-red); font-variant-numeric: tabular-nums; line-height: 1; }
.f1-cd-lbl { font-weight: 700; text-transform: uppercase; letter-spacing: .1em; font-size: clamp(.46rem, 1.9cqi, .72rem); color: var(--f1-sub); }

.tdf-comp-card.comp-card-f1 { background: linear-gradient(120deg, #1A1A24 0%, #232331 52%, #2E1417 100%); border-color: rgba(255,30,0,.32); }
html[data-theme="light"] .tdf-comp-card.comp-card-f1 { background: linear-gradient(120deg, #FFFFFF 0%, #FFF4F2 58%, #FFE9E5 100%); border-color: rgba(255,30,0,.24); }
.tdf-comp-card.comp-card-f1:hover { box-shadow: 0 16px 34px -14px rgba(255,30,0,.55); }
.tdf-comp-card.comp-card-f1:focus-visible { outline: 2px solid var(--f1-red); outline-offset: 2px; }
.tdf-comp-card.comp-card-f1 .tdf-comp-stripe { background: linear-gradient(var(--f1-red), var(--f1-red-deep)); }
.tdf-comp-card.comp-card-f1 .tdf-comp-jersey svg { filter: drop-shadow(0 3px 7px rgba(255,30,0,.42)); }
.tdf-comp-card.comp-card-f1 .tdf-comp-kicker { color: var(--f1-red-ink); }
.tdf-comp-card.comp-card-f1 .tdf-comp-title { font-family: 'Inter', sans-serif; font-style: normal; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; color: var(--f1-carbon); }
html[data-theme="dark"] .tdf-comp-card.comp-card-f1 .tdf-comp-title { color: #FFFFFF; }
.tdf-comp-card.comp-card-f1 .tdf-comp-desc { color: rgba(20,21,30,.62); }
html[data-theme="dark"] .tdf-comp-card.comp-card-f1 .tdf-comp-desc { color: rgba(255,255,255,.64); }
.tdf-comp-card.comp-card-f1 .tdf-comp-cta { color: var(--f1-red-ink); }

.f1-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: clamp(.3rem, 1.3cqi, .5rem); height: 100%; min-height: 6rem; padding: clamp(.75rem, 3.2cqi, 1.25rem); text-align: center; color: var(--f1-sub); }
.f1-empty-title { font-weight: 800; text-transform: uppercase; letter-spacing: .06em; font-size: clamp(.68rem, 2.9cqi, 1.1rem); color: var(--f1-ink2); }
.f1-empty-sub { font-size: clamp(.6rem, 2.55cqi, .95rem); }
.f1-empty::before { content: ""; width: clamp(1.7rem, 7cqi, 2.7rem); height: clamp(1.7rem, 7cqi, 2.7rem); border-radius: 50%; border: 3px solid var(--f1-track); border-top-color: var(--f1-red); opacity: .8; }

body.f1-cursor-on.f1-cursor-on.f1-cursor-on #cvBoard,
body.f1-cursor-on.f1-cursor-on.f1-cursor-on #cvBoard *,
.f1-cursor { display: none !important; }
.f1-cursor { position: fixed; top: 0; left: 0; z-index: 999999; pointer-events: none; transform: translate(-9999px,-9999px); display: flex; align-items: flex-start; gap: 0; will-change: transform; }
.f1-cursor-ptr { filter: drop-shadow(0 1px 2px rgba(0,0,0,.45)); flex: 0 0 auto; }
.f1-cursor-label { display: inline-flex; align-items: baseline; gap: .25em; background: rgba(21,21,30,.88); color: #fff;
  font-family: 'Inter', sans-serif; font-style: italic; text-transform: uppercase; padding: 1.5px 6px; border-radius: 2px 7px 7px 2px;
  white-space: nowrap; box-shadow: 0 1px 3px rgba(0,0,0,.28); margin-top: 15px; margin-left: -2px;
  opacity: 0; transition: opacity .22s ease; }
.f1-cursor.is-moving .f1-cursor-label { opacity: .9; }
.f1-cursor-le { font-weight: 700; font-size: 6px; letter-spacing: .08em; opacity: .7; color: var(--f1-red, #FF1E00); }
.f1-cursor-ten { font-weight: 800; font-size: 8.5px; letter-spacing: .01em; }

.f1-celebrate-root { position: fixed; inset: 0; z-index: 99990; display: flex; align-items: center; justify-content: center; background: radial-gradient(circle at 50% 35%, rgba(21,21,30,.78), rgba(8,8,12,.92)); overflow: hidden; font-family: 'Inter', sans-serif; color: #fff; opacity: 1; transition: opacity .5s ease; }
.f1-celebrate-root.out { opacity: 0; pointer-events: none; }
.f1-celebrate-curtain { position: absolute; inset: 0; pointer-events: none; }
.f1-celebrate-curtain::before, .f1-celebrate-curtain::after { content: ''; position: absolute; top: 0; bottom: 0; width: 50%; background: linear-gradient(90deg, #2a0805, var(--f1-red, #FF1E00)); box-shadow: inset 0 0 60px rgba(0,0,0,.6); transition: transform 1s cubic-bezier(.7,0,.3,1); }
.f1-celebrate-curtain::before { left: 0; transform: translateX(-100%); }
.f1-celebrate-curtain::after { right: 0; transform: translateX(100%); }
.f1-celebrate-curtain.in::before, .f1-celebrate-curtain.in::after { transform: translateX(0); }
.f1-celebrate-curtain.open::before { transform: translateX(-100%); }
.f1-celebrate-curtain.open::after { transform: translateX(100%); }
.f1-celebrate-stage { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 1rem; max-width: 90vw; text-align: center; }
.f1-celebrate-title { font: 900 clamp(1.6rem, 5vw, 3.2rem)/1 'Inter', sans-serif; letter-spacing: .04em; text-transform: uppercase; text-shadow: 0 4px 24px rgba(0,0,0,.5); }
.f1-celebrate-card { display: flex; flex-direction: column; align-items: center; gap: .3rem; transform: translateY(8px); animation: f1-cel-pop .6s cubic-bezier(.2,1.3,.4,1) both; }
@keyframes f1-cel-pop { from { transform: translateY(40px) scale(.86); opacity: 0; } to { transform: translateY(0) scale(1); opacity: 1; } }
.f1-celebrate-trophy { filter: drop-shadow(0 6px 22px rgba(230,184,0,.55)); }
.f1-celebrate-kicker { font: 800 13px/1 'Inter', sans-serif; letter-spacing: .16em; text-transform: uppercase; color: var(--f1-red, #FF1E00); }
.f1-celebrate-title.f1-celebrate-title { }
.f1-celebrate-pts { font: 700 15px/1 'Inter', sans-serif; opacity: .85; }
.f1-celebrate-prize { display: inline-flex; align-items: center; gap: .45rem; padding: .3rem .85rem; border-radius: 999px; background: rgba(255,30,0,.12); border: 1px solid rgba(255,30,0,.4); color: #fff; font: 700 14px/1 'Inter', sans-serif; opacity: 0; transform: translateY(14px); animation: f1-cel-pop .5s cubic-bezier(.2,1.3,.4,1) forwards; }
.f1-celebrate-prize b { color: var(--f1-red, #FF1E00); }
.f1-confetti-host { position: fixed; inset: 0; pointer-events: none; z-index: 100000; overflow: hidden; }
.f1-confetti-piece { position: fixed; width: 9px; height: 14px; will-change: transform, opacity; animation: f1-confetti-fall var(--tcf-dur, 2.4s) cubic-bezier(.2,.6,.3,1) forwards; }
@keyframes f1-confetti-fall { 0% { opacity: 1; transform: translate(0,0) rotate(0); } 100% { opacity: 0; transform: translate(var(--tcf-x,0), 90vh) rotate(var(--tcf-r,540deg)); } }
@media (prefers-reduced-motion: reduce) { .f1-confetti-piece { animation: none; opacity: 0; } .f1-celebrate-card, .f1-celebrate-prize { animation: none; opacity: 1; transform: none; } }
