:root{--primary: #00f2fe;--secondary: #4facfe;--accent: #ff007a;--bg-dark: #0a0e14;--glass: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--text-main: #e0e6ed;--text-dim: #94a3b8}*{box-sizing:border-box}body{background:var(--bg-dark);color:var(--text-main);font-family:Outfit,sans-serif;margin:0;height:100vh;display:flex;overflow:hidden;background-image:radial-gradient(circle at 20% 30%,rgba(79,172,254,.05) 0%,transparent 40%),radial-gradient(circle at 80% 70%,rgba(255,0,122,.05) 0%,transparent 40%)}#sidebar{width:380px;min-width:380px;background:#0f172acc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--glass-border);display:flex;flex-direction:column;z-index:100;transition:width .3s ease,min-width .3s ease;overflow:hidden}#sidebar{transition:width .3s ease,min-width .3s ease}#sidebar.collapsed{width:0;min-width:0;border-right:none}#sidebar.collapsed .sidebar-header,#sidebar.collapsed #song-list{opacity:0;pointer-events:none}#collapse-btn{color:var(--text-dim);cursor:pointer;padding:10px;transition:transform .3s ease}#collapse-btn:hover{color:var(--primary)}#sidebar.collapsed~#main-content #expand-btn{display:flex}#expand-btn{display:none;position:fixed;top:15px;left:15px;z-index:200;background:#0f172ae6;border:1px solid var(--glass-border);color:var(--text-dim);width:40px;height:40px;border-radius:10px;cursor:pointer;justify-content:center;align-items:center;font-size:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#expand-btn:hover{color:var(--primary);border-color:var(--primary)}.sidebar-header{padding:30px;border-bottom:1px solid var(--glass-border);display:flex;justify-content:space-between;align-items:center}.sidebar-header h2{margin:0;font-weight:800;letter-spacing:2px;background:linear-gradient(to right,var(--primary),var(--secondary));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:1.5rem}#refresh-btn{color:var(--text-dim);cursor:pointer;padding:10px}#refresh-btn:hover{color:var(--primary)}.sidebar-filter{display:flex;align-items:center;gap:8px;padding:8px 15px;margin:0 8px 4px;background:#00000040;border:1px solid var(--glass-border);border-radius:8px}.sidebar-filter i{color:var(--text-dim);font-size:.8rem}.sidebar-filter input{flex:1;background:transparent;border:none;color:var(--text-main);font-size:.85rem;outline:none}.sidebar-filter input::placeholder{color:#94a3b866}#song-list{flex:1;overflow-y:auto;padding:8px}#song-list::-webkit-scrollbar{width:5px}#song-list::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:10px}.song-item{padding:10px 12px;margin-bottom:2px;border-radius:8px;cursor:pointer;background:transparent;border:1px solid transparent;display:flex;align-items:center;gap:10px;transition:background .15s,border-color .15s,opacity .15s;-webkit-user-select:none;user-select:none}.song-item.dragging{opacity:.4}.song-item.drag-over{border-top:2px solid var(--primary)}.song-item:hover{background:#ffffff0f}.song-item:hover .pl-actions{opacity:1}.song-item.active{background:#00f2fe14;border-color:#00f2fe26}.song-item.active .pl-index,.song-item.active .pl-title{color:var(--primary)}.pl-index{width:24px;flex-shrink:0;font-size:.75rem;color:var(--text-dim);text-align:center;font-weight:600;cursor:grab}.pl-index:active{cursor:grabbing}.pl-info{flex:1;min-width:0;overflow:hidden}.pl-title{font-size:.9rem;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-album{font-size:.7rem;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.pl-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s;flex-shrink:0}.pl-btn{background:transparent;border:none;color:var(--text-dim);padding:4px 6px;border-radius:4px;cursor:pointer;font-size:.75rem}.pl-btn{transition:color .15s,background .15s}.pl-btn:hover{color:var(--primary);background:#ffffff14}.pl-status{width:16px;flex-shrink:0;text-align:center}.share-toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:#00f2fe26;border:1px solid var(--primary);color:var(--primary);padding:10px 24px;border-radius:30px;font-size:.85rem;font-weight:600;z-index:9999;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:toastIn .3s ease,toastOut .3s ease 1.7s forwards}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toastOut{to{opacity:0;transform:translate(-50%) translateY(-10px)}}.action-btn{background:#ffffff0d;border:1px solid var(--glass-border);color:var(--text-dim);padding:6px 10px;border-radius:8px;cursor:pointer;font-size:.8rem}.action-btn{transition:background .15s,color .15s,border-color .15s}.action-btn:hover{background:var(--secondary);color:#fff;border-color:var(--primary)}#main-content{flex:1;display:flex;flex-direction:column;position:relative}#karaoke-viewport{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px;text-align:center;background:radial-gradient(circle at center,rgba(79,172,254,.05) 0%,transparent 70%);position:relative;overflow:hidden}.song-info-display{position:absolute;top:20px;left:30px;text-align:left;z-index:1;opacity:.6}.song-info-display .song-title{font-size:1rem;font-weight:700;color:var(--primary);letter-spacing:1px}.song-info-display .song-album{font-size:.75rem;color:var(--text-dim);margin-top:2px}.song-info-display .song-bpm{font-size:.65rem;color:#fff3;margin-top:2px;font-family:monospace}.beat-visualizer{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:0;overflow:hidden}@keyframes beatPulse{0%{transform:scale(.7);opacity:.8}50%{transform:scale(1.5);opacity:.15}to{transform:scale(.7);opacity:.8}}.lyric-line{min-height:80px;width:100%;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;transition:opacity .4s ease,transform .4s ease}#line-active{font-size:3rem;font-weight:800;color:#ffffff26;line-height:1.2;text-shadow:0 0 30px rgba(0,0,0,.6);z-index:1}#line-active .word{display:inline-block;position:relative;transform-origin:center;margin:0 6px;transition:color .15s,text-shadow .15s,transform .15s}#line-active .word.highlight{color:var(--text-main);text-shadow:0 0 25px var(--secondary),0 0 50px rgba(0,242,254,.3);transform:scale(1.1)}.note-guide{width:70%;height:40px;margin:10px 0;z-index:1;border-radius:6px;background:#0003}#line-next{font-size:2.5rem;color:#94a3b840;margin-top:30px;font-weight:600;z-index:1}#player-belt{padding:30px 60px;background:#0f172af2;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-top:1px solid var(--glass-border);display:flex;align-items:center;justify-content:space-between;gap:40px}.playback-controls{display:flex;align-items:center;gap:25px;flex:1}.btn-circle{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));color:var(--bg-dark);border:none;display:flex;align-items:center;justify-content:center;font-size:1.6rem;cursor:pointer;box-shadow:0 8px 32px #00f2fe4d}.btn-circle{transition:transform .2s,box-shadow .2s}.btn-circle:hover{transform:scale(1.1) translateY(-2px);box-shadow:0 12px 40px #00f2fe80}.highlight-selector{display:flex;background:#ffffff08;padding:4px;border-radius:20px;border:1px solid var(--glass-border);gap:2px}.highlight-mode-btn{padding:6px 16px;border-radius:16px;font-size:.7rem;font-weight:700;cursor:pointer;color:var(--text-dim);letter-spacing:.5px;display:flex;align-items:center;gap:6px;border:none;background:transparent}.highlight-mode-btn i{font-size:.65rem}.highlight-mode-btn.active{background:linear-gradient(135deg,#00f2fe26,#4facfe26);color:var(--primary);box-shadow:0 2px 10px #00f2fe26}.highlight-mode-btn:hover:not(.active){background:#ffffff0d;color:var(--text-main)}.mode-selector{display:flex;background:#ffffff08;padding:6px;border-radius:30px;border:1px solid var(--glass-border)}.mode-btn{padding:10px 24px;border-radius:25px;font-size:.85rem;font-weight:700;cursor:pointer;color:var(--text-dim);letter-spacing:1px}.mode-btn{transition:background .2s,color .2s,box-shadow .2s}.mode-btn.active{background:#ffffff1a;color:#fff;box-shadow:0 4px 15px #0000004d}.time-info{font-family:Outfit,sans-serif;color:var(--primary);font-size:1.3rem;font-weight:600;min-width:140px;text-align:center}#progress-container{position:absolute;top:-3px;left:0;right:0;height:6px;background:#ffffff0d;cursor:pointer;overflow:hidden}#progress-bar{height:100%;background:linear-gradient(to right,var(--primary),var(--secondary));width:0%;box-shadow:0 0 20px var(--primary);position:relative}#progress-container{transition:height .15s,top .15s}#progress-container:hover{height:28px;top:-14px}.player-right-controls{display:flex;align-items:center;gap:15px}.volume-control{display:flex;align-items:center;gap:8px;color:var(--text-dim)}.volume-control i{font-size:.9rem;cursor:pointer;width:20px;text-align:center}.volume-control i:hover{color:var(--primary)}.volume-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:80px;height:4px;background:#ffffff26;border-radius:2px;outline:none;cursor:pointer}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--primary);cursor:pointer;box-shadow:0 0 6px #00f2fe66}.btn-icon{background:transparent;border:none;color:var(--text-dim);font-size:1rem;cursor:pointer;padding:8px;border-radius:6px}.btn-icon:hover{color:var(--primary);background:#ffffff0d}body.fullscreen-mode #sidebar,body.fullscreen-mode #player-belt,body.fullscreen-mode #expand-btn{display:none!important}body.fullscreen-mode #karaoke-viewport{padding:40px}#editor-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;display:none;align-items:center;justify-content:center;padding:40px}.editor-container{width:100%;max-width:1400px;height:95vh;background:#0f172a;border-radius:24px;border:1px solid var(--glass-border);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 50px 100px -20px #000000b3}.editor-header{padding:20px 30px;background:#ffffff08;border-bottom:1px solid var(--glass-border);display:flex;justify-content:space-between;align-items:center}.editor-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#111827}.editor-waveform-panel{position:relative;height:80px;flex-shrink:0;background:#0000004d;border-bottom:1px solid var(--glass-border);cursor:pointer}.editor-waveform{width:100%;height:100%;display:block}.editor-playhead{position:absolute;top:0;bottom:0;width:2px;background:var(--primary);box-shadow:0 0 8px var(--primary);left:0;pointer-events:none}#lrc-list-view{flex:1;overflow-y:auto;padding:10px;min-width:0}.editor-playback{display:flex;align-items:center;gap:10px;margin-right:15px;padding-right:15px;border-right:1px solid var(--glass-border)}.editor-playback .action-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center}.editor-footer{padding:20px 30px;display:flex;gap:15px;justify-content:flex-end;background:#ffffff08;border-top:1px solid var(--glass-border)}.btn-pill{padding:12px 30px;border-radius:30px;font-weight:600;cursor:pointer;border:none}.btn-save{background:var(--primary);color:var(--bg-dark)}.btn-cancel{background:#ffffff1a;color:#fff}.lrc-row{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:12px;margin-bottom:6px;background:#ffffff05;transition:background .2s,border-left .2s}.lrc-row:hover{background:#ffffff0d}.lrc-row.active{background:#eab3081a;border-left:4px solid var(--accent)}.lrc-time-box{width:75px;flex-shrink:0;font-family:monospace;color:var(--primary);font-size:.9rem;text-align:center;cursor:pointer}.lrc-text-input{flex:1;background:#0000004d;border:1px solid rgba(255,255,255,.05);color:#fff;padding:8px 12px;border-radius:8px;outline:none;font-size:1rem}.lrc-text-input:focus{border-color:var(--primary);background:#00000080}.lrc-row-btns{display:flex;gap:4px}.small-btn{background:#ffffff0d;border:1px solid rgba(168,85,247,.2);color:var(--text-dim);padding:3px 6px;border-radius:6px;font-size:.65rem;cursor:pointer;min-width:35px}.small-btn{transition:background .15s,color .15s,border-color .15s}.small-btn:hover{background:var(--secondary);color:#fff;border-color:var(--primary)}.play-row-btn{background:#22c55e1a;color:#4ade80;border-color:#22c55e4d}.play-row-btn:hover{background:#22c55e;color:#fff}.lrc-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--primary)}.lrc-bulk-actions{display:flex;align-items:center;gap:10px;margin-right:15px;padding-right:15px;border-right:1px solid var(--glass-border)}.split-btn{background:#a855f71a;color:#a855f7;border-color:#a855f74d}.split-btn:hover{background:#a855f7;color:#fff}.highlight-btn{background:#00f2fe1a;color:var(--primary);border-color:#00f2fe4d}.highlight-btn:hover{background:var(--primary);color:var(--bg-dark)}.offset-tool{display:flex;align-items:center;gap:10px;padding:8px 15px;background:#ffffff0d;border-radius:12px;margin-right:auto}.offset-input{width:60px;background:#0003;border:1px solid var(--glass-border);color:#fff;padding:4px 8px;border-radius:6px;text-align:center}
