.sponsor-placement{width:min(728px,calc(100% - 40px));margin:15px auto 23px}
.sponsor-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;margin-bottom:4px;color:var(--muted);font-size:12px;line-height:1.5}
.sponsor-controls{display:flex;align-items:center;gap:2px}
.sponsor-controls[hidden]{display:none}
.sponsor-motion,.sponsor-arrow{min-height:44px;background:transparent;color:var(--muted);border-radius:3px}
.sponsor-motion{padding:4px 8px;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.sponsor-arrow{display:grid;place-items:center;width:44px;padding:10px}
.sponsor-arrow svg{width:20px;height:20px}
.sponsor-count{min-width:36px;text-align:center;font-variant-numeric:tabular-nums}
.sponsor-motion:hover,.sponsor-arrow:hover{color:var(--cobalt);background:var(--pale)}
.sponsor-viewport{overflow:hidden;aspect-ratio:3/1;border-radius:3px;background:#00171e}
.sponsor-track{display:flex;height:100%;transition:transform 380ms cubic-bezier(.16,1,.3,1)}
.sponsor-slide{flex:0 0 100%;min-width:0;height:100%}
.sponsor-banner{position:relative;isolation:isolate;display:block;width:100%;height:100%;overflow:hidden;background:#00171e}
.sponsor-image{display:block;width:100%;height:100%;object-fit:contain}
.sponsor-image[hidden]{display:none}
.upto-banner::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(110deg,transparent 39%,#bffff20d 46%,#ffffff20 50%,#bffff20d 54%,transparent 61%);background-size:260% 100%;animation:upto-sheen 3s ease-in-out infinite}
.upto-banner::after{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid #8afff4;border-radius:3px;animation:upto-edge 3s ease-in-out infinite}
.sponsor-banner:focus-visible{outline:3px solid var(--lemon);outline-offset:-4px}
.sponsor-conditions{font-size:11px;line-height:1.6;color:var(--muted);margin-top:5px;min-height:2lh;word-break:keep-all}
.sponsor-placement[data-motion="off"] .upto-banner::before{animation-play-state:paused;opacity:0}
.sponsor-placement[data-motion="off"] .upto-banner::after{animation-play-state:paused;opacity:.35}
.sponsor-placement[data-motion="off"] .sponsor-track{transition:none}
.sponsor-slide[inert] .upto-banner::before,.sponsor-slide[inert] .upto-banner::after{animation-play-state:paused}
@keyframes upto-sheen{0%,12%{background-position:120% 50%}70%,100%{background-position:-80% 50%}}
@keyframes upto-edge{0%,100%{opacity:.2}45%{opacity:.9}75%{opacity:.35}}
@media(max-width:640px){.sponsor-placement{width:calc(100% - 28px);margin-top:10px;margin-bottom:19px}.sponsor-caption{margin-bottom:3px}.sponsor-motion{font-size:11px;padding-inline:4px}.sponsor-count{min-width:30px}.sponsor-conditions{font-size:11px}}
@media(prefers-reduced-motion:reduce){.sponsor-track{transition:none}.upto-banner::before{animation:none;opacity:0}.upto-banner::after{animation:none;opacity:.35}}
