.fam-slider{padding:4px 10px 2px}.fam-slider-track-wrap{position:relative;height:20px;display:flex;align-items:center}.fam-slider-track-bg{position:absolute;left:0;right:0;height:3px;background:var(--border-color);border-radius:2px;pointer-events:none}.fam-slider-fill{position:absolute;height:3px;background:var(--text-muted);border-radius:2px;pointer-events:none}.fam-slider-input{position:absolute;left:0;width:100%;height:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;pointer-events:none;outline:none;margin:0;padding:0}.fam-slider-input::-webkit-slider-runnable-track{background:transparent;height:3px}.fam-slider-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--text-muted);border:2px solid var(--bg-secondary);cursor:pointer;pointer-events:all;margin-top:-5.5px;box-shadow:0 1px 4px #00000080;transition:transform .1s}.fam-slider-input::-webkit-slider-thumb:hover{transform:scale(1.2)}.fam-slider-input::-moz-range-track{background:transparent;height:3px}.fam-slider-input::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--text-muted);border:2px solid var(--bg-secondary);cursor:pointer;pointer-events:all;box-shadow:0 1px 4px #00000080}.fam-slider-labels{position:relative;height:16px;margin-top:4px}.fam-slider-label{position:absolute;font-size:10px;color:var(--text-muted);-webkit-user-select:none;user-select:none;white-space:nowrap}.inline-popup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073}.inline-popup-layer{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.inline-popup-panel{position:fixed;background:var(--popup-bg);border:1px solid var(--popup-border);border-radius:8px;box-shadow:0 8px 32px #00000040;overflow:hidden;display:flex;flex-direction:column;width:max-content;max-width:min(70vw,600px);max-height:80vh;--bg-primary: var(--popup-bg);--bg-secondary: var(--popup-bg);--bg-tertiary: var(--popup-bg-header);--border-color: var(--popup-border);--text-primary: var(--popup-text-primary);--text-secondary: var(--popup-text-secondary);--text-muted: var(--popup-text-muted);--bg-hover: var(--popup-hover)}.inline-popup-panel--centered{top:50%;left:50%;transform:translate(-50%,-50%)}.inline-popup-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:var(--popup-bg-header);border-bottom:1px solid var(--popup-border);flex-shrink:0}.inline-popup-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--popup-text-secondary);white-space:nowrap}.inline-popup-header-action{display:flex;align-items:center;gap:6px;flex-shrink:0}.inline-popup-close{background:none;border:none;color:var(--popup-text-secondary);font-size:14px;cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1;flex-shrink:0;margin-left:auto;transition:color .15s,background .15s}.inline-popup-close:hover{color:var(--popup-text-primary);background:var(--popup-hover)}.inline-popup-body{overflow-x:hidden;overflow-y:auto;flex:1 1 auto}.admin-filter-body{display:flex;gap:0}.admin-filter-section{padding:8px 12px 10px;flex:0 1 auto;min-width:min-content}.admin-filter-section+.admin-filter-section{border-left:1px solid var(--border-color)}.admin-filter-section-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:6px}.admin-filter-option{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:12px;color:var(--text-primary);cursor:pointer;white-space:nowrap}.admin-filter-option input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px;cursor:pointer;flex-shrink:0}.admin-filter-empty{padding:12px;font-size:12px;color:var(--text-muted)}.admin-filter-fam{border-bottom:1px solid var(--border-color);padding-bottom:4px;max-width:280px}.admin-filter-clear{font-size:11px;font-weight:600;color:var(--accent);background:none;border:none;cursor:pointer;padding:0}.admin-filter-clear:hover{text-decoration:underline}.admin-filter-wrap{position:relative}.filter-btn{padding:4px 6px;line-height:0;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-hover);color:var(--text-primary);cursor:pointer;transition:background-color .15s,border-color .15s}.filter-btn:hover{background:var(--border-color)}.filter-btn.active{background:#e8944c2e;border-color:#e8944c73;color:var(--accent)}.player-container{position:relative;width:100%;max-width:100%;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.player-youtube{opacity:1;transition:opacity .2s,pointer-events .2s}.player-youtube.player-hidden{opacity:0;pointer-events:none;transform:translateY(200%)}.player-compact.player-youtube,.player-compact.player-spotify{overflow:hidden}.player-yt-scale-wrap,.player-sp-scale-wrap{transform:scale(.66666);transform-origin:top left;display:block;line-height:0}.player-compact .player-close-float{top:2px;right:2px;width:20px;height:20px;font-size:10px}.player-header{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--header-bg);border-bottom:1px solid var(--border-color)}.player-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.player-title{font-size:14px;font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-orchestra{font-size:12px;font-weight:500;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-header-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.player-close{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:12px;color:var(--text-muted);transition:background-color .15s,color .15s}.player-close:hover{background:var(--bg-hover);color:var(--text-primary)}.player-close-float{position:absolute;top:4px;right:4px;z-index:1}.player-iframe{display:block;border:none}.player-yt-container{display:block;line-height:0}.player-yt-container iframe{display:block;border:none}.player-local{display:flex;align-items:center;justify-content:center;padding:0 12px}.player-audio{width:100%;height:40px}.sidebar{background:var(--bg-secondary);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.sidebar-header{padding:10px;border-bottom:1px solid var(--border-color);flex-shrink:0;display:flex;flex-direction:column;gap:8px}.sidebar-player-wrap{flex-shrink:0;width:100%}.sidebar-player-wrap .player-container{width:100%!important;max-width:100%}.sidebar-player-wrap .player-compact.player-youtube,.sidebar-player-wrap .player-compact.player-spotify{width:202px!important;max-width:202px}.sidebar-search-wrap{position:relative;width:100%}.sidebar-search-row{display:flex;gap:8px;width:100%}.sidebar-search-input-wrap{flex:1;min-width:0;position:relative}.sidebar-search{width:100%;box-sizing:border-box;display:block;background:var(--bg-primary, #1a1a1a);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;padding:7px 10px;font-size:13px;outline:none;transition:border-color .15s}.sidebar-search::placeholder{color:var(--text-muted)}.sidebar-search:focus{border-color:var(--accent)}.sidebar-search::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center/contain no-repeat;cursor:pointer;opacity:.7}.sidebar-search::-webkit-search-cancel-button:hover{opacity:1}.sidebar-pinned{flex-shrink:0;padding:8px 0 0}.sidebar-nav{flex:1;overflow-y:auto;padding:8px 0}.sidebar-item{display:flex;align-items:center;width:100%;padding:8px 20px;text-align:left;transition:background-color .15s;border-left:3px solid transparent}.sidebar-item:hover{background:var(--bg-hover)}.sidebar-item.active{background:var(--bg-selected);border-left-color:var(--accent)}.sidebar-item.active .sidebar-item-name{color:var(--accent);font-weight:600}.sidebar-speaker-indicator{display:inline-flex;align-items:center;flex-shrink:0;margin-left:6px;color:var(--text-primary)}.sidebar-item.active .sidebar-speaker-indicator{color:var(--accent)}.sidebar-speaker-icon{width:14px;height:14px;color:inherit}.sidebar-item-name{flex:1;color:var(--text-primary);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-item-count{font-size:11px;color:var(--text-muted);margin-left:8px;flex-shrink:0}.sidebar-divider{height:1px;background:var(--border-color);margin:6px 16px}.sidebar-games-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:8px;width:18px;height:18px}.sidebar-games-icon svg{width:100%;height:100%}.sidebar-games-icon .games-icon-body{stroke:#a855f7}.sidebar-games-icon .games-icon-dpad{stroke:#22c55e}.sidebar-games-icon .games-icon-btn{fill:#eab308;stroke:#eab308}.sidebar-item-games.active .sidebar-games-icon .games-icon-body,.sidebar-item-games.active .sidebar-games-icon .games-icon-dpad,.sidebar-item-games.active .sidebar-games-icon .games-icon-btn{stroke:var(--accent);fill:var(--accent)}.floating-popup-blocker{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000004d;pointer-events:auto}.floating-popup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:600;background:#00000073;display:flex;align-items:center;justify-content:center;padding:24px;padding-top:calc(var(--header-height) + 24px)}.floating-popup-panel{background:var(--popup-bg);border:1px solid var(--popup-border);border-radius:10px;box-shadow:0 8px 32px #00000040;display:flex;flex-direction:column;max-width:90vw;max-height:85vh;overflow:hidden;animation:floating-popup-appear .2s cubic-bezier(.22,1,.36,1)}@keyframes floating-popup-appear{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.floating-popup-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px 10px;background:var(--popup-bg-header);border-bottom:1px solid var(--popup-border);border-radius:10px 10px 0 0;flex-shrink:0}.floating-popup-panel--movable .floating-popup-header{cursor:move;-webkit-user-select:none;user-select:none}.floating-popup-title{font-size:15px;font-weight:600;color:var(--popup-text-primary)}.floating-popup-close{background:none;border:none;color:var(--popup-text-secondary);font-size:16px;cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1;flex-shrink:0;margin-left:auto;transition:color .15s,background .15s}.floating-popup-close:hover{color:var(--popup-text-primary);background:var(--popup-hover)}.lm-modal{background-color:#f4ecd8;background:radial-gradient(circle at center,#fdfaf0,#f4ecd8);border-radius:12px;box-shadow:0 30px 60px #000c;max-width:800px;width:90%;border:1px solid #dcd0b9;position:relative}.lm-modal:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle,transparent 50%,rgba(139,115,85,.15) 150%);z-index:2}.lm-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:24px 32px 20px;background:#e8e0d0;border-bottom:1px solid rgba(0,0,0,.08);flex-shrink:0;position:relative;z-index:1}.lm-header-info{flex:1;min-width:0}.lm-header-play{flex-shrink:0;display:flex;align-items:center;padding-right:20px}.lm-play-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#e4d7c5;color:#5a4d41;border:none;cursor:pointer;transition:all .2s ease}.lm-play-btn:hover:not(:disabled){background:#d4c4af;color:#2c241e;transform:scale(1.05)}.lm-play-btn:active:not(:disabled){transform:scale(.95)}.lm-play-btn:disabled{background:transparent;color:#a8a090;cursor:not-allowed}.lm-play-btn.lm-stop-btn{color:#ff8080;background:#ff808026}.lm-play-btn.lm-stop-btn:hover{color:#faa;background:#ff808040}.lm-title{font-size:20px;font-weight:700;color:#1a1510;line-height:1.3;letter-spacing:.3px}.lm-subtitle{font-size:13px;color:#5a4d41;margin-top:6px;letter-spacing:.2px}.lm-header-actions{display:flex;align-items:flex-start;gap:24px}.lm-sources{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin-top:4px}.lm-sources a{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#a65d1d;text-decoration:none;font-weight:600;transition:color .15s}.lm-sources a:hover{color:#8c4e18;text-decoration:underline}.lm-close{flex-shrink:0;background:none;border:none;color:#888;font-size:16px;cursor:pointer;padding:4px;border-radius:4px;line-height:1;transition:color .15s,background .15s}.lm-close:hover{color:#111;background:#0000000d}.lm-body{overflow-y:auto;padding:32px 40px 40px;flex:1;position:relative;z-index:1}.lm-two-col{display:flex;flex-direction:column;position:relative;z-index:1}.lm-modal:before{content:"";position:absolute;top:120px;bottom:40px;left:50%;width:1px;background:#00000014;transform:translate(-50%);z-index:0}.lm-one-col{max-width:500px;margin:0 auto}.lm-stanza-row{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-bottom:32px}.lm-one-col .lm-stanza-row{display:block}.lm-stanza{font-family:Lora,Merriweather,Georgia,serif;font-size:15px;line-height:1.8;white-space:pre-wrap}.lm-spanish-text{color:#2c241e;font-style:italic;font-weight:400}.lm-english-text{color:#5a4d41;font-weight:300}.lm-loading{color:#888;font-style:italic;font-size:14px;padding:8px 0;text-align:center;width:100%}.lm-no-translation{font-style:italic;color:#5a4d4180;font-size:13px}.group-separator{background:linear-gradient(90deg,#414f53f8,#333,#1a1a1a);border-top:1px solid #4a2e1b;border-bottom:1px solid #4a2e1b;position:relative;box-sizing:border-box;-webkit-user-select:none;user-select:none;overflow:hidden;-webkit-mask-image:linear-gradient(to right,black 0%,black 60%,transparent 100%);mask-image:linear-gradient(to right,black 0%,black 60%,transparent 100%)}.group-separator-inner{position:absolute;top:3px;bottom:3px;left:0;right:0;border-top:1px solid #a68a7a;border-bottom:1px solid #a68a7a;pointer-events:none}.group-separator-grid{display:grid;align-items:center;width:100%;height:100%;position:relative;z-index:1}.group-separator-title{font-family:Inter,sans-serif;font-size:13pt;font-weight:400;text-transform:none;letter-spacing:.02em;color:#bab6b6;opacity:.9;padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:14px}.group-separator-menu-btn{background:none;border:none;padding:4px;color:#d4af37;opacity:.7;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:opacity .15s,background-color .15s;flex-shrink:0}.group-separator-menu-btn:hover{opacity:1;background-color:#ffffff1a}.group-separator-editable{cursor:var(--cursor-pen),pointer;border-bottom:1px dashed #bab6b6}.group-separator-edit-wrapper{display:flex;align-items:center;gap:4px;position:relative}.group-separator-combo{display:flex;align-items:center;background:#0000004d;border:1px solid #a68a7a;border-radius:4px;position:relative}.group-separator-combo:focus-within{border-color:#d4af37;background:#00000080}.group-separator-input{background:transparent;border:none;color:#fff;font-family:inherit;font-size:inherit;padding:2px 6px;outline:none;min-width:200px}.group-separator-combo-toggle{background:transparent;border:none;color:#bab6b6;padding:0 6px;cursor:pointer;display:flex;align-items:center;justify-content:center}.group-separator-combo-toggle:hover{color:#fff}.group-separator-combo-list{max-height:200px;overflow-y:auto;background:#1a1a2e;border:1px solid #D4AF37;border-radius:4px;box-shadow:0 4px 12px #00000080;z-index:1000;display:flex;flex-direction:column;padding:4px 0}.group-separator-combo-item{background:transparent;border:none;color:#fff;font-family:inherit;font-size:11pt;padding:6px 12px;text-align:left;cursor:pointer;white-space:nowrap}.group-separator-combo-item:hover{background:#64a0ff26}.group-separator-combo-item.selected{background:#d2a05059}.song-table-wrapper{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.song-table-x-scroll{flex:1;display:grid;grid-template-columns:minmax(max-content,1fr);grid-template-rows:auto 1fr;overflow-x:auto;overflow-y:hidden;min-width:0}.song-table-header{display:grid;z-index:10;background:var(--header-bg);border-bottom:2px solid var(--border-color)}.header-cell-wrapper{position:relative;display:flex;min-width:0}.header-cell-wrapper>.header-cell{flex:1;min-width:0}.column-resize-handle{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize;z-index:1}.column-resize-handle:hover{background:#64a0ff33}.column-resize-handle:after{content:"";position:absolute;top:20%;bottom:20%;right:2px;width:1px;background:var(--border-color);opacity:.5}.header-cell{padding:10px 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);text-align:left;white-space:nowrap;transition:color .15s;-webkit-user-select:none;user-select:none}.header-cell:hover{color:var(--text-primary)}.header-cell.active{color:var(--accent)}.header-cell.header-cell-no-uppercase{text-transform:none}.sort-indicator{font-size:9px;vertical-align:middle}.song-table-body{overflow-y:scroll}.song-row{display:grid;border-bottom:1px solid var(--border-color);transition:background-color .1s;content-visibility:auto;contain-intrinsic-size:auto 30px}.song-row.selected,.song-row.alt.selected{background:#add8e666}.song-row.selected:hover,.song-row.alt.selected:hover{background:#add8e68c!important}.song-row:hover{background:#161922!important}.song-row.alt:hover{background:#1c1f28!important}.draggable-row{cursor:grab}.draggable-row:active{cursor:grabbing}.playable-row{cursor:pointer}.song-row.alt{background:var(--row-alt)}.song-cell{padding:7px 8px;font-size:12.5px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center}.song-row.no-local .song-cell{color:var(--text-muted)}.song-row.active .song-cell,.song-row.active.no-local .song-cell{color:#ff8080}.song-row.active .text-muted{color:#ff8080d9}.text-muted{color:var(--text-muted)}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.genre-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:capitalize}.genre-tango{background:#c0785a33;color:var(--genre-tango)}.genre-vals{background:#6aa5c033;color:var(--genre-vals)}.genre-milonga{background:#8cc06a33;color:var(--genre-milonga)}.tag-badges{display:flex;gap:4px;flex-wrap:wrap;overflow:hidden}.tag-badge{display:inline-block;padding:1px 6px;border-radius:8px;font-size:10px;font-weight:600;background:#a0a0a026;color:var(--text-secondary)}.tag-missing{background:#ef444426;color:#ef4444}.flag-tf{font-style:normal;font-family:inherit}.song-cell.col-rating,.song-cell.col-energy_level,.song-cell.col-rhythmic,.song-cell.col-lyrical,.song-cell.col-dramatic,.song-cell.col-playful,.song-cell.col-nostalgic,.song-cell.col-floor_familiarity{justify-content:center}.header-cell.header-cell-center{text-align:center}.score-cell{font-size:11px;font-weight:600}.score-hi{color:#f59e0b}.score-mid{color:var(--text-primary)}.score-lo{color:var(--text-muted)}.link-spotify{color:var(--spotify-green);font-size:14px;line-height:1;transition:opacity .15s}.link-spotify:hover{opacity:.7}.link-youtube{color:var(--youtube-red);font-size:13px;line-height:1;transition:opacity .15s}.link-youtube:hover{opacity:.7}.link-play-grey{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:0;font-size:12px;line-height:1;transition:color .15s}.link-play-grey:hover{color:var(--text-primary)}.link-stop-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:0;display:flex;align-items:center;justify-content:center;line-height:1;transition:color .15s}.link-stop-btn:hover{color:var(--text-primary)}.play-col-header{color:#555}.familiarity-badge{font-size:11px;font-weight:600;text-transform:capitalize}.fam-top{color:#f59e0b}.fam-high{color:#22c55e}.fam-med{color:#6aa5c0}.fam-low{color:var(--text-muted)}.fam-borderline{color:#b8860b}.fam-delete{color:#ef4444;display:inline-flex;align-items:center}.fam-delete-option{display:inline-flex;align-items:center;gap:5px;color:#ef4444}.song-row.row-server-patched{box-shadow:inset 3px 0 #3b82f6}.song-row.row-edited{box-shadow:inset 3px 0 #ef4444}.song-row.row-server-patched.row-edited{box-shadow:inset 3px 0 #3b82f6,inset 6px 0 #ef4444}.editable-cell{cursor:pointer;border-radius:3px;transition:background-color .1s}.editable-cell:hover{background:#64a0ff1f}.editable-cell-rank{cursor:var(--cursor-pen),pointer}.cell-editor-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:799;background:transparent;cursor:default}.cell-editor-popup{display:flex;align-items:center;background:var(--bg-primary, #1a1a2e);border:1px solid var(--accent);border-radius:4px;box-shadow:0 2px 12px #0006;padding:0 2px;box-sizing:border-box}.cell-editor-popup.cell-editor-dropdown{padding:4px 0;align-items:stretch;overflow:visible}.cell-editor-popup.cell-editor-combo{padding:0;align-items:stretch;overflow:hidden;flex-direction:column}.cell-editor-popup .edit-input,.cell-editor-popup .edit-input:focus{width:100%;height:100%;border:none;outline:none;background:transparent;font-size:12px}.popup-dropdown{display:flex;flex-direction:column;width:100%;outline:none;max-height:220px;overflow-y:auto}.cell-editor-popup .popup-dropdown{background:var(--bg-primary, #1a1a2e);border-radius:4px}.cell-editor-popup .popup-dropdown.popup-dropdown-up{border:1px solid var(--accent);box-shadow:0 -4px 12px #0006;padding:4px 0}.popup-dropdown-up{position:absolute;bottom:100%;left:0}.popup-dropdown-item{padding:4px 12px;margin:0 4px;border-radius:3px;font-size:12px;font-weight:600;text-align:left;color:var(--text-primary);background:transparent;border:none;cursor:pointer;white-space:nowrap}.popup-dropdown-item:hover{background:#64a0ff26}.popup-dropdown-item.selected{background:#d2a05059}.popup-combo{display:flex;flex-direction:column;width:100%;overflow:hidden}.popup-combo-row{display:flex;align-items:center;flex-shrink:0;background:#b4b4b41a}.popup-combo-row .edit-input{border:none;outline:none;flex:1;min-width:0}.popup-combo-toggle{flex-shrink:0;padding:0 6px;font-size:14px;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;line-height:1}.popup-combo-toggle:hover{color:var(--text-primary)}.popup-combo-list{overflow-y:auto;display:flex;flex-direction:column;padding-top:2px;max-height:220px}.edit-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;border:1px solid var(--border-color);border-radius:4px;padding:1px 4px;font-size:11px;font-weight:600;width:100%;color:inherit;font-family:inherit}.edit-input:focus{outline:1px solid var(--accent);border-color:var(--accent)}.edit-input[type=number]{-moz-appearance:textfield}.edit-input[type=number]::-webkit-inner-spin-button,.edit-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.row-num-header,.row-num-cell{font-size:10px;color:var(--text-muted);text-align:right;justify-content:flex-end;-webkit-user-select:none;user-select:none}.remove-cell{display:flex;align-items:center;justify-content:center}.remove-btn{background:none;border:none;cursor:pointer;font-size:13px;line-height:1;opacity:.4;padding:0;transition:opacity .15s}.remove-btn:hover{opacity:1}.add-playlist-header{text-align:center;justify-content:center}.add-playlist-cell{display:flex;align-items:center;justify-content:center}.add-to-playlist-btn{font-size:15px;font-weight:700;line-height:1;color:var(--text-muted);opacity:.4;transition:opacity .15s,color .15s;padding:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center}.add-to-playlist-btn:hover{opacity:1;color:var(--accent)}.remove-from-playlist-btn{font-size:16px;font-weight:700;line-height:1;color:var(--text-muted);opacity:.4;transition:opacity .15s,color .15s;padding:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center}.remove-from-playlist-btn:hover{opacity:1;color:#ef4444}.in-playlist-indicator{position:relative;font-size:12px;color:var(--accent);opacity:.6;cursor:pointer}.in-playlist-indicator--disabled{cursor:default;pointer-events:none}.in-playlist-extra{position:absolute;top:0;left:5px;opacity:.45;pointer-events:none}.link-play{color:var(--accent);font-size:13px;line-height:1;transition:opacity .15s}.link-play:hover{opacity:.7}.lyrics-col-header{display:flex;align-items:center;justify-content:center;opacity:.45}.lyrics-col-cell{display:flex;align-items:center;justify-content:center}.lyrics-col-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:3px;border-radius:4px;color:#ffffff59;cursor:pointer;transition:color .12s,background .12s;line-height:1;outline:none}.lyrics-col-btn:focus{outline:none}.lyrics-col-btn:hover{color:#ffffffd9;background:#ffffff14}.group-playlist-prefix{color:#ffffff73;font-size:.85em}.song-cell-hint{display:inline-block;max-width:100%}.song-cell-hint-tooltip{padding:8px 12px;font-size:1.1em;font-weight:400;color:#000;background:#f4ecd8;border:1px solid #dcd0b9;border-radius:6px;white-space:pre-wrap;word-break:break-word;box-shadow:0 4px 12px #00000040;z-index:10000;pointer-events:auto}.fp-body{padding:20px 18px;color:var(--popup-text-primary)}.fp-song-rating{margin-bottom:16px}.fp-song-rating-options{display:flex;flex-wrap:wrap;gap:12px 20px}.fp-problems{margin-bottom:16px}.fp-problems-label{display:block;font-size:13px;font-weight:500;margin-bottom:8px;color:var(--popup-text-secondary)}.fp-flags{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px 16px}.fp-flag{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.fp-flag input{flex-shrink:0}.fp-flag-yt{color:#ff4e45}.fp-flag-sp{color:#1db954}.fp-textarea{width:100%;min-height:60px;padding:12px 14px;font-size:14px;line-height:1.5;color:var(--popup-text-primary);background:#fff;border:1px solid var(--popup-border);border-radius:8px;resize:vertical;margin-bottom:8px;box-sizing:border-box}.fp-textarea::placeholder{color:var(--popup-text-muted)}.fp-textarea:focus{outline:none;border-color:#9ba0b8}.fp-textarea:disabled{opacity:.6;cursor:not-allowed}.fp-name-row{display:flex;align-items:center;gap:8px;margin-bottom:16px}.fp-name-label{font-size:14px;font-weight:500;color:var(--popup-text-secondary);flex-shrink:0}.fp-name-value{font-size:14px;color:var(--popup-text-primary)}.fp-name-input{flex:1;min-width:0;padding:10px 14px;font-size:14px;color:var(--popup-text-primary);background:#fff;border:1px solid var(--popup-border);border-radius:8px;box-sizing:border-box}.fp-name-input::placeholder{color:var(--popup-text-muted)}.fp-name-input:focus{outline:none;border-color:#9ba0b8}.fp-name-input:disabled{opacity:.6;cursor:not-allowed}.fp-name-row .fp-name-input{margin-bottom:0}.fp-error{margin:0 0 16px;font-size:13px;color:#c0392b}.fp-actions{display:flex;justify-content:flex-end;gap:12px}.sdp-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;pointer-events:none}.sdp-panel{position:fixed;top:60px;right:8px;width:336px;display:flex;flex-direction:column;min-height:0;background:var(--panel-bg, #1e1e2e);border:1px solid rgba(255,255,255,.257);border-radius:12px;box-shadow:0 8px 32px #00000073;padding:0;pointer-events:all;animation:sdp-slide-in .18s cubic-bezier(.22,1,.36,1);z-index:401;transition:border-color .12s}.sdp-panel-inline{display:flex;flex-direction:column;min-height:0;flex:1;width:100%;box-sizing:border-box;background:var(--panel-bg, #1e1e2e);border:1px solid rgba(255,255,255,.257);border-radius:12px;box-shadow:0 2px 12px #0000004d;padding:0;overflow:hidden}.sdp-header{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:10px 14px 10px 20px;background:#ffffff1f;border-bottom:1px solid var(--border-color, #3a3a4a);border-radius:12px 12px 0 0}.sdp-value-editable{position:relative;overflow:visible}.sdp-edit-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:flex-start;min-width:0;min-height:100%;padding:2px 4px;margin:-2px -4px;background:#d8d8d8;color:#000;border-radius:4px;overflow:visible}.sdp-edit-overlay .edit-input,.sdp-edit-overlay .popup-combo-row{background:#e8e8e8!important;color:#000!important}.sdp-edit-overlay .edit-input{border-color:#999;color:#000;font-size:14px}.sdp-edit-overlay .popup-combo-input{color:#000!important}.sdp-edit-overlay .popup-combo{min-width:0;flex:1;overflow:visible}.sdp-edit-overlay .popup-dropdown{min-width:100px;flex:0 0 auto;overflow-y:auto;align-self:flex-start;background:#d8d8d8;border-radius:4px;padding:4px 0;max-height:220px}.sdp-edit-overlay-dropdown{flex-direction:column;gap:4px}.sdp-edit-overlay-current{flex-shrink:0;font-size:14px;font-weight:600;color:#000}.sdp-edit-overlay .popup-dropdown.popup-dropdown-up{position:absolute;bottom:100%;left:0;margin-bottom:2px}.sdp-edit-overlay .popup-combo-list{background:#e8e8e8;border-color:#999}.sdp-edit-overlay .popup-dropdown-item{color:#000}.sdp-edit-overlay .popup-dropdown-item:hover{background:#00000014}.sdp-edit-overlay .popup-dropdown-item.selected{background:#00000026}.sdp-value-placeholder{visibility:hidden}.sdp-edit-overlay:has(.popup-dropdown-up)+span{position:relative;z-index:3;visibility:visible!important;color:#000}.sdp-header-genre-wrap{position:relative}.sdp-edit-overlay-header{position:absolute;transform:translateY(-50%);inset:auto;min-width:100px;padding:4px 6px;margin:0}.sdp-body{flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable;padding:16px 20px 18px}.sdp-footer{margin-top:16px;padding-top:14px;border-top:1px solid var(--border-color, #3a3a4a)}.sdp-delete-btn{display:block;width:100%;padding:10px 14px;font-size:14px;font-weight:500;color:#e57373;background:#e573731f;border:1px solid rgba(229,115,115,.35);border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s}.sdp-delete-btn:hover{background:#e5737338;border-color:#e5737380}@keyframes sdp-slide-in{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.sdp-close{flex-shrink:0;background:none;border:none;color:var(--text-secondary);font-size:14px;cursor:pointer;padding:2px 4px;border-radius:4px;line-height:1;transition:color .12s,background .12s}.sdp-edit-btn{margin:0 auto;padding:4px 10px;font-size:11px;font-weight:600;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:color .12s,background-color .3s ease,border-color .12s,box-shadow .12s,transform .12s;box-shadow:0 1px 2px #0003}.sdp-edit-btn.sdp-edit-btn-icon{display:inline-flex;align-items:center;justify-content:center;padding:6px;border-radius:6px;min-width:32px;min-height:32px}.sdp-edit-btn.sdp-edit-btn-icon svg{transition:transform .3s ease}.sdp-edit-btn.sdp-edit-btn-icon.sdp-edit-btn-active svg{transform:rotate(90deg)}.sdp-edit-btn.sdp-edit-btn-active{background:#fff3}.sdp-edit-btn:hover{color:var(--text-primary, #fff);background:#ffffff26;border-color:#ffffff4d}.sdp-edit-btn.sdp-edit-btn-active:hover{background:#ffffff40}.sdp-header-right{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:1;flex-shrink:0}.sdp-close:hover{color:var(--text-primary, #fff);background:var(--hover-bg, rgba(255, 255, 255, .07))}.sdp-title{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:650;color:var(--text-primary, #fff);line-height:1.35;min-width:0;overflow:hidden;flex:1}.sdp-header .sdp-edit-btn,.sdp-header .sdp-speech-btn{flex-shrink:0}.sdp-speech-btn{font-size:16px;line-height:1;background:#ffffff0d;border-color:#ffffff1f;color:var(--text-secondary)}.sdp-speech-btn:hover{color:var(--text-primary, #fff);background:#ffffff26;border-color:#ffffff4d}.sdp-feedback-badge{position:absolute;top:-2px;right:-2px;width:8px;height:8px;border-radius:50%;background:#3b82f6;pointer-events:none}.sdp-header-icon-btn{position:relative}.sdp-header-icon-btn[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%) scale(.96);padding:4px 8px;font-size:11px;font-weight:500;color:var(--text-primary, #fff);background:#000000d9;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease 0s,transform .2s ease 0s;box-shadow:0 2px 8px #0000004d}.sdp-header-icon-btn[data-tooltip]:hover:after{opacity:1;transform:translate(-50%) scale(1);transition:opacity .2s ease 1s,transform .2s ease 1s}.sdp-title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sdp-genre-badge.sdp-genre-badge-title,.sdp-genre-badge.sdp-genre-header{display:inline-flex;align-items:center;flex-shrink:0;font-size:9px;padding:2px 6px;letter-spacing:.5px;opacity:.6;line-height:1;margin-left:4px}.sdp-genre-badge.sdp-genre-header{margin-left:0;font-size:12px;padding:3px 8px;position:relative;background:transparent!important;opacity:1}.sdp-genre-badge.sdp-genre-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px;z-index:-1;opacity:.4}.sdp-genre-badge.sdp-genre-header.sdp-genre-tango:before{background:#3d1f2e}.sdp-genre-badge.sdp-genre-header.sdp-genre-vals:before{background:#1e2e3d}.sdp-genre-badge.sdp-genre-header.sdp-genre-milonga:before{background:#1e2e20}.sdp-play-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:none;color:var(--text-secondary);cursor:pointer;transition:color .15s,background-color .15s,opacity .15s;border-radius:50%}.sdp-play-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.sdp-play-btn:disabled{opacity:.3;cursor:default}.sdp-play-btn.sdp-stop-btn{color:var(--text-secondary)}.sdp-play-btn.sdp-stop-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sdp-meta-grid{display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:6px;margin-bottom:14px;overflow:visible}.sdp-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #888);white-space:nowrap;align-self:center}.sdp-label-top{align-self:start}.sdp-value{font-size:14px;color:var(--text-primary, #e0e0e0);word-break:break-word}.sdp-value-action,.sdp-value-inline-addons{display:inline-flex;align-items:center;gap:8px;flex-wrap:nowrap}.sdp-orchestra-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.sdp-orchestra-row .sdp-genre-badge{flex-shrink:0;margin-right:6px}.sdp-search-arrow{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:3px;border-radius:4px;color:var(--text-muted, #666);cursor:pointer;transition:color .12s,background .12s;line-height:1}.sdp-search-arrow:hover:not(:disabled){color:var(--text-secondary, #bbb);background:#ffffff12}.sdp-search-arrow:disabled{opacity:.3;cursor:default}.sdp-search-group{display:inline-flex;align-items:center;flex-shrink:0}.sdp-count-btn{display:inline-flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);min-width:20px;height:20px;padding:0 6px;border-radius:10px;color:var(--text-secondary, #bbb);font-size:11px;font-weight:600;cursor:pointer;transition:all .12s ease;line-height:1}.sdp-count-btn:hover{color:var(--text-primary, #fff);background:#ffffff1f;border-color:#fff3}.sdp-label-yt{color:#ff4e45}.sdp-label-sp{color:#1db954}.sdp-label-link{text-decoration:none;cursor:pointer}.sdp-label-link:hover{text-decoration:underline}.sdp-value-links{display:flex;align-items:center;gap:12px}.sdp-link-yt,.sdp-value-yt .sdp-link-yt{color:#ff4e45}.sdp-link-sp,.sdp-value-sp .sdp-link-sp{color:#1db954}.sdp-link-yt,.sdp-link-sp{font-size:14px;font-weight:500;text-decoration:none;opacity:.85;transition:opacity .15s}.sdp-link-yt:hover,.sdp-value-yt .sdp-link-yt:hover,.sdp-link-sp:hover,.sdp-value-sp .sdp-link-sp:hover{opacity:1}.sdp-genre-badge{display:inline-block;padding:1px 7px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.sdp-genre-tango{background:#3d1f2e;color:#e08aaa}.sdp-genre-vals{background:#1e2e3d;color:#7ab8e0}.sdp-genre-milonga{background:#1e2e20;color:#7ad18a}.sdp-fam-badge{display:inline-block;padding:1px 7px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.sdp-fam-top{background:#2a1f3d;color:#c49ef0}.sdp-fam-high{background:#1f2d1f;color:#85d085}.sdp-fam-med{background:#2d2a1f;color:#d0b870}.sdp-fam-low{background:#252525;color:#888}.sdp-fam-borderline{background:#3a3520;color:#b8860b}.sdp-fam-delete{background:#3a1e1e;color:#e07070}.sdp-section,.sdp-meta-grid-divider{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-color, #2e2e3e)}.sdp-admin-badges{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.sdp-tag-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.sdp-tag-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;background:#ffffff1f;color:var(--text-primary, #ccc)}.sdp-tag-badge.sdp-badge-with-x{display:inline-flex;align-items:center;gap:4px;padding-right:4px}.sdp-badge-x{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;margin:0;border:none;border-radius:50%;background:#fff3;color:inherit;font-size:12px;line-height:1;cursor:pointer;transition:background .12s,color .12s}.sdp-badge-x:hover{background:#ffffff59}.sdp-error-badge .sdp-badge-x:hover{background:#ffffff40}.sdp-error-badge{background:#ff505033;color:#ff9090}.sdp-section-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #888);margin-bottom:5px}.sdp-section-text{font-size:14px;line-height:1.55;color:var(--text-primary, #ccc)}.sdp-inline-textarea-wrap{display:block;max-width:100%;box-sizing:border-box;background:#d8d8d8;color:#000;border-radius:4px;padding:8px 10px;min-height:7.5em}.sdp-inline-textarea-wrap .edit-textarea{width:100%;min-width:0;box-sizing:border-box;background:#e8e8e8;color:#000;border:1px solid #999;border-radius:4px;padding:6px 8px;font-size:14px;line-height:1.5;resize:vertical;font-family:inherit}.sdp-inline-textarea-wrap .edit-textarea:focus{outline:none;border-color:#666}.sdp-lyrics-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.sdp-lyrics-header .sdp-section-label{margin-bottom:0}.sdp-lyrics-header-left{display:flex;align-items:center;gap:5px}.sdp-lyrics-header-left.clickable{cursor:pointer}.sdp-lyrics-header-left.clickable:hover .sdp-lyrics-expand-btn{color:#ffffffd9;background:#ffffff14}.sdp-lyrics-expand-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:2px 3px;border-radius:4px;color:#ffffff73;cursor:pointer;transition:color .12s,background .12s;line-height:1;outline:none}.sdp-lyrics-expand-btn:focus{outline:none}.sdp-lyrics-expand-btn:hover{color:#ffffffd9;background:#ffffff14}.sdp-clickable-text{cursor:pointer;transition:color .15s}.sdp-clickable-text:hover{color:var(--text-primary, #fff);text-decoration:underline}.sdp-editable{cursor:pointer;border-radius:4px;transition:background-color .1s}.sdp-editable:hover{background:#64a0ff1f}.sdp-inline-editor{min-width:120px}.sdp-inline-editor .edit-input{width:100%;padding:4px 8px;font-size:14px}.sdp-inline-editor .popup-combo,.sdp-inline-editor .popup-dropdown{min-width:160px}.oq-wrapper{flex:1;display:flex;flex-direction:row;align-items:flex-start;gap:24px;padding:32px 24px;overflow-y:auto}.oq-wrapper>.oq-start-btn{flex-shrink:0}.oq-container{flex:1;display:flex;flex-direction:column;align-items:center;gap:24px;min-width:0}.oq-message{text-align:center;margin-top:60px}.oq-message h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:12px}.oq-message p{font-size:14px;color:var(--text-muted)}.oq-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;width:100%;max-width:520px}.oq-title{font-size:1.3rem;font-weight:600;color:var(--text-primary);margin:0;justify-self:start}.oq-score{font-size:14px;font-weight:600;color:var(--accent);justify-self:center}.oq-header-right{display:flex;justify-content:flex-end;align-items:center;min-height:38px}.oq-loading-header{font-size:12px;color:var(--text-muted);padding:10px 0}.oq-next-btn{justify-self:end}.oq-start-btn:disabled{opacity:.5;cursor:default}.oq-start-btn:disabled:hover{background:var(--accent)}.oq-start-area{display:flex;flex-direction:column;align-items:flex-start;gap:16px;width:100%;max-width:520px;margin-top:0}.oq-start-btn{padding:12px 36px;width:160px;box-sizing:border-box;border-radius:8px;background:var(--accent);color:#fff;font-size:15px;font-weight:600;border:none;cursor:pointer;transition:background-color .15s}.oq-start-btn:hover{background:var(--accent-hover)}.oq-description{font-size:13px;color:var(--accent);margin-top:8px;margin-bottom:16px;text-align:center}.oq-error-text{color:var(--text-muted);font-size:13px}.oq-settings{display:flex;flex-direction:column;gap:24px;width:100%}.oq-setting-row{display:flex;align-items:center;gap:12px}.oq-setting-label{font-size:13px;color:var(--text-secondary);min-width:105px;flex-shrink:0}.oq-pill-group{display:flex;gap:10px;flex-wrap:wrap}.oq-pill{padding:5px 12px;border-radius:16px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:background-color .12s,border-color .12s,color .12s;white-space:nowrap}.oq-pill:hover{background:var(--bg-hover);border-color:var(--text-muted)}.oq-pill-active{background:#ffffff47;border-color:var(--text-muted);color:var(--text-primary)}.oq-pill-active:hover{background:#ffffff5c;border-color:var(--text-muted)}.oq-player-area{width:100%;max-width:520px;display:flex;flex-direction:column;gap:6px}.oq-player-row{display:flex;align-items:center;gap:10px}.oq-replay-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--text-muted);background:transparent;color:var(--text-secondary);flex-shrink:0;cursor:pointer;transition:background-color .15s,color .15s}.oq-replay-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.oq-timer-bar-wrap{flex:1;height:6px;border-radius:3px;background:var(--bg-tertiary);overflow:hidden}.oq-timer-bar{height:100%;border-radius:3px;background:var(--accent);transition:width .25s linear}.oq-timer-text{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:58px;text-align:right;flex-shrink:0}.oq-genre-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;flex-shrink:0;text-transform:uppercase;letter-spacing:.04em;background:#ffffff14;color:var(--text-secondary)}.oq-loading-text{font-size:12px;color:var(--text-muted);text-align:center}.oq-choices-wrap{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:520px}.oq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%}.oq-choice{padding:14px 8px;border-radius:8px;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:background-color .12s,border-color .12s,opacity .2s;text-align:center;white-space:nowrap}.oq-choice:hover:not(:disabled){background:var(--bg-hover);border-color:var(--text-muted)}.oq-choice:disabled{cursor:default}.oq-choice.oq-correct{background:#4caf5040;border-color:#4caf50;color:#81c784}.oq-choice.oq-wrong{background:#f4433633;border-color:#f44336;color:#ef9a9a}.oq-choice.oq-dimmed{opacity:.35}.oq-unk-btn{padding:14px 8px;border-radius:8px;background:#ffffff0f;border:1px solid var(--border-color);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:background-color .12s,border-color .12s;text-align:center;white-space:nowrap;width:100%}.oq-unk-btn:hover:not(:disabled){background:#ffffff1a;border-color:var(--text-muted)}.oq-unk-btn:disabled{cursor:default}.oq-unk-btn.oq-wrong{background:#f4433633;border-color:#f44336;color:#ef9a9a}.oq-result{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:520px}.oq-result-song{font-size:13px;color:var(--text-secondary);text-align:center;line-height:1.5}.oq-result-song strong{color:var(--text-primary);font-weight:600}.oq-next-btn{padding:10px 28px;border-radius:8px;background:var(--accent);color:#fff;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:background-color .15s}.oq-next-btn:hover{background:var(--accent-hover)}.header-player{display:flex;align-items:center;gap:12px;min-width:0;flex-shrink:0;position:relative;z-index:650}.hp-box{display:flex;align-items:center;gap:4px;background:#ffffff25;border-radius:8px;padding:10px 14px 8px 8px;flex-shrink:0;width:380px;height:72px;position:relative}.hp-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid currentColor;background:transparent;color:var(--text-secondary);flex-shrink:0;transition:background-color .15s,color .15s,border-color .15s}.hp-btn:hover{background:var(--bg-hover);border-color:currentColor;color:var(--text-primary)}.hp-btn:focus{outline:none}.hp-btn.hp-stop{background:transparent;border-color:currentColor;color:#ff8080}.hp-btn.hp-stop:hover{background:var(--bg-hover);border-color:currentColor;color:#faa}.hp-empty{flex:1;text-align:center;font-size:12px;color:var(--text-muted);opacity:.6;-webkit-user-select:none;user-select:none}.hp-center{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:1px}.hp-info{display:flex;flex-direction:column;align-items:center;min-width:0;max-width:100%;gap:4px;margin-bottom:4px}.hp-title{font-size:14px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;line-height:1.3}.hp-orchestra{font-size:11px;font-weight:500;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;line-height:1.2}.hp-progress-row{display:flex;align-items:center;gap:4px;width:100%;padding-right:30px;box-sizing:border-box}.hp-time{font-size:9px;color:var(--text-muted);min-width:28px;text-align:center;flex-shrink:0;font-variant-numeric:tabular-nums}.hp-progress-wrap{flex:1;min-width:40px;display:flex;align-items:center}.hp-progress,.hp-volume{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:3px;border-radius:1.5px;outline:none;cursor:pointer;background:linear-gradient(to right,var(--text-muted) 0%,var(--text-muted) var(--pct),var(--bg-tertiary) var(--pct),var(--bg-tertiary) 100%)}.hp-progress{width:100%}.hp-progress:disabled{opacity:.35;cursor:default}.hp-progress:disabled::-webkit-slider-thumb{cursor:default;transform:none}.hp-progress:disabled::-moz-range-thumb{cursor:default}.hp-volume{width:60px}.hp-progress::-webkit-slider-thumb,.hp-volume::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;border-radius:50%;background:var(--text-secondary);border:none;box-shadow:0 0 2px #0006;transition:background-color .15s,transform .1s}.hp-progress:hover::-webkit-slider-thumb,.hp-volume:hover::-webkit-slider-thumb{background:var(--text-primary);transform:scale(1.2)}.hp-progress::-moz-range-thumb,.hp-volume::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:var(--text-secondary);border:none;box-shadow:0 0 2px #0006}.hp-progress:hover::-moz-range-thumb,.hp-volume:hover::-moz-range-thumb{background:var(--text-primary)}.hp-progress::-moz-range-track,.hp-volume::-moz-range-track{background:var(--bg-tertiary);height:3px;border-radius:1.5px}.hp-progress::-moz-range-progress,.hp-volume::-moz-range-progress{background:var(--text-muted);height:3px;border-radius:1.5px}.hp-volume-wrap{display:flex;align-items:center;gap:4px;flex-shrink:0}.hp-volume-icon{color:var(--text-muted);flex-shrink:0}.hp-player-select-wrap{position:absolute;top:6px;right:8px;z-index:1}.hp-player-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:4px;color:var(--text-secondary);font-size:9px;font-weight:500;padding:2px 18px 2px 6px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;transition:border-color .15s,color .15s;min-width:58px}.hp-player-select:hover{border-color:#ffffff40;color:var(--text-primary)}.hp-player-select:focus{outline:none;border-color:#ffffff4d}.hp-volume-hidden{visibility:hidden;pointer-events:none}.hp-player-select option{background:var(--bg-primary, #1a1a2e);color:var(--text-primary, #e0e0e0)}.save-dialog{background:var(--popup-bg);border:1px solid var(--popup-border);border-radius:10px;box-shadow:0 8px 32px #00000040;width:560px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column}.save-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px 10px;background:var(--popup-bg-header);border-bottom:1px solid var(--popup-border);flex-shrink:0;border-radius:10px 10px 0 0}.save-dialog-title{font-size:15px;font-weight:600;margin:0;color:var(--popup-text-primary)}.save-dialog-close{flex-shrink:0;background:none;border:none;color:var(--popup-text-secondary);font-size:14px;cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1;transition:color .15s,background .15s}.save-dialog-close:hover{color:var(--popup-text-primary);background:var(--popup-hover)}.save-dialog-list{flex:1;overflow-y:auto;padding:6px 0;min-height:60px;max-height:50vh}.save-dialog-item{display:flex;align-items:flex-start;gap:8px;padding:6px 14px;transition:background .1s}.save-dialog-item:hover{background:var(--popup-hover)}.save-dialog-item.removal .save-dialog-desc{color:#ef4444}.save-dialog-discard{flex-shrink:0;background:none;border:none;cursor:pointer;font-size:13px;line-height:1;opacity:.35;padding:2px 0 0;transition:opacity .15s}.save-dialog-discard:hover{opacity:1}.save-dialog-item-text{display:flex;flex-direction:column;gap:1px;min-width:0}.save-dialog-song{font-size:12px;font-weight:600;color:var(--popup-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.save-dialog-desc{font-size:11px;color:var(--popup-text-secondary);word-break:break-word}.save-dialog-empty{padding:20px;text-align:center;color:var(--popup-text-secondary);font-size:13px}.save-dialog-empty.save-dialog-error{color:#ef4444}.save-dialog-section{font-size:11px;font-weight:600;color:var(--popup-text-muted);text-transform:uppercase;letter-spacing:.05em;padding:10px 14px 4px;margin-top:4px}.save-dialog-section:first-child{margin-top:0;padding-top:0}.save-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:10px 18px 14px;border-top:1px solid var(--popup-border);flex-shrink:0}.save-dialog-purge-btn{margin-right:auto}.save-dialog-purge-btn:hover:not(:disabled){color:#b91c1c;background:#ef444426}.save-dialog-actions .edit-btn.cancel-btn{background:var(--popup-btn-bg);border-color:var(--popup-btn-border);color:var(--popup-btn-text);border-radius:12px}.save-dialog-actions .edit-btn.cancel-btn:hover{background:#d4d4d8;border-color:#a0a0a8}.confirmation-popup{background:var(--popup-bg);border:1px solid var(--popup-border);border-radius:10px;box-shadow:0 8px 32px #00000040;width:360px;max-width:90vw;padding:0;display:flex;flex-direction:column}.confirmation-popup-title{font-size:15px;font-weight:600;padding:16px 18px 8px;color:var(--popup-text-primary);margin:0}.confirmation-popup-message{font-size:14px;line-height:1.5;color:var(--popup-text-secondary);padding:0 18px 20px;margin:0}.confirmation-popup-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px 16px;border-top:1px solid var(--popup-border)}.confirmation-popup-confirm-danger{background:#ef444426;border-color:#ef444459;color:#ef4444}.confirmation-popup-confirm-danger:hover{background:#ef444440}.edit-btn.confirmation-popup-confirm-neutral{background:var(--popup-btn-bg);border-color:var(--popup-btn-border);color:var(--popup-btn-text);border-radius:12px}.edit-btn.confirmation-popup-confirm-neutral:hover{background:#d4d4d8;border-color:#a0a0a8}.confirmation-popup-actions .edit-btn.cancel-btn{background:var(--popup-btn-bg);border-color:var(--popup-btn-border);color:var(--popup-btn-text);border-radius:12px}.confirmation-popup-actions .edit-btn.cancel-btn:hover{background:#d4d4d8;border-color:#a0a0a8}.compact-song-list{list-style:none;margin:0;padding:0}.compact-song-item{display:flex;align-items:center;gap:10px;padding:8px 18px;transition:background .1s;cursor:pointer}.compact-song-item:hover{background:#0000000f}.compact-song-num-placeholder{flex-shrink:0;width:24px;display:block;visibility:hidden}.compact-play-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:none;color:var(--popup-text-secondary);cursor:pointer;border-radius:4px;transition:color .15s,background .15s}.compact-play-btn:hover{color:var(--popup-text-primary);background:#00000014}.compact-play-btn.compact-stop-btn{color:var(--popup-text-secondary)}.compact-play-btn.compact-stop-btn:hover{color:var(--popup-text-primary);background:#00000014}.compact-song-info{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.compact-song-title{font-size:13px;font-weight:600;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-song-meta{font-size:11px;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-song-duration{flex-shrink:0;font-size:11px;color:#555;font-variant-numeric:tabular-nums}.tanda-body{padding:8px 0 14px;min-height:80px}.tanda-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:28px 0;color:var(--popup-text-secondary);font-size:13px}.tanda-error{padding:20px 18px;color:#ef4444;font-size:13px;text-align:center}.tanda-empty{padding:20px 18px;text-align:center;color:var(--popup-text-secondary);font-size:13px}.tanda-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 18px 14px;border-top:1px solid var(--popup-border)}.tanda-actions-left{display:flex;align-items:center}.tanda-actions-right{display:flex;gap:8px}.tanda-yt-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 16px;border:1px solid var(--popup-border);background:var(--popup-btn-bg);cursor:pointer;text-decoration:none;border-radius:12px;font-size:12px;font-weight:600;color:var(--popup-text-primary);transition:border-color .15s,background .15s}.tanda-yt-btn .tanda-yt-label{color:var(--popup-text-secondary)}.tanda-yt-btn:hover{background:#d4d4d8;border-color:#a0a0a8}.tanda-yt-btn-disabled{cursor:not-allowed;opacity:.5;color:var(--popup-text-secondary);border-color:var(--popup-border);background:var(--popup-btn-bg)}.tanda-yt-btn-disabled:hover{background:var(--popup-btn-bg);border-color:var(--popup-border)}.tanda-yt-label{white-space:nowrap}.tanda-yt-icon{width:18px;height:18px;flex-shrink:0}.tanda-yt-icon-disabled path:first-child{fill:var(--popup-text-secondary)}.tanda-btn{padding:6px 16px;font-size:12px;font-weight:600;border-radius:6px;border:1px solid var(--popup-border);cursor:pointer;transition:background-color .15s,border-color .15s}.tanda-btn:disabled{opacity:.5;cursor:not-allowed}.tanda-btn-regen{background:#6366f126;border-color:#6366f14d;color:#818cf8}.tanda-btn-regen:hover:not(:disabled){background:#6366f140}.tanda-btn-close{background:var(--popup-btn-bg);border-color:var(--popup-btn-border);color:var(--popup-btn-text);border-radius:12px}.tanda-btn-close:hover{background:#d4d4d8;border-color:#a0a0a8}.playlist-body{padding:8px 0;min-height:80px;overflow-y:auto}.playlist-empty{padding:20px 18px;text-align:center;color:var(--popup-text-secondary);font-size:13px}.playlist-count{font-size:12px;color:var(--popup-text-muted);font-weight:500}.login-body{display:flex;flex-direction:column;gap:12px;padding:20px 18px}.login-label{font-size:11px;font-weight:700;color:var(--popup-text-secondary);text-transform:uppercase;letter-spacing:.05em}.login-input{background:#fff;border:1px solid var(--popup-border);border-radius:6px;color:var(--popup-text-primary);font-size:14px;padding:9px 12px;outline:none;transition:border-color .15s}.login-input:focus{border-color:#9ba0b8}.login-input::placeholder{color:var(--popup-text-muted)}.login-error{font-size:12px;color:#c0392b;margin-top:-4px}.login-submit{margin-top:4px;padding:9px 16px;background:#6366f126;border:1px solid rgba(99,102,241,.3);border-radius:6px;color:#4f46e5;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.login-submit:hover:not(:disabled){background:#6366f140}.login-submit:disabled{opacity:.45;cursor:default}.user-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:760}.user-menu-panel{position:fixed;z-index:761;background:var(--popup-bg);border:1px solid var(--popup-border);border-radius:8px;box-shadow:0 8px 24px #00000040;min-width:168px;overflow:hidden}.user-menu-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:11px 14px 10px;background:var(--popup-bg-header);border-bottom:1px solid var(--popup-border)}.user-menu-identity{display:flex;flex-direction:column;gap:1px;min-width:0}.user-menu-close{flex-shrink:0;background:none;border:none;color:var(--popup-text-secondary);font-size:14px;cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1;transition:color .15s,background .15s}.user-menu-close:hover{color:var(--popup-text-primary);background:var(--popup-hover)}.user-menu-name{font-size:13px;font-weight:600;color:var(--popup-text-primary);white-space:nowrap}.user-menu-id{font-size:11px;color:var(--popup-text-muted);white-space:nowrap}.user-menu-item,.user-menu-signout{display:flex;align-items:center;width:100%;padding:9px 14px;font-size:12px;font-weight:500;color:var(--popup-text-secondary);background:none;border:none;cursor:pointer;text-align:left;transition:background .12s,color .12s}.user-menu-item:hover,.user-menu-signout:hover{background:var(--popup-hover);color:var(--popup-text-primary)}.app-layout{display:flex;height:100vh;overflow:hidden}.resize-handle{width:4px;cursor:col-resize;background:var(--border-color);flex-shrink:0;transition:background-color .15s}.resize-handle:hover,.resize-handle:active{background:var(--accent)}.main-content{flex:1;display:flex;flex-direction:column;overflow-x:auto;overflow-y:hidden;min-width:0;position:relative;z-index:1}.main-header{display:flex;align-items:center;gap:16px;padding:12px 24px;border-bottom:1px solid var(--border-color);background:var(--header-bg);flex-shrink:0;min-height:48px;position:relative;z-index:100}.header-left{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex-shrink:1;width:180px;min-width:min-content}.main-header h1{margin:0;font-size:20px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.familiarity-filter{display:flex;gap:2px}.fam-filter-btn{padding:3px 7px;font-size:11px;font-weight:600;border-radius:4px;border:1px solid var(--border-color);background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s;line-height:1.2}.fam-filter-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.fam-filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px;color:var(--text-secondary)}.spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-text{color:#ef4444}.coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:8px;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.coming-soon h1{font-size:3rem;font-weight:700;color:var(--text-primary);margin:0}.coming-soon p{font-size:1.25rem;letter-spacing:.1em;margin:0}.edit-controls{margin-left:auto;display:flex;gap:8px;flex-shrink:0}.auth-controls{display:flex;align-items:center;flex-shrink:0;margin-left:12px}.auth-signin-btn{padding:5px 16px;font-size:12px;font-weight:500;border-radius:20px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);cursor:pointer;letter-spacing:.01em;transition:border-color .15s,color .15s,background .15s}.auth-signin-btn:hover{border-color:var(--text-muted);color:var(--text-primary);background:var(--bg-hover)}.auth-avatar-btn{width:30px;height:30px;border-radius:50%;background:var(--bg-hover);border:1.5px solid var(--border-color);color:var(--text-secondary);font-size:11px;font-weight:700;letter-spacing:.02em;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s,background .15s;flex-shrink:0;text-transform:uppercase}.auth-avatar-btn:hover{border-color:var(--text-muted);color:var(--text-primary);background:var(--bg-tertiary)}.edit-btn{padding:5px 14px;font-size:12px;font-weight:600;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-hover);color:var(--text-primary);cursor:pointer;transition:background-color .15s,border-color .15s}.edit-btn.icon-btn{padding:4px 6px;line-height:0;display:inline-flex;align-items:center;justify-content:center}.edit-btn:hover{background:var(--border-color)}.edit-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.edit-btn:disabled{opacity:.5;cursor:not-allowed}.edit-btn.save-btn{background:#ef444426;border-color:#ef444459;color:#ef4444}.edit-btn.save-btn:hover:not(:disabled){background:#ef444440}.edit-btn.save-btn:disabled{background:var(--bg-hover);border-color:var(--border-color);color:var(--text-secondary)}.edit-btn.cancel-btn{background:var(--bg-hover);border-color:var(--border-color);color:var(--text-secondary)}.tanda-gen-btn{background:#6366f126;border-color:#6366f14d;color:#818cf8;font-size:11px;padding:4px 10px}.tanda-gen-btn:hover{background:#6366f140}.games-page{flex:1;display:flex;flex-direction:column;min-height:0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--sidebar-width: 200px;--bg-primary: #0f1117;--bg-secondary: #1a1d27;--bg-tertiary: #252833;--bg-hover: #2d3142;--bg-selected: #3a2a1a;--border-color: #333644;--text-primary: #e8e9ed;--text-secondary: #9ba1b0;--text-muted: #6b7280;--accent: #e8944c;--accent-hover: #f0a660;--accent-dim: #a36628;--spotify-green: #1db954;--youtube-red: #ff0000;--header-bg: #161822;--header-height: 97px;--row-alt: #181b25;--genre-tango: #c0785a;--genre-vals: #6aa5c0;--genre-milonga: #8cc06a;--cursor-pen: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cg transform='rotate(90 12 12)'%3E%3Cpath d='M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z' fill='%2364a0ff'/%3E%3C/g%3E%3C/svg%3E") 0 0;--popup-bg: #e8e8ec;--popup-bg-header: #d8d8e0;--popup-border: #c0c0c8;--popup-text-primary: #1a1a2e;--popup-text-secondary: #555;--popup-text-muted: #888;--popup-hover: rgba(0, 0, 0, .08);--popup-btn-bg: #e0e0e0;--popup-btn-border: #b0b0b8;--popup-btn-text: #333333}.cursor-pen-editable{cursor:var(--cursor-pen),pointer}html,body,#root{height:100%;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg-primary);color:var(--text-primary);font-size:13px;line-height:1.4;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;color:inherit;font:inherit}
