.notification{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:8px;background:var(--bg-dark);border:1px solid var(--border-light);box-shadow:var(--shadow-lg);min-width:280px;max-width:400px;animation:notification-enter .2s ease-out;touch-action:pan-x;user-select:none}@media (max-width: 480px){.notification{min-width:unset;max-width:unset;width:calc(100vw - 32px);margin:0 16px}}.notification--exiting{animation:notification-exit .2s ease-in forwards}.notification--error{border-left:4px solid var(--color-danger)}.notification--error .notification__icon{color:var(--color-danger)}.notification--warning{border-left:4px solid var(--color-warning)}.notification--warning .notification__icon{color:var(--color-warning)}.notification--success{border-left:4px solid var(--color-success)}.notification--success .notification__icon{color:var(--color-success)}.notification--info{border-left:4px solid var(--color-primary)}.notification--info .notification__icon{color:var(--color-primary)}.notification__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:2px}.notification__content{flex:1;min-width:0}.notification__title{font-weight:600;color:var(--text-primary);margin-bottom:4px;line-height:1.3}.notification__message{color:var(--text-secondary);font-size:.875rem;line-height:1.4;word-wrap:break-word}.notification__action{display:inline-block;margin-top:8px;padding:0;border:none;background:transparent;color:var(--color-primary);font-size:.875rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.notification__action:hover{color:var(--color-primary-light)}.notification__close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:4px;transition:all .15s ease}.notification__close:focus{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.notification__close:hover{color:var(--text-primary);background:var(--overlay-primary)}.notification__close:active{background:var(--overlay-primary-medium)}@keyframes notification-enter{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media (max-width: 480px){@keyframes notification-enter{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}@keyframes notification-exit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.notification{animation:none}.notification--exiting{animation:notification-exit-reduced .1s ease-in forwards}@keyframes notification-exit-reduced{0%{opacity:1}to{opacity:0}}}.notification-container{position:fixed;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none;top:16px;right:16px;align-items:flex-end}@media (max-width: 480px){.notification-container{top:unset;bottom:16px;right:0;left:0;align-items:center;flex-direction:column-reverse}}.notification-container>*{pointer-events:auto}.notification-container__queue-badge{padding:6px 12px;background:var(--bg-medium);border:1px solid var(--border-light);border-radius:16px;color:var(--text-secondary);font-size:.75rem;font-weight:500}.confirmation-modal.modal__content{min-width:380px;max-width:440px;padding:28px}.confirmation-modal .modal__header{padding:0;border-bottom:none;margin-bottom:16px}.confirmation-modal .modal__header-title{gap:14px}.confirmation-modal .modal__title{font-size:17px}.confirmation-modal .modal__footer{padding:0;border-top:none}.confirmation-modal__icon{color:var(--color-danger);flex-shrink:0}.confirmation-modal__body{padding:0;margin-bottom:24px}.confirmation-modal__text{margin:0 0 0 38px;font-size:15px;line-height:1.6;color:var(--text-secondary)}.confirmation-modal__buttons{display:flex;gap:10px;justify-content:flex-end}@media (max-width: 600px){.confirmation-modal.modal__content{min-width:auto;max-width:calc(100vw - 40px);padding:24px 20px}.confirmation-modal__text{margin-left:0}.confirmation-modal__buttons{flex-direction:column-reverse;gap:8px}.confirmation-modal__btn{width:100%}}@media (max-height: 600px){.confirmation-modal.modal__backdrop{padding-top:60px;align-items:flex-start}}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;min-height:120px;background:var(--bg-dark);border:1px solid var(--border-light);border-radius:8px;text-align:center;gap:16px}.error-boundary__icon{color:var(--color-danger);display:flex;align-items:center;justify-content:center}.error-boundary__content{display:flex;flex-direction:column;gap:8px;max-width:400px}.error-boundary__title{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.error-boundary__message{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.5;word-wrap:break-word;overflow-wrap:break-word}.error-boundary__retry{gap:8px;padding:8px 16px;background:var(--overlay-primary);border:1px solid var(--border-light);color:var(--text-primary);font-size:13px}.error-boundary__retry:hover:not(:disabled){background:var(--overlay-primary-medium);border-color:var(--border-strong)}.error-boundary__retry:active:not(:disabled){transform:scale(.98)}.error-boundary--inline{padding:16px;min-height:80px;background:var(--bg-darkest)}.error-boundary--inline .error-boundary__title{font-size:14px}.error-boundary--inline .error-boundary__message{font-size:12px}.error-boundary--fullscreen{position:fixed;inset:0;background:var(--bg-darkest);border:none;border-radius:0;z-index:9999;padding:48px 24px}.error-boundary--fullscreen .error-boundary__icon svg{width:48px;height:48px}.error-boundary--fullscreen .error-boundary__title{font-size:20px}@media (prefers-reduced-motion: reduce){.error-boundary__retry:active:not(:disabled){transform:none}}@media (max-width: 480px){.error-boundary{padding:24px 16px}.error-boundary__content{max-width:100%}.error-boundary__retry{width:100%;justify-content:center}}.migration-modal.modal__content{min-width:420px;max-width:500px}.migration-modal{position:relative}.migration-modal__dismiss{padding:8px;position:absolute;top:14px;right:16px;z-index:1}.migration-modal__header-icon{color:var(--color-primary);flex-shrink:0}.migration-modal__body{padding:20px}.migration-modal__description{margin:0 0 16px;font-size:14px;line-height:1.6;color:var(--text-secondary)}.migration-modal__list{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow-y:auto;padding-right:8px;margin-right:-8px}.migration-modal__list::-webkit-scrollbar{width:6px}.migration-modal__list::-webkit-scrollbar-track{background:transparent}.migration-modal__list::-webkit-scrollbar-thumb{background:var(--overlay-primary-medium);border-radius:3px}.migration-modal__list::-webkit-scrollbar-thumb:hover{background:var(--overlay-primary)}.migration-modal__item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--overlay-primary);border:1px solid var(--border-light);border-radius:8px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.migration-modal__item:hover:not(.migration-modal__item--migrated):not(.migration-modal__item--migrating){background:var(--overlay-primary-medium);border-color:var(--border-strong)}.migration-modal__item--migrated{background:rgba(var(--color-success-rgb, 52, 199, 89),.1);border-color:var(--color-success);cursor:default}.migration-modal__item--error{background:rgba(var(--color-danger-rgb, 255, 59, 48),.1);border-color:var(--color-danger)}.migration-modal__item--migrating{cursor:wait}.migration-modal__checkbox{flex-shrink:0;width:18px;height:18px;accent-color:var(--color-primary);cursor:inherit}.migration-modal__checkbox:disabled{cursor:inherit}.migration-modal__item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.migration-modal__item-name{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.migration-modal__item-meta{font-size:12px;color:var(--text-tertiary)}.migration-modal__item-status{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.migration-modal__status-icon--success{color:var(--color-success)}.migration-modal__status-icon--error{color:var(--color-danger)}.migration-modal__status-icon--loading{color:var(--color-primary);animation:migration-spinner 1s linear infinite}@keyframes migration-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.migration-modal__btn--primary{gap:8px}.migration-modal__btn-loading{animation:migration-btn-spinner 1s linear infinite}@keyframes migration-btn-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.migration-modal__status-icon--loading,.migration-modal__btn-loading{animation-duration:2s}}@media (max-width: 600px){.migration-modal.modal__backdrop{padding-top:calc(25vh - 100px)}.migration-modal.modal__content{min-width:auto;max-width:calc(100vw - 32px);margin:0 16px}.migration-modal__body{padding:16px 20px}.migration-modal__list{max-height:200px}.migration-modal .modal__footer{flex-direction:column-reverse;gap:8px;padding:14px 20px}.migration-modal__btn{width:100%;justify-content:center}}@media (max-height: 600px){.migration-modal.modal__backdrop{padding-top:40px;align-items:flex-start}.migration-modal__list{max-height:150px}}.stem-modal.modal__content{min-width:420px;max-width:500px}.stem-modal__header-icon{color:var(--color-primary);flex-shrink:0}.stem-modal__header-icon--success{color:var(--color-success)}.stem-modal__body{padding:20px}.stem-modal__clip-name{margin:0 0 16px;font-size:14px;color:var(--text-secondary)}.stem-modal__clip-name strong{color:var(--text-primary)}.stem-modal__gpu-status{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--overlay-primary);border:1px solid var(--border-light);border-radius:8px;font-size:13px;color:var(--text-tertiary);margin-bottom:20px}.stem-modal__gpu-status svg{flex-shrink:0;color:var(--text-muted)}.stem-modal__gpu-status--gpu{background:rgba(var(--color-success-rgb),.1);border-color:rgba(var(--color-success-rgb),.3);color:var(--color-success)}.stem-modal__gpu-status--gpu svg{color:var(--color-success)}.stem-modal__model-select{display:flex;flex-direction:column;gap:10px}.stem-modal__label{font-size:13px;color:var(--text-secondary);margin-bottom:4px}.stem-modal__model-option{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--overlay-primary);border:1px solid var(--border-light);border-radius:8px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.stem-modal__model-option:hover{background:var(--overlay-primary-medium);border-color:var(--border-strong)}.stem-modal__model-option--selected{background:var(--overlay-primary-medium);border-color:var(--color-primary)}.stem-modal__radio{flex-shrink:0;width:18px;height:18px;margin-top:2px;accent-color:var(--color-primary);cursor:inherit}.stem-modal__model-info{display:flex;flex-direction:column;gap:4px}.stem-modal__model-info strong{font-size:14px;font-weight:500;color:var(--text-primary)}.stem-modal__model-stems{font-size:12px;color:var(--text-tertiary);line-height:1.4}.stem-modal__model-size{font-size:11px;color:var(--text-muted);margin-top:2px}.stem-modal__progress{margin-top:4px}.stem-modal__progress-bar{height:8px;background:var(--overlay-primary);border-radius:4px;overflow:hidden;margin-bottom:10px}.stem-modal__progress-fill{height:100%;background:var(--bg-gradient-primary);border-radius:4px;transition:width .3s ease}.stem-modal__progress-fill--processing{position:relative;overflow:hidden}.stem-modal__progress-fill--processing:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:stem-shimmer 1.5s ease-in-out infinite}.stem-modal__progress-text{display:flex;justify-content:space-between;font-size:13px;color:var(--text-secondary)}.stem-modal__progress-time{display:flex;justify-content:space-between;font-size:12px;color:var(--text-tertiary);margin-top:8px}.stem-modal__elapsed{font-variant-numeric:tabular-nums}.stem-modal__eta{color:var(--text-muted)}.stem-modal__status{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:8px;margin-top:16px;font-size:14px}.stem-modal__status svg{flex-shrink:0}.stem-modal__status--success{background:rgba(var(--color-success-rgb),.12);border:1px solid rgba(var(--color-success-rgb),.3);color:var(--color-success)}.stem-modal__status--error{background:rgba(var(--color-danger-rgb),.12);border:1px solid rgba(var(--color-danger-rgb),.3);color:var(--color-danger)}.stem-modal__status--cancelled{background:var(--overlay-primary);border:1px solid var(--border-light);color:var(--text-secondary)}.stem-modal__btn--danger{gap:8px}.stem-modal__btn-loading{animation:stem-btn-spinner 1s linear infinite}@keyframes stem-btn-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stem-modal__results{text-align:center;padding:20px 0}.stem-modal__results-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:rgba(var(--color-success-rgb),.15);border-radius:50%;color:var(--color-success);margin-bottom:20px}.stem-modal__results-summary{font-size:14px;color:var(--text-secondary);margin:0 0 20px}.stem-modal__results-summary strong{color:var(--text-primary)}.stem-modal__results-stems{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.stem-modal__results-stem{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--overlay-primary);border-radius:20px;font-size:13px;color:var(--text-primary)}.stem-modal__results-stem svg{color:var(--color-primary)}@keyframes stem-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.stem-modal__btn-loading{animation-duration:2s}.stem-modal__progress-fill{transition:width .1s ease}}@media (max-width: 600px){.stem-modal.modal__backdrop{padding-top:calc(25vh - 100px)}.stem-modal.modal__content{min-width:auto;max-width:calc(100vw - 32px);margin:0 16px}.stem-modal__body{padding:16px 20px}.stem-modal__model-option{padding:12px 14px}.stem-modal .modal__footer{flex-direction:column-reverse;gap:8px;padding:14px 20px}.stem-modal__btn{width:100%;justify-content:center}}@media (max-height: 600px){.stem-modal.modal__backdrop{padding-top:40px;align-items:flex-start}}.unsaved-changes-modal.modal__content{min-width:380px;max-width:440px;padding:28px}.unsaved-changes-modal .modal__header{padding:0;border-bottom:none;margin-bottom:16px}.unsaved-changes-modal .modal__header-title{gap:14px}.unsaved-changes-modal .modal__title{font-size:17px}.unsaved-changes-modal .modal__footer{padding:0;border-top:none}.unsaved-changes-modal__icon--warning{color:var(--color-warning)}.unsaved-changes-modal__body{padding:0;margin-bottom:24px}.unsaved-changes-modal__text{margin:0 0 0 38px;font-size:15px;line-height:1.6;color:var(--text-secondary)}.unsaved-changes-modal__buttons{display:flex;gap:10px;justify-content:flex-end}.unsaved-changes-modal__btn--discard{border:1px solid var(--border-light)}@media (max-width: 600px){.unsaved-changes-modal.modal__content{min-width:auto;max-width:calc(100vw - 40px);padding:24px 20px}.unsaved-changes-modal__text{margin-left:0}.unsaved-changes-modal__buttons{flex-direction:column-reverse;gap:8px}.unsaved-changes-modal__btn{width:100%}}@media (max-height: 600px){.unsaved-changes-modal.modal__backdrop{padding-top:60px;align-items:flex-start}}.consent-banner{position:fixed;bottom:0;left:0;right:0;background:var(--bg-dark);border-top:1px solid var(--border-light);box-shadow:0 -2px 10px #0000004d;z-index:1000;padding:1.5rem;animation:consent-slide-up .3s ease-out}.consent-banner__content{max-width:1100px;margin:0 auto;display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.consent-banner__text{flex:1 1 300px;font-size:.9rem;line-height:1.5;color:var(--text-secondary)}.consent-banner__text p{margin:0}.consent-banner__actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.consent-banner__btn{padding:.5rem 1.25rem;font-size:.95rem;font-weight:500;white-space:nowrap;border:1px solid var(--border-primary);border-radius:8px;background:transparent;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-family:inherit}.consent-banner__btn:hover{background:var(--overlay-primary);border-color:var(--color-primary)}.consent-banner__btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.consent-modal-backdrop{position:fixed;inset:0;z-index:100;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1001;padding:1rem;animation:consent-fade-in .2s ease-out}.consent-modal{background:var(--bg-dark);border:1px solid var(--border-light);border-radius:16px;max-width:600px;width:100%;max-height:80vh;display:flex;flex-direction:column;animation:consent-slide-up .3s ease-out}.consent-modal__header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;border-bottom:1px solid rgba(var(--color-primary-rgb),.1)}.consent-modal__title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.consent-modal__close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;font-size:1.5rem;line-height:1;transition:color .2s}.consent-modal__close:hover{color:var(--text-primary)}.consent-modal__close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.consent-modal__body{flex:1;overflow-y:auto;padding:1.25rem}.consent-modal__description{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin-bottom:1.25rem}.consent-modal__footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-top:1px solid rgba(var(--color-primary-rgb),.1);gap:.5rem}.consent-modal__footer-group{display:flex;gap:.5rem}.consent-category{margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid rgba(var(--color-primary-rgb),.1)}.consent-category:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.consent-category__header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.consent-category__info{flex:1}.consent-category__title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.consent-category__badge{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--color-success);background:rgba(var(--color-success-rgb),.1);padding:.15rem .4rem;border-radius:4px;margin-left:.5rem}.consent-category__description{color:var(--text-muted);font-size:.85rem;line-height:1.4;margin-top:.5rem}.consent-toggle{position:relative;width:44px;height:24px;flex-shrink:0}.consent-toggle__input{opacity:0;width:0;height:0;position:absolute}.consent-toggle__input:checked+.consent-toggle__slider{background:var(--color-primary)}.consent-toggle__input:checked+.consent-toggle__slider:before{transform:translate(20px)}.consent-toggle__input:disabled+.consent-toggle__slider{opacity:.5;cursor:not-allowed}.consent-toggle__input:focus-visible+.consent-toggle__slider{outline:2px solid var(--color-primary);outline-offset:2px}.consent-toggle__slider{position:absolute;inset:0;background:#ffffff26;border-radius:12px;cursor:pointer;transition:background .2s}.consent-toggle__slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s}@keyframes consent-fade-in{0%{opacity:0}to{opacity:1}}@keyframes consent-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 479px){.consent-banner__content{flex-direction:column;align-items:stretch}.consent-banner__actions{flex-direction:column}.consent-banner__btn{width:100%;text-align:center}.consent-modal{max-height:100vh;height:100vh;border-radius:0}.consent-modal__footer{flex-direction:column}.consent-modal__footer .consent-banner__btn{width:100%;text-align:center}.consent-modal__footer-group{width:100%;flex-direction:column}}@media (prefers-reduced-motion: reduce){.consent-banner,.consent-modal-backdrop,.consent-modal{animation:none;transition:none}}.start-page{position:fixed;inset:0;display:flex;align-items:flex-start;justify-content:center;background:linear-gradient(135deg,var(--bg-darkest) 0%,var(--bg-dark) 100%);z-index:50;overflow-y:auto}.start-page:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(var(--color-primary-rgb),.12) 0%,transparent 70%)}.start-page__auth{position:absolute;top:16px;right:16px;z-index:1}.start-page__auth-btn{padding:7px 14px;background:transparent;border:1px solid var(--border-chrome);border-radius:6px;color:var(--text-secondary);font-family:inherit;font-size:13px;font-weight:400;cursor:pointer;box-shadow:none;transition:color .1s;transform:none}.start-page__auth-btn:hover{color:var(--text-primary);background:transparent;border-color:var(--border-chrome);box-shadow:none;transform:none}.start-page__user{all:unset;display:flex;align-items:center;box-sizing:border-box;gap:8px;padding:5px 8px 5px 5px;background:transparent;border:1px solid var(--border-chrome);border-radius:6px;cursor:pointer;transition:border-color .1s}.start-page__user:hover{border-color:#ffffff26}.start-page__user-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover}.start-page__user-name{font-size:13px;color:var(--text-secondary);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.start-page__signout-icon{color:var(--text-disabled);transition:color .1s}.start-page__user:hover .start-page__signout-icon{color:var(--text-primary)}.start-page__content{position:relative;z-index:1;width:100%;max-width:480px;padding:0 32px;margin-top:12vh;margin-bottom:32px}.start-page__header{display:flex;flex-direction:column;align-items:center;margin-bottom:32px}.start-page__topo{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.start-page__topo-drift{animation:start-page-topo-drift 15s ease-in-out infinite}.start-page__logo{width:clamp(160px,50vw,260px);height:auto;display:block}.start-page__subtitle{margin:12px 0 0;font-size:14px;color:var(--text-muted)}.start-page__actions{margin-bottom:24px}.start-page__new-btn{width:100%;padding:14px 20px;background:var(--bg-gradient-primary);border:none;color:#fff;font-size:15px;gap:10px}.start-page__new-btn:hover:not(:disabled){background:var(--bg-gradient-primary-hover);transform:none;box-shadow:none}.start-page__new-btn:disabled{opacity:.6}.start-page__section-title{margin:0 0 6px;padding:0 4px;font-size:11px;font-weight:500;color:var(--text-disabled);text-transform:uppercase;letter-spacing:.8px}.start-page__empty{margin:0;padding:20px 4px;color:var(--text-muted);font-size:13px}.start-page__list{list-style:none;margin:0;padding:4px;display:flex;flex-direction:column;gap:0;max-height:320px;overflow-y:auto;background:var(--bg-overlay-faint);border:1px solid var(--border-subtle);border-radius:10px}.start-page__project{all:unset;display:flex;align-items:center;box-sizing:border-box;width:100%;padding:8px 10px;border-radius:6px;color:var(--text-primary);cursor:pointer;gap:10px;transition:background .1s}.start-page__project:hover{background:var(--bg-overlay-faint)}.start-page__project:active{background:var(--bg-overlay-subtle)}.start-page__project:focus-visible{box-shadow:inset 0 0 0 1px #ffffff26}.start-page__project:disabled{opacity:.5;cursor:not-allowed}.start-page__project-icon{flex-shrink:0;color:var(--text-disabled);transition:color .1s}.start-page__project:hover .start-page__project-icon{color:var(--text-tertiary)}.start-page__project-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.start-page__project-name{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.start-page__project-meta{font-size:11px;color:var(--text-disabled)}.start-page__loading-overlay{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#000000b3;color:var(--text-primary);font-size:14px;z-index:100}.start-page__shares{margin-top:24px}.start-page__share-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:6px;transition:background .1s}.start-page__share-item:hover{background:var(--bg-overlay-faint)}.start-page__share-info{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.start-page__share-icon{flex-shrink:0;color:var(--text-disabled);transition:color .1s}.start-page__share-item:hover .start-page__share-icon{color:var(--text-tertiary)}.start-page__share-details{display:flex;flex-direction:column;gap:2px;min-width:0}.start-page__share-name{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.start-page__share-meta{font-size:11px;color:var(--text-disabled)}.start-page__share-actions{display:flex;gap:2px;flex-shrink:0}.start-page__share-action{all:unset;display:flex;align-items:center;justify-content:center;padding:6px;border-radius:4px;color:var(--text-disabled);cursor:pointer;opacity:0;transition:opacity .1s,color .1s}.start-page__share-item:hover .start-page__share-action{opacity:1}.start-page__share-action:hover{color:var(--text-primary)}.start-page__share-action--delete:hover{color:var(--color-danger)}@keyframes start-page-topo-drift{0%,to{transform:translate(0)}50%{transform:translate(20px)}}@media (prefers-reduced-motion: reduce){.start-page__topo-drift{animation:none}}.not-found-page{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-gradient-main);z-index:50}.not-found-page__content{text-align:center;max-width:400px;padding:32px}.not-found-page__icon{color:var(--color-warning);margin-bottom:20px}.not-found-page__title{margin:0 0 12px;font-size:24px;font-weight:600;color:var(--text-primary)}.not-found-page__message{margin:0 0 24px;font-size:14px;color:var(--text-secondary);line-height:1.6}.not-found-page__btn{display:inline-flex;padding:12px 24px;background:var(--bg-gradient-primary);border:none;color:#fff;font-size:14px;gap:8px;box-shadow:var(--shadow-primary-md)}.not-found-page__btn:hover{background:var(--bg-gradient-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-primary-hover)}.auth-callback{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:1rem;background:var(--bg-darkest);color:var(--text-primary)}.auth-callback__spinner{animation:auth-callback-spin 1s linear infinite}@keyframes auth-callback-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-callback__text{font-size:.875rem;color:var(--text-secondary)}.protected-route__loading{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg-darkest)}.protected-route__spinner{color:var(--text-secondary);animation:protected-route-spin 1s linear infinite}@keyframes protected-route-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sign-in-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-darkest)}.sign-in-page__content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:3rem;text-align:center}.sign-in-page__logo{height:48px;width:auto;display:block}.sign-in-page__message{font-size:1rem;color:var(--text-secondary);margin:0;max-width:280px}.sign-in-page__btn{gap:.5rem;padding:.875rem 1.5rem;font-size:1rem;color:var(--text-on-primary);background:var(--color-primary);border:none}.sign-in-page__btn:hover:not(:disabled){background:var(--color-primary-hover)}.sign-in-page__btn:active:not(:disabled){background:var(--color-primary-active)}.sign-in-page__disclaimer{font-size:.75rem;color:var(--text-muted);margin:0}.sign-in-page__back{font-size:.875rem;color:var(--text-muted);text-decoration:none;transition:color .2s ease}.sign-in-page__back:hover{color:var(--text-secondary)}.sign-in-page__legal{font-size:.75rem;color:var(--text-muted);text-align:center;max-width:280px;line-height:1.5}.sign-in-page__legal a{color:var(--text-secondary);text-decoration:underline;transition:color .2s ease}.sign-in-page__legal a:hover{color:var(--text-primary)}.pending-page{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-gradient-main);z-index:50}.pending-page__content{width:100%;max-width:400px;padding:32px;text-align:center}.pending-page__header{margin-bottom:32px}.pending-page__logo{height:48px;width:auto;display:block;margin:0 auto}.pending-page__message{background:rgba(var(--bg-track-rgb),.85);backdrop-filter:blur(16px);border:1px solid var(--border-light);border-radius:12px;box-shadow:var(--shadow-xl);padding:24px;margin-bottom:24px}.pending-page__message-title{margin:0 0 12px;font-size:18px;font-weight:600;color:var(--text-primary)}.pending-page__message-text{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.5}.pending-page__user{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px;background:var(--overlay-primary);border:1px solid var(--border-light);border-radius:8px}.pending-page__user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.pending-page__user-name{font-size:14px;color:var(--text-primary);flex:1;text-align:left}.pending-page__signout-btn{padding:8px 12px;background:transparent;border:1px solid var(--border-light);color:var(--text-secondary);font-size:13px;gap:6px;cursor:pointer}.pending-page__signout-btn:hover{background:var(--overlay-primary);color:var(--text-primary);border-color:var(--border-primary)}:root{--color-primary: #5580ff;--color-primary-hover: #4470f2;--color-primary-active: #3560d8;--color-primary-rgb: 85, 128, 255;--bg-darkest: #0d1321;--bg-dark: #131a2b;--bg-medium: #303c5a;--bg-track: #161d31;--bg-track-rgb: 22, 29, 49;--text-primary: rgba(255, 255, 255, .87);--text-secondary: rgba(255, 255, 255, .7);--text-tertiary: rgba(255, 255, 255, .6);--text-muted: rgba(255, 255, 255, .55);--text-disabled: rgba(255, 255, 255, .4);--text-on-primary: #ffffff;--border-primary: rgba(var(--color-primary-rgb), .3);--border-light: rgba(var(--color-primary-rgb), .2);--border-strong: rgba(var(--color-primary-rgb), .4);--border-emphasis: rgba(var(--color-primary-rgb), .5);--border-faint: rgba(255, 255, 255, .04);--border-subtle: rgba(255, 255, 255, .07);--border-chrome: rgba(255, 255, 255, .1);--bg-overlay-faint: rgba(255, 255, 255, .04);--bg-overlay-subtle: rgba(255, 255, 255, .07);--color-danger: #ff3b30;--color-danger-hover: #ff453a;--color-danger-active: #ff2d20;--color-danger-light-20: rgba(255, 59, 48, .2);--color-danger-rgb: 255, 59, 48;--color-success: #34c759;--color-success-hover: #30d158;--color-success-active: #28a745;--color-success-rgb: 52, 199, 89;--color-warning: #ff9500;--color-warning-hover: #ffaa33;--color-warning-active: #ff8800;--color-warning-rgb: 255, 149, 0;--overlay-primary-light: rgba(var(--color-primary-rgb), .05);--overlay-primary-light-08: rgba(var(--color-primary-rgb), .08);--overlay-primary: rgba(var(--color-primary-rgb), .1);--overlay-primary-medium-12: rgba(var(--color-primary-rgb), .12);--overlay-primary-medium: rgba(var(--color-primary-rgb), .2);--overlay-primary-strong: rgba(var(--color-primary-rgb), .3);--overlay-dark-40: rgba(0, 0, 0, .4);--overlay-dark-70: rgba(0, 0, 0, .7);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .2);--shadow-sm-30: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 2px 8px rgba(0, 0, 0, .2);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .3);--shadow-xl: 0 8px 32px rgba(0, 0, 0, .4);--shadow-primary-sm: 0 2px 8px rgba(var(--color-primary-rgb), .3);--shadow-primary-md: 0 4px 12px rgba(var(--color-primary-rgb), .3);--shadow-primary-md-50: 0 4px 8px rgba(var(--color-primary-rgb), .5);--shadow-primary-lg: 0 4px 12px rgba(var(--color-primary-rgb), .4);--shadow-primary-hover: 0 6px 16px rgba(var(--color-primary-rgb), .4);--shadow-success-md: 0 4px 12px rgba(var(--color-success-rgb), .3);--shadow-success-lg: 0 4px 12px rgba(var(--color-success-rgb), .4);--shadow-danger-md: 0 4px 12px rgba(var(--color-danger-rgb), .3);--shadow-danger-lg: 0 4px 12px rgba(var(--color-danger-rgb), .4);--shadow-warning-md: 0 4px 12px rgba(var(--color-warning-rgb), .3);--shadow-warning-lg: 0 4px 12px rgba(var(--color-warning-rgb), .4);--bg-gradient-main: linear-gradient(135deg, var(--bg-darkest) 0%, var(--bg-dark) 100%);--bg-gradient-container: linear-gradient( 135deg, rgba(19, 26, 43, .8) 0%, rgba(22, 33, 62, .8) 100% );--bg-gradient-container-hover: linear-gradient( 135deg, rgba(19, 26, 43, .9) 0%, rgba(22, 33, 62, .9) 100% );--bg-gradient-toolbar: linear-gradient( 135deg, rgba(48, 60, 90, .7) 0%, rgba(22, 33, 62, .7) 100% );--bg-gradient-primary: linear-gradient( 135deg, var(--color-primary) 0%, var(--color-primary-hover) 100% );--bg-gradient-primary-hover: linear-gradient( 135deg, var(--color-primary-hover) 0%, var(--color-primary-active) 100% );--bg-gradient-success: linear-gradient( 135deg, var(--color-success) 0%, var(--color-success-hover) 100% );--bg-gradient-success-hover: linear-gradient( 135deg, var(--color-success-hover) 0%, var(--color-success-active) 100% );--bg-gradient-danger: linear-gradient( 135deg, var(--color-danger) 0%, var(--color-danger-hover) 100% );--bg-gradient-danger-hover: linear-gradient( 135deg, var(--color-danger-hover) 0%, var(--color-danger-active) 100% );--bg-gradient-warning: linear-gradient( 135deg, var(--color-warning) 0%, var(--color-warning-hover) 100% );--bg-gradient-warning-hover: linear-gradient( 135deg, var(--color-warning-hover) 0%, var(--color-warning-active) 100% );--bg-toolbar: #16213e;--bg-toolbar-input: #080b14;--bg-timescale: #131a2b;--bg-timescale-upper: #172035;--bg-sidebar-body: #131a2b;--bg-track-sidebar: #16213e;--bg-track-sidebar-hover: #252f49;--bg-knob-fill: #465373;--bg-knob-stroke: #5c6a8b;--bg-track-alpha-60: rgba(var(--bg-track-rgb), .6);--bg-track-alpha-40: rgba(var(--bg-track-rgb), .4);--bg-medium-alpha-50: rgba(48, 60, 90, .5);--bg-medium-alpha-60: rgba(48, 60, 90, .6);--bg-medium-alpha-70: rgba(48, 60, 90, .7);--bg-medium-alpha-30: rgba(48, 60, 90, .3);--focus-ring: 2px solid rgba(var(--color-primary-rgb), .5);--focus-offset: 2px;--icon-size-sm: 14px;--icon-size-md: 16px;--icon-size-lg: 20px;--sidebar-width: 220px;--z-timeline: 1;--z-cursor: 2;--z-playhead-overlay: 2;--z-sidebar-background: 3;--z-sidebar: 4;--z-toolbar: 5;--z-scrollbar: 10;--track-color-0: hsl(38, 100%, 60%);--track-color-1: hsl(199, 76%, 63%);--track-color-2: hsl(165, 100%, 45%);--track-color-3: hsl(56, 86%, 60%);--track-color-4: hsl(205, 100%, 55%);--track-color-5: hsl(22, 100%, 58%);--track-color-6: hsl(325, 48%, 64%);--track-color-7: hsl(0, 0%, 65%);--scrollbar-height: 10px;--scrollbar-fade-duration: .2s;--scrollbar-fade-easing: ease-out;--meter-bg: rgba(0, 0, 0, .3);--meter-low-dark: #059669;--meter-low: #22c55e;--meter-mid: #eab308;--meter-high: #f97316;--meter-clip: #ef4444;--meter-clip-dark: #dc2626;--meter-reference-marker: rgba(255, 255, 255, .4);--breakpoint-mobile-portrait: 479px;--breakpoint-mobile-landscape: 767px;--breakpoint-tablet: 1023px;--touch-target-min: 44px;--touch-target-gap: 8px;--color-record: #ff3b30;--color-record-armed: rgba(255, 59, 48, .6);--color-record-active: #ff453a;--color-record-rgb: 255, 59, 48;--shadow-record-glow: 0 0 12px rgba(255, 59, 48, .5)}@media (hover: none){:root{--scrollbar-height: 6px}}:root{--color-loop: #ffa000;--color-loop-rgb: 255, 160, 0;--color-loop-region: rgba(255, 160, 0, .15);--color-loop-region-disabled: rgba(255, 160, 0, .06);--color-loop-border: rgba(255, 160, 0, .6)}@keyframes dialog-backdrop-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-spring-in{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){@keyframes dialog-spring-in{0%{opacity:0}to{opacity:1}}}@keyframes panel-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes panel-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes panel-slide-left{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:var(--text-primary);background:var(--bg-gradient-main);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{touch-action:manipulation;overscroll-behavior:none}*{box-sizing:border-box}body{margin:0;display:flex;min-width:320px;min-height:100vh;background:var(--bg-gradient-main);touch-action:manipulation;overscroll-behavior:none}#root{width:100%;margin:0 auto;padding:0}button{font-family:inherit;cursor:pointer}.playlist{--wp-controls-border-color: var(--border-primary);--wp-controls-background-color: var(--bg-medium-alpha-60);--wp-tracks-container-background-color: rgba(26, 26, 46, .8);--wp-cursor-color: var(--color-primary);--wp-channel-color: var(--border-primary);--wp-channel-progress-color: var(--color-primary);--wp-selection-background-color: var(--overlay-primary-medium);--wp-selection-point-color: var(--color-primary);--wp-btn-danger-background-color: var(--color-danger);--wp-btn-danger-background-hover-color: var(--color-danger-hover);--wp-btn-info-background-color: var(--color-primary);--wp-btn-info-background-hover-color: var(--color-primary-hover);--wp-range-slider-color: var(--color-primary);--wp-range-slider-background-color: var(--overlay-primary-medium);--wp-range-slider-background-focus-color: var(--overlay-primary-strong);--wp-range-slider-label-color: var(--text-primary)}.playlist .controls{background:var(--bg-medium-alpha-60)!important;border:1px solid var(--border-primary)!important;backdrop-filter:blur(10px)}.playlist .controls label{color:var(--text-primary)}.playlist .playlist-time-scale{background:var(--bg-medium-alpha-50)!important;border-bottom:1px solid var(--border-primary);color:var(--text-secondary)}.playlist .playlist-tracks{background:#1a1a2e99!important}.playlist .state-cursor{cursor:crosshair!important}.playlist .state-select{cursor:text!important}.playlist .state-shift{cursor:move!important}.playlist .state-fadein{cursor:w-resize!important}.playlist .state-fadeout{cursor:e-resize!important}@keyframes lamp-glow{0%,to{filter:drop-shadow(0 0 2px var(--color-warning))}50%{filter:drop-shadow(0 0 8px var(--color-warning)) drop-shadow(0 0 12px var(--color-warning-active))}}
