@font-face{font-family:Geist;src:url(/fonts/Geist-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;accent-color:var(--muted-foreground);--background:#0a0a0a;--card:#171717;--muted:#262626;--border:#ffffff1a;--input:#ffffff26;--foreground:#fafafa;--muted-foreground:#a1a1a1;--subtle-foreground:#737373;--primary:#e5e5e5;--primary-foreground:#171717;--ring:#737373;--well:#0f0f0f;--destructive:#ef4444;--success:#22c55e;--warning:#eab308;--canvas:var(--background);--panel:var(--card);--raised:var(--muted);--line:var(--border);--ink:var(--foreground);--ink-muted:var(--muted-foreground);--over:var(--destructive);--meter-low:#22c55e;--meter-mid:#eab308;--meter-high:#f97316;--hue-0:#f2b84b;--hue-1:#e8735a;--hue-2:#d65c8e;--hue-3:#9b6fe0;--hue-4:#5c8de8;--hue-5:#3fb7c9;--hue-6:#4cc38a;--hue-7:#b5d65c;--hue-8:#e39a5f;--hue-9:#c77dba;--hue-10:#6fa8dc;--hue-11:#7ed6c3;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--font:"Geist", system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, monospace;--track-col-width:150px;--scene-rail-width:168px;--row-height:40px}*{box-sizing:border-box}html,body{height:100dvh;margin:0}body{background:var(--background);color:var(--foreground);font-family:var(--font);font-feature-settings:"tnum";-webkit-font-smoothing:antialiased;font-size:13px}#root{height:100%}button,input,select{font-feature-settings:inherit;color:inherit;font-family:inherit}button{border:1px solid var(--input);height:32px;color:var(--foreground);border-radius:var(--radius-md);cursor:pointer;background:#ffffff08;padding:0 12px;font-size:13px;font-weight:500}button:hover{background:#ffffff0f}button:disabled{opacity:.5;cursor:default}input,select{border:1px solid var(--input);height:32px;color:var(--foreground);border-radius:var(--radius-md);background:#ffffff08;padding:0 10px}.tabular-nums,input[type=number]{font-family:var(--font-mono)}a{color:var(--foreground)}a:hover{color:var(--muted-foreground)}input[type=range]{appearance:none;cursor:pointer;background:0 0;border:none;padding:0}input[type=range]::-webkit-slider-runnable-track{background:var(--muted);border:none;border-radius:2px}input[type=range]::-moz-range-track{background:var(--muted);border:none;border-radius:2px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--background);border:1.5px solid var(--primary);box-sizing:border-box;border-radius:999px}input[type=range]::-moz-range-thumb{background:var(--background);border:1.5px solid var(--primary);box-sizing:border-box;border-radius:999px}input[type=range]:not(.fader-vertical){height:14px}input[type=range]:not(.fader-vertical)::-webkit-slider-runnable-track{height:4px}input[type=range]:not(.fader-vertical)::-moz-range-track{height:4px}input[type=range]:not(.fader-vertical)::-webkit-slider-thumb{width:14px;height:14px;margin-top:-5px}input[type=range]:not(.fader-vertical)::-moz-range-thumb{width:14px;height:14px}select{appearance:none;background-color:#ffffff08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23A1A1A1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;padding-right:26px}select:hover,select:focus-visible{border-color:var(--muted-foreground)}:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 50%, transparent), 0 0 0 1px var(--ring);outline:none}.ring-selected{box-shadow:0 0 0 2px var(--card), 0 0 0 4px var(--primary)}.tabular-nums{font-feature-settings:"tnum"}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.beat-pulse{animation:none!important}}@keyframes beat-pulse{0%{opacity:1}to{opacity:.55}}.tabular-nums,input,select,[role=slider],[aria-valuenow],.meter-label,.knob-label,.compressor-meter-label,.piano-roll-toolbar,.clip-view-toolbar,.step-grid-pages,.step-grid-toolbar,table{font-variant-numeric:tabular-nums}.knob{-webkit-user-select:none;user-select:none;touch-action:none;flex-direction:column;align-items:center;gap:2px;min-width:44px;max-width:68px;display:flex}.knob-dial{cursor:ns-resize;border-radius:50%}.knob-dial:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.knob-track{stroke:var(--muted);stroke-linecap:round}.knob-value{stroke-linecap:round}.knob-cap{fill:var(--card);stroke:var(--border)}.knob-pointer{stroke:var(--foreground);stroke-linecap:round}.knob.dragging .knob-dial{cursor:ns-resize}.knob-label{color:var(--ink-muted);text-align:center;min-height:14px;font-size:12px;line-height:1.15}.knob-value-readout{color:var(--ink)}.knob-group{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:4px;padding:6px 8px;display:flex}.knob-group-title{color:var(--ink-muted);font-size:12px}.knob-grid{flex-wrap:wrap;gap:10px;display:flex}.knob-grid-2col{grid-template-columns:repeat(2,1fr);gap:2px 6px;display:grid}.knob-column{flex:none;width:108px}.segmented{background:var(--muted);border-radius:var(--radius-lg);border:none;flex-wrap:wrap;gap:2px;width:100%;padding:3px;display:flex}.segmented-option{color:var(--muted-foreground);background:0 0;border:1px solid #0000;border-radius:7px;flex:auto;height:26px;padding:4px 6px;font-size:12px;font-weight:500}.segmented-option.selected{color:var(--foreground);background:var(--background);border-color:var(--input)}.segmented-option:hover{color:var(--foreground)}.inline-editable-input{font:inherit;color:inherit;background:var(--raised);border:1px solid var(--line);border-radius:2px;min-width:0;padding:0 2px}.inline-editable-input:focus-visible{outline:2px solid var(--ink);outline-offset:-1px}.colour-swatch-picker{top:var(--row-height);z-index:2;background:var(--panel);border:1px solid var(--line);border-radius:4px;grid-template-columns:repeat(4,1fr);gap:4px;padding:6px;display:grid;position:absolute;left:0;box-shadow:0 4px 12px #0006}.colour-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:20px;height:20px;padding:0}.colour-swatch:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.colour-swatch.selected{border-color:var(--ink)}.btn-primary{background:var(--primary);color:var(--primary-foreground);border-color:#0000}.btn-primary:hover{background:var(--primary);opacity:.92}.btn-ghost{color:var(--foreground);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--muted)}.btn-destructive{background:color-mix(in srgb, var(--destructive) 20%, transparent);color:#fca5a5;border-color:#0000}.btn-destructive:hover{background:color-mix(in srgb, var(--destructive) 28%, transparent)}.btn-icon{justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.btn-icon.sm{border-radius:var(--radius-sm);width:24px;height:24px}.btn-group{border:1px solid var(--input);border-radius:var(--radius-md);background:#ffffff08;display:flex;overflow:hidden}.btn-group>button{background:0 0;border:none;border-radius:0}.btn-group>button:not(:last-child){border-right:1px solid var(--input)}.btn-group>button:hover{background:var(--muted)}.btn-group>button.active,.btn-group>button[aria-pressed=true]{background:var(--primary);color:var(--primary-foreground)}.input-affix{border-radius:var(--radius-md);border:1px solid var(--input);height:32px;color:var(--foreground);background:#ffffff08;align-items:center;gap:6px;padding:0 10px;display:flex}.input-affix input{background:0 0;border:none;flex:auto;min-width:0;height:auto;padding:0}.input-affix input:focus-visible{box-shadow:none}.input-affix-unit{color:var(--muted-foreground);white-space:nowrap;font-size:12px}.badge{height:22px;color:var(--muted-foreground);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:500;display:inline-flex}.badge-outline{border:1px solid var(--border)}.badge-muted{background:var(--muted);color:var(--foreground)}.badge-destructive{background:color-mix(in srgb, var(--destructive) 15%, transparent);color:#fca5a5}.badge-success{background:color-mix(in srgb, var(--success) 15%, transparent);color:#86efac}.badge-dot{background:currentColor;border-radius:999px;flex:none;width:6px;height:6px}kbd,.kbd{font-family:var(--font-mono);background:var(--muted);color:var(--muted-foreground);border-radius:4px;padding:1px 5px;font-size:11px}.switch{cursor:pointer;background:0 0;border:none;flex:none;width:34px;height:20px;padding:0;display:inline-flex;position:relative}.switch-track{background:var(--muted);pointer-events:none;border-radius:999px;transition:background-color .1s;position:absolute;inset:0}.switch[aria-checked=true] .switch-track{background:var(--primary)}.switch-thumb{background:var(--muted-foreground);pointer-events:none;border-radius:999px;width:16px;height:16px;transition:left .1s;position:absolute;top:2px;left:2px}.switch[aria-checked=true] .switch-thumb{background:var(--background);left:16px}.switch:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 50%, transparent), 0 0 0 1px var(--ring)}.menu-surface,.popover-surface{background:var(--background);border:1px solid var(--input);border-radius:var(--radius-xl);box-shadow:0 16px 40px #00000080}.menu-item{height:32px;color:var(--foreground);text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;width:100%;padding:0 8px;font-size:13px;display:flex}.menu-item:hover,.menu-item:focus-visible,.menu-item.active{background:var(--muted);box-shadow:none}.menu-group-label{color:var(--muted-foreground);padding:6px 8px 4px;font-size:12px;font-weight:500}.context-menu-root{z-index:1000;pointer-events:none;position:fixed;inset:0}.context-menu{pointer-events:auto;flex-direction:column;gap:2px;min-width:180px;max-width:320px;padding:6px;display:flex}.context-menu-item{justify-content:flex-start}.context-menu-item-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.context-menu-item:disabled{color:var(--subtle-foreground);cursor:default}.context-menu-item:disabled:hover{background:0 0}.context-menu-item.destructive{color:#fca5a5}.context-menu-item.destructive:hover,.context-menu-item.destructive:focus-visible{background:color-mix(in srgb, var(--destructive) 20%, transparent)}.context-menu-shortcut{flex:none}.context-menu-chevron{color:var(--muted-foreground);flex:none;font-size:14px;line-height:1}.menu-separator{background:var(--border);flex:none;height:1px;margin:4px}.session-grid{flex-direction:row;flex:auto;align-items:flex-start;gap:8px;min-height:0;padding:16px;display:flex;overflow-y:auto}.grid-tracks-scroll{flex:auto;min-width:0;overflow-x:auto}@media (width<=767px){:root{--track-col-width:132px;--scene-rail-width:120px}}.tracks-area{flex-direction:row;align-items:flex-start;gap:8px;display:flex}.track-column{width:var(--track-col-width);flex:0 0 var(--track-col-width);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);flex-direction:column;gap:4px;padding:8px;display:flex;position:relative}.track-column.track-selected{border-color:#ffffff2e}.track-header{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border-bottom:none;align-items:center;gap:8px;height:28px;padding:0 4px;display:flex;position:relative;overflow:hidden}.track-play-triangle{border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:6px solid var(--foreground);flex:none;width:0;height:0}.track-colour-dot{border-radius:3px;flex:none;width:8px;height:8px}.track-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:13px;font-weight:500;overflow:hidden}.track-remove{height:auto;color:var(--muted-foreground);visibility:hidden;background:0 0;border:none;padding:0 2px;font-size:13px;line-height:1}.track-header:hover .track-remove{visibility:visible}.add-track-column{background:0 0;border:none;flex:0 0 120px;order:2;justify-content:flex-start;align-self:flex-start;align-items:center;width:120px;padding:0}.track-column-return{order:1}.track-column-first-return{margin-left:8px}.add-track,.add-scene{border:1px dashed var(--input);border-radius:var(--radius-xl);color:var(--muted-foreground);background:0 0;justify-content:center;align-items:center;gap:6px;width:100%;height:44px;display:flex}.scene-rail .track-stop{width:100%}.master-strip-label{font-size:12px;font-weight:500}.slot{cursor:pointer;background:0 0;border:1px dashed #ffffff14;border-radius:7px;align-items:center;gap:6px;width:100%;height:32px;padding:0 8px;font-size:12px;font-weight:500;display:flex;position:relative}.slot.empty{border-style:dashed}.slot:not(.empty){border-style:solid;border-color:color-mix(in srgb, var(--fill,transparent) 22%, transparent)}.slot.pending{border-style:dashed;border-color:var(--fill,transparent)}.slot.playing{border-color:var(--fill,transparent);color:var(--background)}.slot.selected{box-shadow:0 0 0 2px var(--card), 0 0 0 4px var(--primary)}.slot.drag-over{outline:2px dashed var(--muted-foreground);outline-offset:-2px}.slot-fill{border-radius:inherit;background-color:color-mix(in srgb, var(--fill,transparent) 12%, transparent);opacity:1;position:absolute;inset:0}.slot.playing .slot-fill{background-color:var(--fill,transparent)}.slot.pending .slot-fill{background-color:color-mix(in srgb, var(--fill,transparent) 12%, transparent)}.slot-fill.dimmed{opacity:1}.slot-triangle{pointer-events:none;z-index:1;border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:7px solid;flex:none;order:-1;width:0;height:0;position:relative}.slot-triangle.pulsing{animation:.5s ease-in-out infinite alternate beat-pulse}.slot-peaks{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.slot-clip-name{text-overflow:ellipsis;white-space:nowrap;pointer-events:none;flex:auto;min-width:0;font-size:12px;line-height:1.2;position:relative;overflow:hidden}.slot-meta{font-family:var(--font-mono);color:var(--subtle-foreground);pointer-events:none;flex:none;font-size:10px;position:relative}.slot.playing .slot-meta{color:color-mix(in srgb, var(--background) 60%, transparent)}.slot-add-to-arrangement{z-index:2;background:color-mix(in srgb, var(--background) 70%, transparent);width:16px;min-width:0;height:16px;color:var(--foreground);opacity:.55;border:none;padding:0;position:absolute;top:2px;right:2px}.slot:hover .slot-add-to-arrangement,.slot:focus-within .slot-add-to-arrangement,.slot-add-to-arrangement:hover,.slot-add-to-arrangement:focus-visible{opacity:1}.slot-ring{pointer-events:none;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.slot.playing .slot-ring circle{animation:.5s ease-in-out infinite alternate beat-pulse}.slot-asset-status{z-index:2;background:color-mix(in srgb, var(--background) 80%, transparent);width:14px;height:14px;color:var(--muted-foreground);pointer-events:none;border-radius:50%;justify-content:center;align-items:center;font-size:10px;line-height:1;display:flex;position:absolute;top:2px;left:2px}.slot-asset-status[data-asset-status=loading]{animation:.8s ease-in-out infinite alternate beat-pulse}.slot-asset-status[data-asset-status=error]{color:var(--destructive);font-weight:700}.slot-hint{text-align:center;color:var(--muted-foreground);background:var(--card);border-radius:inherit;pointer-events:none;justify-content:center;align-items:center;padding:2px;font-size:11px;line-height:1.1;display:none;position:absolute;inset:0}.slot.empty:hover .slot-hint,.slot.empty:focus-visible .slot-hint{display:flex}.slot-progress-track{pointer-events:none;z-index:1;background:#0a0a0a40;border-radius:2px;height:2px;position:absolute;bottom:3px;left:6px;right:6px}.slot-progress{background:#0a0a0ae6;border-radius:2px;height:2px;display:block}.track-stop{height:24px;color:var(--muted-foreground);border-radius:var(--radius-sm);background:0 0;border:none;font-size:11px}.track-stop:hover{background:var(--muted)}.track-stop.stopped{opacity:.5}.track-stop-spacer{visibility:hidden}.track-return-slots{color:var(--muted-foreground);border:1px dashed #ffffff14;border-radius:7px;justify-content:center;align-items:center;font-size:12px;font-weight:500;display:flex}.track-divider{background:var(--border);height:1px;margin:2px -8px}.mixer-strip{background:0 0;flex-direction:column;align-items:center;gap:6px;padding-top:4px;display:flex}.fader-pair{flex-direction:row;align-items:flex-end;gap:4px;height:112px;display:flex}.level-meter{--meter-bars-height:100px;flex-direction:column;align-items:stretch;gap:3px;width:11px;height:112px;display:flex}.clip-light{background:var(--muted);border:none;border-radius:2px;height:5px;padding:0}.clip-light.lit{background:var(--destructive);box-shadow:0 0 8px color-mix(in srgb, var(--destructive) 70%, transparent)}.level-meter-bars{height:var(--meter-bars-height);gap:2px;display:flex;position:relative}.level-meter-bar{background:var(--muted);border-radius:2px;flex:1;align-items:flex-end;display:flex;overflow:hidden}.level-meter-fill{background:linear-gradient(to top, var(--meter-low) 0%, var(--meter-low) 58%, var(--meter-mid) 68%, var(--meter-mid) 78%, var(--meter-high) 84%, var(--meter-high) 90.9%, var(--over) 90.9%, var(--over) 100%);background-size:100% var(--meter-bars-height);background-position:bottom;width:100%}.level-meter-zero{pointer-events:none;background:#ffffff4d;height:1px;position:absolute;left:-2px;right:-2px}.level-meter-hold{background:var(--foreground);pointer-events:none;height:2px;margin-bottom:-1px;position:absolute;left:0;right:0}.level-meter-hold.over{background:var(--over)}.level-meter-hold.hidden{display:none}.fader-vertical{writing-mode:vertical-lr;direction:rtl;width:16px;height:112px}.fader-vertical::-webkit-slider-runnable-track{border-radius:2px;width:4px}.fader-vertical::-moz-range-track{border-radius:2px;width:4px}.fader-vertical::-webkit-slider-thumb{width:14px;height:14px;margin-left:-5px}.fader-vertical::-moz-range-thumb{width:14px;height:14px}.mixer-readouts{justify-content:space-between;align-items:center;width:100%;padding:0 2px;display:flex}.meter-label{font-size:11px;font-family:var(--font-mono);color:var(--foreground);background:0 0;border:none;height:auto;padding:0}.meter-label.over{color:var(--over)}.mixer-gain-readout{color:var(--muted-foreground);font-size:11px}.mixer-field{flex-direction:column;align-items:center;gap:2px;width:100%;display:flex}.mixer-field-label{font-size:11px;font-family:var(--font-mono);color:var(--muted-foreground)}.mixer-field input[type=range]{width:90%}.mixer-disclosure{display:none}.mixer-disclosure svg{transition:transform .1s}.mixer-disclosure.expanded svg{transform:rotate(180deg)}.mixer-extra{flex-direction:column;align-items:center;gap:6px;width:100%;display:flex}@media (width<=767px){.mixer-disclosure{height:24px;color:var(--muted-foreground);align-items:center;gap:4px;padding:0 6px;font-size:11px;display:flex}.mixer-extra{display:none}.mixer-extra.expanded{display:flex}}.mixer-sends{flex-direction:column;align-items:flex-start;gap:4px;width:100%;display:flex}.mixer-sends-label{color:var(--muted-foreground);font-size:11px}.mixer-sends-row{gap:6px;width:100%;display:flex;overflow-x:auto}.mixer-sends-row .knob{flex:none;width:32px;min-width:0}.mixer-sends-row .knob-label{font-size:10px}.msa-row{border:1px solid var(--border);border-radius:var(--radius-sm);gap:0;width:100%;display:flex;overflow:hidden}.msa-row button{border:none;border-right:1px solid var(--border);height:24px;color:var(--muted-foreground);background:0 0;border-radius:0;flex:1 1 0;padding:0;font-size:11px;font-weight:500}.msa-row button:last-child{border-right:none}.msa-row button.active{background:var(--primary);color:var(--primary-foreground)}.arm-button{justify-content:center;align-items:center;display:flex}.arm-button.active{background:color-mix(in srgb, var(--destructive) 20%, transparent);color:var(--destructive)}.scene-rail{flex:0 0 var(--scene-rail-width);width:var(--scene-rail-width);box-sizing:border-box;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);flex-direction:column;align-self:flex-start;gap:4px;margin-left:auto;padding:8px;display:flex}.scene-rail-header{box-sizing:border-box;background:0 0;border-bottom:none;justify-content:space-between;align-items:center;gap:8px;height:28px;padding:0 4px;display:flex}.scene-rail-title{font-size:13px;font-weight:500}.scene-row{border-bottom:none;border-radius:7px;align-items:center;gap:8px;height:32px;padding:0 8px;font-size:12px;font-weight:500;display:flex}.scene-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:12px;font-weight:500;overflow:hidden}.scene-number{color:var(--subtle-foreground);flex:none;font-size:11px}.scene-launch{background:var(--muted);width:20px;height:20px;color:var(--muted-foreground);border:none;border-radius:5px;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.scene-launch.filled{background:var(--primary);color:var(--primary-foreground)}.scene-remove{height:auto;color:var(--muted-foreground);background:0 0;border:none;flex:none;padding:0 2px}.scene-launch svg{display:block}.master-strip{gap:4px;padding-top:4px}.master-strip-row{justify-content:space-between;align-items:center;width:100%;padding:0 2px;display:flex}.browser-panel{border-right:1px solid var(--border);background:var(--background);flex-direction:column;flex:0 0 256px;min-height:0;display:flex;overflow:hidden}.browser-panel.collapsed{flex:none}@media (width>=1025px) and (width<=1279px){.browser-panel:not(.collapsed){flex-basis:208px}}@media (width<=1024px){.browser-panel{z-index:60;flex-basis:280px;width:280px;transition:transform .15s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:0 16px 40px #00000080}.browser-panel.sheet-open{transform:translate(0)}.browser-sheet-close{margin-left:auto}}@media (width>=1025px){.browser-panel{position:relative;transform:none}}.browser-sheet-backdrop{display:none}@media (width<=1024px){.browser-sheet-backdrop.open{z-index:55;background:#00000080;display:block;position:fixed;inset:0}}.panel-header{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:6px;height:40px;padding:0 12px;display:flex}.collapse-toggle{color:var(--muted-foreground)}.browser-body{flex-direction:column;flex:auto;gap:12px;min-height:0;padding:12px;display:flex}.browser-search{color:var(--muted-foreground);flex:none}.browser-search input{min-width:0}.browser-tabs{flex:none}.browser-list{flex-direction:column;flex:auto;gap:2px;min-height:72px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.browser-group-header{color:var(--muted-foreground);padding:8px 8px 4px;font-size:12px;font-weight:500}.browser-item{cursor:grab;border-radius:6px;flex:none;align-items:center;gap:10px;height:32px;padding:0 8px;font-size:13px;display:flex}.browser-item:hover{background:var(--muted)}.browser-item-glyph{background:var(--muted);border:1px solid var(--border);width:20px;height:20px;font-family:var(--font-mono);color:var(--muted-foreground);border-radius:5px;flex:none;justify-content:center;align-items:center;font-size:10px;display:flex}.browser-item-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.browser-item-hint{color:var(--subtle-foreground);flex:none;font-size:12px}.drop-zone{border:1px dashed var(--input);border-radius:var(--radius-lg);height:auto;color:var(--muted-foreground);text-align:center;background:0 0;flex-direction:column;flex:none;align-items:center;gap:4px;padding:14px;font-size:12px;display:flex}.drop-zone-title{color:var(--foreground);font-size:13px;font-weight:500}.drop-zone-subtitle{color:var(--muted-foreground)}@media (height<=820px){.drop-zone{flex-direction:row;justify-content:center;gap:8px;padding:8px 10px}.drop-zone-subtitle{display:none}}.add-track-menu-wrapper{width:100%;display:flex;position:relative}.add-track-menu-wrapper .add-track{flex:auto}.add-track-menu{z-index:10;background:var(--background);border:1px solid var(--input);border-radius:var(--radius-xl);flex-direction:column;gap:2px;min-width:150px;padding:6px;display:flex;position:absolute;top:48px;left:0;box-shadow:0 16px 40px #00000080}.add-track-menu button{text-align:left;background:0 0;border:none;border-radius:6px;height:32px;padding:0 8px;font-size:13px}.add-track-menu button:hover{background:var(--muted)}.device-panel{background:var(--background);border-top:1px solid var(--border);flex:none;align-items:flex-start;gap:10px;min-height:32px;padding:12px;display:flex;overflow:auto}.device-panel.collapsed{min-height:0}.project-page>.device-panel{max-height:45vh}.device-panel .collapse-toggle{color:var(--muted-foreground)}@media (width>=768px) and (width<=1024px){.device-panel:not(.collapsed){max-height:45vh;overflow-y:auto}}@media (width<=767px){.device-panel:not(.collapsed){max-height:40vh;overflow-y:auto}}.device-panel-empty{color:var(--muted-foreground);font-size:12px}.device-panel-row{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.device-panel-track{font-size:13px;font-weight:500}.device-panel-sep{color:var(--subtle-foreground)}.device-instance{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--well);flex-direction:column;display:flex;overflow:hidden}.device-instance-header{box-sizing:border-box;border-bottom:1px solid #ffffff14;flex:none;align-items:center;gap:10px;height:44px;padding:0 12px;display:flex}.device-instance-body{flex-wrap:wrap;align-items:flex-start;gap:28px;padding:18px 20px;transition:opacity .1s;display:flex}.device-instance.device-disabled .device-instance-body{opacity:.5}.device-name{color:var(--foreground);font-size:14px;font-weight:500}.device-remove{margin-left:auto}.param-control{align-items:center;gap:4px;display:flex}.param-name{color:var(--muted-foreground);font-size:11px}.param-value-row{cursor:ns-resize;align-items:center;gap:4px;display:flex}.param-value{border:1px solid var(--input);border-radius:var(--radius-sm);width:52px;height:auto;font-size:12px;font-family:var(--font-mono);background:#ffffff08;padding:1px 4px}.param-formatted{display:none}.device-panel-row .add-device{border:1px solid var(--input);color:var(--foreground);background:#ffffff08}.add-device-wrap{flex:none;position:relative}.add-device-menu{z-index:50;background:var(--background);border:1px solid var(--input);border-radius:var(--radius-xl);flex-direction:column;gap:2px;min-width:140px;padding:6px;display:flex;position:absolute;top:100%;left:0;box-shadow:0 16px 40px #00000080}.add-device-menu button{text-align:left;background:0 0;border:none;border-radius:6px;height:32px;padding:0 8px;font-size:13px}.add-device-menu button:hover{background:var(--muted)}.project-page{flex-direction:column;height:100%;display:flex}.transport-bar{background:var(--background);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:12px;height:56px;padding:0 16px;display:flex}.transport-left{flex:1 1 0;align-items:center;gap:10px;min-width:0;display:flex}.transport-centre{flex:none;align-items:center;gap:8px;display:flex}.transport-right{flex:1 1 0;justify-content:flex-end;align-items:center;gap:12px;display:flex}.transport-browser-toggle{flex:none;display:none}@media (width<=1024px){.transport-browser-toggle{display:inline-flex}}.transport-logo{border-radius:var(--radius-md);background:var(--primary);height:28px;color:var(--primary-foreground);letter-spacing:-.02em;flex:none;justify-content:center;align-items:center;padding:0 8px;font-size:13px;font-weight:600;text-decoration:none;display:flex}.transport-breadcrumb{align-items:center;gap:6px;min-width:0;font-size:14px;display:flex;overflow:hidden}.transport-breadcrumb-root{color:var(--muted-foreground);flex:none;text-decoration:none}.transport-breadcrumb-sep{color:var(--subtle-foreground);flex:none}.transport-breadcrumb-current{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.transport-transport-buttons .btn-icon{width:36px;height:34px;color:var(--muted-foreground);border-radius:0}.transport-transport-buttons .btn-icon.active{background:var(--foreground);color:var(--background)}.transport-transport-buttons .btn-icon:disabled{color:var(--muted-foreground);opacity:.4}.transport-position{border-radius:var(--radius-md);background:var(--card);border:1px solid var(--border);letter-spacing:-.02em;justify-content:center;align-items:center;min-width:92px;height:34px;padding:0 12px;font-size:15px;font-weight:500;display:flex}.transport-tempo-affix{height:34px}.transport-tempo{width:54px;border:none!important}.transport-timesig{height:34px;font-family:var(--font-mono)}.transport-quantise{align-items:center;gap:6px;height:34px;display:flex}.transport-quantise select{height:34px}.transport-quantise-label{color:var(--muted-foreground);white-space:nowrap;font-size:13px}.transport-sync-status{flex:none}.transport-view-toggle{flex:none;width:auto;height:28px}.transport-view-toggle .segmented-option{flex:none;padding:4px 12px}.transport-back-to-arrangement{white-space:nowrap;flex:none}.transport-record-arrangement{white-space:nowrap;flex:none;align-items:center;gap:6px;display:inline-flex}.transport-record-arrangement.active{background:var(--destructive,#e5484d);color:var(--destructive-foreground,#fff);border-color:var(--destructive,#e5484d)}.transport-record-arrangement:disabled{cursor:default;opacity:.7}.people-list{flex:none;align-items:center;display:flex}.person-avatar{background:var(--muted);border:2px solid var(--background);box-sizing:border-box;width:28px;height:28px;color:var(--foreground);border-radius:999px;justify-content:center;align-items:center;font-size:11px;font-weight:500;display:flex}.person-avatar:not(:first-child){margin-left:-8px}.transport-menu{color:var(--muted-foreground)}@media (width<=1279px){.transport-quantise-label{display:none}}@media (width<=1024px){.transport-breadcrumb-root,.transport-breadcrumb-sep{display:none}.transport-transport-buttons .btn-icon{width:44px;height:40px}.transport-record-arrangement{display:none}}.transport-overflow-record-arrangement{display:none}@media (width<=1024px){.transport-overflow-record-arrangement{display:flex}}.transport-overflow-phone-only{display:none}@media (width<=767px){.transport-bar{flex-wrap:wrap;gap:8px;height:auto;padding:8px 12px}.transport-left{flex:auto;order:1;min-width:0}.transport-right{flex:none;order:2}.transport-centre{flex:100%;order:3;justify-content:flex-start;overflow-x:auto}.transport-timesig,.transport-quantise{display:none}.transport-overflow-phone-only{flex-direction:column;gap:4px;display:flex}}.transport-overflow-timesig{font-family:var(--font-mono);padding:0 8px 4px;font-size:13px}.import-error{background:var(--panel);color:var(--over);border-bottom:1px solid var(--line);padding:6px 10px;font-size:12px}.project-body{flex-direction:row;flex:auto;min-height:0;display:flex}.grid-empty-wrapper,div.grid-empty{color:var(--ink-muted);flex-direction:column;flex:auto;justify-content:flex-start;align-items:flex-start;gap:10px;padding:10px 6px;display:flex}p.grid-empty{color:var(--ink-muted);margin:0}.project-list-page{background:var(--background);min-height:100%}.project-list-header{box-sizing:border-box;border-bottom:1px solid var(--border);align-items:center;gap:12px;height:56px;padding:0 24px;display:flex}.project-list-wordmark{margin:0;font-size:15px;font-weight:600}.project-list-nav{gap:4px;margin-left:16px;display:flex}.project-list-nav-item{height:32px;color:var(--muted-foreground);border-radius:7px;align-items:center;padding:0 12px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.project-list-nav-item.active{background:var(--muted);color:var(--foreground)}.project-list-header-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.account-menu-wrapper{position:relative}.account-avatar{background:var(--muted);border:1px solid var(--border);border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:11px;font-weight:500;display:flex}.account-menu{z-index:10;flex-direction:column;gap:2px;min-width:220px;padding:6px;display:none;position:absolute;top:38px;right:0}.account-menu.open{display:flex}.account-signed-in{padding:6px 8px 4px}.project-list-body{justify-content:center;padding:40px 24px;display:flex}.project-list-content{flex-direction:column;gap:24px;width:100%;max-width:1120px;display:flex}.project-list-title-row{align-items:flex-end;gap:16px;display:flex}.project-list-title-col{flex-direction:column;flex:auto;gap:6px;display:flex}.project-list-title-col h2{letter-spacing:-.025em;margin:0;font-size:30px;font-weight:600}.project-list-subtitle{color:var(--muted-foreground);margin:0}.project-list-new{flex:none;align-items:center;gap:8px;height:36px;padding:0 14px;display:inline-flex}.project-list-tabs{width:fit-content}.project-list-empty{color:var(--muted-foreground)}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}@media (width<=767px){.project-grid{grid-template-columns:1fr}.project-list-body{padding:24px 16px}.project-list-title-row{flex-direction:column;align-items:stretch}.project-list-new{justify-content:center}}.project-card{color:var(--foreground);border-radius:var(--radius-xl);background:var(--card);border:1px solid var(--border);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.project-card-preview{box-sizing:border-box;background:var(--well);border-bottom:1px solid #ffffff14;grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;height:132px;padding:16px;display:grid}.project-card-cell{border:1px dashed #ffffff0f;border-radius:4px}.project-card-preview-blank{display:block}.project-card-body{flex-direction:column;gap:10px;padding:14px 16px 16px;display:flex}.project-card-title-row{align-items:center;gap:8px;display:flex}.project-card-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:15px;font-weight:500;overflow:hidden}.project-card-role{text-transform:capitalize}.project-card-meta{font-family:var(--font-mono);color:var(--muted-foreground);font-size:12px}.project-card-footer{align-items:center;min-height:24px;display:flex}.project-card-spacer{flex:auto}.project-card-menu-wrapper{position:relative}.project-card-menu{z-index:10;flex-direction:column;gap:2px;min-width:200px;padding:6px;display:flex;position:absolute;bottom:100%;right:0}.project-card-new{border-radius:var(--radius-xl);border:1px dashed var(--input);color:var(--muted-foreground);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:10px;height:auto;min-height:250px;padding:0;font-size:14px;font-weight:500;display:flex}.project-card-new-icon{border-radius:var(--radius-lg);background:var(--muted);width:36px;height:36px;color:var(--foreground);justify-content:center;align-items:center;display:flex}.account-section{display:flex}.sign-in{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);flex-direction:column;align-items:flex-start;gap:12px;width:100%;padding:20px;display:flex}.sign-in-form{flex-direction:column;gap:10px;width:100%;display:flex}.sign-in-copy{color:var(--muted-foreground);margin:0}.sign-in-row{gap:8px;display:flex}.sign-in-row input{flex:auto}.sign-in-row button{flex:none}.sign-in-error{color:var(--destructive);margin:0;font-size:12px}.sign-in-sent{margin:0}.share-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.share-panel{background:var(--background);border:1px solid var(--input);border-radius:var(--radius-xl);min-width:380px;padding:20px;box-shadow:0 16px 40px #00000080}.share-panel h2{margin-top:0;font-size:16px;font-weight:600}.share-create{align-items:flex-end;gap:10px;margin-bottom:12px;display:flex}.share-create label{color:var(--muted-foreground);flex-direction:column;gap:6px;font-size:12px;display:flex}.share-error{color:var(--destructive);font-size:12px}.share-links{flex-direction:column;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.share-link-row{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:8px;padding:6px 10px;display:flex}.share-link-role{text-transform:capitalize;min-width:5ch;font-size:13px}.share-link-meta{color:var(--muted-foreground);flex:auto;font-size:12px}.share-empty{color:var(--muted-foreground)}.transport-share{font-size:13px}.share-accept-page{flex-direction:column;align-items:flex-start;gap:12px;max-width:420px;margin:80px auto 0;padding:0 16px;display:flex}.share-accept-copy{color:var(--muted-foreground)}.shortcuts-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.shortcuts-panel{background:var(--background);border:1px solid var(--input);border-radius:var(--radius-xl);min-width:300px;padding:20px;box-shadow:0 16px 40px #00000080}.shortcuts-panel h2{margin-top:0;font-size:16px;font-weight:600}.shortcuts-panel dl{grid-template-columns:auto 1fr;gap:6px 12px;margin:12px 0;display:grid}.shortcuts-panel dt{font-size:12px;font-weight:600;font-family:var(--font-mono)}.shortcuts-panel dd{color:var(--muted-foreground);margin:0;font-size:12px}.transport-overflow{position:relative}.transport-overflow-menu{z-index:100;flex-direction:column;gap:2px;min-width:220px;padding:6px;display:flex;position:absolute;top:44px;right:0}.transport-overflow-section{border-top:1px solid var(--border);flex-direction:column;gap:4px;margin-top:4px;padding:8px 8px 4px;display:flex}.transport-overflow-label{color:var(--muted-foreground);padding:0;font-size:11px}.transport-overflow-note{color:var(--muted-foreground);margin:0;font-size:11px}.transport-bounces{font-size:13px}.bounces-sheet-backdrop{z-index:90;background:#00000080;position:fixed;inset:0}.bounces-sheet{z-index:95;background:var(--background);border-left:1px solid var(--input);flex-direction:column;width:400px;max-width:100vw;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;box-shadow:0 16px 40px #00000080}@media (width<=767px){.bounces-sheet{border-left:none;border-top:1px solid var(--input);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:auto;max-height:80vh;top:auto;left:0;right:0}}.bounces-sheet-header{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.bounces-sheet-header h2{margin:0;font-size:15px;font-weight:600}.bounces-sheet-body{flex-direction:column;flex:auto;gap:12px;padding:14px 16px;display:flex;overflow-y:auto}.bounces-now{align-self:flex-start}.bounces-local-message{color:var(--muted-foreground);flex-direction:column;gap:10px;padding:20px 16px;display:flex}.bounces-empty-hint{margin:0;font-size:13px}.bounces-latest-link{flex-direction:column;gap:6px;display:flex}.bounces-latest-link-row{align-items:center;gap:6px;display:flex}.bounces-link-text{border-radius:var(--radius-md);border:1px solid var(--input);min-width:0;height:32px;color:var(--muted-foreground);font-family:var(--font-mono);background:#ffffff08;flex:auto;padding:0 10px;font-size:12px}.bounces-empty{color:var(--muted-foreground);font-size:13px}.bounces-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.bounce-row{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:6px;padding:10px 12px;display:flex;position:relative}.bounce-row-line1{align-items:center;gap:8px;min-height:24px;display:flex}.bounce-row-line1-right{flex:none;align-items:center;gap:2px;margin-left:auto;display:flex}.bounce-row-line2{align-items:center;gap:8px;min-height:24px;display:flex}.bounce-row-status{color:var(--muted-foreground);flex:auto;align-items:center;gap:6px;font-size:13px;display:flex}.bounce-row-error{min-width:0;color:var(--destructive);opacity:.85;white-space:normal;overflow-wrap:anywhere;flex:auto;font-size:12px}.bounce-row-retry,.bounce-row-play{flex:none}.bounce-mini-waveform{flex:auto;align-items:center;gap:1px;min-width:0;height:24px;display:flex}.bounce-mini-waveform span{background:var(--muted-foreground);border-radius:1px;flex:auto;min-width:1px}.bounce-row-date{color:var(--muted-foreground);white-space:nowrap;font-size:12px}.bounce-row-duration{font-family:var(--font-mono);color:var(--foreground);white-space:nowrap;font-size:12px}.bounce-row-avatars{flex:none;align-items:center;display:flex}.bounce-row-avatar{border-width:1px;width:20px;height:20px;font-size:9px}.bounce-row-avatar:not(:first-child){margin-left:-6px}.bounce-row-pin.active{color:var(--primary)}.bounce-row-comment-badge{background:var(--muted);height:22px;color:var(--muted-foreground);white-space:nowrap;border:none;border-radius:999px;flex:none;padding:0 8px;font-size:11px;font-weight:500}.bounce-row-comment-badge:hover{color:var(--foreground)}.bounce-row-menu-wrapper{position:relative}.bounce-row-menu{z-index:10;flex-direction:column;gap:2px;min-width:170px;padding:6px;display:flex;position:absolute;top:32px;right:0}.bounce-row-comments{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:4px;padding-top:8px;display:flex}.bounce-row-comments-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.bounce-row-comment{align-items:flex-start;gap:8px;display:flex}.bounce-row-comment-time{color:var(--muted-foreground);font-family:var(--font-mono);background:0 0;border:none;flex:none;padding:0;font-size:11px}.bounce-row-comment-time:hover{color:var(--primary)}.bounce-row-comment-body{flex:auto;min-width:0}.bounce-row-comment-meta{align-items:baseline;gap:6px;display:flex}.bounce-row-comment-author{font-size:12px;font-weight:500}.bounce-row-comment-date{color:var(--muted-foreground);font-size:11px}.bounce-row-comment-text{color:var(--foreground);overflow-wrap:anywhere;margin:2px 0 0;font-size:12px}.bounce-row-comment-composer{gap:6px;display:flex}.bounce-row-comment-input{border-radius:var(--radius-md);border:1px solid var(--input);background:#ffffff08;flex:auto;min-width:0;height:28px;padding:0 8px;font-size:12px}.spinner{border:2px solid var(--muted);border-top-color:var(--muted-foreground);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spinner-rotate}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.listen-page{flex-direction:column;align-items:center;gap:24px;min-height:100vh;padding:40px 16px;display:flex}.listen-logo{align-self:flex-start}.listen-error{color:var(--destructive)}.listen-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);flex-direction:column;gap:14px;width:100%;max-width:560px;margin-top:10vh;padding:28px 24px;display:flex}.listen-project-name{margin:0;font-size:22px;font-weight:600}.listen-date{color:var(--muted-foreground);margin:0;font-size:13px}.listen-waveform{cursor:pointer;touch-action:none;height:96px;position:relative}.listen-waveform-canvas{width:100%;height:100%;display:block}.listen-controls{align-items:center;gap:12px;display:flex}.listen-play{background:var(--primary);width:40px;height:40px;color:var(--primary-foreground);border-radius:50%}.listen-time{color:var(--muted-foreground);font-size:13px}.listen-made-with{color:var(--muted-foreground);font-size:12px}.listen-comment-markers{pointer-events:none;position:absolute;inset:0}.listen-comment-marker{pointer-events:auto;cursor:pointer;background:0 0;border:none;padding:0;position:absolute;bottom:-6px;transform:translate(-50%)}.listen-comment-avatar{border-width:1px;width:18px;height:18px;font-size:8px}@keyframes listen-comment-marker-in{0%{opacity:0;transform:translate(-50%)scale(.4)}to{opacity:1;transform:translate(-50%)scale(1)}}.listen-comment-marker-new .listen-comment-avatar{animation:.35s ease-out listen-comment-marker-in}.listen-comment-tooltip{border-radius:var(--radius-md);background:var(--card);border:1px solid var(--border);text-align:left;z-index:5;width:max-content;max-width:220px;padding:6px 8px;font-size:11px;line-height:1.4;display:none;position:absolute;bottom:26px;left:50%;transform:translate(-50%);box-shadow:0 8px 20px #0006}.listen-comment-marker:hover .listen-comment-tooltip,.listen-comment-marker:focus-visible .listen-comment-tooltip{display:block}.listen-comment-signin{flex-direction:column;gap:8px;display:flex}.listen-comment-signin-copy{color:var(--muted-foreground);margin:0;font-size:13px}.listen-comment-composer{flex-direction:column;gap:4px;display:flex}.listen-comment-composer-label{color:var(--muted-foreground);font-size:12px;font-family:var(--font-mono)}.listen-comment-input{border-radius:var(--radius-md);border:1px solid var(--input);width:100%;min-height:36px;color:var(--foreground);resize:vertical;background:#ffffff08;padding:8px 10px;font-family:inherit;font-size:13px}.listen-comments-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.listen-comment-row{border-top:1px solid var(--border);align-items:flex-start;gap:10px;padding:8px 0;display:flex}@keyframes listen-comment-row-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.listen-comment-row-new{animation:.35s ease-out listen-comment-row-in}.listen-comment-time{border:1px solid var(--input);border-radius:var(--radius-sm);color:var(--muted-foreground);font-family:var(--font-mono);background:0 0;flex:none;padding:2px 6px;font-size:11px}.listen-comment-time:hover{color:var(--primary);border-color:var(--primary)}.listen-comment-body{flex:auto;min-width:0}.listen-comment-meta{align-items:baseline;gap:8px;display:flex}.listen-comment-author{font-size:13px;font-weight:500}.listen-comment-date{color:var(--muted-foreground);font-size:12px}.listen-comment-text{overflow-wrap:anywhere;white-space:pre-wrap;margin:4px 0 0;font-size:13px}.listen-comment-delete{flex:none}.piano-roll-panel{background:var(--background);border-top:1px solid var(--border);flex-direction:column;flex:none;height:312px;min-height:0;display:flex}.piano-roll-panel.collapsed{height:auto}.sheet-drag-handle{display:none}@media (width>=768px) and (width<=1024px){.piano-roll-panel:not(.collapsed){height:auto;max-height:45vh}}@media (width<=767px){.piano-roll-panel{z-index:45;border-radius:12px 12px 0 0;height:auto;max-height:70vh;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -16px 40px #00000080}.piano-roll-panel.collapsed{max-height:none}.sheet-drag-handle{color:var(--muted-foreground);flex:none;justify-content:center;padding:8px 0 4px;display:flex}}.piano-roll-toolbar-row{box-sizing:border-box;border-bottom:1px solid var(--border);flex:none;align-items:center;gap:10px;height:48px;padding:0 12px;display:flex}.piano-roll-tabs{flex:none;width:auto}.piano-roll-toolbar-divider{background:var(--border);flex:none;width:1px;height:20px}.piano-roll-clip-colour{border-radius:3px;flex:none;width:10px;height:10px}.piano-roll-clip-name{max-width:160px;color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;flex:none;padding:4px 6px;font-size:14px;font-weight:500;overflow:hidden}.piano-roll-clip-context{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;flex:none;font-size:12px;overflow:hidden}.piano-roll-toolbar-spacer{flex:auto}.piano-roll-collapse.collapsed svg{transform:rotate(-90deg)}.piano-roll-panel-body{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;overflow:hidden}.piano-roll-panel:has(.piano-roll-panel-body>.device-panel):not(.collapsed){height:min(480px,50vh)}.piano-roll-panel-body>.device-panel{flex:auto;min-height:0;overflow:auto}.piano-roll{flex-direction:column;flex:auto;min-height:0;display:flex}.piano-roll-toolbar{border-bottom:1px solid var(--border);color:var(--muted-foreground);flex:none;align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:flex}.piano-roll-toolbar select{height:28px;font-family:var(--font-mono)}.piano-roll-body{flex-direction:row;flex:auto;gap:0;min-height:0;padding:0 12px 12px;display:flex;overflow:hidden}.piano-roll-keys{flex:0 0 56px;position:relative;overflow:hidden}.piano-roll-key{border-bottom:1px solid var(--background);background:#2a2a2a;border-radius:3px;margin:0 2px 0 6px;position:relative}.piano-roll-key.black{background:#1a1a1a;width:70%}.piano-roll-key.lit{box-shadow:inset 0 0 0 1px var(--foreground)}.piano-roll-key-label{font-family:var(--font-mono);color:var(--subtle-foreground);font-size:9px;position:absolute;bottom:-1px;right:6px}.piano-roll-scroll{flex:auto;position:relative;overflow:auto}.piano-roll-loop-brace{z-index:2;height:8px;position:sticky;top:0}.loop-region{background:color-mix(in srgb, var(--loop-hue,var(--primary)) 35%, transparent);border-radius:3px;height:6px;position:absolute;top:4px}.loop-handle{background:var(--foreground);cursor:ew-resize;width:6px;height:6px;position:absolute;top:4px;transform:translate(-3px)}.piano-roll-grid{background-color:var(--well);border:1px solid var(--border);border-radius:var(--radius-md);cursor:crosshair;background-image:linear-gradient(90deg,#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff1a 1px,#0000 1px);background-repeat:repeat;position:relative}.piano-roll-note{box-sizing:border-box;border:1px solid #0a0a0a59;border-radius:4px;position:absolute}.piano-roll-note.selected{border-color:var(--foreground);filter:brightness(1.25)}.piano-roll-note.draft{opacity:.6;border:1px dashed var(--foreground);pointer-events:none}.piano-roll-note.sounding{filter:brightness(1.5);box-shadow:0 0 0 1px var(--foreground)}.piano-roll-note-resize{cursor:ew-resize;width:6px;position:absolute;top:0;bottom:0;right:0}.piano-roll-playhead{background:var(--foreground);z-index:3;pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.piano-roll-velocity{border-top:1px solid var(--border);background:var(--well);flex:none;margin-left:68px;margin-right:12px;position:relative;overflow:hidden}.piano-roll-velocity-scroll{height:100%;position:relative}.velocity-bar{cursor:ns-resize;border-radius:1px 1px 0 0;position:absolute;bottom:0}.velocity-bar.selected{outline:1px solid var(--ink)}.eq-panel,.compressor-panel,.sampler-panel{align-items:center;gap:12px;display:flex}.eq-curve{background:var(--well);border:1px solid var(--border);border-radius:var(--radius-md)}.eq-params,.sampler-params{flex-wrap:wrap;gap:8px;display:flex}.compressor-meter{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--well);flex-direction:column;flex:none;justify-content:center;align-items:stretch;gap:6px;width:120px;height:60px;padding:0 12px;display:flex}.compressor-meter-label{color:var(--ink-muted);font-size:11px}.compressor-reduction-track{background:var(--muted);border-radius:4px;width:100%;height:8px;position:relative;overflow:hidden}.compressor-reduction-fill{background:var(--meter-high);border-radius:4px;height:100%;transition:width 50ms linear;position:absolute;top:0;right:0}.compressor-reduction-fill.over{background:var(--over)}.compressor-meter-value{color:var(--ink-muted);font-size:12px}.compressor-params{flex-wrap:wrap;gap:8px;display:flex}.sampler-waveform{border:1px solid var(--border);border-radius:var(--radius-md);flex:none;position:relative;overflow:hidden}.sampler-waveform-canvas{display:block}.sampler-waveform-empty{color:var(--ink-muted);pointer-events:none;justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;inset:0}.sampler-handle{background:var(--ink);cursor:ew-resize;width:2px;position:absolute;top:0;bottom:0;transform:translate(-1px)}.sampler-handle-loop{background:var(--ink-muted)}.knob-panel-row{align-items:flex-start;gap:6px;padding-bottom:4px;display:flex;overflow:auto hidden}.synth-presets{flex:none;position:relative}.synth-presets-toggle{height:28px;font-size:13px}.synth-presets-menu{z-index:1;background:var(--background);border:1px solid var(--input);border-radius:var(--radius-xl);flex-direction:column;gap:2px;min-width:100px;padding:6px;display:flex;position:absolute;top:100%;left:0;box-shadow:0 16px 40px #00000080}.synth-presets-menu button{text-align:left;background:0 0;border:none;border-radius:6px;height:32px;font-size:13px}.synth-presets-menu button:hover{background:var(--muted)}.drums-panel{flex-direction:column;gap:4px;min-width:0;display:flex}.drums-panel-header{align-items:center;gap:8px;display:flex}.drums-kit-select{width:150px}.onscreen-keyboard{background:var(--background);border-top:1px solid var(--border);align-items:center;gap:8px;padding:8px 12px;display:flex}.onscreen-keyboard-octaves{flex:none;align-items:center;gap:4px;display:flex}.osk-octave{width:24px;height:24px;padding:0}.osk-octave-label{font-family:var(--font-mono);color:var(--muted-foreground);text-align:center;min-width:18px;font-size:11px}.onscreen-keyboard-keys{touch-action:none;-webkit-user-select:none;user-select:none;flex:none;height:56px;position:relative}.osk-key{border:1px solid var(--border);box-sizing:border-box;background:var(--muted);border-radius:0 0 6px 6px;transition:background-color 50ms;position:absolute;top:0}.osk-key.white{z-index:1;height:56px}.osk-key.black{background:var(--well);z-index:2;width:18px;height:34px}.osk-key.white.active,.osk-key.black.active{border-color:#0000}.drum-pads-wrapper{padding:8px 12px}.drum-pads{touch-action:none;-webkit-user-select:none;user-select:none;gap:6px;display:flex}.drum-pad{text-align:center;background:var(--muted);border:1px solid var(--border);box-sizing:border-box;border-radius:6px;justify-content:center;align-items:center;width:56px;height:44px;transition:background-color 50ms;display:flex}.drum-pad-label{color:var(--muted-foreground);pointer-events:none;font-size:10px;line-height:1.1}.drum-pad.active .drum-pad-label{color:var(--primary-foreground)}@media (width<=767px){.onscreen-keyboard-keys,.osk-key.white{height:64px}.osk-key.black{height:40px}.osk-octave{width:40px;height:40px}.drum-pad{width:64px;height:48px}}.clip-view{flex-direction:column;flex:auto;min-height:0;display:flex}.clip-view-toolbar{border-bottom:1px solid var(--border);color:var(--muted-foreground);flex:none;align-items:center;gap:10px;padding:6px 12px;font-size:12px;display:flex}.clip-view-toolbar select{height:28px;font-family:var(--font-mono)}.clip-view-empty{color:var(--muted-foreground);padding:16px;font-size:13px}.clip-view-scroll{flex:auto;margin:0 12px 12px;position:relative;overflow:auto}.clip-view-loop-brace{z-index:3;height:8px;position:sticky;top:0}.clip-view-marker-row{z-index:2;position:relative}.warp-marker-handle{cursor:ew-resize;border-radius:2px;width:10px;height:100%;position:absolute;top:0;transform:translate(-5px)}.warp-marker-handle.selected{outline:2px solid var(--foreground);outline-offset:-1px}.clip-view-waveform{background-color:var(--well);border:1px solid var(--border);border-radius:var(--radius-md);cursor:crosshair;background-image:linear-gradient(90deg,#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff1a 1.5px,#0000 1.5px);background-repeat:repeat-x;position:relative}.clip-view-canvas{pointer-events:none;display:block}.warp-marker-line{opacity:.9;pointer-events:none;width:2px;position:absolute;top:0;bottom:0;transform:translate(-1px)}.warp-marker-line.selected{outline:2px solid var(--ink);outline-offset:-1px}.step-grid{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:auto}.step-grid-toolbar{border-bottom:1px solid var(--border);color:var(--muted-foreground);flex:none;align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:flex}.step-grid-toolbar select{height:28px;font-family:var(--font-mono)}.step-grid-pages{border-bottom:1px solid var(--border);flex:none;gap:4px;padding:6px 12px;display:flex}.step-grid-pages button{border:1px solid var(--input);border-radius:var(--radius-sm);color:var(--muted-foreground);font-size:11px;font-family:var(--font-mono);background:0 0;height:auto;padding:2px 8px}.step-grid-pages button.active{background:var(--primary);color:var(--primary-foreground);border-color:#0000}.step-grid-rows{grid-auto-rows:24px;align-items:stretch;gap:2px 1px;padding:12px;display:grid}.step-grid-label{color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;align-items:center;padding-right:6px;font-size:11px;display:flex;overflow:hidden}.step-grid-cell{background:var(--muted);border:none;border-radius:4px;min-width:16px;height:auto;padding:0;position:relative}.step-grid-cell.beat-start{margin-left:4px}.step-grid-cell.on{opacity:.75}.step-grid-cell.on.accent{opacity:1;box-shadow:0 0 0 1px var(--foreground) inset}.step-grid-cell.playing{box-shadow:inset 0 0 0 999px #ffffff14}.step-grid-cell.on.accent.playing{box-shadow:0 0 0 1px var(--foreground) inset, inset 0 0 0 999px #ffffff14}.step-grid-cell.dot:after{content:"";background:var(--muted-foreground);pointer-events:none;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.arrangement-view{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.arrangement-toolbar{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:8px;padding:8px 16px;display:flex}.arrangement-loop-toggle.active{background:var(--muted);color:var(--foreground)}.arrangement-scroll{touch-action:pan-y;flex:auto;min-width:0;min-height:0;padding:8px 16px 16px;overflow:auto}.arrangement-content{flex-direction:column;display:flex;position:relative}.arrangement-ruler-row,.arrangement-lane-row{align-items:stretch;display:flex}.arrangement-ruler-row{z-index:4;background:var(--background);position:sticky;top:0}.arrangement-sticky-header{z-index:3;background:var(--card);border:1px solid var(--border);box-sizing:border-box;flex:0 0 168px;width:168px;position:sticky;left:0}.arrangement-ruler-spacer{border-bottom:none}.arrangement-ruler{background:var(--background);border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;flex:none;position:relative}.arrangement-bar-mark{font-family:var(--font-mono);color:var(--muted-foreground);pointer-events:none;font-size:11px;position:absolute;top:6px;transform:translate(2px)}.arrangement-loop-brace{background:color-mix(in srgb, var(--primary) 18%, transparent);border-left:2px solid var(--primary);border-right:2px solid var(--primary);pointer-events:none;position:absolute;top:0;bottom:0}.arrangement-lane-row{border-bottom:1px solid var(--border)}.arrangement-lane-header{border-top:none;align-items:center;gap:8px;padding:0 10px;display:flex}.arrangement-lane-colour{border-radius:3px;flex:none;width:8px;height:8px}.arrangement-lane-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.arrangement-lane-msa{flex:none;gap:2px;display:flex}.arrangement-lane-msa button{border-radius:var(--radius-sm);border:1px solid var(--input);width:20px;height:20px;color:var(--muted-foreground);background:0 0;padding:0;font-size:11px}.arrangement-lane-msa button.active{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.arrangement-lane{background:var(--well);flex:none;position:relative}.arrangement-lane.drag-over{outline:2px dashed var(--muted-foreground);outline-offset:-2px}.arrangement-region{border-radius:var(--radius-md);background:color-mix(in srgb, var(--fill,transparent) 24%, transparent);border:1px solid color-mix(in srgb, var(--fill,transparent) 45%, transparent);cursor:grab;align-items:center;padding:0 6px;display:flex;position:absolute;top:6px;bottom:6px;overflow:hidden}.arrangement-region:active{cursor:grabbing}.arrangement-region.selected{box-shadow:0 0 0 2px var(--card), 0 0 0 4px var(--primary)}.arrangement-region.overridden{opacity:.5}.arrangement-region-silhouette{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.arrangement-region-name{text-overflow:ellipsis;white-space:nowrap;pointer-events:none;font-size:11px;font-weight:500;position:relative;overflow:hidden}.arrangement-region-asset-status{z-index:2;background:color-mix(in srgb, var(--background) 80%, transparent);width:14px;height:14px;color:var(--muted-foreground);pointer-events:none;border-radius:50%;justify-content:center;align-items:center;font-size:10px;line-height:1;display:flex;position:absolute;top:2px;left:2px}.arrangement-region-asset-status[data-asset-status=loading]{animation:.8s ease-in-out infinite alternate beat-pulse}.arrangement-region-asset-status[data-asset-status=error]{color:var(--destructive);font-weight:700}.arrangement-region-resize{cursor:ew-resize;width:6px;position:absolute;top:0;bottom:0}.arrangement-region-resize.left{left:0}.arrangement-region-resize.right{right:0}.arrangement-region-ghost{opacity:.55;pointer-events:none;z-index:2;border-style:dashed}.arrangement-region-cross-track-preview{z-index:5;pointer-events:none;box-shadow:0 2px 8px #00000040}.arrangement-region-cross-track-preview.invalid{border-color:var(--destructive,#e5484d);opacity:.6}.arrangement-playhead{background:var(--foreground);z-index:2;pointer-events:none;width:1px;position:absolute;top:0;bottom:0}@media (width<=1023px){.arrangement-sticky-header{flex:0 0 120px;width:120px}}@media (width<=767px){.arrangement-sticky-header{flex:0 0 96px;width:96px}.arrangement-lane-name{font-size:12px}.arrangement-lane-msa{display:none}}
