:root { --ad-placeholder-bg:#efefef; }
body.dark-mode { --ad-placeholder-bg:#101316; }
body.high-contrast { --ad-placeholder-bg:#000; }

.article-ad { position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; max-width:100%; margin:0 auto; }
.article-ad.ad-filled { margin-bottom:20px; }
.article-ad::before { content:"Advertisement"; position:absolute; color:#c1c1c1; font-size:18px; font-weight:500; }
.article-ad .ad-host { position:relative; }
.article-leaderboard { margin-top:20px; }
.sidebar-ad-group { margin-bottom:10px; }
.sidebar-ad-group:has(.ad-filled) { margin-bottom:30px; }
.article-body-ad { clear:both; }
.article-mobile-ads { display:none; }
.article-sticky-ad { position:fixed; bottom:env(safe-area-inset-bottom,0px); left:50%; transform:translateX(-50%); z-index:18; background:var(--white); }
.article-sticky-ad:not(.ad-filled),.article-sticky-ad[hidden] { display:none; }
.article-sticky-ad.ad-filled { margin:0; overflow:visible; }
.ad-dismiss { position:absolute; top:-24px; right:0; width:24px; height:24px; padding:0; border:1px solid var(--border-color); background:var(--white); color:var(--text-black); cursor:pointer; font-size:20px; line-height:1; }
.ad-dismiss:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
@media(max-width:768px){.sidebar-ad-group{display:none}.article-mobile-ads{display:block}}

@media(max-width:768px) {
 .article-leaderboard { margin:20px auto; }
 .article-leaderboard .article-ad { width:300px; min-height:100px; margin-bottom:0; background:var(--ad-placeholder-bg); }
}

