:root{--bg:#0c0c11;--sf:#15151d;--sf2:#1d1d29;--bd:#2a2a38;--tx:#f0f0f5;--dim:#9595a5;--pink:#ff3d6e}
*{box-sizing:border-box;margin:0}
body{background:var(--bg);color:var(--tx);font:14px/1.5 system-ui,sans-serif;min-height:100vh}
a{color:inherit;text-decoration:none}
.top{display:flex;align-items:center;gap:16px;padding:10px 16px;background:var(--sf);border-bottom:1px solid var(--bd);flex-wrap:wrap;position:sticky;top:0;z-index:5}
.brand{font-weight:800;font-size:18px;color:var(--pink)}.brand span{color:var(--tx)}
.top nav{display:flex;gap:4px}.top nav a{padding:6px 12px;border-radius:8px;color:var(--dim)}.top nav a.on,.top nav a:hover{background:var(--sf2);color:var(--tx)}
.top form{margin-left:auto;display:flex}.top input{background:var(--sf2);border:1px solid var(--bd);color:var(--tx);padding:7px 12px;border-radius:8px 0 0 8px;min-width:180px}.top button{background:var(--pink);border:0;color:#fff;padding:0 12px;border-radius:0 8px 8px 0;cursor:pointer}
.sourcetab{display:flex;gap:6px;padding:8px 16px;overflow-x:auto;border-bottom:1px solid var(--bd)}
.sourcetab a{padding:4px 12px;border-radius:99px;background:var(--sf);color:var(--dim);font-weight:600;font-size:12px;white-space:nowrap}
.sourcetab a.on{background:var(--pink);color:#fff}
.pg{padding:14px 16px 4px;font-size:15px}.dim{color:var(--dim);font-weight:400}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;padding:14px 16px}
.card{background:var(--sf);border:1px solid var(--bd);border-radius:12px;overflow:hidden;transition:.15s}.card:hover{border-color:var(--pink);transform:translateY(-2px)}
.thumb{position:relative;aspect-ratio:16/9;background:#000}.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.dur{position:absolute;right:6px;bottom:6px;background:#000c;padding:2px 6px;border-radius:5px;font-size:11px}
.meta{padding:8px 10px}.meta p{font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.meta small{color:var(--dim)}
.pager{padding:6px 16px 30px;display:flex;gap:10px}.pgbtn{background:var(--sf2);border:1px solid var(--bd);padding:8px 18px;border-radius:8px}
.err{margin:12px 16px;background:#3a1420;border:1px solid #ff3d6e55;padding:10px;border-radius:8px;color:#ffb3c4;word-break:break-all}
.cats{padding:10px 16px 30px;display:flex;flex-wrap:wrap;gap:8px}
.catchip{background:var(--sf2);border:1px solid var(--bd);padding:4px 12px;border-radius:99px;font-size:12px;color:var(--dim)}.catchip:hover{color:var(--pink);border-color:var(--pink)}
.watch{max-width:960px;margin:16px auto;padding:0 16px}
video{width:100%;aspect-ratio:16/9;background:#000;border-radius:12px}
.watch h1{font-size:17px;margin:12px 0 4px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.btnrow{display:flex;gap:10px;margin:14px 0}
.btn{background:var(--pink);color:#fff;padding:9px 18px;border-radius:8px;font-weight:600}.btn.ghost{background:transparent;border:1px solid var(--bd);color:var(--tx)}
.desc{color:var(--dim);margin-top:8px}
.dllist{list-style:none;margin:12px 0}.dllist li{display:flex;justify-content:space-between;align-items:center;background:var(--sf);border:1px solid var(--bd);padding:10px 14px;border-radius:10px;margin-bottom:8px}
