*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;height:100vh;overflow:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-box{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:400px;padding:40px;width:100%}.login-box h1{color:#667eea;font-size:32px;margin-bottom:10px;text-align:center}.login-box h2{color:#333;font-size:20px;font-weight:400;margin-bottom:30px;text-align:center}.form-group label{color:#555}.form-group input{border:2px solid #e0e0e0;border-radius:6px;font-size:16px;padding:12px;transition:border-color .3s;width:100%}.form-group input:focus{border-color:#667eea;outline:none}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px;transition:transform .2s,box-shadow .2s;width:100%}button:hover:not(:disabled){box-shadow:0 5px 20px #667eea66;transform:translateY(-2px)}button:disabled{cursor:not-allowed;opacity:.6}.error-message{background:#fee;border-left:4px solid #c33;border-radius:6px;color:#c33;margin-bottom:20px;padding:12px}.default-credentials{border-top:1px solid #e0e0e0;color:#666;font-size:14px;margin-top:30px;padding-top:20px}.default-credentials p{margin:5px 0}.default-credentials strong{color:#333}.admin-layout{background:linear-gradient(135deg,#f5f7fa,#e8ecf1);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;height:100vh;overflow:hidden}.admin-sidebar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(180deg,#667eea,#764ba2);box-shadow:4px 0 20px #00000026;color:#fff;display:flex;flex-direction:column;height:100vh;left:0;overflow-y:auto;position:fixed;scrollbar-width:none;top:0;width:260px;z-index:1000}.admin-sidebar::-webkit-scrollbar{display:none}.sidebar-header{background:#ffffff0d;border-bottom:1px solid #fff3;padding:30px 20px}.sidebar-header h2{font-size:26px;font-weight:700;gap:12px;letter-spacing:.5px;margin:0}.sidebar-header h2,.user-info{align-items:center;display:flex}.user-info{background:#ffffff1a;border-radius:6px;font-size:13px;gap:8px;margin:15px 0 0;opacity:.85;padding:8px 12px}.sidebar-nav{flex:1 1;overflow-y:auto;padding:20px 0}.nav-item{align-items:center;border-left:3px solid #0000;color:#ffffffd9;display:flex;font-size:15px;font-weight:500;gap:15px;padding:16px 25px;position:relative;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1)}.nav-item:before{background:#ffffff26;bottom:0;content:"";left:0;position:absolute;top:0;transition:width .25s cubic-bezier(.4,0,.2,1);width:0;z-index:-1}.nav-item:hover:before{width:100%}.nav-item:hover{color:#fff;padding-left:30px}.nav-item.active{background:#fff3;border-left-color:#fff;box-shadow:inset 0 0 15px #ffffff1a;color:#fff}.nav-item i{font-size:18px;text-align:center;width:22px}.sidebar-footer{background:#0000001a;border-top:1px solid #fff3;padding:20px}.logout-btn{align-items:center;background:#fff3;border:2px solid #ffffff4d;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:10px;justify-content:center;padding:14px;transition:all .25s cubic-bezier(.4,0,.2,1);width:100%}.logout-btn:hover{background:#fff;border-color:#fff;box-shadow:0 4px 12px #ffffff4d;color:#667eea;transform:translateY(-2px)}.admin-main{flex:1 1;height:100vh;margin-left:260px;overflow-y:auto;padding:40px;width:calc(100% - 260px)}.page-header{align-items:center;border-bottom:2px solid #0000000f;display:flex;justify-content:space-between;margin-bottom:32px;padding-bottom:20px}.dashboard-quick-actions,.page-header h1{align-items:center;display:flex;gap:12px}.dashboard-quick-actions{flex-wrap:wrap;margin-bottom:24px}.broadcast-inline-message{border-radius:8px;font-size:14px;font-weight:600;padding:8px 14px}.broadcast-inline-message--success{background:#0a7d3c1a;color:#0a7d3c}.broadcast-inline-message--error{background:#c0392b1a;color:#c0392b}.card{background:#fff;border:1px solid #0000000d;border-radius:16px;box-shadow:0 4px 16px #0000000f;margin-bottom:24px;padding:28px;transition:all .25s cubic-bezier(.4,0,.2,1)}.card:hover{box-shadow:0 8px 24px #0000001a}.card h2{align-items:center;color:#2d3436;display:flex;font-size:20px;font-weight:700;gap:10px;margin:0 0 24px}input[type=email],input[type=file],input[type=password],input[type=text],select,textarea{background:#fff;border:2px solid #e0e6ed;border-radius:10px;font-family:inherit;font-size:15px;padding:12px 16px;transition:all .25s cubic-bezier(.4,0,.2,1);width:100%}input[type=email]:focus,input[type=password]:focus,input[type=text]:focus,select:focus,textarea:focus{border-color:#667eea;box-shadow:0 0 0 4px #667eea1a;outline:none}table{background:#fff;border-collapse:initial;border-radius:12px;border-spacing:0;box-shadow:0 2px 8px #0000000a;overflow:hidden;width:100%}thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}thead th{font-size:14px;font-weight:600;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}tbody tr{border-bottom:1px solid #f0f3f7;transition:all .2s ease}tbody tr:hover{background:#f8f9fa;transform:scale(1.01)}tbody td{color:#2d3436;font-size:14px;padding:16px}.message{border-radius:10px;box-shadow:0 4px 12px #00000014;font-weight:500;gap:12px;padding:16px 20px}.page-header h1{color:#2d3436;font-size:32px;margin:0}.page-header p{color:#636e72;font-size:16px;margin:5px 0 0}.message{padding:15px 20px}.message.error{background:#fee;border-left:4px solid #c33;color:#c33}.message.success{background:#efe;border-left:4px solid #3c3;color:#3c3}.btn-primary{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;box-shadow:0 4px 12px #667eea40;color:#fff;cursor:pointer;display:inline-flex;font-size:15px;font-weight:600;gap:10px;overflow:hidden;padding:13px 28px;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1)}.btn-primary:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.btn-primary:hover:before{left:100%}.btn-primary:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn-primary:active{box-shadow:0 2px 8px #667eea4d;transform:translateY(0)}.btn-primary:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-secondary{background:#fff;border:2px solid #e0e6ed;border-radius:10px;box-shadow:0 2px 8px #0000000d;color:#2d3436;cursor:pointer;font-size:15px;font-weight:600;padding:13px 28px;transition:all .25s cubic-bezier(.4,0,.2,1)}.btn-secondary:hover{background:#f8f9fa;border-color:#667eea;box-shadow:0 4px 12px #0000001a;color:#667eea;transform:translateY(-2px)}.btn-large{font-size:16px;padding:16px 32px;width:100%}.tts-queue-page{margin:0 auto;max-width:800px}.page-subtitle{color:#636e72;font-size:16px;margin:8px 0 0}.tts-form-container{grid-gap:30px;display:grid;gap:30px}.tts-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:32px}.form-group{margin-bottom:24px}.form-group label i{color:#667eea;margin-right:8px}.form-select{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:15px;padding:12px 16px;transition:all .3s ease;width:100%}.form-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:15px;padding:12px 16px;resize:vertical;transition:all .3s ease;width:100%}.form-textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.char-counter{color:#636e72;display:block;font-size:13px;margin-top:6px;text-align:right}.message{align-items:center;animation:slideIn .3s ease;border-radius:8px;display:flex;font-size:14px;gap:10px;margin-bottom:20px;padding:14px 18px}.message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.message i{font-size:18px}.tts-info-box{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;padding:28px}.tts-info-box h3{align-items:center;display:flex;font-size:18px;gap:10px;margin:0 0 18px}.tts-info-box ul{list-style:none;margin:0;padding:0}.tts-info-box li{padding:10px 0 10px 24px;position:relative}.tts-info-box li:before{color:#4ade80;content:"✓";font-size:18px;font-weight:700;left:0;position:absolute}.tts-info-box strong{color:#fbbf24}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.stats-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.stat-card{align-items:center;background:#fff;border:1px solid #0000000d;border-radius:16px;box-shadow:0 4px 16px #0000000f;display:flex;gap:20px;overflow:hidden;padding:28px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.4,0,.2,1)}.stat-card:hover:before{transform:scaleX(1)}.stat-card:hover{box-shadow:0 12px 28px #0000001f;transform:translateY(-6px)}.stat-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:14px;box-shadow:0 4px 12px #667eea4d;color:#fff;display:flex;flex-shrink:0;font-size:28px;height:64px;justify-content:center;width:64px}.stat-icon.active{background:linear-gradient(135deg,#11998e,#38ef7d);box-shadow:0 4px 12px #11998e4d}.stat-icon.blocked{background:linear-gradient(135deg,#ee0979,#ff6a00);box-shadow:0 4px 12px #ee09794d}.stat-info h3{color:#2d3436;font-size:36px;font-weight:700;line-height:1;margin:0}.stat-info p{color:#636e72;font-size:14px;font-weight:500;margin:8px 0 0}.now-playing-card{background:#fff;border:1px solid #0000000d;border-radius:16px;border-top:4px solid #f44;box-shadow:0 4px 16px #0000000f;padding:32px}.now-playing-card h2{align-items:center;color:#2d3436;display:flex;font-size:22px;font-weight:700;gap:12px;margin:0 0 24px}.now-playing-info{align-items:center;display:flex;gap:24px}.np-album-art{border-radius:12px;box-shadow:0 6px 16px #0003;flex-shrink:0;height:120px;object-fit:cover;width:120px}.np-details h3{color:#2d3436;font-size:24px;margin:0}.np-artist{color:#636e72;font-size:16px;margin:5px 0 15px}.np-meta{align-items:center;display:flex;gap:15px}.live-badge{align-items:center;background:#f44;border-radius:20px;color:#fff;display:inline-flex;font-size:14px;font-weight:600;gap:5px;padding:5px 12px}.live-badge i{animation:pulse 2s ease infinite}.listeners{align-items:center;color:#636e72;display:flex;gap:5px}.no-track{color:#b2bec3;font-style:italic}.radio-live-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-bottom:24px}@media (max-width:900px){.radio-live-grid{grid-template-columns:1fr}}.upcoming-card{background:#fff;border:1px solid #0000000d;border-radius:16px;border-top:4px solid #00b894;box-shadow:0 4px 16px #0000000f;padding:32px}.upcoming-card h2{align-items:center;color:#2d3436;display:flex;font-size:20px;font-weight:700;gap:12px;margin:0 0 24px}.upcoming-track-info{align-items:center;display:flex;gap:20px}.np-album-art--small{height:80px;width:80px}.np-album,.np-duration,.np-genre{align-items:center;color:#636e72;display:flex;font-size:14px;gap:6px;margin:4px 0}.radio-info-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr);margin-bottom:30px}@media (max-width:1100px){.radio-info-grid{grid-template-columns:1fr 1fr}}@media (max-width:700px){.radio-info-grid{grid-template-columns:1fr}}.info-card{background:#fff;border:1px solid #0000000d;border-radius:16px;box-shadow:0 4px 16px #0000000f;padding:28px}.info-card h2{align-items:center;color:#2d3436;display:flex;font-size:17px;font-weight:700;gap:10px;margin:0 0 20px}.announcement-card{border-top:4px solid #6c5ce7}.announcement-preparing,.announcement-ready{display:flex;flex-direction:column;gap:14px}.announcement-text{background:#f8f4ff;border-left:3px solid #6c5ce7;border-radius:0 8px 8px 0;color:#4a3d6e;font-size:14px;font-style:italic;line-height:1.6;margin:0;padding:14px 16px}.info-hint{color:#636e72;font-size:13px;margin:0}.badge{align-items:center;border-radius:20px;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:5px 12px;width:-webkit-fit-content;width:fit-content}.badge--green{background:#d4edda;color:#1e7e34}.badge--orange{background:#fff3cd;color:#856404}.schedule-card{border-top:4px solid #fdcb6e}.schedule-name{color:#2d3436;font-size:18px;font-weight:700;margin-bottom:16px}.schedule-details{display:flex;flex-direction:column;gap:10px}.schedule-detail-item{align-items:center;color:#636e72;display:flex;font-size:14px;gap:10px}.schedule-detail-item i{text-align:center;width:16px}.text-green{color:#00b894}.text-grey{color:#b2bec3}.tts-queue-card{border-top:4px solid #fd79a8}.tts-queue-count{gap:14px;margin-bottom:16px}.queue-badge,.tts-queue-count{align-items:center;display:flex}.queue-badge{border-radius:50%;flex-shrink:0;font-size:20px;font-weight:700;height:48px;justify-content:center;width:48px}.queue-badge--active{background:#fd79a8;color:#fff}.queue-badge--empty{background:#f0f3f7;color:#b2bec3}.queue-label{color:#636e72;font-size:15px}.tts-queue-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.tts-queue-item{background:#fff5f8;border-left:3px solid #fd79a8;border-radius:8px;padding:10px 14px}.tts-queue-text{color:#4a3d6e;font-size:13px;font-style:italic}.tts-queue-more{color:#b2bec3;font-size:13px;padding:4px 0}.filters-bar{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:20px}.filters-bar,.search-box{margin-bottom:20px}.search-form{align-items:center;display:flex;gap:10px}.search-form i{color:#b2bec3;left:35px;position:absolute}.search-form input{border:2px solid #dfe6e9;border-radius:8px;flex:1 1;font-size:16px;padding:12px 12px 12px 40px;transition:all .3s ease}.search-form input:focus{border-color:#667eea;outline:none}.btn-clear{background:#ff6b6b;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:12px 20px;transition:all .3s ease}.btn-clear:hover{background:#ee5a6f}.filter-controls{display:flex;flex-wrap:wrap;gap:15px}.filter-group{align-items:center;display:flex;gap:10px}.filter-group label{align-items:center;color:#2d3436;display:flex;font-weight:500;gap:5px}.filter-group select{border:2px solid #dfe6e9;border-radius:8px;cursor:pointer;font-size:14px;padding:10px 15px;transition:all .3s ease}.filter-group select:focus{border-color:#667eea;outline:none}.tracks-table-container,.users-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;overflow:hidden}.tracks-table,.users-table{border-collapse:collapse;width:100%}.tracks-table thead,.users-table thead{background:#f8f9fa}.tracks-table th,.users-table th{border-bottom:2px solid #dfe6e9;color:#2d3436;font-weight:600;padding:15px;text-align:left}.tracks-table td,.users-table td{border-bottom:1px solid #f1f3f5;padding:15px}.tracks-table tbody tr:hover,.users-table tbody tr:hover{background:#f8f9fa}.blocked-row{opacity:.6}.title-cell{font-weight:500}.artist-name{color:#636e72;display:block;font-size:14px;margin-top:5px}.status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:13px;font-weight:500;gap:5px;padding:6px 12px}.status-badge.active{background:#d4edda;color:#155724}.status-badge.blocked{background:#f8d7da;color:#721c24}.action-buttons{display:flex;gap:8px}.btn-block,.btn-delete,.btn-edit,.btn-unblock{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;gap:5px;padding:8px 12px;transition:all .3s ease}.btn-unblock{background:#d4edda;color:#155724}.btn-unblock:hover{background:#c3e6cb}.btn-block{background:#f8d7da;color:#721c24}.btn-block:hover{background:#f5c6cb}.btn-edit{background:#cce5ff;color:#004085}.btn-edit:hover{background:#b8daff}.btn-delete{background:#f8d7da;color:#721c24}.btn-delete:hover{background:#f5c6cb}.upload-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:30px}.upload-form{max-width:600px}.form-group{margin-bottom:25px}.form-group label{align-items:center;color:#2d3436;display:flex;font-weight:600;gap:8px}.form-group input,.form-group textarea{border:2px solid #dfe6e9;border-radius:8px;font-family:inherit;font-size:16px;padding:12px;transition:all .3s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;outline:none}.help-text{align-items:center;color:#636e72;display:flex;font-size:14px;gap:5px;margin:8px 0 0}.file-input-wrapper input[type=file]{padding:10px}.upload-info{background:#f8f9fa;border-radius:8px;margin-top:30px;padding:20px}.upload-info h3{align-items:center;color:#2d3436;display:flex;gap:10px;margin:0 0 15px}.upload-info ul{margin:0;padding-left:20px}.upload-info li{color:#636e72;margin-bottom:8px}.settings-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;margin-bottom:30px;padding:30px}.settings-section h2{align-items:center;color:#2d3436;display:flex;gap:10px;margin:0 0 10px}.section-description{color:#636e72;margin-bottom:25px}.share-card{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:20px}.share-card h3{color:#2d3436;font-size:18px;margin:0 0 15px}.share-card h3,.url-display{align-items:center;display:flex;gap:10px}.url-display{margin-bottom:10px}.url-display code{background:#fff;border:2px solid #dfe6e9;border-radius:8px;flex:1 1;font-family:Courier New,monospace;overflow-x:auto;padding:12px}.code-display{margin-bottom:15px}.code-display pre{background:#fff;border:2px solid #dfe6e9;border-radius:8px;margin:0;overflow-x:auto;padding:15px}.code-display code{color:#2d3436;font-family:Courier New,monospace;font-size:14px}.btn-copy{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;gap:8px;padding:12px 20px;transition:all .3s ease}.btn-copy:hover{box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.info-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:20px}.info-item{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:15px;padding:15px}.info-item i{color:#667eea;font-size:24px}.info-item strong{color:#2d3436;display:block;margin-bottom:5px}.info-item p{color:#636e72;font-size:14px;margin:0}.modal-overlay{animation:fadeIn .3s ease;z-index:2000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease;border-radius:12px;max-width:500px}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid #dfe6e9;justify-content:space-between;padding:25px}.modal-header,.modal-header h2{align-items:center;display:flex}.modal-header h2{gap:10px;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#636e72;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;transition:all .3s ease;width:36px}.modal-close:hover{background:#f8f9fa;color:#2d3436}.modal-form{padding:25px}.modal-actions{gap:10px;margin-top:25px}.loading{color:#636e72;font-size:18px}.loading,.no-data{padding:60px 20px;text-align:center}.no-data{color:#b2bec3}.no-data i{display:block;font-size:48px;margin-bottom:20px}.no-data p{font-size:18px;margin:10px 0}@media (max-width:1024px){.admin-sidebar{width:220px}.admin-main{margin-left:220px;padding:30px 20px}}@media (max-width:768px){.admin-sidebar{width:70px}.logout-btn span,.nav-item span,.sidebar-header h2 span,.user-info{display:none}.sidebar-header{padding:20px 10px}.nav-item{justify-content:center;padding:15px}.admin-main{margin-left:70px;padding:20px 15px}.page-header{align-items:flex-start;flex-direction:column;gap:15px}.stats-grid{grid-template-columns:1fr}.filter-controls{flex-direction:column;width:100%}.filter-group{width:100%}.filter-group select{flex:1 1}.now-playing-info{align-items:flex-start;flex-direction:column}.tracks-table-container,.users-table-container{overflow-x:auto}}.news-manager-page,.weather-manager-page{margin:0 auto;max-width:1200px;padding:30px}.news-actions,.weather-actions{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:25px}.btn-success{align-items:center;background:linear-gradient(135deg,#11998e,#38ef7d);border:none;border-radius:8px;box-shadow:0 4px 15px #11998e4d;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:10px;padding:12px 24px;transition:all .3s ease}.btn-success:hover:not(:disabled){box-shadow:0 6px 20px #11998e66;transform:translateY(-2px)}.btn-success:disabled{cursor:not-allowed;opacity:.6}.news-list{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;margin-bottom:25px;padding:25px}.news-list h3{color:#2d3748;margin-bottom:10px;margin-top:0}.hint{color:#718096;font-size:14px;font-style:italic;margin-bottom:20px}.news-item{background:#f7fafc;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;margin-bottom:15px;padding:20px;transition:all .3s ease}.news-item:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateX(5px)}.news-item.selected{background:linear-gradient(135deg,#667eea15,#764ba215);border-color:#667eea;box-shadow:0 4px 15px #667eea40}.news-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.news-meta{color:#718096;display:flex;font-size:13px;gap:20px}.news-date,.news-source,.selected-badge{align-items:center;display:flex;gap:6px}.selected-badge{background:#667eea;border-radius:20px;color:#fff;font-size:12px;font-weight:600;padding:6px 12px}.news-item h4{color:#2d3748;font-size:17px;line-height:1.4;margin:0 0 10px}.news-description{color:#4a5568;font-size:14px;line-height:1.6;margin:0}.weather-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:25px}.weather-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:25px;transition:all .3s ease}.weather-card:hover{box-shadow:0 8px 25px #0000001f;transform:translateY(-5px)}.weather-card-header{margin-bottom:20px;text-align:center}.weather-card-header h3{color:#2d3748;font-size:20px;margin:0 0 8px}.weather-city{color:#718096;font-size:14px;font-weight:400}.weather-main{align-items:center;display:flex;flex-direction:column;margin:25px 0}.weather-icon{color:#667eea;font-size:64px;margin-bottom:15px}.weather-temp{color:#2d3748;font-size:48px;font-weight:700}.weather-details{border-top:2px solid #e2e8f0;display:flex;flex-direction:column;gap:12px;padding-top:20px}.weather-detail-item{align-items:center;color:#4a5568;display:flex;font-size:15px;gap:10px}.weather-detail-item i{color:#667eea;width:20px}.info-box{background:linear-gradient(135deg,#667eea15,#764ba215);border:1px solid #667eea30;border-radius:12px;margin-top:25px;padding:25px}.info-box h3{align-items:center;color:#2d3748;display:flex;gap:10px;margin-top:0}.info-box ul{margin:15px 0 0;padding-left:20px}.info-box li{color:#4a5568;line-height:1.6;margin-bottom:12px}.info-box strong{color:#2d3748}.info-box a{color:#667eea;font-weight:600;text-decoration:none}.info-box a:hover{text-decoration:underline}:root{--admin-ink:#1d2b2a;--admin-muted:#6d7b78;--admin-line:#dce5e1;--admin-paper:#f4f6f2;--admin-panel:#fff;--admin-teal:#197c73;--admin-coral:#e56b52;--admin-yellow:#e7b85c;--admin-shadow:0 10px 30px #1d2b2a0f}.admin-layout{background:#f4f6f2;background:var(--admin-paper);color:#1d2b2a;color:var(--admin-ink);font-family:Trebuchet MS,Segoe UI,sans-serif}.admin-sidebar{-webkit-backdrop-filter:none;backdrop-filter:none;background:#1d2b2a;background:var(--admin-ink);box-shadow:8px 0 24px #1d2b2a14;width:248px}.sidebar-header{background:#0000;border-bottom:1px solid #ffffff1f;padding:28px 22px 22px}.brand-lockup{align-items:center;display:flex;gap:12px}.brand-mark{background:#e56b52;background:var(--admin-coral);border-radius:8px;color:#1d2b2a;color:var(--admin-ink);display:grid;font-size:17px;height:38px;place-items:center;width:38px}.sidebar-header h2{color:#fffaf0;font-family:Georgia,Times New Roman,serif;font-size:22px;letter-spacing:-.2px;line-height:1}.brand-kicker{color:#9db1ac;display:block;font-size:10px;font-weight:700;letter-spacing:1.2px;margin-top:5px;text-transform:uppercase}.user-info{background:#0000;color:#b8c7c2;font-size:12px;margin:24px 0 0;padding:0}.sidebar-nav{padding:18px 12px}.nav-item{border-left:0;border-radius:6px;color:#aebeb9;font-size:13px;font-weight:600;gap:12px;margin:3px 0;padding:11px 12px}.nav-item:before{display:none}.nav-item.active,.nav-item:hover{color:#fffaf0;padding-left:12px}.nav-item:hover{background:#ffffff12}.nav-item.active{background:#2b4541;box-shadow:inset 3px 0 0 #e56b52;box-shadow:inset 3px 0 0 var(--admin-coral)}.nav-item i{color:#88aaa2;font-size:14px;width:18px}.nav-item.active i{color:#e56b52;color:var(--admin-coral)}.sidebar-footer{background:#0000;border-top:1px solid #ffffff1f;padding:16px 12px 20px}.logout-btn{background:#0000;border:1px solid #ffffff29;border-radius:6px;color:#b8c7c2;font-size:13px;justify-content:flex-start;padding:11px 12px}.logout-btn:hover{background:#e56b5224;border-color:#e56b5299;box-shadow:none;color:#fffaf0;transform:none}.admin-main{margin-left:248px;padding:38px 44px 56px;width:calc(100% - 248px)}.page-header{border-bottom:1px solid #dce5e1;border-bottom:1px solid var(--admin-line);margin-bottom:28px;padding-bottom:22px}.page-header h1{color:#1d2b2a;color:var(--admin-ink);font-family:Georgia,Times New Roman,serif;font-size:34px;font-weight:700;letter-spacing:-.6px}.page-header p,.page-subtitle{color:#6d7b78;color:var(--admin-muted);font-size:14px}.card,.filters-bar,.info-card,.news-list,.now-playing-card,.settings-section,.stat-card,.tracks-table-container,.tts-form,.upcoming-card,.upload-card,.users-table-container,.weather-card{border:1px solid #dce5e1;border:1px solid var(--admin-line);border-radius:6px;box-shadow:0 10px 30px #1d2b2a0f;box-shadow:var(--admin-shadow)}.card,.settings-section,.tts-form,.upload-card{padding:26px}.stat-card{box-shadow:0 10px 30px #1d2b2a0f;box-shadow:var(--admin-shadow);gap:16px;padding:22px}.stat-card:hover,.weather-card:hover{box-shadow:0 14px 32px #1d2b2a1a;transform:translateY(-2px)}.stat-card:before{background:#e56b52;background:var(--admin-coral);height:3px}.stat-icon,.stat-icon.active,.stat-icon.blocked{border-radius:6px;box-shadow:none;font-size:18px;height:46px;width:46px}.stat-icon,.stat-icon.active,.stat-icon.blocked{background:#e3f0ed;color:#197c73;color:var(--admin-teal)}.stat-icon.blocked{background:#fbe8e3;color:#e56b52;color:var(--admin-coral)}.stat-info h3{color:#1d2b2a;color:var(--admin-ink);font-family:Georgia,Times New Roman,serif;font-size:29px}.info-hint,.listeners,.np-album,.np-artist,.np-duration,.np-genre,.queue-label,.stat-info p{color:#6d7b78;color:var(--admin-muted)}.info-card,.now-playing-card,.upcoming-card{border-top:3px solid #e56b52;border-top:3px solid var(--admin-coral);padding:25px}.upcoming-card{border-top-color:#197c73;border-top-color:var(--admin-teal)}.announcement-card,.schedule-card,.tts-queue-card{border-top-width:3px}.announcement-card{border-top-color:#197c73;border-top-color:var(--admin-teal)}.schedule-card{border-top-color:#e7b85c;border-top-color:var(--admin-yellow)}.tts-queue-card{border-top-color:#e56b52;border-top-color:var(--admin-coral)}.card h2,.info-card h2,.now-playing-card h2,.upcoming-card h2{color:#1d2b2a;color:var(--admin-ink);font-size:17px}.card h2 i,.info-card h2 i,.now-playing-card h2 i,.upcoming-card h2 i{color:#197c73;color:var(--admin-teal)}.btn-copy,.btn-primary,.btn-success{background:#197c73;background:var(--admin-teal);border-radius:5px;box-shadow:none}.btn-copy:hover,.btn-primary:hover,.btn-success:hover:not(:disabled){background:#12665e;box-shadow:none;transform:translateY(-1px)}.btn-secondary{border:1px solid #dce5e1;border:1px solid var(--admin-line);border-radius:5px;box-shadow:none}.btn-secondary:hover{border-color:#197c73;border-color:var(--admin-teal);box-shadow:none;color:#197c73;color:var(--admin-teal);transform:none}.form-group input,.form-group textarea,.form-select,.form-textarea,input[type=email],input[type=file],input[type=password],input[type=text],select,textarea{border:1px solid #dce5e1;border:1px solid var(--admin-line);border-radius:5px;color:#1d2b2a;color:var(--admin-ink)}.form-group input:focus,.form-group textarea:focus,.form-select:focus,.form-textarea:focus,input[type=email]:focus,input[type=password]:focus,input[type=text]:focus,select:focus,textarea:focus{border-color:#197c73;border-color:var(--admin-teal);box-shadow:0 0 0 3px #197c731f}.tracks-table-container,.users-table-container,table{box-shadow:0 10px 30px #1d2b2a0f;box-shadow:var(--admin-shadow)}.tracks-table thead,.users-table thead,thead{background:#edf3f0;color:#1d2b2a;color:var(--admin-ink)}.tracks-table th,.users-table th,thead th{border-bottom:1px solid #dce5e1;border-bottom:1px solid var(--admin-line);color:#6d7b78;color:var(--admin-muted);font-size:11px;letter-spacing:1px;padding:14px 15px}.tracks-table td,.users-table td,tbody td{color:#1d2b2a;color:var(--admin-ink);padding:14px 15px}.tracks-table tbody tr:hover,.users-table tbody tr:hover,tbody tr:hover{background:#f7faf8;transform:none}.live-badge{background:#e56b52;background:var(--admin-coral);border-radius:4px}.queue-badge,.queue-badge--active{background:#fbe8e3;border-radius:6px;color:#e56b52;color:var(--admin-coral)}.queue-badge--empty{background:#edf3f0;color:#6d7b78;color:var(--admin-muted)}@media (max-width:1024px){.admin-sidebar{width:220px}.admin-main{margin-left:220px;padding:32px 24px 48px;width:calc(100% - 220px)}}@media (max-width:768px){.admin-sidebar{width:64px}.sidebar-header{padding:18px 10px}.brand-lockup{justify-content:center}.brand-lockup>div,.logout-btn span,.nav-item span,.user-info{display:none}.logout-btn,.nav-item{justify-content:center}.admin-main{margin-left:64px;padding:24px 16px 40px;width:calc(100% - 64px)}.page-header h1{font-size:29px}}.scheduler-container{background:#0000;min-height:100vh;padding:0;width:100%}.scheduler-header{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:25px;padding:20px}.scheduler-header h2{color:#2c3e50;font-size:28px;font-weight:600;margin:0 0 8px}.scheduler-header p{color:#7f8c8d;font-size:14px;margin:0}.calendar-grid{background:#fff;border:1px solid #e1e8ed;border-radius:12px;box-shadow:0 2px 12px #00000014;overflow:hidden}.calendar-header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:3px solid #5a67d8;display:grid;grid-template-columns:80px repeat(7,1fr);position:-webkit-sticky;position:sticky;top:0;z-index:10}.time-column-header{background:#0000001a;color:#ffffffe6;font-size:13px}.day-header,.time-column-header{border-right:1px solid #fff3;font-weight:600;padding:16px;text-align:center}.day-header{color:#fff;font-size:14px;letter-spacing:.5px;text-transform:uppercase}.day-header:last-child{border-right:none}.calendar-body{display:grid;grid-template-columns:80px repeat(7,1fr)}.time-column{background:#f8f9fa;border-right:2px solid #e1e8ed}.time-cell{align-items:center;border-bottom:1px solid #e1e8ed;color:#7f8c8d;display:flex;font-size:12px;font-weight:500;height:60px;justify-content:center;padding:5px;text-align:center}.day-column{background:#fff;border-right:1px solid #e1e8ed;position:relative}.day-column:last-child{border-right:none}.hour-cell{border-bottom:1px solid #e1e8ed;cursor:pointer;height:60px;position:relative;transition:background .2s}.hour-cell:hover:not(.has-schedule){background:linear-gradient(135deg,#667eea14,#764ba214)}.hour-cell.has-schedule{cursor:default}.schedule-block{background:linear-gradient(135deg,#667eea,#764ba2);border:2px solid #5a67d8;border-radius:8px;bottom:2px;box-shadow:0 2px 8px #667eea4d;cursor:pointer;left:4px;overflow:hidden;padding:10px;position:absolute;right:4px;top:2px;transition:all .2s;z-index:5}.schedule-block:hover{border-color:#4c51bf;box-shadow:0 6px 16px #667eea80;transform:translateY(-2px)}.schedule-name{color:#fff;font-size:13px;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-voice{color:#ffffffe6}.schedule-time,.schedule-voice{font-size:11px;margin-bottom:3px}.schedule-time{color:#ffffffd9}.schedule-feature{color:#4fd1c5;font-size:10px;font-weight:500;margin-top:2px}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;padding:32px;width:90%}.modal-content h3{color:#2c3e50;font-size:24px;font-weight:600;margin-bottom:24px;margin-top:0}.form-group{margin-bottom:20px}.form-group label{color:#2c3e50;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input[type=number],.form-group input[type=text],.form-group input[type=time],.form-group select{background:#f8f9fa;border:2px solid #e1e8ed;border-radius:8px;color:#2c3e50;font-size:14px;padding:12px;transition:all .2s;width:100%}.form-group input[type=number]:focus,.form-group input[type=text]:focus,.form-group input[type=time]:focus,.form-group select:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(3,1fr)}.checkbox-group{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:15px;padding:12px}.checkbox-group label{align-items:center;color:#2c3e50;cursor:pointer;display:flex;gap:8px;margin-bottom:0}.checkbox-group input[type=checkbox]{cursor:pointer;height:18px;width:18px}.checkbox-group input[type=number]{padding:8px;width:150px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:28px}.modal-actions button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-save{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 8px #10b9814d;color:#fff}.btn-save:hover{box-shadow:0 4px 12px #10b98166;transform:translateY(-2px)}.btn-delete{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 8px #ef44444d;color:#fff}.btn-delete:hover{box-shadow:0 4px 12px #ef444466;transform:translateY(-2px)}.btn-cancel{background:#e5e7eb;color:#4b5563}.btn-cancel:hover{background:#d1d5db;transform:translateY(-2px)}.weather-times-manager{margin-top:10px;width:100%}.weather-times-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;min-height:32px}.time-badge{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:4px 10px 4px 12px}.time-badge-remove{align-items:center;background:#ffffff40;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;height:18px;justify-content:center;line-height:1;padding:0;width:18px}.time-badge-remove:hover{background:#ffffff73}.add-time-row{align-items:center;display:flex;gap:8px}.add-time-row input[type=time]{padding:8px 12px;width:auto}.btn-add-time{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;white-space:nowrap}.btn-add-time:hover{opacity:.9;transform:translateY(-1px)}.calendar-grid::-webkit-scrollbar,.modal-content::-webkit-scrollbar{height:8px;width:8px}.calendar-grid::-webkit-scrollbar-track,.modal-content::-webkit-scrollbar-track{background:#f1f3f5}.calendar-grid::-webkit-scrollbar-thumb,.modal-content::-webkit-scrollbar-thumb{background:#667eea;border-radius:4px}.calendar-grid::-webkit-scrollbar-thumb:hover,.modal-content::-webkit-scrollbar-thumb:hover{background:#5a67d8}@media (max-width:1200px){.calendar-grid{overflow-x:auto}.day-header{min-width:120px}}@media (max-width:768px){.scheduler-container{padding:12px}.scheduler-header{padding:16px}.scheduler-header h2{font-size:22px}.form-row{grid-template-columns:1fr}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.radio-player{align-items:center;background:#000;display:flex;height:100vh;justify-content:center;left:0;overflow:hidden!important;position:fixed;top:0;width:100vw}.radio-player:before{animation:backgroundPulse 8s ease-in-out infinite;background-position:50%;background-size:cover;bottom:-50%;content:"";filter:blur(100px) brightness(.4) saturate(1.5);left:-50%;position:absolute;right:-50%;top:-50%;transform:scale(1.3);z-index:0}@keyframes backgroundPulse{0%,to{filter:blur(100px) brightness(.4) saturate(1.5);transform:scale(1.3)}50%{filter:blur(120px) brightness(.5) saturate(2);transform:scale(1.35)}}.radio-player:after{background:radial-gradient(circle at center,#0000 0,#0006 70%,#000c 100%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.player-container{animation:containerFadeIn 1.2s ease-out;max-width:700px;padding:60px 40px;position:relative;text-align:center;width:90%;z-index:1}@keyframes containerFadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.album-art-wrapper{margin:0 auto 50px;perspective:1000px;position:relative}.album-art-wrapper:after,.album-art-wrapper:before{border-radius:50%;content:"";height:120%;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:120%}.album-art-wrapper:before{animation:rotateGlow 6s linear infinite;background:conic-gradient(from 0deg,#0000 0deg,color-mix(in srgb,#8a2be2 40%,#fff 60%) 90deg,#0000 180deg,color-mix(in srgb,#8a2be2 40%,#fff 60%) 270deg,#0000 1turn);background:conic-gradient(from 0deg,#0000 0deg,color-mix(in srgb,var(--theme-primary,#8a2be2) 40%,#fff 60%) 90deg,#0000 180deg,color-mix(in srgb,var(--theme-primary,#8a2be2) 40%,#fff 60%) 270deg,#0000 1turn);filter:blur(30px)}.album-art-wrapper:after{animation:rotateGlow 8s linear infinite reverse;background:conic-gradient(from 180deg,#0000 0deg,color-mix(in srgb,#667eea 50%,#0000 50%) 90deg,#0000 180deg,color-mix(in srgb,#f093fb 50%,#0000 50%) 270deg,#0000 1turn);background:conic-gradient(from 180deg,#0000 0deg,color-mix(in srgb,var(--theme-secondary,#667eea) 50%,#0000 50%) 90deg,#0000 180deg,color-mix(in srgb,var(--theme-accent,#f093fb) 50%,#0000 50%) 270deg,#0000 1turn);filter:blur(40px)}@keyframes rotateGlow{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}.album-art{animation:float 6s ease-in-out infinite,albumGlow 3s ease-in-out infinite;border-radius:30px;box-shadow:0 30px 80px #000000b3,0 0 100px color-mix(in srgb,#8a2be2 50%,#0000 50%),0 0 150px color-mix(in srgb,#667eea 40%,#0000 60%),inset 0 0 80px #ffffff0d;box-shadow:0 30px 80px #000000b3,0 0 100px color-mix(in srgb,var(--theme-primary,#8a2be2) 50%,#0000 50%),0 0 150px color-mix(in srgb,var(--theme-secondary,#667eea) 40%,#0000 60%),inset 0 0 80px #ffffff0d;height:450px;margin:0 auto;max-width:450px;overflow:hidden;position:relative;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.34,1.56,.64,1);width:100%}@keyframes float{0%,to{transform:translateY(0) rotateX(0deg)}50%{transform:translateY(-15px) rotateX(2deg)}}@keyframes albumGlow{0%,to{box-shadow:0 30px 80px #000000b3,0 0 100px color-mix(in srgb,#8a2be2 50%,#0000 50%),0 0 150px color-mix(in srgb,#667eea 40%,#0000 60%),inset 0 0 80px #ffffff0d;box-shadow:0 30px 80px #000000b3,0 0 100px color-mix(in srgb,var(--theme-primary,#8a2be2) 50%,#0000 50%),0 0 150px color-mix(in srgb,var(--theme-secondary,#667eea) 40%,#0000 60%),inset 0 0 80px #ffffff0d}50%{box-shadow:0 35px 90px #000c,0 0 120px color-mix(in srgb,#8a2be2 70%,#0000 30%),0 0 180px color-mix(in srgb,#667eea 60%,#0000 40%),inset 0 0 100px #ffffff14;box-shadow:0 35px 90px #000c,0 0 120px color-mix(in srgb,var(--theme-primary,#8a2be2) 70%,#0000 30%),0 0 180px color-mix(in srgb,var(--theme-secondary,#667eea) 60%,#0000 40%),inset 0 0 100px #ffffff14}}.album-art:hover{transform:translateY(-20px) rotateX(5deg) scale(1.03)}.album-art img{display:block;filter:brightness(1.05) contrast(1.1) saturate(1.2);height:100%;object-fit:cover;transition:filter .3s ease;width:100%}.album-art:hover img{filter:brightness(1.1) contrast(1.15) saturate(1.3)}.album-art:before{background:radial-gradient(circle,#000c 0,#0006 40%,#0000 70%);border-radius:50%;content:"";height:30%;left:50%;opacity:.3;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:30%;z-index:2}.no-image{align-items:center;animation:gradientShift 10s ease infinite;background:linear-gradient(135deg,#667eea,#764ba2 100%,#f093fb 200%);background:linear-gradient(135deg,var(--theme-secondary,#667eea) 0,var(--theme-primary,#764ba2) 100%,var(--theme-accent,#f093fb) 200%);background-size:200% 200%;color:#fff6;display:flex;font-size:140px;height:100%;justify-content:center;width:100%}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.track-info{animation:fadeInUp .8s ease;margin-bottom:50px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.track-title{-webkit-text-fill-color:#0000;animation:textShimmer 5s ease infinite,textFloat 3s ease-in-out infinite;background:linear-gradient(135deg,#fff,#f0f0f0 50%,#fff);-webkit-background-clip:text;background-clip:text;background-size:200% 200%;font-size:42px;font-weight:800;letter-spacing:-1px;line-height:1.2;margin:0 0 15px;text-shadow:0 4px 30px #ffffff4d}@keyframes textShimmer{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes textFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.track-artist{display:none}.player-controls{align-items:center;animation:controlsFadeIn 1s ease .5s backwards;display:flex;gap:30px;justify-content:center;margin-bottom:40px}@keyframes controlsFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.play-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2 50%,#f093fb);background:linear-gradient(135deg,var(--theme-secondary,#667eea) 0,var(--theme-primary,#764ba2) 50%,var(--theme-accent,#f093fb) 100%);background-size:200% 200%;border:none;border-radius:50%;box-shadow:0 15px 40px color-mix(in srgb,#667eea 60%,#0000 40%),0 0 60px color-mix(in srgb,#8a2be2 40%,#0000 60%),inset 0 0 30px #fff3;box-shadow:0 15px 40px color-mix(in srgb,var(--theme-secondary,#667eea) 60%,#0000 40%),0 0 60px color-mix(in srgb,var(--theme-primary,#8a2be2) 40%,#0000 60%),inset 0 0 30px #fff3;color:#fff;cursor:pointer;display:flex;font-size:36px;height:90px;justify-content:center;overflow:visible;position:relative;transform-origin:center center;transition:all .3s cubic-bezier(.34,1.56,.64,1);width:90px}.play-button.clicked{animation:buttonMegaExplode 1s cubic-bezier(.68,-.55,.265,1.55),buttonIntenseFlash 1s ease-out}@keyframes buttonMegaExplode{0%{transform:scale(1) rotate(0deg);transform-origin:center center}15%{transform:scale(.75) rotate(-12deg);transform-origin:center center}35%{transform:scale(1.5) rotate(20deg);transform-origin:center center}50%{transform:scale(.9) rotate(-8deg);transform-origin:center center}65%{transform:scale(1.25) rotate(12deg);transform-origin:center center}80%{transform:scale(.97) rotate(-4deg);transform-origin:center center}to{transform:scale(1) rotate(0deg);transform-origin:center center}}@keyframes buttonShake{0%,to{transform:translateX(0) translateY(0)}10%{transform:translateX(-8px) translateY(5px) rotate(-3deg)}20%{transform:translateX(8px) translateY(-5px) rotate(3deg)}30%{transform:translateX(-8px) translateY(3px) rotate(-2deg)}40%{transform:translateX(8px) translateY(-3px) rotate(2deg)}50%{transform:translateX(-5px) translateY(2px) rotate(-1deg)}60%{transform:translateX(5px) translateY(-2px) rotate(1deg)}70%{transform:translateX(-3px) translateY(1px)}80%{transform:translateX(3px) translateY(-1px)}90%{transform:translateX(-1px) translateY(0)}}@keyframes buttonIntenseFlash{0%{box-shadow:0 15px 40px color-mix(in srgb,#667eea 60%,#0000 40%),0 0 60px color-mix(in srgb,#8a2be2 40%,#0000 60%),inset 0 0 30px #fff3;box-shadow:0 15px 40px color-mix(in srgb,var(--theme-secondary,#667eea) 60%,#0000 40%),0 0 60px color-mix(in srgb,var(--theme-primary,#8a2be2) 40%,#0000 60%),inset 0 0 30px #fff3}10%{box-shadow:0 30px 100px #667eea,0 0 200px #8a2be2,0 0 300px #f093fb,0 0 400px #fffc,inset 0 0 80px #ffffffe6;box-shadow:0 30px 100px var(--theme-secondary,#667eea),0 0 200px var(--theme-primary,#8a2be2),0 0 300px var(--theme-accent,#f093fb),0 0 400px #fffc,inset 0 0 80px #ffffffe6}30%{box-shadow:0 20px 70px color-mix(in srgb,#667eea 80%,#0000 20%),0 0 150px color-mix(in srgb,#8a2be2 90%,#0000 10%),0 0 200px color-mix(in srgb,#f093fb 70%,#0000 30%),inset 0 0 50px #ffffff80;box-shadow:0 20px 70px color-mix(in srgb,var(--theme-secondary,#667eea) 80%,#0000 20%),0 0 150px color-mix(in srgb,var(--theme-primary,#8a2be2) 90%,#0000 10%),0 0 200px color-mix(in srgb,var(--theme-accent,#f093fb) 70%,#0000 30%),inset 0 0 50px #ffffff80}60%{box-shadow:0 25px 80px #667eea,0 0 180px #8a2be2,0 0 250px #f093fb,inset 0 0 60px #fff9;box-shadow:0 25px 80px var(--theme-secondary,#667eea),0 0 180px var(--theme-primary,#8a2be2),0 0 250px var(--theme-accent,#f093fb),inset 0 0 60px #fff9}to{box-shadow:0 15px 40px color-mix(in srgb,#667eea 60%,#0000 40%),0 0 60px color-mix(in srgb,#8a2be2 40%,#0000 60%),inset 0 0 30px #fff3;box-shadow:0 15px 40px color-mix(in srgb,var(--theme-secondary,#667eea) 60%,#0000 40%),0 0 60px color-mix(in srgb,var(--theme-primary,#8a2be2) 40%,#0000 60%),inset 0 0 30px #fff3}}@keyframes buttonFlash{0%,to{box-shadow:0 15px 40px color-mix(in srgb,#667eea 60%,#0000 40%),0 0 60px color-mix(in srgb,#8a2be2 40%,#0000 60%),inset 0 0 30px #fff3;box-shadow:0 15px 40px color-mix(in srgb,var(--theme-secondary,#667eea) 60%,#0000 40%),0 0 60px color-mix(in srgb,var(--theme-primary,#8a2be2) 40%,#0000 60%),inset 0 0 30px #fff3}40%{box-shadow:0 20px 60px color-mix(in srgb,#667eea 90%,#0000 10%),0 0 120px color-mix(in srgb,#8a2be2 80%,#0000 20%),0 0 150px color-mix(in srgb,#f093fb 60%,#0000 40%),inset 0 0 50px #ffffff80;box-shadow:0 20px 60px color-mix(in srgb,var(--theme-secondary,#667eea) 90%,#0000 10%),0 0 120px color-mix(in srgb,var(--theme-primary,#8a2be2) 80%,#0000 20%),0 0 150px color-mix(in srgb,var(--theme-accent,#f093fb) 60%,#0000 40%),inset 0 0 50px #ffffff80}}@keyframes buttonPulse{0%,to{box-shadow:0 15px 40px color-mix(in srgb,#667eea 60%,#0000 40%),0 0 60px color-mix(in srgb,#8a2be2 40%,#0000 60%),inset 0 0 30px #fff3;box-shadow:0 15px 40px color-mix(in srgb,var(--theme-secondary,#667eea) 60%,#0000 40%),0 0 60px color-mix(in srgb,var(--theme-primary,#8a2be2) 40%,#0000 60%),inset 0 0 30px #fff3}50%{box-shadow:0 20px 50px color-mix(in srgb,#667eea 80%,#0000 20%),0 0 80px color-mix(in srgb,#8a2be2 60%,#0000 40%),inset 0 0 40px #ffffff4d;box-shadow:0 20px 50px color-mix(in srgb,var(--theme-secondary,#667eea) 80%,#0000 20%),0 0 80px color-mix(in srgb,var(--theme-primary,#8a2be2) 60%,#0000 40%),inset 0 0 40px #ffffff4d}}@keyframes buttonBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes buttonRotate{0%{background-position:0 50%}to{background-position:200% 50%}}@keyframes buttonFloat{0%,to{transform:translateY(0) scale(1)}25%{transform:translateY(-8px) scale(1.05)}50%{transform:translateY(0) scale(1.08)}75%{transform:translateY(-8px) scale(1.05)}}.play-button i{position:relative;transition:transform .3s ease;z-index:2}.play-button.clicked i{animation:iconMegaSpin 1s cubic-bezier(.68,-.55,.265,1.55)}@keyframes iconMegaSpin{0%{transform:scale(1) rotate(0deg)}20%{transform:scale(.5) rotate(-90deg)}40%{transform:scale(1.8) rotate(180deg)}60%{transform:scale(.7) rotate(270deg)}80%{transform:scale(1.5) rotate(450deg)}to{transform:scale(1) rotate(2turn)}}@keyframes iconBounce{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.play-button:hover{animation-play-state:paused;box-shadow:0 20px 60px color-mix(in srgb,#667eea 80%,#0000 20%),0 0 100px color-mix(in srgb,#8a2be2 70%,#0000 30%),inset 0 0 50px #ffffff4d;box-shadow:0 20px 60px color-mix(in srgb,var(--theme-secondary,#667eea) 80%,#0000 20%),0 0 100px color-mix(in srgb,var(--theme-primary,#8a2be2) 70%,#0000 30%),inset 0 0 50px #ffffff4d;transform:scale(1.15) rotate(5deg)}.play-button:hover i{animation-play-state:paused;transform:scale(1.2)}.play-button:active{transform:scale(.95)}.play-button:disabled{animation:none;cursor:not-allowed;opacity:.5}.volume-control{align-items:center;animation:volumeFadeIn 1s ease .7s backwards;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:50px;box-shadow:0 8px 32px #0000004d,0 0 20px color-mix(in srgb,#8a2be2 10%,#0000 90%);box-shadow:0 8px 32px #0000004d,0 0 20px color-mix(in srgb,var(--theme-primary,#8a2be2) 10%,#0000 90%);display:flex;gap:20px;justify-content:center;margin-bottom:40px;padding:20px 30px;transition:all .3s ease}@keyframes volumeGlow{0%,to{box-shadow:0 8px 32px #0000004d,0 0 40px color-mix(in srgb,#8a2be2 20%,#0000 80%);box-shadow:0 8px 32px #0000004d,0 0 40px color-mix(in srgb,var(--theme-primary,#8a2be2) 20%,#0000 80%)}50%{box-shadow:0 8px 32px #0000004d,0 0 60px color-mix(in srgb,#8a2be2 40%,#0000 60%),0 0 80px color-mix(in srgb,#f093fb 20%,#0000 80%);box-shadow:0 8px 32px #0000004d,0 0 60px color-mix(in srgb,var(--theme-primary,#8a2be2) 40%,#0000 60%),0 0 80px color-mix(in srgb,var(--theme-accent,#f093fb) 20%,#0000 80%)}}@keyframes volumeFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.volume-icon{color:#ffffffe6;filter:drop-shadow(0 0 5px color-mix(in srgb,rgb(240,147,251) 20%,transparent 80%));filter:drop-shadow(0 0 5px color-mix(in srgb,var(--theme-accent,rgb(240,147,251)) 20%,transparent 80%));font-size:24px;text-align:center;transition:all .3s ease;width:30px}.volume-icon:hover{filter:drop-shadow(0 0 20px rgb(138,43,226));filter:drop-shadow(0 0 20px var(--theme-primary,rgb(138,43,226)));transform:scale(1.3)}.volume-slider{-webkit-appearance:none;background:linear-gradient(90deg,color-mix(in srgb,#667eea 30%,#0000 70%),color-mix(in srgb,#764ba2 30%,#0000 70%) 50%,color-mix(in srgb,#f093fb 30%,#0000 70%));background:linear-gradient(90deg,color-mix(in srgb,var(--theme-secondary,#667eea) 30%,#0000 70%) 0,color-mix(in srgb,var(--theme-primary,#764ba2) 30%,#0000 70%) 50%,color-mix(in srgb,var(--theme-accent,#f093fb) 30%,#0000 70%) 100%);border-radius:10px;height:8px;outline:none;position:relative;transition:all .3s ease;width:220px}@keyframes sliderFlow{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.volume-slider:hover{background:linear-gradient(90deg,color-mix(in srgb,#667eea 50%,#0000 50%),color-mix(in srgb,#764ba2 50%,#0000 50%) 50%,color-mix(in srgb,#f093fb 50%,#0000 50%));background:linear-gradient(90deg,color-mix(in srgb,var(--theme-secondary,#667eea) 50%,#0000 50%) 0,color-mix(in srgb,var(--theme-primary,#764ba2) 50%,#0000 50%) 50%,color-mix(in srgb,var(--theme-accent,#f093fb) 50%,#0000 50%) 100%)}@media (max-width:768px){.radio-player{min-height:90vh;padding:30px 20px}.album-art{height:320px;width:320px}.album-art,.track-info{margin-bottom:30px}.track-title{font-size:32px;margin-bottom:10px}.play-button{font-size:32px;height:75px;width:75px}.volume-control{gap:15px}.volume-slider{width:150px}.play-button.clicked{animation:buttonMobileExplode .8s cubic-bezier(.68,-.55,.265,1.55),buttonIntenseFlash .8s ease-out,buttonShockwave .8s ease-out}@keyframes buttonMobileExplode{0%{transform:scale(1) rotate(0deg);transform-origin:center center}15%{transform:scale(.8) rotate(-8deg);transform-origin:center center}35%{transform:scale(1.3) rotate(15deg);transform-origin:center center}50%{transform:scale(.95) rotate(-6deg);transform-origin:center center}65%{transform:scale(1.15) rotate(8deg);transform-origin:center center}80%{transform:scale(.98) rotate(-3deg);transform-origin:center center}to{transform:scale(1) rotate(0deg);transform-origin:center center}}}@media (max-width:480px){.radio-player{min-height:95vh;padding:20px 15px}.album-art{height:260px;width:260px}.album-art,.track-info{margin-bottom:25px}.track-title{font-size:26px;margin-bottom:8px;padding:0 10px}.play-button{font-size:28px;height:65px;width:65px}.volume-control{gap:12px}.volume-icon{font-size:20px}.volume-slider{width:120px}}@media (max-width:480px) and (orientation:landscape){.radio-player{min-height:auto;padding:15px}.album-art{height:200px;margin-bottom:15px;width:200px}.track-title{font-size:24px;margin-bottom:6px}.play-button{font-size:26px;height:60px;width:60px}}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:linear-gradient(135deg,#667eea,#764ba2 50%,#f093fb);background:linear-gradient(135deg,var(--theme-secondary,#667eea) 0,var(--theme-primary,#764ba2) 50%,var(--theme-accent,#f093fb) 100%);border:2px solid #ffffff4d;border-radius:50%;box-shadow:0 0 20px color-mix(in srgb,#8a2be2 80%,#0000 20%),0 4px 12px #0006;box-shadow:0 0 20px color-mix(in srgb,var(--theme-primary,#8a2be2) 80%,#0000 20%),0 4px 12px #0006;cursor:pointer;height:22px;-webkit-transition:all .3s ease;transition:all .3s ease;width:22px}@keyframes thumbPulse{0%,to{box-shadow:0 0 20px color-mix(in srgb,#8a2be2 80%,#0000 20%),0 4px 12px #0006;box-shadow:0 0 20px color-mix(in srgb,var(--theme-primary,#8a2be2) 80%,#0000 20%),0 4px 12px #0006}50%{box-shadow:0 0 35px color-mix(in srgb,#8a2be2 100%,#0000 0),0 0 50px color-mix(in srgb,#f093fb 60%,#0000 40%),0 4px 12px #0006;box-shadow:0 0 35px color-mix(in srgb,var(--theme-primary,#8a2be2) 100%,#0000 0),0 0 50px color-mix(in srgb,var(--theme-accent,#f093fb) 60%,#0000 40%),0 4px 12px #0006}}.volume-slider::-webkit-slider-thumb:hover{box-shadow:0 0 30px #8a2be2,0 6px 16px #00000080;box-shadow:0 0 30px var(--theme-primary,#8a2be2),0 6px 16px #00000080;transform:scale(1.3)}.volume-slider::-moz-range-thumb{background:linear-gradient(135deg,#667eea,#764ba2 50%,#f093fb);background:linear-gradient(135deg,var(--theme-secondary,#667eea) 0,var(--theme-primary,#764ba2) 50%,var(--theme-accent,#f093fb) 100%);border:2px solid #ffffff4d;border-radius:50%;box-shadow:0 0 20px color-mix(in srgb,#8a2be2 80%,#0000 20%),0 4px 12px #0006;box-shadow:0 0 20px color-mix(in srgb,var(--theme-primary,#8a2be2) 80%,#0000 20%),0 4px 12px #0006;cursor:pointer;height:22px;width:22px}.volume-value{color:#ffffffe6;font-size:16px;font-weight:600;min-width:45px;text-align:right;text-shadow:0 2px 10px #00000080,0 0 10px color-mix(in srgb,#8a2be2 20%,#0000 80%);text-shadow:0 2px 10px #00000080,0 0 10px color-mix(in srgb,var(--theme-primary,#8a2be2) 20%,#0000 80%);transition:all .3s ease}@keyframes valueGlow{0%,to{text-shadow:0 2px 10px #00000080,0 0 20px color-mix(in srgb,#8a2be2 30%,#0000 70%);text-shadow:0 2px 10px #00000080,0 0 20px color-mix(in srgb,var(--theme-primary,#8a2be2) 30%,#0000 70%)}50%{text-shadow:0 2px 10px #00000080,0 0 30px color-mix(in srgb,#8a2be2 60%,#0000 40%),0 0 40px color-mix(in srgb,#f093fb 40%,#0000 60%);text-shadow:0 2px 10px #00000080,0 0 30px color-mix(in srgb,var(--theme-primary,#8a2be2) 60%,#0000 40%),0 0 40px color-mix(in srgb,var(--theme-accent,#f093fb) 40%,#0000 60%)}}.audiocore-watermark{animation:watermarkGlow 4s ease-in-out infinite;color:#fff;filter:drop-shadow(0 0 8px rgba(255,255,255,.3));font-family:Orbitron,Rajdhani,Exo\ 2,sans-serif;font-size:34px;font-weight:900;left:40px;letter-spacing:4px;opacity:.95;pointer-events:none;position:fixed;text-shadow:0 0 5px #ffffff80,0 0 10px #ffffff4d,0 0 15px #8a2be233,0 3px 5px #0009,1px 1px 0 #8a2be24d,-1px -1px 0 #667eea4d;text-transform:uppercase;top:30px;-webkit-user-select:none;user-select:none;z-index:100}@keyframes watermarkGlow{0%,to{filter:drop-shadow(0 0 8px rgba(255,255,255,.3));text-shadow:0 0 5px #ffffff80,0 0 10px #ffffff4d,0 0 15px #8a2be233,0 3px 5px #0009,1px 1px 0 #8a2be24d,-1px -1px 0 #667eea4d}50%{filter:drop-shadow(0 0 12px rgba(255,255,255,.4));text-shadow:0 0 8px #fff9,0 0 15px #fff6,0 0 20px #f093fb40,0 3px 6px #000000b3,2px 2px 0 #f093fb59,-2px -2px 0 #8a2be259}}.live-indicator{align-items:center;animation:liveBadgePulse 2s ease infinite;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ff000026;border:1px solid #ff44444d;border-radius:30px;box-shadow:0 4px 20px #f446,inset 0 0 20px #ff44441a;color:#ff6b6b;display:inline-flex;font-size:15px;font-weight:700;gap:10px;letter-spacing:1px;padding:10px 20px;position:fixed;right:40px;text-transform:uppercase;top:30px;z-index:100}@keyframes liveBadgePulse{0%,to{box-shadow:0 4px 20px #f446,inset 0 0 20px #ff44441a}50%{box-shadow:0 6px 30px #f449,inset 0 0 30px #f443}}.live-dot{animation:liveDotPulse 1.5s ease infinite;background:#f44;border-radius:50%;box-shadow:0 0 15px #f44c;height:10px;position:relative;width:10px}.live-dot:before{animation:ripple 1.5s ease infinite;background:#ff444480;border-radius:50%;content:"";height:100%;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}@keyframes liveDotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.9)}}@keyframes ripple{0%{opacity:.5;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(3)}}.loading-track{animation:loadingPulse 2s ease infinite;color:#ffffffb3;font-size:20px;font-weight:500;text-shadow:0 2px 15px #ffffff4d}@keyframes loadingPulse{0%,to{opacity:.7}50%{opacity:1}}.radio-player .particle{animation:particleFloat 15s ease-in-out infinite;border-radius:50%;opacity:0;pointer-events:none;position:absolute}@keyframes particleFloat{0%{opacity:0;transform:translateY(100vh) translateX(0) scale(0)}10%{opacity:.5}90%{opacity:.5}to{opacity:0;transform:translateY(-100vh) translateX(100px) scale(1)}}@media (max-width:768px){.audiocore-watermark{font-size:28px;left:20px;top:20px}.live-indicator{font-size:13px;left:20px;padding:8px 16px;right:auto;top:70px}.player-container{padding:40px 20px}.album-art{height:350px;max-width:350px}.track-title{font-size:32px}.track-artist{font-size:18px}.play-button{font-size:32px;height:80px;width:80px}.volume-slider{width:180px}.volume-control{padding:15px 25px}}@media (max-width:480px){.audiocore-watermark{font-size:24px;left:15px;letter-spacing:3px;top:15px}.live-indicator{font-size:12px;gap:8px;left:15px;padding:6px 14px;top:60px}.live-dot{height:8px;width:8px}.player-container{padding:30px 15px}.album-art{border-radius:20px;height:280px;max-width:280px}.track-title{font-size:26px}.track-artist{font-size:16px}.play-button{font-size:30px;height:75px;width:75px}.volume-slider{width:140px}.volume-control{gap:15px;padding:12px 20px}}@media (hover:hover){.album-art{transition:all .6s cubic-bezier(.34,1.56,.64,1)}.album-art:hover{transform:translateY(-25px) rotateX(8deg) scale(1.05)}}
/*# sourceMappingURL=main.dd3cedc9.css.map*/