:root{
  --promotion-amber:#805500;
  --promotion-headline-text:800 28px/1.12 var(--sans);
  --promotion-result-text:800 32px/1.1 var(--sans);
  --promotion-compact-title:800 24px/1.12 var(--sans);
  --promotion-body-text:500 15px/1.5 var(--sans);
  --promotion-step-text:650 12px/1.3 var(--sans);
  --promotion-number-text:750 16px/1 var(--mono);
}
.pregame-promotion,.results-promotion,.elimination-promotion{--promotion-accent:var(--action-blue);--promotion-wash:color-mix(in srgb,var(--promotion-accent) 7%,var(--surface));--promotion-line:color-mix(in srgb,var(--promotion-accent) 28%,var(--surface));border:1px solid var(--promotion-line);border-radius:var(--r);background:var(--surface);color:var(--ink);text-align:left}
.pregame-promotion{margin:0;padding:12px}
.results-promotion{margin:4px 16px 24px;padding:22px 20px;border-top:5px solid var(--promotion-accent);background:linear-gradient(155deg,var(--surface),var(--promotion-wash))}
:is(.pregame-promotion,.results-promotion,.elimination-promotion)[data-creative="market-replay"]{--promotion-accent:var(--brand)}
:is(.pregame-promotion,.results-promotion,.elimination-promotion)[data-creative="real-market-data"]{--promotion-accent:var(--promotion-amber)}
.pregame-promotion[hidden],.pregame-promotion [hidden],.results-promotion[hidden]{display:none}
:is(.pregame-promotion,.results-promotion) .promotion-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:5px 10px;margin-bottom:12px}
:is(.pregame-promotion,.results-promotion) .promotion-label,.promotion-heading>span{margin:0;color:var(--dim);font:var(--chart-hint-text)}
.promotion-native{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--promotion-line);border-radius:var(--r-sm);background:var(--promotion-wash)}
:is(.promotion-native,.results-promotion) .brand-logo{display:block;width:124px;height:auto;max-height:none;margin:0;filter:none}
.results-promotion .brand-logo{width:112px}
:is(.pregame-promotion,.results-promotion) .promotion-kicker{margin:0;color:var(--promotion-accent);font:var(--room-kicker-text);letter-spacing:.07em}
.promotion-native h3{margin:0;color:var(--ink);font:var(--promotion-headline-text);letter-spacing:-.025em;text-wrap:balance}
.results-promotion h2{margin:10px 0 12px;color:var(--ink);font:var(--promotion-result-text);letter-spacing:-.025em;text-wrap:balance}
:is(.pregame-promotion,.results-promotion) .promotion-copy{margin:0;color:var(--dim);font:var(--promotion-body-text)}
.promotion-demo{position:relative;padding:10px 10px 24px;border:1px solid var(--promotion-line);border-radius:var(--r-sm);background:var(--surface);overflow:hidden}
.promotion-demo svg{display:block;width:100%;height:70px;overflow:visible}
.promotion-demo-label{position:absolute;bottom:6px;left:10px;color:var(--dim);font:var(--chart-hint-text)}
.promotion-grid{fill:none;stroke:var(--line-soft);stroke-width:1}
.promotion-trace{fill:none;stroke:var(--promotion-accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;animation:promotion-replay 12s ease-out both}
.promotion-entry,.promotion-exit{fill:var(--surface);stroke:var(--promotion-accent);stroke-width:3;transform-box:fill-box;transform-origin:center;animation:promotion-entry 12s ease-out both}
.promotion-exit{fill:var(--promotion-accent);animation-name:promotion-exit}
.promotion-story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;list-style:none;margin:0;padding:0}
.promotion-story li{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:8px 5px;border-top:3px solid var(--promotion-line);color:var(--ink);font:var(--promotion-step-text);animation:promotion-step 12s ease-out both}
.promotion-story b{color:var(--promotion-accent);font:var(--promotion-number-text)}
.promotion-story li:nth-child(2){animation-name:promotion-step-trade}
.promotion-story li:nth-child(3){animation-name:promotion-step-review}
.pregame-promotion[data-motion="paused"] :is(.promotion-trace,.promotion-entry,.promotion-exit,.promotion-story li){animation-play-state:paused}
.promotion-controls{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 10px;margin-top:4px}
.promotion-controls button{min-height:44px;padding:8px 0;color:var(--promotion-accent);font:var(--control-emphasis);text-decoration:underline;text-underline-offset:3px}
.promotion-controls button:disabled{color:var(--dim);opacity:1;text-decoration:none;cursor:default}
.promotion-controls small,.promotion-link-note{margin:0;color:var(--dim);font:var(--chart-hint-text)}
.promotion-benefits{display:flex;flex-direction:column;gap:10px;list-style:none;margin:18px 0;padding:0;color:var(--ink);font:var(--room-pitch-text)}
.promotion-benefits li{display:flex;align-items:center;gap:10px}
.promotion-benefits li::before{content:'✓';display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:var(--promotion-wash);color:var(--promotion-accent);font:var(--control-emphasis)}
:is(.pregame-promotion,.results-promotion) .btn{display:flex;justify-content:center;width:100%;min-height:48px;padding:13px 14px;border:1px solid var(--promotion-accent);background:var(--promotion-accent);color:var(--button-ink);font:var(--room-pitch-text);text-align:center;text-decoration:none}
:is(.pregame-promotion,.results-promotion) .btn:hover{filter:none;border-color:var(--ink);background:var(--ink)}
.pregame-promotion .promotion-link-note{text-align:center}
.results-promotion .promotion-link-note{margin-top:9px;text-align:center}
:is(.pregame-promotion,.results-promotion) :focus-visible{outline:2px solid var(--promotion-accent);outline-offset:3px}
#elimination-practice{display:block;margin:14px 0 18px;padding:14px;border-top:4px solid var(--promotion-accent);background:linear-gradient(145deg,var(--surface),var(--promotion-wash));text-decoration:none;overflow-wrap:anywhere}
#elimination-practice .elimination-promo-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
#elimination-practice small{display:block;color:var(--dim);font:var(--chart-hint-text)}
#elimination-practice .brand-logo{width:104px;max-height:none;filter:none}
#elimination-practice .elimination-promo-message{display:block;margin-top:12px}
#elimination-practice b{display:block;color:var(--ink);font:var(--promotion-compact-title);letter-spacing:-.02em;text-wrap:balance}
#elimination-practice-copy{display:block;margin-top:6px;color:var(--dim);font:var(--room-pitch-text)}
#elimination-practice .elimination-promo-art{display:block;position:relative;margin:12px 0;padding:6px 8px 22px;border:1px solid var(--promotion-line);border-radius:var(--r-sm);background:var(--surface)}
#elimination-practice svg{display:block;width:100%;height:44px;overflow:visible}
#elimination-practice :is(.promotion-trace,.promotion-entry,.promotion-exit){animation:none;stroke-dashoffset:0}
#elimination-practice .elimination-promo-art>span{position:absolute;bottom:5px;left:8px;color:var(--dim);font:var(--chart-hint-text)}
#elimination-practice .elimination-promo-cta{display:flex;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:10px 12px;border-radius:var(--r-sm);background:var(--promotion-accent);color:var(--button-ink);font:var(--room-pitch-text)}
#elimination-practice:hover .elimination-promo-cta{background:var(--ink)}
#elimination-practice #elimination-promotion-note{margin-top:7px;text-align:center}
#elimination-practice:focus-visible{outline:2px solid var(--promotion-accent);outline-offset:3px}
@keyframes promotion-replay{0%{stroke-dashoffset:100}45%,100%{stroke-dashoffset:0}}
@keyframes promotion-entry{0%,32%{opacity:0;transform:scale(.4)}42%,100%{opacity:1;transform:scale(1)}}
@keyframes promotion-exit{0%,64%{opacity:0;transform:scale(.4)}74%,100%{opacity:1;transform:scale(1)}}
@keyframes promotion-step{0%,32%{border-top-color:var(--promotion-accent)}40%,100%{border-top-color:var(--promotion-line)}}
@keyframes promotion-step-trade{0%,32%,70%,100%{border-top-color:var(--promotion-line)}40%,64%{border-top-color:var(--promotion-accent)}}
@keyframes promotion-step-review{0%,64%{border-top-color:var(--promotion-line)}74%,100%{border-top-color:var(--promotion-accent)}}
@media(max-width:350px){.pregame-promotion{padding:10px}.promotion-native{padding:12px}.results-promotion{margin-inline:12px;padding:20px 16px}.promotion-demo svg{height:60px}}
@media(prefers-reduced-motion:reduce){.promotion-trace,.promotion-entry,.promotion-exit,.promotion-story li{animation:none}.promotion-trace{stroke-dashoffset:0}.promotion-controls button{display:none}.promotion-controls{padding-top:6px}.promotion-controls small{padding-block:4px}}

/* A phone countdown ad keeps its brand and three steps in view. */
@media(max-height:740px){
 .pregame-promotion{padding:10px}
 .pregame-promotion .promotion-heading{margin-bottom:6px}
 .pregame-promotion .promotion-heading>span,.pregame-promotion .promotion-kicker{display:none}
 .pregame-promotion .promotion-native{padding:10px;gap:7px}
 .pregame-promotion .brand-logo{width:148px;max-width:100%;flex:none;object-fit:contain}
 .pregame-promotion h3{font:var(--promotion-compact-title)}
 .pregame-promotion .promotion-copy{font:var(--form-help-text)}
 .pregame-promotion .promotion-demo{display:none}
 .pregame-promotion .promotion-story{gap:8px}
 .pregame-promotion .promotion-story li{min-width:0;padding:6px 0;gap:4px;overflow-wrap:normal}
 .pregame-promotion .promotion-controls{margin-top:0}
 .pregame-promotion .promotion-controls button{min-height:32px;padding-block:4px}
 .pregame-promotion .btn{min-height:44px;padding:10px}
}
