*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--neutral-900:#0f172a;--brand-hex:#22c55e;--brand-hover:#16a34a}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--neutral-900)}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Arial,sans-serif;background:var(--neutral-900);color:#fff;min-height:100vh;line-height:1.5;max-width:560px;margin:0 auto}
a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}
.px-3{padding:.75rem}.pb-20{padding-bottom:5rem}.mb-3{margin-bottom:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}
.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.flex-wrap{flex-wrap:wrap}
.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-base{font-size:1rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.text-xs{font-size:.75rem}
.rounded-lg{border-radius:.5rem}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.hidden{display:none!important}
.bg-gray-950{background-color:#171717}.bg-gray-800{background-color:#ffffff14}.text-gray-400{color:#ffffffb3}
.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}
.site-header{position:fixed;top:0;left:50%;transform:translateX(-50%);z-index:50;background:rgba(23,23,23,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,8%);max-width:inherit;width:100%}
.header-bar{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;gap:.5rem}
.header-logo{font-size:1.5rem;font-weight:700;color:#e5e7eb;white-space:nowrap}
.header-search{width:1.25rem;height:1.25rem;opacity:.7}
.category-nav{border-top:1px solid rgba(255,255,255,6%)}
.cat-row{overflow-x:auto;white-space:nowrap;padding:.375rem .75rem;font-size:0}
.menu-item{display:inline-block;padding:.3rem .85rem;border-radius:9999px;color:#ffffffb3;font-size:.8375rem;font-weight:500;transition:all .15s;vertical-align:middle}
.menu-item:hover{background:rgba(255,255,255,6%);color:#fff}
.menu-item.active{background:var(--brand-hex)!important;color:#000!important}
.tags-container{padding:.4rem .75rem .5rem}
.tags-inner{overflow:hidden;max-height:3.6rem;transition:max-height .3s ease}
.tags-container.expanded .tags-inner{max-height:none}
.menu-item-sub{display:inline-block;padding:.15rem .5rem;border-radius:9999px;color:#ffffffb3;font-size:.6875rem;transition:all .15s;vertical-align:middle;margin:.1rem .05rem}
.menu-item-sub:hover{color:#f3f4f6;background:rgba(255,255,255,8%)}
.menu-item-sub.active{color:#fff;border:1px solid var(--brand-hex)}
.tags-toggle{display:block;margin:.3rem 0 0 auto;font-size:.6875rem;color:#000;cursor:pointer;background:var(--brand-hex);border:none;border-radius:.25rem;padding:.125rem .5rem}
.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}
.home-section{margin-bottom:1.5rem}
.section-title{font-size:1.125rem;font-weight:700;margin-bottom:.75rem;padding-left:.5rem;border-left:3px solid var(--brand-hex)}
.home-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}
.more-btn{display:block;text-align:center;padding:.5rem 0;margin-top:.5rem;font-size:.875rem;color:var(--brand-hex);background:#ffffff0d;border-radius:.375rem}
.card{display:block;border-radius:.5rem;overflow:hidden;background:#ffffff0d;transition:transform .2s}
.card:hover{transform:translateY(-2px)}
.card-img-wrap{position:relative;aspect-ratio:16/9;overflow:hidden;background:#ffffff14}
.card-img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.card:hover .card-img{transform:scale(1.05)}
.card-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.3);opacity:0;transition:opacity .2s}
.card:hover .card-overlay{opacity:1}
.card-title{padding:.25rem .375rem;font-size:.75rem;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;text-overflow:ellipsis;word-break:break-all}
.pagination-bar{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:1rem 0;flex-wrap:wrap;padding:.5rem}
.page-btn{padding:.35rem .75rem;font-size:.8125rem;border-radius:.375rem;background:#ffffff14;color:#d1d5db}
.page-btn:hover{background:#374151;color:#fff}
.page-btn.disabled{opacity:.35;pointer-events:none}
.page-info{font-size:.8125rem;color:#ffffffb3}
footer{text-align:center;padding:1.5rem .75rem;color:#ffffffb3;font-size:.75rem;border-top:1px solid rgba(255,255,255,8%)}
.search-bar{display:flex;gap:.5rem;padding:.75rem}
.search-input{flex:1;padding:.5rem .75rem;font-size:.875rem;background:#ffffff0d;border:1px solid #ffffff20;border-radius:.375rem;color:#f3f4f6;outline:none}
.search-input:focus{border-color:var(--brand-hex)}
.search-btn{padding:.5rem 1rem;background:var(--brand-hex);color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:600;cursor:pointer}
.video-player-wrap{width:100%;background:#000;min-height:200px;position:relative}
.video-player-wrap video{width:100%;height:auto;max-height:70vh;display:block}
.player-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#ffffffb3;font-size:.875rem}
.video-info{padding:.75rem}
.video-info h1{font-size:1.125rem;font-weight:700;margin-bottom:.25rem}
.video-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin:.5rem 0}
.video-tags a{padding:.2rem .5rem;background:#ffffff14;border-radius:.25rem;font-size:.6875rem;color:var(--brand-hex)}

/* 卡片广告 */
.ad-card{position:relative}
.ad-badge{position:absolute;top:6px;right:6px;background:rgba(0,0,0,.7);color:#22c55e;font-size:11px;padding:2px 6px;border-radius:3px;z-index:5;pointer-events:none}

/* 播放器广告遮罩 */
#player-ad-overlay{position:absolute;inset:0;z-index:550;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center}
#player-ad-img{max-width:100%;max-height:75%;object-fit:contain;cursor:pointer}
.player-ad-info{display:flex;align-items:center;gap:12px;margin-top:14px;color:#fff;font-size:14px}
.player-ad-countdown b{color:#22c55e;font-size:18px}
.player-ad-skip{background:#22c55e;color:#000;border:none;padding:6px 16px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600}

#ad-close-btn{background:#22c55e;color:#000;border:none;padding:8px 20px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:700}


/* 右侧App广告 — 移动端右下悬浮，桌面端右侧固定 */
/* 右侧App广告 — fixed跟随，仅视频区域可见 */
#right-app-ads{display:none;flex-direction:column;gap:6px;position:fixed;right:2px;top:320px;width:52px;z-index:55}
#right-app-ads.show{display:flex!important}
.right-ad-item{display:block;background:rgba(0,0,0,.6);border-radius:8px;overflow:hidden;text-align:center;transition:transform .15s}
.right-ad-item:active{transform:scale(.95)}
.right-ad-item img{width:48px;height:48px;border-radius:.75rem;margin:0 auto;display:block;object-fit:cover}
.right-ad-item span{display:block;padding:2px 0;font-size:11px;color:#9ca3af;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:48px;margin:0 auto}
@media(min-width:768px){
  #right-app-ads{right:6px;top:340px;width:64px;gap:8px}
  .right-ad-item img{width:56px;height:56px}
  .right-ad-item span{max-width:56px;font-size:11px}
}
