/* 银河TV 独立前台：广告位、异步加载提示和移动端适配。 */
[hidden]{display:none!important}
.hero{grid-template-columns:1fr 1fr}
.hero-ad{position:relative;display:flex;align-items:flex-end;min-width:0;min-height:365px;overflow:hidden;border:1px solid #334139;border-radius:20px;background:radial-gradient(circle at 70% 26%,#283c31,#111b21 44%,#0c141b 86%);isolation:isolate}
.hero-ad::before{content:"";position:absolute;width:74%;aspect-ratio:1;top:-35%;right:-16%;border:1px solid #445f40;border-radius:50%;opacity:.4}
.hero-ad-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#d1dcce;text-align:center}
.hero-ad-placeholder strong{font-size:30px;letter-spacing:3px}.hero-ad-placeholder small{color:#84968b;font-size:12px}
.hero-ad-symbol{display:grid;place-items:center;width:75px;height:75px;margin-bottom:12px;border:1px solid #5b7950;border-radius:22px;color:var(--accent);font-size:39px;transform:rotate(-9deg)}
.hero-ad-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-ad.has-image::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,.15) 58%,transparent)}
.hero-ad-content{position:relative;z-index:1;width:100%;padding:28px;color:#fff}.hero-ad-content strong{display:block;font-size:clamp(24px,2.5vw,38px);line-height:1.2;letter-spacing:-1px}.hero-ad-content p{max-width:430px;margin:11px 0 0;color:#e2e8e0;font-size:13px}.hero-ad-content .ad-cta{display:inline-block;margin-top:18px;padding:9px 17px;border-radius:8px;background:var(--accent);color:#182018;font-size:12px;font-weight:850}
.ad-label{position:absolute;top:17px;right:17px;z-index:2;padding:4px 9px;border:1px solid #7d9584;border-radius:5px;background:rgba(10,16,16,.48);color:#dce8dd;font-size:10px;letter-spacing:1px}
.hero-ad-link{position:absolute;inset:0;z-index:3}
.hero-ad-link:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.catalog-loading{padding:65px 0;color:#9ba8ad;text-align:center}
.catalog-section{padding-top:35px}.category-intro+.catalog-section{padding-top:28px}
.catalog-error{padding:24px;border:1px solid #855751;border-radius:12px;background:#2d201f;color:#ffd4cf;font-size:13px}
.card-visual img{font-size:0}
.search-box.category-search{margin-top:24px}
.episode-list[hidden],.channel-panel[hidden]{display:none!important}
@media(max-width:950px){.hero{gap:20px}.hero-ad{min-height:315px}}
@media(max-width:760px){.hero{grid-template-columns:1fr}.hero-ad{min-height:250px}.hero-ad-content{padding:21px}.hero-ad-content strong{font-size:27px}}
