*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #0a0a0a;--bg-secondary: #181818;--bg-tertiary: #232323;--bg-elevated: #1a1a1a;--bg-card: #181818;--bg-card-hover: #232323;--text-primary: #ffffff;--text-secondary: #b3b3b3;--text-tertiary: #6a6a6a;--accent: #1db954;--accent-hover: #1ed760;--accent-dim: rgba(29,185,84,.15);--error: #ff6b6b;--warning: #ffb347;--border: rgba(255,255,255,.08);--border-strong: rgba(255,255,255,.16);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-full: 999px;--t-fast: .12s cubic-bezier(.4, 0, .2, 1);--t-normal: .18s cubic-bezier(.4, 0, .2, 1);--t-slow: .32s cubic-bezier(.4, 0, .2, 1);--shadow-sm: 0 2px 8px rgba(0,0,0,.3);--shadow-md: 0 4px 16px rgba(0,0,0,.4);--shadow-lg: 0 8px 32px rgba(0,0,0,.5);--shadow-accent: 0 4px 16px rgba(29,185,84,.3)}html,body{margin:0;min-height:100vh;background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.4}body{padding-bottom:env(safe-area-inset-bottom);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;overscroll-behavior-y:contain;text-rendering:optimizeLegibility}*{scrollbar-width:none}*::-webkit-scrollbar{display:none;width:0;height:0}.app{max-width:480px;margin:0 auto;min-height:100vh;padding:var(--sp-4);padding-top:max(var(--sp-4),env(safe-area-inset-top));padding-bottom:calc(96px + env(safe-area-inset-bottom));display:flex;flex-direction:column}.app-header{margin-bottom:var(--sp-4)}.app-title{font-size:28px;font-weight:800;letter-spacing:-.8px;margin-bottom:var(--sp-4);background:linear-gradient(135deg,var(--accent) 0%,#2ee873 50%,var(--accent-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 2px 8px rgba(29,185,84,.2))}.search-wrap{position:relative;margin-bottom:var(--sp-3)}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);font-size:16px;pointer-events:none}.search-input{width:100%;padding:14px 44px;background:var(--bg-secondary);border:1px solid transparent;border-radius:var(--r-lg);color:var(--text-primary);font-size:15px;font-weight:500;outline:none;transition:border-color var(--t-normal),background var(--t-normal),box-shadow var(--t-normal)}.search-input:focus{border-color:var(--accent);background:#1f1f1f;box-shadow:0 0 0 4px #1db95414}.search-input::placeholder{color:var(--text-tertiary);font-weight:400}.search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--text-tertiary);font-size:18px;cursor:pointer;padding:var(--sp-2);display:flex;align-items:center;justify-content:center;border-radius:var(--r-full);transition:color var(--t-fast),background var(--t-fast)}.search-clear:hover{color:var(--text-primary);background:var(--bg-tertiary)}.tabs{display:flex;gap:2px;margin-bottom:var(--sp-4);background:var(--bg-secondary);padding:4px;border-radius:var(--r-lg);overflow-x:auto}.tab{flex:1;min-width:0;padding:10px 6px;background:transparent;border:none;color:var(--text-secondary);font-size:11px;font-weight:600;cursor:pointer;border-radius:var(--r-md);transition:all var(--t-normal);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;position:relative;white-space:nowrap;letter-spacing:.2px}.tab:hover{color:var(--text-primary)}.tab.active{background:var(--bg-tertiary);color:var(--accent);box-shadow:var(--shadow-sm)}.tab-icon{font-size:18px;display:flex;align-items:center;justify-content:center;transition:transform var(--t-normal)}.tab.active .tab-icon{color:var(--accent);transform:scale(1.1)}.tab-label{font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.tab-badge{position:absolute;top:2px;right:4px;background:var(--accent);color:#000;font-size:9px;font-weight:800;padding:1px 5px;border-radius:var(--r-full);min-width:16px;text-align:center;box-shadow:0 2px 6px #1db95466}.content{flex:1;min-height:60vh}.empty-state{padding:80px var(--sp-5);text-align:center;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);animation:fadeIn var(--t-slow)}.empty-icon{font-size:56px;opacity:.4;filter:grayscale(.3)}.empty-state>div:last-child{font-size:14px;max-width:280px;line-height:1.5}.track-list{list-style:none;display:flex;flex-direction:column;gap:2px}.track-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2);border-radius:var(--r-md);cursor:pointer;transition:background var(--t-fast),transform var(--t-fast);position:relative;animation:fadeInUp var(--t-normal);-webkit-user-select:none;user-select:none}.track-item:hover{background:var(--bg-secondary)}.track-item:active{transform:scale(.985);background:var(--bg-tertiary)}.track-item.active{background:var(--bg-tertiary)}.track-item.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;background:var(--accent);border-radius:var(--r-full);box-shadow:0 0 8px var(--accent)}.track-idx{width:28px;text-align:center;font-size:13px;color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:500}.track-item.active .track-idx{color:var(--accent)}.track-num{display:block}.track-icon{font-size:14px;color:var(--accent);display:flex;align-items:center;gap:2px}.track-artwork{width:48px;height:48px;border-radius:var(--r-md);overflow:hidden;background:linear-gradient(135deg,var(--bg-tertiary),var(--bg-secondary));flex-shrink:0;position:relative;box-shadow:var(--shadow-sm)}.track-artwork img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--t-slow)}.track-item:hover .track-artwork img{transform:scale(1.05)}.artwork-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--text-tertiary);background:linear-gradient(135deg,#2a2a2a,#1a1a1a)}.artwork-placeholder.big{font-size:80px}.track-info{flex:1;min-width:0}.track-title{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px;color:var(--text-primary);letter-spacing:-.1px}.track-title.current{color:var(--accent)}.track-artist{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.track-action{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--sp-2);border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;transition:color var(--t-fast),background var(--t-fast),transform var(--t-fast);flex-shrink:0}.track-action:hover{color:var(--text-primary);background:var(--bg-tertiary);transform:scale(1.1)}.track-action:active{transform:scale(.9)}.track-action.fav-active{color:var(--accent);filter:drop-shadow(0 0 6px rgba(29,185,84,.4))}.mini-player{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;background:#141414d9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-top:1px solid var(--border);display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);padding-bottom:calc(var(--sp-2) + env(safe-area-inset-bottom));z-index:100;cursor:pointer;transition:transform var(--t-normal),background var(--t-normal);box-shadow:0 -4px 24px #0006}.mini-player:hover{background:#1c1c1ce6}.mini-player:active{transform:translate(-50%) scale(.99)}.mini-progress-bar{position:absolute;top:0;left:0;height:2px;background:var(--accent);transition:width .1s linear;box-shadow:0 0 8px var(--accent);border-radius:0 var(--r-full) var(--r-full) 0}.mini-artwork{width:44px;height:44px;border-radius:var(--r-md);overflow:hidden;background:var(--bg-tertiary);flex-shrink:0;box-shadow:var(--shadow-sm)}.mini-artwork img{width:100%;height:100%;object-fit:cover;display:block}.mini-info{flex:1;min-width:0}.mini-title{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary);margin-bottom:2px}.mini-artist{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.mini-action{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--sp-2);border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;transition:color var(--t-fast),background var(--t-fast),transform var(--t-fast);flex-shrink:0}.mini-action:hover{color:var(--text-primary);background:var(--bg-tertiary)}.mini-action:active{transform:scale(.9)}.mini-action.play{color:var(--text-primary)}.mini-action.play:hover,.mini-action .fav-active{color:var(--accent)}.mini-action:disabled{opacity:.3;cursor:not-allowed}.discover-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-3)}.discover-title{font-size:22px;font-weight:800;letter-spacing:-.5px;background:linear-gradient(135deg,var(--text-primary) 0%,var(--text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:flex;align-items:center;gap:var(--sp-2)}.discover-refresh{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);width:36px;height:36px;border-radius:var(--r-full);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all var(--t-normal)}.discover-refresh:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--accent);color:var(--accent);transform:rotate(180deg)}.discover-tabs{display:flex;gap:var(--sp-1);margin-bottom:var(--sp-3);background:var(--bg-secondary);padding:4px;border-radius:var(--r-lg)}.discover-tab{flex:1;padding:8px 12px;background:transparent;border:none;color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;border-radius:var(--r-md);transition:all var(--t-normal);white-space:nowrap}.discover-tab:hover{color:var(--text-primary)}.discover-tab.active{background:var(--accent);color:#000;font-weight:700;box-shadow:var(--shadow-accent)}.discover-source{background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-3);font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:var(--sp-2);position:relative;overflow:hidden}.discover-source:before{content:"✨";font-size:16px;flex-shrink:0}.discover-source:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(29,185,84,.04),transparent);pointer-events:none}.genre-browser{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-4)}.genre-category{display:flex;flex-direction:column}.genre-cat-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);cursor:pointer;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:space-between;transition:all var(--t-normal)}.genre-cat-btn:hover{background:var(--bg-tertiary);border-color:var(--border-strong)}.genre-cat-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.genre-count{background:var(--bg-tertiary);color:var(--text-secondary);font-size:11px;font-weight:700;padding:2px 8px;border-radius:var(--r-full)}.genre-cat-btn.active .genre-count{background:var(--accent);color:#000}.subgenre-list{display:flex;flex-wrap:wrap;gap:var(--sp-2);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-4)}.subgenre-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:6px 12px;border-radius:var(--r-full);cursor:pointer;font-size:12px;font-weight:500;transition:all var(--t-fast)}.subgenre-btn:hover{color:var(--text-primary);border-color:var(--border-strong)}.subgenre-btn.active{background:var(--accent);border-color:var(--accent);color:#000;font-weight:700}.mood-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-3)}.mood-chip{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:8px 14px;border-radius:var(--r-full);cursor:pointer;font-size:13px;font-weight:500;transition:all var(--t-normal)}.mood-chip:hover{background:var(--bg-tertiary);border-color:var(--border-strong);transform:translateY(-1px)}.mood-chip:active{transform:translateY(0) scale(.97)}.mood-chip.active{background:var(--accent);border-color:var(--accent);color:#000;font-weight:700;box-shadow:var(--shadow-accent)}.scroll-sentinel{padding:var(--sp-4);text-align:center;color:var(--text-tertiary);font-size:12px;font-weight:500;min-height:40px;display:flex;align-items:center;justify-content:center}.scroll-end{padding:var(--sp-5);text-align:center;color:var(--text-tertiary);font-size:12px;font-weight:500}.skeleton{background:linear-gradient(90deg,var(--bg-secondary) 0%,var(--bg-tertiary) 50%,var(--bg-secondary) 100%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:var(--r-md)}.skeleton-track{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2)}.skeleton-artwork{width:48px;height:48px;border-radius:var(--r-md);flex-shrink:0}.skeleton-line{height:12px;border-radius:var(--r-full);margin-bottom:6px}.skeleton-line.short{width:60%}.skeleton-line.long{width:90%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media (hover: none) and (pointer: coarse){.track-item{padding:10px var(--sp-2)}.track-action{padding:12px}}.app-header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-4)}.app-header-row .app-title{margin-bottom:0}.fullscreen-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);width:36px;height:36px;border-radius:var(--r-full);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all var(--t-normal);flex-shrink:0}.fullscreen-btn:hover{background:var(--bg-tertiary);border-color:var(--accent);color:var(--accent);transform:scale(1.08)}.fullscreen-btn:active{transform:scale(.92)}.app.expanded{max-width:none;padding:var(--sp-5) var(--sp-6)}.app.expanded .track-list,.app.expanded .discover-header,.app.expanded .discover-tabs,.app.expanded .discover-source,.app.expanded .mood-chips,.app.expanded .genre-browser,.app.expanded .playlist-list,.app.expanded .create-playlist-form,.app.expanded .playlist-header{max-width:900px;margin-left:auto;margin-right:auto}:fullscreen .app,:-webkit-full-screen .app{max-width:none;width:100vw;min-height:100vh;padding:var(--sp-5) var(--sp-6)}:fullscreen .mini-player,:-webkit-full-screen .mini-player,.app.expanded .mini-player{max-width:600px;left:50%;transform:translate(-50%)}.kbd-hint{position:fixed;bottom:calc(96px + env(safe-area-inset-bottom));right:var(--sp-4);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);font-size:11px;color:var(--text-tertiary);z-index:50;pointer-events:none;opacity:.5;transition:opacity var(--t-normal)}.kbd-hint:hover{opacity:1}@media (hover: none) and (pointer: coarse){.kbd-hint{display:none}}.fs-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--bg-primary);overflow-y:auto;animation:fadeIn var(--t-normal)}.fs-blurred-bg{position:fixed;top:-40px;right:-40px;bottom:-40px;left:-40px;background-size:cover;background-position:center;filter:blur(80px) saturate(180%);opacity:.5;z-index:0;pointer-events:none}.fs-blurred-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0a0a0a4d,#0a0a0a80);z-index:1;pointer-events:none}.fs-content{position:relative;z-index:2;max-width:600px;margin:0 auto;padding:max(var(--sp-5),env(safe-area-inset-top)) var(--sp-4) calc(var(--sp-6) + env(safe-area-inset-bottom));min-height:100vh;display:flex;flex-direction:column}.fs-close{position:absolute;top:max(var(--sp-3),env(safe-area-inset-top));right:var(--sp-3);background:#0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);color:var(--text-primary);width:36px;height:36px;border-radius:var(--r-full);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all var(--t-normal);z-index:10}.fs-close:hover{background:#0009;border-color:var(--accent);color:var(--accent)}.fs-main{display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);flex:1}.fs-artwork{width:100%;max-width:320px;aspect-ratio:1;border-radius:var(--r-xl);overflow:hidden;background:var(--bg-secondary);box-shadow:0 24px 48px #00000080,0 8px 16px #0000004d;margin-top:var(--sp-5)}.fs-artwork img{width:100%;height:100%;object-fit:cover;display:block;animation:fadeIn var(--t-slow)}.fs-info{width:100%;text-align:center}.fs-title{font-size:22px;font-weight:800;letter-spacing:-.3px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.fs-artist{font-size:15px;color:var(--text-secondary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fs-source-badge{display:inline-block;margin-top:var(--sp-2);padding:3px 10px;background:var(--accent-dim);color:var(--accent);font-size:10px;font-weight:700;border-radius:var(--r-full);text-transform:uppercase;letter-spacing:.5px}.fs-error{margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);color:var(--error);font-size:12px;border-radius:var(--r-md)}.fs-visualizer{width:100%;max-width:400px;height:80px;border-radius:var(--r-md);background:#0003}.fs-progress{width:100%;display:flex;align-items:center;gap:var(--sp-2)}.fs-progress .time{font-size:11px;color:var(--text-secondary);font-variant-numeric:tabular-nums;min-width:36px;font-weight:600}.progress-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;background:linear-gradient(90deg,var(--accent) 0%,var(--accent) var(--progress, 0%),var(--bg-tertiary) var(--progress, 0%),var(--bg-tertiary) 100%);border-radius:var(--r-full);cursor:pointer;outline:none}.progress-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--text-primary);cursor:pointer;box-shadow:0 2px 6px #0006;transition:transform var(--t-fast)}.progress-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.progress-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--text-primary);border:none;cursor:pointer}.fs-controls{display:flex;align-items:center;justify-content:center;gap:var(--sp-4);width:100%}.ctrl{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;width:40px;height:40px;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;font-size:20px;transition:all var(--t-fast)}.ctrl:hover{color:var(--text-primary);transform:scale(1.1)}.ctrl:active{transform:scale(.92)}.ctrl.active{color:var(--accent);filter:drop-shadow(0 0 6px rgba(29,185,84,.4))}.ctrl.play{background:var(--text-primary);color:var(--bg-primary);width:64px;height:64px;font-size:28px;box-shadow:0 8px 24px #ffffff26}.ctrl.play:hover{transform:scale(1.06);background:var(--accent-hover)}.ctrl.play:disabled{opacity:.5;cursor:not-allowed}.fs-secondary{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);width:100%;flex-wrap:wrap}.fs-volume{display:flex;align-items:center;gap:var(--sp-2);width:100%;max-width:240px}.vol-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;background:linear-gradient(90deg,var(--accent) 0%,var(--accent) var(--vol, 70%),var(--bg-tertiary) var(--vol, 70%),var(--bg-tertiary) 100%);border-radius:var(--r-full);cursor:pointer;outline:none}.vol-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--text-primary);cursor:pointer}.vol-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--text-primary);border:none;cursor:pointer}.fs-panel{width:100%;background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4)}.fs-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-3)}.fs-panel-header h4{font-size:14px;font-weight:700;color:var(--text-primary);letter-spacing:.3px;text-transform:uppercase}.eq-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:12px;color:var(--text-secondary)}.eq-toggle input{accent-color:var(--accent)}.eq-presets-row{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3)}.eq-preset-select{flex:1;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:8px 12px;border-radius:var(--r-md);font-size:13px;font-weight:600;cursor:pointer;outline:none}.eq-preset-select:focus{border-color:var(--accent)}.eq-action-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);width:36px;height:36px;border-radius:var(--r-md);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all var(--t-fast)}.eq-action-btn:hover{background:var(--bg-tertiary);color:var(--accent)}.eq-save-form{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-3)}.eq-save-form input{flex:1;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:8px 12px;border-radius:var(--r-md);font-size:13px;outline:none}.eq-save-form input:focus{border-color:var(--accent)}.eq-save-form button{background:var(--accent);color:#000;border:none;padding:8px 16px;border-radius:var(--r-md);font-weight:700;cursor:pointer}.eq-bands{display:grid;grid-template-columns:repeat(10,1fr);gap:var(--sp-1);margin-bottom:var(--sp-3)}.eq-band{display:flex;flex-direction:column;align-items:center;gap:6px}.eq-band-slider{writing-mode:vertical-lr;direction:rtl;width:6px;height:100px;background:transparent;cursor:pointer;accent-color:var(--accent)}.eq-band-slider:disabled{opacity:.3;cursor:not-allowed}.eq-band-value{font-size:10px;color:var(--text-secondary);font-variant-numeric:tabular-nums;font-weight:600}.eq-band-label{font-size:9px;color:var(--text-tertiary);font-weight:600}.eq-reset-btn{width:100%;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);padding:8px;border-radius:var(--r-md);font-size:12px;font-weight:600;cursor:pointer;transition:all var(--t-fast)}.eq-reset-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-2) 0;border-bottom:1px solid var(--border)}.setting-row:last-child{border-bottom:none}.setting-label{font-size:13px;color:var(--text-secondary);font-weight:500}.setting-control{display:flex;align-items:center;gap:var(--sp-2)}.setting-hint{font-size:10px;color:var(--text-tertiary);font-weight:700}.setting-select{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:6px 10px;border-radius:var(--r-md);font-size:12px;cursor:pointer;outline:none}.setting-select:focus{border-color:var(--accent)}.balance-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:120px;height:4px;background:var(--bg-tertiary);border-radius:var(--r-full);cursor:pointer;outline:none}.balance-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent);cursor:pointer}.balance-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--accent);border:none;cursor:pointer}.sleep-remaining{font-size:11px;color:var(--accent);font-variant-numeric:tabular-nums;font-weight:700}@media (min-width: 768px){.fs-content{max-width:800px;padding-top:max(var(--sp-6),env(safe-area-inset-top))}.fs-artwork{max-width:400px}.fs-title{font-size:26px}.fs-artist{font-size:17px}}.app.expanded .fs-content,:fullscreen .fs-content,:-webkit-full-screen .fs-content{max-width:900px}.app.expanded .fs-artwork,:fullscreen .fs-artwork,:-webkit-full-screen .fs-artwork{max-width:420px}.app.expanded .tabs{max-width:600px;margin-left:auto;margin-right:auto}.discover-refresh{background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border:1px solid var(--border);color:var(--text-primary);width:40px;height:40px;border-radius:var(--r-full);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all var(--t-normal);box-shadow:var(--shadow-sm)}.discover-refresh:hover:not(:disabled){background:linear-gradient(135deg,var(--accent),var(--accent-hover));border-color:var(--accent);color:#000;transform:rotate(180deg);box-shadow:var(--shadow-accent)}.discover-refresh:disabled{opacity:.5;cursor:not-allowed}.playlist-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4);gap:var(--sp-3)}.playlist-title{font-size:22px;font-weight:800;letter-spacing:-.5px;color:var(--text-primary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.back-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:8px 14px;border-radius:var(--r-md);cursor:pointer;font-size:13px;font-weight:600;transition:all var(--t-normal)}.back-btn:hover{background:var(--bg-tertiary);border-color:var(--accent);color:var(--accent)}.create-btn{background:var(--accent);color:#000;border:none;padding:8px 16px;border-radius:var(--r-full);cursor:pointer;font-size:13px;font-weight:700;transition:all var(--t-normal);box-shadow:var(--shadow-accent)}.create-btn:hover{background:var(--accent-hover);transform:scale(1.04)}.create-playlist-form{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-4);padding:var(--sp-3);background:var(--bg-secondary);border-radius:var(--r-lg);border:1px solid var(--border)}.create-playlist-form input{flex:1;background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);padding:10px 14px;border-radius:var(--r-md);font-size:14px;outline:none;transition:border-color var(--t-normal)}.create-playlist-form input:focus{border-color:var(--accent)}.create-playlist-form button{background:var(--accent);color:#000;border:none;padding:10px 20px;border-radius:var(--r-md);font-weight:700;cursor:pointer;transition:all var(--t-fast)}.create-playlist-form button:hover{background:var(--accent-hover)}.create-error{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);color:var(--error);padding:var(--sp-3);border-radius:var(--r-md);font-size:13px;margin-bottom:var(--sp-3)}.playlist-list{list-style:none;display:flex;flex-direction:column;gap:var(--sp-2)}.playlist-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--r-lg);cursor:pointer;transition:all var(--t-normal);animation:fadeInUp var(--t-normal)}.playlist-item:hover{background:var(--bg-tertiary);border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.playlist-item:active{transform:translateY(0)}.playlist-icon{width:56px;height:56px;border-radius:var(--r-md);background:linear-gradient(135deg,var(--accent),var(--accent-hover));display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;box-shadow:var(--shadow-accent)}.playlist-info{flex:1;min-width:0}.playlist-name{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playlist-meta{font-size:12px;color:var(--text-secondary);font-weight:500}.playlist-delete{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--sp-2);border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;transition:all var(--t-fast);flex-shrink:0}.playlist-delete:hover{color:var(--error);background:#ff6b6b1a}.fs-secondary{gap:var(--sp-2);flex-wrap:wrap}.fs-like-dislike-group{display:flex;gap:2px;padding:4px;background:var(--bg-secondary);border-radius:var(--r-full);border:1px solid var(--border)}.fs-actions-divider{width:1px;height:32px;background:var(--border);margin:0 var(--sp-1)}.fs-action-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;width:48px;height:48px;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;font-size:22px;transition:all var(--t-normal)}.fs-action-btn:hover{color:var(--text-primary);background:var(--bg-tertiary);transform:scale(1.08)}.fs-action-btn:active{transform:scale(.92)}.fs-action-btn.active{color:var(--accent);filter:drop-shadow(0 0 8px rgba(29,185,84,.4))}.fs-like-dislike-group .fs-action-btn{width:44px;height:44px;font-size:20px}.fs-like-dislike-group .fs-action-btn.like.active{background:var(--accent);color:#000;box-shadow:var(--shadow-accent);filter:none}.fs-like-dislike-group .fs-action-btn.dislike:hover{background:#ff6b6b26;color:var(--error)}.dislike-btn{color:var(--text-secondary)}.app.expanded .tabs{max-width:800px;margin-left:auto;margin-right:auto}.fs-main{gap:var(--sp-3)}.fs-error{margin-top:2px!important;padding:0!important;background:none!important;border:none!important;color:var(--text-tertiary)!important;font-size:11px!important;font-weight:500!important;border-radius:0!important}.lyrics-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#0a0a0af2;backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);display:flex;flex-direction:column;animation:fadeIn var(--t-normal)}.lyrics-content{flex:1;overflow-y:auto;padding:max(var(--sp-4),env(safe-area-inset-top)) var(--sp-4) calc(var(--sp-6) + env(safe-area-inset-bottom));max-width:600px;margin:0 auto;width:100%}.lyrics-sticky-header{position:sticky;top:0;z-index:10;display:flex;justify-content:flex-end;padding:var(--sp-2) 0;margin-bottom:var(--sp-4);background:linear-gradient(180deg,rgba(10,10,10,.9) 0%,transparent 100%)}.lyrics-close{background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);color:var(--text-primary);width:36px;height:36px;border-radius:var(--r-full);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all var(--t-normal)}.lyrics-close:hover{background:#000000b3;border-color:var(--accent);color:var(--accent)}.lyrics-title{font-size:24px;font-weight:800;letter-spacing:-.5px;margin-bottom:4px;text-align:center;color:var(--text-primary)}.lyrics-artist{font-size:15px;color:var(--text-secondary);text-align:center;margin-bottom:var(--sp-5);font-weight:500}.lyrics-loading,.lyrics-empty{text-align:center;padding:var(--sp-5);color:var(--text-tertiary);font-size:14px}.lyrics-synced,.lyrics-plain{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4) 0 var(--sp-6)}.lyric-line{font-size:18px;font-weight:600;text-align:center;color:var(--text-tertiary);transition:all var(--t-normal);padding:var(--sp-1) var(--sp-4);line-height:1.4}.lyric-line.active{color:var(--accent);font-size:22px;font-weight:800;transform:scale(1.04);filter:drop-shadow(0 0 12px rgba(29,185,84,.4))}.queue-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;animation:fadeIn var(--t-normal)}.queue-content{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-xl) var(--r-xl) 0 0;width:100%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;padding:var(--sp-4);padding-bottom:calc(var(--sp-4) + env(safe-area-inset-bottom));animation:slideUp var(--t-normal);box-shadow:0 -8px 32px #00000080}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.queue-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4);padding-bottom:var(--sp-3);border-bottom:1px solid var(--border)}.queue-header h3{font-size:18px;font-weight:800;color:var(--text-primary)}.queue-header button{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);width:32px;height:32px;border-radius:var(--r-full);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--t-fast)}.queue-header button:hover{color:var(--text-primary);background:var(--bg-tertiary)}.queue-section{margin-bottom:var(--sp-3)}.queue-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin-bottom:var(--sp-2)}.queue-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-2)}.queue-clear-btn{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:4px 12px;border-radius:var(--r-full);font-size:11px;font-weight:600;cursor:pointer;transition:all var(--t-fast)}.queue-clear-btn:hover{color:var(--error);border-color:var(--error);background:#ff6b6b1a}.queue-list{overflow-y:auto;display:flex;flex-direction:column;gap:2px;flex:1;min-height:0}.queue-item{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2);border-radius:var(--r-md);cursor:pointer;transition:background var(--t-fast)}.queue-item:hover{background:var(--bg-secondary)}.queue-item.current{background:var(--bg-tertiary)}.queue-artwork{width:40px;height:40px;border-radius:var(--r-sm);overflow:hidden;background:var(--bg-secondary);flex-shrink:0}.queue-artwork img{width:100%;height:100%;object-fit:cover}.queue-info{flex:1;min-width:0}.queue-title{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-item.current .queue-title{color:var(--accent)}.queue-artist{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-empty{text-align:center;padding:var(--sp-5);color:var(--text-tertiary);font-size:13px}.queue-remove-btn{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--sp-2);border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;transition:all var(--t-fast)}.queue-remove-btn:hover{color:var(--error);background:#ff6b6b1a}.drag-handle{color:var(--text-tertiary);cursor:grab;font-size:16px}.playing-indicator{display:flex;gap:2px;align-items:flex-end;height:16px}.playing-indicator span{width:3px;background:var(--accent);border-radius:var(--r-full);animation:barPulse .8s ease-in-out infinite}.playing-indicator span:nth-child(1){height:60%;animation-delay:0s}.playing-indicator span:nth-child(2){height:100%;animation-delay:.2s}.playing-indicator span:nth-child(3){height:70%;animation-delay:.4s}@keyframes barPulse{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}.track-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;animation:fadeIn var(--t-normal)}.track-menu{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-xl) var(--r-xl) 0 0;width:100%;max-width:500px;max-height:80vh;overflow-y:auto;padding:var(--sp-4);padding-bottom:calc(var(--sp-4) + env(safe-area-inset-bottom));animation:slideUp var(--t-normal);box-shadow:0 -8px 32px #00000080}.track-menu-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--sp-4);padding-bottom:var(--sp-3);border-bottom:1px solid var(--border);gap:var(--sp-2)}.track-menu-title{font-size:16px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-menu-close{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);width:32px;height:32px;border-radius:var(--r-full);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--t-fast)}.track-menu-close:hover{color:var(--text-primary);background:var(--bg-tertiary)}.track-menu-section{margin-bottom:var(--sp-3)}.track-menu-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin-bottom:var(--sp-2)}.track-menu-loading,.track-menu-empty{padding:var(--sp-3);text-align:center;color:var(--text-tertiary);font-size:13px}.track-menu-list{list-style:none;display:flex;flex-direction:column;gap:2px}.track-menu-item{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);cursor:pointer;transition:background var(--t-fast)}.track-menu-icon{color:var(--text-secondary);font-size:16px;flex-shrink:0}.track-menu-name{flex:1;font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-menu-count{font-size:11px;color:var(--text-tertiary);font-weight:600}.track-menu-added{color:var(--accent);font-weight:700}.track-menu-notinterested{width:100%;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:var(--sp-3);border-radius:var(--r-md);cursor:pointer;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:var(--sp-2);transition:all var(--t-fast)}.track-menu-notinterested:hover{background:#ff6b6b1a;border-color:var(--error);color:var(--error)}.track-menu-undo{text-align:center;padding:var(--sp-5) var(--sp-3)}.track-menu-undo-icon{font-size:40px;margin-bottom:var(--sp-3);opacity:.6}.track-menu-undo-text{font-size:15px;color:var(--text-secondary);margin-bottom:var(--sp-4);font-weight:500}.track-menu-undo-btn{background:var(--accent);color:#000;border:none;padding:10px 24px;border-radius:var(--r-full);cursor:pointer;font-size:14px;font-weight:700;transition:all var(--t-fast);box-shadow:var(--shadow-accent)}.track-menu-undo-btn:hover{background:var(--accent-hover);transform:scale(1.04)}.history-view{display:flex;flex-direction:column;gap:var(--sp-4)}.history-group{display:flex;flex-direction:column;gap:var(--sp-1)}.history-group-title{font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.8px;padding:var(--sp-2) var(--sp-2) var(--sp-1);border-bottom:1px solid var(--border);margin-bottom:var(--sp-1)}.fs-dislike-undo{position:fixed;bottom:calc(var(--sp-4) + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-full);padding:var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-4);display:flex;align-items:center;gap:var(--sp-3);z-index:1200;box-shadow:var(--shadow-lg);animation:fadeInUp var(--t-normal);max-width:90%}.fs-dislike-text{font-size:13px;color:var(--text-secondary);font-weight:500;white-space:nowrap}.fs-dislike-undo-btn{background:var(--accent);color:#000;border:none;padding:6px 16px;border-radius:var(--r-full);cursor:pointer;font-size:13px;font-weight:700;transition:all var(--t-fast);white-space:nowrap}.fs-dislike-undo-btn:hover{background:var(--accent-hover);transform:scale(1.04)}.track-menu:before,.queue-content:before{content:"";display:block;width:36px;height:4px;background:var(--text-tertiary);border-radius:var(--r-full);margin:0 auto var(--sp-3);opacity:.4;flex-shrink:0}.track-menu,.track-menu-header{padding-top:var(--sp-2)}.track-menu-title{font-size:17px;font-weight:700}.track-menu-artist{font-size:13px;color:var(--text-secondary);margin-top:2px}.track-menu-item{padding:var(--sp-3);border-radius:var(--r-md)}.track-menu-item:hover{background:var(--bg-secondary)}.track-menu-notinterested{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);font-size:14px;font-weight:600;padding:var(--sp-3);border-radius:var(--r-md);background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;transition:all var(--t-fast);width:100%}.track-menu-notinterested:hover{background:#ff6b6b1a;border-color:#ff6b6b4d;color:var(--error)}.track-menu-notinterested svg{font-size:18px}.app.expanded .genre-browser,:fullscreen .genre-browser,:-webkit-full-screen .genre-browser{max-width:800px;margin-left:auto;margin-right:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-2)}.app.expanded .genre-category,:fullscreen .genre-category,:-webkit-full-screen .genre-category{margin-bottom:0}.app.expanded .content,:fullscreen .content,:-webkit-full-screen .content{max-width:900px;margin:0 auto;width:100%}@media (max-width: 400px){.tab-label{display:none}.tab{padding:10px 4px}.tab-icon{font-size:20px}}:fullscreen .app,:-webkit-full-screen .app{padding-top:max(var(--sp-6),env(safe-area-inset-top))}.track-action.dislike{opacity:.6}.track-action.dislike:hover{opacity:1;color:var(--error);background:#ff6b6b1a}.track-list-toast{position:fixed;bottom:calc(96px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-full);padding:var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-4);display:flex;align-items:center;gap:var(--sp-3);z-index:1200;box-shadow:var(--shadow-lg);animation:fadeInUp var(--t-normal);max-width:90%}.track-list-toast span{font-size:13px;color:var(--text-secondary);font-weight:500;white-space:nowrap}.track-list-toast button{background:var(--accent);color:#000;border:none;padding:6px 16px;border-radius:var(--r-full);cursor:pointer;font-size:13px;font-weight:700;white-space:nowrap;transition:all var(--t-fast)}.track-list-toast button:hover{background:var(--accent-hover);transform:scale(1.04)}.app.expanded .search-wrap,:fullscreen .search-wrap,:-webkit-full-screen .search-wrap{max-width:600px;margin-left:auto;margin-right:auto}.app.expanded .history-view,.app.expanded .history-group,.app.expanded .history-group-title,:fullscreen .history-view,:fullscreen .history-group,:fullscreen .history-group-title,:-webkit-full-screen .history-view,:-webkit-full-screen .history-group,:-webkit-full-screen .history-group-title{max-width:900px;margin-left:auto;margin-right:auto}.app.expanded .empty-state,:fullscreen .empty-state,:-webkit-full-screen .empty-state{max-width:600px;margin-left:auto;margin-right:auto}.tabs{gap:4px}.tab{padding:10px 8px}.app.expanded .playlist-header,.app.expanded .playlist-list,.app.expanded .create-playlist-form,:fullscreen .playlist-header,:fullscreen .playlist-list,:fullscreen .create-playlist-form,:-webkit-full-screen .playlist-header,:-webkit-full-screen .playlist-list,:-webkit-full-screen .create-playlist-form{max-width:900px;margin-left:auto;margin-right:auto}.import-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;animation:fadeIn var(--t-normal)}.import-content{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-xl) var(--r-xl) 0 0;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;padding:var(--sp-4);padding-bottom:calc(var(--sp-4) + env(safe-area-inset-bottom));animation:slideUp var(--t-normal);box-shadow:0 -8px 32px #00000080}.import-content:before{content:"";display:block;width:36px;height:4px;background:var(--text-tertiary);border-radius:var(--r-full);margin:0 auto var(--sp-3);opacity:.4}.import-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4);padding-bottom:var(--sp-3);border-bottom:1px solid var(--border)}.import-header h3{font-size:18px;font-weight:800;color:var(--text-primary)}.import-close{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);width:32px;height:32px;border-radius:var(--r-full);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--t-fast)}.import-close:hover{color:var(--text-primary);background:var(--bg-tertiary)}.import-section{margin-bottom:var(--sp-4)}.import-label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:var(--sp-2);font-weight:500}.import-textarea{width:100%;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-primary);padding:var(--sp-3);font-size:13px;font-family:inherit;outline:none;resize:vertical;min-height:100px;transition:border-color var(--t-normal)}.import-textarea:focus{border-color:var(--accent)}.import-file-row{display:flex;gap:var(--sp-2);margin-top:var(--sp-2)}.import-btn{flex:1;background:var(--accent);color:#000;border:none;padding:var(--sp-3);border-radius:var(--r-md);font-size:14px;font-weight:700;cursor:pointer;transition:all var(--t-fast)}.import-btn:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.02)}.import-btn:disabled{opacity:.5;cursor:not-allowed}.import-btn.secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);flex:0 0 auto;padding:var(--sp-3) var(--sp-4)}.import-btn.secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--accent)}.import-stats{display:flex;gap:var(--sp-3);margin-bottom:var(--sp-3);font-size:13px;font-weight:600}.stat-found{color:var(--accent)}.stat-notfound{color:var(--text-tertiary)}.import-track-list{display:flex;flex-direction:column;gap:var(--sp-2);max-height:300px;overflow-y:auto}.import-track-item{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3)}.import-track-input{font-size:12px;color:var(--text-secondary);font-weight:600;margin-bottom:var(--sp-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.import-track-searching{font-size:12px;color:var(--text-tertiary)}.import-track-notfound{font-size:12px;color:var(--error)}.import-track-matches{display:flex;flex-direction:column;gap:2px}.import-match{background:transparent;border:1px solid transparent;border-radius:var(--r-sm);padding:4px 8px;cursor:pointer;text-align:left;transition:all var(--t-fast)}.import-match:hover{background:var(--bg-tertiary)}.import-match.selected{background:var(--accent-dim);border-color:var(--accent)}.import-match-title{font-size:12px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.import-match.selected .import-match-title{color:var(--accent)}.import-match-artist{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.import-actions{display:flex;gap:var(--sp-2);margin-top:var(--sp-3)}.import-playlist-name{flex:1;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-primary);padding:var(--sp-3);font-size:14px;outline:none}.import-playlist-name:focus{border-color:var(--accent)}.import-error{margin-top:var(--sp-2);color:var(--error);font-size:13px;text-align:center}.import-result{text-align:center;padding:var(--sp-5)}.import-result-icon{font-size:48px;color:var(--accent);margin-bottom:var(--sp-3)}.import-result-text{font-size:15px;color:var(--text-secondary);margin-bottom:var(--sp-4);line-height:1.5}.import-btn-header{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:8px 14px;border-radius:var(--r-full);cursor:pointer;font-size:13px;font-weight:600;transition:all var(--t-normal)}.import-btn-header:hover{background:var(--bg-tertiary);border-color:var(--accent);color:var(--accent)}.app.expanded .import-content,:fullscreen .import-content,:-webkit-full-screen .import-content{max-width:700px}.import-playlist-select{margin-bottom:var(--sp-3)}.import-playlist-dropdown{width:100%;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:var(--sp-3);border-radius:var(--r-md);font-size:14px;font-weight:600;cursor:pointer;outline:none;margin-bottom:var(--sp-2)}.import-playlist-dropdown:focus{border-color:var(--accent)}.fs-layout{position:relative;z-index:2;display:flex;gap:var(--sp-4);width:100%;max-width:1200px;margin:0 auto;min-height:100vh;padding:max(var(--sp-4),env(safe-area-inset-top)) var(--sp-4) calc(var(--sp-6) + env(safe-area-inset-bottom))}.fs-center{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);min-width:0}.fs-side{width:340px;flex-shrink:0;background:#0000004d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--r-xl);display:flex;flex-direction:column;overflow:hidden}.fs-side-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.fs-side-tab{flex:1;padding:var(--sp-3) var(--sp-2);background:transparent;border:none;color:var(--text-secondary);font-size:12px;font-weight:700;cursor:pointer;transition:all var(--t-fast);border-bottom:2px solid transparent;text-transform:uppercase;letter-spacing:.5px}.fs-side-tab:hover{color:var(--text-primary)}.fs-side-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.fs-side-content{flex:1;overflow-y:auto;padding:var(--sp-3)}.fs-side-queue-section{margin-bottom:var(--sp-3)}.fs-side-queue-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin-bottom:var(--sp-2);padding:0 var(--sp-1)}.fs-side-queue-item{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2);border-radius:var(--r-md);cursor:pointer;transition:background var(--t-fast)}.fs-side-queue-item:hover{background:var(--bg-secondary)}.fs-side-queue-item.current{background:var(--bg-tertiary)}.fs-side-queue-artwork{width:36px;height:36px;border-radius:var(--r-sm);overflow:hidden;flex-shrink:0;background:var(--bg-secondary)}.fs-side-queue-artwork img{width:100%;height:100%;object-fit:cover}.fs-side-queue-info{flex:1;min-width:0}.fs-side-queue-title-text{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fs-side-queue-item.current .fs-side-queue-title-text{color:var(--accent)}.fs-side-queue-artist{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fs-side-queue-remove{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;transition:all var(--t-fast);flex-shrink:0}.fs-side-queue-remove:hover{color:var(--error);background:#ff6b6b1a}.fs-side-lyrics{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-2) 0}.fs-side-lyric-line{font-size:14px;font-weight:600;text-align:center;color:var(--text-tertiary);transition:all var(--t-normal);padding:2px var(--sp-2);line-height:1.4}.fs-side-lyric-line.active{color:var(--accent);font-size:16px;font-weight:800;filter:drop-shadow(0 0 6px rgba(29,185,84,.3))}.fs-side-lyrics-empty{text-align:center;padding:var(--sp-4);color:var(--text-tertiary);font-size:13px}.fs-settings-subtabs{display:flex;gap:2px;background:var(--bg-secondary);padding:3px;border-radius:var(--r-md);margin-bottom:var(--sp-3)}.fs-settings-subtab{flex:1;padding:6px 8px;background:transparent;border:none;color:var(--text-secondary);font-size:11px;font-weight:700;cursor:pointer;border-radius:var(--r-sm);transition:all var(--t-fast);text-transform:uppercase}.fs-settings-subtab.active{background:var(--bg-tertiary);color:var(--accent)}.fs-visualizer{width:100%;max-width:500px;height:120px;border-radius:var(--r-lg);background:#00000026}.fs-controls .ctrl.play{width:72px;height:72px;font-size:32px;background:var(--text-primary);color:var(--bg-primary);box-shadow:0 8px 32px #ffffff1f,0 0 #1db95466;transition:all var(--t-normal)}.fs-controls .ctrl.play:hover{transform:scale(1.06);box-shadow:0 12px 40px #fff3,0 0 0 4px #1db95426}.fs-controls .ctrl{width:44px;height:44px;font-size:22px}.fs-secondary .fs-action-btn{width:52px;height:52px;font-size:24px}@media (min-width: 1024px){.fs-layout{gap:var(--sp-5);padding-top:max(var(--sp-5),env(safe-area-inset-top))}.fs-artwork{max-width:380px}}@media (max-width: 1023px){.fs-side{display:none}}@media (max-width: 768px){.fs-layout{padding:max(var(--sp-3),env(safe-area-inset-top)) var(--sp-3) calc(var(--sp-5) + env(safe-area-inset-bottom))}.fs-artwork{max-width:280px}.fs-visualizer{height:80px}.fs-controls .ctrl.play{width:64px;height:64px;font-size:28px}}.app.expanded .fs-layout,:fullscreen .fs-layout,:-webkit-full-screen .fs-layout{max-width:1400px}.fs-artwork{transition:transform var(--t-slow),box-shadow var(--t-slow);box-shadow:0 32px 64px #00000080,0 16px 32px #0000004d}.fs-artwork img{transition:opacity .3s ease}.fs-artwork:hover{transform:scale(1.02)}.fs-action-btn[title]{position:relative}.fs-visualizer.paused{opacity:.3;transition:opacity var(--t-slow)}.discover-sections{display:flex;flex-direction:column;gap:var(--sp-5);margin-bottom:var(--sp-4)}.discover-section{display:flex;flex-direction:column;gap:var(--sp-2)}.discover-section-header{padding:0 var(--sp-1)}.discover-section-title{font-size:17px;font-weight:800;color:var(--text-primary);letter-spacing:-.3px}.discover-section-desc{font-size:12px;color:var(--text-secondary);margin-top:2px;font-weight:500}.discover-section-scroll{display:flex;gap:var(--sp-3);overflow-x:auto;scroll-snap-type:x proximity;padding:var(--sp-1) 0 var(--sp-2);-webkit-overflow-scrolling:touch}.discover-card{flex:0 0 auto;width:140px;cursor:pointer;transition:transform var(--t-fast);scroll-snap-align:start}.discover-card:hover{transform:translateY(-2px)}.discover-card:active{transform:scale(.97)}.discover-card-artwork{width:140px;height:140px;border-radius:var(--r-lg);overflow:hidden;background:var(--bg-secondary);margin-bottom:var(--sp-2);box-shadow:var(--shadow-sm)}.discover-card-artwork img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--t-slow)}.discover-card:hover .discover-card-artwork img{transform:scale(1.08)}.discover-card-title{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.discover-card-artist{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.app.expanded .discover-sections,:fullscreen .discover-sections,:-webkit-full-screen .discover-sections{max-width:900px;margin:0 auto var(--sp-4)}.app.expanded .discover-card,:fullscreen .discover-card,:-webkit-full-screen .discover-card{width:160px}.app.expanded .discover-card-artwork,:fullscreen .discover-card-artwork,:-webkit-full-screen .discover-card-artwork{width:160px;height:160px}.discover-card-menu{position:absolute;top:8px;right:8px;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;color:var(--text-secondary);width:28px;height:28px;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity var(--t-fast);font-size:16px}.discover-card{position:relative}.discover-card:hover .discover-card-menu{opacity:1}.discover-card-menu:hover{color:var(--text-primary);background:#000c}.discover-section-sentinel{flex:0 0 auto;width:40px;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--text-tertiary)}.discover-section-scroll{overflow-x:scroll!important;scrollbar-width:thin!important;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.discover-section-scroll::-webkit-scrollbar{display:block!important;height:6px;width:6px}.discover-section-scroll::-webkit-scrollbar-track{background:#ffffff0d;border-radius:var(--r-full)}.discover-section-scroll::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:var(--r-full)}.discover-section-scroll::-webkit-scrollbar-thumb:hover{background:var(--accent)}.discover-section-scroll::-webkit-scrollbar{height:8px}.discover-section-scroll::-webkit-scrollbar-track{background:#ffffff08;border-radius:999px;margin:0 4px}.discover-section-scroll::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--accent),var(--accent-hover));border-radius:999px;border:2px solid transparent;background-clip:padding-box}.discover-section-scroll::-webkit-scrollbar-thumb:hover{background:var(--accent-hover);background-clip:padding-box;border:1px solid transparent}.discover-section-sentinel{flex:0 0 auto;width:60px;height:100%;min-height:140px;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--text-tertiary);opacity:.4}.discover-section-scroll::-webkit-scrollbar{height:3px!important}.discover-section-scroll::-webkit-scrollbar-track{background:transparent!important}.discover-section-scroll::-webkit-scrollbar-thumb{background:#ffffff1a!important;border-radius:999px!important;border:none!important}.discover-section-scroll::-webkit-scrollbar-thumb:hover{background:#1db95480!important}.carousel-wrapper{position:relative}.carousel-scroll{display:flex;gap:var(--sp-3);overflow-x:auto;scrollbar-width:none;-moz-scrollbar-width:none;scroll-snap-type:x proximity;cursor:grab;-webkit-overflow-scrolling:touch;padding-bottom:2px}.carousel-scroll::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}.carousel-scroll>*{scroll-snap-align:start}.carousel-indicator{height:2px;background:#ffffff0f;border-radius:999px;margin-top:var(--sp-2);position:relative;overflow:hidden}.carousel-indicator-thumb{position:absolute;height:100%;background:var(--accent);border-radius:999px;transition:left .15s ease-out,width .15s ease-out;opacity:.7}.carousel-indicator:hover .carousel-indicator-thumb{opacity:1}@media (hover: none) and (pointer: coarse){.carousel-indicator{display:none}}.fs-mobile-panel{display:none}@media (max-width: 1023px){.fs-mobile-panel{display:block;width:100%;max-width:500px;margin:0 auto;background:#0006;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-3);margin-top:var(--sp-3);max-height:50vh;overflow-y:auto;animation:fadeInUp var(--t-normal)}}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1150;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;animation:fadeIn var(--t-normal)}.settings-bottom-sheet{min-height:300px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--r-xl) var(--r-xl) 0 0;width:100%;max-width:500px;max-height:75vh;overflow-y:auto;padding:var(--sp-4);padding-bottom:calc(var(--sp-4) + env(safe-area-inset-bottom));animation:slideUp var(--t-normal);box-shadow:0 -8px 32px #00000080;position:relative}.settings-sheet-handle{width:36px;height:4px;background:var(--text-tertiary);border-radius:var(--r-full);margin:0 auto var(--sp-3);opacity:.4}.settings-close-btn{position:absolute;top:var(--sp-3);right:var(--sp-3);background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);width:32px;height:32px;border-radius:var(--r-full);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all var(--t-fast)}.settings-close-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.fs-action-btn:focus{outline:none}.fs-action-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-full)}.settings-bottom-sheet .fs-settings-subtabs{margin-top:var(--sp-2)}.admin-view{max-width:900px;margin:0 auto}.admin-header h2{font-size:22px;font-weight:800;color:var(--text-primary);margin-bottom:var(--sp-4)}.admin-tabs{display:flex;gap:4px;margin-bottom:var(--sp-4);background:var(--bg-secondary);padding:4px;border-radius:var(--r-lg)}.admin-tab{flex:1;padding:10px;background:transparent;border:none;color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;border-radius:var(--r-md);transition:all var(--t-fast)}.admin-tab.active{background:var(--accent);color:#000}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--sp-3)}.admin-stat-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4);text-align:center}.admin-stat-value{font-size:28px;font-weight:800;color:var(--accent);margin-bottom:4px}.admin-stat-label{font-size:12px;color:var(--text-secondary);font-weight:500}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{text-align:left;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);color:var(--text-secondary);font-weight:700;font-size:11px;text-transform:uppercase}.admin-table td{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);color:var(--text-primary)}.admin-table tr:hover td{background:var(--bg-secondary)}.admin-monitoring{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--sp-3)}:root{--tg-theme-bg-color: #0a0a0a !important;--tg-theme-text-color: #ffffff !important;--tg-theme-secondary-bg-color: #181818 !important;--tg-theme-hint-color: #b3b3b3 !important;--tg-theme-button-color: #1db954 !important;--tg-theme-button-text-color: #000000 !important;--tg-theme-destructive-text-color: #ff6b6b !important}html,body{background:#0a0a0a!important;color:#fff!important}.app,.app *,.content,.content *{color:var(--text-primary)}.track-title,.track-artist,.mini-title,.mini-artist,.fs-title,.fs-artist,.discover-title,.playlist-title,.admin-header h2,.lyrics-title,.lyrics-artist,.queue-title,.queue-artist,.tab-label,.discover-tab,.discover-section-title,.discover-card-title,.discover-card-artist,.track-menu-title,.track-menu-artist,.fs-side-queue-title-text{color:var(--text-primary)!important}.track-artist,.mini-artist,.fs-artist,.track-menu-artist,.fs-side-queue-artist,.discover-card-artist,.discover-section-desc,.tab-label,.discover-tab,.setting-label,.setting-hint{color:var(--text-secondary)!important}.tabs{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}@media (max-width: 480px){.tab{padding:8px 4px;min-width:0;flex:1 1 0}.tab-icon{font-size:16px}.tab-label{font-size:9px}.discover-tab{padding:6px 8px;font-size:11px}.app-title{font-size:22px}.app{padding:12px 12px 90px}.track-item{padding:6px;gap:8px}.track-artwork{width:40px;height:40px}.track-title{font-size:13px}.track-artist{font-size:11px}.track-action{padding:8px}.mini-player{padding:8px;gap:8px}.mini-artwork{width:36px;height:36px}.mini-title{font-size:12px}.mini-artist{font-size:10px}.mini-action{width:32px;height:32px;font-size:16px}.ctrl{width:36px;height:36px;font-size:18px}.ctrl.play{width:56px;height:56px;font-size:24px}.fs-action-btn{width:44px;height:44px;font-size:20px}}:root{--tg-theme-bg-color: #0a0a0a !important;--tg-theme-text-color: #ffffff !important;--tg-theme-secondary-bg-color: #181818 !important;--tg-theme-hint-color: #b3b3b3 !important;--tg-theme-button-color: #1db954 !important;--tg-theme-button-text-color: #000000 !important;--tg-theme-destructive-text-color: #ff6b6b !important;--tg-theme-accent-text-color: #1db954 !important;--tg-theme-section-bg-color: #181818 !important;--tg-theme-section-header-text-color: #1db954 !important;--tg-theme-subtitle-text-color: #b3b3b3 !important;--tg-theme-link-color: #1db954 !important}body{background:#0a0a0a!important;color:#fff!important}body{overflow-x:hidden;max-width:100vw}.admin-refresh-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);padding:6px 14px;border-radius:var(--r-full);cursor:pointer;font-size:12px;font-weight:600;pointer-events:auto;position:relative;z-index:10;transition:all var(--t-fast)}.admin-refresh-btn:hover{background:var(--bg-tertiary);border-color:var(--accent);color:var(--accent)}.admin-refresh-btn:active{transform:scale(.95)}:root{color-scheme:dark;-webkit-color-scheme:dark}html,body,#root{color-scheme:dark;background-color:#0a0a0a;color:#fff}:root{--tg-theme-bg-color: #0a0a0a;--tg-theme-text-color: #ffffff;--tg-theme-hint-color: #a0a0a0;--tg-theme-link-color: #1db954;--tg-theme-button-color: #1db954;--tg-theme-button-text-color: #ffffff;--tg-theme-secondary-bg-color: #181818;--tg-viewport-separator-color: rgba(255, 255, 255, .08)}input,select,textarea,button{color:#fff;background-color:transparent;border-color:#ffffff1f;-webkit-text-fill-color:#ffffff}input[type=text],input[type=search],input[type=email],input[type=password],input[type=url],input[type=tel],input[type=number],textarea,select{background-color:#181818;color:#fff;-webkit-text-fill-color:#ffffff}select option,select optgroup{background-color:#181818;color:#fff}input::placeholder,textarea::placeholder{color:#6b6b6b;-webkit-text-fill-color:#6b6b6b}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;height:16px}input[type=range]::-webkit-slider-runnable-track{background:#ffffff2e;height:4px;border-radius:2px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#1db954;margin-top:-5px;border:none}input[type=range]::-moz-range-track{background:#ffffff2e;height:4px;border-radius:2px}input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#1db954;border:none}input[type=checkbox],input[type=radio]{accent-color:#1db954}progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff1f;border:none;height:4px;border-radius:2px;color:#1db954}progress::-webkit-progress-bar{background:#ffffff1f;border-radius:2px}progress::-webkit-progress-value{background:#1db954;border-radius:2px}progress::-moz-progress-bar{background:#1db954;border-radius:2px}button{background-color:transparent;color:inherit;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff59}.fullscreen-player{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.card,.surface,.panel,.list-item,.track-item,.playlist-card,.section-card,.queue-item,.history-item,.search-result{background-color:#181818;color:#fff}.header,.nav-bar,.bottom-nav,.tab-bar,.top-bar,.toolbar,.app-header{background-color:#0a0a0a;color:#fff}.track-title,.track-artist,.player-title,.player-artist,.section-title,.page-title,.modal-title{color:#fff}.track-artist,.player-artist,.secondary-text,.hint-text{color:#a0a0a0}.tab-button,.nav-tab,.discover-tab{color:#a0a0a0;background:transparent;border:none}.tab-button.active,.tab-button[aria-selected=true],.nav-tab.active,.discover-tab.active{color:#1db954;background:#1db9541a}@media (max-width: 430px){.track-list,.queue,.history-list{padding:0 12px}.track-item,.queue-item,.history-item{padding:8px 4px;gap:10px}.track-cover,.queue-cover{width:48px;height:48px;min-width:48px}.track-title{font-size:14px}.track-artist{font-size:12px}.track-duration{font-size:11px;color:#a0a0a0}.header,.app-header{padding:10px 12px}.section-title{font-size:18px}.nav-tabs,.discover-tabs{gap:4px;padding:0 8px}.tab-button,.nav-tab{padding:6px 10px;font-size:13px}}@media (max-width: 412px){.track-list{padding:0 10px}.track-cover{width:44px;height:44px}}@media (max-width: 390px){.track-list{padding:0 10px}.track-cover{width:44px;height:44px}.track-title{font-size:13px}.tab-button,.nav-tab{padding:6px 8px;font-size:12px}}@media (max-width: 375px){.track-list{padding:0 8px}.track-cover{width:40px;height:40px}.track-title{font-size:13px}.track-artist{font-size:11px}.tab-button,.nav-tab{font-size:11px;padding:6px}.header{padding:8px 10px}}@media (max-width: 360px){.track-list{padding:0 8px}.track-cover{width:40px;height:40px}.track-title{font-size:12px}.track-artist{font-size:11px}.track-duration{font-size:10px}.nav-tabs,.discover-tabs{gap:2px;padding:0 4px}.tab-button,.nav-tab{font-size:10px;padding:6px 4px}.header,.app-header{padding:8px}.section-title{font-size:16px}}@media (max-width: 320px){.track-list{padding:0 6px}.track-cover{width:36px;height:36px}.track-title{font-size:11px}.track-artist,.track-duration{font-size:10px}.tab-button,.nav-tab{font-size:9px;padding:4px 2px}.header,.app-header{padding:6px}.section-title{font-size:15px}}@media (max-width: 430px){.fullscreen-player{padding:12px;gap:12px}.player-cover,.now-playing-cover{width:220px;height:220px;max-width:70vw;max-height:70vw}.player-title{font-size:16px}.player-artist{font-size:13px}.player-controls{gap:10px}.player-controls button,.player-controls .control-btn{width:40px;height:40px;min-width:40px}.player-controls .play-button,.player-controls .play-btn{width:56px;height:56px}.progress-bar{height:4px}.progress-time{font-size:11px}}@media (max-width: 360px){.player-cover,.now-playing-cover{width:180px;height:180px}.player-controls button,.player-controls .control-btn{width:36px;height:36px}.player-controls .play-button,.player-controls .play-btn{width:48px;height:48px}}@media (max-width: 430px){.bottom-nav{padding:6px 4px;gap:0}.bottom-nav button,.bottom-nav .nav-item{padding:6px 4px;min-width:0;flex:1}.bottom-nav .icon,.bottom-nav svg{width:20px;height:20px}.bottom-nav .label,.bottom-nav .nav-label{font-size:10px}}@media (max-width: 360px){.bottom-nav .icon,.bottom-nav svg{width:18px;height:18px}.bottom-nav .label,.bottom-nav .nav-label{font-size:9px}}@media (max-width: 430px){.modal,.modal-content,.bottom-sheet,.settings-sheet,.dropdown-menu,.context-menu{width:100%;max-width:100vw;left:0;right:0;margin:0;border-radius:12px 12px 0 0}.bottom-sheet,.settings-sheet{max-height:85svh;max-height:85dvh;overflow-y:auto}}@media (max-width: 430px){.eq-bands{gap:4px;padding:8px 4px}.eq-band{width:28px}.eq-band-label{font-size:9px}.visualizer{height:80px}.settings-row{padding:10px 12px;gap:8px}.settings-row .label{font-size:13px}}@media (max-width: 430px){.carousel-track{gap:8px;padding:0 4px}.carousel-card,.carousel-item{width:130px;min-width:130px}.carousel-card .cover,.carousel-item .cover{width:130px;height:130px}.carousel-card .title,.carousel-item .title{font-size:12px}.carousel-card .subtitle,.carousel-item .subtitle{font-size:10px}}@media (max-width: 360px){.carousel-card,.carousel-item{width:110px;min-width:110px}.carousel-card .cover,.carousel-item .cover{width:110px;height:110px}}img,video,canvas{max-width:100%;height:auto}@media (max-width: 430px){button,.button,.nav-item,.tab-button,.track-item,.queue-item,.list-item{min-height:36px}}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a0a0a0' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:28px}@media (max-width: 430px){.search-input,.search-bar input{padding:8px 12px;font-size:14px}.search-results{padding:0 12px}}@media (prefers-color-scheme: light){:root{--bg-primary: #0a0a0a;--bg-secondary: #181818;--bg-tertiary: #232323;--bg-elevated: #1a1a1a;--bg-card: #181818;--bg-card-hover: #232323;--text-primary: #ffffff;--text-secondary: #b3b3b3;--text-tertiary: #6a6a6a;--accent: #1db954;--accent-hover: #1ed760;--accent-dim: rgba(29,185,84,.15);--border: rgba(255,255,255,.08);--border-strong: rgba(255,255,255,.16);color-scheme:dark}html,body{background:#0a0a0a!important;color:#fff!important}.header,.nav-bar,.bottom-nav,.tab-bar,.top-bar,.toolbar,.app-header,.discover-tabs,.nav-tabs{background-color:#0a0a0a!important;color:#fff!important}.card,.surface,.panel,.list-item,.track-item,.playlist-card,.section-card,.queue-item,.history-item,.search-result,.carousel-card,.carousel-item,.modal,.modal-content,.bottom-sheet,.settings-sheet,.dropdown-menu,.context-menu{background-color:#181818!important;color:#fff!important}.track-title,.track-artist,.player-title,.player-artist,.section-title,.page-title,.modal-title,.header-title,h1,h2,h3,h4,h5,h6{color:#fff!important}.track-artist,.player-artist,.secondary-text,.hint-text,.subtitle,.label-secondary{color:#b3b3b3!important}.tab-button,.nav-tab,.discover-tab{color:#b3b3b3!important;background:transparent!important}.tab-button.active,.tab-button[aria-selected=true],.nav-tab.active,.discover-tab.active{color:#1db954!important;background:#1db9541f!important}input,select,textarea,button{color:#fff!important;background-color:transparent!important;-webkit-text-fill-color:#ffffff!important}input[type=text],input[type=search],input[type=email],input[type=password],input[type=url],input[type=tel],input[type=number],textarea,select{background-color:#181818!important;color:#fff!important;-webkit-text-fill-color:#ffffff!important}select option,select optgroup{background-color:#181818!important;color:#fff!important}.btn-accent,.play-button,.btn-primary,button.primary{background-color:#1db954!important;color:#fff!important;-webkit-text-fill-color:#ffffff!important}}
