/* Pit-wall feedback: restrained motion, no moving table rows or flashing lights. */
[data-count-to] { display:inline-block; font-variant-numeric:tabular-nums; text-align:inherit; }
.race-save-receipt { position:relative; display:flex; align-items:center; gap:14px; padding:16px 20px; overflow:hidden; border:1px solid #48534f; border-radius:12px; background:#232b2b; color:#f1f4f2; }
.race-save-receipt>div { min-width:0; }
.race-save-receipt small { display:block; margin-bottom:5px; color:#a2b5ac; font:500 9px/1.4 "SFMono-Regular",Consolas,monospace; letter-spacing:.08em; }
.race-save-receipt strong { display:block; font:600 14px/1.5 Inter,sans-serif; }
.race-save-check { display:grid; place-items:center; flex:0 0 32px; height:32px; border:1px solid #5c796b; border-radius:50%; color:#bcddcc; }
.race-save-check svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.race-save-check path { stroke-dasharray:24; animation:race-check .45s ease-out both; }
.race-receipt-wave { display:flex; align-items:center; gap:3px; height:24px; margin-left:auto; color:#b2cabe; }
.race-receipt-wave i,.radio-message-wave i { display:block; width:2px; height:14px; background:currentColor; border-radius:2px; transform-origin:center; }
.race-receipt-wave i { animation:race-radio-wave .35s ease-in-out 3 alternate; }
.race-receipt-wave i:nth-child(2n) { height:23px; animation-delay:.08s; }
.race-receipt-wave i:nth-child(3n) { height:8px; animation-delay:.16s; }
.prediction-save-status { position:relative; padding-left:48px; transition:border-color .2s; }
.prediction-save-status::before { content:""; position:absolute; top:20px; left:20px; width:12px; height:12px; border:1.5px solid #85909d; border-radius:50%; }
.prediction-save-status[data-state="dirty"]::before { border-color:#e28c7f; background:#e28c7f; box-shadow:inset 0 0 0 3px #22272e; }
.prediction-save-status[data-state="sending"]::before { border-right-color:transparent; animation:race-spin .65s linear infinite; }
.prediction-save-status[data-state="confirmed"] { border-color:#617b6e; }
.prediction-save-status[data-state="confirmed"]::before { width:12px; height:7px; top:22px; border:0; border-left:2px solid #bad8c9; border-bottom:2px solid #bad8c9; border-radius:0; transform:rotate(-45deg); }
form[data-save-state="sending"] button[type="submit"] { cursor:progress; }
form[data-save-state="confirmed"] button[type="submit"]::after { content:" ✓"; }

.race-finish { position:relative; isolation:isolate; display:grid; grid-template-columns:52px minmax(0,1fr) auto auto; align-items:center; gap:22px; margin:20px 0 26px; padding:24px; overflow:hidden; border:1px solid #424a55; border-radius:14px; background:#242a32; }
.race-finish::before { content:""; position:absolute; z-index:-1; top:0; bottom:0; left:0; width:38%; opacity:0; background:conic-gradient(#ffffff09 25%,transparent 0 50%,#ffffff09 0 75%,transparent 0) 0 0 / 24px 24px; pointer-events:none; }
.race-finish.is-finishing::before { animation:race-finish-pass 1.25s ease-out both; }
.race-finish-flag { display:block; width:52px; height:56px; pointer-events:none; }
.race-finish-flag svg { display:block; width:100%; height:100%; overflow:visible; }
.race-flag-cloth { transform-origin:15px 30px; animation:race-flag-breeze 3.6s ease-in-out infinite; }
.race-flag-fold { animation:race-flag-fold 3.6s ease-in-out infinite; }
.race-finish-copy { min-width:0; }
.race-finish-copy>small { color:#ee978c; font:500 9px/1.5 "SFMono-Regular",Consolas,monospace; letter-spacing:.1em; }
body.apex-night-theme .race-finish-copy h3 { margin:7px 0; color:#f2f3f5; font:650 18px/1.3 Inter,sans-serif; letter-spacing:-.025em; overflow-wrap:anywhere; }
.race-finish-copy p { display:flex; flex-wrap:wrap; gap:4px 14px; margin:0; color:#a4aebc; font:400 11px/1.5 Inter,sans-serif; }
.race-finish-movement { color:#d1d7df; }
.race-finish-points { text-align:right; }
.race-finish-points strong { display:block; color:#f7f7f8; font:600 36px/1.15 "SFMono-Regular",Consolas,monospace; letter-spacing:-.06em; }
.race-finish-points small { display:block; margin-top:6px; color:#9ea9b8; font:500 8px/1.5 "SFMono-Regular",Consolas,monospace; white-space:nowrap; letter-spacing:.06em; }
body.apex-night-theme .race-finish-link { display:inline-flex; align-items:center; gap:10px; padding:12px 0 12px 22px; border-left:1px solid #ffffff15; color:#e7ebf0; font:550 12px/1.5 Inter,sans-serif; text-decoration:none; }
.race-finish-link svg { width:16px; height:16px; flex:none; }
.race-finish-link:focus-visible { outline:2px solid #e99488; outline-offset:4px; }
.stage-duel-form .duel-opponent-status { grid-column:1/-1; grid-row:3; margin:0; padding:11px 14px; border:1px solid #ffffff15; border-radius:8px; color:#b9c4d1; background:#ffffff04; font:400 12px/1.6 Inter,sans-serif; overflow-wrap:anywhere; }
.stage-duel-form .duel-opponent-status[data-unavailable="true"] { border-color:#e994883d; color:#efb1a8; background:#e9948808; }
.stage-duel-form .duel-opponent-status[hidden] { display:none; }
.stage-duel-form .stage-duel-btn:disabled { opacity:.45; cursor:not-allowed; }

.paddock-radio-index { position:relative; }
.radio-message-wave { position:absolute; inset:0; display:flex; align-items:center; justify-content:flex-end; gap:2px; opacity:0; color:#e99a8d; }
.radio-message-wave i { height:9px; }
.radio-message-wave i:nth-child(2) { height:15px; }
.is-transmitting .radio-message-wave { animation:race-radio-visible 1.35s ease both; }
.is-transmitting .radio-message-wave i { animation:race-radio-wave .24s ease-in-out 5 alternate; }
.is-transmitting .radio-message-wave i:nth-child(2) { animation-delay:.09s; }
.is-transmitting .paddock-radio-index>span:last-child { animation:race-radio-index 1.35s ease both; }
.ns-live.is-receiving .paddock-radio-wave { animation:race-radio-signal 1.35s ease both; }
.ns-live .activity-news-item.is-unread .activity-feed-icon { border-color:#b97b70!important; }
.ns-live .activity-news-item.is-unread .paddock-radio-index::after { content:""; position:absolute; right:0; top:20px; width:4px; height:4px; background:#e99a8d; border-radius:50%; }
.ns-live.is-radio-ready .activity-news-copy>strong { display:-webkit-box!important; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.ns-live.is-radio-ready .activity-news-item.is-open .activity-news-copy>strong { display:block!important; overflow:visible; }
.radio-message-open { display:inline-flex; gap:4px; align-items:center; padding:0; border:0; border-radius:2px; color:#bdc6d2; background:transparent; font:500 9px/1.5 Inter,sans-serif; text-decoration:underline; text-underline-offset:3px; }
.radio-message-open[hidden] { display:none!important; }
.radio-message-open:focus-visible { outline:2px solid #a5b2c2; outline-offset:3px; }
.radio-transmission+.radio-transmission { border-top:1px solid #ffffff0b; }
body.apex-night-theme.editorial-theme .ns-live .radio-transmission .activity-news-item { border-top:0; }
body.apex-night-theme.editorial-theme .ns-live .radio-message-open { margin:-4px 0 10px 34px; padding:4px 0; min-height:28px; border:0; background:transparent; color:#bdc6d2; font:500 10px/1.5 Inter,sans-serif; text-transform:none; letter-spacing:0; box-shadow:none; transform:none; }

@keyframes race-check { from { stroke-dashoffset:24; } to { stroke-dashoffset:0; } }
@keyframes race-spin { to { transform:rotate(360deg); } }
@keyframes race-radio-wave { from { transform:scaleY(.3); } to { transform:scaleY(1); } }
@keyframes race-radio-visible { 0%,100% { opacity:0; } 10%,85% { opacity:1; } }
@keyframes race-radio-index { 0%,90% { opacity:0; } 100% { opacity:1; } }
@keyframes race-radio-signal { 0%,100% { opacity:.55; } 20%,75% { opacity:1; stroke:#ef9e91; } }
@keyframes race-position { from { opacity:.3; } to { opacity:1; } }
@keyframes race-finish-pass { 0% { transform:translateX(-100%); opacity:0; } 20% { opacity:1; } 100% { transform:translateX(270%); opacity:0; } }
@keyframes race-flag-breeze { 0%,100% { transform:skewY(-3deg) scaleX(1); } 50% { transform:skewY(4deg) scaleX(.94); } }
@keyframes race-flag-fold { 0%,100% { transform:translateX(-9px); opacity:.8; } 50% { transform:translateX(12px); opacity:1; } }
body.apex-night-theme .classification .classification-movement[data-position-change].is-moving { animation:race-position .7s ease-out!important; }
@media(max-width:700px) {
  .race-finish { grid-template-columns:36px minmax(0,1fr) auto; gap:12px; padding:18px 16px; }
  .race-finish-flag { width:36px; height:42px; }
  body.apex-night-theme .race-finish-copy h3 { font-size:15px; }
  .race-finish-copy p { font-size:10px; }
  .race-finish-points strong { font-size:30px; }
  .race-finish-points small { font-size:7px; }
  body.apex-night-theme .race-finish-link { grid-column:2 / -1; justify-content:space-between; border-left:0; border-top:1px solid #ffffff15; padding:12px 0 0; font-size:11px; }
  .race-save-receipt { padding:14px; gap:10px; }
  .race-save-receipt strong { font-size:13px; }
  .race-save-receipt small { font-size:8px; }
}
@media(prefers-reduced-motion:reduce) {
  .race-save-receipt *, .prediction-save-status::before, .race-finish::before,
  .race-flag-cloth, .race-flag-fold,
  .ns-live .radio-message-wave, .ns-live .radio-message-wave i,
  .ns-live .paddock-radio-index>span, .ns-live .paddock-radio-wave,
  body.apex-night-theme .classification .classification-movement[data-position-change].is-moving { animation:none!important; transition:none!important; }
}
