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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{background:radial-gradient(ellipse at center,#ac0d0d 0,#830c0c 50%,#580909 100%);color:#fff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.App,body{min-height:100vh}.listener-container{align-items:center;display:flex;justify-content:center;min-height:100vh}.radio-player{background:#0000;max-width:1200px;padding:3rem;text-align:center;width:100%}.radio-logo{margin-bottom:2rem}.radio-title{align-items:center;display:flex;flex-direction:column;gap:.5rem}.radio-title-main{color:#f5e6a3;font-size:3.5rem;letter-spacing:.05em;text-shadow:0 0 30px #f5e6a380}.radio-title-main,.radio-title-sub{font-family:Aeronaut,Georgia,serif;font-weight:400;margin:0}.radio-title-sub{color:#fff6ce;font-size:2.8rem;letter-spacing:.08em;text-shadow:0 0 30px #fff8d880}.radio-icon{display:none}.now-playing{margin-bottom:2rem}.now-playing .label{color:#fff9;font-size:.9rem;margin-bottom:.5rem}.now-playing .track-name{color:#ffffffe6;font-size:1.1rem;font-weight:500;min-height:1.5em}.play-button{-webkit-text-fill-color:#fff;background:#ffffff1a;border:3px solid #fff9;border-radius:50%;box-shadow:none;color:#fff;cursor:pointer;font-size:2.5rem;font-variant-emoji:text;height:100px;text-shadow:none;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;width:100px}.play-button:hover{background:#ffffff26;border-color:#fffc;box-shadow:none;transform:scale(1.05)}.play-button.playing{background:#fff3;border-color:#ffffffb3;box-shadow:none;font-size:2rem;font-weight:100}.volume-control{align-items:center;display:flex;gap:.5rem;justify-content:center}.volume-icon{cursor:pointer;font-size:1.2rem;transition:transform .2s;-webkit-user-select:none;user-select:none}.volume-icon:hover{transform:scale(1.1)}.volume-control input[type=range]{-webkit-appearance:none;appearance:none;background:#ffffff4d;border-radius:4px;cursor:pointer;height:8px;outline:none;width:150px}.volume-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#b22222;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 8px #0006;cursor:pointer;height:18px;margin-top:-5px;width:18px}.volume-control input[type=range]::-webkit-slider-runnable-track{background:#ffffff4d;border-radius:4px;height:8px}.volume-control input[type=range]::-moz-range-thumb{background:#b22222;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 8px #0006;cursor:pointer;height:18px;width:18px}.volume-control input[type=range]::-moz-range-track{background:#ffffff4d;border-radius:4px;height:8px}.youtube-notice{background:#f003;border-radius:10px;font-size:.9rem;margin-top:1rem;padding:1rem}body:has(.admin-container){background:#22254f}.admin-container{background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f0f1a);box-shadow:0 0 100px #000c;margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem}.admin-container h1{color:#fff;margin-bottom:2rem}.section{background:#ffffff14;border:1px solid #ffffff1a;border-radius:15px;margin-bottom:2rem;padding:1.5rem}.section h2{border-bottom:1px solid #ffffff1a;color:#fff;font-size:1.2rem;margin-bottom:1rem;padding-bottom:.5rem}.section h2.section-toggle{align-items:center;cursor:pointer;display:flex;gap:.5rem;transition:color .2s ease;-webkit-user-select:none;user-select:none}.section h2.section-toggle:hover{color:#fffc}.toggle-arrow{display:inline-block;font-size:.8rem;transition:transform .3s ease}.toggle-arrow.open{transform:rotate(90deg)}.stream-control{display:flex;flex-direction:column;gap:1rem}.current-track{font-size:1.1rem}.control-buttons{display:flex;gap:.5rem}.control-buttons button{background:#e94560;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:.75rem 1.5rem;transition:background .3s}.control-buttons button:hover{background:#ff6b6b}.playlist,.track-list,.youtube-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.playlist-item,.track-item,.youtube-item{align-items:center;background:#ffffff0d;border-radius:8px;display:flex;justify-content:space-between;padding:.75rem 1rem;transition:background .3s}.playlist-item:hover,.track-item:hover,.youtube-item:hover{background:#ffffff1a}.track-number{color:#aaa;width:30px}.track-name{flex:1 1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.track-actions{display:flex;gap:.25rem}.track-actions button{align-items:center;background:#ffffff1a;border:none;border-radius:5px;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;transition:background .3s;width:32px}.track-actions button:hover{background:#e94560}.track-actions button.danger:hover{background:#dc3545}.track-actions button:disabled{cursor:not-allowed;opacity:.3}.youtube-add{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.youtube-add input{background:#ffffff1a;border:none;border-radius:8px;color:#fff;flex:1 1;min-width:200px;padding:.75rem}.youtube-add input::placeholder{color:#aaa}.youtube-add button{background:#e94560;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:.75rem 1.5rem}input[type=file]{background:#ffffff1a;border-radius:8px;color:#fff;padding:1rem;width:100%}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.live-badge{animation:pulse 2s infinite;background:#8b0000cc;border:1px solid #fff3;border-radius:20px;color:#fff;display:inline-block;font-size:.75rem;font-weight:700;margin-top:.5rem;padding:.25rem .75rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.offline-message{color:#ffffff80;margin-bottom:1rem}.listeners-count{color:#ffffff80;font-size:.9rem;margin-top:1rem}.play-button:disabled{cursor:not-allowed;opacity:.5}.status-live{color:#4caf50;font-weight:700}.status-offline{color:#f44336}.start-btn{background:#4caf50!important}.start-btn:hover{background:#66bb6a!important}.stop-btn{background:#f44336!important}.stop-btn:hover{background:#ef5350!important}.control-buttons button:disabled{cursor:not-allowed;opacity:.5}.hint{color:#aaa;font-size:.85rem;margin-bottom:1rem}.in-playlist{color:#4caf50;font-size:.85rem;padding:.25rem .5rem}.playlist-item.now-playing{background:#e9456033;border-left:3px solid #e94560}.track-actions button{font-size:.85rem;min-width:32px;padding:.25rem .5rem;width:auto}.notification{animation:slideIn .3s ease,fadeOut .3s ease 3.7s;border-radius:10px;box-shadow:0 4px 20px #0000004d;color:#fff;font-weight:500;padding:1rem 1.5rem;position:fixed;right:20px;top:80px;z-index:1000}.notification.success{background:linear-gradient(135deg,#4caf50,#66bb6a)}.notification.error{background:linear-gradient(135deg,#f44336,#ef5350)}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.upload-area{align-items:flex-start;display:flex;flex-direction:column;gap:1rem}.upload-button{background:linear-gradient(135deg,#e94560,#ff6b6b);border-radius:10px;box-shadow:0 4px 15px #e945604d;color:#fff;cursor:pointer;display:inline-block;font-weight:600;padding:1rem 2rem;transition:transform .2s,box-shadow .2s}.upload-button:hover{box-shadow:0 6px 20px #e9456066;transform:translateY(-2px)}.upload-button.disabled{cursor:not-allowed;opacity:.6;transform:none}.upload-progress-container{max-width:400px;width:100%}.upload-file-name{color:#aaa;font-size:.9rem;margin-bottom:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-bar{background:#ffffff1a;border-radius:4px;height:8px;overflow:hidden}.progress-fill{animation:progressPulse 1s infinite;background:linear-gradient(90deg,#e94560,#ff6b6b);border-radius:4px;height:100%;transition:width .3s ease}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.8}}.progress-text{color:#e94560;font-size:.85rem;font-weight:600;margin-top:.25rem}.playlist-info{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:1rem}.total-duration{color:#e94560;font-size:.95rem;font-weight:600}.track-duration{color:#aaa;font-size:.85rem;margin-right:1rem;min-width:50px;text-align:right}.track-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem;overflow:hidden}.track-meta{display:flex;flex-wrap:wrap;gap:1rem}.meta-item{color:#888;font-size:.75rem;gap:.25rem}.meta-item,.track-item{align-items:center;display:flex}.track-item{background:#ffffff0d;border-radius:10px;justify-content:space-between;padding:1rem;transition:all .3s}.track-item:hover{background:#ffffff1a;transform:translateX(5px)}.player-controls{align-items:center;display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem;position:relative}.audio-waveform{background:#0000;height:80px;max-width:600px;padding:10px 0;width:100%}.waveform-bars{align-items:center;display:flex;gap:2px;height:100%;justify-content:center;width:100%}.waveform-bar{background-color:#ffffffe6;border-radius:0;flex:1 1;min-height:4px}@media (max-width:768px){.listener-container{padding:0}.radio-player{max-width:100%;padding:1.5rem 0;width:100%}.audio-waveform{border-radius:0;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);max-width:100vw;padding:10px 0;width:100vw}.radio-title-main{font-size:2.7rem;letter-spacing:.03em}.radio-title-sub{font-size:2.5rem;letter-spacing:.05em}.waveform-bars{gap:1px}.play-button{font-size:2.5rem;height:100px;width:100px}.volume-control input[type=range]{width:120px}}.stream-media-section .media-list{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto}.media-item{align-items:center;background:#ffffff0d;border-radius:10px;display:flex;gap:1rem;padding:1rem;transition:all .3s}.media-item:hover{background:#ffffff1a}.media-item.active{background:#4caf5033;border:2px solid #4caf50}.media-preview{align-items:center;background:#0000004d;border-radius:6px;display:flex;flex-shrink:0;height:45px;justify-content:center;overflow:hidden;width:80px}.media-preview img{height:100%;object-fit:cover;width:100%}.media-preview .video-icon{color:#e94560;font-size:.7rem;font-weight:700}.media-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem;overflow:hidden}.media-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-meta{color:#888;display:flex;font-size:.8rem;gap:1rem}.media-actions{align-items:center;display:flex;gap:.5rem}.media-actions button{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:background .3s}.media-actions .activate-btn{background:#0f3460;color:#fff}.media-actions .activate-btn:hover{background:#16213e}.media-actions .danger{background:#f4433633;color:#f44336}.media-actions .danger:hover{background:#f44336;color:#fff}.active-badge{background:#4caf50;border-radius:6px;color:#fff;font-size:.75rem;font-weight:700;padding:.4rem .8rem}@media (max-width:768px){.media-item{flex-wrap:wrap}.media-preview{height:34px;width:60px}.media-info{flex-basis:calc(100% - 80px);flex-grow:1;flex-shrink:1}.media-actions{justify-content:flex-end;margin-top:.5rem;width:100%}}.modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid #ffffff1a;border-radius:15px;box-shadow:0 10px 40px #00000080;max-width:500px;padding:2rem;width:100%}.modal-content h3{color:#fff;font-size:1.3rem;margin:0 0 .5rem}.modal-track-name{color:#aaa;font-size:.9rem;margin-bottom:1.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-field{margin-bottom:1rem}.modal-field label{color:#ccc;display:block;font-size:.9rem;margin-bottom:.5rem}.modal-field input,.modal-field textarea{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;font-size:1rem;padding:.75rem 1rem;transition:border-color .3s;width:100%}.modal-field input:focus,.modal-field textarea:focus{border-color:#e94560;outline:none}.modal-field input::placeholder,.modal-field textarea::placeholder{color:#666}.modal-field textarea{min-height:80px;resize:vertical}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.modal-actions button{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s}.modal-actions .cancel-btn{background:#ffffff1a;color:#aaa}.modal-actions .cancel-btn:hover{background:#fff3;color:#fff}.modal-actions .save-btn{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff}.modal-actions .save-btn:hover{box-shadow:0 4px 15px #4caf5066;transform:translateY(-2px)}.track-reader-desc{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.25rem}.reader-name{color:#4caf50}.reader-name,.track-desc-short,.track-description{align-items:center;display:flex;font-size:.8rem;gap:.25rem}.track-desc-short,.track-description{color:#888;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-info{color:#666;font-size:.75rem;font-style:italic}.edit-btn{background:#e9456033!important;color:#e94560!important}.edit-btn:hover{background:#e94560!important;color:#fff!important}.playlist-track-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem;overflow:hidden;text-align:left}.playlist-track-meta{display:flex;flex-wrap:wrap;gap:.75rem}.playlist-track-meta .reader-name,.playlist-track-meta .track-desc-short{font-size:.75rem}.now-playing-reader{color:#f5e6a3;font-size:1.2rem;font-weight:500}.now-playing-description{margin-left:auto;margin-right:auto;max-width:600px;overflow:hidden;width:100%}.marquee-wrapper{overflow:hidden;white-space:nowrap}.marquee-text{animation:marquee 15s linear infinite;color:#fff;display:inline-block;font-size:1rem;font-weight:700;padding-left:100%}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-100%)}}.playlist-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.playlist-header h2{border:none;margin:0;padding:0}.shuffle-btn{align-items:center;background:linear-gradient(135deg,#ff9800,#ffc107);border:none;border-radius:8px;color:#000;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.3rem;padding:.5rem 1rem;transition:all .3s}.shuffle-btn:hover{box-shadow:0 4px 15px #ff980066;transform:translateY(-2px)}.shuffle-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.link-add-form{background:#ffffff0d;border-radius:10px;margin-bottom:1rem;padding:1rem}.link-form-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.link-form-row input{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;flex:1 1;font-size:.95rem;min-width:200px;padding:.75rem 1rem}.link-form-row input::placeholder{color:#666}.icon-select-wrapper{align-items:center;display:flex;flex:1 1;gap:.75rem}.icon-select{background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:.95rem;min-width:150px;padding:.75rem 1rem}.icon-select option{background:#1a1a2e;color:#fff}.icon-preview{align-items:center;display:flex;height:32px;justify-content:center;width:32px}.icon-preview svg{height:24px;width:24px}.icon-or{color:#888;font-size:.85rem;padding:0 .5rem}.custom-icon-upload{cursor:pointer}.custom-icon-btn{background:#ffffff1a;border:1px dashed #ffffff4d;border-radius:8px;color:#aaa;display:inline-block;font-size:.9rem;padding:.6rem 1rem;transition:all .3s}.custom-icon-btn:hover{background:#ffffff26;border-color:#ffffff80}.custom-icon-btn.has-file{background:#4caf5033;border-color:#4caf5080;color:#4caf50}.clear-icon-btn{background:#ff525233;border:1px solid #ff525266;border-radius:50%;color:#ff5252;cursor:pointer;font-size:1rem;height:28px;padding:0;transition:all .3s;width:28px}.clear-icon-btn:hover{background:#ff525266}.icon-edit-options{flex-wrap:wrap}.current-icon-display,.icon-edit-options{align-items:center;display:flex;gap:.5rem}.current-icon-display{background:#ffffff0d;border-radius:8px;margin-bottom:.5rem;padding:.5rem;width:100%}.current-icon-display span{color:#888;font-size:.85rem}.current-icon-img{border-radius:6px;height:32px;object-fit:cover;width:32px}.current-icon-svg svg{height:24px;width:24px}.add-link-btn{background:linear-gradient(135deg,#4caf50,#66bb6a);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s}.add-link-btn:hover{box-shadow:0 4px 15px #4caf5066;transform:translateY(-2px)}.links-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.link-item{align-items:center;background:#ffffff0d;border-radius:10px;display:flex;gap:1rem;padding:.75rem 1rem;transition:all .3s}.link-icon,.link-item:hover{background:#ffffff1a}.link-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;height:40px;justify-content:center;overflow:hidden;width:40px}.link-icon img{height:100%;object-fit:cover;width:100%}.link-icon svg{height:24px;width:24px}.link-icon .default-icon{font-size:1.2rem}.link-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem;overflow:hidden}.link-name{color:#fff;font-weight:500}.link-url{color:#888;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-actions{display:flex;gap:.25rem}.link-actions button{align-items:center;background:#ffffff1a;border:none;border-radius:5px;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;transition:background .3s;width:32px}.icon-edit-row{align-items:center;display:flex;gap:1rem}.current-icon{border-radius:8px;height:50px;object-fit:cover;width:50px}.links-trigger{background:#0000;border:none;bottom:20px;color:#ffffffb3;cursor:pointer;font-size:.85rem;font-weight:400;padding:.5rem;position:fixed;right:20px;transition:color .3s;z-index:100}.links-trigger:hover{color:#f5e6a3}.links-modal-overlay{align-items:center;animation:fadeIn .25s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.links-modal{animation:modalSlideUp .35s cubic-bezier(.16,1,.3,1);background:radial-gradient(ellipse at top,#ac0d0dfa 0,#580909fa 100%);border-radius:24px;box-shadow:0 25px 80px #0009,0 0 0 1px #ffffff1a,inset 0 1px 0 #ffffff1a;display:flex;flex-direction:column;max-height:85vh;max-width:420px;overflow:hidden;padding:0;position:relative;width:100%}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.links-modal-header{background:#00000026;border-bottom:1px solid #ffffff14;padding:1.75rem 2rem 1.25rem;text-align:center}.links-modal h3{color:#f5e6a3;font-size:1.4rem;font-weight:600;letter-spacing:.02em;margin:0;text-shadow:0 2px 10px #f5e6a34d}.links-modal-subtitle{color:#ffffff80;font-size:.85rem;margin-top:.5rem}.links-modal-content{flex:1 1;overflow-y:auto;padding:1.5rem}.links-modal-list{display:flex;flex-direction:column;gap:.6rem}.links-modal-item{align-items:center;background:#ffffff0f;border:1px solid #ffffff14;border-radius:14px;color:#fff;display:flex;gap:1rem;overflow:hidden;padding:1rem 1.25rem;position:relative;text-decoration:none;transition:all .25s ease}.links-modal-item:before{background:linear-gradient(135deg,#f5e6a31a,#0000 50%);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .25s ease}.links-modal-item:hover{background:#ffffff1f;border-color:#f5e6a34d;box-shadow:0 4px 20px #0003;transform:translateX(5px)}.links-modal-item:hover:before{opacity:1}.links-modal-item:active{transform:translateX(5px) scale(.98)}.links-modal-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:44px;justify-content:center;overflow:hidden;position:relative;width:44px;z-index:1}.links-modal-icon img{height:100%;object-fit:cover;width:100%}.links-modal-icon svg{height:26px;width:26px}.links-modal-info{display:flex;flex:1 1;flex-direction:column;gap:.3rem;min-width:0;position:relative;z-index:1}.links-modal-name{color:#fff;font-size:1rem;font-weight:600}.links-modal-url{color:#fff6;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.links-modal-arrow{color:#ffffff4d;font-size:1.2rem;position:relative;transition:all .25s ease;z-index:1}.links-modal-item:hover .links-modal-arrow{color:#f5e6a3;transform:translateX(3px)}.links-modal-empty{color:#ffffff80;font-style:italic;padding:2rem 1rem;text-align:center}.links-modal-back{background:#ffffff1a;border:none;border-radius:20px;color:#fffc;cursor:pointer;font-size:.9rem;left:1rem;padding:.5rem 1rem;position:absolute;top:1rem;transition:all .2s ease;z-index:10}.links-modal-back:hover{background:#fff3;color:#fff}.modal-nav-btn{align-items:center;background:#ffffff0f;border:1px solid #ffffff14;border-radius:14px;color:#fff;cursor:pointer;display:flex;gap:1rem;margin-bottom:.6rem;overflow:hidden;padding:1rem 1.25rem;position:relative;text-align:left;transition:all .25s ease;width:100%}.modal-nav-btn:before{background:linear-gradient(135deg,#f5e6a31a,#0000 50%);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .25s ease}.modal-nav-btn:hover{background:#ffffff1f;border-color:#f5e6a34d;transform:translateX(5px)}.modal-nav-btn:hover:before{opacity:1}.modal-nav-icon{align-items:center;border-radius:12px;flex-shrink:0;font-size:1.5rem;height:44px;justify-content:center;width:44px}.modal-nav-icon,.modal-nav-info{display:flex;position:relative;z-index:1}.modal-nav-info{flex:1 1;flex-direction:column;gap:.2rem}.modal-nav-title{font-size:1rem;font-weight:600}.modal-nav-subtitle{color:#ffffff80;font-size:.8rem}.modal-nav-arrow{color:#ffffff4d;font-size:1.5rem;position:relative;transition:all .25s ease;z-index:1}.modal-nav-btn:hover .modal-nav-arrow{color:#f5e6a3;transform:translateX(3px)}.readers-list{display:flex;flex-direction:column;gap:.5rem}.reader-item{align-items:center;background:#ffffff0f;border:1px solid #ffffff14;border-radius:12px;display:flex;gap:1rem;padding:1rem 1.25rem;transition:all .2s ease}.reader-item:hover{background:#ffffff1a;border-color:#4caf504d}.reader-icon{align-items:center;border-radius:10px;display:flex;font-size:1.5rem;height:44px;justify-content:center;width:44px}.reader-name{color:#fff;font-size:1rem;font-weight:500}.about-content{padding:.5rem 0}.about-text{word-wrap:break-word;color:#ffffffe6;font-size:1rem;line-height:1.7;white-space:pre-wrap}.links-modal-close{align-items:center;background:#ffffff1a;border:none;border-radius:50%;color:#ffffffb3;cursor:pointer;display:flex;font-size:1.2rem;height:36px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .2s ease;width:36px}.links-modal-close:hover{background:#fff3;color:#fff;transform:rotate(90deg)}.apk-download-btn{align-items:center;background:#ffffff0f;border:1px solid #ffffff14;border-radius:14px;color:#fff;display:flex;gap:1rem;margin-bottom:.6rem;overflow:hidden;padding:1rem 1.25rem;position:relative;text-decoration:none;transition:all .25s ease}.apk-download-btn:before{background:linear-gradient(135deg,#f5e6a31a,#0000 50%);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .25s ease}.apk-download-btn:hover{background:#ffffff1f;border-color:#f5e6a34d;box-shadow:0 4px 20px #0003;transform:translateX(5px)}.apk-download-btn:hover:before{opacity:1}.apk-download-btn:active{transform:translateX(5px) scale(.98)}.apk-download-icon{align-items:center;border-radius:12px;flex-shrink:0;font-size:1.5rem;height:44px;justify-content:center;width:44px}.apk-download-icon,.apk-download-info{display:flex;position:relative;z-index:1}.apk-download-info{flex:1 1;flex-direction:column;gap:.2rem}.apk-download-title{color:#fff;font-size:1rem;font-weight:600}.apk-download-subtitle{color:#ffffff80;font-size:.8rem}.apk-download-arrow{color:#ffffff4d;font-size:1.5rem;position:relative;transition:all .25s ease;z-index:1}.apk-download-btn:hover .apk-download-arrow{color:#f5e6a3;transform:translateX(3px)}.links-modal-section{border-top:1px solid #ffffff14;margin-top:.5rem;padding-top:1rem}.links-modal-section-title{color:#fff6;font-size:.75rem;letter-spacing:.1em;margin-bottom:.75rem;padding-left:.25rem;text-transform:uppercase}@media (max-width:480px){.links-modal{border-radius:20px;margin:.5rem;max-height:90vh;max-width:100%}.links-modal-header{padding:1.5rem 1.5rem 1rem}.links-modal h3{font-size:1.25rem}.links-modal-content{padding:1rem}.links-modal-item{padding:.875rem 1rem}.links-modal-icon{height:40px;width:40px}.links-modal-name{font-size:.95rem}.apk-download-btn{padding:.875rem 1rem}.apk-download-icon{font-size:1.3rem;height:44px;width:44px}.apk-download-title{font-size:.95rem}}.slide-upload-area{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.upload-hint{color:#888;font-size:.85rem}.slides-list{display:flex;flex-direction:column;gap:.5rem;max-height:400px;overflow-y:auto}.slide-item{align-items:center;background:#ffffff0d;border-radius:10px;display:flex;gap:1rem;padding:.75rem 1rem;transition:all .3s}.slide-item:hover{background:#ffffff1a}.slide-preview{background:#0000004d;border-radius:8px;flex-shrink:0;height:60px;overflow:hidden;width:100px}.slide-preview img{height:100%;object-fit:cover;width:100%}.slide-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem;overflow:hidden}.slide-name{color:#fff;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slide-meta{color:#888;display:flex;font-size:.8rem;gap:1rem}.slide-actions{display:flex;gap:.25rem}.slide-actions button{align-items:center;border:none;border-radius:5px;cursor:pointer;display:flex;height:32px;justify-content:center;transition:background .3s;width:32px}.slideshow-trigger{background:#0000;border:none;bottom:20px;color:#ffffffb3;cursor:pointer;font-size:.85rem;font-weight:400;left:20px;padding:.5rem;position:fixed;transition:color .3s;z-index:100}.slideshow-trigger:hover{color:#f5e6a3}.slideshow-fullscreen{align-items:center;background:#000;cursor:pointer;display:flex;height:100%;height:100vh;height:100dvh;justify-content:center;left:0;position:fixed;top:0;width:100%;width:100vw;z-index:9999}.slideshow-fullscreen:fullscreen{height:100%;width:100%}.slideshow-fullscreen:-webkit-full-screen{height:100%;width:100%}.slideshow-image{height:100%;object-fit:cover;transition:opacity .5s ease-in-out,transform .5s ease-in-out;width:100%}@media (min-width:768px){.slideshow-image{object-fit:contain}}.slideshow-image.fade-in{opacity:1;transform:scale(1)}.slideshow-image.fade-out{opacity:0;transform:scale(1.02)}@keyframes slideFadeIn{0%{opacity:0;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.slideshow-hint{animation:hintFade 4s ease;background:#0009;border-radius:20px;bottom:30px;color:#ffffffb3;font-size:.85rem;left:50%;opacity:0;padding:.5rem 1rem;position:absolute;transform:translateX(-50%)}@keyframes hintFade{0%,to{opacity:0}10%,70%{opacity:1}}@media (max-width:768px){.admin-container{padding:1rem}.admin-container h1{font-size:1.5rem;margin-bottom:1rem}.section{margin-bottom:1rem;padding:1rem}.section h2{font-size:1rem}.control-buttons{flex-direction:column;width:100%}.control-buttons button{font-size:1rem;padding:1rem;width:100%}.youtube-add{flex-direction:column}.youtube-add input{min-width:0;min-width:auto;width:100%}.youtube-add button{padding:1rem;width:100%}.playlist-item,.track-item,.youtube-item{flex-wrap:wrap;gap:.5rem;padding:.75rem}.track-number{min-width:25px;width:auto}.track-name{flex-basis:calc(100% - 80px);flex-grow:1;flex-shrink:1;font-size:.9rem}.track-info{flex:1 1 100%;order:1}.track-actions{justify-content:flex-end;margin-top:.5rem;order:2;width:100%}.track-actions button{font-size:1rem;height:40px;min-width:40px}.track-duration{font-size:.8rem;margin-right:.5rem}.playlist-info{gap:.5rem}.playlist-header,.playlist-info{align-items:flex-start;flex-direction:column}.playlist-header{gap:.75rem}.shuffle-btn{justify-content:center;width:100%}.link-add-form,.shuffle-btn{padding:.75rem}.link-form-row{flex-direction:column}.link-form-row input{min-width:0;min-width:auto;width:100%}.icon-select-wrapper{flex-direction:column;width:100%}.icon-select{min-width:0;min-width:auto;width:100%}.icon-preview{align-self:flex-start}.icon-or{align-self:center;padding:.25rem 0}.custom-icon-upload{width:100%}.custom-icon-btn{display:block;text-align:center;width:100%}.icon-edit-options,.icon-edit-row{flex-direction:column;width:100%}.icon-edit-row{gap:.75rem}.add-link-btn{padding:1rem;width:100%}.link-item{flex-wrap:wrap;padding:.75rem}.link-info{flex-basis:calc(100% - 60px);flex-grow:1;flex-shrink:1}.link-actions{justify-content:flex-end;margin-top:.5rem;width:100%}.link-actions button{height:40px;width:40px}.slide-upload-area{align-items:stretch;flex-direction:column}.slide-item{flex-wrap:wrap;padding:.75rem}.slide-preview{height:48px;width:80px}.slide-info{flex-basis:calc(100% - 100px);flex-grow:1;flex-shrink:1}.slide-actions{justify-content:flex-end;margin-top:.5rem;width:100%}.slide-actions button{height:40px;width:40px}.upload-area{align-items:stretch}.upload-button{padding:1rem;text-align:center}.upload-progress-container{max-width:100%}.modal-overlay{padding:.5rem}.modal-content{max-height:90vh;overflow-y:auto;padding:1.25rem}.modal-content h3{font-size:1.1rem}.modal-field input,.modal-field textarea{font-size:16px}.modal-actions{flex-direction:column;gap:.75rem}.modal-actions button{padding:1rem;width:100%}.notification{bottom:20px;left:20px;right:20px;text-align:center;top:auto}.current-track{font-size:.95rem;word-break:break-word}.hint{font-size:.8rem}.track-meta{flex-wrap:wrap;gap:.5rem}.track-reader-desc{flex-direction:column;gap:.25rem}.media-actions button{font-size:.8rem;padding:.6rem .8rem}}@media (max-width:480px){.admin-container{padding:.75rem}.admin-container h1{font-size:1.3rem}.section{border-radius:10px;padding:.75rem}.section h2{font-size:.95rem}.track-name{font-size:.85rem}.slide-preview{height:36px;width:60px}.media-preview{height:28px;width:50px}}.remaining-time{margin-top:.25rem}.remaining-time .countdown{background:#4caf5026;border-radius:6px;color:#4caf50;font-family:Courier New,Courier,monospace;font-size:1.3rem;font-weight:700;letter-spacing:2px;padding:.3rem .8rem}.remaining-time-display{align-items:center;background:#0003;border-radius:20px;display:flex;gap:.5rem;justify-content:center;margin-top:1rem;padding:.5rem 1rem}.remaining-label{color:#fff9;font-size:.85rem;font-weight:500}.remaining-countdown{color:#fff4c5;font-family:Courier New,Courier,monospace;font-size:1rem;font-weight:700;letter-spacing:1px;text-shadow:0 0 10px #f5e6a366}@keyframes pulse-countdown{0%,to{opacity:1}50%{opacity:.7}}.remaining-countdown.ending{animation:pulse-countdown .5s ease-in-out infinite;color:#ff9800}
/*# sourceMappingURL=main.1927c2c6.css.map*/