:root{
  --bg:#0b0b12; --bg2:#14141f; --card:#1a1a27; --fg:#f2f2f7; --sub:#9a9ab0;
  --accent:#ff2d55; --accent2:#ff5e7e; --radius:14px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{
  background:var(--bg);color:var(--fg);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  padding-bottom:env(safe-area-inset-bottom);
}
.hidden{display:none !important}
button{font-family:inherit;cursor:pointer;border:none;color:inherit;background:none}
a{text-decoration:none;color:inherit}

/* 顶栏 */
.topbar{
  position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;
  padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top));
  background:rgba(11,11,18,.92);backdrop-filter:blur(10px);border-bottom:1px solid #20202e;
}
.brand{font-weight:800;font-size:18px;white-space:nowrap}
.brand span{background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}
.search{flex:1}
.search input{
  width:100%;background:var(--bg2);border:1px solid #25253a;border-radius:999px;
  color:var(--fg);padding:9px 14px;font-size:14px;outline:none;
}
.search input:focus{border-color:var(--accent)}
.install{
  background:linear-gradient(90deg,var(--accent),var(--accent2));color:#fff;
  font-size:12px;font-weight:700;padding:8px 12px;border-radius:999px;white-space:nowrap;
}

/* 分类 chips */
.chips{
  display:flex;gap:8px;overflow-x:auto;padding:10px 12px;scrollbar-width:none;
  position:sticky;top:calc(54px + env(safe-area-inset-top));z-index:15;background:var(--bg);
}
.chips::-webkit-scrollbar{display:none}
.chip{
  flex:0 0 auto;background:var(--card);color:var(--sub);
  padding:7px 14px;border-radius:999px;font-size:13px;font-weight:600;border:1px solid #23233440;
}
.chip.on{background:linear-gradient(90deg,var(--accent),var(--accent2));color:#fff}

/* 海报网格 */
.view{padding:6px 12px 30px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:360px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:720px){.grid{grid-template-columns:repeat(5,1fr)}}
.card{display:block}
.poster{
  position:relative;width:100%;aspect-ratio:2/3;border-radius:var(--radius);
  background:#222 center/cover no-repeat;overflow:hidden;box-shadow:0 4px 14px #0006;
}
.badge{
  position:absolute;left:6px;bottom:6px;background:rgba(0,0,0,.7);color:#ffd;
  font-size:11px;padding:3px 7px;border-radius:6px;max-width:90%;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.cname{
  font-size:13px;margin-top:6px;line-height:1.3;font-weight:600;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;
}

.sentinel{text-align:center;color:var(--sub);padding:20px;font-size:13px}
.sentinel button{color:var(--accent);font-weight:700}
.empty,.loading{text-align:center;color:var(--sub);padding:60px 20px}

/* 播放页 */
.player-wrap{margin:-6px -12px 0;background:#000}
#vid{width:100%;max-height:62vh;display:block;background:#000;aspect-ratio:16/9}
.meta{padding:14px 2px 6px}
.meta h1{font-size:18px;margin:0 0 4px;line-height:1.35}
.meta h1 small{font-size:12px;color:var(--accent2);font-weight:600}
.meta .sub{color:var(--sub);font-size:13px;margin:0 0 8px}
.meta .blurb{color:#c6c6d6;font-size:13px;line-height:1.6;margin:0}
.eps-title{font-weight:700;margin:16px 2px 10px;font-size:15px}
.eps{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}
.ep{
  background:var(--card);color:var(--fg);padding:10px 6px;border-radius:10px;
  font-size:13px;border:1px solid #24243600;text-align:center;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.ep.on{background:linear-gradient(90deg,var(--accent),var(--accent2));color:#fff;font-weight:700}

/* iOS 安装提示 */
.ios-tip{position:fixed;inset:0;z-index:50;background:#000a;display:flex;align-items:flex-end}
.ios-card{background:var(--bg2);margin:12px;padding:18px;border-radius:18px;width:100%;border:1px solid #2a2a3e}
.ios-card b{font-size:16px}
.ios-card p{color:var(--sub);font-size:14px;line-height:1.6;margin:8px 0 14px}
.ios-card span{color:var(--accent2);font-weight:700}
.ios-card button{width:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));color:#fff;padding:12px;border-radius:12px;font-weight:700}
