*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;background:#000;color:#fff;cursor:default;transition:cursor .3s ease}body.hide-cursor{cursor:none}body.hide-ui .header,body.hide-ui .track-info,body.hide-ui .track-info-display,body.hide-ui .status,body.hide-ui .top-controls,body.hide-ui .visualizer-selector{opacity:0;pointer-events:none}#visualizer{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1}#login-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(135deg,#1db954,#191414);z-index:100}#login-screen h1{font-size:3rem;margin-bottom:2rem;text-shadow:2px 2px 4px rgba(0,0,0,.5)}#app-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:10;pointer-events:none}.controls{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:10px;z-index:20;pointer-events:all;background:#000000b3;padding:15px;border-radius:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.status{position:fixed;top:20px;left:50%;transform:translate(-50%);transition:opacity .3s ease;z-index:20;background:#000000b3;padding:10px 20px;border-radius:5px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none}button{background:#1db954;color:#fff;border:none;padding:12px 24px;font-size:14px;font-weight:600;border-radius:25px;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}button:hover{background:#1ed760;transform:translateY(-2px);box-shadow:0 4px 12px #1db95466}button:active{transform:translateY(0)}button.secondary{background:#333}button.secondary:hover{background:#444}button.viz-btn{background:#555;padding:8px 16px;font-size:12px}button.viz-btn.active{background:#1db954}button.viz-btn:hover{background:#666}button.viz-btn.active:hover{background:#1ed760}.visualization-controls{display:flex;gap:5px;padding:5px;background:#00000080;border-radius:5px}.visualizer-selector{position:fixed;top:20px;left:20px;display:flex;flex-direction:column;gap:8px;z-index:20;pointer-events:all;transition:opacity .3s ease;background:#000000b3;padding:8px;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.viz-selector-btn{background:#ffffff1a;color:#fff;border:2px solid rgba(255,255,255,.2);padding:10px 16px;font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s ease;text-transform:none;letter-spacing:0;min-width:120px;text-align:center;white-space:nowrap}.viz-selector-btn:hover{background:#fff3;border-color:#fff6;transform:translateY(-2px);box-shadow:0 4px 12px #fff3}.viz-selector-btn.active{background:#1db954;border-color:#1db954;box-shadow:0 0 15px #1db95480}.viz-selector-btn.active:hover{background:#1ed760;border-color:#1ed760;box-shadow:0 4px 12px #1db95499}.top-controls{position:fixed;top:20px;right:20px;display:flex;gap:10px;z-index:20;pointer-events:all;transition:opacity .3s ease}.header{transition:opacity .3s ease}.track-info-display{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:20;background:#000c;padding:20px;border-radius:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;min-width:300px;max-width:600px;text-align:center;transition:opacity .3s ease}.track-info{text-align:center;margin-bottom:15px;transition:opacity .3s ease}#track-name{font-size:18px;font-weight:700;color:#fff;margin-bottom:5px}#track-artist{font-size:14px;color:#b3b3b3}.playback-controls{display:flex;justify-content:center;gap:15px;margin-bottom:15px}.control-btn{background:transparent;border:2px solid #1db954;color:#1db954;width:50px;height:50px;border-radius:50%;font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;padding:0;text-transform:none}.control-btn.play{width:60px;height:60px;font-size:24px;background:#1db954;color:#fff}.control-btn:hover{background:#1db954;color:#fff;transform:scale(1.1);box-shadow:none}.control-btn.play:hover{background:#1ed760}.search-container{position:relative}#search-input{width:100%;padding:12px;border:none;border-radius:25px;background:#ffffff1a;color:#fff;font-size:14px;outline:none}#search-input::placeholder{color:#b3b3b3}#search-input:focus{background:#ffffff26}#search-results{position:absolute;top:100%;left:0;right:0;margin-top:10px;background:#000000f2;border-radius:10px;max-height:300px;overflow-y:auto;display:none}#search-results.active{display:block}.search-result-item{padding:12px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.1);transition:background .2s}.search-result-item:hover{background:#1db95433}.search-result-item:last-child{border-bottom:none}.search-result-name{color:#fff;font-weight:700;margin-bottom:4px}.search-result-artist{color:#b3b3b3;font-size:12px}@media (max-width: 768px){.controls{flex-wrap:wrap;justify-content:center;max-width:90vw}button{padding:10px 16px;font-size:12px}#login-screen h1{font-size:2rem}}
