.banner-ad { width:min(728px,calc(100% - 32px)); margin:16px auto 0; }
.banner-ad-label { display:block; margin:0 0 5px; color:var(--muted); font-size:10px; letter-spacing:1px; }
.banner-ad-toolbar { display:flex; justify-content:space-between; align-items:center; min-height:24px; margin-bottom:4px; }
.banner-ad-toolbar .banner-ad-label { margin:0; }
.banner-ad-controls { display:flex; gap:7px; align-items:center; color:var(--muted); font-size:10px; }
.banner-ad-controls[hidden],.banner-ad-frame[hidden] { display:none; }
.banner-ad-controls button { border:1px solid var(--line); border-radius:4px; min-width:24px; height:24px; padding:0 6px; color:var(--muted); background:#0d1929; cursor:pointer; }
.banner-ad-controls button:hover { color:#fff; border-color:var(--green); }
.banner-ad-controls button:focus-visible { outline:2px solid var(--green); outline-offset:2px; }
.banner-ad-frame { height:90px; overflow:hidden; border-radius:6px; background:#0d1929; }
.banner-ad-frame a,.banner-ad-frame picture { display:block; width:100%; height:100%; }
.banner-ad-frame a:focus-visible { outline:2px solid var(--green); outline-offset:-3px; }
.banner-ad-frame img { display:block; width:100%; height:100%; object-fit:contain; }
.banner-ad-placeholder { display:grid; place-items:center; height:100%; border:1px dashed #304258; border-radius:6px; color:#8191a7; font-size:13px; letter-spacing:3px; }
.banner-ad-starlight { border:1px solid #7b5d3f; background:#120e24; }
.banner-ad-starlight a { text-decoration:none; }
.starlight-promo { position:relative; height:100%; isolation:isolate; overflow:hidden; display:flex; align-items:center; justify-content:space-between; padding:0 28px; }
.banner-ad-frame .starlight-promo-art { position:absolute; z-index:-2; top:0; right:0; width:65%; height:100%; object-fit:cover; object-position:right 37%; opacity:.95; }
.starlight-promo::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#15102b 27%,rgba(21,16,43,.65) 48%,transparent 69%,rgba(13,9,29,.8)); }
.starlight-promo-copy { display:flex; flex-direction:column; gap:2px; color:#f0dfb7; }
.starlight-promo-copy small { font-size:9px; letter-spacing:2.8px; color:#c7a872; }
.starlight-promo-copy strong { font-size:28px; line-height:1.2; letter-spacing:5px; text-shadow:0 2px 14px #15041c; }
.starlight-promo-copy>span { font-size:11px; color:#d0bfde; }
.starlight-promo-action { display:inline-flex; align-items:center; gap:18px; padding:11px 18px; border:1px solid #f4d69e; border-radius:5px; background:linear-gradient(130deg,#fae3ae,#c79a58); color:#261631; box-shadow:0 4px 18px #130c25; font-size:12px; font-weight:800; white-space:nowrap; }
.banner-ad-starlight a:hover .starlight-promo-action { filter:brightness(1.12); }
.banner-ad-english .starlight-promo-copy strong { font-size:22px; letter-spacing:0; }
.banner-ad-english { font-family: Arial, sans-serif; }
@media(max-width:600px) {
  .banner-ad { width:calc(100% - 24px); margin-top:12px; }
  .banner-ad-frame { height:100px; }
  .starlight-promo { padding:0 12px; }
  .starlight-promo-copy strong { font-size:23px; letter-spacing:2px; }
  .starlight-promo-copy small { font-size:7px; letter-spacing:1px; }
  .starlight-promo-copy>span { max-width:150px; font-size:9px; }
  .starlight-promo-action { align-self:flex-end; margin-bottom:10px; padding:7px 10px; gap:8px; font-size:10px; }
  .banner-ad-frame .starlight-promo-art { width:70%; object-position:90% center; }
}
