code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body,html{-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%;height:100%;overflow:hidden;transition:background 2s ease-in-out}#root{-webkit-overflow-scrolling:touch;bottom:0;left:0;overflow:hidden;position:fixed;right:0;top:0}#root,.chat-container{height:100vh;height:calc(var(--vh, 1vh)*100)}.chat-container{background:#0000;margin:0 auto;max-width:800px;width:100%}.chat-container,.initial-layout{display:flex;flex-direction:column;overflow:hidden}.initial-layout{align-items:center;height:100vh;height:calc(var(--vh, 1vh)*100);justify-content:center;padding:20px}.welcome-message{color:#374151;font-size:16px;line-height:1.6;margin-bottom:80px;max-width:600px;text-align:center;width:100%}.welcome-message h1{color:#111827;font-size:32px;font-weight:600;margin:0 0 20px}.welcome-message p{color:#6b7280;font-size:18px;margin:0}.centered-input-container{align-items:flex-end;display:flex;gap:12px;max-width:600px;width:100%}.centered-input-container textarea{-webkit-appearance:none;border:1px solid #d1d5db;border-radius:20px;-webkit-border-radius:20px;flex:1 1;font-family:inherit;font-size:14px;line-height:1.4;outline:none;padding:12px 16px;resize:none;-webkit-transform:translateZ(0);transition:border-color .2s}.centered-input-container textarea:focus{border-color:#667eea}.centered-input-container textarea:disabled{background:#f9fafb;color:#9ca3af}.messages-container{background:#0000;flex:1 1;margin:0 auto;max-width:800px;min-height:400px;overflow-y:auto;padding:20px;width:100%}.message{display:flex;flex-direction:column;margin-bottom:20px}.user-message{align-items:flex-end}.assistant-message{align-items:flex-start}.message-content{word-wrap:break-word;border-radius:18px;font-size:14px;line-height:1.5;max-width:70%;padding:12px 16px}.user-message .message-content{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom-right-radius:4px;color:#fff}.assistant-message .message-content{background:#f9fafb;border:1px solid #e5e7eb;border-bottom-left-radius:4px;color:#374151}.message-paragraph{margin:0 0 12px}.message-paragraph:last-child{margin-bottom:0}.message-list{margin:8px 0 12px;padding-left:20px}.message-list li{line-height:1.4;margin-bottom:4px}.message-list:last-child{margin-bottom:0}.assistant-message .message-content strong{color:#111827;font-weight:600}.assistant-message .message-content em{color:#6b7280;font-style:italic}.message-timestamp{color:#9ca3af;font-size:11px;margin-top:4px;padding:0 4px}.user-message .message-timestamp{text-align:right}.assistant-message .message-timestamp{text-align:left}.input-container{align-items:flex-end;background:#0000;display:flex;gap:12px;margin:0 auto;max-width:800px;padding:20px;width:100%}.input-container textarea{-webkit-appearance:none;border:1px solid #d1d5db;border-radius:20px;-webkit-border-radius:20px;flex:1 1;font-family:inherit;font-size:14px;line-height:1.4;outline:none;padding:12px 16px;resize:none;-webkit-transform:translateZ(0);transition:border-color .2s}.input-container textarea:focus{border-color:#667eea}.input-container textarea:disabled{background:#f9fafb;color:#9ca3af}.send-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s;white-space:nowrap}.send-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.send-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.typing-indicator{display:flex;gap:4px;padding:8px 0}.typing-indicator span{animation:typing 1.4s ease-in-out infinite;background:#9ca3af;border-radius:50%;height:8px;width:8px}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.messages-container::-webkit-scrollbar{display:none;width:0}.messages-container{-ms-overflow-style:none;scrollbar-width:none}@supports (-webkit-touch-callout:none){.chat-container,.initial-layout{height:100vh;height:-webkit-fill-available}.input-container{position:relative;z-index:1000}.centered-input-container textarea,.input-container textarea{font-size:16px}}@media (max-width:768px){.chat-container{bottom:0;display:flex;flex-direction:column;height:100vh;height:calc(var(--vh, 1vh)*100);left:0;max-width:100%;overflow:hidden;position:fixed;right:0;top:0}.message-content{max-width:85%}.input-container{background:#0000;bottom:0;flex-shrink:0;margin-top:auto;padding:15px;position:sticky;z-index:1000}.centered-input-container{gap:8px;padding:0 15px}.welcome-message{padding:0 15px}.welcome-message h1{font-size:28px}.welcome-message p{font-size:16px}.centered-input-container textarea,.input-container textarea{font-size:16px;min-height:44px;padding:12px 14px}.send-button{font-size:14px;min-width:60px;padding:12px 20px}.messages-container{flex:1 1;max-height:0;overflow-y:auto;padding:20px}.chat-layout{bottom:0;left:0;position:fixed;right:0;top:0}.chat-layout,.chat-main{display:flex;flex-direction:column;height:100vh;height:calc(var(--vh, 1vh)*100);overflow:hidden}.chat-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;flex-shrink:0;padding:15px 20px;z-index:100}}@supports (-webkit-touch-callout:none){.input-container{align-items:flex-end!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#0000!important;border-top:none!important;bottom:0!important;display:flex!important;gap:12px!important;left:0!important;margin:0!important;max-width:none!important;padding:15px!important;position:fixed!important;right:0!important;z-index:99999!important}.messages-container{max-height:calc(100vh - 200px)!important;padding-bottom:120px!important}.centered-input-container{align-items:flex-end!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#0000!important;border-top:none!important;bottom:auto!important;display:flex!important;gap:12px!important;left:auto!important;margin:0 auto!important;max-width:600px!important;padding:0 15px!important;position:relative!important;right:auto!important;z-index:auto!important}.initial-layout{padding-bottom:20px!important}.chat-container,.chat-layout,.chat-main{height:100vh!important;height:calc(var(--vh, 1vh)*100)!important;height:-webkit-fill-available!important}}@media (min-width:768px) and (max-width:1024px){body,html{bottom:0;left:0;overflow:hidden;position:fixed;right:0;top:0}.chat-container{display:flex;flex-direction:column;height:100vh;max-height:100vh;max-width:100%;overflow:hidden}.input-container{background:#0000;bottom:40px;display:flex;gap:12px;justify-content:center;margin:0 auto;padding:20px;position:fixed;width:100%;z-index:1000}.messages-container{flex:1 1;max-height:calc(100vh - 200px);overflow-y:auto;padding:20px 20px 120px}.chat-layout,.chat-main{display:flex;flex-direction:column;height:100vh;max-height:100vh;overflow:hidden}.chat-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;flex-shrink:0;padding:15px 20px;z-index:100}.initial-layout{padding-top:0}}@media (min-width:1024px) and (max-width:1366px) and (orientation:landscape){.input-container{background:#0000;bottom:20px;left:0;position:fixed;right:0;width:100%;z-index:9999}.messages-container{padding-bottom:150px}.chat-container,.chat-layout,.chat-main{height:100vh!important;height:calc(var(--vh, 1vh)*100)!important;max-height:100vh!important}}@media screen and (max-height:600px){.chat-container{height:100vh;height:calc(var(--vh, 1vh)*100);position:fixed}.input-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-top:1px solid #e5e7eb;bottom:0;left:0;position:fixed;right:0;z-index:1000}.messages-container{max-height:calc(100vh - 200px);max-height:calc(var(--vh, 1vh)*100 - 200px);padding-bottom:120px}}.chat-header{background:#0000;padding:20px;position:relative;text-align:center}.chat-header h1{color:#111827;font-size:24px;font-weight:600;margin:0}.playlist-export-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px;margin:0 20px 20px;padding:20px}.playlist-summary{margin-bottom:16px}.playlist-summary h3{color:#111827;font-size:18px;font-weight:600;margin:0 0 8px}.playlist-summary p{color:#6b7280;font-size:14px;line-height:1.4;margin:0 0 4px}.song-count{color:#374151!important;font-weight:500}.playlist-songs{margin:16px 0;max-height:300px;overflow-y:auto}.playlist-songs h4{color:#111827;font-size:16px;font-weight:600;margin:0 0 12px}.songs-list{display:flex;flex-direction:column;gap:8px}.song-item{align-items:center;background:#ffffff1a;border-radius:8px;display:flex;font-size:14px;gap:8px;line-height:1.4;padding:8px 12px}.song-number{color:#6b7280;font-weight:600;min-width:24px}.song-title{color:#111827;flex:1 1;font-weight:500}.song-artist{color:#6b7280;font-size:13px}.apple-music-button{background:linear-gradient(135deg,#fa2d48,#f61e40);border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s;width:100%}.apple-music-button:hover{box-shadow:0 4px 12px #fa2d4866;transform:translateY(-1px)}.apple-music-button:active{transform:translateY(0)}.spotify-button{background:linear-gradient(135deg,#1db954,#1ed760);border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s;width:100%}.spotify-button:hover{box-shadow:0 4px 12px #1db95466;transform:translateY(-1px)}.spotify-button:active{transform:translateY(0)}.fullscreen-playlist{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;display:flex;flex-direction:column;height:100vh;overflow-y:auto;padding:40px}.playlist-header{border-bottom:2px solid #e5e7eb;margin-bottom:40px;padding-bottom:30px;text-align:center}.playlist-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#111827;font-size:48px;font-weight:700;margin:0 0 16px}.playlist-description{color:#6b7280;font-size:20px;font-weight:400;margin:0 0 12px}.playlist-songs-fullscreen{display:flex;flex:1 1;justify-content:center;margin-bottom:40px}.songs-list-fullscreen{background:#fff;border-radius:16px;box-shadow:0 10px 25px #0000001a;max-width:800px;overflow:hidden;width:100%}.song-item-fullscreen{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;padding:20px 24px;transition:background-color .2s ease}.song-item-fullscreen:hover{background-color:#f9fafb}.song-item-fullscreen:last-child{border-bottom:none}.song-number-fullscreen{color:#667eea;font-size:18px;font-weight:600;margin-right:20px;min-width:40px}.song-details-fullscreen{display:flex;flex:1 1;flex-direction:column;gap:4px}.song-title-fullscreen{color:#111827;font-size:18px;font-weight:600}.song-artist-fullscreen{color:#6b7280;font-size:16px;font-weight:500}.playlist-actions{display:flex;gap:20px;justify-content:center;padding:20px 0}.continue-editing-button{background:linear-gradient(135deg,#6b7280,#4b5563);border:none;border-radius:12px;box-shadow:0 4px 12px #00000026;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:16px 32px;transition:all .2s ease}.continue-editing-button:hover{box-shadow:0 6px 20px #0003;transform:translateY(-2px)}.continue-editing-button:active{transform:translateY(0)}.apple-music-button-fullscreen{background:linear-gradient(135deg,#fa7268,#e74c3c);border:none;border-radius:12px;box-shadow:0 4px 12px #00000026;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:16px 32px;transition:all .2s ease}.apple-music-button-fullscreen:hover{box-shadow:0 6px 20px #0003;transform:translateY(-2px)}.apple-music-button-fullscreen:active{transform:translateY(0)}.spotify-button-fullscreen{background:linear-gradient(135deg,#1db954,#1ed760);border:none;border-radius:12px;box-shadow:0 4px 12px #00000026;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:16px 32px;transition:all .2s ease}.spotify-button-fullscreen:hover{box-shadow:0 6px 20px #0003;transform:translateY(-2px)}.spotify-button-fullscreen:active{transform:translateY(0)}.playlist-buttons{display:flex;gap:12px;margin-top:20px}.view-fullscreen-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.view-fullscreen-button:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.view-fullscreen-button:active{transform:translateY(0)}@media (max-width:768px){.fullscreen-playlist{padding:20px}.playlist-header h1{font-size:32px}.playlist-description{font-size:16px}.song-item-fullscreen{padding:16px 20px}.song-title-fullscreen{font-size:16px}.song-artist-fullscreen{font-size:14px}.playlist-actions{flex-direction:column;gap:12px}.apple-music-button-fullscreen,.continue-editing-button{padding:14px 24px;width:100%}}.final-playlist-loading{padding:20px 0;text-align:center}.loading-text{color:#111827;font-size:16px;font-weight:600;margin-bottom:8px}.loading-subtext{color:#6b7280;font-size:14px;line-height:1.4;margin-bottom:16px}.loading-dots{display:flex;gap:6px;justify-content:center}.loading-dots span{animation:finalPlaylistTyping 1.6s ease-in-out infinite;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;height:10px;width:10px}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes finalPlaylistTyping{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.confirmation-loading{padding:20px 0;text-align:center}.confirmation-loading .loading-text{color:#111827;font-size:16px;font-weight:600;margin-bottom:8px}.confirmation-loading .loading-subtext{color:#6b7280;font-size:14px;line-height:1.4;margin-bottom:16px}.confirmation-loading .loading-dots{display:flex;gap:6px;justify-content:center}.confirmation-loading .loading-dots span{animation:confirmationTyping 1.4s ease-in-out infinite;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:50%;height:10px;width:10px}.confirmation-loading .loading-dots span:first-child{animation-delay:-.32s}.confirmation-loading .loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes confirmationTyping{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}.playlist-confirmation-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.playlist-confirmation-card{animation:slideInUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;max-width:500px;padding:32px;text-align:center;width:100%}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.confirmation-header h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#111827;font-size:24px;font-weight:700;margin:0 0 16px}.confirmation-header p{color:#6b7280;font-size:16px;line-height:1.6;margin:0 0 24px}.confirmation-buttons{display:flex;gap:16px;justify-content:center}.proceed-button{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:12px;box-shadow:0 4px 12px #10b9814d;color:#fff;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;max-width:200px;padding:14px 28px;transition:all .2s ease}.proceed-button:hover{box-shadow:0 6px 20px #10b98166;transform:translateY(-2px)}.proceed-button:active{transform:translateY(0)}.continue-editing-button-confirmation{background:linear-gradient(135deg,#6b7280,#4b5563);border:none;border-radius:12px;box-shadow:0 4px 12px #00000026;color:#fff;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;max-width:200px;padding:14px 28px;transition:all .2s ease}.continue-editing-button-confirmation:hover{box-shadow:0 6px 20px #0003;transform:translateY(-2px)}.continue-editing-button-confirmation:active{transform:translateY(0)}@media (max-width:768px){.playlist-confirmation-card{margin:20px;padding:24px}.confirmation-header h3{font-size:20px}.confirmation-header p{font-size:14px}.confirmation-buttons{flex-direction:column;gap:12px}.continue-editing-button-confirmation,.proceed-button{max-width:none;width:100%}}.chat-layout{display:flex;height:100vh;left:0;position:fixed;top:0;width:100vw}.chat-main{display:flex;flex:1 1;flex-direction:column;margin:0 auto;max-width:100vw;min-width:0;position:relative}.toggle-playlist-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;position:absolute;right:10px;top:10px;transition:all .2s ease;z-index:20}.toggle-playlist-button:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.playlist-sidebar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-left:1px solid #0000001a;display:flex;flex-direction:column;height:100vh;overflow:hidden;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .3s ease-in-out;width:350px;z-index:10}.playlist-sidebar.show{transform:translateX(0)}.playlist-sidebar-header{border-bottom:1px solid #0000001a;padding:20px}.playlist-sidebar-header h3{color:#111827;font-size:18px;font-weight:600;margin:0 0 8px}.playlist-sidebar-header p{color:#6b7280;font-size:14px;line-height:1.4;margin:0 0 4px}.playlist-sidebar-songs{flex:1 1;overflow-y:auto;padding:0 20px}.songs-list-sidebar{padding:20px 0}.song-item-sidebar{align-items:center;border-bottom:1px solid #0000000d;display:flex;gap:12px;padding:8px 0}.song-item-sidebar:last-child{border-bottom:none}.song-number-sidebar{color:#667eea;font-size:14px;font-weight:600;min-width:24px}.song-details-sidebar{display:flex;flex:1 1;flex-direction:column;gap:2px}.song-title-sidebar{color:#111827;font-size:14px;font-weight:500;line-height:1.3}.song-artist-sidebar{color:#6b7280;font-size:12px;line-height:1.3}.playlist-sidebar-actions{border-top:1px solid #0000001a;display:flex;flex-direction:column;gap:12px;padding:20px}.playlist-sidebar-actions button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 16px;transition:all .2s ease;width:100%}.playlist-sidebar-actions .view-fullscreen-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.playlist-sidebar-actions .apple-music-button{background:linear-gradient(135deg,#fa2d48,#f61e40);color:#fff}.playlist-sidebar-actions button:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}@media (max-width:768px){.chat-layout{flex-direction:column;position:relative}.chat-layout.no-playlist{flex-direction:row;height:100vh}.chat-layout.no-playlist .chat-main{height:100vh;width:100vw}.chat-layout.no-playlist .messages-container{height:calc(100vh - 120px);max-height:none}.chat-main{max-width:100vw}.playlist-sidebar{border-left:none;border-top:1px solid #0000001a;bottom:0;height:50vh;left:0;position:fixed;right:0;top:auto;transform:translateY(100%);transition:transform .3s ease-in-out;width:100%;z-index:10}.playlist-sidebar.show{transform:translateY(0)}.toggle-playlist-button{margin-left:auto;margin-right:20px;position:static}.chat-header{align-items:center;display:flex;justify-content:space-between}}.export-popup-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.export-popup-card{animation:slideInUp .3s ease-out;background:#fff;border:1px solid #fff3;border-radius:20px;box-shadow:0 20px 40px #0003;max-width:400px;padding:32px;text-align:center;width:100%}.export-popup-content h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#111827;font-size:24px;font-weight:700;margin:0 0 16px}.export-popup-content p{color:#6b7280;font-size:16px;line-height:1.6;margin:0 0 24px}.export-popup-icons{display:flex;gap:20px;justify-content:center;margin-top:20px}.export-icon{animation:bounce 2s infinite;font-size:32px}.export-icon.spotify-icon{animation-delay:0s}.export-icon.apple-icon{animation-delay:.5s}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@media (max-width:768px){.export-popup-card{margin:20px;padding:24px}.export-popup-content h3{font-size:20px}.export-popup-content p{font-size:14px}.export-icon{font-size:28px}}.spotify-button-fullscreen.connected,.spotify-button.connected{background:linear-gradient(135deg,#1db954,#1ed760);border:none;color:#fff}.spotify-button-fullscreen.connected:hover,.spotify-button.connected:hover{background:linear-gradient(135deg,#1ed760,#1fdf64);box-shadow:0 4px 12px #1db9544d;transform:translateY(-1px)}.spotify-button-fullscreen.disconnected,.spotify-button.disconnected{background:linear-gradient(135deg,#6b7280,#9ca3af);border:none;color:#fff}.spotify-button-fullscreen.disconnected:hover,.spotify-button.disconnected:hover{background:linear-gradient(135deg,#9ca3af,#d1d5db);box-shadow:0 4px 12px #6b72804d;transform:translateY(-1px)}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#1db954;height:20px;margin:0 auto;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.export-popup-actions{display:flex;gap:12px;justify-content:center;margin-top:20px}.view-playlist-button{background:linear-gradient(135deg,#1db954,#1ed760);border:none;border-radius:8px;box-shadow:0 2px 8px #1db9544d;color:#fff;cursor:pointer;display:inline-block;font-size:14px;font-weight:600;padding:10px 20px;text-decoration:none;transition:all .2s ease}.view-playlist-button:hover{background:linear-gradient(135deg,#1ed760,#1fdf64);box-shadow:0 4px 12px #1db95466;transform:translateY(-1px)}.ok-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.ok-button:hover{background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}body,html{height:auto;margin:0;overflow-x:hidden;padding:0}#root,body,html{min-height:100vh;overflow-y:auto}.App{align-items:normal!important;display:block!important;justify-content:normal!important;padding:0!important;position:static!important}#root,.App,.spotify-test-container,body,html{height:auto!important;min-height:100vh!important;overflow-y:auto!important}#root,.App,.spotify-test-container,body,html{max-height:none!important}.spotify-test-container{background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:auto;min-height:100vh;overflow-y:auto;padding:20px;position:relative}.spotify-test-header{color:#fff;margin-bottom:40px;text-align:center}.spotify-test-header h1{font-size:2.5rem;font-weight:700;margin-bottom:10px}.spotify-test-header p{font-size:1.1rem;opacity:.9}.spotify-test-controls{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:20px;box-shadow:0 20px 40px #0000001a;margin:0 auto;max-width:800px;padding:30px}.test-section{border-bottom:1px solid #e0e0e0;margin-bottom:40px;padding-bottom:30px}.test-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.test-section h3{color:#333;font-size:1.3rem;font-weight:600;margin-bottom:20px}.test-button{border:none;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;margin-bottom:10px;margin-right:15px;padding:12px 24px;transition:all .3s ease}.test-button.primary{background:linear-gradient(135deg,#1db954,#1ed760);color:#fff}.test-button.primary:hover{box-shadow:0 10px 20px #1db9544d;transform:translateY(-2px)}.test-button.secondary{background:#f8f9fa;border:2px solid #e9ecef;color:#495057}.test-button.secondary:hover{background:#e9ecef;transform:translateY(-1px)}.test-button.danger{background:#dc3545;border:2px solid #dc3545;color:#fff}.test-button.danger:hover{background:#c82333;border-color:#c82333;transform:translateY(-1px)}.playlist-form{background:#f8f9fa;border-left:4px solid #1db954;border-radius:10px;padding:20px}.form-group{margin-bottom:15px}.form-group label{color:#333;display:block;font-weight:600;margin-bottom:5px}.form-group input{border:2px solid #e9ecef;border-radius:8px;font-size:14px;padding:10px;transition:border-color .3s ease;width:100%}.form-group input:focus{border-color:#1db954;outline:none}.form-help{color:#666;font-size:.9rem;font-style:italic;margin-top:10px}.status-display{background:#f8f9fa;border-left:4px solid #1db954;border-radius:10px;padding:20px}.status-display p{font-size:1rem;margin:8px 0}.log-controls{margin-bottom:15px}.log-display{background:#1a1a1a;border:1px solid #333;border-radius:10px;color:#0f0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;line-height:1.4;max-height:400px;overflow-y:auto;padding:20px}.no-logs{color:#666;font-style:italic;margin:20px 0;text-align:center}.log-entry{border-bottom:1px solid #333;margin-bottom:8px;padding:4px 0}.log-entry:last-child{border-bottom:none}.spotify-test-footer{margin-top:30px;padding-bottom:20px;text-align:center}.back-link{background:#ffffff1a;border-radius:10px;color:#fff;font-size:1.1rem;padding:10px 20px;text-decoration:none;transition:all .3s ease}.back-link:hover{background:#fff3;transform:translateY(-1px)}@media (max-width:768px){.spotify-test-container{padding:15px}.spotify-test-header h1{font-size:2rem}.spotify-test-controls{padding:20px}.test-button{margin-bottom:10px;margin-right:0;width:100%}.log-display{font-size:.8rem;max-height:300px}}.test-button.warning{background:linear-gradient(135deg,#d97706,#f59e0b);border:none;border-radius:8px;box-shadow:0 2px 8px #d977064d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.test-button.warning:hover{background:linear-gradient(135deg,#f59e0b,#fbbf24);box-shadow:0 4px 12px #d9770666;transform:translateY(-1px)}.advanced-tests{display:flex;flex-direction:column;gap:10px;margin-bottom:15px}.connection-details{background:#ffffff1a;border-left:3px solid #10b981;border-radius:6px;margin-top:10px;padding:10px}.connection-details p{font-size:13px;margin:5px 0}.App{align-items:center;background:#0000;display:flex;height:100vh;justify-content:center;padding:20px}*,.App{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;min-height:100vh}
/*# sourceMappingURL=main.f4920cd4.css.map*/