*{box-sizing:border-box}html,body{margin:0;height:100%;background:#0b0e13;color:#d5dbe5;font:14px/1.5 system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}
button{font:inherit;color:inherit;cursor:pointer}
#app{display:flex;height:100vh;height:100dvh}
.stage{position:relative;flex:1;min-width:0;background:#000}
#art{position:absolute;inset:0}
.msg{position:absolute;left:50%;top:14px;transform:translateX(-50%);z-index:20;max-width:86%;padding:8px 16px;border-radius:999px;background:rgba(20,24,32,.88);color:#e8edf5;font-size:13px;backdrop-filter:blur(6px);pointer-events:none}
.msg.err{background:rgba(120,30,30,.92);color:#fff}
.side{width:340px;flex:none;display:flex;flex-direction:column;background:#12161d;border-left:1px solid #1f2631}
.tabs{display:flex;border-bottom:1px solid #1f2631}
.tab{flex:1;padding:13px 0;background:none;border:0;border-bottom:2px solid transparent;color:#8b95a5}
.tab.on{color:#fff;border-bottom-color:var(--theme)}
.panel{flex:1;overflow:auto;padding:14px}
.hint{margin:10px 0;color:#7c8696;font-size:12px}
.empty{padding:28px 0;text-align:center;color:#6c7685}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.chip{padding:5px 12px;border-radius:999px;border:1px solid #2a3340;background:#171c25}
.chip.on{background:var(--theme);border-color:var(--theme);color:#fff}
.eps{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}
.ep{padding:9px 4px;border-radius:8px;border:1px solid #2a3340;background:#171c25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ep:hover{border-color:var(--theme)}.ep.on{background:var(--theme);border-color:var(--theme);color:#fff}
.seg{display:flex;background:#171c25;border:1px solid #2a3340;border-radius:10px;padding:3px}
.seg button{flex:1;padding:8px 0;border:0;border-radius:8px;background:none;color:#8b95a5}
.seg button.on{background:var(--theme);color:#fff}.seg button:disabled{cursor:not-allowed;opacity:.6}
.line{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:8px;padding:11px 14px;border-radius:10px;border:1px solid #2a3340;background:#171c25;text-align:left}
.line span{font-size:12px;color:#7c8696}.line.ok span{color:#4cc38a}.line.fail span{color:#e5675c}.line.on{border-color:var(--theme);box-shadow:inset 0 0 0 1px var(--theme)}
.search{width:100%;padding:9px 12px;margin-bottom:10px;border-radius:8px;border:1px solid #2a3340;background:#171c25;color:#fff;outline:none}
.search:focus{border-color:var(--theme)}
.gname{margin:14px 0 6px;font-size:12px;color:#7c8696;letter-spacing:.05em}
.ch{display:flex;justify-content:space-between;align-items:center;width:100%;padding:9px 12px;margin-bottom:4px;border-radius:8px;border:0;background:#171c25;text-align:left}
.ch:hover{background:#1d2430}.ch.on{background:var(--theme);color:#fff}
.ch em{font-style:normal;font-size:11px;opacity:.7}
@media(max-width:860px){#app{flex-direction:column}.stage{flex:none;height:56.25vw;max-height:60dvh}.side{width:auto;flex:1;min-height:0;border-left:0;border-top:1px solid #1f2631}}
/* 直播:播放器只保留播放/暂停 */
body.live .art-controls .art-control:not(.art-control-playAndPause),body.live .art-control-progress,body.live .art-mini-progress-bar,body.live .art-contextmenus,body.live .art-setting,body.live .art-layer-top,body.live .art-info{display:none!important}
body.live .art-controls{justify-content:flex-start}
/* 开关 */
.sw{padding:14px;margin-bottom:10px;border:1px solid #2a3340;border-radius:12px;background:#171c25}
.sw-h{display:flex;justify-content:space-between;align-items:center}
.sw p{margin:8px 0 0;font-size:12px;line-height:1.7;color:#7c8696}
.sw.dis{opacity:.5}
.tg{position:relative;width:44px;height:26px;border:0;border-radius:999px;background:#3a4455;transition:background .15s}
.tg i{position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:left .15s}
.tg.on{background:var(--theme)}.tg.on i{left:21px}.tg:disabled{cursor:not-allowed}
.art-contextmenu[data-name="version"],.art-contextmenus .art-contextmenu-version{display:none!important}

/* 点播:没有侧栏,播放器占满 */
body.vod .side{display:none}

/* ---- 用户反馈 ---- */
.fb-btn{position:fixed;right:12px;top:12px;z-index:200;padding:7px 14px;border:0;border-radius:999px;background:rgba(15,18,24,.72);color:#fff;font:13px system-ui;backdrop-filter:blur(8px);cursor:pointer;transition:opacity .25s}
.fb-btn.idle{opacity:0;pointer-events:none}
.fb-mask{position:fixed;inset:0;z-index:400;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:12px}
.fb-mask[hidden]{display:none}
.fb-box{width:min(460px,100%);max-height:92vh;overflow:auto;background:#161b24;color:#d5dbe5;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.5);font:14px/1.6 system-ui,"PingFang SC","Microsoft YaHei",sans-serif}
.fb-head{display:flex;align-items:center;border-bottom:1px solid #252c38;padding:0 6px}
.fb-tab{flex:0 0 auto;padding:14px 14px;border:0;background:none;color:#8b95a5;cursor:pointer;border-bottom:2px solid transparent}
.fb-tab.on{color:#fff;border-bottom-color:var(--theme,#2f80ed)}
.fb-x{margin-left:auto;border:0;background:none;color:#8b95a5;font-size:24px;padding:0 12px;cursor:pointer}
.fb-body{padding:16px}
.fb-tip{margin:0 0 12px;color:#9aa4b4;font-size:13px}
.fb-in{display:block;width:100%;margin-bottom:10px;padding:9px 12px;border-radius:8px;border:1px solid #2a3340;background:#10141b;color:#fff;font:inherit;outline:none;resize:vertical}
.fb-in:focus{border-color:var(--theme,#2f80ed)}
.fb-chk{display:block;margin:4px 0 8px;font-size:12px;color:#9aa4b4}
.fb-det{margin-bottom:10px;font-size:12px;color:#7c8696}.fb-det summary{cursor:pointer}
.fb-pre{max-height:160px;overflow:auto;margin:6px 0 0;padding:8px;background:#0c1017;border-radius:6px;white-space:pre-wrap;word-break:break-all;color:#8fd19e}
.fb-msg{min-height:20px;margin:2px 0 8px;font-size:13px;color:#9aa4b4}.fb-msg.err{color:#ff7b72}
.fb-go{display:block;width:100%;margin-top:8px;padding:10px;border:0;border-radius:8px;background:var(--theme,#2f80ed);color:#fff;font:inherit;cursor:pointer}
.fb-go:disabled{opacity:.6;cursor:wait}.fb-go.ghost{background:#252c38}
.fb-ok{font-size:18px;color:#4cc38a;margin-bottom:6px}
.fb-kv{display:flex;align-items:center;gap:10px;padding:8px 12px;margin-bottom:8px;border-radius:8px;background:#10141b}
.fb-kv span{color:#7c8696;width:52px}.fb-kv b{flex:1;font-family:ui-monospace,monospace;letter-spacing:.04em;user-select:all}
.fb-mini{padding:3px 10px;border:1px solid #2a3340;border-radius:999px;background:#10141b;color:#cfd6e0;font-size:12px;cursor:pointer}
.fb-note{margin:10px 0;padding:8px 12px;border-radius:8px;background:#1d2430;color:#9aa4b4;font-size:12px}.fb-note.warn{background:#3a2f12;color:#f0c96a}
.fb-my{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:10px;font-size:12px;color:#7c8696}
.fb-th{display:flex;flex-direction:column;gap:2px;margin:14px 0 8px}.fb-st{font-size:12px;color:#9aa4b4}.fb-st.s2{color:#4cc38a}.fb-st.s0{color:#f0c96a}
.fb-thread{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.fb-m{max-width:88%;padding:8px 12px;border-radius:10px;background:#1d2430}.fb-m.adm{align-self:flex-end;background:#16365f}
.fb-who{font-size:11px;color:#7c8696;margin-bottom:2px}.fb-txt{white-space:pre-wrap;word-break:break-word}
