@font-face{font-family:ShabofFont;src:url(assets/fonts/medium.woff2) format("woff2");font-weight:400;font-style:normal}@font-face{font-family:ShabofFont;src:url(assets/fonts/bold.woff2) format("woff2");font-weight:700;font-style:normal}:root{--primary:#1db954;--bg-dark:#121212;--card-bg:rgba(30,30,30,.7);--text-main:#fff;--text-sec:#b3b3b3;--glass-border:rgba(255,255,255,.1)}*{box-sizing:border-box;margin:0;padding:0;outline:0;-webkit-tap-highlight-color:transparent}body{font-family:ShabofFont,sans-serif;background-color:var(--bg-dark);color:var(--text-main);height:100vh;display:flex;justify-content:center;align-items:center;overflow:hidden}.app-container{position:relative;width:100%;height:100%;display:flex;justify-content:center;align-items:center}.background-blur{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;filter:blur(40px) brightness(.4);z-index:0;transition:background-image 1s ease}.player-card{position:relative;z-index:1;width:90%;max-width:400px;background:var(--card-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:24px;padding:30px 20px;display:flex;flex-direction:column;align-items:center;box-shadow:0 20px 50px rgba(0,0,0,.5);animation:slideup .6s cubic-bezier(.2,.8,.2,1);max-height:95vh;overflow-y:auto}@keyframes slideup{from{transform:translatey(50px);opacity:0}to{transform:translatey(0);opacity:1}}.player-header{width:100%;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-shrink:0}.live-badge{background:rgba(255,0,0,.2);color:#ff4d4d;padding:5px 10px;border-radius:12px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:6px;border:1px solid rgba(255,0,0,.3)}.pulse-dot{width:8px;height:8px;background-color:#ff4d4d;border-radius:50%;animation:pulse 1.5s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,77,77,.7)}70%{box-shadow:0 0 0 6px rgba(255,77,77,0)}100%{box-shadow:0 0 0 0 rgba(255,77,77,0)}}.player-header h1{font-size:18px;font-weight:700}.category-tabs{display:flex;gap:10px;width:100%;overflow-x:auto;padding-bottom:10px;margin-bottom:20px;scrollbar-width:none;-ms-overflow-style:none;flex-shrink:0}.category-tabs::-webkit-scrollbar{display:none}.tab-btn{background:rgba(255,255,255,.05);border:1px solid var(--glass-border);color:var(--text-sec);padding:8px 16px;border-radius:20px;font-size:13px;white-space:nowrap;cursor:pointer;transition:all .3s ease;font-family:ShabofFont,sans-serif}.tab-btn:hover{background:rgba(255,255,255,.1);color:var(--text-main)}.tab-btn.active{background:var(--primary);color:#000;border-color:var(--primary);font-weight:700;box-shadow:0 4px 12px rgba(29,185,84,.3)}.cover-container{width:260px;height:260px;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.4);margin-bottom:25px;position:relative;background:#222;flex-shrink:0}#cover-image{width:100%;height:100%;object-fit:cover;transition:opacity .5s ease}#visualizer{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none;opacity:.8}.loading-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;border:3px solid rgba(255,255,255,.1);border-top:3px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;display:none;z-index:3}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0deg)}100%{transform:translate(-50%,-50%) rotate(360deg)}}.track-info{text-align:center;margin-bottom:30px;width:100%;flex-shrink:0}.track-info h2{font-size:20px;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-main)}.track-info p{font-size:14px;color:var(--text-sec)}.controls-area{width:100%;display:flex;flex-direction:column;gap:20px;align-items:center;flex-shrink:0}.main-controls{display:flex;align-items:center;gap:30px}.ctrl-btn{background:0;border:0;color:var(--text-main);font-size:24px;cursor:pointer;opacity:.8;transition:.2s;display:flex;align-items:center;justify-content:center}.ctrl-btn:hover{opacity:1;transform:scale(1.1)}.play-btn{width:70px;height:70px;border-radius:50%;background:var(--primary);border:0;color:#000;font-size:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(29,185,84,.4);transition:transform .1s}.play-btn:active{transform:scale(.95)}.play-btn svg{width:32px;height:32px;fill:currentcolor}.volume-area{display:flex;align-items:center;gap:10px;width:80%;color:var(--text-sec)}input[type=range]{-webkit-appearance:none;width:100%;height:4px;background:rgba(255,255,255,.2);border-radius:2px;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#fff;border-radius:50%;box-shadow:0 0 10px rgba(0,0,0,.5)}.status-message{font-size:12px;color:var(--text-sec);text-align:center;min-height:18px;margin-top:5px}@media (max-width:480px){.player-card{width:100%;height:100%;border-radius:0;border:0;justify-content:flex-start;padding-top:40px}.cover-container{width:220px;height:220px}}.fab-request{position:fixed;bottom:30px;left:30px;background:var(--primary);color:#000;border:0;border-radius:50px;padding:12px 24px;box-shadow:0 4px 15px rgba(29,185,84,.4);cursor:pointer;display:flex;align-items:center;gap:10px;font-family:ShabofFont,sans-serif;font-weight:700;z-index:100;transition:transform .2s,box-shadow .2s}.fab-request:hover{transform:translatey(-2px);box-shadow:0 6px 20px rgba(29,185,84,.6)}.fab-request svg{width:24px;height:24px}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);backdrop-filter:blur(5px);z-index:1000;display:none;justify-content:center;align-items:center;opacity:0;transition:opacity .3s ease}.modal-overlay.active{display:flex;opacity:1}.modal-content{background:#222;border:1px solid var(--glass-border);border-radius:20px;width:90%;max-width:400px;padding:25px;box-shadow:0 20px 50px rgba(0,0,0,.5);transform:scale(.9);transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.modal-overlay.active .modal-content{transform:scale(1)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:10px}.modal-header h3{margin:0;font-size:18px;color:var(--text-main)}.close-btn{background:0;border:0;color:var(--text-sec);font-size:28px;cursor:pointer;line-height:1}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:8px;color:var(--text-sec);font-size:14px}.form-group input{width:100%;padding:12px;border-radius:10px;border:1px solid var(--glass-border);background:rgba(0,0,0,.3);color:#fff;font-family:ShabofFont,sans-serif;box-sizing:border-box}.form-group input:focus{border-color:var(--primary);outline:0}.submit-btn{width:100%;padding:12px;background:var(--primary);color:#000;border:0;border-radius:10px;font-family:ShabofFont,sans-serif;font-weight:700;cursor:pointer;transition:background .2s}.submit-btn:hover{background:#1ed760}.form-status{margin-top:15px;text-align:center;font-size:13px;min-height:20px}.form-status.success{color:#1db954}.form-status.error{color:#ff4d4d}.live-search-container{position:relative;width:100%;max-width:500px;margin:0 auto 20px}.live-search-container input{width:100%;padding:12px 16px;font-size:16px;border:2px solid #444;border-radius:25px;background:rgba(255,255,255,0.1);color:#fff;outline:none;transition:all .3s}.live-search-container input:focus{border-color:#00d4ff;background:rgba(255,255,255,0.15)}.search-results{position:absolute;top:100%;left:0;right:0;max-height:400px;overflow-y:auto;background:rgba(20,20,20,0.95);border-radius:12px;margin-top:8px;display:none;z-index:1000}.search-results.active{display:block}.search-item{padding:12px 16px;cursor:pointer;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,0.1);transition:background .2s}.search-item:hover{background:rgba(0,212,255,0.2)}.search-item img{width:40px;height:40px;border-radius:8px;object-fit:cover}.search-item-info{flex:1;min-width:0}.search-item-title{color:#fff;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-item-artist{color:#888;font-size:12px;margin-top:2px}.search-loading{padding:20px;text-align:center;color:#888}.no-results{padding:20px;text-align:center;color:#888}.search-item img{width:40px;height:40px;border-radius:8px;object-fit:cover}