:root{ --bg:#000; --fg:#fff; --accent:#2bd; --muted:#9aa0a6; }
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,Roboto,PingFang SC,Helvetica,Arial}
.topbar{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;background:#111;border-bottom:1px solid #222;z-index:10}
.brand{font-weight:700;letter-spacing:.5px}
.controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.controls label{font-size:12px;opacity:.9}
.controls input[type=range]{width:120px}
.controls button{padding:10px 14px;font-size:14px;border:1px solid #333;background:#181818;color:#fff;border-radius:12px;cursor:pointer}
.layout{display:grid;grid-template-columns:320px 1fr;height:calc(100vh - 56px)}
.sidebar{border-right:1px solid #222;overflow:auto}
.upload{display:flex;flex-direction:column;gap:8px;padding:12px;border-bottom:1px solid #222}
.upload input, .upload button{padding:10px;border-radius:10px;border:1px solid #333;background:#181818;color:#fff}
.file-list{list-style:none;margin:0;padding:0}
.file-list li{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid #222}
.file-list li button{padding:6px 10px;border-radius:8px;border:1px solid #333;background:#222;color:#fff;cursor:pointer}
.player{position:relative;display:flex;flex-direction:column;height:100%;padding:0}
.sub-area{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}
.sub-box{width:100%;height:100%;border:1px solid #333;border-radius:16px;background:rgba(0,0,0,.75);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;text-align:center}
.sub-line{max-width:92%;margin:0 auto;white-space:pre-wrap;word-break:break-word}
.sub-current{font-weight:800}
.sub-next{opacity:.65}
#controlsBar{position:sticky;bottom:0;left:0;right:0;border-top:1px solid #222;background:#111;padding:10px 12px;display:flex;align-items:center;gap:10px;z-index:5}
#audio{width:100%;height:52px}
.ctrl-btn{padding:8px 12px;border-radius:10px;border:1px solid #333;background:#181818;color:#fff;cursor:pointer}
.ctrl-btn:active{transform:scale(.98)}
/* 进度条（上传） */
.progress-area{padding:10px;border-bottom:1px solid #222}
.pitem{margin:8px 0}
.phead{display:flex;justify-content:space-between;font-size:12px;opacity:.85;margin-bottom:6px}
.pbar{width:100%;height:10px;border:1px solid #333;border-radius:8px;overflow:hidden;background:#141414}
.pbar > span{display:block;height:100%;width:0%;background:#2bd}
.pmeta{font-size:11px;opacity:.7;margin-top:4px}
.poverall{margin-top:12px}
.footer{padding:8px 12px;border-top:1px solid #222;background:#111;font-size:12px;opacity:.8}
@media (max-width:900px){.layout{grid-template-columns:1fr}}
