:root{
  --bg:#0b1020;
  --card:#111a33;
  --muted:#a7b0c3;
  --text:#e9eefc;
  --accent:#7c5cff;
  --border: rgba(255,255,255,0.10);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(180deg,#070a14 0%, #0b1020 100%);color:var(--text);}
a{color:inherit;text-decoration:none}
.container{max-width:1180px;margin:0 auto;padding:24px;}
.header{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:18px;}
.brand{display:flex;gap:10px;align-items:center}
.logo{width:40px;height:40px;border-radius:14px;background:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:white;box-shadow:0 8px 30px rgba(124,92,255,0.35)}
.brand h1{font-size:18px;margin:0}
.brand p{margin:0;color:var(--muted);font-size:13px}
.nav{display:flex;gap:14px;align-items:center;color:var(--muted);font-size:14px}
.nav a{padding:8px 10px;border-radius:10px}
.nav a:hover{background:rgba(255,255,255,0.06);color:var(--text)}
.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;align-items:stretch;margin-bottom:18px;}
.panel{background:rgba(17,26,51,0.75);border:1px solid var(--border);border-radius:18px;padding:16px;backdrop-filter: blur(8px);}
.panel h2{margin:0 0 10px 0;font-size:16px}
.panel .sub{color:var(--muted);font-size:13px;margin:0 0 10px 0;line-height:1.5}
.controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.control{display:flex;flex-direction:column;gap:6px}
label{font-size:12px;color:var(--muted)}
input[type="search"], select{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid var(--border);
  background:rgba(6,10,20,0.6);
  color:var(--text);
  outline:none;
}
input[type="search"]::placeholder{color:rgba(233,238,252,0.4)}
select{appearance:none}
.multi{display:flex;flex-wrap:wrap;gap:8px}
.chip{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 10px;border-radius:999px;border:1px solid var(--border);
  background:rgba(6,10,20,0.45);color:var(--muted);font-size:13px;cursor:pointer;
}
.chip[data-active="true"]{background:rgba(124,92,255,0.18);border-color:rgba(124,92,255,0.55);color:var(--text)}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.btn{
  padding:11px 12px;border-radius:14px;border:1px solid var(--border);
  background:rgba(6,10,20,0.55);color:var(--text);cursor:pointer;
}
.btn.primary{background:var(--accent);border-color:rgba(124,92,255,0.55);box-shadow:0 10px 30px rgba(124,92,255,0.25)}
.btn:hover{filter:brightness(1.05)}
.meta{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:13px}
.grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:12px;}
@media (max-width: 1040px){.grid{grid-template-columns:repeat(3,1fr)} .hero{grid-template-columns:1fr}}
@media (max-width: 740px){.grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 460px){.grid{grid-template-columns:1fr}}
.card{
  background:rgba(17,26,51,0.65);
  border:1px solid var(--border);
  border-radius:18px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height: 340px;
}
.thumb{aspect-ratio:2/3;background:rgba(255,255,255,0.03);display:flex;align-items:center;justify-content:center}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.card-body{padding:12px 12px 14px 12px;display:flex;flex-direction:column;gap:8px}
.title{font-size:14px;font-weight:700;line-height:1.25}
.badges{display:flex;flex-wrap:wrap;gap:6px}
.badge{font-size:12px;color:var(--muted);border:1px solid var(--border);padding:6px 8px;border-radius:999px;background:rgba(6,10,20,0.35)}
.badge.type{color:var(--text);border-color:rgba(124,92,255,0.45);background:rgba(124,92,255,0.12)}
.desc{color:var(--muted);font-size:13px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.footer{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:18px;color:var(--muted);font-size:13px}
hr.sep{border:0;border-top:1px solid var(--border);margin:16px 0}
.player-wrap{position:relative;padding-top:56.25%;border-radius:18px;overflow:hidden;border:1px solid var(--border);background:rgba(0,0,0,0.2)}
.player-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.kv{display:grid;grid-template-columns:160px 1fr;gap:8px 14px;font-size:14px;color:var(--text)}
.kv div.k{color:var(--muted)}
.notice{padding:12px;border-radius:16px;border:1px solid var(--border);background:rgba(255,255,255,0.04);color:var(--muted);font-size:13px;line-height:1.5}
.small{font-size:12px;color:var(--muted)}
