:root{--bg:#0b0614;--bg2:#12091f;--card:#160c26;--line:#2a1745;--tx:#f2ecff;--mut:#a99bc2;--pink:#ff2bd6;--cyan:#00f0ff;--chip:#1d1030}
[data-theme=light]{--bg:#f6f3fb;--bg2:#fff;--card:#fff;--line:#e4dcf0;--tx:#1a1027;--mut:#6b5d82;--pink:#d4009f;--cyan:#0091a8;--chip:#efe8f8}
*{box-sizing:border-box}html,body{margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--tx);line-height:1.45}
a{color:inherit}.mut{color:var(--mut)}.sm{font-size:13px}
.top{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;background:var(--bg2);border-bottom:2px solid var(--pink)}
.logo{font-weight:900;font-size:24px;text-decoration:none;letter-spacing:-.5px;background:linear-gradient(90deg,var(--cyan),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}
.tr{display:flex;align-items:center;gap:8px}.bmc{background:#ffdd00;color:#000;padding:4px 11px;border-radius:99px;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}
.tbtn{background:var(--chip);color:var(--tx);border:1px solid var(--line);border-radius:99px;width:32px;height:32px;font-size:16px;cursor:pointer}
.cats{display:flex;gap:8px;overflow-x:auto;padding:12px 14px;scrollbar-width:none}.cat{border:1px solid var(--cyan);color:var(--cyan);padding:6px 13px;border-radius:99px;white-space:nowrap;text-decoration:none;font-weight:700;font-size:14px}.cat.on{background:var(--cyan);color:#000}.cat.adult{border-color:var(--pink);color:var(--pink)}.cat.adult.on{background:var(--pink);color:#fff}
.hero{text-align:center;padding:10px 16px 4px}.hero h1{margin:0;font-size:clamp(24px,6vw,38px);font-weight:900;text-shadow:0 0 22px rgba(255,43,214,.35)}.hero p{color:var(--mut);margin:6px auto 0;max-width:640px}
.wrap{display:grid;gap:18px;padding:14px;max-width:1240px;margin:auto}@media(min-width:960px){.wrap{grid-template-columns:1fr 310px}.wrap.one{grid-template-columns:1fr;max-width:900px}}
.tabs{display:flex;gap:6px;margin-bottom:12px;overflow-x:auto}.tab{flex:1;text-align:center;padding:9px 10px;border-radius:10px;background:var(--chip);color:var(--mut);font-weight:800;text-decoration:none;white-space:nowrap;font-size:14px}.tab.on{background:var(--pink);color:#fff;box-shadow:0 0 16px rgba(255,43,214,.45)}
.grid{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}@media(min-width:700px){.grid{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--card);border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.vid{aspect-ratio:9/16;position:relative;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#ff2bd6,#7a00ff 55%,#00f0ff);background-size:cover;background-position:center}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.play{width:58px;height:58px;border-radius:50%;border:2px solid #fff;background:#0009;color:#fff;font-size:22px;cursor:pointer}
.rank{position:absolute;top:8px;left:8px;background:#000b;color:#fff;padding:2px 8px;border-radius:6px;font-weight:900}.feat{position:absolute;top:8px;right:8px;background:#ffdd00;color:#000;padding:2px 7px;border-radius:6px;font-weight:800;font-size:12px}
.meta{padding:10px}.tt{font-weight:800;font-size:14px;text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.meta small{color:var(--mut);display:block;margin-top:2px}.meta small a{text-decoration:none}
.votes{display:flex;gap:6px;margin-top:8px}.vb{flex:1;border:none;border-radius:9px;padding:8px 4px;font-weight:900;cursor:pointer;font-size:14px}.up{background:var(--cyan);color:#000}.dn{background:var(--chip);color:var(--tx);border:1px solid var(--line)}.vb.done{outline:3px solid var(--pink);outline-offset:1px}
.bar{height:6px;background:var(--chip);border-radius:4px;margin-top:8px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--pink))}
.row{display:flex;justify-content:space-between;align-items:center;margin-top:5px;font-size:12px;color:var(--mut)}.rep,.share{background:none;border:none;color:var(--mut);cursor:pointer;font-size:12px;padding:2px}
.box{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:14px}.box h3{margin:0 0 8px}
input,select{width:100%;padding:10px;border-radius:9px;border:1px solid var(--line);background:var(--bg);color:var(--tx);margin:4px 0;font-size:15px}
.go{display:inline-block;width:100%;text-align:center;padding:10px;border:none;border-radius:9px;background:linear-gradient(90deg,var(--pink),#9b2bff);color:#fff;font-weight:900;cursor:pointer;text-decoration:none;margin-top:4px;font-size:15px}
.adult18{display:none;gap:8px;align-items:flex-start;font-size:13px;color:var(--pink);margin:4px 0}.adult18 input{width:auto;margin:2px 0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.msg{font-size:13px;margin:6px 0 0;min-height:1em}.msg.err{color:#ff5470}.msg.ok{color:var(--cyan)}
.empty{text-align:center;padding:40px 16px;border:2px dashed var(--line);border-radius:16px}.empty .big{font-size:48px}.empty .go{width:auto;padding:10px 22px}
.note{background:rgba(255,43,214,.12);border:1px solid var(--pink);border-radius:12px;padding:10px 12px;margin-bottom:12px;font-size:14px}
.cl{margin:0;padding-left:18px}.cl li{margin:4px 0}
.vpage{padding:14px}.vpage h1{margin:0 0 4px;font-size:22px}.embed{max-width:340px;margin:12px auto;aspect-ratio:9/16;position:relative;border-radius:12px;overflow:hidden;background:#000}.embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.crumbs{font-size:13px;color:var(--mut);margin-bottom:8px}.crumbs a{text-decoration:none}
.foot{text-align:center;padding:24px 16px;color:var(--mut);font-size:13px;border-top:1px solid var(--line);margin-top:20px}.foot a{color:var(--tx)}
.prose li{margin:6px 0}
#toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%) translateY(80px);background:var(--pink);color:#fff;padding:10px 16px;border-radius:99px;font-weight:800;transition:transform .25s;z-index:9}#toast.show{transform:translateX(-50%) translateY(0)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.stats b{font-size:24px}.tw{overflow-x:auto}.at{width:100%;border-collapse:collapse;font-size:13px}.at td,.at th{border-bottom:1px solid var(--line);padding:6px;text-align:left;vertical-align:top}.af{display:flex;flex-wrap:wrap;gap:4px}.af select{width:auto;padding:4px;font-size:12px;margin:0}.af button{font-size:12px;padding:4px 7px;border-radius:6px;border:1px solid var(--line);background:var(--chip);color:var(--tx);cursor:pointer}.af .del{color:#ff5470}

.vid .ph{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:18px 16px;text-align:center;color:#fff}
.vid .pe{font-size:44px;line-height:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
.vid .pc{font-weight:800;font-size:clamp(17px,2.2vw,22px);line-height:1.2;text-shadow:0 2px 8px rgba(0,0,0,.4);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.vid .pa{font-size:14px;opacity:.9;background:rgba(0,0,0,.28);padding:4px 10px;border-radius:99px}
.vid img.cv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s}
.vid img.cv.ok{opacity:1}
.vid img.cv.bad{display:none}
.vid .rank,.vid .feat,.vid .play{z-index:2}

.vid{cursor:pointer}.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3}
