:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a24;--bg-elevated: #22222e;--text-primary: #f0f0f5;--text-secondary: #8888a0;--text-muted: #55556a;--accent-primary: #e53935;--accent-secondary: #ff5252;--accent-glow: rgba(229, 57, 53, .4);--accent-alt: #35d4ff;--accent-alt-glow: var(--accent-alt-30);--border-subtle: var(--white-6);--border-active: rgba(229, 57, 53, .3);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--font-display: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", "Cascadia Mono", monospace;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-medium: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--color-loop: #ffc107;--color-success: #22c55e;--color-success-alt: #4caf50;--accent-primary-5: rgba(229, 57, 53, .05);--accent-primary-8: rgba(229, 57, 53, .08);--accent-primary-10: rgba(229, 57, 53, .1);--accent-primary-12: rgba(229, 57, 53, .12);--accent-primary-15: rgba(229, 57, 53, .15);--accent-primary-20: rgba(229, 57, 53, .2);--accent-primary-30: rgba(229, 57, 53, .3);--accent-primary-40: rgba(229, 57, 53, .4);--accent-primary-50: rgba(229, 57, 53, .5);--accent-primary-70: rgba(229, 57, 53, .7);--accent-alt-5: rgba(53, 212, 255, .05);--accent-alt-8: rgba(53, 212, 255, .08);--accent-alt-10: rgba(53, 212, 255, .1);--accent-alt-12: rgba(53, 212, 255, .12);--accent-alt-15: rgba(53, 212, 255, .15);--accent-alt-18: rgba(53, 212, 255, .18);--accent-alt-20: rgba(53, 212, 255, .2);--accent-alt-25: rgba(53, 212, 255, .25);--accent-alt-30: rgba(53, 212, 255, .3);--accent-alt-35: rgba(53, 212, 255, .35);--accent-alt-40: rgba(53, 212, 255, .4);--accent-alt-50: rgba(53, 212, 255, .5);--white-02: rgba(255, 255, 255, .02);--white-03: rgba(255, 255, 255, .03);--white-5: rgba(255, 255, 255, .05);--white-6: rgba(255, 255, 255, .06);--white-8: rgba(255, 255, 255, .08);--white-10: rgba(255, 255, 255, .1);--white-12: rgba(255, 255, 255, .12);--white-15: rgba(255, 255, 255, .15);--white-20: rgba(255, 255, 255, .2);--white-25: rgba(255, 255, 255, .25);--white-35: rgba(255, 255, 255, .35);--white-40: rgba(255, 255, 255, .4);--white-50: rgba(255, 255, 255, .5);--white-60: rgba(255, 255, 255, .6);--white-7: rgba(255, 255, 255, .7);--white-80: rgba(255, 255, 255, .8);--white-85: rgba(255, 255, 255, .85);--white-9: rgba(255, 255, 255, .9);--white-95: rgba(255, 255, 255, .95);--z-below: 0;--z-base: 1;--z-raised: 5;--z-sticky: 10;--z-overlay: 100;--z-panel: 1000;--z-modal: 2000;--z-toast: 9999;--z-top: 10000;--z-max: 99999}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-display);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@supports (min-height: 100dvh){body{min-height:100dvh}}.app{min-height:100vh;display:flex;flex-direction:column;position:relative}@supports (min-height: 100dvh){.app{min-height:100dvh}}.app-layout{display:flex;flex:1;position:relative;z-index:var(--z-base);min-height:100vh}@supports (min-height: 100dvh){.app-layout{min-height:100dvh}}.left-panel{position:fixed;left:0;top:0;width:400px;height:100vh;display:flex;flex-direction:column;overflow:hidden;z-index:var(--z-sticky);padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);box-sizing:border-box}@supports (height: 100dvh){.left-panel{height:100dvh}}.left-panel-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.left-panel.scrolled .app-header{box-shadow:0 4px 12px -2px #0006}.left-panel-content.section-scrolled{box-shadow:inset 0 8px 8px -8px #00000080}.about-link-spacer{flex:1;min-height:1rem}.version-display{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;margin-top:.5rem;border-top:1px solid var(--border-subtle);flex-shrink:0}.version-text{color:var(--text-muted);font-family:var(--font-display);font-size:.85rem}.version-separator{color:var(--text-muted);font-size:.85rem}.version-about-link{background:transparent;border:none;color:var(--text-muted);font-family:var(--font-display);font-size:.85rem;cursor:pointer;text-decoration:none;transition:color var(--transition-fast);padding:0}.version-about-link:hover{color:var(--text-secondary);text-decoration:underline}.right-panel{flex:1;margin-left:400px;display:flex;flex-direction:column;background:transparent;min-height:100vh;padding-bottom:env(safe-area-inset-bottom,0);padding-right:env(safe-area-inset-right,0);box-sizing:border-box}@supports (min-height: 100dvh){.right-panel{min-height:100dvh}}.u-icon-btn{width:2.25rem;height:2.25rem;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.u-icon-btn:hover{color:var(--text-primary);border-color:var(--white-10);background:var(--white-5)}.u-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-home{display:flex;flex-direction:column;min-height:100vh;position:relative;z-index:var(--z-base)}.studio-home-header{flex-shrink:0}.studio-home-header .app-header{max-width:100%}.studio-home-search{flex-shrink:0;padding:1.5rem 1.5rem 0;display:flex;justify-content:center}.studio-home-search .global-search{width:100%;max-width:560px;padding:0;min-height:0}.studio-home-content{flex:1;overflow-y:auto;padding:1.5rem 1.5rem 3rem;max-width:720px;margin:0 auto;width:100%}.studio-home-section{margin-bottom:2rem}.studio-home-section:last-child{margin-bottom:0}.studio-home-section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.studio-home-section-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0;font-family:var(--font-display);display:flex;align-items:center;gap:.5rem}.studio-home-section-title-icon{width:1.125rem;height:1.125rem;color:var(--accent-primary)}.studio-home-add-btn{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.studio-home-add-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-primary-8)}.studio-home-add-btn svg{width:1rem;height:1rem}@keyframes dropdown-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-menu{min-width:200px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 8px 24px #0006;z-index:var(--z-panel);overflow:hidden;animation:dropdown-fade-in .15s ease-out;touch-action:manipulation}.dropdown-menu-item{width:100%;display:flex;align-items:center;gap:.75rem;min-height:2.75rem;padding:.75rem 1rem;background:transparent;border:none;color:var(--text-primary);font-size:1rem;font-family:inherit;cursor:pointer;text-align:left;transition:background var(--transition-fast);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.dropdown-menu-item:hover{background:var(--bg-elevated)}@media (hover: none){.dropdown-menu-item:active{background:var(--bg-elevated)}}.dropdown-menu-item svg{width:1.25rem;height:1.25rem;flex-shrink:0;color:var(--text-secondary)}.dropdown-menu-item--danger{color:var(--accent-primary)}.dropdown-menu-item--danger:hover{background:var(--accent-primary-10)}@media (hover: none){.dropdown-menu-item--danger:active{background:var(--accent-primary-10)}}.dropdown-menu-item--danger svg{color:var(--accent-primary)}.dropdown-menu-item:disabled{opacity:.35;pointer-events:none}.dropdown-menu-item-admin{color:var(--accent-alt)}.dropdown-menu-item-admin svg{color:var(--accent-alt)}.dropdown-menu-separator{height:1px;background:var(--bg-elevated);margin:4px 0}.dropdown-menu--compact{min-width:160px}.dropdown-menu--compact .dropdown-menu-item{min-height:2rem;padding:.375rem .75rem;font-size:.8125rem;gap:.5rem}.dropdown-menu--compact .dropdown-menu-item svg{width:.9375rem;height:.9375rem}.dropdown-menu-header-name,.dropdown-menu-header-email{padding:.5rem 1rem;color:var(--text-secondary);font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-menu-header-name{padding-top:.75rem;padding-bottom:.25rem;font-size:.95rem;font-weight:500;color:var(--text-primary)}.dropdown-menu-header-email{padding-top:.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-subtle)}.dropdown-menu-header-email:first-child{padding-top:.75rem}.dropdown-menu--scrollable{max-height:320px;overflow-y:auto}.dropdown-menu-tune-item{display:flex;align-items:center;gap:.75rem;min-height:2.75rem;padding:.75rem 1rem;background:transparent;border:none;color:var(--text-primary);font-size:1rem;font-family:inherit;cursor:pointer;text-align:left;text-decoration:none;width:100%;transition:background var(--transition-fast);-webkit-tap-highlight-color:transparent}.dropdown-menu-tune-item:hover{background:var(--bg-elevated)}.dropdown-menu-tune-item.active{background:linear-gradient(135deg,var(--accent-primary-12),var(--accent-primary-8))}.dropdown-menu-tune-icon{width:1.25rem;height:1.25rem;flex-shrink:0;color:var(--text-secondary)}.dropdown-menu-tune-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.dropdown-menu-tune-title{font-weight:500;color:var(--text-primary)}.dropdown-menu-tune-meta{font-size:.8125rem;color:var(--text-secondary)}.recording-dropdown-menu.dropdown-menu{width:100%;min-width:unset;max-height:240px;overflow-y:auto}.recording-dropdown-item.dropdown-menu-item{flex-direction:column;align-items:stretch;gap:.25rem}.recording-dropdown-item-content{display:flex;flex-direction:column;gap:.125rem;min-width:0}.recording-dropdown-item-name{font-weight:500;color:var(--text-primary)}.recording-dropdown-item-meta{font-size:.8125rem;color:var(--text-secondary)}.recording-dropdown-item.active{background:linear-gradient(135deg,var(--accent-primary-12),var(--accent-primary-8))}.pdf-annotation-menu.dropdown-menu{background:color-mix(in srgb,var(--bg-elevated) 90%,transparent);backdrop-filter:blur(10px)}.pdf-annotation-option .pdf-annotation-dot{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0}.pdf-annotation-option .pdf-annotation-dot.purple{background:var(--annotation-purple, #9c27b0)}.pdf-annotation-option .pdf-annotation-dot.blue{background:var(--annotation-blue, #2196f3)}.pdf-annotation-option .pdf-annotation-dot.yellow{background:var(--annotation-yellow, #ffeb3b)}.pdf-annotation-option .pdf-annotation-dot.cyan{background:var(--annotation-cyan, #00bcd4)}.pdf-annotation-option .pdf-annotation-dot.green{background:var(--annotation-green, #4caf50)}.pdf-annotation-option .pdf-annotation-dot.orange{background:var(--annotation-orange, #ff9800)}.pdf-annotation-option .pdf-annotation-dot.red{background:var(--annotation-red, #f44336)}.pdf-annotation-option.dropdown-menu-item:disabled{opacity:.4;cursor:not-allowed}.studio-home-cards{display:flex;flex-direction:column;gap:.5rem}.studio-home-card-wrapper{display:flex;align-items:stretch}.studio-home-card{flex:1;display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-decoration:none;color:var(--text-primary);transition:background var(--transition-fast),border-color var(--transition-fast);min-width:0}.studio-home-card:hover{background:var(--bg-tertiary);border-color:var(--white-10)}.studio-home-card:active{background:var(--bg-elevated)}.studio-home-card-folder-icon{width:2rem;height:2rem;flex-shrink:0;color:var(--accent-primary)}.studio-home-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.studio-home-card-title{font-size:1rem;font-weight:500;color:var(--text-primary)}.studio-home-card-meta{font-size:.8rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-home-card-more{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:transparent;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast);opacity:.8}.studio-home-card:hover .studio-home-card-more,.studio-home-card-more:hover{opacity:1;color:var(--text-secondary);background:var(--white-6)}.studio-home-card-more:active{color:var(--accent-alt);background:var(--accent-alt-10)}.studio-home-card-more svg{width:1.125rem;height:1.125rem}.studio-home-empty{padding:2rem 0;text-align:center;color:var(--text-muted);font-size:.9rem}@media (max-width: 768px){.studio-home-search{padding:1rem 1rem 0}.studio-home-content{padding:1rem 1rem 2rem}.studio-home-section-header{margin-bottom:.5rem}.studio-home-card{padding:.875rem 1rem}.studio-home-card-more{opacity:1;min-width:2.75rem;min-height:2.75rem}}.account-page-layout{display:flex;flex-direction:column;min-height:100vh;position:relative;z-index:var(--z-base)}.standard-page-controls{padding:0;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.standard-page-controls-inner{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.75rem 1.5rem;max-width:900px;margin:0 auto;width:100%;box-sizing:border-box}.standard-page-controls-actions{display:flex;align-items:center;gap:.75rem;margin-left:auto}.standard-page-controls.standard-page-controls-bottom{border-bottom:none;border-top:1px solid var(--border-subtle)}.standard-page-controls-btn{padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.9rem;font-family:var(--font-display);font-weight:500;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);border:none}.standard-page-controls-save{background:var(--accent-primary);color:var(--text-on-accent, #fff)}.standard-page-controls-save:hover:not(:disabled){filter:brightness(1.1)}.standard-page-controls-save:disabled{opacity:.6;cursor:not-allowed}.standard-page-controls-cancel{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-subtle)}.standard-page-controls-cancel:hover{background:var(--bg-tertiary)}.standard-page-controls-link{color:var(--accent-primary);text-decoration:none;font-size:.9rem;font-weight:500}.standard-page-controls-link:hover{text-decoration:underline}.account-page-main{flex:1;overflow-y:auto;padding:1.5rem;max-width:900px;margin:0 auto;width:100%}.account-preferences{display:flex;flex-direction:column;gap:1.5rem}.account-preferences-loading{padding:2rem;text-align:center;color:var(--text-muted)}.account-preferences-nav{display:flex;gap:.5rem;flex-wrap:wrap;padding-bottom:.75rem;border-bottom:1px solid var(--border-subtle)}.account-preferences-nav-link{padding:.5rem .75rem;border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-size:.9rem;transition:background var(--transition-fast),color var(--transition-fast)}.account-preferences-nav-link:hover{color:var(--text-primary);background:var(--bg-tertiary)}.account-preferences-nav-link.active{color:var(--accent-primary);background:var(--accent-primary-8)}.account-preferences-content{display:flex;flex-direction:column;gap:1rem}.account-preferences-error{margin-bottom:.5rem}.account-preferences-saved{padding:.5rem .75rem;background:var(--accent-primary-8);color:var(--accent-primary);border-radius:var(--radius-sm);font-size:.9rem}.account-preferences-report-error{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--bg-tertiary)}.account-section{padding:1rem 0}.account-section-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem;font-family:var(--font-display)}.account-section-danger{padding:1.5rem;border:1px solid var(--accent-primary);border-radius:var(--radius-md);background:#e539350f}.account-subsection{margin-bottom:1.5rem}.account-subsection-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem;font-family:var(--font-display)}.account-profile-row{display:flex;align-items:flex-start;gap:1.25rem}.account-profile-fields{display:flex;flex-direction:column;gap:.75rem;flex:1}.account-label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;color:var(--text-secondary)}.account-label-readonly{margin-top:.25rem}.account-readonly{color:var(--text-primary);font-size:.9rem}.account-input{padding:.5rem .75rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-primary);font-size:.9rem;max-width:320px}.account-input:focus{outline:none;border-color:var(--accent-primary)}.account-select{padding:.5rem .75rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-primary);font-size:.9rem;max-width:200px}.account-field{margin-bottom:.75rem}.account-field input[type=range]{width:100%;max-width:240px;margin-top:.25rem}.account-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-primary);cursor:pointer;margin-bottom:.5rem}.account-checkbox input{width:1rem;height:1rem}.account-hint{font-size:.875rem;color:var(--text-muted);margin:0 0 .75rem}.account-language-options{display:flex;flex-direction:column;gap:.25rem}.account-btn{padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);border:1px solid transparent}.account-btn-primary{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.account-btn-primary:hover:not(:disabled){background:var(--accent-secondary);border-color:var(--accent-secondary)}.account-btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-subtle)}.account-btn-secondary:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.account-btn-danger{background:transparent;color:var(--accent-primary);border-color:var(--accent-primary)}.account-btn-danger:hover:not(:disabled){background:var(--accent-primary);color:#fff}.account-btn:disabled{opacity:.6;cursor:not-allowed}.account-delete-final{margin-top:1rem;padding:1rem;background:var(--bg-secondary);border-radius:var(--radius-sm)}.account-delete-confirm-input{max-width:100%;margin-bottom:.75rem}.account-delete-final-actions{display:flex;gap:.5rem;margin-top:.5rem}.collection-page{display:flex;flex-direction:column;min-height:100vh;position:relative;z-index:var(--z-base)}.collection-page-header{flex-shrink:0}.collection-page-header .app-header{max-width:100%}.collection-page-content{flex:1;overflow-y:auto;padding:1.5rem 1.5rem 3rem;max-width:720px;margin:0 auto;width:100%}.collection-page-title-block{text-align:center;margin-bottom:1.5rem}.collection-page-title-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.collection-page-title-center{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;min-width:0}.collection-header-back{display:flex;align-items:center;justify-content:center;margin-right:.5rem;width:2.25rem;height:2.25rem;padding:0;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;text-decoration:none}.collection-header-back:hover{background:var(--bg-elevated);border-color:var(--border-active);color:var(--accent-primary)}.collection-header-back svg{width:1.1rem;height:1.1rem}.collection-page-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0;font-family:var(--font-display)}.collection-page-edit-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.collection-page-edit-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.collection-page-edit-btn svg{width:18px;height:18px}.collection-header-dropdown{position:relative;flex-shrink:0}.collection-header-dropdown-btn{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.collection-header-dropdown-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-primary-8)}.collection-header-dropdown-btn svg{width:1rem;height:1rem}.collection-page-band{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.35rem;font-size:.9rem;color:var(--text-secondary);font-family:var(--font-display)}.collection-page-band-avatar{width:24px;height:24px;flex-shrink:0;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center}.collection-page-band-picture{width:100%;height:100%;object-fit:cover}.collection-header-edit{text-align:left;width:100%;background:var(--bg-secondary);border-radius:var(--radius-md);padding:1rem 1.25rem;border:1px solid var(--bg-elevated)}.collection-header-edit-row{margin-bottom:.75rem}.collection-header-edit-name{width:100%;box-sizing:border-box;min-width:0;font-size:1.25rem;font-weight:600;padding:.5rem .75rem;border:1px solid var(--bg-elevated);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-display)}.collection-header-edit-name:focus{outline:none;border-color:var(--accent-primary)}.collection-header-edit-footer{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.collection-header-edit-band-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.9rem;color:var(--text-secondary)}.collection-header-edit-label{font-weight:500;color:var(--text-secondary)}.collection-header-edit-band-value{flex:1;display:flex;align-items:center;gap:.5rem}.collection-header-edit-description{margin-bottom:.75rem}.collection-header-edit-description-input{width:100%;margin-top:.35rem;padding:.6rem .75rem;font-size:.9rem;line-height:1.5;border:1px solid var(--bg-elevated);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-mono);resize:vertical}.collection-header-edit-description-input:focus{outline:none;border-color:var(--accent-primary)}.collection-header-error{margin-top:.5rem}.collection-header-description{margin-top:1rem;padding:.75rem 1rem;background:var(--bg-tertiary);border-radius:var(--radius-md);text-align:left;width:100%}.collection-header-description-content{font-size:.9rem;line-height:1.6;color:var(--text-secondary)}.collection-header-description-content p{margin:0 0 .5rem}.collection-header-description-content p:last-child{margin-bottom:0}.collection-header-description-content ul,.collection-header-description-content ol{margin:.5rem 0;padding-left:1.5rem}.collection-header-description-content a{color:var(--accent-secondary);text-decoration:none}.collection-header-description-content a:hover{text-decoration:underline}.collection-header-description-content code{font-family:var(--font-mono);font-size:.85em;background:var(--bg-elevated);padding:.15rem .35rem;border-radius:4px}.collection-header-description-content pre{margin:.5rem 0;padding:.75rem;background:var(--bg-elevated);border-radius:var(--radius-sm);overflow-x:auto}.collection-header-description-content pre code{background:none;padding:0}.collection-page-tune-card-wrapper.collection-page-tune-card-dragging .collection-page-tune-card{opacity:.5}.collection-page-owner{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.25rem;font-size:.85rem;color:var(--text-muted);font-family:var(--font-display)}.collection-page-owner-avatar{width:20px;height:20px;flex-shrink:0;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center}.collection-page-owner-picture{width:100%;height:100%;object-fit:cover}.collection-sharing-summary{margin-bottom:1.25rem;padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.9rem;color:var(--text-primary);font-family:var(--font-display)}.collection-sharing-summary-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.5rem .75rem;width:100%;text-align:left;min-height:2.25rem;box-sizing:border-box}button.collection-sharing-summary-header{cursor:pointer;border:none;background:none;font:inherit;color:inherit;padding:0}button.collection-sharing-summary-header:hover{opacity:.9}.collection-sharing-summary-header-left{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.5rem .75rem;flex:1;min-width:0}.collection-sharing-summary-icon-folded{display:flex;align-items:center;justify-content:center;color:var(--text-primary);flex-shrink:0;margin-right:.125rem}.collection-sharing-summary-toggle{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;margin-left:auto;color:var(--text-primary)}.collection-sharing-summary-toggle:hover{color:var(--text-primary);background:var(--white-8)}.collection-sharing-summary-toggle svg{transition:transform var(--transition-fast)}.collection-sharing-summary-expanded .collection-sharing-summary-toggle svg{transform:rotate(180deg)}.collection-sharing-summary-expanded-content{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--border-subtle)}.collection-sharing-summary-form-wrap{min-width:0}.collection-sharing-summary-form-label{margin:0 0 .5rem}.collection-sharing-summary-form{min-width:0}.collection-sharing-summary-form .share-link-form.email-invite-form{padding:1rem;background:var(--bg-tertiary);border-radius:var(--radius-md)}.collection-sharing-summary-form .share-form-title{margin:0 0 .75rem;font-size:1rem}.email-invite-form-inline .email-invite-form-inline-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.email-invite-form-inline .email-invite-form-email{flex:1;min-width:140px;width:auto}.email-invite-form-inline .email-invite-form-permission{width:auto;min-width:120px}.email-invite-form-inline .email-invite-form-submit-inline{flex-shrink:0}.email-invite-form-inline .share-form-error{margin-bottom:.75rem}.collection-sharing-summary-invitations,.collection-sharing-summary-list{min-width:0}.collection-sharing-summary-list .user-access-list{padding-top:0;border-top:none}.collection-sharing-summary-list .share-list-title{margin-top:0;margin-bottom:.75rem;font-size:1rem}.collection-sharing-summary-owner{display:flex;align-items:center;gap:.4rem}.collection-sharing-summary-owner-avatar{width:20px;height:20px;flex-shrink:0;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center}.collection-sharing-summary-owner-picture{width:100%;height:100%;object-fit:cover}.collection-sharing-summary-access{color:var(--text-primary)}.collection-sharing-summary-loading{font-style:italic;color:var(--text-secondary)}.collection-sharing-summary-invite{display:flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-secondary);font-size:.85rem;font-family:var(--font-display);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.collection-sharing-summary-invite:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-primary-8)}.collection-sharing-summary-invite svg{flex-shrink:0}.collection-sharing-summary-readonly{background:var(--bg-secondary);border-radius:var(--radius-md);padding:.5rem 1rem}.collection-sharing-summary-header-readonly{padding:0;background:none;border:none}.collection-sharing-summary-readonly-expanded .collection-sharing-summary-toggle svg{transform:rotate(180deg)}.collection-readonly-owned-label{color:var(--text-secondary);font-size:.8125rem;white-space:nowrap;flex-shrink:0}.collection-readonly-user-badge{display:inline-flex;align-items:center;gap:.375rem;min-width:0;white-space:nowrap}.collection-readonly-owner-name{font-size:.875rem;color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collection-readonly-owner-email{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collection-readonly-admin-count{font-size:.8125rem;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.collection-members-readonly{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;padding-top:.625rem;border-top:1px solid var(--border-subtle)}.collection-members-readonly-title{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-weight:600;margin-bottom:.125rem}.collection-member-item{display:flex;align-items:center;gap:.625rem}.collection-member-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}.collection-member-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);color:var(--text-secondary);font-size:.75rem;font-weight:600;font-family:var(--font-display)}.collection-member-info{display:flex;flex-direction:column;min-width:0}.collection-member-name{font-size:.8125rem;color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collection-member-role{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.collection-member-email{font-size:.75rem;color:var(--text-muted)}.collection-page-section{margin-bottom:2rem}.collection-page-section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.collection-page-section-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0;font-family:var(--font-display)}.collection-page-add-btn{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.collection-page-add-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-primary-8)}.collection-page-add-btn svg{width:1rem;height:1rem}.collection-page-cards{display:flex;flex-direction:column;gap:.5rem}.collection-page-tune-card-wrapper{display:flex;align-items:stretch}.collection-page-tune-card{flex:1;display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-decoration:none;color:var(--text-primary);transition:background var(--transition-fast),border-color var(--transition-fast);min-width:0}.collection-page-tune-card:hover{background:var(--bg-tertiary);border-color:var(--white-10)}.collection-page-tune-card:active{background:var(--bg-elevated)}.collection-page-tune-card-icon{width:2rem;height:2rem;flex-shrink:0;color:var(--accent-primary)}.collection-page-tune-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.collection-page-tune-card-title{font-size:1rem;font-weight:500;color:var(--text-primary)}.collection-page-tune-card-meta{font-size:.8rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-page-tune-card-more{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:transparent;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast);opacity:.8}.collection-page-tune-card:hover .collection-page-tune-card-more,.collection-page-tune-card-more:hover{opacity:1;color:var(--text-secondary);background:var(--white-6)}.collection-page-tune-card-more:active{color:var(--accent-alt);background:var(--accent-alt-10)}.collection-page-tune-card-more svg{width:1.125rem;height:1.125rem}.collection-page-tune-rename-form{display:block}.collection-page-tune-rename-panel{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:var(--bg-secondary);border:1px solid var(--white-6);border-radius:var(--radius-md)}.collection-page-tune-rename-body{display:flex;flex-direction:column;gap:.5rem}.collection-page-tune-rename-label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.collection-page-tune-rename-input{width:100%;padding:.75rem 1rem;font-size:1rem;font-family:inherit;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--white-8);border-radius:var(--radius-sm);transition:border-color var(--transition-fast),background var(--transition-fast)}.collection-page-tune-rename-input:focus{outline:none;border-color:var(--accent-alt);background:var(--bg-tertiary)}.collection-page-tune-rename-actions{display:flex;gap:.75rem;justify-content:flex-end}.collection-page-tune-rename-btn{padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.collection-page-tune-rename-btn:active{transform:scale(.98)}.collection-page-tune-rename-btn-cancel{color:var(--text-secondary);background:var(--bg-elevated)}.collection-page-tune-rename-btn-cancel:hover{color:var(--text-primary);background:var(--bg-tertiary)}.collection-page-tune-rename-btn-save{color:#fff;background:var(--accent-primary)}.collection-page-tune-rename-btn-save:hover{background:var(--accent-secondary)}.collection-page-upload-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.collection-page-doc-card-wrapper{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--white-6);border-radius:var(--radius-md);transition:background var(--transition-fast),border-color var(--transition-fast)}.collection-page-doc-card-wrapper:hover{background:var(--bg-tertiary);border-color:var(--white-10)}.collection-page-doc-card{flex:1;display:flex;align-items:center;gap:.75rem;min-width:0;text-decoration:none;color:inherit}.collection-page-doc-card-icon{width:2rem;height:2rem;flex-shrink:0;color:var(--accent-alt)}.collection-page-doc-card-body{flex:1;min-width:0}.collection-page-doc-card-title{font-size:1rem;font-weight:500;color:var(--text-primary);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-page-doc-card-more{flex-shrink:0;display:flex;align-items:center;justify-content:center;opacity:.6;color:var(--text-muted);border:none;background:transparent;border-radius:var(--radius-sm);padding:.35rem;cursor:pointer;transition:opacity var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.collection-page-doc-card:hover .collection-page-doc-card-more,.collection-page-doc-card-more:hover{opacity:1;color:var(--text-secondary)}.collection-page-doc-card-more svg{width:1.125rem;height:1.125rem}.collection-page-empty{padding:2rem 0;text-align:center;color:var(--text-muted);font-size:.9rem}@media (max-width: 768px){.collection-page-content{padding:1rem 1rem 2rem}.collection-page-title-block{margin-bottom:1rem}.collection-page-title{font-size:1.25rem}.collection-page-band{font-size:.85rem}.collection-page-section-header{margin-bottom:.5rem}.collection-page-tune-card{padding:.875rem 1rem}.collection-page-tune-card-more{opacity:1;min-width:2.75rem;min-height:2.75rem}}.background-effects{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}.gradient-orb{position:absolute;border-radius:50%;filter:blur(120px);opacity:.5;animation:float 20s ease-in-out infinite;will-change:transform;contain:strict}@media (max-width: 768px),(hover: none){.gradient-orb{filter:none;opacity:.15;animation:none;background:radial-gradient(circle,currentColor 0%,transparent 40%)!important}.orb-1{color:var(--accent-primary)}.orb-2{color:var(--accent-alt)}.orb-3{color:#a855f7}}.orb-1{width:600px;height:600px;background:radial-gradient(circle,var(--accent-primary) 0%,transparent 70%);top:-200px;right:-100px;animation-delay:0s}.orb-2{width:500px;height:500px;background:radial-gradient(circle,var(--accent-alt) 0%,transparent 70%);bottom:-150px;left:-100px;animation-delay:-7s}.orb-3{width:400px;height:400px;background:radial-gradient(circle,#a855f7 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:-14s;opacity:.3}@keyframes float{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-30px) scale(1.05)}50%{transform:translate(-20px,20px) scale(.95)}75%{transform:translate(-30px,-20px) scale(1.02)}}.audio-player-wrapper{position:relative;width:100%;background:var(--bg-elevated);border:none;border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);border-radius:0 0 var(--radius-md) 0;z-index:var(--z-base);flex-shrink:0}.audio-player-loading{display:flex;align-items:center;justify-content:center;min-height:400px;color:var(--text-secondary);font-size:.9rem}.player-tabs-header{display:flex;justify-content:space-between;align-items:flex-end;padding:0;margin-top:1rem;margin-bottom:0;background:var(--bg-tertiary);border:none;border-top:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);border-top-right-radius:var(--radius-md);flex-shrink:0;position:relative;z-index:2}.player-tabs{display:flex;flex:1;gap:0;align-items:flex-end;padding-left:0;min-width:0}.player-tab{display:flex;flex:1;flex-direction:row;align-items:center;justify-content:center;gap:.4rem;padding:.6rem .5rem;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-left:none;border-top:none;border-bottom:none;border-radius:0;color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);position:relative;z-index:var(--z-base);min-width:0}.player-tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.player-tab svg{width:1rem;height:1rem;color:var(--accent-primary);flex-shrink:0}.player-tab.active{color:var(--text-primary);background:var(--bg-elevated);border-bottom:none;margin-bottom:-1px;z-index:3}.player-tabs-expand{display:flex;align-items:center;justify-content:center;align-self:stretch;width:2rem;min-width:2rem;padding:0 .5rem;background:transparent;border:none;border-radius:0;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.player-tabs-expand:hover{background:var(--bg-elevated);color:var(--accent-primary)}.player-tabs-expand svg{width:.9rem;height:.9rem}.audio-player{width:100%;transition:all var(--transition-medium);position:relative;background:transparent}.player-backdrop{position:fixed;inset:0;background:#0009;backdrop-filter:blur(8px);z-index:var(--z-overlay);animation:backdropFadeIn var(--transition-medium) ease-out}@keyframes backdropFadeIn{0%{opacity:0;backdrop-filter:blur(0)}to{opacity:1;backdrop-filter:blur(8px)}}.audio-player.expanded{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;max-width:1200px;z-index:101;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border:none;border-radius:var(--radius-xl);padding:1.5rem;box-shadow:0 25px 80px #00000080,0 0 60px var(--accent-primary-10);animation:playerExpand var(--transition-medium) ease-out;overflow:hidden}@keyframes playerExpand{0%{opacity:0;transform:translate(-50%,-50%) translateY(10px)}to{opacity:1;transform:translate(-50%,-50%) translateY(0)}}.audio-player.expanded .waveform-container{height:150px}.audio-player.expanded .marker-handle:after{height:132px}.expanded-player-info{display:flex;flex-direction:column;gap:.125rem;min-width:0;overflow:hidden;border-right:1px solid var(--border-subtle);padding-right:.75rem;margin-right:.25rem}.expanded-player-folder{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expanded-player-folder-icon{width:.75rem;height:.75rem;flex-shrink:0;opacity:.7}.expanded-player-tune{font-size:1.125rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);line-height:1.2}.audio-player.expanded .recording-controls-row{grid-template-columns:minmax(0,auto) auto 1fr auto;padding:.5rem 1rem}.drop-zone{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border:2px dashed var(--border-subtle);border-radius:var(--radius-xl);padding:3rem 2rem;text-align:center;cursor:pointer;transition:all var(--transition-medium);position:relative;overflow:hidden}.drop-zone:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--accent-glow) 0%,transparent 50%);opacity:0;transition:opacity var(--transition-medium)}.drop-zone:not(.has-file):hover,.drop-zone.drag-over{border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 20px 40px -20px #00000080,0 0 60px -30px var(--accent-primary)}.drop-zone:not(.has-file):hover:before,.drop-zone.drag-over:before{opacity:1}.drop-zone.has-file{border-style:solid;border-color:var(--border-subtle);cursor:default;padding:1rem}.drop-zone.has-file:hover{transform:none;box-shadow:none}.waveform-container{position:relative;height:100px;min-height:100px;background:var(--bg-tertiary);border-radius:var(--radius-sm);overflow:visible;cursor:pointer;margin-left:1rem;margin-right:1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overscroll-behavior-x:none}.waveform-container *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.waveform-time-overlay{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:.35rem .5rem;font-family:var(--font-mono);font-size:.7rem;font-weight:500;color:var(--text-primary);pointer-events:none;z-index:var(--z-raised);background:linear-gradient(transparent 0%,#0009)}.time-current,.time-total{color:var(--text-primary);text-shadow:0 1px 2px rgba(0,0,0,1),0 0 8px rgba(0,0,0,.9)}.sliders-compact{display:flex;flex-direction:column;gap:1rem;margin-top:.75rem;padding-top:1rem;border-top:1px solid var(--border-subtle);margin:1.5rem 1rem 1rem}.slider-row{display:grid;grid-template-columns:40px 1fr 55px;align-items:end;gap:.5rem;height:36px;padding-bottom:2px}.slider-row.disabled{opacity:.5}.slider-label-compact{font-size:.65rem;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.08em;line-height:1;padding-bottom:1px}.slider-track-wrapper{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end}.slider-bounds{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;pointer-events:none}.bound-label{font-family:var(--font-mono);font-size:.6rem;color:var(--text-primary);line-height:1;opacity:.8}.slider-graduations-compact{position:absolute;bottom:8px;left:0;right:0;height:14px;pointer-events:none}.graduation-compact{position:absolute;width:1px;height:5px;background:var(--text-primary);opacity:.6;transform:translate(-50%);bottom:0}.graduation-compact.major{height:9px;opacity:.9;width:1.5px}.graduation-compact.center{height:12px;width:2px;background:var(--accent-primary);opacity:1}.graduation-compact.gain-center{background:var(--color-success-alt)}.slider-compact{width:100%;height:6px;-webkit-appearance:none;appearance:none;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:3px;cursor:pointer;position:relative;z-index:2;margin:0;touch-action:none;pointer-events:auto}.slider-compact::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;background:var(--text-primary);border-radius:50%;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast)}.slider-compact::-webkit-slider-thumb:hover{background:var(--accent-primary);transform:scale(1.2)}.slider-compact::-moz-range-thumb{width:12px;height:12px;background:var(--text-primary);border:none;border-radius:50%;cursor:pointer}.slider-compact::-moz-range-thumb:hover{background:var(--accent-primary)}.slider-compact:disabled{cursor:not-allowed;opacity:.5}.slider-value-compact{font-family:var(--font-mono);font-size:.7rem;color:var(--text-primary);text-align:right;line-height:1;padding-bottom:1px;display:flex;flex-direction:column;gap:2px}.bpm-display{font-family:var(--font-mono);font-size:.7rem;color:var(--text-primary);text-align:right;line-height:1}.drop-zone.is-loading{cursor:wait;border-color:var(--accent-alt)}@keyframes pulse-text{0%,to{opacity:.7}50%{opacity:1}}.waveform-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:var(--z-base);image-rendering:-moz-crisp-edges;image-rendering:-webkit-crisp-edges;image-rendering:pixelated;image-rendering:crisp-edges}.waveform-overlay{z-index:2;clip-path:inset(0 100% 0 0);will-change:clip-path}.waveform-playhead{position:absolute;top:0;left:0;width:2px;height:100%;background:#fff;pointer-events:none;z-index:3;transform:translate(0);will-change:transform;box-shadow:0 0 4px var(--white-50)}.waveform-hover-line{position:absolute;top:0;left:0;width:1px;height:100%;background:var(--white-60);pointer-events:none;z-index:3;transform:translate(0);will-change:transform}.waveform-container{container-type:inline-size}.analyzing-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;color:var(--text-primary);font-size:.875rem;z-index:2;animation:pulse-text 1.5s ease-in-out infinite}.analyzing-overlay.static{animation:none;opacity:.8}.waveform-container .progress-bar{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none;z-index:3}.progress-fill{height:100%;position:absolute;top:0;left:0;z-index:2;background:linear-gradient(90deg,var(--accent-primary-15) 0%,rgba(255,82,82,.1) 100%);border-radius:var(--radius-sm) 0 0 var(--radius-sm);transition:width .1s linear;pointer-events:none}.progress-playhead{position:absolute;top:0;bottom:0;width:2px;background:var(--accent-primary);z-index:4;pointer-events:none;transition:left .1s linear;box-shadow:0 0 8px var(--accent-glow)}.progress-playhead:before{content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--accent-primary)}.progress-playhead:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid var(--accent-primary)}.marker-handle{position:absolute;top:-4px;transform:translate(-50%);z-index:15;cursor:grab;touch-action:none;user-select:none}.marker-handle:active,.marker-handle.dragging{cursor:grabbing}.marker-handle .marker-label{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:var(--color-loop);color:#1a1a24;font-family:var(--font-mono);font-weight:400;font-size:.75rem;border-radius:4px 4px 50% 50%;box-shadow:0 2px 8px #0006;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.marker-handle:hover .marker-label,.marker-handle.dragging .marker-label{transform:scale(1.15);box-shadow:0 4px 12px #ffc10766}.marker-handle:after{content:"";position:absolute;top:22px;left:50%;transform:translate(-50%);width:10px;height:82px;background:linear-gradient(to right,transparent 4px,var(--color-loop) 4px,var(--color-loop) 6px,transparent 6px);cursor:inherit;pointer-events:auto}.waveform-container.dragging-marker{cursor:grabbing;touch-action:none}.waveform-container.dragging-marker .waveform-canvas,.waveform-container.dragging-marker .progress-bar{pointer-events:none}.waveform-container.selecting-loop{cursor:crosshair;user-select:none;touch-action:none}.waveform-container.selecting-loop .waveform-canvas,.waveform-container.selecting-loop .progress-bar{pointer-events:none}.loop-controls{display:flex;align-items:center;gap:.5rem;margin-top:.25rem;padding:.25rem 1rem}.loop-marker-btn{display:flex;align-items:center;justify-content:center;gap:.35rem;height:28px;padding:0 .65rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-family:var(--font-mono);font-size:.75rem;transition:all var(--transition-fast)}.loop-marker-btn:hover:not(:disabled){border-color:var(--color-loop);color:var(--color-loop);background:#ffc1071a}.loop-marker-btn:disabled{opacity:.3;cursor:not-allowed}.loop-marker-btn.active{border-color:var(--color-loop);background:#ffc10726;color:var(--color-loop)}.loop-marker-btn .marker-letter{font-weight:400;font-size:.85rem}.loop-marker-btn .marker-time{font-size:.7rem;opacity:.8}.loop-info{font-family:var(--font-mono);font-size:.7rem;color:var(--color-loop);opacity:.8}.loop-actions{display:flex;align-items:center;gap:.35rem;margin-left:auto}.loop-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;min-height:28px;padding:0;flex-shrink:0;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:not-allowed;opacity:.5;transition:all var(--transition-fast)}.loop-action-btn svg{width:14px;height:14px;flex-shrink:0}.loop-action-btn.active{cursor:pointer;opacity:1}.loop-action-btn.save-btn.active{border-color:var(--color-loop);color:var(--color-loop);opacity:1}.loop-action-btn.save-btn.active:hover{border-color:var(--color-loop);color:var(--color-loop);background:#ffc10726}.loop-action-btn.save-btn.modified{border-color:var(--color-loop);color:var(--color-loop);background:#ffc10726;opacity:1;cursor:pointer}.loop-action-btn.save-btn.modified:hover{border-color:var(--color-loop);color:var(--color-loop);background:#ffc10740}@keyframes save-confirmed-fade{0%{border-color:var(--color-success);color:var(--color-success);background:#22c55e59}to{border-color:var(--color-loop);color:var(--color-loop);background:#ffc10726}}.loop-action-btn.save-btn.saved-confirmed{animation:save-confirmed-fade .8s ease-out forwards}.loop-action-btn.clear-btn.active{border-color:var(--color-loop);color:var(--color-loop);opacity:1}.loop-action-btn.clear-btn.active:hover{border-color:var(--color-loop);color:var(--color-loop);background:#ffc10726}.loop-action-btn.clear-btn.has-loop{border-color:var(--color-loop);color:var(--color-loop);opacity:1;cursor:pointer}.loop-action-btn.clear-btn.has-loop:hover{border-color:var(--color-loop);color:var(--color-loop);background:#ffc10726}.saved-loops{margin-top:.4rem;padding:0 1rem;display:flex;flex-direction:column;gap:1rem}.saved-loops-section{display:flex;flex-direction:column;gap:.25rem}.saved-loops-header{font-size:.7rem;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;display:flex;align-items:center;justify-content:space-between}.saved-loop-add-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:var(--bg-elevated);border:none;color:var(--text-primary);cursor:pointer;border-radius:4px;transition:all var(--transition-fast)}.saved-loop-add-btn:hover:not(:disabled){color:var(--accent-primary);background:var(--bg-tertiary)}.saved-loop-add-btn:disabled{opacity:.3;cursor:not-allowed}.saved-loop-add-btn svg{width:14px;height:14px}.saved-loops-list{display:flex;flex-direction:column;gap:0;padding:0}.saved-loops-empty{font-size:.75rem;color:var(--text-primary);font-style:italic;opacity:.7;padding:.5rem 0}.saved-loop-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:var(--radius-sm);transition:background var(--transition-fast);cursor:pointer}.saved-loop-item:hover{background:var(--white-03)}.saved-loop-item.flashing{animation:loop-saved-flash .6s ease-out}@keyframes loop-saved-flash{0%{background-color:#4caf5066}to{background-color:transparent}}.saved-loop-item:has(.saved-loop-edit){cursor:default}.loop-active-dot{width:6px;height:6px;background:var(--color-loop);border-radius:50%;flex-shrink:0;opacity:0;box-shadow:0 0 6px #ffc10780}.loop-active-dot.visible{opacity:1}.saved-loop-item:has(.loop-active-dot.visible){background:#ffc1070d}.saved-loop-item:has(.loop-active-dot.visible):hover{background:#ffc10714}.saved-loop-name{flex:1;display:flex;align-items:center;color:var(--text-primary);font-family:var(--font-display);font-size:.85rem;transition:color var(--transition-fast)}.saved-loop-item:hover .saved-loop-name{color:var(--color-loop)}.saved-loop-item:has(.loop-active-dot.visible) .saved-loop-name{color:var(--color-loop)}.saved-loop-actions{display:flex;align-items:center;gap:.25rem;opacity:0;transition:opacity var(--transition-fast);pointer-events:auto}.saved-loop-item:hover .saved-loop-actions{opacity:1}.saved-loop-item:has(.saved-loop-action-btn.annotate.active) .saved-loop-actions{opacity:1}.saved-loop-item:has(.saved-loop-action-btn.share) .saved-loop-actions,.saved-loop-item:has(.saved-loop-action-btn.unshare) .saved-loop-actions{opacity:1}.loop-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-loop-action-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);pointer-events:auto}.saved-loop-action-btn svg{width:14px;height:14px}.saved-loop-action-btn.share:hover{color:var(--accent-alt)}.saved-loop-action-btn.edit:hover{color:var(--color-loop)}.saved-loop-action-btn.delete:hover,.saved-loop-action-btn.unshare:hover{color:var(--accent-primary)}.saved-loop-action-btn.save-modified{color:var(--color-success-alt);opacity:1}.saved-loop-action-btn.save-modified:hover{color:#66bb6a;background:#4caf5026}.saved-loop-action-btn.annotate{color:var(--text-muted)}.saved-loop-action-btn.annotate:hover{color:var(--color-loop)}.saved-loop-action-btn.annotate.active{color:var(--color-loop);background:#ffc10726;border-radius:4px}.saved-loop-action-btn.save{color:var(--color-success-alt);border-color:var(--color-success-alt)}.saved-loop-action-btn.save:hover{background:#4caf5026}.saved-loop-action-btn.cancel:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-primary-10)}.saved-loop-edit{flex:1;display:flex;align-items:center;gap:.35rem}.saved-loop-input{flex:1;padding:.4rem .6rem;background:var(--bg-primary);border:1px solid var(--color-loop);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-display);font-size:.8rem;outline:none}.saved-loop-input:focus{box-shadow:0 0 0 2px #ffc10733}.shortcuts-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-panel);animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.shortcuts-modal{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.5rem;min-width:500px;max-width:90vw;max-height:85vh;overflow-y:auto;animation:slideUp .2s ease-out;box-shadow:0 20px 50px #00000080}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.shortcuts-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-subtle)}.shortcuts-header h3{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.shortcuts-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:.85rem;transition:all var(--transition-fast)}.shortcuts-close:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-primary-10)}.shortcuts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.shortcut-group h4{font-family:var(--font-display);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-alt);margin:0 0 .75rem}.shortcut-item{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}.shortcut-item kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;height:1.75rem;padding:0 .5rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:5px;font-family:var(--font-mono);font-size:.7rem;color:var(--text-primary);box-shadow:0 2px 0 var(--border-subtle)}.shortcut-item span{font-size:.75rem;color:var(--text-secondary)}@media (max-width: 600px){.shortcuts-modal{min-width:auto;margin:1rem;padding:1rem}.shortcuts-grid{grid-template-columns:1fr;gap:1rem}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.column-browser{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:#12121af2}.column-browser-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-subtle);background:var(--bg-tertiary);flex-shrink:0}.column-browser-header-actions{display:flex;align-items:center;gap:.5rem}.column-browser-back{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}@media (hover: hover){.column-browser-back:hover{background:var(--bg-elevated);border-color:var(--border-active);color:var(--accent-primary)}}@media (hover: none){.column-browser-back:active{background:var(--bg-elevated);border-color:var(--border-active);color:var(--accent-primary)}}.column-browser-back svg{width:1rem;height:1rem}.column-browser-title-wrapper{display:flex;align-items:flex-start;gap:.5rem;flex:1;min-width:0}.column-browser-title-icon{width:1.75rem;height:1.75rem;flex-shrink:0;color:var(--accent-primary);align-self:flex-start;margin-top:.05rem}.column-browser-title-content{display:flex;flex-direction:column;flex:1;min-width:0;gap:.25rem}.column-browser-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0;overflow:hidden;word-wrap:break-word;line-height:1.3}.column-browser-title-editable{cursor:pointer;transition:color var(--transition-fast)}@media (hover: hover){.column-browser-title-editable:hover{color:var(--accent-alt)}}@media (hover: none){.column-browser-title-editable:active{color:var(--accent-alt)}}.column-browser-title-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.column-browser-recording-count{font-size:.7rem;color:var(--text-secondary);white-space:nowrap}.column-browser-title-editing{display:flex;align-items:flex-start;gap:.5rem;flex:1;min-width:0}.column-browser-title-input-wrapper{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.column-browser-title-input{width:100%;font-size:.9rem;font-weight:600;font-family:var(--font-display);color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--accent-alt);border-radius:var(--radius-sm);padding:.25rem .5rem;margin:0;min-width:0;outline:none;transition:all var(--transition-fast)}.column-browser-title-input:focus{border-color:var(--accent-alt);box-shadow:0 0 0 2px var(--accent-alt-20)}.column-browser-title-input:disabled{opacity:.6;cursor:not-allowed}.column-browser-title-error{font-size:.75rem;color:var(--accent-primary);white-space:nowrap;line-height:1.2}.column-browser-save-btn{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}@media (hover: hover){.column-browser-save-btn:hover:not(:disabled){background:var(--accent-alt-15);border-color:var(--accent-alt);color:var(--accent-alt)}}@media (hover: none){.column-browser-save-btn:active:not(:disabled){background:var(--accent-alt-15);border-color:var(--accent-alt);color:var(--accent-alt)}}.column-browser-save-btn:disabled{opacity:.5;cursor:not-allowed}.column-browser-save-btn svg{width:.875rem;height:.875rem}.column-browser-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:0;min-height:0;display:flex;flex-direction:column}.column-browser-item{width:100%;padding:.75rem 1rem;background:transparent;border:none;border-bottom:1px solid var(--border-subtle);border-radius:0;color:var(--text-primary);font-size:1rem;text-align:left;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;margin-bottom:0;text-decoration:none;font-family:inherit;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;touch-action:manipulation}@media (hover: hover){.column-browser-list:not(.dragging) .column-browser-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}}@media (hover: none){.column-browser-item:active{background:var(--bg-tertiary);color:var(--text-primary)}}.column-browser-item.clicked:not(.active){animation:column-browser-click-flash .3s ease-out forwards}@keyframes column-browser-click-flash{0%{background:var(--bg-elevated)}to{background:var(--bg-tertiary)}}.column-browser-item.active{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);color:#fff;font-weight:500;border-bottom-color:transparent}.column-browser-item-wrapper:last-of-type .column-browser-item{border-bottom:none}.column-browser-item-name{flex:1;overflow:hidden;display:flex;align-items:center;gap:.75rem;min-width:0}.column-browser-item-content{flex:1;display:flex;flex-direction:column;gap:0;min-width:0;overflow:hidden;position:relative}.column-browser-item-title{display:flex;align-items:center;gap:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column-browser-item-title-editing{display:flex;align-items:flex-start;gap:.5rem;flex:1;min-width:0}.column-browser-item-title-input-wrapper{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.column-browser-item-title-input{width:100%;font-size:.85rem;font-weight:500;font-family:var(--font-display);color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--accent-alt);border-radius:var(--radius-sm);padding:.25rem .5rem;margin:0;min-width:0;outline:none;transition:all var(--transition-fast)}.column-browser-item-title-input:focus{border-color:var(--accent-alt);box-shadow:0 0 0 2px var(--accent-alt-20)}.column-browser-item-title-input:disabled{opacity:.6;cursor:not-allowed}.column-browser-item-title-error{font-size:.7rem;color:var(--accent-primary);white-space:nowrap;line-height:1.2}.column-browser-item-save-btn{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}@media (hover: hover){.column-browser-item-save-btn:hover:not(:disabled){background:var(--accent-alt-15);border-color:var(--accent-alt);color:var(--accent-alt)}}@media (hover: none){.column-browser-item-save-btn:active:not(:disabled){background:var(--accent-alt-15);border-color:var(--accent-alt);color:var(--accent-alt)}}.column-browser-item-save-btn:disabled{opacity:.5;cursor:not-allowed}.column-browser-item-save-btn svg{width:.75rem;height:.75rem}.column-browser-item-meta{font-size:.8rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.1}.column-browser-item.active .column-browser-item-meta{color:var(--white-9)}.column-browser-item-more{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;opacity:0;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.column-browser-item-more svg{width:1.125rem;height:1.125rem}@media (hover: hover){.column-browser-list:not(.dragging) .column-browser-item:hover .column-browser-item-more{opacity:1}.column-browser-item-more:hover{color:var(--text-secondary);background:var(--white-10)}}@media (hover: none){.column-browser-item-more{opacity:1;min-width:2.75rem;min-height:2.75rem;width:2.75rem;height:2.75rem}}.column-browser-item-more:active{color:var(--accent-alt);background:var(--accent-alt-15)}.column-browser-item.active .column-browser-item-more{color:var(--white-7)}@media (hover: hover){.column-browser-item.active .column-browser-item-more:hover{color:#fff;background:var(--white-15)}}.column-browser-item-icon{width:1.75rem;height:1.75rem;flex-shrink:0;opacity:.7;color:var(--accent-primary)}.column-browser-item.active .column-browser-item-icon{opacity:1;color:var(--accent-primary)}.column-browser-item-favorite-icon{width:.875rem;height:.875rem;margin-right:.25rem;color:var(--accent-alt);opacity:.8;vertical-align:-.1em}.column-browser-shared-tag{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.125rem .375rem;border-radius:4px;background:var(--accent-alt-15);color:var(--accent-alt);flex-shrink:0;display:inline-block;align-self:flex-start;position:relative;cursor:pointer}.column-browser-shared-tag-non-clickable{cursor:default}.column-browser-shared-tag-edit{background:#a855f726;color:#a855f7}.column-browser-shared-tag-readonly{background:#3b82f626;color:#3b82f6}.column-browser-shared-tag-owner-edit{background:#eab30826;color:#eab308}.tooltip-wrapper{position:relative;display:inline-block}.tooltip{position:fixed;z-index:var(--z-max);pointer-events:none}.tooltip-content{position:relative;padding:.5rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.8125rem;font-weight:400;line-height:1.4;color:var(--text-primary);font-family:var(--font-display);box-shadow:0 8px 24px #00000080,0 2px 8px #0000004d;white-space:nowrap;text-transform:none;backdrop-filter:blur(8px);display:flex;align-items:center;gap:.5rem;animation:fadeInTooltip .2s ease-out}.tooltip-arrow{position:absolute;width:0;height:0;border-style:solid;z-index:var(--z-base)}.tooltip-arrow-top{bottom:-7px;left:50%;transform:translate(-50%);border-width:7px 7px 0 7px;border-color:var(--border-subtle) transparent transparent transparent}.tooltip-arrow-top:after{content:"";position:absolute;bottom:1px;left:50%;transform:translate(-50%);width:0;height:0;border-style:solid;border-width:6px 6px 0 6px;border-color:var(--bg-tertiary) transparent transparent transparent}.tooltip-arrow-bottom{top:-7px;left:50%;transform:translate(-50%);border-width:0 7px 7px 7px;border-color:transparent transparent var(--border-subtle) transparent}.tooltip-arrow-bottom:after{content:"";position:absolute;top:1px;left:50%;transform:translate(-50%);width:0;height:0;border-style:solid;border-width:0 6px 6px 6px;border-color:transparent transparent var(--bg-tertiary) transparent}.tooltip-arrow-left{right:-7px;top:50%;transform:translateY(-50%);border-width:7px 0 7px 7px;border-color:transparent transparent transparent var(--border-subtle)}.tooltip-arrow-left:after{content:"";position:absolute;right:1px;top:50%;transform:translateY(-50%);width:0;height:0;border-style:solid;border-width:6px 0 6px 6px;border-color:transparent transparent transparent var(--bg-tertiary)}.tooltip-arrow-right{left:-7px;top:50%;transform:translateY(-50%);border-width:7px 7px 7px 0;border-color:transparent var(--border-subtle) transparent transparent}.tooltip-arrow-right:after{content:"";position:absolute;left:1px;top:50%;transform:translateY(-50%);width:0;height:0;border-style:solid;border-width:6px 6px 6px 0;border-color:transparent var(--bg-tertiary) transparent transparent}@keyframes fadeInTooltip{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.column-browser-empty{padding:2rem 1rem;text-align:center;color:var(--text-muted);font-size:.85rem}.app-header{display:flex;align-items:center;justify-content:flex-start;gap:.75rem;padding:1rem;border-bottom:1px solid var(--border-subtle);background:linear-gradient(135deg,#1a1a24f2,#12121af2);flex-shrink:0;position:relative;overflow:visible;transition:box-shadow var(--transition-fast);z-index:var(--z-overlay)}.app-header:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,var(--accent-primary-15) 20%,transparent 40%,var(--accent-alt-15) 60%,transparent 80%,var(--accent-primary-15) 100%),linear-gradient(135deg,var(--accent-primary-10) 0%,transparent 25%,var(--accent-alt-10) 50%,transparent 75%,var(--accent-primary-10) 100%);filter:blur(40px);opacity:.6;pointer-events:none;z-index:0}.app-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,var(--accent-primary-40) 20%,var(--accent-alt-40) 50%,var(--accent-primary-40) 80%,transparent 100%);opacity:.5;z-index:var(--z-base)}.app-header-logo{width:28px;height:28px;border-radius:6px;flex-shrink:0}.app-header-title-container{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;flex:1;position:relative;z-index:var(--z-base);cursor:pointer;transition:opacity var(--transition-fast)}.app-header-title-container:hover{opacity:.8}.app-header-back{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;text-decoration:none;z-index:var(--z-base)}.app-header-with-center{justify-content:flex-start}.app-header-with-center .app-header-title-container{flex:0;justify-content:flex-start}.app-header-center{position:absolute;left:50%;transform:translate(-50%);display:flex;justify-content:center;align-items:center;z-index:var(--z-base);pointer-events:auto}.app-header-center .global-search{width:480px;max-width:50vw;padding:0;min-height:0}.app-header-center .global-search-input{padding:.6rem 2.5rem .6rem 2.25rem;font-size:.9rem}.app-header-center .global-search-icon{left:.75rem;width:18px;height:18px}@media (max-width: 768px){.app-header-with-center{flex-wrap:wrap}.app-header-with-center .app-header-title-container{flex:1;min-width:0;justify-content:center}.app-header-center{position:static;transform:none;order:2;width:100%;flex-basis:100%;padding:.5rem 1rem 1rem;justify-content:center}.app-header-center .global-search{max-width:400px;width:100%}}.app-header-title{font-size:1.35rem;font-weight:600;color:var(--text-primary);margin:0;font-family:var(--font-display);letter-spacing:.03em;text-align:center;line-height:1.2}.app-header-logout{position:absolute;right:1.5rem;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;z-index:var(--z-base)}.app-header-logout:hover{background:var(--bg-elevated);border-color:var(--border-active);color:var(--accent-primary)}.app-header-logout svg{width:.875rem;height:.875rem}.app-header-spacer{width:3rem;flex-shrink:0}.app-header-back{display:flex;align-items:center;justify-content:center;margin-right:.75rem;width:2.25rem;height:2.25rem;padding:0;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;position:relative;z-index:var(--z-base);text-decoration:none}.app-header-back:hover{background:var(--bg-elevated);border-color:var(--border-active);color:var(--accent-primary)}.app-header-back svg{width:1.1rem;height:1.1rem}.app-header-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0;margin-left:auto;z-index:var(--z-base)}.app-header-search-btn{flex-shrink:0}.app-header-search-btn:hover{background:var(--bg-elevated);border-color:var(--border-active);color:var(--accent-primary)}.app-header-search-btn svg{width:1.1rem;height:1.1rem}.app-header-user{flex-shrink:0;position:relative;overflow:visible;z-index:1001}.app-header-avatar-btn{background:none;border:none;padding:0;cursor:pointer;border-radius:50%;transition:transform var(--transition-fast)}.app-header-avatar-btn:hover{transform:scale(1.05)}.action-bar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;border-bottom:1px solid var(--border-subtle);flex-shrink:0;width:100%;position:relative;background:transparent}.action-bar-hidden{display:none}.action-bar-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;width:100%;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.875rem;font-weight:500;font-family:var(--font-display);cursor:pointer;transition:all var(--transition-fast);flex:1}.action-bar-button:hover{background:var(--bg-tertiary);border-color:var(--accent-alt);color:var(--accent-alt);transform:translateY(-1px);box-shadow:0 2px 8px var(--accent-alt-20)}.action-bar-button svg{width:1rem;height:1rem;flex-shrink:0;opacity:.8}.action-bar-button:hover svg{opacity:1}.action-bar-button span{white-space:nowrap}.action-bar-button-danger{flex:0 0 auto;width:auto;min-width:2.5rem;padding:.625rem}.action-bar-button-danger:hover{background:var(--accent-primary-15);border-color:var(--accent-primary);color:var(--accent-primary)}.action-bar-button-danger:disabled{opacity:.5;cursor:not-allowed}.action-bar-button-icon-only{flex:0 0 auto;width:auto;min-width:2.5rem;padding:.625rem}.action-bar-button-icon-only span{display:none}.action-bar-button-icon-only.active{color:var(--accent-alt);background:var(--accent-alt-15)}.action-bar-spacer{height:.75rem;flex-shrink:0;width:100%}.song-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;border-bottom:1px solid var(--border-subtle);border-bottom-right-radius:var(--radius-md);background:var(--bg-elevated);flex-shrink:0;transition:box-shadow var(--transition-fast)}.song-header-icon{width:1.75rem;height:1.75rem;flex-shrink:0;color:var(--accent-primary);align-self:flex-start;margin-top:.05rem}.song-header-content{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden;gap:.2rem}.song-header-title-section{display:flex;gap:.5rem;align-items:flex-start}.song-header-title-row{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.song-header-meta{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.song-header-folder-wrapper{display:flex;align-items:center;gap:.375rem}.song-header-folder{display:flex;align-items:center;gap:.25rem;font-size:.72rem;font-weight:400;color:var(--text-secondary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;transition:color var(--transition-fast);text-decoration:none}.song-header-folder-icon{width:.7rem;height:.7rem;flex-shrink:0;opacity:.5}.song-header-folder:hover{color:var(--text-primary)}.song-header-folder:hover .song-header-folder-icon{opacity:.8}.song-header-folder-editing{display:flex;align-items:flex-start;gap:.35rem;margin:0}.song-header-folder-input-wrapper{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.song-header-folder-input{width:100%;font-size:.7rem;font-weight:500;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--accent-alt);border-radius:var(--radius-sm);padding:.25rem .5rem;margin:0;min-width:0;outline:none;transition:all var(--transition-fast)}.song-header-folder-input:focus{border-color:var(--accent-alt);box-shadow:0 0 0 2px var(--accent-alt-20)}.song-header-folder-input:disabled{opacity:.6;cursor:not-allowed}.song-header-folder-error{font-size:.65rem;color:var(--accent-primary);white-space:nowrap;line-height:1.2}.song-header-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0;overflow:hidden;word-wrap:break-word;line-height:1.3}.song-header-title-editable{cursor:pointer;transition:color var(--transition-fast)}.song-header-title-editable:hover{color:var(--accent-alt)}.song-header-title-editing{display:flex;align-items:flex-start;gap:.5rem;flex:1;min-width:0}.song-header-title-input-wrapper{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.song-header-title-input{width:100%;font-size:1rem;font-weight:600;font-family:var(--font-display);color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--accent-alt);border-radius:var(--radius-sm);padding:.25rem .5rem;margin:0;min-width:0;outline:none;transition:all var(--transition-fast)}.song-header-title-input:focus{border-color:var(--accent-alt);box-shadow:0 0 0 2px var(--accent-alt-20)}.song-header-title-input:disabled{opacity:.6;cursor:not-allowed}.song-header-title-error{font-size:.75rem;color:var(--accent-primary);white-space:nowrap;line-height:1.2}.song-header-save-btn{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.song-header-save-btn:hover:not(:disabled){background:var(--accent-alt-15);border-color:var(--accent-alt);color:var(--accent-alt)}.song-header-save-btn:disabled{opacity:.5;cursor:not-allowed}.song-header-save-btn svg{width:.9rem;height:.9rem}.song-header-add-btn{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.song-header-add-btn:hover{background:var(--accent-primary-15);border-color:var(--accent-primary);color:var(--accent-primary)}.song-header-add-btn svg{width:.9rem;height:.9rem}.song-header-dropdown{position:relative;margin-left:auto;flex-shrink:0;align-self:center}.song-header-dropdown-toggle{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.song-header-dropdown-toggle:hover{background:var(--bg-elevated);border-color:var(--border-active);color:var(--text-primary)}.song-header-dropdown-toggle.open{background:var(--bg-elevated);border-color:var(--accent-primary);color:var(--accent-primary)}.song-header-dropdown-toggle svg{width:.9rem;height:.9rem;transition:transform var(--transition-fast)}.song-header-dropdown-toggle.open svg{transform:rotate(180deg)}.song-header-actions-menu{position:relative;flex-shrink:0;align-self:center;margin-left:.25rem}.song-header-actions-toggle{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.song-header-actions-toggle:hover{background:var(--bg-elevated);border-color:var(--border-active);color:var(--text-primary)}.song-header-actions-toggle.open{background:var(--bg-elevated);border-color:var(--accent-primary);color:var(--accent-primary)}.song-header-actions-toggle svg{width:.9rem;height:.9rem}.recording-controls-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:1.5rem 1rem;width:100%;max-width:100%;box-sizing:border-box}.recording-dropdown-container{position:relative;flex:1;min-width:0;max-width:100%;overflow:visible}.playback-controls-compact{display:flex;align-items:center;justify-content:center;gap:.75rem;justify-self:center}.recording-controls-row>.playback-controls-compact:only-child{grid-column:1 / -1;justify-self:center}.restart-btn-sm,.play-btn-sm,.skip-btn-sm{display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:all var(--transition-fast);border-radius:50%}.restart-btn-sm{width:3.3rem;height:3.3rem;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-primary)}.restart-btn-sm:hover:not(:disabled){background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.restart-btn-sm:disabled{opacity:.3;cursor:not-allowed}.restart-btn-sm svg{width:1.3rem;height:1.3rem}.play-btn-sm{width:3.3rem;height:3.3rem;background:var(--accent-primary);color:#fff}.play-btn-sm:hover:not(:disabled){background:var(--accent-secondary);transform:scale(1.05)}.play-btn-sm:disabled{opacity:.3;cursor:not-allowed}.play-btn-sm svg{width:1.3rem;height:1.3rem}.skip-btn-sm{width:2.4rem;height:2.4rem;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-primary)}.skip-btn-sm:hover:not(:disabled){background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.skip-btn-sm:disabled{opacity:.3;cursor:not-allowed}.skip-btn-sm svg{width:1.1rem;height:1.1rem}.record-btn-sm{width:3rem;height:3rem;background:var(--bg-elevated);border:2px solid var(--accent-primary);color:var(--accent-primary);display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.record-btn-sm:hover{background:var(--accent-primary);color:#fff;transform:scale(1.05)}.record-btn-sm svg{width:1.1rem;height:1.1rem}.recording-dropdown-trigger{width:100%;display:flex;align-items:center;padding:0;background:transparent;border:none;color:var(--text-primary);font-size:.9rem;font-family:var(--font-display);cursor:pointer;transition:all var(--transition-fast);text-align:left;min-width:0}.recording-dropdown-trigger:hover:not(:disabled) .recording-select-box,.recording-dropdown-trigger.open .recording-select-box{border-color:var(--accent-primary);background:var(--bg-elevated)}.recording-dropdown-trigger:disabled{opacity:.5;cursor:not-allowed}.recording-select-box{flex:1;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);min-width:0;transition:all var(--transition-fast)}.recording-dropdown-trigger-content{flex:1;display:flex;flex-direction:column;gap:2px;text-align:left}.recording-dropdown-text{white-space:normal;word-break:break-word;font-weight:500}.recording-dropdown-trigger-meta{display:flex;gap:8px;font-size:10px;font-family:var(--font-mono);color:var(--text-secondary)}.recording-meta-index{color:var(--accent-primary);font-weight:600}.recording-dropdown-arrow{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--text-secondary);flex-shrink:0;transition:transform var(--transition-fast)}.recording-dropdown-arrow svg{width:16px;height:16px}.recording-dropdown-arrow.rotated{transform:rotate(180deg)}.recording-dropdown-badge{display:flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;background:var(--accent-primary-15);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.65rem;font-weight:600;color:var(--accent-primary);flex-shrink:0}.recording-meta-duration{color:var(--accent-alt)}.recording-meta-date{color:var(--text-secondary)}.pdf-viewer{display:flex;flex-direction:column;min-height:60vh;padding:0;margin:0;background:transparent;position:relative}.pdf-page-header{flex-shrink:0;padding:12px 16px 8px;border-bottom:1px solid var(--white-12)}.pdf-viewer-title{flex-shrink:0;font-size:1.5rem;font-weight:500;color:var(--text-primary);margin:0;padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display)}.pdf-page-header-links{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 16px;margin-top:10px;min-width:0}.pdf-page-header-link{font-size:.875rem;font-weight:400;color:var(--accent-alt);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.pdf-page-header-link:hover{text-decoration:underline}.pdf-page-header-link-embed{position:relative;width:100%;max-width:320px;aspect-ratio:16 / 9;border-radius:0;overflow:hidden;background:var(--bg-tertiary)}.pdf-page-header-link-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.recordings-strip-header{margin:0;padding:12px 16px 8px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary)}.recordings-strip{flex-shrink:0;padding:8px 16px 10px;border-bottom:1px solid var(--white-12);background:transparent}.recordings-strip-inner{display:flex;flex-direction:column;gap:12px;width:100%}.recordings-strip-doc{display:flex;flex-direction:row;align-items:center;gap:10px;min-width:0;width:100%}.recordings-strip-doc-name-row{display:flex;flex-direction:row;align-items:center;gap:8px;flex:1;min-width:0;position:relative}.recordings-strip-doc-name{font-size:.875rem;font-weight:400;color:var(--text-primary);flex:1;min-width:0;white-space:normal;word-break:break-word}.recordings-strip-doc-name-input{font-size:.875rem;font-weight:400;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--accent-alt);border-radius:var(--radius-sm);padding:4px 8px;width:100%;outline:none}.recordings-strip-doc-name-input:focus{border-color:var(--accent-alt);box-shadow:0 0 0 2px var(--accent-alt-20)}.recordings-strip-doc-actions{position:relative;display:flex;align-items:center;flex-shrink:0}.recordings-strip-doc-menu-button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);flex-shrink:0}.recordings-strip-doc-menu-button:hover{background:var(--bg-elevated);color:var(--text-primary)}.recordings-strip-card{display:block;flex-shrink:0;width:64px;height:64px;padding:0;border:2px solid transparent;border-radius:0;background:transparent;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}.recordings-strip-card:hover{border-color:var(--white-25)}.recordings-strip-card:active{transform:none}.recordings-strip-card--selected{border-color:var(--accent-alt);box-shadow:0 0 0 1px var(--accent-alt-30)}.recordings-strip-card-preview{display:block;width:100%;height:100%;padding:0;background:var(--bg-tertiary);border-radius:0}.recordings-strip-card-svg{display:block;width:100%;height:100%;color:var(--accent-alt)}.recordings-strip-card-svg .recordings-strip-card-waveform{color:var(--accent-alt)}.recordings-strip-card-svg .recordings-strip-card-play,.recordings-strip-card-svg .recordings-strip-card-pause{color:var(--text-primary)}.pdf-thumbnails-strip{flex-shrink:0;overflow-x:auto;overflow-y:hidden;padding:14px 28px 24px;border-bottom:1px solid var(--white-12);background:transparent}.pdf-thumbnails-strip-inner{display:flex;flex-direction:row;align-items:flex-end;gap:24px;min-width:min-content}.pdf-thumb-doc{display:flex;flex-direction:column;align-items:center;flex-shrink:0;gap:6px}.pdf-thumb-doc-pages{display:flex;justify-content:center}.pdf-thumb-doc-pages--loading,.pdf-thumb-doc-pages--error{min-width:80px;min-height:100px;align-items:center;justify-content:center;color:var(--text-muted);font-size:.75rem}.pdf-thumb-page-btn{display:block;position:relative;padding:0;border:1px solid rgba(0,0,0,.1);border-radius:2px;background:#fff;cursor:pointer;transition:all var(--transition-fast);box-shadow:0 3px 8px #00000059}.pdf-thumb-page-btn--stacked{margin-bottom:14px}.pdf-thumb-page-btn--stacked:before,.pdf-thumb-page-btn--stacked:after{content:"";position:absolute;height:100%;border:1px solid rgba(0,0,0,.08);border-radius:2px;z-index:-1}.pdf-thumb-page-btn--portrait.pdf-thumb-page-btn--stacked:before{bottom:-6px;left:6px;right:-6px;background:#fafafa;box-shadow:0 3px 6px #0000004d}.pdf-thumb-page-btn--portrait.pdf-thumb-page-btn--stacked:after{bottom:-12px;left:12px;right:-12px;background:#f5f5f5;box-shadow:0 3px 6px #00000040}.pdf-thumb-page-btn--landscape.pdf-thumb-page-btn--stacked:before{bottom:-6px;left:6px;right:-6px;background:#fafafa;box-shadow:0 3px 6px #0000004d}.pdf-thumb-page-btn--landscape.pdf-thumb-page-btn--stacked:after{bottom:-12px;left:12px;right:-12px;background:#f5f5f5;box-shadow:0 3px 6px #00000040}.pdf-thumb-page-btn--stacked:not(.pdf-thumb-page-btn--portrait):not(.pdf-thumb-page-btn--landscape):before{bottom:-6px;left:6px;right:-6px;background:#fafafa;box-shadow:0 3px 6px #0000004d}.pdf-thumb-page-btn--stacked:not(.pdf-thumb-page-btn--portrait):not(.pdf-thumb-page-btn--landscape):after{bottom:-12px;left:12px;right:-12px;background:#f5f5f5;box-shadow:0 3px 6px #00000040}.pdf-thumb-page-btn:hover{border-color:#0003;box-shadow:0 5px 15px #00000073;transform:translateY(-1px)}.pdf-thumb-doc--selected .pdf-thumb-page-btn{border-color:var(--accent-alt);box-shadow:0 3px 10px #0006,0 0 0 2px var(--accent-alt)}.pdf-thumb-page-btn--in-view{border-color:var(--accent-alt)!important;box-shadow:0 5px 15px #00000073,0 0 0 3px var(--accent-alt-50)!important}.pdf-thumb-page-btn--stacked:hover:before{box-shadow:0 4px 8px #00000059}.pdf-thumb-page-btn--stacked:hover:after{box-shadow:0 4px 8px #0000004d}.pdf-thumb-page-count{position:absolute;bottom:6px;right:6px;z-index:2;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;font-family:var(--font-mono);color:#fff;background:#000000d9;padding:0 6px;border-radius:12px;backdrop-filter:blur(8px);pointer-events:none;box-shadow:0 2px 6px #0006;border:1px solid var(--white-10)}.pdf-thumb-page-label{position:absolute;bottom:4px;right:4px;z-index:var(--z-base);font-size:1rem;font-weight:500;color:#2a2a32;text-shadow:0 0 2px var(--white-9),0 1px 2px var(--white-80);text-align:right;white-space:nowrap;pointer-events:none}.pdf-thumb-page-btn img,.pdf-thumb-page-btn canvas{display:block;vertical-align:top;border-radius:1px;width:auto;height:auto;object-fit:contain;background:#fff}.pdf-thumb-page-btn--portrait img,.pdf-thumb-page-btn--portrait canvas{max-width:120px;max-height:160px}.pdf-thumb-page-btn--landscape img,.pdf-thumb-page-btn--landscape canvas{max-width:160px;max-height:120px}.pdf-thumb-page-btn:not(.pdf-thumb-page-btn--portrait):not(.pdf-thumb-page-btn--landscape) img,.pdf-thumb-page-btn:not(.pdf-thumb-page-btn--portrait):not(.pdf-thumb-page-btn--landscape) canvas{max-width:120px;max-height:160px}.pdf-thumb-doc-name{font-size:.8125rem;font-weight:500;line-height:1.35;color:var(--text-primary);text-align:center;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;hyphens:auto;max-width:150px;padding:0 4px}.pdf-document-list{flex-shrink:0;display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--white-12);background:transparent}.pdf-document-list .collection-page-doc-card-wrapper{border-radius:var(--radius-sm);position:relative}.pdf-document-list .collection-page-doc-card-wrapper:hover .collection-page-doc-card-more{opacity:1;color:var(--text-secondary)}.pdf-document-list button.collection-page-doc-card{cursor:pointer;background:none;border:none;padding:0;font:inherit;text-align:left}.pdf-document-list .collection-page-doc-card-wrapper--selected{background:var(--accent-alt-12);border-color:var(--accent-alt-30)}.pdf-document-list .collection-page-doc-card-wrapper--selected:hover{background:var(--accent-alt-18)}.pdf-document-list .collection-page-doc-card-wrapper--dragging{opacity:.4}.collection-page-doc-card-drag-handle{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:2rem;height:2rem;color:var(--text-muted);cursor:grab;transition:color var(--transition-fast)}.collection-page-doc-card-drag-handle:hover{color:var(--text-secondary)}.collection-page-doc-card-drag-handle:active{cursor:grabbing}.collection-page-doc-card-drag-handle svg{width:1.25rem;height:1.25rem}.pdf-viewer-empty-inline{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--text-secondary);font-size:.9rem}.pdf-viewer-empty-inline p{margin:0}.pdf-control-bar{flex-shrink:0;position:sticky;top:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px 8px 16px;margin-bottom:8px;background:var(--bg-secondary);border-bottom:1px solid var(--white-12);transform:translateY(0);pointer-events:auto;transition:transform .35s ease,pointer-events 0s linear .35s}.pdf-control-bar.pdf-control-bar--hidden{transform:translateY(-100%);pointer-events:none;transition:transform .35s ease,pointer-events 0s linear 0s}.pdf-control-bar-left{display:flex;align-items:center;gap:4px}.pdf-control-bar-right{display:flex;align-items:center;gap:4px;margin-left:auto}.pdf-zoom-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#0000008c;border:1px solid var(--white-25);border-radius:var(--radius-sm);color:var(--white-95);cursor:pointer;transition:all var(--transition-fast)}.pdf-zoom-btn:hover{background:#000000b3;color:#fff;border-color:var(--white-40)}.pdf-zoom-btn.active{background:var(--accent-alt-35);color:#fff;border-color:var(--accent-alt)}.pdf-zoom-btn:active{transform:scale(.95)}.pdf-zoom-divider{width:1px;height:20px;background:var(--white-40);margin:0 4px}.pdf-zoom-input-wrapper{display:flex;align-items:center;height:24px;padding:0 6px 0 4px;background:#0000008c;border:1px solid var(--white-25);border-radius:4px;transition:border-color var(--transition-fast),background var(--transition-fast)}.pdf-zoom-input-wrapper:hover{background:#000000b3;border-color:var(--white-40)}.pdf-zoom-input-wrapper:focus-within{background:#000000b3;border-color:var(--accent-alt)}.pdf-zoom-input{width:32px;height:100%;padding:0;background:transparent;border:none;font-size:12px;font-family:var(--font-mono);color:var(--white-95);text-align:right;outline:none}.pdf-zoom-percent{font-size:12px;font-family:var(--font-mono);color:var(--white-85);user-select:none;pointer-events:none}.pdf-annotation-dropdown{position:relative}.pdf-annotation-toggle{height:32px;display:flex;align-items:center;justify-content:space-between;background:#0000008c;border:1px solid var(--white-25);border-radius:var(--radius-sm);cursor:pointer;gap:6px;padding:0 10px;width:auto;color:var(--white-95)}.pdf-annotation-toggle:hover{border-color:var(--accent-primary);background:#000000b3;color:#fff}.pdf-annotation-toggle-value{display:inline-flex;align-items:center;gap:6px}.pdf-annotation-dropdown-arrow{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--white-85);flex-shrink:0;transition:transform var(--transition-fast)}.pdf-annotation-dropdown-arrow svg{width:16px;height:16px}.pdf-annotation-dropdown-arrow.rotated{transform:rotate(180deg)}.pdf-annotation-dot{width:10px;height:10px;border-radius:999px;display:inline-block}.pdf-annotation-dot.blue{background:#35d4ff}.pdf-annotation-dot.purple{background:#a78bfa}.pdf-annotation-dot.yellow{background:var(--color-loop)}.pdf-annotation-dot.cyan{background:var(--accent-alt)}.pdf-annotation-label,.pdf-annotation-option-label{font-size:12px;color:var(--text-primary);font-family:var(--font-display);white-space:nowrap}.pdf-viewer-content{flex:1;display:flex;flex-direction:column;align-items:stretch;padding:0;margin:0;background:transparent}.pdf-content-with-track{width:100%;min-height:100%}.pdf-autoscroll-track{position:absolute;top:0;left:0;width:48px;height:100%;pointer-events:none;z-index:var(--z-raised)}.pdf-autoscroll-track .pdf-autoscroll-marker{pointer-events:auto}.pdf-autoscroll-track .pdf-autoscroll-preview{pointer-events:none}.pdf-autoscroll-marker,.pdf-autoscroll-marker *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pdf-autoscroll-marker{position:absolute;left:0;transform:translateY(-50%);cursor:grab;z-index:2;display:flex;align-items:center;gap:2px}.pdf-autoscroll-marker.dragging{cursor:grabbing;z-index:var(--z-sticky)}.pdf-autoscroll-marker.disabled{cursor:pointer}.pdf-autoscroll-marker.hovered .pdf-autoscroll-marker-delete{opacity:1}.pdf-autoscroll-marker-shape{display:flex;align-items:center;gap:4px;height:18px;background:var(--accent-alt);border-radius:2px 0 0 2px;padding-left:6px;padding-right:4px;position:relative;min-width:12px}.pdf-autoscroll-marker-name{font-size:10px;font-family:var(--font-mono);font-weight:400;color:var(--bg-primary);min-width:1ch;cursor:default}.pdf-autoscroll-marker:not(.disabled) .pdf-autoscroll-marker-name{cursor:pointer}.pdf-autoscroll-marker-name-input{width:1.5em;min-width:1ch;max-width:2ch;font-size:10px;font-family:var(--font-mono);font-weight:400;color:var(--bg-primary);background:#0000004d;border:1px solid rgba(255,255,255,.3);border-radius:2px;padding:0 2px;text-transform:uppercase;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.pdf-autoscroll-marker-name-input:focus{outline:none;border-color:#fff}.pdf-autoscroll-preview-name{opacity:.7}.pdf-autoscroll-marker-time{font-size:10px;font-family:var(--font-mono);color:var(--bg-primary);white-space:nowrap;font-weight:400}.pdf-autoscroll-marker-pointer{position:absolute;right:-6px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:6px solid var(--accent-alt)}.pdf-autoscroll-preview .pdf-autoscroll-marker-shape{opacity:.7}.pdf-autoscroll-marker.selected .pdf-autoscroll-marker-shape{background:#a78bfa}.pdf-autoscroll-marker.selected .pdf-autoscroll-marker-pointer{border-left-color:#a78bfa}.pdf-autoscroll-marker-delete{opacity:0;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:2px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity var(--transition-fast)}.pdf-autoscroll-marker-delete:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.waveform-section{display:flex;flex-direction:column;width:100%}.waveform-section .waveform-container{flex:1;min-height:100px}.waveform-autoscroll-track{position:relative;height:20px;min-height:20px;background:#161616;border-radius:0 0 var(--radius-sm) var(--radius-sm);flex-shrink:0;margin-left:1rem;margin-right:1rem;align-self:stretch}.waveform-autoscroll-track .waveform-autoscroll-marker,.waveform-autoscroll-track .waveform-autoscroll-marker *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.waveform-autoscroll-track .waveform-autoscroll-marker{position:absolute;bottom:0;transform:translate(-50%);cursor:pointer;z-index:2;display:flex;flex-direction:column;align-items:center}.waveform-autoscroll-track .waveform-autoscroll-marker.dragging{cursor:grabbing;z-index:var(--z-sticky)}.waveform-autoscroll-track .waveform-autoscroll-marker.disabled{cursor:pointer}.waveform-autoscroll-marker-pentagon{position:relative;width:14px;height:18px;color:var(--accent-alt);filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}.waveform-autoscroll-marker-bg{position:absolute;inset:0;width:100%;height:100%}.waveform-autoscroll-marker-name{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:0;font-size:10px;font-family:var(--font-mono);font-weight:400;color:var(--bg-primary);white-space:nowrap;pointer-events:none}.waveform-autoscroll-marker.selected .waveform-autoscroll-marker-pentagon{color:#a78bfa}.pdf-pages-container{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;padding:0;margin:0;position:relative}.pdf-page-wrapper{position:relative;display:flex;justify-content:center;margin-bottom:1rem;transition:transform var(--transition-medium) ease;transform-origin:center center}.pdf-canvas{max-width:100%;height:auto;box-shadow:0 4px 20px #0000004d;border-radius:var(--radius-sm);background:#fff;display:block}.pdf-annotation-layer{position:absolute;inset:0;cursor:default;user-select:none;border-radius:var(--radius-sm);z-index:var(--z-base)}.pdf-annotation-layer.can-draw,.pdf-blue-annotation-layer.can-draw{cursor:crosshair}.pdf-blue-annotation-layer{position:absolute;inset:0;cursor:crosshair;user-select:none;border-radius:var(--radius-sm);z-index:2;pointer-events:auto}.pdf-blue-annotation-layer .pdf-annotation-rect{pointer-events:auto}.pdf-blue-annotation-layer.disabled{pointer-events:none;cursor:default}.pdf-annotation-rect{position:absolute;border:2px solid var(--accent-alt);background:transparent;box-sizing:border-box;pointer-events:auto;transition:background var(--transition-fast),border-color var(--transition-fast)}.pdf-annotation-rect.color-blue{border-color:#35d4ff}.pdf-annotation-rect.color-green{border-color:#4ade80}.pdf-annotation-rect.color-orange{border-color:#fb923c}.pdf-annotation-rect.color-purple{border-color:#a78bfa}.pdf-annotation-rect.color-red{border-color:#f87171}.pdf-annotation-rect.color-yellow{border-color:var(--color-loop)}.pdf-annotation-rect.color-blue.filled{background:var(--accent-alt-8)}.pdf-annotation-rect.color-green.filled{background:#4ade8014}.pdf-annotation-rect.color-orange.filled{background:#fb923c14}.pdf-annotation-rect.color-purple.filled{background:#a78bfa14}.pdf-annotation-rect.color-red.filled{background:#f8717114}.pdf-annotation-rect.color-yellow.filled{background:#ffc10714}.pdf-annotation-rect.variant-yellow{border-color:var(--color-loop)}.pdf-annotation-rect.variant-yellow:hover{background:#ffc10726}.pdf-annotation-rect.dragging,.pdf-annotation-rect.resizing{cursor:grabbing}.pdf-annotation-rect.selected{box-shadow:0 0 0 2px #ffffff4d}.pdf-annotation-drawing{pointer-events:none;border-style:dashed;opacity:.8}.pdf-annotation-handle{position:absolute;width:10px;height:10px;background:var(--accent-alt);border:2px solid var(--bg-primary);border-radius:2px;z-index:var(--z-raised);animation:fadeIn var(--transition-fast) ease-out}.pdf-annotation-rect.color-blue .pdf-annotation-handle{background:#35d4ff}.pdf-annotation-rect.color-green .pdf-annotation-handle{background:#4ade80}.pdf-annotation-rect.color-orange .pdf-annotation-handle{background:#fb923c}.pdf-annotation-rect.color-purple .pdf-annotation-handle{background:#a78bfa}.pdf-annotation-rect.color-red .pdf-annotation-handle{background:#f87171}.pdf-annotation-rect.color-yellow .pdf-annotation-handle{background:var(--color-loop)}.pdf-annotation-handle.nw{top:-5px;left:-5px;cursor:nwse-resize}.pdf-annotation-handle.ne{top:-5px;right:-5px;cursor:nesw-resize}.pdf-annotation-handle.sw{bottom:-5px;left:-5px;cursor:nesw-resize}.pdf-annotation-handle.se{bottom:-5px;right:-5px;cursor:nwse-resize}.pdf-annotation-handle.n{top:-5px;left:50%;transform:translate(-50%);cursor:ns-resize}.pdf-annotation-handle.s{bottom:-5px;left:50%;transform:translate(-50%);cursor:ns-resize}.pdf-annotation-handle.w{top:50%;left:-5px;transform:translateY(-50%);cursor:ew-resize}.pdf-annotation-handle.e{top:50%;right:-5px;transform:translateY(-50%);cursor:ew-resize}.pdf-annotation-toolbox{position:absolute;bottom:100%;left:0;margin-bottom:6px;display:flex;align-items:center;gap:8px;background:#0a0a0fbf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-sm);padding:6px 10px;box-shadow:0 4px 16px #0006;z-index:var(--z-sticky);animation:fadeIn var(--transition-fast) ease-out}.pdf-annotation-type{font-size:11px;color:var(--text-secondary);font-family:var(--font-display);max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.pdf-annotation-filled-toggle{display:flex;align-items:center;gap:4px;cursor:pointer;font-size:11px;color:var(--text-secondary);user-select:none}.pdf-annotation-filled-toggle input[type=checkbox]{width:14px;height:14px;margin:0;cursor:pointer;accent-color:var(--accent-alt)}.pdf-annotation-filled-check{font-family:var(--font-display)}.pdf-annotation-color-picker{display:flex;gap:3px;padding:0 4px}.pdf-annotation-color-btn{width:16px;height:16px;border-radius:3px;border:2px solid transparent;cursor:pointer;transition:all var(--transition-fast);padding:0}.pdf-annotation-color-btn.blue{background:#35d4ff}.pdf-annotation-color-btn.green{background:#4ade80}.pdf-annotation-color-btn.orange{background:#fb923c}.pdf-annotation-color-btn.purple{background:#a78bfa}.pdf-annotation-color-btn.red{background:#f87171}.pdf-annotation-color-btn:hover{transform:scale(1.15)}.pdf-annotation-color-btn.active{border-color:var(--text-primary);box-shadow:0 0 0 1px var(--bg-primary)}.pdf-annotation-delete{width:24px;height:24px;border-radius:4px;background:transparent;color:#f87171;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;transition:all var(--transition-fast)}.pdf-annotation-delete:hover{background:#f8717140;color:#fca5a5}.pdf-annotation-save-indicator{font-size:11px;color:var(--accent-alt);font-family:var(--font-mono);animation:fadeInOut 1s ease-out forwards}@keyframes fadeInOut{0%{opacity:0}20%{opacity:1}80%{opacity:1}to{opacity:0}}.pdf-annotation-comment{position:absolute;top:100%;left:0;right:0;margin-top:6px;display:flex;justify-content:center;z-index:var(--z-sticky);animation:fadeIn var(--transition-fast) ease-out}.pdf-annotation-comment-inner{background:#0a0a0fbf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-sm);padding:6px 10px;box-shadow:0 4px 16px #0006;min-width:100px;max-width:300px;text-align:center}.pdf-annotation-comment.collapsed .pdf-annotation-comment-inner{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;padding:4px 8px}.pdf-annotation-comment.collapsed{animation:none}.pdf-annotation-comment.collapsed .pdf-annotation-comment-text:empty{display:none}.pdf-annotation-comment-text{font-size:12px;color:var(--text-secondary);line-height:1.4;cursor:pointer;min-height:16px;word-wrap:break-word}.pdf-annotation-comment-text:hover,.pdf-annotation-comment.visible .pdf-annotation-comment-text{color:var(--text-primary)}.pdf-annotation-comment-text:empty:before{content:"Click to add comment...";color:var(--text-muted);font-style:italic}.pdf-annotation-comment.collapsed .pdf-annotation-comment-text:empty:before{content:none}.pdf-annotation-comment-editor{display:flex;flex-direction:column;gap:8px}.pdf-annotation-comment-input{width:100%;min-height:60px;background:#0000004d;border:none!important;border-radius:4px;color:var(--text-primary);font-family:var(--font-display);font-size:12px;line-height:1.4;padding:8px;resize:vertical;outline:none!important;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.pdf-annotation-comment-input:focus{background:#0006;border:none!important;outline:none!important;box-shadow:none!important}.pdf-annotation-comment-input::placeholder{color:var(--text-muted);font-style:italic}.pdf-annotation-comment-actions{display:flex;justify-content:flex-end;gap:6px}.pdf-annotation-comment-cancel,.pdf-annotation-comment-save{padding:4px 10px;border-radius:4px;font-size:11px;font-family:var(--font-display);cursor:pointer;transition:all var(--transition-fast)}.pdf-annotation-comment-cancel{background:transparent;border:1px solid var(--text-muted);color:var(--text-secondary)}.pdf-annotation-comment-cancel:hover{border-color:var(--text-secondary);color:var(--text-primary)}.pdf-annotation-comment-save{background:var(--accent-alt);border:1px solid var(--accent-alt);color:var(--bg-primary)}.pdf-annotation-comment-save:hover{filter:brightness(1.1)}.pdf-page-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:1rem;background:var(--bg-elevated);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.85rem}.pdf-loading,.pdf-error,.pdf-empty,.pdf-viewer-empty{padding:2rem;text-align:center;color:var(--text-secondary);min-height:60vh;font-size:.9rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;height:100%}.pdf-viewer-empty-icon{width:3rem;height:3rem;color:var(--text-muted);margin-bottom:.5rem}.pdf-viewer-empty-icon svg{width:100%;height:100%}.pdf-viewer-empty-hint{font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.pdf-error{color:var(--accent-primary)}.share-panel{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:1.5rem;background:transparent}.share-panel-header{flex-shrink:0;margin-bottom:1.5rem}.share-panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.share-panel-title{flex:1;font-size:1.5rem;font-weight:600;margin:0;color:var(--text-primary)}.share-panel-header .btn-icon{flex-shrink:0;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.share-panel-header .btn-icon:hover{color:var(--text-primary);background:var(--bg-tertiary)}.share-panel-header .btn-icon svg{width:1.25rem;height:1.25rem}.share-panel-content{display:flex;flex-direction:column;gap:1.5rem}.share-loading{padding:2rem;text-align:center;color:var(--text-secondary);font-size:.9rem}.share-not-owner-message,.share-not-editor-message{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;text-align:center;color:var(--text-secondary)}.share-not-owner-message svg,.share-not-editor-message svg{width:3rem;height:3rem;color:var(--text-muted)}.share-not-owner-message p,.share-not-editor-message p{margin:0;font-size:.9rem}.share-error-message{padding:1rem;background:#f443361a;border-left:4px solid #f44336;border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;margin-bottom:1rem}.share-link-form{padding:1.5rem;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:1.5rem}.share-form-title{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.share-form-error{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f443361a;border:1px solid rgba(244,67,54,.3);border-radius:var(--radius-sm);color:#f44336;font-size:.85rem;margin-bottom:1rem}.share-form-error svg{width:1.25rem;height:1.25rem;flex-shrink:0}.share-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.share-form-grid .form-group-full{grid-column:1 / -1}.share-form-grid .form-group{display:flex;flex-direction:column;gap:.5rem}.share-form-grid label{font-size:.85rem;font-weight:500;color:var(--text-primary)}.share-form-grid .form-hint{font-size:.75rem;color:var(--text-muted);font-style:italic}.share-form-submit{width:100%;padding:.75rem;font-weight:500}.share-link-list{margin-bottom:2rem}.share-list-title{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.share-link-items{display:flex;flex-direction:column;gap:1rem}.share-link-item{padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}.share-link-item.expired,.share-link-item.maxed{opacity:.6;border-color:var(--border-subtle)}.share-link-item.expiring-soon{border-color:#ffc10766;background:#ffc10708}.share-link-item.nearly-full{border-color:#ff980066}.share-link-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.share-link-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:9999px}.share-link-badge.read{background:#2196f326;color:#2196f3;border:1px solid rgba(33,150,243,.3)}.share-link-badge.edit{background:#ff980026;color:#ff9800;border:1px solid rgba(255,152,0,.3)}.share-link-status{font-size:.8rem;font-weight:500}.share-link-status.status-active{color:var(--color-success-alt)}.share-link-status.status-expired,.share-link-status.status-maxed{color:#f44336}.share-link-status.status-expiring-soon,.share-link-status.status-nearly-full{color:var(--color-loop)}.share-link-url-group{display:flex;gap:.5rem;margin-bottom:.75rem}.share-link-url-input{flex:1;padding:.5rem .75rem;font-size:.85rem;font-family:monospace;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary)}.share-link-copy{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;white-space:nowrap}.share-link-copy svg{width:1rem;height:1rem}.share-link-copy.copied{background:var(--color-success-alt);border-color:var(--color-success-alt)}.share-link-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem;padding:.75rem;background:var(--white-02);border-radius:var(--radius-sm)}.share-link-detail{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-secondary)}.share-link-detail .detail-icon{width:1rem;height:1rem;flex-shrink:0;opacity:.7}.share-link-detail .text-warning{color:var(--color-loop);font-weight:500}.share-link-detail .text-danger{color:#f44336;font-weight:500}.share-link-detail .text-muted{color:var(--text-muted);font-style:italic}.share-link-actions{display:flex;justify-content:flex-end;gap:.5rem}.share-link-list-empty{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;text-align:center;color:var(--text-muted)}.share-link-list-empty svg{width:3rem;height:3rem;opacity:.5}.share-link-list-empty p{margin:0;font-size:.9rem}.user-access-list{padding-top:1.5rem;border-top:1px solid var(--border-subtle)}.user-access-group{margin-bottom:1.5rem}.user-group-title{margin:0 0 .75rem;font-size:.9rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.user-access-items{display:flex;flex-direction:column;gap:.5rem}.user-access-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.user-access-item:hover{background:var(--bg-tertiary)}.user-access-info{flex:1;min-width:0}.user-access-name{font-size:.9rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-access-name .user-email{font-weight:400;color:var(--text-secondary)}.user-access-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem;font-size:.75rem;color:var(--text-muted)}.user-access-meta .user-granted-via{padding:.125rem .5rem;background:var(--white-5);border-radius:9999px;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.user-revoke-btn{display:flex;align-items:center;gap:.4rem;padding:.35rem .75rem;white-space:nowrap}.user-revoke-btn svg{width:.9rem;height:.9rem}.user-access-empty{padding:2rem;text-align:center;color:var(--text-muted);font-size:.9rem}.user-access-empty p{margin:0}.user-access-item-waiting-icon{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--white-6);color:var(--text-muted)}.user-access-item-pending .user-access-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.user-access-item-pending .user-access-permission-badge{margin-right:0}.user-access-pending-label{font-style:italic;color:var(--text-secondary)}.user-access-expires{color:var(--text-muted);font-size:.7rem}.user-access-item-pending-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.user-invite-action-btn{white-space:nowrap}.tune-edit{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:1.5rem;background:transparent}.tune-edit-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.tune-edit-close{flex-shrink:0;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.tune-edit-close:hover{color:var(--text-primary);background:var(--bg-tertiary)}.tune-edit-close svg{width:1.25rem;height:1.25rem}.tune-edit-title{flex:1;font-size:1.5rem;font-weight:600;margin:0}.tune-edit-title-input{width:100%;padding:.5rem .75rem;font-size:1.5rem;font-weight:600;font-family:inherit;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.tune-edit-title-input:focus{outline:none;border-color:var(--accent-primary)}.tune-edit-content{display:flex;flex-direction:column;gap:1.5rem}.tune-edit-section{background:var(--bg-tertiary);border-radius:var(--radius-md);padding:1rem 1.25rem}.tune-edit-section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.tune-edit-section-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.tune-edit-section-description{font-size:.8rem;color:var(--text-muted);margin:.25rem 0 .75rem}.ui-icon-button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.ui-icon-button:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.ui-icon-button:disabled{opacity:.5;cursor:not-allowed}.ui-icon-button svg{width:1rem;height:1rem}.ui-icon-button-danger:hover:not(:disabled){color:var(--accent-primary);background:var(--accent-primary-10)}.ui-icon-button-active{color:var(--accent-alt);background:var(--accent-alt-15)}.ui-icon-button-active:hover:not(:disabled){color:var(--accent-alt);background:var(--accent-alt-20)}.ui-loading-spinner-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem;text-align:center}.ui-loading-spinner{width:40px;height:40px;border:3px solid var(--bg-elevated);border-top-color:var(--accent-primary);border-radius:50%;animation:resource-spin 1s linear infinite}.ui-loading-spinner-message{margin:0;font-size:.9rem;color:var(--text-secondary)}.ui-loading-spinner-small .ui-loading-spinner{width:20px;height:20px;border-width:2px}.ui-loading-spinner-small .ui-loading-spinner-message{font-size:.8rem}.ui-loading-spinner-large .ui-loading-spinner{width:56px;height:56px;border-width:4px}.ui-loading-spinner-large .ui-loading-spinner-message{font-size:1rem}.ui-error-message{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--accent-primary-10);border:1px solid var(--accent-primary-30);border-radius:var(--radius-sm);color:var(--accent-secondary);font-size:.85rem}.ui-error-message-icon{width:1.25rem;height:1.25rem;flex-shrink:0}.ui-error-message-text{flex:1}.tune-edit-notes{width:100%;padding:.75rem;font-size:.9rem;font-family:inherit;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);resize:vertical;min-height:6rem}.tune-edit-notes:focus{outline:none;border-color:var(--accent-primary)}.tune-edit-links-add{display:flex;gap:.5rem;margin-bottom:.75rem}.tune-edit-links-input{flex:1;padding:.5rem .75rem;font-size:.9rem;font-family:inherit;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.tune-edit-links-input:focus{outline:none;border-color:var(--accent-primary)}.tune-edit-links-add-btn{padding:.5rem 1rem;font-size:.9rem;font-family:inherit;color:var(--text-primary);background:var(--accent-primary);border:none;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap}.tune-edit-links-add-btn:hover:not(:disabled){background:var(--accent-secondary)}.tune-edit-links-add-btn:disabled{opacity:.5;cursor:not-allowed}.tune-edit-links-list{list-style:none;margin:0;padding:0}.tune-edit-links-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--border-subtle)}.tune-edit-links-item:last-child{border-bottom:none}.tune-edit-links-icon{flex-shrink:0;width:1rem;height:1rem;color:var(--text-muted)}.tune-edit-links-icon.youtube{color:red}.tune-edit-links-link{flex:1;display:flex;flex-direction:column;gap:.125rem;text-decoration:none;overflow:hidden;min-width:0}.tune-edit-links-label{font-size:.9rem;font-weight:500;color:var(--text-primary)}.tune-edit-links-item.is-youtube .tune-edit-links-label{color:red}.tune-edit-links-url{font-size:.75rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tune-edit-links-link:hover .tune-edit-links-label{text-decoration:underline}.tune-edit-links-remove{flex-shrink:0;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm)}.tune-edit-links-remove:hover{color:var(--accent-primary)}.tune-edit-links-remove svg{width:1rem;height:1rem}.tune-edit-add-btn{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.85rem;font-family:inherit;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer}.tune-edit-add-btn:hover{background:var(--bg-primary);border-color:var(--accent-primary)}.tune-edit-add-btn svg{width:1rem;height:1rem}.tune-edit-list{display:flex;flex-direction:column;gap:.25rem}.tune-edit-list-item-wrapper{border-radius:var(--radius-sm);transition:background var(--transition-fast)}.tune-edit-list-item-wrapper.drag-over{background:var(--bg-elevated)}.tune-edit-list-item-wrapper.saved{animation:tune-edit-saved-flash 1.5s ease-out}@keyframes tune-edit-saved-flash{0%{background:#4caf5040;box-shadow:0 0 0 2px #4caf5080}30%{background:#4caf5026;box-shadow:0 0 0 2px #4caf504d}to{background:transparent;box-shadow:none}}.tune-edit-list-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid transparent}.tune-edit-list-item.dragging{opacity:.5}.tune-edit-list-item.dragging-placeholder{background:var(--bg-tertiary);border:2px dashed var(--accent-alt);border-radius:var(--radius-sm)}.tune-edit-list-item.dragging-placeholder>*{visibility:hidden}.tune-edit-drag-handle{flex-shrink:0;display:flex;align-items:center;color:var(--text-muted);cursor:grab}.tune-edit-drag-handle:active{cursor:grabbing}.tune-edit-drag-handle svg{width:1rem;height:1rem}.tune-edit-list-index{flex-shrink:0;font-size:.8rem;color:var(--text-muted);min-width:2rem}.tune-edit-list-thumbnail{flex-shrink:0;width:141px;height:200px;overflow:hidden;background:var(--bg-tertiary)}.tune-edit-list-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.tune-edit-list-name{flex:1;font-size:.9rem;overflow:hidden;text-overflow:ellipsis}.tune-edit-list-meta{font-size:.8rem;color:var(--text-muted);margin-left:.5rem}.tune-edit-list-edit{flex:1;display:flex;align-items:center;gap:.5rem}.tune-edit-list-input{flex:1;padding:.35rem .5rem;font-size:.9rem;font-family:inherit;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.tune-edit-list-input:focus{outline:none;border-color:var(--accent-primary)}.tune-edit-list-btn{flex-shrink:0;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-sm)}.tune-edit-list-btn.save{color:var(--accent-alt)}.tune-edit-list-btn.save:hover{background:var(--accent-alt-20)}.tune-edit-list-btn.cancel{color:var(--text-muted)}.tune-edit-list-btn.cancel:hover{color:var(--accent-primary)}.tune-edit-list-btn svg{width:1rem;height:1rem}.tune-edit-list-actions{display:flex;gap:.25rem}.tune-edit-list-action{width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm)}.tune-edit-list-action:hover{color:var(--text-primary);background:var(--bg-tertiary)}.tune-edit-list-action.delete:hover{color:var(--accent-primary)}.tune-edit-list-action.play:hover{color:var(--accent-alt)}.tune-edit-list-action svg{width:1rem;height:1rem}.tune-edit-empty{margin:0;padding:.75rem;font-size:.9rem;color:var(--text-muted)}@media (max-width: 1024px){.left-panel{position:relative;width:100%;height:auto;flex-shrink:0;border-bottom:1px solid var(--border-subtle)}.left-panel-content{overflow-y:visible;overflow-x:hidden}.app-layout{flex-direction:column}.right-panel{margin-left:0;width:100%}.right-panel>.recordings-strip-header,.right-panel>.recordings-strip{flex-shrink:0}.audio-player-wrapper{overflow-x:hidden}.player-group-container{overflow:hidden;margin:-.5rem 0;border-radius:0}.song-header,.audio-player{border-radius:0}.pdf-control-bar{width:100%;justify-content:center;flex-wrap:wrap;padding:8px 12px;gap:6px}.pdf-annotation-toggle-label{display:none}.pdf-annotation-toggle{padding:0 8px}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;z-index:var(--z-base)}.login-card{background:linear-gradient(135deg,#12121af2,#0a0a0ff2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:3rem 2.5rem;width:100%;max-width:420px;box-shadow:0 20px 60px #00000080;backdrop-filter:blur(10px)}.login-header{text-align:center;margin-bottom:2rem}.login-title{font-size:2rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;font-family:var(--font-display)}.login-subtitle{font-size:.95rem;color:var(--text-secondary);font-family:var(--font-display);margin-bottom:.5rem}.login-debug-hint{margin-top:1rem;padding:.75rem 1rem;background:var(--accent-alt-10);border:1px solid var(--accent-alt-30);border-radius:var(--radius-md);font-size:.85rem;display:flex;flex-direction:column;gap:.25rem}.login-debug-label{color:var(--accent-alt);font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.login-debug-password{color:var(--text-primary);font-family:var(--font-mono);font-size:.9rem;word-break:break-all}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-input-group{display:flex;flex-direction:column}.login-input{width:100%;padding:.875rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;font-family:var(--font-display);transition:all var(--transition-fast)}.login-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}.login-input:disabled{opacity:.6;cursor:not-allowed}.login-input::placeholder{color:var(--text-muted)}.login-error{padding:.75rem 1rem;background:var(--accent-primary-10);border:1px solid var(--accent-primary-30);border-radius:var(--radius-md);color:var(--accent-secondary);font-size:.9rem;text-align:center}.login-button{width:100%;padding:.875rem 1.5rem;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;font-weight:500;font-family:var(--font-display);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 4px 12px var(--accent-primary-30)}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px var(--accent-primary-40)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.google-login-btn{width:100%;padding:.875rem 1.5rem;background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:#333;font-size:1rem;font-weight:500;font-family:var(--font-display);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:.75rem}.google-login-btn:hover:not(:disabled){background:#f5f5f5;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.google-login-btn:disabled{opacity:.6;cursor:not-allowed}.login-link{display:inline-block;margin-top:1rem;color:var(--accent-alt);text-decoration:none;font-size:.9rem}.login-link:hover{text-decoration:underline}.global-drop-overlay{position:fixed;inset:0;background:#0a0a0fe6;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn .15s ease-out;border:3px dashed var(--accent-alt);margin:1rem;border-radius:var(--radius-lg)}.global-drop-content{text-align:center;color:var(--text-primary)}.global-drop-icon{width:4rem;height:4rem;margin:0 auto 1.5rem;color:var(--accent-alt);animation:bounce 1s infinite}.global-drop-icon svg{width:100%;height:100%}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.global-drop-title{font-size:1.25rem;color:var(--text-secondary);margin-bottom:.5rem}.global-drop-target{font-size:1.5rem;font-weight:600;color:var(--accent-alt);margin-bottom:1rem}.global-drop-hint{font-size:.875rem;color:var(--text-muted)}.global-drop-warning{font-size:.9rem;color:var(--color-loop);margin-bottom:1rem;padding:.5rem 1rem;background:#ffc1071a;border-radius:var(--radius-sm)}.global-drop-overlay.warning{border-color:var(--color-loop)}.global-drop-overlay.warning .global-drop-icon{color:var(--color-loop)}.global-drop-overlay.split{flex-direction:column;align-items:stretch;padding:0;margin:1rem}.global-drop-zone-upper,.global-drop-zone-lower{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;transition:background .15s ease,border-color .15s ease;border:3px dashed transparent}.global-drop-zone-upper{border-bottom-width:1.5px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.global-drop-zone-lower{border-top-width:1.5px;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.global-drop-zone-upper.active,.global-drop-zone-lower.active{background:var(--accent-alt-12);border-color:var(--accent-alt)}.global-drop-zone-upper .global-drop-content,.global-drop-zone-lower .global-drop-content{padding:1rem}.global-upload-overlay{position:fixed;inset:0;background:#0a0a0fd9;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.global-upload-content{text-align:center}.global-upload-spinner{width:3rem;height:3rem;border:3px solid var(--border-subtle);border-top-color:var(--accent-alt);border-radius:50%;margin:0 auto 1rem;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.global-upload-text{font-size:1.125rem;color:var(--text-primary)}.modal-backdrop{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-panel);animation:fadeIn .15s ease-out;padding:1rem}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;animation:slideUp .2s ease-out;box-shadow:0 20px 50px #00000080}.modal-content.file-uploader{max-width:560px}.modal-content.folder-upload{max-width:720px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-subtle)}.modal-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.modal-close{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.modal-close:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-primary-10)}.modal-close svg{width:1rem;height:1rem}.modal-body{padding:1.5rem}.modal-actions{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;margin-top:1rem;border-top:1px solid var(--border-subtle)}.modal-actions-right{display:flex;gap:.75rem;margin-left:auto}.modal-confirm{min-width:280px;max-width:90%;text-align:center;padding:1.25rem 1.5rem}.modal-confirm-message{margin:0 0 1rem;color:var(--text-primary);font-size:.95rem}.modal-confirm-actions{display:flex;gap:.75rem;justify-content:center}.modal-confirm-btn{padding:.5rem 1.25rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.modal-confirm-btn.cancel{background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary)}.modal-confirm-btn.cancel:hover{border-color:var(--text-secondary);color:var(--text-primary)}.modal-confirm-btn.confirm{background:var(--accent-primary);border:1px solid var(--accent-primary);color:#fff}.modal-confirm-btn.confirm:hover{background:#c62828;border-color:#c62828}.modal-confirm-btn.confirm.default{background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-primary)}.modal-confirm-btn.confirm.default:hover{border-color:var(--text-secondary);color:var(--text-primary)}.form-group{margin-bottom:1rem}.form-label{display:block;font-size:.85rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem}.form-input{width:100%;padding:.75rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.95rem;font-family:var(--font-display);transition:all var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-select{width:100%;padding:.75rem 2.5rem .75rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.95rem;font-family:var(--font-display);transition:all var(--transition-fast);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%238888a0'%3e%3cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3e%3c/path%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem}.form-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}.form-select:disabled{opacity:.6;cursor:not-allowed}.form-input::placeholder{color:var(--text-muted)}.form-error{padding:.75rem 1rem;background:var(--accent-primary-10);border:1px solid var(--accent-primary-30);border-radius:var(--radius-sm);color:var(--accent-secondary);font-size:.85rem;margin-top:1rem}.form-checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;padding:.75rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.form-checkbox-label:hover{border-color:var(--accent-primary-30)}.form-checkbox-label input[type=checkbox]{margin-top:.15rem;width:1rem;height:1rem;flex-shrink:0;accent-color:var(--accent-primary);cursor:pointer}.form-checkbox-text{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;color:var(--text-primary)}.form-checkbox-text .form-hint{font-size:.8rem;color:var(--text-secondary)}.move-modal{max-width:400px}.move-modal-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem;line-height:1.5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;font-family:var(--font-display);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);color:#fff;border-color:transparent}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px var(--accent-glow)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-subtle)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--text-muted)}.btn-danger{background:transparent;color:var(--accent-primary);border-color:var(--accent-primary)}.btn-danger:hover:not(:disabled){background:var(--accent-primary-10)}.drop-zone{position:relative;border:2px dashed var(--border-subtle);border-radius:var(--radius-lg);padding:2.5rem 1.5rem;text-align:center;transition:all var(--transition-medium);background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%)}.drop-zone.dragging{border-color:var(--accent-alt);background:var(--accent-alt-5)}.drop-zone.uploading{opacity:.7;pointer-events:none}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:.75rem}.folder-upload .drop-zone-content{position:relative;z-index:var(--z-sticky)}.folder-upload .drop-zone .btn{position:relative;z-index:20;pointer-events:auto}.drop-zone-icon{width:3rem;height:3rem;color:var(--accent-alt)}.drop-zone-icon svg{width:100%;height:100%}.drop-zone-text{font-size:1rem;font-weight:500;color:var(--text-primary);margin:0}.drop-zone-hint{font-size:.85rem;color:var(--text-muted);margin:0}.drop-zone-formats{font-size:.75rem;color:var(--text-muted);margin-top:.5rem;line-height:1.5}.file-uploader .drop-zone{position:relative}.file-uploader .drop-zone-content{position:relative;z-index:var(--z-sticky)}.file-uploader .drop-zone .btn{position:relative;z-index:20;pointer-events:auto}.upload-progress{margin-top:1rem;padding:.75rem 1rem;background:var(--accent-alt-10);border:1px solid var(--accent-alt-30);border-radius:var(--radius-sm);color:var(--accent-alt);font-size:.85rem;text-align:center}.uploaded-files{margin-top:1.5rem}.uploaded-files-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin:0 0 .75rem}.uploaded-files-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.uploaded-file-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;background:var(--bg-tertiary);border-radius:var(--radius-sm)}.uploaded-file-icon{width:1.25rem;height:1.25rem;flex-shrink:0}.uploaded-file-icon svg{width:100%;height:100%}.uploaded-file-icon.recording{color:var(--accent-primary)}.uploaded-file-icon.structure,.uploaded-file-icon.partition{color:var(--accent-alt)}.uploaded-file-name{flex:1;font-size:.85rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uploaded-file-category{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:.2rem .5rem;background:var(--bg-elevated);border-radius:4px}.uploaded-file-size{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted)}.folder-upload-summary{margin-top:1.5rem;padding:1rem;border-radius:var(--radius-md);background:var(--bg-tertiary);border:1px solid var(--border-subtle)}.folder-upload-summary-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;gap:1rem}.folder-upload-summary-title{font-size:.85rem;font-weight:600;color:var(--text-primary)}.folder-upload-summary-total{font-size:.75rem;color:var(--text-muted)}.folder-upload-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.75rem}.folder-upload-summary-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.folder-upload-summary-value{display:block;font-size:.95rem;font-weight:600;color:var(--text-primary)}.folder-upload-list{margin-top:1.5rem;display:flex;flex-direction:column;gap:.75rem;max-height:320px;overflow-y:auto;padding-right:.25rem}.folder-upload-item{padding:.75rem;border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--border-subtle)}.folder-upload-item-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.folder-upload-item-title{display:flex;flex-direction:column;gap:.2rem;min-width:0}.folder-upload-item-name{font-size:.85rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-upload-item-meta{font-size:.7rem;color:var(--text-muted)}.folder-upload-item-status{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.folder-upload-progress{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.folder-upload-progress-track{flex:1;height:6px;border-radius:999px;background:var(--bg-elevated);overflow:hidden}.folder-upload-progress-bar{height:100%;background:linear-gradient(135deg,var(--accent-alt) 0%,#4dd0ff 100%);transition:width var(--transition-fast)}.folder-upload-progress-value{font-size:.75rem;color:var(--text-muted);min-width:2.5rem;text-align:right}.folder-upload-item-error{margin-top:.5rem;font-size:.75rem;color:var(--accent-secondary)}.folder-upload-overall{margin-top:1.5rem;display:flex;align-items:center;gap:.75rem;font-size:.8rem;color:var(--text-secondary)}.folder-upload-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.btn.btn-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.column-browser-add-header{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}@media (hover: hover){.column-browser-add-header:hover{background:var(--bg-elevated);border-color:var(--accent-primary);color:var(--accent-primary)}}@media (hover: none){.column-browser-add-header:active{background:var(--bg-elevated);border-color:var(--accent-primary);color:var(--accent-primary)}}.column-browser-add-header.is-shared{border-color:var(--accent-alt);color:var(--accent-alt);background:var(--accent-alt-10)}.column-browser-add-header svg{width:.875rem;height:.875rem}.column-browser-item-wrapper{display:flex;align-items:center;margin-bottom:0;position:relative;transition:opacity var(--transition-fast);-webkit-touch-callout:none;touch-action:manipulation}.column-browser-item-wrapper.dragging-placeholder{background:var(--bg-tertiary);border:2px dashed var(--accent-alt);border-radius:var(--radius-sm)}.column-browser-item-wrapper.dragging-placeholder .column-browser-item{visibility:hidden}.column-browser-item-wrapper.drag-over{background:var(--bg-elevated)}.column-browser-item-wrapper.saved{animation:tune-edit-saved-flash 1.5s ease-out}.column-browser-item-wrapper .column-browser-item{flex:1;margin-bottom:0;-webkit-user-drag:none;user-drag:none}.column-browser-drag-handle{display:flex;align-items:center;justify-content:center;width:1.25rem;height:100%;padding:0 .25rem;color:var(--text-muted);cursor:grab;flex-shrink:0;transition:color var(--transition-fast);opacity:0}@media (hover: hover){.column-browser-list:not(.dragging) .column-browser-item-wrapper:hover .column-browser-drag-handle,.column-browser-item-wrapper.dragging-placeholder .column-browser-drag-handle{opacity:1}.column-browser-drag-handle:hover{color:var(--text-secondary)}}@media (hover: none){.column-browser-drag-handle{opacity:1}}.column-browser-drag-handle:active{cursor:grabbing}.column-browser-drag-handle svg{width:.75rem;height:.75rem}.column-browser-item-actions{display:flex;gap:.25rem;padding-right:.25rem;opacity:0;transition:opacity var(--transition-fast)}@media (hover: hover){.column-browser-list:not(.dragging) .column-browser-item-wrapper:hover .column-browser-item-actions{opacity:1}}@media (hover: none){.column-browser-item-actions{opacity:1}}.column-browser-item-actions:has(.active){opacity:1}.column-browser-item-action{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);border-radius:var(--radius-sm)}@media (hover: hover){.column-browser-item-action:hover{color:var(--color-loop);background:#ffc1071a}}@media (hover: none){.column-browser-item-action:active{color:var(--color-loop);background:#ffc1071a}}.column-browser-item-action.active{color:var(--accent-alt);background:var(--accent-alt-15);opacity:1}.column-browser-item-action svg{width:.875rem;height:.875rem}.column-browser-add{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;margin-top:.5rem;background:transparent;border:1px dashed var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.85rem;cursor:pointer;transition:all var(--transition-fast)}@media (hover: hover){.column-browser-add:hover{border-color:var(--accent-alt);color:var(--accent-alt);background:var(--accent-alt-5)}}@media (hover: none){.column-browser-add:active{border-color:var(--accent-alt);color:var(--accent-alt);background:var(--accent-alt-5)}}.column-browser-add svg{width:1rem;height:1rem}.column-browser-back-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);margin-right:.75rem;flex-shrink:0}.column-browser-back-btn:hover{background:var(--bg-elevated);border-color:var(--border-active);color:var(--text-primary)}.column-browser-back-btn svg{width:1rem;height:1rem}.column-browser-band-picture{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.column-browser-title-icon.column-browser-band-picture{width:32px;height:32px}.column-browser-header-action{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.column-browser-header-action:hover{color:var(--accent-alt);background:var(--accent-alt-10);border-color:var(--accent-alt)}.column-browser-header-action svg{width:1rem;height:1rem}.column-browser-add-btn{color:var(--accent-alt);border-color:var(--accent-alt-30)}.column-browser-add-btn:hover{background:var(--accent-alt-15);border-color:var(--accent-alt)}.column-browser-item-band-info{display:inline-flex;align-items:center;gap:.25rem;color:var(--text-muted);font-size:.65rem}.column-browser-item-band-picture{width:12px;height:12px;border-radius:50%;object-fit:cover}.column-browser-item-band-info svg{width:12px;height:12px;opacity:.7}.selector-add-btn{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.selector-add-btn:hover{border-color:var(--accent-alt);color:var(--accent-alt);background:var(--accent-alt-10)}.selector-add-btn svg{width:.75rem;height:.75rem}.selector-item-actions{display:flex;gap:.25rem;opacity:0;transition:opacity var(--transition-fast);flex-shrink:0}.selector-action-btn{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);border-radius:var(--radius-sm)}.selector-action-btn:hover{color:var(--color-loop);background:#ffc1071a}.selector-action-btn.delete:hover{color:var(--accent-primary);background:var(--accent-primary-10)}.selector-action-btn svg{width:.75rem;height:.75rem}.selector-edit-wrapper{display:flex;align-items:center;gap:.35rem;flex:1;padding:.25rem 0}.selector-edit-input{flex:1;padding:.4rem .6rem;background:var(--bg-primary);border:1px solid var(--accent-alt);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-display);font-size:.8rem;outline:none;min-width:0}.selector-edit-input:focus{box-shadow:0 0 0 2px var(--accent-alt-20)}.selector-edit-btn{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:transparent;border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);border-radius:var(--radius-sm);flex-shrink:0}.selector-edit-btn svg{width:.75rem;height:.75rem}.selector-edit-btn.save:hover{border-color:var(--color-success-alt);color:var(--color-success-alt);background:#4caf501a}.selector-edit-btn.cancel:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-primary-10)}.share-popup{max-width:500px}.share-info{display:flex;gap:.75rem;padding:1rem;background:var(--accent-alt-8);border:1px solid var(--accent-alt-20);border-radius:var(--radius-md);margin-bottom:1.5rem}.share-info-icon{flex-shrink:0;width:1.25rem;height:1.25rem;color:var(--accent-alt)}.share-info p{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.5}.share-info strong{color:var(--text-primary)}.share-link-input-group{display:flex;gap:.5rem}.share-link-input{flex:1;font-family:var(--font-mono);font-size:.8rem}.share-copy-btn{display:flex;align-items:center;gap:.5rem;white-space:nowrap}.share-copy-btn svg{width:1rem;height:1rem}.share-copy-btn.copied{background:var(--color-success-alt);border-color:var(--color-success-alt)}.share-revoke-btn{align-self:flex-start}.share-generate-text{margin:0 0 1rem;color:var(--text-secondary);font-size:.9rem}.share-owner-info{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:1rem}.share-owner-details{display:flex;flex-direction:column;gap:.125rem;min-width:0}.share-owner-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.share-owner-email{font-size:.9rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-link-not-available{margin:0;padding:.75rem;background:var(--white-03);border-radius:var(--radius-sm);font-size:.85rem;color:var(--text-muted);font-style:italic;text-align:center}.share-links-container{display:flex;flex-direction:column;gap:1.25rem}.share-link-section{padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.share-link-header{margin-bottom:.75rem}.share-link-title{margin:0 0 .25rem;font-size:.95rem;font-weight:600;color:var(--text-primary)}.share-link-description{margin:0;font-size:.8rem;color:var(--text-muted)}.share-link-active{display:flex;flex-direction:column;gap:.5rem}.share-link-active .share-link-input-group{display:flex;gap:.5rem}.share-link-active .share-revoke-btn{align-self:flex-start}.share-generate-btn{width:100%}.btn-warning{background:linear-gradient(135deg,#ff9800,#f57c00);border-color:#ff9800;color:#000}.btn-warning:hover{background:linear-gradient(135deg,#ffb74d,#ff9800);border-color:#ffb74d}.btn-sm{padding:.35rem .75rem;font-size:.8rem}.share-leave-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle);text-align:center}.share-leave-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-weight:500}.share-leave-btn svg{width:1rem;height:1rem}.share-leave-description{margin:.75rem 0 0;font-size:.8rem;color:var(--text-muted)}.share-link-info{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;padding:.75rem;background:var(--white-02);border-radius:var(--radius-sm)}.share-info-item{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-secondary)}.share-info-item .info-icon{width:1rem;height:1rem;flex-shrink:0;opacity:.7}.share-info-item.share-warning{padding:.5rem;background:#ffc10714;border-left:3px solid rgba(255,193,7,.6);border-radius:var(--radius-sm)}.share-info-item .text-warning{color:var(--color-loop);font-weight:500}.share-info-item .text-muted{color:var(--text-muted);font-style:italic}.share-options-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;margin-bottom:.75rem;font-size:.85rem;color:var(--text-secondary);background:none;border:none;cursor:pointer;transition:color var(--transition-fast)}.share-options-toggle:hover{color:var(--text-primary)}.share-options-toggle svg{width:1rem;height:1rem}.share-link-options{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem;padding:1rem;background:var(--white-02);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.share-options-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.share-options-header h4{margin:0;font-size:.9rem;font-weight:600;color:var(--text-primary)}.share-options-header .btn-icon{padding:.25rem;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.share-options-header .btn-icon:hover{background:var(--white-5);color:var(--text-primary)}.share-options-header .btn-icon svg{width:1.125rem;height:1.125rem;display:block}.share-link-options .form-group{display:flex;flex-direction:column;gap:.5rem}.share-link-options .form-group label{font-size:.85rem;font-weight:500;color:var(--text-primary)}.share-link-options .form-select,.share-link-options .form-input{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:.85rem;transition:border-color var(--transition-fast)}.share-link-options .form-select:focus,.share-link-options .form-input:focus{outline:none;border-color:var(--accent)}.share-link-options .form-select{cursor:pointer}.share-link-options .form-input[type=datetime-local]{color-scheme:dark}.share-link-options .form-input[type=number]{max-width:150px}.app-update-banner{position:fixed;top:0;left:0;right:0;z-index:var(--z-toast);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 1rem;background:linear-gradient(135deg,var(--accent-alt-20),var(--accent-alt-10));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--accent-alt-30);animation:appUpdateSlideDown .4s ease-out}@keyframes appUpdateSlideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.app-update-banner-content{display:flex;align-items:center;gap:.5rem}.app-update-banner-icon{width:1.125rem;height:1.125rem;color:var(--accent-alt);flex-shrink:0}.app-update-banner-text{font-family:var(--font-display);font-size:.875rem;font-weight:500;color:var(--text-primary)}.app-update-banner-version{font-family:var(--font-mono);font-size:.75rem;color:var(--text-secondary)}.app-update-banner-actions{display:flex;align-items:center;gap:.5rem}.app-update-banner-dismiss{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.app-update-banner-dismiss:hover{background:var(--white-10);color:var(--text-secondary)}.app-update-banner-dismiss svg{width:1rem;height:1rem}.app-update-banner-reload{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;font-family:var(--font-display);font-size:.8125rem;font-weight:500;color:var(--bg-primary);background:var(--accent-alt);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.app-update-banner-reload:hover{background:#5ddeff;transform:translateY(-1px)}.app-update-banner-reload svg{width:.875rem;height:.875rem}@media (max-width: 480px){.app-update-banner{padding:.5rem .75rem;gap:.5rem}.app-update-banner-text{font-size:.8125rem}.app-update-banner-version{display:none}}.dev-reset-button{position:fixed;bottom:.75rem;right:.75rem;z-index:99999;display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;font-family:var(--font-mono);font-size:.6875rem;font-weight:500;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--white-10);border-radius:var(--radius-sm);cursor:pointer;opacity:.55;transition:opacity var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.dev-reset-button:hover{opacity:1;background:var(--bg-elevated);color:var(--accent-alt);border-color:var(--accent-alt)}.dev-reset-button:disabled{cursor:wait;opacity:.4}.dev-reset-button svg{flex-shrink:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.about-link{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;margin-top:.5rem;background:transparent;border:none;border-top:1px solid var(--border-subtle);color:var(--text-muted);font-family:var(--font-display);font-size:.85rem;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.about-link:hover{color:var(--text-secondary);background:var(--white-03)}.about-link svg{width:1rem;height:1rem}.about-link-desktop{display:flex;width:100%}.about-link-mobile{display:none;width:100%;background:var(--bg-secondary);justify-content:center;padding:1rem}@media (max-width: 768px){.about-link-desktop{display:none}.about-link-mobile{display:flex;border-top:1px solid var(--border-subtle)}}.user-settings-popup{max-width:420px;width:90%}.settings-loading{padding:2rem;text-align:center;color:var(--text-muted)}.settings-section{display:flex;flex-direction:column;gap:1rem}.settings-section-header{display:flex;align-items:flex-start;gap:.75rem}.settings-section-icon{width:1.5rem;height:1.5rem;color:var(--accent-alt);flex-shrink:0;margin-top:.125rem}.settings-section-title{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.settings-section-hint{margin:.25rem 0 0;font-size:.85rem;color:var(--text-muted)}.settings-language-options{display:flex;flex-direction:column;gap:.5rem;padding-left:2.25rem}.settings-language-option{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.settings-language-option:hover{border-color:var(--accent-alt);background:var(--accent-alt-5)}.settings-language-option input[type=radio]{position:absolute;opacity:0;width:0;height:0}.settings-language-radio{display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border:2px solid var(--text-muted);border-radius:50%;transition:all var(--transition-fast);flex-shrink:0}.settings-language-radio:after{content:"";width:.625rem;height:.625rem;background:var(--accent-alt);border-radius:50%;opacity:0;transform:scale(0);transition:all var(--transition-fast)}.settings-language-option input[type=radio]:checked+.settings-language-radio{border-color:var(--accent-alt)}.settings-language-option input[type=radio]:checked+.settings-language-radio:after{opacity:1;transform:scale(1)}.settings-language-option input[type=radio]:focus+.settings-language-radio{box-shadow:0 0 0 2px var(--accent-alt-30)}.settings-language-label{flex:1;font-size:.95rem;color:var(--text-primary)}.settings-saving{font-size:.8rem;color:var(--text-muted);font-style:italic}.settings-section .beta-feature{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-top:.5rem}.settings-section .beta-feature h4{margin:0 0 .5rem;font-size:.95rem;font-weight:600;color:var(--text-primary);font-family:var(--font-display)}.settings-section .beta-feature .about-note{margin:0;font-size:.85rem;color:var(--text-secondary);line-height:1.5}.settings-section .beta-toggle{display:inline-flex;align-items:center;cursor:pointer;flex-shrink:0}.settings-section .beta-toggle input{position:absolute;opacity:0;pointer-events:none}.settings-section .beta-toggle-slider{position:relative;width:48px;height:26px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:999px;transition:all var(--transition-fast)}.settings-section .beta-toggle-slider:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--text-muted);transition:transform var(--transition-fast),background var(--transition-fast)}.settings-section .beta-toggle input:checked+.beta-toggle-slider{background:var(--accent-primary-20);border-color:var(--accent-primary)}.settings-section .beta-toggle input:checked+.beta-toggle-slider:after{transform:translate(22px);background:var(--accent-primary)}.recorder-panel{background:transparent;padding:1rem;flex-shrink:0;position:relative}.recorder-saving-overlay{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#0a0a0fd9;backdrop-filter:blur(6px);border-radius:var(--radius-md, 12px);animation:recorder-saving-fade-in .2s ease-out}.recorder-saving-overlay--player{border-radius:0}.recorder-saving-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.recorder-saving-spinner{width:36px;height:36px;border:3px solid var(--text-muted, #55556a);border-top-color:var(--accent-primary, #e53935);border-radius:50%;animation:recorder-saving-spin .8s linear infinite}.recorder-saving-message{margin:0;font-family:var(--font-display, "Outfit", sans-serif);font-size:.95rem;font-weight:500;color:var(--text-secondary, #8888a0);letter-spacing:.02em}@keyframes recorder-saving-spin{to{transform:rotate(360deg)}}@keyframes recorder-saving-fade-in{0%{opacity:0}to{opacity:1}}.recorder-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.recorder-header h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.recorder-close-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.recorder-close-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.recorder-close-btn svg{width:1.25rem;height:1.25rem}.recorder-error{background:var(--accent-primary-15);border:1px solid var(--accent-primary);color:var(--accent-secondary);padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;margin-bottom:1rem}.recorder-controls{display:flex;flex-direction:column;gap:1rem}.recorder-record-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem 2rem;min-height:4rem;background:var(--bg-elevated);border:2px solid var(--accent-primary);border-radius:var(--radius-md);color:var(--accent-primary);font-size:1rem;font-weight:600;font-family:var(--font-display);cursor:pointer;transition:all var(--transition-fast);width:100%}.recorder-record-btn:hover{background:var(--accent-primary-15);transform:translateY(-2px);box-shadow:0 4px 12px var(--accent-glow)}.recorder-record-btn svg{width:1.5rem;height:1.5rem}.recorder-record-btn.recording{background:var(--accent-primary);color:#fff;animation:pulse-record 1.5s ease-in-out infinite}.recorder-record-btn.recording:hover{background:var(--accent-secondary);box-shadow:0 4px 16px var(--accent-glow)}.recorder-record-btn.countdown{background:var(--accent-primary);color:#fff;pointer-events:none}.recorder-record-btn .countdown-number{font-size:2rem;font-weight:700;font-family:var(--font-mono);animation:countdown-pulse 1s ease-in-out}@keyframes countdown-pulse{0%{transform:scale(1.2);opacity:.7}50%{transform:scale(1);opacity:1}to{transform:scale(1);opacity:1}}.recorder-hint{text-align:center;font-size:.75rem;color:var(--text-secondary);font-family:var(--font-display);margin-top:-.5rem}.recorder-use-metronome{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.75rem;font-size:.875rem;color:var(--text-secondary);font-family:var(--font-display);cursor:pointer;user-select:none}.recorder-use-metronome input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--accent-primary);cursor:pointer}.recording-indicator{width:.75rem;height:.75rem;background:#fff;border-radius:50%;animation:pulse-dot 1s ease-in-out infinite}@keyframes pulse-record{0%,to{box-shadow:0 0 0 0 var(--accent-primary-70)}50%{box-shadow:0 0 0 8px #e5393500}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.recorder-timer{text-align:center;font-size:1.5rem;font-weight:600;font-family:var(--font-mono);color:var(--accent-primary);margin-top:.5rem;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.recorder-playback-controls{display:flex;align-items:center;gap:1rem;padding:.75rem;background:var(--bg-elevated);border-radius:var(--radius-sm)}.recorder-play-btn{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:50%;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.recorder-play-btn:hover{background:var(--bg-elevated);border-color:var(--accent-alt);color:var(--accent-alt);transform:scale(1.05)}.recorder-play-btn svg{width:1.5rem;height:1.5rem}.recorder-restart-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.recorder-restart-btn:hover{background:var(--bg-elevated);border-color:var(--accent-alt);color:var(--accent-alt)}.recorder-restart-btn svg{width:1rem;height:1rem}.recorder-rerecord-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--accent-primary);cursor:pointer;transition:all var(--transition-fast);margin-left:auto}.recorder-rerecord-btn:hover{background:var(--accent-primary-10);border-color:var(--accent-primary)}.recorder-rerecord-btn svg{width:1rem;height:1rem}.recorder-analyzing{text-align:center;padding:2rem;color:var(--text-secondary);font-size:.875rem;background:var(--bg-secondary);border-radius:var(--radius-sm)}.recorder-waveform-container{position:relative;width:100%;height:120px;background:var(--bg-tertiary);border-radius:var(--radius-sm);overflow:visible;cursor:pointer;border:1px solid var(--border-subtle);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:none;-webkit-tap-highlight-color:transparent;overscroll-behavior-x:none}.recorder-waveform-container.selecting-loop{cursor:crosshair;user-select:none;touch-action:none}.recorder-waveform-container.selecting-loop .recorder-waveform-canvas{pointer-events:none}.recorder-waveform-container.dragging-marker{cursor:ew-resize;touch-action:none}.recorder-waveform-container.dragging-marker .recorder-waveform-canvas{pointer-events:none}.recorder-waveform-container *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.recorder-waveform-container:focus{outline:none}.recorder-waveform-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;image-rendering:pixelated}.recorder-waveform-container .marker-handle:after{height:102px}.recorder-waveform-overlay{z-index:2;clip-path:inset(0 100% 0 0);will-change:clip-path}.recorder-trim-marker{position:absolute;top:0;bottom:0;width:3px;background:var(--color-loop);cursor:ew-resize;z-index:3;box-shadow:0 0 4px #ffc10780;transition:width var(--transition-fast)}.recorder-trim-marker:hover{width:4px;box-shadow:0 0 8px #ffc107cc}.recorder-trim-marker:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--color-loop)}.recorder-trim-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.75rem}.recorder-trim-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.875rem;font-weight:500;font-family:var(--font-display);cursor:pointer;transition:all var(--transition-fast)}.recorder-trim-btn svg{width:1rem;height:1rem;flex-shrink:0}.recorder-trim-btn span{white-space:nowrap}.recorder-trim-btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--color-loop);color:var(--color-loop)}.recorder-trim-btn:disabled{opacity:.5;cursor:not-allowed}.recorder-filename-editor{margin-top:.5rem}.recorder-filename-label{display:block;font-size:.85rem;color:var(--text-secondary);font-weight:500;font-family:var(--font-display);margin-bottom:.5rem}.recorder-filename-input{width:100%;padding:.75rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-display);font-size:.875rem;outline:none;transition:all var(--transition-fast)}.recorder-filename-input:focus{border-color:var(--accent-alt);box-shadow:0 0 0 2px var(--accent-alt-20)}.recorder-filename-input:disabled{opacity:.5;cursor:not-allowed}.recorder-actions{display:flex;gap:.75rem;margin-top:.5rem}.recorder-cancel-btn,.recorder-save-btn{flex:1;padding:.75rem 1.5rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;font-family:var(--font-display);cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--border-subtle)}.recorder-cancel-btn{background:var(--bg-elevated);color:var(--text-secondary)}.recorder-cancel-btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--text-secondary);color:var(--text-primary)}.recorder-save-btn{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.recorder-save-btn:hover:not(:disabled){background:var(--accent-secondary);border-color:var(--accent-secondary);transform:translateY(-1px);box-shadow:0 2px 8px var(--accent-glow)}.recorder-cancel-btn:disabled,.recorder-save-btn:disabled{opacity:.5;cursor:not-allowed}.vu-meter-row{display:grid;grid-template-columns:40px 1fr 55px;align-items:end;gap:.5rem;height:50px;padding-bottom:2px;margin-bottom:.5rem}.vu-meter-label{font-size:.65rem;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.08em;line-height:1;padding-bottom:1px}.vu-meter-track-wrapper{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end}.vu-meter-bounds{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;pointer-events:none;z-index:3}.vu-meter-bounds .bound-label{font-family:var(--font-mono);font-size:.6rem;color:var(--text-primary);line-height:1;opacity:.8}.vu-meter-graduations{position:absolute;bottom:20px;left:0;right:0;height:12px;pointer-events:none;z-index:var(--z-base)}.graduation-vu{position:absolute;width:1px;height:5px;background:var(--text-primary);opacity:.6;transform:translate(-50%);bottom:0}.graduation-vu.major{height:9px;opacity:.9;width:1.5px}.vu-meter-ideal-zone{position:absolute;bottom:0;height:12px;background:#4caf5026;border-radius:2px;pointer-events:none;z-index:0}.vu-meter-bar{position:relative;width:100%;height:16px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:3px;overflow:hidden;z-index:0}.vu-meter-fill{position:absolute;left:0;top:0;height:100%;background:linear-gradient(to right,var(--color-success-alt) 0%,var(--color-success-alt) 70%,var(--color-loop) 70%,var(--color-loop) 90%,var(--accent-primary) 90%,var(--accent-primary) 100%);transition:width .1s linear;border-radius:3px;box-shadow:0 0 8px #4caf504d}.vu-meter-value{font-family:var(--font-mono);font-size:.7rem;color:var(--text-primary);text-align:right;line-height:1}.vu-meter-messages{margin-top:.25rem;margin-bottom:.5rem}.vu-meter-warning{font-size:.75rem;color:var(--accent-secondary);font-weight:500;text-align:center;animation:pulse-warning 1s ease-in-out infinite}.vu-meter-error{font-size:.75rem;color:var(--accent-secondary);text-align:center;opacity:.8}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.recorder-backdrop{position:fixed;inset:0;background:#0009;backdrop-filter:blur(8px);z-index:var(--z-overlay);animation:backdropFadeIn var(--transition-medium) ease-out}.recorder-panel.expanded{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;max-width:1200px;z-index:101;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:0 25px 80px #00000080,0 0 60px var(--accent-primary-10);animation:recorderExpand var(--transition-medium) ease-out;overflow:hidden}@keyframes recorderExpand{0%{opacity:0;transform:translate(-50%,-50%) translateY(10px)}to{opacity:1;transform:translate(-50%,-50%) translateY(0)}}.recorder-panel.expanded .recorder-waveform-container{height:250px}.recorder-panel.expanded .recorder-waveform-container .marker-handle:after{height:232px}.recorder-panel.expanded .recorder-controls{margin-top:3rem}.metronome-tabs-header{display:flex;justify-content:space-between;align-items:flex-end;padding:0;margin-bottom:0;background:var(--bg-tertiary);border:none;border-top:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);border-top-right-radius:var(--radius-md);flex-shrink:0;position:relative;z-index:2}.metronome-tabs{display:flex;flex:1;min-width:0}.metronome-tab{display:flex;align-items:center;gap:.6rem;padding:.9rem 1.2rem;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-left:none;border-top:none;border-bottom:none;border-radius:0;color:var(--text-secondary);font-size:.875rem;font-weight:500;position:relative;z-index:var(--z-base);cursor:pointer;font-family:inherit;transition:color var(--transition-fast),background var(--transition-fast)}.metronome-tab:hover{color:var(--text-primary);background:var(--bg-elevated)}.metronome-tab.active{color:var(--text-primary);background:var(--bg-elevated);border-bottom:none;margin-bottom:-1px;z-index:3}.metronome-tab.playing .metronome-tab-pulse{display:block}.metronome-tab-pulse{display:none;width:.5rem;height:.5rem;border-radius:50%;background:var(--accent-primary);animation:metronome-pulse 1s ease-in-out infinite}@keyframes metronome-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}.metronome-tab svg{width:1rem;height:1rem;color:var(--accent-primary);flex-shrink:0}.metronome-tabs-expand{display:flex;align-items:center;justify-content:center;align-self:center;width:1.75rem;height:1.75rem;padding:0;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;margin-right:.5rem;margin-bottom:.25rem}.metronome-tabs-expand:hover{background:var(--bg-elevated);border-color:var(--border-active);color:var(--accent-primary)}.metronome-tabs-expand svg{width:.9rem;height:.9rem}.metronome-bpm-display{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1rem 1.25rem;flex:1;min-width:0;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--transition-fast)}.metronome-bpm-display.playing{border-color:var(--accent-primary-30);box-shadow:0 0 20px var(--accent-primary-8)}.metronome-bpm-main{display:flex;align-items:baseline;justify-content:center;gap:.4rem}.metronome-bpm-value{font-size:2.75rem;font-weight:700;font-family:var(--font-mono);color:var(--text-primary);line-height:1;letter-spacing:-.02em}.metronome-bpm-unit{font-size:1rem;font-weight:500;color:var(--text-secondary)}.metronome-bpm-display .metronome-beats{padding:0}.metronome-buttons-row{display:flex;flex-direction:column;gap:.5rem;align-items:stretch;justify-content:center;flex:1;min-width:8rem;padding:.25rem 0}.metronome-tap-actions{display:flex;gap:.5rem}.metronome-buttons-row .metronome-play-btn{width:100%;min-width:8rem;min-height:3.25rem;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:600}.metronome-buttons-row .metronome-play-btn:not(.recording){background:transparent;border:2px solid var(--accent-primary);color:var(--accent-primary)}.metronome-buttons-row .metronome-play-btn:not(.recording):hover{background:var(--accent-primary-12)}.metronome-buttons-row .metronome-play-btn svg{width:1.25rem;height:1.25rem}.metronome-play-btn .metronome-countdown{font-size:1.5em;font-weight:700;min-width:1.5ch}.metronome-buttons-row .metronome-tap-btn{width:100%;min-height:2.75rem;border-radius:var(--radius-md);font-weight:500}.metronome-tap-actions .metronome-tap-btn{flex:1}.metronome-save-btn{width:2.75rem;height:2.75rem;border-radius:var(--radius-md);background:var(--bg-tertiary);border:1px solid var(--border-subtle);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);padding:0}.metronome-save-btn svg{width:1.1rem;height:1.1rem}.metronome-save-btn:hover{background:var(--bg-elevated);border-color:var(--accent-primary);color:var(--accent-primary)}.metronome-save-btn:disabled{opacity:.5;cursor:not-allowed}.metronome-autoscroll-content{display:flex;flex-direction:column;gap:.5rem;padding:.6rem .9rem;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.metronome-autoscroll-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;min-width:0}.metronome-autoscroll-label{font-size:.8rem;color:var(--text-secondary);flex-shrink:0}.metronome-autoscroll-value{font-size:.875rem;color:var(--text-primary);font-family:var(--font-mono);text-align:right}.metronome-autoscroll-value-with-icon{display:flex;align-items:center;gap:.4rem;justify-content:flex-end}.metronome-autoscroll-mode-icon{display:flex;align-items:center;justify-content:center;width:1.125rem;height:1.125rem;color:var(--accent-primary);flex-shrink:0}.metronome-autoscroll-mode-icon svg{width:.9rem;height:.9rem}.metronome-presets-section{display:grid;gap:.5rem;margin-top:.5rem}.metronome-presets-section.empty{display:none}.recorder-panel.metronome-panel>*:last-child{margin-bottom:0}.recorder-panel.metronome-panel{padding-bottom:.5rem}.metronome-preset-error{padding:.5rem .6rem;border-radius:var(--radius-sm);background:var(--accent-primary-15);color:var(--accent-secondary);font-size:.75rem}.metronome-presets-group{display:grid;gap:.5rem}.metronome-presets-header{display:flex;justify-content:space-between;align-items:center;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary)}.metronome-presets-loading{font-size:.7rem;color:var(--text-secondary)}.metronome-presets-empty{padding:.35rem 0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:.75rem;font-style:italic;opacity:.7}.metronome-presets-list{display:grid;gap:0}.metronome-preset-row{display:flex;justify-content:space-between;gap:.5rem;padding:.45rem .5rem;border-radius:var(--radius-sm);background:transparent;border:1px solid transparent;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.metronome-preset-row:hover{background:var(--white-03)}.metronome-preset-meta{display:flex;align-items:center}.metronome-preset-summary{font-size:.75rem;color:var(--text-primary);font-family:var(--font-mono);white-space:nowrap}.metronome-preset-actions{display:flex;align-items:center;gap:.25rem;justify-content:flex-end}.metronome-preset-action-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast)}.metronome-preset-action-btn svg{width:14px;height:14px}.metronome-preset-action-btn.apply:hover,.metronome-preset-action-btn.share:hover{color:var(--accent-alt)}.metronome-preset-action-btn.unshare:hover,.metronome-preset-action-btn.delete:hover{color:var(--accent-primary)}.metronome-options-section{padding-top:.75rem;margin-top:.5rem;border-top:1px solid var(--border-subtle)}.metronome-options-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem 1rem}.metronome-options-row .metronome-select-row{display:flex;align-items:center;gap:.5rem;min-width:0}.metronome-options-row .metronome-select-label{min-width:3.5rem;font-size:.8rem}.metronome-options-row .metronome-select{flex:1;min-width:0}.metronome-panel .metronome-controls{gap:1rem;padding:0 0 .5rem}.metronome-top-row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:1rem}.metronome-bpm-row{margin-top:.25rem;grid-template-columns:1fr;justify-items:center;--metronome-slider-inset: 10px}.metronome-bpm-row .slider-track-wrapper{overflow:visible;width:100%;max-width:420px;margin:0 auto}.metronome-bpm-row .slider-graduations-compact{overflow:visible;padding-left:var(--metronome-slider-inset);padding-right:var(--metronome-slider-inset)}.metronome-bpm-row .slider-compact{width:calc(100% - (var(--metronome-slider-inset) * 2));margin:0 var(--metronome-slider-inset);-webkit-tap-highlight-color:transparent;user-select:none}.metronome-bpm-bounds-hidden{display:none}.metronome-volume-row{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.metronome-volume-row .metronome-volume-label{min-width:3.5rem;font-size:.8rem}.metronome-volume-row .metronome-volume-track{flex:1;display:flex;align-items:center;gap:.5rem;min-width:0}.metronome-volume-row .metronome-volume-track .slider-compact{flex:1;min-width:0}.metronome-volume-value{font-size:.8rem;font-family:var(--font-mono);color:var(--text-secondary);min-width:2.5rem;text-align:right}.metronome-bpm-graduations{height:20px;overflow:visible}.metronome-graduation-mark{position:absolute;display:flex;flex-direction:column;align-items:center;transform:translate(-50%);bottom:0;pointer-events:none}.metronome-graduation-value{font-size:.65rem;font-family:var(--font-mono);color:var(--text-muted);margin-bottom:2px;line-height:1}.metronome-graduation-mark.major .metronome-graduation-value{font-size:.7rem;color:var(--text-secondary);font-weight:500}.metronome-graduation-mark .graduation-compact{position:relative;bottom:auto;opacity:.5}.metronome-graduation-mark .graduation-compact.intermediate{height:7px;opacity:.65}.metronome-graduation-mark .graduation-compact.major{opacity:1;width:1.5px;background:var(--text-primary);transform:translate(-50%) translateZ(0);backface-visibility:hidden}.metronome-tap-btn{padding:.5rem 1rem;font-size:.9rem;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);width:100%}.metronome-tap-btn:hover{background:var(--bg-elevated);border-color:var(--accent-alt);color:var(--accent-alt)}.metronome-select-row{display:flex;align-items:center;gap:.75rem}.metronome-select-label{font-size:.85rem;color:var(--text-secondary);min-width:5rem}.metronome-select{flex:1;padding:.5rem .75rem;font-size:.875rem;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer}.metronome-select:focus{outline:none;border-color:var(--accent-alt)}.metronome-beats{display:flex;justify-content:center;align-items:center;gap:.6rem;padding:.75rem 0 .25rem}.metronome-beat-dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--white-25);border:1px solid var(--white-35);transition:all var(--transition-fast)}.metronome-beat-dot.active{background:var(--accent-primary);border-color:var(--accent-primary);transform:scale(1.35);box-shadow:0 0 8px var(--accent-glow)}.metronome-panel.expanded{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:420px;z-index:101;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:0 25px 80px #00000080,0 0 60px var(--accent-primary-10);animation:recorderExpand var(--transition-medium) ease-out;overflow:hidden}.metronome-panel.expanded .metronome-bpm-value{font-size:3.5rem}.metronome-panel.expanded .metronome-bpm-display{padding:1.25rem 1.5rem}.metronome-panel.expanded .metronome-options-row{grid-template-columns:repeat(2,1fr)}.metronome-close-btn{position:absolute;top:1rem;right:1rem;z-index:102;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.metronome-close-btn:hover{background:var(--bg-elevated);border-color:var(--border-active);color:var(--text-primary)}.metronome-close-btn svg{width:1rem;height:1rem}.metronome-bottom-section{flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-secondary);border-top:1px solid var(--border-subtle);max-height:60vh;overflow:hidden;transition:max-height var(--transition-medium)}.metronome-bottom-section.collapsed{max-height:48px}.metronome-collapse-toggle{display:flex;align-items:center;justify-content:center;position:relative;padding:.75rem 1rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);width:100%;text-align:center;font-family:var(--font-display);font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.metronome-collapse-toggle:hover{background:var(--white-03);color:var(--text-primary)}.metronome-collapse-toggle svg:first-child{width:1rem;height:1rem;flex-shrink:0}.metronome-collapse-toggle span{flex:1}.metronome-chevron{width:1rem;height:1rem;position:absolute;right:1rem;transition:transform var(--transition-fast);transform:rotate(0)}.metronome-bottom-section.collapsed .metronome-chevron{transform:rotate(180deg)}.metronome-bottom-content{flex:1;overflow-y:hidden;overflow-x:hidden;min-height:0}.metronome-bottom-content.scrollable{overflow-y:auto}.metronome-bottom-content .metronome-panel{border:none;border-radius:0;background:transparent;box-shadow:none}.metronome-bottom-content .metronome-tabs-header{display:none}.recorder-close-button{position:absolute;top:1rem;right:1rem;z-index:102;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.recorder-close-button:hover{background:var(--bg-elevated);border-color:var(--border-active);color:var(--text-primary)}.recorder-close-button svg{width:1rem;height:1rem}.expanded-recorder-header{position:absolute;top:1rem;left:1.5rem;right:3.5rem;z-index:101;display:flex;flex-direction:column;gap:.25rem;pointer-events:none;max-width:calc(100% - 5rem)}.expanded-recorder-folder{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.expanded-recorder-folder-icon{width:.875rem;height:.875rem;flex-shrink:0;opacity:.7}.expanded-recorder-tune{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);line-height:1.2}.recorder-trim-btn.restart{border-color:var(--accent-primary);color:var(--accent-primary)}.recorder-trim-btn.restart:hover:not(:disabled){background:var(--accent-primary-10);border-color:var(--accent-secondary);color:var(--accent-secondary)}.recorder-trim-btn.restart svg{fill:currentColor}.recorder-buttons-row{display:flex;gap:.75rem;width:100%}.recorder-buttons-row .recorder-record-btn{flex:1}.recorder-mic-toggle{display:flex;align-items:center;justify-content:center;width:4rem;min-width:4rem;height:4rem;padding:0;background:var(--bg-elevated);border:2px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.recorder-mic-toggle:hover{background:var(--bg-tertiary);border-color:var(--text-muted);color:var(--text-primary)}.recorder-mic-toggle.active{border-color:var(--accent-alt);color:var(--accent-alt)}.recorder-mic-toggle.active:hover{background:var(--accent-alt-10)}.recorder-mic-toggle svg{width:1.5rem;height:1.5rem}.landing-page{min-height:100vh;position:relative;display:flex;flex-direction:column}.landing-login-btn{padding:.625rem 1.25rem;background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:#333;font-size:.9rem;font-weight:500;font-family:var(--font-display);cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;margin-top:2rem}.landing-login-btn:hover:not(:disabled){background:#f5f5f5;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.landing-login-btn:disabled{opacity:.6;cursor:not-allowed}.landing-login-btn svg{flex-shrink:0}.landing-content{position:relative;z-index:var(--z-base);flex:1;display:flex;flex-direction:column}.landing-hero{text-align:center;padding:6rem 2rem 4rem;max-width:800px;margin:0 auto;width:100%}.landing-logo{margin-bottom:2rem;display:flex;justify-content:center}.landing-logo-img{width:120px;height:120px;filter:drop-shadow(0 4px 20px var(--accent-primary-30))}.landing-title{font-size:3.5rem;font-weight:700;color:#ffffffd9;margin:0 0 1rem}.landing-subtitle{font-size:1.5rem;color:var(--text-secondary);margin:0 0 3rem;font-weight:400}.landing-description-section{padding:4rem 2rem;max-width:900px;margin:0 auto;width:100%}.landing-description-content{background:linear-gradient(135deg,#12121a99,#0a0a0f99);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:2.5rem}.landing-description-content p{font-size:1.125rem;color:var(--text-secondary);line-height:1.8;margin:0;text-align:center}.landing-cta{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);border:none;border-radius:var(--radius-md);padding:1rem 3rem;font-size:1.25rem;font-weight:600;color:#fff;cursor:pointer;transition:all var(--transition-medium);box-shadow:0 4px 20px var(--accent-primary-40);font-family:var(--font-display)}.landing-cta:hover{transform:translateY(-2px);box-shadow:0 6px 30px #e5393580}.landing-cta:active{transform:translateY(0)}.landing-features{padding:4rem 2rem;max-width:1200px;margin:0 auto;width:100%}.landing-section-title{font-size:2.5rem;font-weight:600;color:var(--text-primary);text-align:center;margin:0 0 3rem}.landing-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.landing-free{padding:4rem 2rem;text-align:center;max-width:800px;margin:0 auto;width:100%}.landing-free-text{font-size:1.25rem;color:var(--text-secondary);margin:0}.landing-footer{margin-top:auto;padding:3rem 2rem 2rem;border-top:1px solid var(--border-subtle)}.landing-footer-content{max-width:1200px;margin:0 auto;text-align:center}.landing-footer-language{margin-bottom:1.5rem}.landing-footer-lang-link{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-secondary);text-decoration:none;font-size:.9rem;transition:all var(--transition-fast)}.landing-footer-lang-link:hover{background:var(--bg-tertiary);border-color:var(--accent-primary);color:var(--text-primary)}.landing-footer-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.landing-footer-link{color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast);font-size:.9rem}.landing-footer-link:hover{color:var(--text-primary);text-decoration:underline}.landing-footer-separator{color:var(--text-muted);margin:0 .5rem}.landing-footer-copyright{color:var(--text-muted);font-size:.85rem;margin:0}.landing-tagline{font-size:1.15rem;color:var(--text-secondary);margin:0 auto 1.5rem;max-width:600px;line-height:1.6;opacity:.9}.landing-description{font-size:1rem;color:var(--text-primary);margin:0 0 2.5rem;max-width:700px;line-height:1.7;padding:1.5rem;background:#12121a66;border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.landing-free-badge-inline{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;margin:0 0 2rem;background:linear-gradient(135deg,#4caf5026,#8bc34a1a);border:1px solid rgba(76,175,80,.3);border-radius:var(--radius-full);font-size:.9rem}.landing-free-badge-inline .free-badge-icon{font-size:1rem;color:var(--color-success-alt)}.landing-free-badge-inline .free-badge-text{font-weight:600;color:var(--text-primary)}.landing-screenshot-section{padding:2rem 2rem 4rem;max-width:1100px;margin:0 auto}.landing-screenshot-container{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 4px 6px #0000001a,0 10px 40px #0000004d,0 0 0 1px var(--white-5);background:var(--bg-secondary)}.landing-screenshot{width:100%;height:auto;display:block}.landing-screenshot-placeholder{display:flex;align-items:center;justify-content:center;min-height:400px;background:linear-gradient(135deg,#12121acc,#0a0a0fcc);border:2px dashed var(--border-subtle);border-radius:var(--radius-lg)}.screenshot-placeholder-content{text-align:center;color:var(--text-muted);padding:2rem}.screenshot-placeholder-icon{width:64px;height:64px;margin-bottom:1rem;opacity:.5}.screenshot-placeholder-content p{font-size:.9rem;margin:0;max-width:300px}.landing-free-badge{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 2rem;margin:0 auto 2rem;background:linear-gradient(135deg,#4caf5026,#8bc34a1a);border:1px solid rgba(76,175,80,.3);border-radius:var(--radius-full);max-width:fit-content}.free-badge-icon{font-size:1.25rem;color:var(--color-success-alt)}.free-badge-text{font-size:1rem;font-weight:600;color:var(--text-primary)}.feature-illustration{width:100%;height:140px;border-radius:var(--radius-md) var(--radius-md) 0 0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--border-subtle)}.feature-illustration-svg{width:100%;max-width:200px;height:auto;color:var(--text-secondary)}.landing-feature-content{padding:1.5rem}.landing-feature-card h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.landing-feature-card p{color:var(--text-secondary);margin:0;line-height:1.6;font-size:.95rem}.landing-cta-section{text-align:center;padding:4rem 2rem;margin:2rem auto;max-width:700px;background:linear-gradient(135deg,var(--accent-primary-10) 0%,rgba(255,138,101,.05) 100%);border:1px solid var(--accent-primary-20);border-radius:var(--radius-lg)}.landing-cta-title{font-size:2rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.landing-cta-text{font-size:1.15rem;color:var(--text-secondary);margin:0 0 2rem;line-height:1.6}.landing-feature-card{background:linear-gradient(135deg,#12121acc,#0a0a0fcc);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.landing-feature-icon{display:none}@media (max-width: 768px){.landing-tagline{font-size:1rem;padding:0 1rem}.landing-free-badge{padding:.75rem 1.5rem;font-size:.9rem}.landing-free-badge-inline{padding:.4rem .8rem;font-size:.8rem}.landing-screenshot-section{padding:1rem 1rem 2rem}.landing-screenshot-placeholder{min-height:250px}.screenshot-placeholder-icon{width:48px;height:48px}.feature-illustration{height:120px}.landing-cta-section{padding:3rem 1.5rem;margin:1rem}.landing-cta-title{font-size:1.5rem}.landing-cta-text{font-size:1rem}}.legal-page{min-height:100vh;position:relative;display:flex;flex-direction:column}.legal-content{position:relative;z-index:var(--z-base);flex:1;max-width:900px;margin:0 auto;width:100%;padding:2rem}.legal-header{margin-bottom:3rem}.legal-back-link{display:inline-block;color:var(--text-secondary);text-decoration:none;margin-bottom:1.5rem;transition:color var(--transition-fast);font-size:1.1rem}.legal-back-link:hover{color:var(--text-primary)}.legal-title{font-size:2.5rem;font-weight:600;color:var(--text-primary);margin:0}.legal-main{background:linear-gradient(135deg,#12121a99,#0a0a0f99);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:2.5rem;margin-bottom:3rem}.legal-text{color:var(--text-primary);line-height:1.8;font-size:1rem}.legal-text h2{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin:2rem 0 1rem}.legal-text h2:first-child{margin-top:0}.legal-text h3{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:1.5rem 0 .75rem}.legal-text p{margin:0 0 1rem}.legal-text ul{margin:0 0 1rem;padding-left:2rem}.legal-text li{margin-bottom:.5rem}.legal-text a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}.legal-text a:hover{color:var(--accent-secondary);text-decoration:underline}.legal-text strong{color:var(--text-primary);font-weight:600}.cookie-consent-overlay{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-top);padding:1.5rem;pointer-events:none}.cookie-consent-banner{background:linear-gradient(135deg,#12121afa,#0a0a0ffa);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1.5rem;max-width:600px;margin:0 auto;box-shadow:0 -4px 30px #00000080;backdrop-filter:blur(10px);pointer-events:all}.cookie-consent-content{margin-bottom:1.5rem}.cookie-consent-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.cookie-consent-text{color:var(--text-secondary);margin:0;line-height:1.6;font-size:.95rem}.cookie-consent-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.cookie-consent-btn{padding:.75rem 1.5rem;border-radius:var(--radius-sm);font-size:.95rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);border:1px solid;font-family:var(--font-display)}.cookie-consent-btn-primary{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);border-color:var(--accent-primary);color:#fff}.cookie-consent-btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 15px var(--accent-primary-40)}.cookie-consent-btn-secondary{background:var(--bg-elevated);border-color:var(--border-subtle);color:var(--text-secondary)}.cookie-consent-btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--text-muted);color:var(--text-primary)}.cookie-consent-option{margin-bottom:1.5rem}.cookie-consent-option-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.cookie-consent-option-header h4{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.cookie-consent-option-header p{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.5}.cookie-consent-toggle{position:relative;display:inline-block;width:48px;height:24px;flex-shrink:0}.cookie-consent-toggle input{opacity:0;width:0;height:0}.cookie-consent-toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--bg-elevated);border:1px solid var(--border-subtle);transition:var(--transition-fast);border-radius:24px}.cookie-consent-toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background-color:var(--text-muted);transition:var(--transition-fast);border-radius:50%}.cookie-consent-toggle input:checked+.cookie-consent-toggle-slider{background-color:var(--accent-primary);border-color:var(--accent-primary)}.cookie-consent-toggle input:checked+.cookie-consent-toggle-slider:before{transform:translate(24px);background-color:#fff}.cookie-consent-toggle:hover .cookie-consent-toggle-slider{border-color:var(--text-secondary)}@media (max-width: 768px){.landing-hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem;box-sizing:border-box}@supports (min-height: 100dvh){.landing-hero{min-height:100dvh}}.landing-logo{margin-bottom:.75rem}.landing-logo-img{width:64px;height:64px}.landing-title{font-size:2.5rem;margin:0 0 .5rem}.landing-subtitle{font-size:1.3rem;margin:0 0 1rem}.landing-description{font-size:1rem;padding:1rem;margin:0 0 1rem;line-height:1.6}.landing-login-btn,.landing-cta{margin-top:.75rem}.landing-features-grid{grid-template-columns:1fr}.legal-content{padding:1.5rem}.legal-title{font-size:2rem}.cookie-consent-actions{flex-direction:column}.cookie-consent-btn{width:100%}}@media (max-width: 480px){.landing-hero{padding:1.5rem 1rem}.landing-logo-img{width:52px;height:52px}.landing-title{font-size:2rem}.landing-subtitle{font-size:1.15rem;margin:0 0 .75rem}.landing-description{font-size:.9375rem;padding:.75rem;margin:0 0 .75rem}.landing-login-btn,.landing-cta{margin-top:.75rem;font-size:.9rem}}@media (max-height: 600px) and (max-width: 768px){.landing-hero{padding:1rem}.landing-logo{margin-bottom:.5rem}.landing-logo-img{width:40px;height:40px}.landing-title{font-size:1.75rem;margin:0 0 .25rem}.landing-subtitle{font-size:1rem;margin:0 0 .5rem}.landing-description{font-size:.875rem;padding:.5rem .75rem;margin:0 0 .5rem;line-height:1.5}.landing-login-btn,.landing-cta{margin-top:.5rem;padding:.5rem 1rem}}.resource-not-accessible,.resource-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.resource-not-accessible-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:3rem 2rem;max-width:400px;width:100%;text-align:center}.resource-not-accessible-icon{width:64px;height:64px;margin:0 auto 1.5rem;color:var(--accent-primary)}.resource-not-accessible-icon svg{width:100%;height:100%}.resource-not-accessible-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.resource-not-accessible-message{font-size:1rem;color:var(--text-secondary);line-height:1.6;margin:0 0 2rem}.resource-not-accessible-btn{background:var(--accent-primary);color:#fff;border:none;border-radius:var(--radius-sm);padding:.75rem 1.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.resource-not-accessible-btn:hover{background:var(--accent-secondary);transform:translateY(-1px);box-shadow:0 4px 12px var(--accent-glow)}.resource-loading{flex-direction:column;gap:1rem;color:var(--text-secondary)}.resource-loading-spinner{width:40px;height:40px;border:3px solid var(--bg-elevated);border-top-color:var(--accent-primary);border-radius:50%;animation:resource-spin 1s linear infinite}@keyframes resource-spin{to{transform:rotate(360deg)}}.error-toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:var(--z-top);animation:error-toast-slide-up .3s ease-out}@keyframes error-toast-slide-up{0%{opacity:0;transform:translate(-50%) translateY(1rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}.error-toast-content{display:flex;align-items:center;gap:.75rem;background:var(--bg-elevated);border:1px solid var(--accent-primary);border-radius:var(--radius-md);padding:.875rem 1rem;box-shadow:0 4px 20px #0000004d;max-width:calc(100vw - 2rem)}.error-toast-icon{width:1.25rem;height:1.25rem;flex-shrink:0;color:var(--accent-primary)}.error-toast-message{font-size:.875rem;color:var(--text-primary);line-height:1.4}.error-toast-dismiss{background:none;border:none;padding:.25rem;cursor:pointer;color:var(--text-secondary);flex-shrink:0;transition:color var(--transition-fast)}.error-toast-dismiss:hover{color:var(--text-primary)}.error-toast-dismiss svg{width:1rem;height:1rem}.error-boundary-fallback{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:var(--bg-primary);color:var(--text-primary);text-align:center}.error-boundary-message{margin:0 0 1.5rem;font-size:1rem;max-width:480px}.error-boundary-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.error-boundary-dismiss,.error-boundary-reload{padding:.5rem 1.25rem;border-radius:var(--radius-sm);font-size:.9rem;cursor:pointer;font-family:var(--font-display)}.error-boundary-dismiss{background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary)}.error-boundary-reload{background:var(--accent-primary);border:1px solid var(--accent-primary);color:#fff}.error-boundary-reload:hover{background:#c62828;border-color:#c62828}.error-report-modal{padding:0 0 .5rem}.error-report-description{margin:0 0 1rem;color:var(--text-primary);font-size:.95rem;line-height:1.5}.error-report-label{display:block;margin:0 0 .25rem;font-size:.85rem;color:var(--text-secondary)}.error-report-textarea{width:100%;min-height:4rem;padding:.5rem .75rem;margin:0 0 1rem;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-primary);font-size:.9rem;font-family:inherit;resize:vertical}.error-report-preview{margin:0 0 1rem}.error-report-preview-body{display:block;width:100%;max-height:12rem;overflow:auto;margin:.25rem 0 0;padding:.75rem;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-primary);color:var(--text-secondary);font-size:.8rem;font-family:var(--font-mono);line-height:1.4;white-space:pre-wrap;word-break:break-all}.error-report-fail{margin:0 0 .75rem;font-size:.85rem;color:var(--accent-primary)}.error-report-success{margin:0 0 .75rem;font-size:.85rem;color:var(--text-secondary)}.error-report-actions{display:flex;gap:.75rem;justify-content:flex-end;flex-wrap:wrap}.error-report-btn{padding:.5rem 1.25rem;border-radius:var(--radius-sm);font-size:.9rem;cursor:pointer;font-family:var(--font-display)}.error-report-btn.dismiss{background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary)}.error-report-btn.primary{background:var(--accent-primary);border:1px solid var(--accent-primary);color:#fff}.error-report-btn.primary:hover:not(:disabled){background:#c62828;border-color:#c62828}.error-report-btn:disabled{opacity:.7;cursor:not-allowed}.welcome-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;position:relative;z-index:var(--z-base)}.welcome-card{background:linear-gradient(135deg,#12121af2,#0a0a0ff2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:2.5rem;width:100%;max-width:480px;box-shadow:0 25px 50px -12px #00000080}.welcome-header{text-align:center;margin-bottom:2rem}.welcome-logo{width:80px;height:80px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center}.welcome-logo-img{width:80px;height:80px;border-radius:16px;box-shadow:0 8px 24px var(--accent-primary-30)}.welcome-title{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.welcome-subtitle{font-size:1rem;color:var(--text-secondary)}.welcome-body{display:flex;flex-direction:column;gap:1.5rem}.welcome-section{display:flex;flex-direction:column;gap:.75rem}.welcome-section-title{font-size:1rem;font-weight:500;color:var(--text-primary)}.welcome-section-hint{font-size:.875rem;color:var(--text-secondary)}.welcome-language-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.welcome-language-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .75rem;background:var(--bg-elevated);border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);position:relative}.welcome-language-btn:hover{background:var(--bg-tertiary);border-color:var(--border-subtle)}.welcome-language-btn.selected{background:var(--accent-primary-10);border-color:var(--accent-primary)}.welcome-language-btn:disabled{opacity:.6;cursor:not-allowed}.welcome-flag{width:32px;height:22px;border-radius:3px;box-shadow:0 1px 3px #0000004d;flex-shrink:0}.welcome-language-label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.welcome-language-check{position:absolute;top:.5rem;right:.5rem;width:1rem;height:1rem;color:var(--accent-primary)}.welcome-error{padding:.75rem 1rem;background:var(--accent-primary-10);border:1px solid var(--accent-primary-30);border-radius:var(--radius-sm);color:var(--accent-primary);font-size:.875rem}.welcome-start-btn{width:100%;padding:1rem 1.5rem;background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);border:none;border-radius:var(--radius-md);color:#fff;font-family:var(--font-display);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);box-shadow:0 4px 12px var(--accent-primary-30)}.welcome-start-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px var(--accent-primary-40)}.welcome-start-btn:active:not(:disabled){transform:translateY(0)}.welcome-start-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 480px){.welcome-card{padding:1.5rem}.welcome-logo{width:64px;height:64px}.welcome-logo-img{width:64px;height:64px;border-radius:12px}.welcome-title{font-size:1.5rem}.welcome-language-grid{grid-template-columns:1fr;gap:.5rem}.welcome-language-btn{flex-direction:row;justify-content:flex-start;gap:.75rem;padding:.875rem 1rem}.welcome-language-check{top:50%;right:.75rem;transform:translateY(-50%)}}.global-search{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:3rem 2rem;min-height:400px}.global-search-container{width:100%;max-width:600px;display:flex;flex-direction:column;gap:1rem;position:relative}.global-search-input-wrapper{position:relative;display:flex;align-items:center;background:var(--bg-elevated);border:2px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--transition-fast);box-shadow:0 4px 24px #0003}.global-search-input-wrapper:focus-within{border-color:var(--accent-primary);box-shadow:0 4px 32px var(--accent-primary-20),0 0 0 4px var(--accent-glow)}.global-search-icon{position:absolute;left:1.25rem;width:24px;height:24px;color:var(--text-secondary);pointer-events:none;transition:color var(--transition-fast)}.global-search-input-wrapper:focus-within .global-search-icon{color:var(--accent-primary)}.global-search-input{flex:1;padding:1.25rem 3.5rem;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:1.125rem;font-family:var(--font-display);font-weight:500}.global-search-input::placeholder{color:var(--text-muted)}.global-search-clear{position:absolute;right:1rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.global-search-clear:hover{background:var(--bg-tertiary);color:var(--text-primary)}.global-search-clear svg{width:18px;height:18px}.global-search-results{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;z-index:var(--z-panel);max-height:500px;overflow-y:auto;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 8px 32px #0000004d;animation:slideDown var(--transition-fast)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.search-results-group{padding:.5rem 0;border-bottom:1px solid var(--border-subtle)}.search-results-group:last-child{border-bottom:none}.search-results-group-title{padding:.75rem 1.25rem .5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.search-result-item{display:flex;align-items:center;gap:1rem;width:100%;padding:.875rem 1.25rem;background:transparent;border:none;text-align:left;cursor:pointer;transition:all var(--transition-fast);border-left:3px solid transparent}.search-result-item:hover,.search-result-item.selected{background:var(--bg-tertiary);border-left-color:var(--accent-primary)}.search-result-item.selected{background:var(--accent-primary-10)}.search-result-icon{width:24px;height:24px;flex-shrink:0;color:var(--text-secondary);transition:color var(--transition-fast)}.search-result-item:hover .search-result-icon,.search-result-item.selected .search-result-icon{color:var(--accent-primary)}.search-result-band-picture{border-radius:50%;object-fit:cover}.search-result-content{flex:1;min-width:0}.search-result-name{font-size:.95rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.25rem}.search-result-meta{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-parent{color:var(--text-muted)}.search-highlight{background:var(--accent-glow);color:var(--accent-secondary);padding:0 2px;border-radius:3px;font-weight:600}.search-no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.search-no-results-icon{width:48px;height:48px;color:var(--text-muted);margin-bottom:1rem;opacity:.5}.search-no-results-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.search-no-results-subtitle{font-size:.9rem;color:var(--text-secondary)}.global-search-history{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;z-index:var(--z-panel);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 4px 16px #0003;padding:.5rem 0;animation:slideDown var(--transition-fast)}.search-history-title{padding:.75rem 1.25rem .5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.search-history-item-wrapper{position:relative;display:flex;align-items:center;transition:all var(--transition-fast)}.search-history-item-wrapper:hover{background:var(--bg-tertiary)}.search-history-item{display:flex;align-items:center;gap:.875rem;flex:1;padding:.75rem 1.25rem;background:transparent;border:none;text-align:left;cursor:pointer;transition:all var(--transition-fast)}.search-history-icon{width:18px;height:18px;color:var(--text-muted);flex-shrink:0}.search-history-query{flex:1;font-size:.9rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-history-remove{position:absolute;right:.75rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-muted);cursor:pointer;opacity:0;transition:all var(--transition-fast);pointer-events:none}.search-history-item-wrapper:hover .search-history-remove{opacity:1;pointer-events:auto}.search-history-remove:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.search-history-remove svg{width:14px;height:14px}.global-search-hints{display:flex;align-items:center;justify-content:center;gap:2rem;padding:1.5rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 2px 12px #00000026}.search-hint{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.search-hint kbd{min-width:28px;padding:.25rem .5rem;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:6px;font-family:var(--font-mono);font-size:.75rem;font-weight:600;color:var(--text-primary);text-align:center;box-shadow:0 2px 4px #0000001a}@media (max-width: 768px){.global-search{padding:2rem 1rem}.global-search-input{font-size:1rem;padding:1rem 3rem}.global-search-results{max-height:400px}.global-search-hints{flex-direction:column;gap:.75rem}}.search-page{display:flex;flex-direction:column;height:100%;background:var(--bg-primary);overflow:hidden}.search-page-header{padding:3rem 3rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.search-page-icon{width:64px;height:64px;flex-shrink:0}.search-page-band-picture{width:64px;height:64px;border-radius:50%;object-fit:cover;box-shadow:0 4px 12px #0000004d}.search-page-title{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:0;letter-spacing:-.02em}.search-page-subtitle{font-size:1.125rem;color:var(--text-secondary);font-weight:400;margin-top:.75rem}.search-page-content{flex:1;overflow-y:auto;padding:2rem 3rem;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.search-page .global-search{width:100%;max-width:800px;padding:0;min-height:0}.global-search-overlay{position:fixed;inset:0;background:#000000d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:var(--z-top);display:flex;align-items:flex-start;justify-content:center;padding:5vh 1rem 1rem;overflow-y:auto;animation:overlayFadeIn var(--transition-fast)}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.global-search-overlay-content{position:relative;width:100%;max-width:700px;animation:overlaySlideUp var(--transition-medium)}@keyframes overlaySlideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.global-search-overlay-close{position:absolute;top:-3rem;right:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.global-search-overlay-close:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--accent-primary)}.global-search-overlay-close svg{width:20px;height:20px}.global-search-overlay .global-search{padding:0;min-height:0}.global-search-overlay-hint{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;font-size:.875rem;color:var(--text-secondary)}.global-search-overlay-hint kbd{min-width:32px;padding:.375rem .625rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px;font-family:var(--font-mono);font-size:.75rem;font-weight:600;color:var(--text-primary);text-align:center;box-shadow:0 2px 4px #0003}@media (max-width: 768px){.search-page-header{padding:2rem 1.5rem 1.5rem}.search-page-title{font-size:1.875rem}.search-page-subtitle{font-size:1rem}.search-page-content{padding:1.5rem 1rem}.global-search-overlay{padding:3vh .75rem .75rem}.global-search-overlay-close{top:-2.5rem;width:36px;height:36px}}.import-tune-modal .modal-body{display:flex;flex-direction:column;gap:1rem}.import-tune-modal-description{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0}.import-tune-modal-hint{color:var(--text-muted);font-size:.8rem;margin-top:.25rem}.import-tune-modal-forced-hint{color:var(--accent-alt);font-size:.8rem;margin-top:.5rem;font-style:italic}.import-tune-mode-options{display:flex;flex-direction:column;gap:.5rem}.import-tune-mode-option{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:var(--radius-sm);border:1px solid var(--bg-elevated);background:var(--bg-secondary);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.import-tune-mode-option:hover{border-color:var(--text-muted)}.import-tune-mode-option--active{border-color:var(--accent-primary);background:#e539350f}.import-tune-mode-option--disabled{opacity:.5;cursor:not-allowed}.import-tune-mode-option--disabled:hover{border-color:var(--bg-elevated)}.import-tune-mode-radio{margin-top:.25rem;accent-color:var(--accent-primary)}.import-tune-mode-icon{flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:.1rem;color:var(--text-secondary)}.import-tune-mode-option--active .import-tune-mode-icon{color:var(--accent-primary)}.import-tune-mode-text{display:flex;flex-direction:column;gap:.2rem;flex:1;min-width:0}.import-tune-mode-title{font-size:.875rem;font-weight:600;color:var(--text-primary)}.import-tune-mode-desc{font-size:.8rem;color:var(--text-secondary);line-height:1.4}@supports (min-height: 100dvh){.studio-home,.collection-page,.login-container,.landing-page,.legal-page,.resource-not-accessible,.resource-loading,.welcome-container{min-height:100dvh}}.band-admin-page{display:flex;flex-direction:column;min-height:100vh;position:relative;z-index:var(--z-base)}.band-admin-loading,.band-admin-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem;color:var(--text-secondary)}.band-admin-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-subtle);background:var(--bg-secondary-80);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.band-admin-back{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0}.band-admin-back:hover{color:var(--text-primary);background:var(--bg-elevated)}.band-admin-back svg{width:1.25rem;height:1.25rem}.band-admin-header-title{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.band-admin-header-title h1{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0;font-family:var(--font-display);white-space:nowrap}.band-admin-badge{display:inline-flex;align-items:center;padding:.2rem .6rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:4px;background:linear-gradient(135deg,var(--accent-primary),#c62828);color:#fff;font-family:var(--font-mono);white-space:nowrap}.band-admin-create-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--accent-primary);background:var(--accent-primary-8);color:var(--accent-primary);border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;font-weight:500;font-family:var(--font-display);transition:all var(--transition-fast);white-space:nowrap}.band-admin-create-btn:hover{background:var(--accent-primary);color:#fff}.band-admin-create-btn svg{width:1rem;height:1rem}.band-admin-create-form{max-width:720px;margin:1rem auto;width:100%;padding:1.25rem 1.5rem;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.band-admin-create-form h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem;font-family:var(--font-display)}.band-admin-form-row{display:flex;align-items:center;gap:.75rem}.band-admin-input{flex:1;padding:.5rem .75rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.875rem;font-family:var(--font-display);outline:none;transition:border-color var(--transition-fast)}.band-admin-input:focus{border-color:var(--accent-primary)}.band-admin-input::placeholder{color:var(--text-muted)}.band-admin-stats{display:flex;gap:1.5rem;max-width:720px;margin:1.25rem auto 0;width:100%;padding:0 1.5rem}.band-admin-stat{display:flex;flex-direction:column;align-items:center;padding:.75rem 1.5rem;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);min-width:100px}.band-admin-stat-value{font-size:1.5rem;font-weight:700;color:var(--accent-primary);font-family:var(--font-mono)}.band-admin-stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-family:var(--font-display)}.band-admin-content{flex:1;max-width:720px;margin:1.25rem auto 3rem;width:100%;padding:0 1.5rem}.band-admin-empty{text-align:center;color:var(--text-muted);padding:3rem 0}.band-admin-empty-text{color:var(--text-muted);font-size:.875rem;margin:.5rem 0 0}.band-admin-list{display:flex;flex-direction:column;gap:.75rem}.band-admin-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--transition-fast)}.band-admin-card.expanded{border-color:var(--accent-primary-50)}.band-admin-card-header{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;cursor:pointer;transition:background var(--transition-fast)}.band-admin-card-header:hover{background:var(--bg-tertiary)}.band-admin-card-avatar{flex-shrink:0}.band-admin-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.band-admin-card-name{font-size:1rem;font-weight:600;color:var(--text-primary);font-family:var(--font-display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.band-admin-card-meta{font-size:.8rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.band-admin-card-chevron{width:1.25rem;height:1.25rem;color:var(--text-muted);flex-shrink:0;transition:transform var(--transition-medium)}.band-admin-card-chevron.open{transform:rotate(180deg)}.band-admin-card-body{padding:0 1rem 1rem;border-top:1px solid var(--border-subtle)}.band-admin-section{padding-top:1rem}.band-admin-section h4{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .5rem;font-family:var(--font-display)}.band-admin-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.band-admin-section-header h4{margin-bottom:0}.band-admin-add-btn{display:flex;align-items:center;gap:.35rem;padding:.3rem .6rem;border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);border-radius:4px;cursor:pointer;font-size:.75rem;font-family:var(--font-display);transition:all var(--transition-fast)}.band-admin-add-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.band-admin-add-form{padding:.75rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);margin-bottom:.75rem}.band-admin-search-wrapper{position:relative}.band-admin-search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);max-height:200px;overflow-y:auto;z-index:20;box-shadow:0 4px 16px #0000004d}.band-admin-search-result{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;border:none;background:transparent;cursor:pointer;text-align:left;color:var(--text-primary);transition:background var(--transition-fast)}.band-admin-search-result:hover{background:var(--bg-elevated)}.band-admin-search-result-info{display:flex;flex-direction:column;min-width:0}.band-admin-search-result-name{font-size:.875rem;font-weight:500;color:var(--text-primary)}.band-admin-search-result-email{font-size:.75rem;color:var(--text-secondary)}.band-admin-search-result-loading{padding:.75rem;text-align:center;color:var(--text-muted);font-size:.8rem}.band-admin-add-form-options{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem;gap:.75rem}.band-admin-checkbox-label{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-secondary);cursor:pointer}.band-admin-checkbox-label input[type=checkbox]{accent-color:var(--accent-primary)}.band-admin-add-form-actions{display:flex;gap:.5rem}.band-admin-form-error{margin-top:.5rem;padding:.4rem .6rem;background:#e539351f;border:1px solid rgba(229,57,53,.3);border-radius:4px;color:var(--accent-primary);font-size:.8rem}.band-admin-user-list{display:flex;flex-direction:column;gap:.25rem}.band-admin-user-item{display:flex;align-items:center;gap:.625rem;padding:.4rem .5rem;border-radius:6px;transition:background var(--transition-fast)}.band-admin-user-item:hover{background:var(--bg-tertiary)}.band-admin-user-info{flex:1;min-width:0;display:flex;flex-direction:column}.band-admin-user-name{font-size:.875rem;color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.band-admin-user-email{font-size:.75rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.band-admin-role-badge{font-size:.7rem;padding:.15rem .5rem;border-radius:3px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-family:var(--font-mono);white-space:nowrap}.band-admin-role-badge.owner{background:#e5393526;color:var(--accent-primary)}.band-admin-role-badge.admin,.band-admin-role-badge.member-admin{background:#35d4ff1f;color:var(--accent-alt)}.band-admin-role-badge.viewer,.band-admin-role-badge.member{background:#8888a01f;color:var(--text-secondary)}.band-admin-remove-btn{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:4px;transition:all var(--transition-fast);flex-shrink:0}.band-admin-remove-btn:hover{color:var(--accent-primary);background:#e539351a}.band-admin-collections-loading{color:var(--text-muted);font-size:.8rem;padding:.5rem 0}.band-admin-collection-list{display:flex;flex-direction:column;gap:.15rem}.band-admin-collection-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;border-radius:6px;transition:background var(--transition-fast)}.band-admin-collection-item:hover{background:var(--bg-tertiary)}.band-admin-collection-icon{width:1.125rem;height:1.125rem;color:var(--text-muted);flex-shrink:0}.band-admin-collection-info{flex:1;min-width:0;display:flex;flex-direction:column}.band-admin-collection-name{font-size:.875rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.band-admin-collection-meta{font-size:.75rem;color:var(--text-muted)}@media (max-width: 640px){.band-admin-header{padding:.75rem 1rem;gap:.5rem}.band-admin-header-title h1{font-size:1.05rem}.band-admin-create-btn span{display:none}.band-admin-stats,.band-admin-content{padding:0 1rem}.band-admin-card-header{padding:.75rem}.band-admin-card-body{padding:0 .75rem .75rem}.band-admin-create-form{margin:.75rem 1rem}.band-admin-form-row{flex-direction:column;align-items:stretch}.band-admin-add-form-options{flex-direction:column;align-items:flex-start}}.about-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;overflow-y:auto}.about-modal{background:linear-gradient(135deg,#12121afa,#0a0a0ffa);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;backdrop-filter:blur(10px)}.about-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.about-header-title-container{display:flex;flex-direction:column;gap:.25rem}.about-logo{width:48px;height:48px;border-radius:10px;margin-bottom:.5rem;box-shadow:0 4px 12px #0000004d}.about-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0;font-family:var(--font-display)}.about-version-container{display:flex;flex-direction:column;gap:.125rem}.about-version{font-size:.75rem;font-weight:400;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.05em;opacity:.7}.about-build-date{font-size:.7rem;font-weight:400;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.02em;opacity:.6}.about-close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.about-close:hover{background:var(--bg-elevated);border-color:var(--border-active);color:var(--accent-primary)}.about-close svg{width:1rem;height:1rem}.about-content{padding:2rem;overflow-y:auto;flex:1;min-height:0}.about-section{margin-bottom:2rem}.about-section:last-child{margin-bottom:0}.about-section h2{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;font-family:var(--font-display);border-bottom:1px solid var(--border-subtle);padding-bottom:.5rem}.about-section h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:1.5rem 0 .75rem;font-family:var(--font-display)}.beta-feature{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.beta-feature h3{margin:0 0 .5rem}.beta-toggle{display:inline-flex;align-items:center;cursor:pointer}.beta-toggle input{position:absolute;opacity:0;pointer-events:none}.beta-toggle-slider{position:relative;width:48px;height:26px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:999px;transition:all var(--transition-fast)}.beta-toggle-slider:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--text-muted);transition:transform var(--transition-fast),background var(--transition-fast)}.beta-toggle input:checked+.beta-toggle-slider{background:#e5393533;border-color:var(--accent-primary)}.beta-toggle input:checked+.beta-toggle-slider:after{transform:translate(22px);background:var(--accent-primary)}.about-section p{font-size:.95rem;color:var(--text-secondary);line-height:1.6;margin:0 0 1rem}.about-section ul{list-style:none;padding:0;margin:0}.about-section li{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin-bottom:.75rem;padding-left:1.5rem;position:relative}.about-section li:before{content:"•";position:absolute;left:.5rem;color:var(--accent-primary);font-weight:700}.about-section li strong{color:var(--text-primary);font-weight:600}.about-section code{background:var(--bg-elevated);padding:.125rem .375rem;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.85em;color:var(--accent-alt)}.shortcuts-inline{display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem}.shortcuts-inline-group h4{margin:0 0 .5rem;font-size:.9rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.shortcuts-inline-group ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.shortcuts-inline-group li{display:flex;align-items:center;gap:1rem}.shortcuts-inline-keys{min-width:120px;display:flex;align-items:center;gap:.25rem}.shortcuts-inline-keys kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;padding:.2rem .4rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.75rem;font-weight:600;color:var(--accent-alt);box-shadow:0 1px 2px #0003}.shortcuts-inline-desc{color:var(--text-secondary);font-size:.9rem}.shortcut-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.shortcut-item kbd{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;padding:.25rem .5rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.75rem;font-weight:600;color:var(--text-primary);box-shadow:0 1px 2px #0000004d}.shortcut-item span{font-size:.9rem;color:var(--text-secondary);flex:1}.about-note{margin-top:1rem;padding:.75rem 1rem;background:#35d4ff1a;border:1px solid rgba(53,212,255,.3);border-radius:var(--radius-md);font-size:.9rem;color:var(--text-secondary)}.about-note strong{color:var(--accent-alt)}.about-footer{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-subtle);text-align:center}.about-print-state{display:inline-block;margin-bottom:1.5rem;padding:.375rem .75rem;font-size:.75rem;font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.about-print-state:hover{color:var(--accent-alt);border-color:var(--accent-alt)}.about-author{font-size:.85rem;color:var(--text-muted);margin:0}.about-author a{color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast)}.about-author a:hover{color:var(--accent-primary)}@media (max-width: 768px){.about-overlay{padding:1rem}.about-modal{max-height:95vh}.about-header{padding:1.25rem 1.5rem}.about-content{padding:1.5rem}}
