/* 门店播放器样式 */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#1A2332;color:#fff;min-height:100vh;display:flex;flex-direction:column;user-select:none}
.store-header{background:#242938;padding:12px 16px;display:flex;align-items:center;gap:16px;border-bottom:1px solid #40A0A020;flex-wrap:wrap}
.store-title{font-size:16px;font-weight:600;display:flex;align-items:center;gap:6px}
.store-info{font-size:12px;color:#A0B0C0;flex:1}
.store-status{display:flex;align-items:center;gap:6px;font-size:12px}
.status-dot{width:8px;height:8px;border-radius:50%;background:#4CAF50;animation:pulse 2s infinite}
.status-dot.offline{background:#F44336;animation:none}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}
.btn-set{background:none;border:none;color:#A0B0C0;font-size:16px;cursor:pointer;padding:4px 8px}
.store-main{flex:1;padding:16px;overflow-y:auto}
.timer-alert{background:#FF980020;border:1px solid #FF980040;border-radius:8px;padding:10px 14px;margin-bottom:12px;font-size:12px;color:#FF9800;display:flex;align-items:center;gap:8px}
.player-card{background:#242938;border-radius:16px;padding:20px;text-align:center;margin-bottom:16px}
.album-cover{width:140px;height:140px;background:linear-gradient(135deg,#40A0A0,#2D7A7A);border-radius:12px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-size:56px}
.song-name{font-size:18px;font-weight:600;margin-bottom:4px}
.song-cat{font-size:12px;color:#40A0A0;margin-bottom:12px}
.progress-bar{height:4px;background:#40A0A030;border-radius:2px;margin-bottom:6px;cursor:pointer}
.progress-fill{height:100%;background:#40A0A0;border-radius:2px;width:0;transition:width .5s}
.time-row{font-size:11px;color:#A0B0C0;display:flex;justify-content:space-between}
.category-section,.playlist-section,.ctrl-section,.status-row{background:#242938;border-radius:12px;padding:14px;margin-bottom:12px}
.section-title{font-size:12px;color:#A0B0C0;margin-bottom:10px;display:flex;justify-content:space-between}
.section-title small{opacity:0.6;font-size:10px}
.cat-list{display:flex;gap:8px;flex-wrap:wrap}
.cat-btn{padding:8px 14px;border-radius:20px;font-size:13px;background:#40A0A015;color:#40A0A0;border:1px solid #40A0A030;cursor:pointer}
.cat-btn.active{background:#40A0A0;color:#fff}
.cat-btn small{font-size:10px;opacity:0.7;margin-left:2px}
.track-item{padding:10px;border-radius:8px;margin-bottom:4px;display:flex;align-items:center;gap:10px;cursor:pointer;background:#242938}
.track-item:hover,.track-item.playing{background:#40A0A015}
.track-item:last-child{margin-bottom:0}
.t-num{width:20px;font-size:12px;color:#A0B0C0;text-align:center}
.t-num.playing{color:#40A0A0;font-weight:600}
.t-info{flex:1;min-width:0}
.t-name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-name.playing{color:#40A0A0}
.t-art{font-size:11px;color:#A0B0C0}
.t-dur{font-size:11px;color:#A0B0C0}
.ctrl-btns{display:flex;justify-content:center;align-items:center;gap:16px;margin-bottom:12px}
.ctrl-sm{width:44px;height:44px;border-radius:50%;border:none;background:#40A0A015;color:#40A0A0;font-size:18px;cursor:pointer}
.ctrl-lg{width:56px;height:56px;border-radius:50%;border:none;background:#40A0A0;color:#fff;font-size:24px;cursor:pointer}
.ctrl-sm:hover,.ctrl-lg:hover{transform:scale(1.05)}
.vol-row{display:flex;align-items:center;gap:10px;padding:0 10px;color:#A0B0C0;font-size:14px}
.vol-bar{flex:1;height:4px;background:#40A0A020;border-radius:2px;cursor:pointer}
.vol-fill{height:100%;background:#A0B0C0;border-radius:2px;width:70%;transition:width .2s}
#volVal{font-size:11px;width:32px;text-align:right}
.status-row{display:flex;justify-content:space-around;text-align:center;padding:12px}
.stat-lbl{font-size:10px;color:#A0B0C0;margin-bottom:2px}
.stat-val{font-size:12px;font-weight:600}
.stat-val.green{color:#4CAF50}
.stat-val.red{color:#F44336}
.store-footer{text-align:center;font-size:10px;color:#555;padding:10px}
.modal{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.8);z-index:100;align-items:center;justify-content:center}
.modal.show{display:flex}
.modal-box{background:#242938;border-radius:16px;padding:24px;width:90%;max-width:360px}
.modal-hd{font-size:18px;font-weight:600;margin-bottom:20px;display:flex;justify-content:space-between}
.modal-close{background:none;border:none;color:#A0B0C0;font-size:24px;cursor:pointer}
.modal-bd{margin-bottom:16px}
.form-item{margin-bottom:14px}
.form-item label{font-size:12px;color:#A0B0C0;display:block;margin-bottom:6px}
.form-item input[type=text]{width:100%;background:#1A2332;border:1px solid #40A0A040;color:#fff;padding:10px;border-radius:6px}
.form-item input[type=range]{width:100%;accent-color:#40A0A0}
.form-item input[type=checkbox]{accent-color:#40A0A0}
.btn-save{width:100%;background:#40A0A0;color:#fff;border:none;padding:12px;border-radius:8px;font-size:16px;cursor:pointer}
.toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);background:#242938;border:1px solid #40A0A0;padding:10px 20px;border-radius:20px;font-size:13px;opacity:0;transition:opacity .3s;pointer-events:none;z-index:200}
.toast.show{opacity:1}
