:root{--font-sans:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-page-bg:#171717;--color-surface:#262626;--color-surface-strong:#18181b;--color-surface-deep:#111113;--color-text:#f5f5f5;--color-text-muted:#d4d4d4;--color-text-subtle:#a3a3a3;--color-accent:#bbf7d0;--color-accent-hover:#86efac;--color-danger-bg:#fecaca;--color-danger-text:#450a0a;--color-light-surface:#fff;--color-light-surface-soft:#f8fafc;--color-light-text:#0f172a;--color-light-muted:#475569;--color-light-subtle:#64748b;--color-text-muted-cool:#d4d4d8;--color-text-subtle-cool:#a1a1aa;--color-danger-hover:#e12f2f;--color-light-hover:#f1f5f9;--color-light-button:#e2e8f0;--color-light-button-hover:#cbd5e1;--border-light-medium:#94a3b866;--border-light-icon:#94a3b873;--overlay-modal:#0f172aa6;--border-dark:#3f3f46;--border-input:#52525b;--border-light:#94a3b859;--border-light-strong:#94a3b8a6;--shadow-modal:0 24px 80px #0f172a59;--shadow-toolbar:0 .5rem 1.5rem #00000040;--radius-sm:.55rem;--radius-md:.65rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.25rem;--radius-pill:999px}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--color-text);background:var(--color-page-bg);font-family:var(--font-sans);margin:0}button,input,textarea,select{font:inherit}h1{max-width:720px;margin:0;font-size:clamp(2.5rem,8vw,5rem);line-height:.95}h2,h3{margin-top:0}.app-shell{width:min(900px,100% - 2rem);margin:0 auto;padding:4rem 0}.panel{border:1px solid var(--border-dark);border-radius:var(--radius-xl);background:var(--color-surface);margin-top:1.5rem;padding:1.25rem}.project-form,.project-list{gap:1rem;display:grid}.track-list{gap:1rem;margin-top:1rem;display:grid}.eyebrow{color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.12em;margin:0 0 .75rem;font-size:.8rem;font-weight:700}.description{max-width:620px;color:var(--color-text-muted);font-size:1.15rem;line-height:1.6}.status-message{min-height:1.5rem;color:var(--color-accent);margin:0}.empty-state{color:var(--color-text-subtle);margin-bottom:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}button{font:inherit}.button,button{border-radius:var(--radius-pill);width:fit-content;color:var(--color-page-bg);background:var(--color-accent);cursor:pointer;border:0;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;font-weight:700;display:inline-flex;position:relative}.button:hover:not(:disabled),button:hover:not(:disabled){background:var(--color-accent-hover)}.button:disabled,button:disabled{cursor:not-allowed;opacity:.55}.button[data-busy=true],button[data-busy=true]{cursor:progress;opacity:.82}.button[data-busy=true]:after,button[data-busy=true]:after{content:"";border:.13rem solid;border-right-color:#0000;border-radius:50%;flex:0 0 .9rem;width:.9rem;height:.9rem;animation:.8s linear infinite grooveshare-spin}.button--secondary{color:var(--color-text);border:1px solid var(--border-dark);background:0 0}.button--secondary:hover:not(:disabled){background:var(--color-surface-strong)}.button--secondary-light{color:var(--color-light-text);background:var(--color-light-surface);border:1px solid var(--border-light-strong)}.button--secondary-light:hover:not(:disabled){background:var(--color-light-hover)}.button--danger{color:var(--color-danger-text);background:var(--color-danger-bg)}.button--danger:hover:not(:disabled){background:var(--color-danger-hover);color:#f4f4f4}.loading-state{min-height:12rem;color:var(--color-text-muted);text-align:center;align-content:center;place-items:center;gap:.8rem;padding:1.5rem;display:grid}.loading-state--compact{min-height:6rem;padding:1rem}.loading-state__spinner{border:.2rem solid var(--border-input);border-top-color:var(--color-accent);border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite grooveshare-spin}.loading-state__message{max-width:28rem;line-height:1.5}.app-loading-page{place-items:center;min-height:100vh;display:grid}.app-loading-page__state{width:min(100%,30rem)}@keyframes grooveshare-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-state__spinner,button[data-busy=true]:after{animation:none}}input,textarea,select{border:1px solid var(--border-input);border-radius:var(--radius-lg);width:100%;color:var(--color-text);background:var(--color-page-bg);padding:.75rem}label{color:var(--color-text-muted);gap:.4rem;font-weight:700;display:grid}input:disabled,textarea:disabled,select:disabled{cursor:not-allowed;opacity:.6}select[aria-busy=true]{cursor:progress}.modal{z-index:50;background:var(--overlay-modal);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.modal[hidden]{display:none}.modal__content{border:1px solid var(--border-light);border-radius:var(--radius-2xl);background:var(--color-light-surface);width:min(760px,100%);max-height:min(680px,90vh);color:var(--color-light-text);box-shadow:var(--shadow-modal);padding:1.5rem;animation:.18s ease-out modal-fly-in;overflow-y:auto}@keyframes modal-fly-in{0%{opacity:0;transform:translateY(-2rem)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal__header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.modal__header h2{margin:.15rem 0 0}.modal__content .eyebrow{color:var(--color-light-subtle)}.modal__content h2,.modal__content h3,.modal__content label,.modal__content span{color:var(--color-light-text)}.modal__content .description,.modal__content .help-text,.modal__content .empty-state{color:var(--color-light-muted)}.modal__content input[type=text],.modal__content input[type=file]{color:var(--color-light-text);background:var(--color-light-surface);border:1px solid var(--border-light-strong)}.modal__actions{border-top:1px solid var(--border-light);justify-content:flex-end;gap:.75rem;margin-top:1rem;padding-top:1rem;display:flex}.add-tracks-modal__file-row{gap:.75rem;margin-bottom:1rem;display:grid}.help-text{color:var(--color-light-subtle);margin:0;font-size:.9rem}.pending-track-form input[type=file]{border-radius:var(--radius-lg);background:var(--color-light-surface);width:100%;color:var(--color-light-text);padding:.75rem}.pending-track-form input[type=file]::file-selector-button{border-radius:var(--radius-sm);background:var(--color-light-button);color:var(--color-light-text);cursor:pointer;border:0;margin-right:.75rem;padding:.55rem .85rem;font-weight:700}.pending-track-form input[type=file]::file-selector-button:hover{background:var(--color-light-button-hover)}.selected-audio-track-rows{gap:.75rem;display:grid}.selected-audio-track-row{border:1px solid var(--border-light);background:var(--color-light-surface-soft);color:var(--color-light-text);border-radius:.9rem;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:end;gap:1rem;padding:1rem;display:grid}.selected-audio-track-row label{gap:.4rem;display:grid}.selected-audio-track-row label,.selected-audio-track-row span,.selected-audio-track-row p{color:var(--color-light-text)}.selected-audio-track-row span{font-size:.85rem;font-weight:700}.selected-audio-track-row p{border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--color-light-surface);overflow-wrap:anywhere;align-items:center;min-height:2.6rem;margin:0;padding:.65rem .75rem;display:flex}@media (width<=640px){.modal,.modal__content{padding:1rem}.selected-audio-track-row{grid-template-columns:1fr}.modal__actions{flex-direction:column-reverse}.modal__actions button{width:100%}}@media (prefers-reduced-motion:reduce){.modal__content{animation:none}}.icon-button{border:1px solid var(--border-light-icon);border-radius:var(--radius-pill);background:var(--color-light-surface);width:2.5rem;height:2.5rem;color:var(--color-light-text);cursor:pointer;flex:none;place-items:center;font-size:1.35rem;font-weight:800;line-height:1;display:inline-grid}.icon-button:hover{background:var(--color-light-hover)}.audio-player{background:0 0;border:0;gap:.85rem;min-width:0;margin:0;padding:0;display:grid}.audio-player__header{flex-wrap:wrap;align-items:baseline;gap:.35rem 1rem;min-height:1.5rem;display:flex}.audio-player__title{flex:none;margin:0;font-size:1.35rem}.audio-player__track-name{overflow-wrap:anywhere;min-width:0;color:var(--color-text-subtle);flex:18rem;margin:0;font-size:.88rem;line-height:1.3}.audio-player__preparation{border:1px solid var(--border-input);border-radius:var(--radius-sm);min-height:2.5rem;color:var(--color-text-subtle);justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .75rem;font-size:.88rem;display:flex}.audio-player__preparation[hidden]{display:none}.audio-player__preparation-retry{flex:none;min-height:2.25rem;padding:.35rem .7rem}.audio-player__controls{gap:1rem;width:100%;display:grid}.audio-player__transport{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.audio-player__transport-primary,.audio-player__transport-secondary{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.audio-player__transport-button,.audio-player__loop-button{border:1px solid var(--border-input);border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:.4rem;min-width:4.75rem;min-height:2.8rem;padding:.55rem .85rem;line-height:1;display:inline-flex}.audio-player__transport-button{--transport-size:3.25rem;flex:0 0 var(--transport-size);width:var(--transport-size);min-width:var(--transport-size);height:var(--transport-size);min-height:var(--transport-size);color:var(--color-light-text);background:var(--color-light-button);border-radius:50%;padding:0;font-size:.95rem;font-weight:750}.audio-player__transport-button:hover:not(:disabled){background:var(--color-light-button-hover)}.audio-player__play-pause-button{color:var(--color-light-text)}.audio-player__seek-back-button,.audio-player__seek-forward-button{--transport-size:2.5rem;font-size:.8rem}#microphone-arm-button{color:#f87171;box-shadow:none;background:linear-gradient(#130a0c,#000);border:1px solid #f87171}#microphone-arm-button:hover:not(:disabled):not([aria-expanded=true]){background:linear-gradient(#130a0c,#000)}#microphone-arm-button[aria-expanded=true]{color:#f4f4f4;background:linear-gradient(#b91438,#9f0e0e);border-color:#0000}#microphone-arm-button:not(:focus-visible){outline:none}#microphone-arm-button .audio-player__microphone-icon{stroke:currentColor}.audio-player__microphone-icon{fill:none;stroke:#f87171b8;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.25rem;height:1.25rem;overflow:visible}.audio-player__stop-icon{background:currentColor;border-radius:.1rem;width:.85rem;height:.85rem}.audio-player__transport-button:disabled{cursor:not-allowed;opacity:.48}.audio-player__loop-control{cursor:pointer;position:relative}.audio-player__loop-control input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.audio-player__loop-button{color:var(--color-light-text);background:var(--color-light-button);font-size:.95rem;font-weight:750;transition:background .12s,border-color .12s,transform .12s}.audio-player__loop-control:hover .audio-player__loop-button{background:var(--color-light-button-hover)}.audio-player__loop-control input:checked+.audio-player__loop-button{border-color:var(--color-accent-hover);background:var(--color-accent-hover);box-shadow:inset 0 0 0 2px}.audio-player__selected-indicator{display:none}.audio-player__loop-control input:checked+.audio-player__loop-button .audio-player__selected-indicator{display:inline}.audio-player__loop-control input:focus-visible+.audio-player__loop-button{outline:3px solid var(--color-text);outline-offset:3px}.audio-player__timeline{grid-template-columns:1fr 1fr;align-items:center;gap:.15rem .75rem;min-width:0;display:grid}.audio-player__timestamp,.audio-player__duration{color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.82rem}.audio-player__progress{--seek-progress:0%;appearance:none;cursor:pointer;background:0 0;grid-area:2/1/auto/-1;width:100%;min-height:2rem;margin:0}.audio-player__duration{grid-area:1/2;justify-self:end}.audio-player__progress::-webkit-slider-runnable-track{background:linear-gradient(to right, #86df9a var(--seek-progress), #56616b var(--seek-progress));border-radius:999px;height:.5rem;box-shadow:inset 0 1px 2px #0005}.audio-player__progress::-moz-range-track{background:linear-gradient(to right, #86df9a var(--seek-progress), #56616b var(--seek-progress));border-radius:999px;height:.5rem}.audio-player__progress::-webkit-slider-thumb{appearance:none;background:#f3fff6;border:2px solid #b4edc0;border-radius:50%;width:1.4rem;height:1.4rem;margin-top:-.45rem;box-shadow:0 2px 5px #0006}.audio-player__progress::-moz-range-thumb{background:#f3fff6;border:2px solid #b4edc0;border-radius:50%;width:1.15rem;height:1.15rem;box-shadow:0 2px 5px #0006}.audio-player__progress:focus-visible{outline-offset:3px;border-radius:.5rem;outline:2px solid #b4edc0}.audio-player__progress:hover:not(:disabled){filter:brightness(1.12)}.audio-player__progress:disabled{opacity:.45;cursor:not-allowed}@media (width<=42rem){.audio-player__transport{flex-direction:column;align-items:stretch}.audio-player__transport-primary,.audio-player__transport-secondary{gap:.45rem}.audio-player__transport-secondary{justify-content:flex-end}}.audio-player__musical-timeline{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:0;display:flex}.audio-player__musical-position{font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:750}.audio-player__bar-jump{flex-wrap:wrap;align-items:center;gap:.5rem;padding:0;font-size:.85rem;display:flex}.audio-player__bar-input{border:1px solid var(--border-input);background:var(--color-surface-strong);width:4.25rem;min-width:0;color:inherit;font:inherit;font-variant-numeric:tabular-nums;border-radius:.35rem;padding:.4rem}.audio-player__bar-input:focus-visible{outline-offset:2px;outline:2px solid #b4edc0}.audio-player__go-label{color:var(--color-text-muted);margin-right:.2rem}.audio-player__seek-status{flex-basis:100%;margin:0;font-size:.85rem}.audio-player__seek-status:empty{display:none}.microphone-recording{box-sizing:border-box;border:1px solid #9f0e0e;border-radius:var(--radius-lg);width:100%;color:var(--color-text);background:linear-gradient(110deg, #24181c, var(--color-surface-strong) 65%);border-inline-start:3px solid #b91438}.microphone-recording[hidden]{display:none}.microphone-recording__body{gap:1rem;padding:1rem;display:grid;position:relative}.microphone-recording__close{position:absolute;top:.75rem;right:.75rem}.microphone-recording .microphone-recording__details{overflow-wrap:anywhere;min-width:0;padding-right:2.5rem}.microphone-recording .microphone-recording__details h2{font-size:1.2rem}.microphone-recording #microphone-record-button{color:#132a1a;background:#86df9a;min-width:12rem;min-height:3rem;margin:.5rem auto;font-weight:750}.microphone-recording #microphone-record-button:hover:not(:disabled){background:#a0ebb0}.microphone-recording button:focus-visible{outline-offset:3px;outline:2px solid #b4edc0}.microphone-recording__alignment[hidden]{display:none}.microphone-recording__details{gap:.35rem;display:grid}.microphone-recording__details h2,.microphone-recording__hint,.microphone-recording__status,.microphone-recording__alignment-hint{margin:0}.microphone-recording__hint,.microphone-recording__alignment-hint{color:var(--color-text-muted-cool);line-height:1.45}.microphone-recording__alignment{box-sizing:border-box;background:var(--color-surface-deep);border:0;border-radius:.65rem;min-width:0;padding:.75rem}.microphone-recording__alignment-header{cursor:pointer;border-radius:.25rem;grid-template-columns:minmax(0,1fr) auto;gap:.25rem .75rem;list-style:none;display:grid}.microphone-recording__alignment-header::-webkit-details-marker{display:none}.microphone-recording__alignment-header:after{content:"▸";grid-area:1/2/3;align-self:center}.microphone-recording__alignment[open]>summary:after{transform:rotate(90deg)}.microphone-recording__alignment-header:hover{color:var(--color-accent)}.microphone-recording__alignment-header:focus-visible{outline-offset:4px;outline:2px solid #b4edc0}.microphone-recording__alignment>.microphone-recording__alignment-actions{margin-top:.85rem}.microphone-recording__alignment>.microphone-recording__alignment-hint{margin-top:.55rem}.microphone-recording__alignment-header span{font-variant-numeric:tabular-nums;grid-column:1}.microphone-recording__alignment-hint{font-size:.82rem}.microphone-recording__alignment-actions,.microphone-recording__actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.microphone-recording__alignment-actions .button{white-space:nowrap;flex:none;min-height:2.5rem;padding:.5rem .45rem;font-size:.82rem}.microphone-recording__alignment-actions{flex-wrap:nowrap;gap:.35rem;padding:.3rem}.microphone-recording__alignment-actions .button:disabled,.microphone-recording__actions .button:disabled{cursor:not-allowed;opacity:.5}.microphone-recording__status{min-height:1.25rem;font-size:.9rem}.microphone-recording__hint{font-size:.85rem}.microphone-recording__actions .button[hidden]{display:none}.microphone-recording__take-name{min-width:min(100%,14rem)}.microphone-recording__take-name[hidden],.microphone-recording [hidden]{display:none}.microphone-recording__actions:not(:has(button:not([hidden]))){display:none}.microphone-recording .microphone-recording__stop{color:#491310;background:#ffb4ab;min-width:min(100%,14rem);min-height:3.5rem;margin:.5rem auto;font-weight:750}.microphone-recording__stop:before{content:"■";margin-right:.65rem}.microphone-recording .microphone-recording__stop:hover:not(:disabled){background:#ffcec8}.microphone-recording__review-layout{flex-wrap:wrap;align-items:flex-start;gap:1.25rem 1.5rem;display:flex}.microphone-recording__review-layout:not(:has(>:not([hidden]))){display:none}.microphone-recording__review-layout>*{box-sizing:border-box;flex:20rem;min-width:min(100%,20rem);max-width:100%}.microphone-recording__review-layout>.microphone-recording__alignment{flex:1 0 max-content;min-width:min-content}.microphone-recording__body:has(#microphone-take-review:not([hidden])){gap:1rem}.microphone-recording__review{flex-wrap:wrap;align-items:flex-start;gap:.5rem;max-width:100%;display:flex}.microphone-recording__review .button{width:auto;min-height:2.75rem;padding:.55rem .8rem;font-size:.9rem;font-weight:700}.microphone-recording__audition{flex:0 8.5rem;gap:.65rem;min-width:0;display:grid}.microphone-recording__audition label{color:var(--color-text-muted-cool);flex-wrap:wrap;justify-content:space-between;gap:.25rem;font-size:.8rem;display:flex}.microphone-recording__audition output{font-variant-numeric:tabular-nums}.microphone-recording__audition input{accent-color:#86df9a;cursor:pointer;width:100%;min-width:0;margin:0}.microphone-recording__audition input:focus-visible{outline-offset:4px;outline:2px solid #b4edc0}.microphone-recording .microphone-recording__keep{color:#132a1a;background:#86df9a}.microphone-recording .microphone-recording__keep:hover:not(:disabled){background:#a0ebb0}.microphone-recording .microphone-recording__discard{color:var(--color-danger-bg);background:#351b20;border:1px solid #b76b75}.microphone-recording .microphone-recording__discard:hover:not(:disabled){color:#fff;background:#542b34}.microphone-recording__keep-dialog{box-sizing:border-box;border:1px solid var(--border-input);width:min(30rem,100vw - 2rem);color:var(--color-text);background:var(--color-surface-strong);border-radius:1rem;padding:1.5rem;box-shadow:0 1rem 4rem #0008}.microphone-recording__keep-dialog::backdrop{background:#080d19aa}.microphone-recording__keep-dialog .input{box-sizing:border-box;width:100%;margin-top:.5rem;display:block}.microphone-recording__keep-dialog .microphone-recording__actions{justify-content:flex-end}.project-player-content,.project-player-workspace,.project-player-tracks-panel,#player-track-list,.mix-channel-panel{min-width:0}.mix-channel-panel__title{margin:0;font-size:1.2rem}.mix-channel-panel__description{color:var(--color-text-muted);margin:.25rem 0 .75rem;font-size:.8rem}.mix-channel-slots{grid-auto-columns:9rem;grid-auto-flow:column;justify-content:start;gap:.75rem;min-width:0;padding:.25rem .25rem .75rem;display:grid;overflow-x:auto}.mix-channel-slot{min-width:0}.mix-channel-slot__strip{border:1px solid var(--border-dark);border-radius:var(--radius-md);background:var(--color-surface);grid-template-rows:3.75rem 12rem 3.25rem;grid-template-areas:"name""volume""channel";min-width:0;display:grid}.mix-channel-slot__name-cell{border-bottom:1px solid var(--border-dark);grid-area:name;align-items:center;min-width:0;padding:.5rem;display:flex}.mix-channel-slot__editable-name{width:100%;min-width:0}.mix-channel-slot__track-name{overflow-wrap:anywhere;max-height:2.5em;color:var(--color-text);text-align:center;font-size:.88rem;font-weight:650;line-height:1.25;display:block;overflow:hidden}.mix-channel-slot__track-name--editable{cursor:text}.mix-channel-slot__track-name--editable:hover{background:#ffffff0d}.mix-channel-slot__track-name--editable:focus{outline:2px solid var(--color-text);outline-offset:2px;overflow-y:auto}.mix-channel-slot__strip:has(.mix-channel-slot__enabled-input:checked) .mix-channel-slot__track-name{color:#86efac}.mix-channel-slot__volume-cell{grid-area:volume;padding:.5rem}.mix-channel-slot__volume-label{grid-template-rows:auto 1fr;justify-items:center;gap:.5rem;display:grid}.mix-channel-slot__volume-value{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:.8rem}.mix-channel-slot__volume-label input[type=range]{writing-mode:vertical-lr;cursor:pointer;width:2rem;height:9.75rem;accent-color:var(--color-text-subtle);direction:rtl;margin:0}.mix-channel-slot__strip:has(.mix-channel-slot__enabled-input:checked) .mix-channel-slot__volume-label input[type=range]{accent-color:#86efac}.mix-channel-slot__volume-label input[type=range]::-webkit-slider-thumb{transform:scale(1.2)}.mix-channel-slot__volume-label input[type=range]::-moz-range-thumb{transform:scale(1.2)}.mix-channel-slot__channel-cell{grid-area:channel;justify-content:center;align-items:center;padding:.375rem;display:flex}.mix-channel-slot__channel-toggle{cursor:pointer;position:relative}.mix-channel-slot__enabled-input{opacity:0;width:1px;height:1px;position:absolute}.mix-channel-slot__channel-number{border:1px solid var(--border-input);border-radius:var(--radius-md);min-width:4.5rem;min-height:2.5rem;color:var(--color-text);background:var(--color-surface-deep);justify-content:center;align-items:center;gap:.25rem;font-size:.8rem;font-weight:700;display:flex}.mix-channel-slot__enabled-input:checked+.mix-channel-slot__channel-number{color:#132019;background:#86efac;border-color:#86efac}.mix-channel-slot__enabled-input:focus-visible+.mix-channel-slot__channel-number{outline:3px solid var(--color-text);outline-offset:2px}.mix-channel-slot__state-on,.mix-channel-slot__enabled-input:checked+.mix-channel-slot__channel-number .mix-channel-slot__state-off{display:none}.mix-channel-slot__enabled-input:checked+.mix-channel-slot__channel-number .mix-channel-slot__state-on{display:inline}.mix-channel-slot__actions{flex-direction:column;justify-content:center;gap:.35rem;min-height:3rem;padding-top:.5rem;display:flex}.mix-channel-slot__download-button{text-align:center;width:100%;padding-inline:.4rem;font-size:.75rem}.mix-channel-slot__delete-button{color:#f5b6be;background:0 0;border-color:#996068;min-height:2.25rem;padding:.35rem .75rem;font-size:.75rem}.mix-channel-slot--empty .mix-channel-slot__strip{background:0 0;grid-template-rows:19rem;grid-template-areas:"channel"}.mix-channel-slot--empty .mix-channel-slot__name-cell,.mix-channel-slot--empty .mix-channel-slot__volume-cell{display:none}.mix-channel-slot__empty-label{color:var(--color-text-muted)}.mix-channel-slot__add-track-button{border:1px dashed var(--border-input);min-height:3rem;color:var(--color-text);background:0 0;padding:.5rem;font-size:.8rem}.mix-channel-slot__add-track-button:hover{color:#333}.project-actions{margin-left:auto;position:relative}.project-actions__trigger{border:1px solid var(--border-dark);border-radius:var(--radius-pill);width:2.75rem;height:2.75rem;color:var(--color-text);background:0 0;place-items:center;padding:0;font-size:1.65rem;line-height:1;display:grid}.project-actions__trigger:hover,.project-actions__trigger[aria-expanded=true]{background:var(--color-surface-strong)}.project-actions__menu{z-index:30;border:1px solid var(--border-dark);border-radius:var(--radius-md);background:var(--color-surface);width:min(15rem,100vw - 2rem);box-shadow:var(--shadow-toolbar);position:absolute;top:calc(100% + .45rem);right:0;overflow:hidden}.project-actions__menu[hidden]{display:none}.project-actions__item{width:100%;min-height:2.9rem;color:var(--color-text);text-align:left;background:0 0;border:0;border-radius:0;justify-content:flex-start;align-items:center;padding:.75rem .9rem;display:flex}.project-actions__item:hover:not(:disabled){background:var(--color-surface-strong)}.project-actions__item:disabled{color:var(--color-text-subtle);cursor:default;opacity:.65;background:0 0}.project-actions__item--danger{color:#fecaca}.project-actions__item--danger:hover:not(:disabled){color:var(--color-danger-text);background:var(--color-danger-bg)}.project-actions__divider{background:var(--border-dark);height:1px}.auth-page{width:min(960px,100% - 2rem);min-height:100vh;margin:0 auto;padding:4rem 0}.auth-page__hero{text-align:center;margin-bottom:3rem}.auth-page__title{max-width:none;font-size:clamp(3.5rem,8vw,6rem);font-weight:500;line-height:1}.auth-page__tagline{color:var(--color-text-muted);margin:1.25rem 0 0;font-size:clamp(1.15rem,3vw,1.6rem)}.auth-page__forms{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.auth-card{padding:2rem}.auth-card__intro{min-height:3rem;color:var(--color-text-muted);line-height:1.5}.auth-form{gap:1rem;display:grid}.auth-form__hint{color:var(--color-text-subtle);margin:-.25rem 0 0;font-size:.9rem}.auth-page__status{text-align:center;min-height:1.5rem;margin:1.5rem 0 0}@media (width<=44rem){.auth-page{padding:3rem 0}.auth-page__forms{grid-template-columns:1fr}.auth-card__intro{min-height:auto}}.project-menu-page{width:min(960px,100% - 2.5rem);min-height:100vh;margin:0 auto;padding:3.5rem 0 4.5rem}.project-menu-hero{text-align:center;margin-bottom:3rem}.project-menu-hero__title{max-width:none;margin:0;font-size:clamp(3.5rem,8vw,6rem);font-weight:500;line-height:1}.project-menu-hero__tagline{color:var(--color-text-muted);margin:1.25rem 0 0;font-size:clamp(1.25rem,3vw,1.75rem)}.project-menu-session{border:1px solid var(--border-dark);border-radius:var(--radius-xl);background:var(--color-surface-strong);justify-content:space-between;align-items:center;gap:1rem;margin:0 0 2rem;padding:1rem 1.25rem;display:flex}.project-menu-session__identity{color:var(--color-text-muted);flex-wrap:wrap;gap:.35rem .5rem;margin:0;display:flex}.project-menu-session__identity span{color:var(--color-text-subtle)}.project-menu-panel{background:0 0;border:0;min-height:16rem;margin-top:0;padding:0}.project-menu-panel__title{margin:0 0 1.25rem;font-size:1.4rem;font-weight:600}.project-menu-panel__list{width:100%;display:block}.project-menu-panel__list>.loading-state{width:100%}.project-list--menu{gap:1.15rem;width:100%;margin:0;padding:0;list-style:none;display:grid}.project-list__item{margin:0}.project-card{border-radius:var(--radius-xl);background:var(--color-surface);border:2px solid #e4e4e7;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem;min-height:7rem;padding:1.1rem 1.4rem;transition:border-color .12s,background .12s,transform .12s;display:grid;box-shadow:0 .35rem 1rem #0000001a}.project-card:hover{background:#292929;transform:translateY(-1px)}.project-card--invited{--project-invitation-green:#38a832;--project-invitation-green-hover:#45bb3d;border-color:var(--project-invitation-green)}.project-card__content{gap:.55rem;min-width:0;display:grid}.project-card__heading{flex-wrap:wrap;align-items:center;gap:.65rem;min-width:0;display:flex}.project-list__title{overflow-wrap:anywhere;min-width:0;color:var(--color-text);margin:0;font-size:1.35rem;font-weight:500;line-height:1.15}.project-list__role{border-radius:var(--radius-pill);min-height:1.95rem;color:var(--color-text);letter-spacing:.035em;text-transform:uppercase;border:1px solid #e4e4e7;flex:none;align-items:center;padding:.25rem .7rem;font-size:.68rem;font-weight:750;display:inline-flex}.project-list__role--invited{color:var(--color-text);border-color:#e4e4e7}.project-list__description{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.92rem;line-height:1.45;overflow:hidden}.project-card__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.9rem;display:flex}.project-list__open-button{border-radius:var(--radius-pill);min-height:2.75rem;color:var(--color-text);background:0 0;border:0;align-items:center;gap:.45rem;padding:.55rem .7rem;font-weight:500;display:inline-flex}.project-list__open-button:hover:not(:disabled),.project-list__open-button:focus-visible{color:var(--color-page-bg);background:var(--color-accent)}.project-list__open-arrow{font-size:1.3rem;line-height:1}.project-list__invitation-action{color:#fff;background:var(--project-invitation-green);min-width:12.5rem;min-height:2.65rem;padding:.55rem 1rem;font-size:.82rem}.project-list__invitation-action:hover:not(:disabled){background:var(--project-invitation-green-hover)}.project-menu-actions{justify-content:center;margin-top:2.25rem;display:flex}.project-menu-actions__button{min-width:14rem}@media (width<=48rem){.project-menu-page{width:min(100% - 1.5rem,44rem);padding:2.5rem 0 3rem}.project-menu-hero{margin-bottom:2.5rem}.project-menu-session{flex-direction:column;align-items:flex-start}.project-card{grid-template-columns:1fr;gap:1rem}.project-card__actions{justify-content:space-between}.project-list__invitation-action{min-width:0}}@media (width<=32rem){.project-card__actions{flex-direction:column;align-items:stretch}.project-list__invitation-action,.project-list__open-button,.project-menu-actions__button{width:100%}}.create-project-page{width:min(100%,42rem);margin:0 auto}.create-project-header{margin-bottom:1.5rem}.create-project-header h1{margin-top:.5rem}.create-project-panel{padding:2rem}.create-project-form{gap:1.25rem;display:grid}.create-project-form__section{gap:.875rem;display:grid}.create-project-form__section h2{margin:0}.create-project-actions{justify-content:center;margin-top:1rem;display:flex}.create-project-actions button{min-width:14rem}.add-audio-tracks-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.tracks-to-include-section{border:1px solid var(--border-light);background:var(--color-light-surface-soft);color:var(--color-light-text);border-radius:.9rem;margin-top:1rem;padding:1rem}.tracks-to-include-section h3,.tracks-to-include-section li,.tracks-to-include-section p,.tracks-to-include-section strong,.tracks-to-include-section span{color:var(--color-light-text)}.tracks-to-include-section ul{gap:.85rem;margin:.75rem 0 0;padding-left:1.25rem;display:grid}.tracks-to-include-section li{border:1px solid var(--border-light-medium);background:var(--color-light-surface);border-radius:.75rem;padding:.75rem}.tracks-to-include-section button{margin-top:.65rem}.tracks-to-include-section .empty-state{color:var(--color-light-muted)}.create-project-confirmation-modal{gap:1.25rem;display:grid}.create-project-confirmation-modal__body{gap:1.5rem;display:grid}.create-project-confirmation-modal__section{gap:.75rem;display:grid}.create-project-confirmation-summary{gap:1rem;margin:0;display:grid}.create-project-confirmation-summary div{gap:.25rem;display:grid}.create-project-confirmation-summary dt{color:var(--color-light-muted);font-weight:700}.create-project-confirmation-summary dd{color:var(--color-light-text);margin:0}.create-project-confirmation-track-list{gap:.75rem;margin:0;padding-left:1.25rem;display:grid}.create-project-confirmation-track-list__item{color:var(--color-light-text)}.create-project-confirmation-track-list__item span{color:var(--color-light-muted);font-size:.9rem;display:block}@media (width<=40rem){.create-project-panel{padding:1.25rem}.create-project-actions button{width:100%}}.project-time-signature-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem;display:grid}.project-player-page{width:min(1180px,100% - 3rem);margin:0 auto;padding:1.5rem 0 3rem}.project-player-header{margin-bottom:1rem}.project-player-header__actions{flex-wrap:wrap;align-items:center;gap:.65rem;min-height:2.75rem;margin-bottom:1rem;display:flex}.project-player-header__actions .project-actions{margin-left:auto}.project-player-header__details{border:1px solid var(--border-dark);border-radius:var(--radius-lg);background:var(--color-surface-strong);overflow:hidden}.project-player-header__summary{cursor:pointer;align-items:center;gap:.75rem;min-height:3.25rem;padding:.75rem 1rem;list-style:none;display:flex}.project-player-header__summary::-webkit-details-marker{display:none}.project-player-header__summary-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:1.3rem;font-weight:750;overflow:hidden}.project-player-header__disclosure{border-bottom:2px solid;border-right:2px solid;flex:none;width:.65rem;height:.65rem;transition:transform .12s;transform:rotate(45deg)translateY(-.15rem)}.project-player-header__details[open] .project-player-header__disclosure{transform:rotate(225deg)translate(-.1rem,-.1rem)}.project-player-header__summary:focus-visible{outline:3px solid var(--color-accent);outline-offset:-3px}.project-player-header__details-content{border-top:1px solid var(--border-dark);gap:.55rem;padding:.75rem 1rem 1rem;display:grid}.project-player-header__eyebrow-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.project-player-header .eyebrow{color:var(--color-text-subtle);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:750}.project-role-badge,.project-member-row__role-badge{border:1px solid var(--border-input);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;min-height:1.8rem;padding:.25rem .65rem;font-size:.72rem;font-weight:750;display:inline-flex}.project-role-badge--guest{color:#86efac;border-color:#4ade80}.project-player-editable{border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;align-items:center;width:fit-content;max-width:100%;padding:.25rem .4rem;transition:background .12s,border-color .12s;display:flex}.project-player-editable--enabled:hover{border-color:var(--border-input)}.project-player-editable--enabled:focus-within{border-color:var(--color-light-button);background:var(--color-light-button)}.project-player-editable__text{outline:none;min-width:0;margin:0}.project-player-editable__text[contenteditable=true]{cursor:text}.project-player-editable--enabled:focus-within .project-player-editable__text{color:var(--color-light-text);caret-color:var(--color-light-text)}.project-player-editable__title{overflow-wrap:anywhere;max-width:100%;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:500;line-height:1.15}.project-player-editable--description{max-width:min(100%,52rem);margin-top:.05rem}.project-player-editable__description{color:var(--color-text-muted-cool);overflow-wrap:anywhere;font-size:clamp(1rem,1.7vw,1.18rem);line-height:1.5}.project-player-editable__description:empty:before{content:attr(data-placeholder);color:var(--color-text-subtle-cool)}.project-player-editable__description:focus:empty:before{content:""}.project-player-loading{min-height:18rem}.project-player-loading[hidden],.project-player-content[hidden]{display:none}.project-player-loading__state{min-height:18rem}.project-player-content{gap:1rem;display:grid}.project-player-workspace{border-radius:var(--radius-lg);background:var(--color-surface-strong);gap:1.25rem;padding:1rem;display:grid}.project-player-tracks-panel{background:0 0;border:0;margin-top:0;padding:0}#project-player-status{text-align:center;min-height:1.25rem;margin:.75rem 0 0}#player-track-list[aria-busy=true],#project-member-list[aria-busy=true]{cursor:progress}.project-member-list select[aria-busy=true]{cursor:progress;opacity:.65}.guest-access-banner,.contributor-invitation-card{border:1px solid var(--border-input);border-radius:var(--radius-xl);background:var(--color-surface-strong);gap:.75rem;margin:0;padding:1rem 1.1rem;display:grid}.guest-access-banner h2,.contributor-invitation-card h2,.guest-access-banner p,.contributor-invitation-card p{margin:0}.guest-access-banner>div,.contributor-invitation-card>div{gap:.35rem;display:grid}.guest-message-card{padding-right:3.75rem;position:relative}.guest-message-card__close{width:2.35rem;height:2.35rem;min-height:2.35rem;padding:0;position:absolute;top:.75rem;right:.75rem}.guest-message-card[hidden]{display:none}.contributor-invitation-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.contributor-invitation-card .status-message{grid-column:1/-1}.project-player-notice{border:1px solid var(--color-accent);border-radius:var(--radius-lg);background:var(--color-surface-strong);margin:0;padding:.8rem .9rem;font-weight:700}.project-members-panel{margin-top:1.5rem}.project-members-panel__header{margin-bottom:1rem}.project-member-form{grid-template-columns:minmax(0,1fr) minmax(9rem,.35fr) auto;align-items:end;gap:.75rem;margin-bottom:1rem;display:grid}.project-member-form__field{gap:.4rem;display:grid}.project-member-form input,.project-member-form select,.project-member-row select{border:1px solid var(--border-input);border-radius:var(--radius-sm);width:100%;min-height:2.75rem;color:inherit;background:0 0;padding:.65rem .75rem}.project-member-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.project-member-row{border-top:1px solid var(--border-input);grid-template-columns:minmax(0,1fr) minmax(9rem,.35fr) auto;align-items:center;gap:.75rem;padding:.85rem 0;display:grid}.project-member-row__identity{gap:.15rem;min-width:0;display:grid}.project-member-row__identity span{overflow-wrap:anywhere;opacity:.75}.project-member-row__role-badge{justify-self:start}.owner-controls-modal[hidden],.collaboration-link-modal[hidden]{display:none}.owner-controls-modal__content,.collaboration-link-modal__content{gap:1rem;display:grid}.owner-controls-modal__header,.collaboration-link-modal__header{margin-bottom:0}.owner-controls-modal .project-member-form{border:1px solid var(--border-light-medium);border-radius:var(--radius-lg);background:var(--color-light-surface-soft);grid-template-columns:minmax(0,1fr) minmax(11rem,.4fr) auto;margin:0;padding:1rem}.owner-controls-modal .project-member-form input,.owner-controls-modal .project-member-form select,.owner-controls-modal .project-member-row select{color:var(--color-light-text);background:var(--color-light-surface);border-color:var(--border-light-strong)}.owner-controls-modal__status,.project-invitation-controls__status{min-height:1.4rem}.project-invitation-controls{border:1px solid var(--border-light-medium);border-radius:var(--radius-lg);background:var(--color-light-surface-soft);gap:.85rem;padding:1rem;display:grid}.project-invitation-controls__heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;display:flex}.project-invitation-controls__heading h3,.project-invitation-controls__warning,.project-invitation-controls__status{color:var(--color-light-text);margin:0}.project-invitation-controls__badge{border:1px solid var(--color-accent);border-radius:var(--radius-pill);color:#166534;letter-spacing:.035em;text-transform:uppercase;align-items:center;min-height:1.75rem;padding:.2rem .55rem;font-size:.72rem;font-weight:750;display:inline-flex}.project-invitation-controls__link{border:1px solid var(--border-light-strong);border-radius:var(--radius-md);width:100%;min-height:3rem;color:var(--color-light-text);background:var(--color-light-surface);font:inherit;padding:.7rem .8rem}.project-invitation-controls__link[hidden],.project-invitation-controls__actions button[hidden]{display:none}.project-invitation-controls__actions{flex-wrap:wrap;gap:.65rem;display:flex}.project-invitation-controls__secondary-action{color:var(--color-light-text);background:var(--color-light-button);border:1px solid var(--border-light-strong)}.project-invitation-controls__secondary-action:hover:not(:disabled){background:var(--color-light-button-hover)}@media (width<=58rem){.project-player-page{width:min(100% - 2rem,54rem)}}@media (width<=42rem){.project-player-page{width:min(100% - 1.5rem,40rem);padding-top:1.75rem}.project-player-header__actions{align-items:stretch}.project-player-header__actions>.button{flex:auto}.contributor-invitation-card{grid-template-columns:1fr}.contributor-invitation-card__button,.project-invitation-controls__actions .button{width:100%}.project-member-form,.project-member-row,.owner-controls-modal .project-member-form{grid-template-columns:1fr}.project-member-row__remove-button,.project-member-row__role-control{width:100%}}.project-musical-timeline-summary{margin-top:.45rem;font-size:.9rem}.project-player-header__summary .project-role-badge{flex:none}#project-player-status:empty{display:none}.stem-download-guidance{color:var(--color-text-muted);margin-bottom:.85rem;font-size:.88rem}.stem-download-guidance p{margin:.2rem 0}.desktop-project-player-page :is(button,input[type=range],.mix-channel-slots):focus-visible{outline-offset:3px;outline:2px solid #b4edc0}@media (width<=56rem){.app-shell{width:min(100%,48rem);padding-inline:1rem}.project-player-page{width:min(100%,48rem)}}@media (width<=44rem){.project-player-header__actions{align-items:stretch}.project-player-header__actions .button{flex:auto;justify-content:center}.project-player-tracks-panel{padding:0}}
