body{background-color:#000;color:#f5f5f5;font-family:Roboto Mono,monospace;line-height:1.6;margin:0;padding:0}.app{display:flex;flex-direction:column;min-height:100vh}.header{box-shadow:0 2px 10px #f003;padding:1rem 2rem;position:relative;z-index:10}.logo{letter-spacing:3px}.nav-links{gap:1.5rem}.nav-links a,.nav-links button{color:#f5f5f5;font-size:1.1rem;padding:.5rem 1rem;transition:all .3s ease}.nav-links a:hover,.nav-links button:hover{color:red}main{flex:1 1;padding:0;width:100%}.footer,main{position:relative}.footer{background-color:#111;padding:1rem 2rem;z-index:10}.footer-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px}.footer p{font-size:.8rem;margin:0}.footer-logo img{height:80px;width:auto}.hero{align-items:center;display:flex;height:calc(100vh - 130px);justify-content:center;overflow:hidden;position:relative;width:100%}.hero-image{height:100%;left:0;object-fit:cover;opacity:.4;position:absolute;top:0;width:100%;z-index:1}.hero-content{max-width:800px;padding:2rem;position:relative;text-align:center;z-index:2}.hero-title{font-size:4rem;letter-spacing:8px;margin-bottom:1rem;text-shadow:0 0 10px #ff0000b3;text-transform:uppercase}.hero-subtitle{font-size:1.5rem;margin-bottom:2rem;opacity:.9}.hero-content button{background-color:red;border:none;border-radius:4px;color:#fff;cursor:pointer;font-family:Roboto Mono,monospace;font-size:1.2rem;letter-spacing:2px;padding:1rem 2.5rem;text-transform:uppercase;transition:all .3s ease}.hero-content button:hover{background-color:#c00;box-shadow:0 5px 15px #f006;transform:translateY(-3px)}.auth-container{background-color:#111;border-radius:8px;box-shadow:0 5px 15px #f003;margin:2rem auto;max-width:400px;padding:2rem}.auth-container h2{text-align:center}.auth-container h2,.form-group{margin-bottom:1.5rem}.form-group label{margin-bottom:.5rem}.form-group input{background-color:#222;border:1px solid #333;border-radius:4px;color:#f5f5f5}.auth-container button,.form-group input{font-family:Roboto Mono,monospace;padding:.8rem;width:100%}.auth-container button{background-color:red;border:none;border-radius:4px;color:#fff;cursor:pointer;transition:all .3s ease}.auth-container button:hover{background-color:#c00}.auth-container p{margin-top:1rem;text-align:center}.auth-container p button{background:none;border:none;color:red;cursor:pointer;font-size:1rem;padding:0;width:auto}.auth-container p button:hover{background:none;text-decoration:underline}.error{color:red;margin-bottom:1rem;text-align:center}.container{margin:0 auto;max-width:1000px;padding:2rem}.folder-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:2rem}.folder{background-color:#111;box-shadow:0 2px 10px #ff00001a;padding:1.5rem;transition:all .3s ease}.folder:hover{box-shadow:0 5px 15px #ff00004d}.folder-title{color:red;margin-bottom:.5rem;margin-top:0}.folder p{opacity:.7}.folder-header{margin-bottom:2rem}.folder-header button{background-color:#222;color:#f5f5f5;font-family:Roboto Mono,monospace;margin-right:1rem;padding:.5rem 1rem}.folder-header button:hover{background-color:#333}.folder-header h2{color:red}.upload-area{background-color:#111;margin-bottom:2rem;padding:1.5rem}.upload-area h3,.upload-info{margin-bottom:1rem}.upload-info{font-size:.9rem}.upload-controls{align-items:center;gap:1rem;margin-bottom:1rem}.upload-button{font-family:Roboto Mono,monospace;padding:.5rem 1rem}.selected-file{font-size:.9rem;margin-top:.5rem}.upload-progress{margin-top:1rem}.progress-bar{background-color:red;transition:width .3s ease}.upload-status{font-size:.9rem;margin-top:.5rem}.file-item{background-color:#111;margin-bottom:1rem;padding:1rem}.file-size{margin:0 1rem}.file-actions{gap:.5rem}.file-actions button{background-color:#222;color:#f5f5f5;font-family:Roboto Mono,monospace;padding:.5rem 1rem}.file-actions button:hover{background-color:#333}.loading{align-items:center;display:flex;font-size:1.5rem;height:100vh;justify-content:center}@media (max-width:768px){.header{flex-direction:column;padding:1rem}.nav-links{font-size:1.1rem;margin-top:1rem}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.2rem}.folder-grid{grid-template-columns:1fr}.file-item{align-items:flex-start;flex-direction:column}.file-actions{justify-content:space-between;margin-top:1rem;width:100%}.upload-controls{align-items:flex-start;flex-direction:column}.upload-button{margin-top:.5rem;width:100%}.footer-content{flex-direction:column;gap:1rem}}.header{align-items:center;background-color:#111;color:#fff;display:flex;flex-wrap:wrap;justify-content:space-between;padding:0 20px}.logo{color:#f33;cursor:pointer;font-size:1.5rem;font-weight:700;padding:15px 0}.nav-links{align-items:center;display:flex}.nav-links a,.nav-links button{background:none;border:none;color:#fff;cursor:pointer;font-size:1rem;margin-left:20px;padding:10px 0;text-decoration:none}.nav-links a:hover,.nav-links button:hover{color:#f33}.mobile-menu-button{background:none;border:none;color:#fff;cursor:pointer;display:none;font-size:1.5rem;padding:10px}@media screen and (max-width:768px){.header{position:relative}.mobile-menu-button{display:block}.nav-links{align-items:flex-start;background-color:#111;display:none;flex-direction:column;left:0;padding:10px 0;position:absolute;top:100%;width:100%;z-index:100}.nav-links.active{display:flex}.nav-links a,.nav-links button{margin:5px 20px;text-align:left;width:calc(100% - 40px)}}.container h2{color:#f33;font-size:1.8rem;font-weight:700;letter-spacing:2px;margin:0 0 20px;text-align:center;text-shadow:1px 1px 2px #00000080;text-transform:none}.folder-actions{display:flex;justify-content:flex-end;margin-bottom:20px}.new-folder-button{background-color:#f33;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px;transition:background-color .2s}.new-folder-button:hover{background-color:#c00}.new-folder-input{display:flex;gap:10px;margin-bottom:20px}.new-folder-input input{background-color:#222;border:1px solid #333;border-radius:4px;color:#f5f5f5;flex:1 1;font-size:1rem;padding:8px 12px}.new-folder-input button{background-color:#f33;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px;transition:background-color .2s}.new-folder-input button:hover{background-color:#c00}.file-list h3,.folders-list h3{color:#f33;margin-bottom:15px;text-transform:none}.folder-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.folder-header button{background-color:#333;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.folder-header button:hover{background-color:#444}.folder-header h2{margin:0}.folder-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:30px}.folder{background-color:#222;border:1px solid #333;border-radius:8px;cursor:pointer;overflow:hidden;padding:20px;position:relative;text-align:center;transition:transform .2s,background-color .2s}.folder:hover{background-color:#2a2a2a;transform:translateY(-5px)}.folder:before{background-color:#f33;border-radius:8px 8px 0 0;content:"";height:30px;left:0;position:absolute;right:0;top:0}.folder-title{color:#fff;font-size:1.2rem;margin-bottom:10px;margin-top:20px}.folder p{color:#aaa;font-size:.9rem;margin:0}.file-list{margin-top:30px}.file-list ul{list-style:none;margin:0;padding:0}.file-item{align-items:center;background-color:#222;border:1px solid #333;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:10px;padding:12px 16px}.file-item:hover{background-color:#2a2a2a}.file-name{flex:1 1;margin-right:20px;word-break:break-all}.file-size{color:#aaa;margin-right:20px;white-space:nowrap}.file-actions{display:flex;gap:8px}.file-actions button{background-color:#333;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:4px 8px}.file-actions button:hover{background-color:#444}.upload-area{background-color:#222;border:1px solid #333;border-radius:8px;margin-bottom:30px;padding:20px}.upload-area h3{color:#f33;margin-bottom:10px;margin-top:0}.upload-info{color:#aaa;margin-bottom:15px}.upload-controls{display:flex;gap:10px;margin-bottom:15px}.upload-controls input{flex:1 1}.upload-button{background-color:#f33;padding:8px 16px}.upload-button:hover:not(:disabled){background-color:#c00}.upload-button:disabled{background-color:#555}.upload-progress{margin-top:15px}.progress-bar-fill{background-color:#f33}.upload-status{color:#aaa;margin:5px 0 0}.selected-file{margin-bottom:15px}.selected-file p{color:#aaa;margin:0}.move-button{background-color:#f33!important;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;margin-right:5px;padding:4px 8px}.move-button:hover{background-color:#c00}.move-modal{align-items:center;background-color:#000000b3;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.move-modal-content{background-color:#111;border-radius:8px;box-shadow:0 2px 10px #ff00004d;max-height:80vh;max-width:500px;overflow-y:auto;padding:20px;width:90%}.move-modal-content h3{color:#f33;margin-top:0;text-transform:none}.folder-list{margin:15px 0;max-height:300px;overflow-y:auto}.folder-item{background-color:#222;border-radius:4px;cursor:pointer;margin-bottom:5px;padding:10px;transition:background-color .2s}.folder-item:hover{background-color:#333}.modal-actions button{background-color:#333;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.modal-actions button:hover:not(:disabled){background-color:#444}.modal-actions button:disabled{cursor:not-allowed;opacity:.5}.modal-footer{align-items:center;border-bottom-left-radius:8px;border-bottom-right-radius:8px;justify-content:space-between}.modal-footer-right{display:flex;gap:10px}select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23333%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");background-position:right 12px top 50%;background-repeat:no-repeat;background-size:12px auto;padding-right:30px}.modal-overlay{background-color:#00000080}.modal-content{background-color:#fff;box-shadow:0 4px 8px #0003;max-height:90vh;overflow-y:auto}.modal-header{background-color:#282c34;border-bottom:1px solid #eee;border-top-left-radius:8px;border-top-right-radius:8px;color:#fff}.close-button,.modal-header h2{color:#fff}.form-group,.form-row{padding:0 20px}.form-row{display:flex;gap:15px}.form-row .form-group{flex:1 1;padding:0}.radio-group{display:flex;gap:20px;margin-top:5px}.radio-group label{align-items:center;color:#333;cursor:pointer;display:flex;font-weight:400;gap:8px}.radio-group input{cursor:pointer;margin:0;width:auto}label{color:#282c34;font-weight:600;margin-bottom:5px}input,select,textarea{background-color:#f9f9f9;border:1px solid #ccc;border-radius:4px;color:#333;font-size:1rem;padding:10px 12px;width:100%}input:focus,select:focus,textarea:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.modal-footer{background-color:#f9f9f9;border-top:1px solid #eee;display:flex;gap:10px;justify-content:flex-end;padding:15px 20px}.cancel-button{background-color:#e0e0e0;color:#333;padding:10px 20px}.cancel-button:hover{background-color:#d0d0d0}.save-button{background-color:#3498db;padding:10px 20px}.save-button:hover{background-color:#2980b9}.delete-button{background-color:#e74c3c;font-weight:500;padding:10px 20px}.delete-button:hover{background-color:#c0392b}.delete-button.small{font-size:.9rem;padding:6px 12px}.availability-records{border-top:1px solid #eee;padding:20px}.availability-records h3{color:#282c34;font-size:1.2rem;margin:0 0 15px}.records-list{list-style:none;margin:0;padding:0}.record-item{align-items:center;background-color:#f9f9f9;border:1px solid #eee;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:8px;padding:10px}.record-info{display:flex;flex-direction:column;gap:4px}.record-date{color:#333;font-weight:600}.record-reason{color:#666;font-size:.9rem}.error{color:#e74c3c;margin:10px 0}.event-tooltip{background-color:#000000d9;border-left:4px solid #f33;border-radius:4px;box-shadow:0 2px 10px #0000004d;color:#fff;max-width:300px;padding:10px 15px;pointer-events:none;position:fixed;transition:opacity .2s;z-index:1000}.event-tooltip h3{color:#f33;font-size:16px;margin:0 0 8px}.event-tooltip p{font-size:14px;margin:5px 0}.tooltip-description{font-style:italic;margin-bottom:10px!important}.tooltip-creator,.tooltip-location,.tooltip-time{font-size:13px!important}.tooltip-time{color:#3498db}.calendar-wrapper{position:relative}.calendar-container{margin:0 auto;max-width:1200px;padding:20px}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.calendar-header h2{color:#f33;font-size:1.8rem;font-weight:700;margin:0;text-shadow:1px 1px 2px #00000080}.calendar-actions{display:flex;gap:10px}.calendar-actions button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px}.calendar-actions button:hover{background-color:#2980b9}.calendar-actions .refresh-button{background-color:#27ae60}.calendar-actions .refresh-button:hover{background-color:#219653}.calendar-legend{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px}.legend-item{align-items:center;color:#fff;display:flex;font-weight:500;gap:5px}.color-box{border-radius:3px;display:inline-block;height:15px;width:15px}.loading{color:#fff;font-weight:500}.fc .fc-toolbar-title{color:#f33;font-size:1.5rem;font-weight:700;text-shadow:1px 1px 2px #00000080}.fc .fc-button{background-color:#3498db;border-color:#3498db;font-weight:500}.fc .fc-button:hover{background-color:#2980b9;border-color:#2980b9}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background-color:#1a5a89;border-color:#1a5a89}.fc .fc-daygrid-day-number{color:#fff;font-size:.9rem;font-weight:500}.fc .fc-col-header-cell-cushion{color:#f33;font-weight:700;padding:8px 4px;text-shadow:1px 1px 2px #00000080}.fc .fc-event{border-radius:3px;cursor:pointer;font-weight:500}.fc .fc-daygrid-day.fc-day-today{background-color:#3498db4d}.fc .fc-daygrid-day-frame{min-height:80px}.fc .fc-day-other .fc-daygrid-day-number{color:#fff9}.fc-event-title{font-weight:600;text-shadow:0 0 2px #00000080}.fc .fc-day-today .fc-daygrid-day-number{color:#fff;font-weight:700}.fc .fc-day-today{background-color:#3498db4d!important}.fc-col-header-cell{background-color:#3498db33}.fc-toolbar-title{font-weight:700!important;text-shadow:0 0 3px #0000004d}.rhap_container{background-color:#fff;box-shadow:0 0 3px 0 #0003;box-sizing:border-box;display:flex;flex-direction:column;font-family:inherit;line-height:1;padding:10px 15px;width:100%}.rhap_container:focus:not(:focus-visible){outline:0}.rhap_container svg{vertical-align:initial}.rhap_header{margin-bottom:10px}.rhap_footer{margin-top:5px}.rhap_main{display:flex;flex:1 1 auto;flex-direction:column}.rhap_stacked .rhap_controls-section{margin-top:8px}.rhap_horizontal{flex-direction:row}.rhap_horizontal .rhap_controls-section{margin-left:8px}.rhap_horizontal-reverse{flex-direction:row-reverse}.rhap_horizontal-reverse .rhap_controls-section{margin-right:8px}.rhap_stacked-reverse{flex-direction:column-reverse}.rhap_stacked-reverse .rhap_controls-section{margin-bottom:8px}.rhap_progress-section{align-items:center;display:flex;flex:3 1 auto}.rhap_progress-container{align-items:center;align-self:center;cursor:pointer;display:flex;flex:1 0 auto;height:20px;margin:0 calc(10px + 1%);user-select:none;-webkit-user-select:none}.rhap_progress-container:focus:not(:focus-visible){outline:0}.rhap_time{color:#333;font-size:16px;user-select:none;-webkit-user-select:none}.rhap_progress-bar{background-color:#ddd;border-radius:2px;box-sizing:border-box;height:5px;position:relative;width:100%;z-index:0}.rhap_progress-filled{background-color:#868686;border-radius:2px;height:100%;position:absolute;z-index:2}.rhap_progress-bar-show-download{background-color:#dddddd80}.rhap_download-progress{background-color:#ddd;border-radius:2px;height:100%;position:absolute;z-index:1}.rhap_progress-indicator{background:#868686;border-radius:50px;box-shadow:0 0 5px #86868680;box-sizing:border-box;height:20px;margin-left:-10px;position:absolute;top:-8px;width:20px;z-index:3}.rhap_controls-section{align-items:center;display:flex;flex:1 1 auto;justify-content:space-between}.rhap_additional-controls{align-items:center;display:flex;flex:1 0 auto}.rhap_repeat-button{color:#868686;font-size:26px;height:26px;margin-right:6px;width:26px}.rhap_main-controls{align-items:center;display:flex;flex:0 1 auto;justify-content:center}.rhap_main-controls-button{color:#868686;font-size:35px;height:35px;margin:0 3px;width:35px}.rhap_play-pause-button{font-size:40px;height:40px;width:40px}.rhap_volume-controls{align-items:center;display:flex;flex:1 0 auto;justify-content:flex-end}.rhap_volume-button{color:#868686;flex:0 0 26px;font-size:26px;height:26px;margin-right:6px;width:26px}.rhap_volume-container{align-items:center;display:flex;flex:0 1 100px;user-select:none;-webkit-user-select:none}.rhap_volume-bar-area{align-items:center;cursor:pointer;display:flex;height:14px;width:100%}.rhap_volume-bar-area:focus:not(:focus-visible){outline:0}.rhap_volume-bar{background:#ddd;border-radius:2px;box-sizing:border-box;height:4px;position:relative;width:100%}.rhap_volume-indicator{background:#868686;border-radius:50px;box-shadow:0 0 3px #86868680;box-sizing:border-box;cursor:pointer;height:12px;left:0;margin-left:-6px;opacity:.9;position:absolute;top:-4px;width:12px}.rhap_volume-indicator:hover{opacity:.9}.rhap_volume-filled{background-color:#868686;border-radius:2px;height:100%;position:absolute;z-index:2}.rhap_button-clear{background-color:initial;border:none;cursor:pointer;overflow:hidden;padding:0}.rhap_button-clear:hover{opacity:.9;transition-duration:.2s}.rhap_button-clear:active{opacity:.95}.rhap_button-clear:focus:not(:focus-visible){outline:0}.modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#282c34;border-radius:8px;box-shadow:0 5px 15px #00000080;color:#fff;max-width:500px;width:90%}.modal-header{align-items:center;border-bottom:1px solid #3a3f4b;display:flex;justify-content:space-between;padding:15px 20px}.modal-header h2{color:#f33;font-size:1.5rem;margin:0}.close-button{background:none;border:none;color:#aaa;cursor:pointer;font-size:1.5rem}.close-button:hover{color:#fff}form{padding:20px}.form-group{margin-bottom:20px}label{display:block;font-weight:500;margin-bottom:8px}input[type=text],textarea{background-color:#1e2128;border:1px solid #3a3f4b;border-radius:4px;color:#fff;font-size:1rem;padding:10px;width:100%}input[type=text]:focus,textarea:focus{border-color:#f33;outline:none}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.cancel-button,.save-button{font-weight:500}.cancel-button{background-color:initial;border:1px solid #aaa;color:#aaa}.cancel-button:hover{border-color:#fff;color:#fff}.save-button:hover{background-color:#e62e2e}.error-message{background-color:#ff00001a;color:#f33}.playlists-container{color:#fff;margin:0 auto;max-width:1200px;padding:20px}.playlists-container h2{color:#f33;font-size:1.8rem;font-weight:700;margin:0 0 20px;text-shadow:1px 1px 2px #00000080}.playlists-layout{display:flex;flex-direction:column;gap:20px}@media (min-width:768px){.playlists-layout{flex-direction:row}.playlists-sidebar{flex-shrink:0;width:300px}.playlist-content{flex:1 1}}.playlists-sidebar{background-color:#0003;border-radius:8px;padding:15px}.playlists-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.playlists-header h3{color:#f33;font-size:1.2rem;margin:0}.create-playlist-button{background-color:#f33;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:6px 12px}.create-playlist-button:hover{background-color:#e62e2e}.playlist-list{list-style:none;margin:0;padding:0}.playlist-list li{align-items:center;background-color:#ffffff1a;border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:5px;padding:10px;transition:background-color .2s}.playlist-list li:hover{background-color:#ffffff26}.playlist-list li.active{background-color:#ff33334d;border-left:3px solid #f33}.playlist-info{display:flex;flex-direction:column}.playlist-name{font-weight:500}.playlist-tracks{color:#ffffffb3;font-size:.8rem;margin-top:3px}.playlist-actions{display:flex;gap:5px}.delete-button,.edit-button{background-color:initial;border:1px solid #ffffff4d;border-radius:3px;color:#ffffffb3;cursor:pointer;font-size:.8rem;padding:3px 8px}.edit-button:hover{border-color:#fff;color:#fff}.delete-button:hover{border-color:#f33;color:#f33}.no-playlists{color:#ffffff80;cursor:default;font-style:italic}.playlist-content{background-color:#0003;border-radius:8px;padding:20px}.playlist-header{margin-bottom:20px}.playlist-details h3{color:#f33;font-size:1.5rem;margin:0 0 5px}.playlist-description{color:#fffc;margin:0 0 10px}.playlist-count{color:#fff9;font-size:.9rem;margin:0}.available-tracks,.playlist-tracks{margin-bottom:30px}.available-tracks h4,.playlist-tracks h4{border-bottom:1px solid #ffffff1a;color:#f33;font-size:1.1rem;margin:0 0 15px;padding-bottom:8px}.track-list{list-style:none;margin:0;padding:0}.track-list li{align-items:center;background-color:#ffffff1a;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:5px;padding:8px 10px}.track-list li.active{background-color:#ff33334d;border-left:3px solid #f33}.track-info{align-items:center;cursor:pointer;display:flex;flex:1 1}.track-number{color:#f33;font-weight:700;margin-right:10px;min-width:20px}.track-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-track-button,.remove-track-button{background-color:initial;border:1px solid #ffffff4d;border-radius:3px;color:#ffffffb3;cursor:pointer;font-size:.8rem;padding:4px 8px}.add-track-button:hover{border-color:#2ecc71;color:#2ecc71}.remove-track-button:hover{border-color:#f33;color:#f33}.no-playlist-selected,.no-tracks{color:#ffffff80;font-style:italic}.no-playlist-selected{align-items:center;display:flex;height:200px;justify-content:center}.player-container{background-color:#0000004d;border-radius:8px;margin-bottom:20px;padding:20px}.top-player{margin-bottom:20px;margin-top:0}.now-playing{margin-bottom:15px}.now-playing h3{color:#f33;font-size:1.2rem;margin:0 0 5px}.now-playing p{font-size:1rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loading{color:#ffffffb3;font-style:italic;padding:20px;text-align:center}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.error-message .dismiss-button{background-color:initial;color:#721c24;margin-left:10px}.video-upload-container{background-color:#111;border-radius:8px;box-shadow:0 2px 4px #f003;padding:15px}.video-upload-container h2{color:red;font-size:1.2rem;margin-bottom:15px;margin-top:0}.upload-form{gap:12px}.form-group,.upload-form{display:flex;flex-direction:column}.form-group{gap:5px}.form-group label{color:#ccc;font-size:.9rem}.form-group input[type=text],.form-group textarea{background-color:#222;border:1px solid #333;border-radius:4px;color:#f5f5f5;font-size:.9rem;padding:8px 10px}.form-group input[type=file]{color:#ccc;padding:8px 0}.upload-button{background-color:red;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;margin-top:5px;padding:10px;transition:background-color .2s}.upload-button:hover{background-color:#c00}.upload-button:disabled{background-color:#444;cursor:not-allowed}.upload-progress{margin-top:10px}.progress-bar{background-color:#333;border-radius:5px;height:10px;margin-bottom:5px;overflow:hidden}.progress-bar-fill{background-color:red;height:100%;transition:width .3s ease}.upload-progress p{color:#ccc;font-size:.9rem;margin:5px 0}.upload-note{color:#aaa;font-size:.8rem;font-style:italic;margin-top:10px}.error-message{font-size:.9rem;margin-bottom:10px}.video-list{max-height:500px;overflow-y:auto}.video-list ul{list-style:none;margin:0;padding:0}.video-item{background-color:#111;border-radius:6px;box-shadow:0 1px 3px #f003;cursor:pointer;margin-bottom:10px;padding:10px;transition:transform .2s,box-shadow .2s}.video-item:hover{box-shadow:0 3px 6px #ff00004d;transform:translateY(-2px)}.video-item.selected{border:2px solid red}.video-item-content{display:flex;gap:10px}.video-thumbnail{background-color:#222;border-radius:4px;flex-shrink:0;height:56px;overflow:hidden;position:relative;width:100px}.video-thumbnail img{height:100%;object-fit:cover;width:100%}.thumbnail-placeholder{align-items:center;color:#aaa;display:flex;font-size:.7rem;height:100%;justify-content:center;padding:5px;text-align:center;width:100%}.video-duration{background-color:#000000b3;border-radius:2px;bottom:3px;color:#fff;font-size:.7rem;padding:1px 4px;position:absolute;right:3px}.video-details{flex:1 1;min-width:0}.video-title{font-size:.95rem;margin:0 0 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-date{font-size:.8rem;margin:0 0 5px}.video-status{border-radius:3px;display:inline-block;font-size:.75rem;font-weight:500;padding:2px 6px}.status-processing{background-color:#332700;color:#fc0}.status-ready{background-color:#1a2e1a;color:#4caf50}.status-error{background-color:#2e1515;color:#ff5252}.status-uploaded{background-color:#162a38;color:#64b5f6}.status-default{background-color:#222;color:#aaa}.video-actions{display:flex;flex-direction:column;gap:5px}.delete-button,.play-button{border:none;border-radius:4px;cursor:pointer;font-size:.8rem;padding:4px 8px;transition:background-color .2s}.play-button{background-color:red;color:#fff}.play-button:hover{background-color:#c00}.delete-button{background-color:#333;border:1px solid #555}.delete-button:hover{background-color:#444}.video-description{border-left:3px solid red;color:#ccc;display:block;font-size:.85rem;margin:10px 0 0 10px;max-height:60px;overflow:hidden;padding-left:10px;text-overflow:ellipsis;white-space:pre-line;width:100%}.no-videos-message{color:#aaa;font-style:italic;padding:20px 0;text-align:center}.video-uploader{color:#aaa;font-size:.8rem;margin:2px 0}.video-player{display:flex;flex-direction:column;height:100%}.video-wrapper{background-color:#000;border-radius:6px;box-shadow:0 2px 10px #ff00004d;overflow:hidden;padding-top:56.25%;position:relative;width:100%}.video-element{object-fit:contain}.video-element,.video-processing{height:100%;left:0;position:absolute;top:0;width:100%}.video-processing{align-items:center;background-color:#111;color:red;display:flex;justify-content:center;padding:20px;text-align:center}.video-info{flex:1 1;margin-top:15px}.video-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.video-title{color:red;font-size:1.5rem;margin:0}.video-date{color:#aaa;font-size:.9rem;margin:0 0 15px}.video-description{margin-top:15px}.video-description h3{color:#ccc;font-size:1rem;margin:0 0 5px}.video-description p{color:#f5f5f5;line-height:1.5;margin:0;white-space:pre-line}.edit-button{background-color:red}.edit-button:hover{background-color:#c00}.edit-form{display:flex;flex-direction:column;gap:15px}.edit-form input[type=text],.edit-form textarea{background-color:#222;border:1px solid #333;border-radius:4px;color:#f5f5f5;font-size:.9rem;padding:8px 10px}.cancel-button,.save-button{border:none;border-radius:4px;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background-color .2s}.save-button{background-color:red}.save-button:disabled{background-color:#444;cursor:not-allowed}.cancel-button{background-color:#222;border:1px solid #333;color:#ccc}.cancel-button:hover{background-color:#333}.cancel-button:disabled{background-color:#222;color:#555;cursor:not-allowed}.videos-container{margin:0 auto;max-width:1200px;padding:20px}.videos-container h2{color:#f33;font-size:1.8rem;font-weight:700;margin:0 0 20px;text-shadow:1px 1px 2px #00000080}.videos-content,.videos-sidebar{display:flex;gap:20px}.videos-sidebar{flex:0 0 350px;flex-direction:column}.videos-list-container{background-color:#111;border-radius:8px;box-shadow:0 2px 4px #f003;padding:15px}.videos-list-container h2{color:red;font-size:1.2rem;margin-bottom:15px;margin-top:0}.video-player-container{background-color:#111;border-radius:8px;box-shadow:0 2px 4px #f003;display:flex;flex:1 1;flex-direction:column;min-height:400px;padding:15px}.no-video-selected{align-items:center;color:#aaa;display:flex;flex:1 1;font-size:1.1rem;justify-content:center;text-align:center}.error-message{margin-bottom:15px;padding:10px}@media (max-width:900px){.videos-content{flex-direction:column}.videos-sidebar{flex:none;width:100%}}.lyrics-container h2{color:#f33;font-size:1.8rem;font-weight:700;letter-spacing:2px;margin:0 0 20px;text-align:center;text-shadow:1px 1px 2px #00000080;text-transform:none}.lyrics-actions{display:flex;justify-content:flex-end;margin-bottom:20px}.new-lyric-button{background-color:#f33;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px;transition:background-color .2s}.new-lyric-button:hover{background-color:#c00}.error-message{align-items:center;background-color:#2e1515;border:1px solid #3a1c1c;border-radius:4px;color:#ff5252;display:flex;justify-content:space-between;margin-bottom:20px;padding:10px 15px}.error-message .dismiss-button{background:none;border:none;color:#ff5252;cursor:pointer;font-weight:700;padding:0 5px}.lyric-form{background-color:#222;border:1px solid #333;border-radius:8px;margin-bottom:30px;padding:20px}.lyric-form h3{color:#f33;margin-bottom:20px;margin-top:0;text-transform:none}.form-group{margin-bottom:15px}.form-group label{display:block;font-weight:500;margin-bottom:8px}.form-group input,.form-group textarea{background-color:#111;border:1px solid #333;border-radius:4px;color:#f5f5f5;font-family:Roboto Mono,monospace;padding:10px;resize:vertical;width:100%}.form-group textarea{min-height:200px}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.save-button{background-color:#f33;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px;transition:background-color .2s}.save-button:hover{background-color:#c00}.cancel-button{background-color:#333;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px;transition:background-color .2s}.cancel-button:hover{background-color:#444}.loading-lyrics{color:#aaa;font-size:1.2rem}.loading-lyrics,.no-lyrics{padding:40px;text-align:center}.no-lyrics{background-color:#222;border:1px solid #333;border-radius:8px}.lyrics-list{display:flex;flex-direction:column;gap:20px}.lyric-card{background-color:#222;border:1px solid #333;border-radius:8px;padding:20px;transition:all .3s ease}.lyric-card:hover{border-color:#444}.lyric-header{border-bottom:1px solid #333;cursor:pointer;margin-bottom:15px;padding-bottom:10px}.lyric-title-row{align-items:center;display:flex;justify-content:space-between}.expand-icon{color:#f33;font-size:1.2rem;margin-right:10px}.lyric-header h3{color:#f33;font-size:1.4rem;margin:0 0 10px;text-transform:none}.lyric-meta{color:#aaa;display:flex;font-size:.9rem;justify-content:space-between}.lyric-content{margin-bottom:20px;max-height:300px;overflow-y:auto;padding-right:10px}.lyric-content pre{font-family:Roboto Mono,monospace;line-height:1.6;margin:0;white-space:pre-wrap}.lyric-actions{display:flex;gap:10px;justify-content:flex-end}.edit-button{background-color:#333;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:6px 12px;transition:background-color .2s}.edit-button:hover{background-color:#444}.delete-button{background-color:#611;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:6px 12px;transition:background-color .2s}.delete-button:hover{background-color:#811}.lyric-edit textarea{background-color:#111;border:1px solid #333;border-radius:4px;color:#f5f5f5;font-family:Roboto Mono,monospace;margin-bottom:15px;min-height:200px;padding:10px;resize:vertical;width:100%}.edit-actions{display:flex;gap:10px;justify-content:flex-end}@media (max-width:768px){.lyric-meta{gap:5px}.form-actions,.lyric-meta{flex-direction:column}.form-actions button{width:100%}.lyric-actions{flex-direction:column;gap:10px}.lyric-actions button{width:100%}}
/*# sourceMappingURL=main.7e1853a6.css.map*/