.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:9999;display:flex;justify-content:center;align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.modal-content{background:rgba(18,18,18,.92);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);color:#e5e2e1;padding:0;border-radius:16px;border-color:rgba(255,255,255,.1) rgba(255,255,255,.04) rgba(255,255,255,.04) rgba(255,255,255,.07);border-style:solid;border-width:1px;max-width:90vw;max-height:85vh;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.6);animation:modalSlideUp .25s ease forwards;display:flex;flex-direction:column}@keyframes modalSlideUp{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close-button{background:transparent;color:rgba(185,202,200,.65);border:1px solid rgba(58,74,72,.4);border-radius:8px;font-size:.875rem;font-family:inherit;cursor:pointer;padding:8px 20px;margin-top:8px;transition:color .15s,border-color .15s,background .15s}.modal-close-button:hover{color:#e5e2e1;border-color:rgba(185,202,200,.4);background:rgba(255,255,255,.05)}.gallery-modal-content{width:540px}.gallery-modal-header{display:flex;align-items:center;justify-content:space-between;padding:22px 20px 18px;border-bottom:1px solid rgba(58,74,72,.2);flex-shrink:0}.gallery-modal-title{font-family:Manrope,sans-serif;font-size:1rem;font-weight:700;color:#e5e2e1;letter-spacing:-.01em}.gallery-modal-close{background:none;border:none;color:rgba(185,202,200,.45);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;transition:color .15s,background .15s}.gallery-modal-close:hover{color:#e5e2e1;background:rgba(255,255,255,.06)}.gallery-modal-close .material-symbols-outlined{font-size:1.1rem}.gallery-search-wrap{position:relative;padding:14px 20px 10px;flex-shrink:0}.gallery-search-icon{position:absolute;left:32px;top:50%;transform:translateY(-50%);color:rgba(185,202,200,.4);font-size:1.05rem;pointer-events:none}.gallery-search-input{width:100%;box-sizing:border-box;background:rgba(255,255,255,.04);border:1px solid rgba(58,74,72,.3);border-radius:10px;padding:9px 36px;font-size:.875rem;font-family:inherit;color:#e5e2e1;outline:none;transition:border-color .15s,background .15s}.gallery-search-input:focus{border-color:rgba(0,221,214,.4);background:rgba(0,221,214,.03)}.gallery-search-input::placeholder{color:rgba(185,202,200,.3)}.gallery-search-clear{position:absolute;right:34px;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(185,202,200,.35);cursor:pointer;display:flex;align-items:center;padding:2px;border-radius:4px;transition:color .15s}.gallery-search-clear:hover{color:#e5e2e1}.gallery-search-clear .material-symbols-outlined{font-size:.95rem}[dir=rtl] .gallery-search-icon{left:auto;right:32px}[dir=rtl] .gallery-search-clear{right:auto;left:30px}.gallery-list-wrap{flex:1 1;overflow-y:auto;padding:8px 20px 12px;scrollbar-width:thin;scrollbar-color:rgba(0,221,214,.2) transparent}.gallery-list-wrap::-webkit-scrollbar{width:4px}.gallery-list-wrap::-webkit-scrollbar-track{background:transparent}.gallery-list-wrap::-webkit-scrollbar-thumb{background:rgba(0,221,214,.2);border-radius:2px}.single-loader{color:#b9cac8;text-align:center;padding:32px 0;font-size:.875rem}.song-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:5px}.song-list li{display:flex;align-items:center;gap:6px;border-radius:10px;border:1px solid rgba(58,74,72,.2);background:rgba(255,255,255,.02);padding:6px 6px 6px 4px;transition:border-color .15s,background .15s}.song-list li:hover{border-color:rgba(0,221,214,.2);background:rgba(0,221,214,.03)}.song-list li.dragging{opacity:.45;cursor:-webkit-grabbing;cursor:grabbing}.drag-handle{cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:4px 2px;color:rgba(185,202,200,.2);flex-shrink:0;display:flex;align-items:center;transition:color .15s}.drag-handle .material-symbols-outlined{font-size:1.1rem}.drag-handle:hover{color:rgba(0,221,214,.5)}.drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.song-load-button{flex:1 1;min-width:0;background:none;border:none;color:#e5e2e1;padding:2px 4px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:12px;font-size:.875rem;direction:ltr;transition:color .15s}.song-load-button:hover{color:#cffffb;background:none}.song-load-button:focus{outline:none;background:none}.song-gallery-image{width:44px;height:44px;object-fit:cover;border-radius:8px;border:1px solid rgba(0,221,214,.18);flex-shrink:0}.song-gallery-placeholder{width:44px;height:44px;border-radius:8px;border:1px solid rgba(58,74,72,.25);background:rgba(255,255,255,.03);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:rgba(185,202,200,.25)}.song-gallery-placeholder .material-symbols-outlined{font-size:1.1rem}.song-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left}.song-title-text{font-size:.875rem;font-weight:600}.song-artist-text,.song-composer-text,.song-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-artist-text,.song-composer-text{font-size:.75rem;color:#b9cac8}.song-delete-button{background:none;border:none;color:rgba(185,202,200,.25);padding:6px;border-radius:6px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;transition:color .15s,background .15s}.song-delete-button:hover{color:#ff6b6b;background:rgba(255,80,80,.08)}.song-delete-button .material-symbols-outlined{font-size:1.05rem}.song-list li.has-confirm{flex-wrap:wrap}.song-delete-confirm{display:flex;align-items:center;gap:8px;flex-basis:100%;padding:6px 8px 2px;border-top:1px solid rgba(58,74,72,.3);margin-top:2px}.song-delete-confirm-text{flex:1 1;font-size:.8rem;color:rgba(185,202,200,.65);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-delete-confirm-yes{background:rgba(255,80,80,.12);color:#ff6b6b;border:1px solid rgba(255,80,80,.25);padding:3px 12px;border-radius:6px;font-size:.78rem;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s}.song-delete-confirm-yes:hover{background:rgba(255,80,80,.22);color:#ff8a8a}.song-delete-confirm-no{background:none;border:1px solid rgba(185,202,200,.15);color:rgba(185,202,200,.45);padding:3px 12px;border-radius:6px;font-size:.78rem;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s}.song-delete-confirm-no:hover{background:rgba(185,202,200,.06);color:#e5e2e1}.gallery-modal-footer{padding:12px 20px 16px;border-top:1px solid rgba(58,74,72,.2);display:flex;align-items:center;flex-shrink:0}.modal-import-button{display:inline-flex;align-items:center;gap:6px;cursor:pointer;background:transparent;color:rgba(185,202,200,.5);border:1px solid rgba(58,74,72,.3);border-radius:8px;font-size:.8rem;font-family:inherit;padding:7px 14px;transition:color .15s,border-color .15s,background .15s}.modal-import-button:hover{color:#cffffb;border-color:rgba(0,221,214,.3);background:rgba(0,221,214,.05)}[dir=rtl] .song-info{text-align:right}[dir=rtl] .song-list{direction:rtl}