/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
.song-actions{display:flex;gap:0.5rem;align-items:center;flex-wrap:wrap;}.song-actions .action-btn{padding:0.5rem;border:1px solid var(--color-border,#ddd);background:var(--color-background,#fff);border-radius:4px;cursor:pointer;transition:all 0.2s ease;display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;position:relative;}.song-actions .action-btn:hover:not(.disabled){background:var(--color-hover,#f0f0f0);transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,0.1);}.song-actions .action-btn:active:not(.disabled){transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,0.1);}.song-actions .action-btn.disabled,.song-actions .action-btn:disabled{opacity:0.5;cursor:not-allowed;pointer-events:none;}.song-actions .action-btn .icon{font-size:1rem;line-height:1;display:inline-block;}.song-action-like{color:var(--color-like,#e91e63);}.song-action-like:hover:not(.disabled){background:var(--color-like-hover,#fce4ec);border-color:var(--color-like,#e91e63);}.song-action-like.active,.song-action-like.liked{background:var(--color-like,#e91e63);color:white;}.song-action-share{color:var(--color-share,#1976d2);}.song-action-share:hover:not(.disabled){background:var(--color-share-hover,#e3f2fd);border-color:var(--color-share,#1976d2);}.song-action-download{color:var(--color-download,#388e3c);}.song-action-download:hover:not(.disabled){background:var(--color-download-hover,#e8f5e9);border-color:var(--color-download,#388e3c);}.song-action-export{color:var(--color-export,#f57c00);}.song-action-export:hover:not(.disabled){background:var(--color-export-hover,#fff3e0);border-color:var(--color-export,#f57c00);}.song-modal{display:none;position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.5);align-items:center;justify-content:center;opacity:0;transition:opacity 0.3s ease;}.song-modal.active{display:flex;opacity:1;}.song-modal-content,.channel-metadata-content,.modal-content{background:white;padding:2rem;border-radius:8px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;position:relative;animation:modalSlideIn 0.3s ease;}@keyframes modalSlideIn{from{transform:translateY(-20px);opacity:0;}to{transform:translateY(0);opacity:1;}}.song-modal .modal-close,.song-modal .channel-metadata-close,.song-modal .export-modal-close,.song-modal .close-btn{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.75rem;cursor:pointer;color:#666;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background 0.2s;}.song-modal .modal-close:hover,.song-modal .channel-metadata-close:hover,.song-modal .export-modal-close:hover{background:#f0f0f0;color:#333;}@media (max-width:768px){.song-modal .modal-close,.song-modal .channel-metadata-close,.song-modal .export-modal-close,.song-modal .close-btn{width:48px;height:48px;font-size:2rem;}}.song-modal-header,.channel-metadata-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0;}.song-modal-title,.channel-metadata-title{font-size:1.25rem;font-weight:600;color:#333;margin:0;}.song-modal-body,.channel-metadata-body{color:#666;line-height:1.6;}.song-modal-export .file-tree{background:#f5f5f5;padding:1rem;border-radius:4px;margin:1rem 0;font-family:monospace;}.song-modal-export .file-tree-item{padding:0.25rem 0;line-height:1.4;}.song-modal-export .file-tree-children{margin-left:1.5rem;}.song-modal-export .export-download-btn{display:inline-block;padding:0.75rem 1.5rem;background:var(--color-primary,#1976d2);color:white;border-radius:4px;text-decoration:none;transition:background 0.2s;margin-top:1rem;}.song-modal-export .export-download-btn:hover{background:var(--color-primary-dark,#1565c0);}.song-modal-share .share-options{display:flex;gap:1rem;margin:1rem 0;flex-wrap:wrap;}.song-modal-share .share-option{flex:1;min-width:100px;padding:0.5rem;text-align:center;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;transition:all 0.2s;}.song-modal-share .share-option:hover{background:#f5f5f5;border-color:#ccc;}.song-modal-login .login-options{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem;}.song-modal-login .btn-login,.song-modal-login .btn-signup{padding:0.75rem 1.5rem;border-radius:4px;text-align:center;text-decoration:none;transition:all 0.2s;font-weight:500;}.song-modal-login .btn-login{background:var(--color-primary,#1976d2);color:white;}.song-modal-login .btn-signup{background:white;color:var(--color-primary,#1976d2);border:2px solid var(--color-primary,#1976d2);}.song-modal-login .btn-login:hover{background:var(--color-primary-dark,#1565c0);}.song-modal-login .btn-signup:hover{background:var(--color-primary-light,#e3f2fd);}.song-modal-success .modal-content,.song-modal-error .modal-content{text-align:center;}.song-modal-success .success-icon{color:#4caf50;font-size:3rem;margin-bottom:1rem;}.song-modal-error .error-icon{color:#f44336;font-size:3rem;margin-bottom:1rem;}@media (max-width:768px){.song-actions{gap:0.25rem;}.song-actions .action-btn{padding:0.375rem;min-width:32px;min-height:32px;}.song-modal-content,.channel-metadata-content{width:95%;padding:1.5rem;margin:1rem;}}@media (max-width:480px){.song-modal-content,.channel-metadata-content{width:100%;height:100%;max-height:100vh;border-radius:0;margin:0;}}@media print{.song-actions,.song-modal{display:none !important;}}
