*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#000;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background:linear-gradient(135deg,#000,#0a0a0a);min-height:100vh;padding-bottom:2rem}.App-header{background:linear-gradient(180deg,#25d3661a,#0000);border-bottom:2px solid #25d3664d;margin-bottom:2rem;padding:2rem 1rem;text-align:center}.App-header h1{color:#25d366;font-size:2.5rem;font-weight:700;margin-bottom:.5rem;text-shadow:0 0 20px #25d36680}.App-header p{color:#ccc;font-size:1.1rem;font-weight:300}main{margin:0 auto;max-width:1200px;padding:0 1rem}@media (max-width:768px){.App-header h1{font-size:2rem}.App-header p{font-size:1rem}}.music-request-modal-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:1rem;position:fixed;right:0;top:0;z-index:9999}.music-request-modal{animation:slideUp .3s ease;background:linear-gradient(135deg,#1a1a1a,#0d0d0d);border:2px solid #25d3664d;border-radius:16px;box-shadow:0 8px 32px #00000080;display:flex;flex-direction:column;margin:auto;max-height:90vh;max-width:900px;overflow:hidden;position:relative;width:100%}.music-request-modal-header{align-items:center;background:linear-gradient(180deg,#25d3661a,#0000);border-bottom:2px solid #25d36633;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.music-request-modal-header h2{color:#25d366;font-size:1.5rem;font-weight:600;margin:0}.music-request-modal-close{align-items:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:all .2s ease;width:40px}.music-request-modal-close:hover{background:#f443;color:#ff6b6b;transform:scale(1.1)}.music-request-modal-close:active{transform:scale(.95)}.music-request-modal-content{display:flex;flex:1 1;min-height:0;overflow:hidden}.music-request-iframe{background:#0000;border:0;height:100%;min-height:850px;width:100%}@media (max-width:768px){.music-request-modal-overlay{align-items:flex-start;padding:1rem .5rem .5rem}.music-request-modal{border-radius:12px;margin:0;max-height:calc(100vh - 2rem);max-width:100%;width:calc(100% - 1rem)}.music-request-modal-header{padding:1rem}.music-request-modal-header h2{flex:1 1;font-size:1.1rem;padding-right:.5rem}.music-request-modal-close{flex-shrink:0;height:36px;width:36px}.music-request-modal-content{-webkit-overflow-scrolling:touch;overflow-y:auto}.music-request-iframe{height:auto;min-height:600px}}@media (max-width:480px){.music-request-modal-overlay{padding:.5rem .25rem .25rem}.music-request-modal{border-radius:10px;max-height:calc(100vh - 1rem);width:calc(100% - .5rem)}.music-request-modal-header{padding:.875rem}.music-request-modal-header h2{font-size:1rem}.music-request-modal-close{height:32px;width:32px}.music-request-iframe{min-height:500px}}.radio-card{background:linear-gradient(135deg,#1a1a1a,#0d0d0d);border:2px solid #25d36633;border-radius:16px;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.radio-card:before{background:linear-gradient(90deg,#0000,#25d366,#0000);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.radio-card:hover{border-color:#25d36680;box-shadow:0 8px 24px #25d36633;transform:translateY(-4px)}.radio-card:hover:before{opacity:1}.radio-card.playing{border-color:#25d366;box-shadow:0 0 20px #25d36666}.radio-card.playing:before{opacity:1}.radio-card-header{gap:1rem;margin-bottom:1.5rem}.radio-card-header,.radio-icon{align-items:center;display:flex}.radio-icon{background:#25d3661a;border:2px solid #25d3664d;border-radius:12px;font-size:3rem;height:70px;justify-content:center;overflow:hidden;width:70px}.radio-icon svg{border-radius:8px;display:block;flex-shrink:0;height:100%;width:100%}.radio-icon span{font-size:3rem}.radio-info h3{color:#25d366;font-size:1.5rem;font-weight:600;margin-bottom:.25rem}.radio-info p{color:#aaa;font-size:.9rem;font-weight:300}.radio-controls{flex-wrap:wrap;gap:1rem;margin-top:1rem}.play-button,.radio-controls{align-items:center;display:flex;justify-content:center}.play-button{background:linear-gradient(135deg,#25d366,#20ba5a);border:none;border-radius:50%;box-shadow:0 4px 12px #25d36666;color:#000;cursor:pointer;height:64px;position:relative;transition:all .3s ease;width:64px}.play-button:hover:not(:disabled){box-shadow:0 6px 20px #25d36699;transform:scale(1.1)}.play-button:active:not(:disabled){transform:scale(.95)}.play-button:disabled{cursor:not-allowed;opacity:.6}.play-button.playing{background:linear-gradient(135deg,#f44,#c00);box-shadow:0 4px 12px #f446}.play-button.playing:hover:not(:disabled){box-shadow:0 6px 20px #f449}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #0000004d;border-radius:50%;border-top-color:#000;height:24px;width:24px}.playing-indicator{align-items:center;display:flex;gap:4px;height:24px}.wave{animation:wave 1.2s ease-in-out infinite;background:#25d366;border-radius:2px;height:24px;width:4px}.wave:nth-child(2){animation-delay:.2s}.wave:nth-child(3){animation-delay:.4s}@keyframes wave{0%,to{opacity:.7;transform:scaleY(.4)}50%{opacity:1;transform:scaleY(1)}}.request-music-button{align-items:center;background:#25d3661a;border:2px solid #25d3664d;border-radius:12px;color:#25d366;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.75rem 1.25rem;transition:all .3s ease;white-space:nowrap}.request-music-button:hover{background:#25d36633;border-color:#25d36680;box-shadow:0 4px 12px #25d3664d;transform:translateY(-2px)}.request-music-button:active{transform:translateY(0)}.request-music-button svg{flex-shrink:0}.error-message{background:#ff44441a;border:1px solid #ff44444d;border-radius:8px;color:#ff6b6b;font-size:.85rem;margin-top:1rem;padding:.75rem;text-align:center}@media (max-width:768px){.radio-card{padding:1.25rem}.radio-icon{font-size:2.5rem;height:60px;width:60px}.radio-info h3{font-size:1.25rem}.play-button{height:56px;width:56px}.request-music-button{font-size:.85rem;padding:.625rem 1rem}.request-music-button svg{height:18px;width:18px}}.radio-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));padding:1rem 0}@media (max-width:768px){.radio-grid{gap:1.5rem;grid-template-columns:1fr}}.install-prompt{animation:slideUp .3s ease-out;bottom:20px;left:50%;max-width:400px;position:fixed;transform:translateX(-50%);width:calc(100% - 2rem);z-index:1000}.install-prompt-content{background:linear-gradient(135deg,#1a1a1a,#0d0d0d);border:2px solid #25d36680;border-radius:16px;box-shadow:0 8px 32px #00000080;display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.install-prompt-icon{align-items:center;display:flex;justify-content:center;margin-bottom:.5rem;text-align:center}.install-prompt-icon svg{height:48px;width:48px}.install-prompt-text{text-align:center}.install-prompt-text h3{color:#25d366;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.install-prompt-text p{color:#ccc;font-size:.9rem;line-height:1.5}.install-prompt-actions{display:flex;gap:.75rem}.dismiss-button,.install-button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:all .3s ease}.install-button{background:linear-gradient(135deg,#25d366,#20ba5a);box-shadow:0 4px 12px #25d36666;color:#000}.install-button:hover:not(:disabled){box-shadow:0 6px 20px #25d36699;transform:translateY(-2px)}.install-button:disabled{cursor:not-allowed;opacity:.7}.dismiss-button{background:#ffffff1a;border:1px solid #fff3;color:#fff}.dismiss-button:hover:not(:disabled){background:#ffffff26}.dismiss-button:disabled{cursor:not-allowed;opacity:.5}.loading-spinner-small{animation:spin .6s linear infinite;border:2px solid #0000004d;border-radius:50%;border-top-color:#000;display:inline-block;height:16px;width:16px}@media (max-width:768px){.install-prompt{bottom:10px;width:calc(100% - 1rem)}.install-prompt-content{padding:1.25rem}}.install-button-fixed{align-items:center;animation:slideInRight .3s ease-out;background:linear-gradient(135deg,#25d366,#20ba5a);border:none;border-radius:50px;box-shadow:0 4px 12px #25d36666;color:#000;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.75rem 1.25rem;position:fixed;right:1rem;top:1rem;transition:all .3s ease;z-index:1000}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.install-button-fixed:hover{box-shadow:0 6px 20px #25d36699;transform:translateY(-2px)}.install-button-fixed:active{transform:translateY(0)}.install-button-fixed svg{flex-shrink:0;height:20px;width:20px}.install-button-fixed .loading-spinner{animation:spin .8s linear infinite;border:2px solid #0000004d;border-radius:50%;border-top-color:#000;flex-shrink:0;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.install-button-fixed span{white-space:nowrap}@media (max-width:768px){.install-button-fixed{font-size:.85rem;padding:.65rem 1rem;right:.75rem;top:.75rem}.install-button-fixed svg{height:18px;width:18px}}@media (min-width:769px){.install-button-fixed{display:none!important}}@media (max-width:768px){.install-button-fixed{display:flex!important}}.version-display{bottom:1rem;position:fixed;right:1rem;z-index:100}.version-label{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#25d36633;border:1px solid #25d36666;border-radius:20px;box-shadow:0 2px 10px #0000004d;color:#25d366;display:inline-block;font-size:.75rem;font-weight:500;letter-spacing:.5px;padding:.4rem .8rem}@media (max-width:768px){.version-display{bottom:.5rem;right:.5rem}.version-label{font-size:.7rem;padding:.3rem .6rem}}.update-prompt-overlay{align-items:center;animation:fadeIn .3s ease-in-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.update-prompt{animation:slideUp .3s ease-out;background:linear-gradient(135deg,#1a1a1a,#0a0a0a);border:2px solid #25d366;border-radius:16px;box-shadow:0 10px 40px #25d3664d;max-width:400px;padding:2rem;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.update-prompt-header{margin-bottom:1.5rem;text-align:center}.update-prompt-header h3{color:#25d366;font-size:1.5rem;margin:0;text-shadow:0 0 10px #25d36680}.update-prompt-body{margin-bottom:2rem;text-align:center}.update-prompt-body p{color:#ccc;font-size:1rem;line-height:1.5;margin:.5rem 0}.update-prompt-subtitle{color:#999!important;font-size:.9rem!important}.update-prompt-actions{display:flex;gap:1rem;justify-content:center}.update-button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;min-width:120px;padding:.75rem 1.5rem;transition:all .3s ease}.update-button-primary{background:#25d366;box-shadow:0 4px 15px #25d36666;color:#000}.update-button-primary:hover{background:#20c55e;box-shadow:0 6px 20px #25d36699;transform:translateY(-2px)}.update-button-primary:active{transform:translateY(0)}.update-button-secondary{background:#0000;border:1px solid #cccccc4d;color:#ccc}.update-button-secondary:hover{background:#ffffff1a;border-color:#cccccc80}@media (max-width:768px){.update-prompt{max-width:90%;padding:1.5rem}.update-prompt-header h3{font-size:1.3rem}.update-prompt-actions{flex-direction:column}.update-button{width:100%}}.share-button{align-items:center;background:#25d3661a;border:2px solid #25d3664d;border-radius:12px;color:#25d366;cursor:pointer;display:inline-flex;font-family:inherit;font-size:1rem;font-weight:500;gap:.5rem;margin-top:1rem;padding:.75rem 1.5rem;transition:all .3s ease}.share-button:hover{background:#25d36633;border-color:#25d36680;box-shadow:0 4px 12px #25d3664d;transform:translateY(-2px)}.share-button:active{transform:translateY(0)}.share-button.copied{background:#25d3664d;border-color:#25d366;color:#fff}.share-button svg{flex-shrink:0;height:20px;width:20px}.share-button span{white-space:nowrap}@media (max-width:768px){.share-button{font-size:.9rem;margin-top:.75rem;padding:.625rem 1.25rem}.share-button svg{height:18px;width:18px}}@media (max-width:480px){.share-button{font-size:.85rem;padding:.5rem 1rem}}
/*# sourceMappingURL=main.23325818.css.map*/