:root{font-synthesis:none}.soundfish-theme{color-scheme:dark;--soundfish-background:#201b19;--soundfish-panel:#29211d;--soundfish-control:#38291f;--soundfish-control-hover:#483326;--soundfish-line:#5d402e;--soundfish-text:#e6aa65;--soundfish-strong:#f2bd7c;--soundfish-muted:#c08a58;--soundfish-faint:#bd8754;--soundfish-action:#9f4f0c;--soundfish-action-hover:#b65d11;--soundfish-action-pressed:#874108;--soundfish-on-action:#fff;--soundfish-panel-border:var(--soundfish-line);--soundfish-track-label:var(--soundfish-background);--jungle-collection-item-hover-fill:var(--soundfish-control-hover);--jungle-collection-item-hover-label:var(--soundfish-strong);--jungle-collection-item-label:var(--soundfish-muted);--jungle-collection-item-selected-fill:var(--soundfish-control);--jungle-collection-item-selected-label:var(--soundfish-text);--jungle-collection-surface:var(--soundfish-panel);--jungle-segmented-control-border:var(--soundfish-line);--jungle-segmented-control-fill:var(--soundfish-control);--jungle-segmented-control-item-hover-fill:var(--soundfish-control-hover);--jungle-segmented-control-item-hover-label:var(--soundfish-strong);--jungle-segmented-control-item-label:var(--soundfish-muted);--jungle-segmented-control-selection-label:var(--soundfish-background);--jelly-color-border-focus:var(--soundfish-strong);--jelly-focus-ring:var(--soundfish-strong);--jelly-ring:var(--soundfish-text)}html{background:var(--background)}body{min-width:0;overflow-x:clip}::selection{background:var(--primary);color:var(--primary-foreground)}.soundfish-theme ::selection{background:var(--soundfish-text);color:var(--soundfish-background)}.soundfish-theme .jungle-jelly-surface{--jelly-fill:var(--soundfish-control);--jelly-label:var(--soundfish-text)}.soundfish-theme .jungle-jelly-surface[data-tone=primary]{--jelly-fill:var(--soundfish-action);--jelly-label:var(--soundfish-on-action)}.soundfish-theme .jungle-jelly-surface[data-tone=neutral]{--jelly-fill:var(--soundfish-control);--jelly-label:var(--soundfish-text)}.soundfish-theme .jungle-jelly-surface[data-tone=quiet]{--jelly-fill:var(--soundfish-background);--jelly-label:var(--soundfish-muted)}.soundfish-theme .jungle-jelly-surface[data-tone=field]{--jelly-fill:var(--soundfish-control);--jelly-label:var(--soundfish-text)}.soundfish-theme .jungle-jelly-surface[data-tone=overlay]{--jelly-fill:var(--soundfish-panel);--jelly-label:var(--soundfish-text)}.soundfish-theme .jungle-jelly-surface[data-hovered][data-tone=primary]{--jelly-fill:var(--soundfish-action-hover)}.soundfish-theme .jungle-jelly-surface[data-pressed][data-tone=primary]{--jelly-fill:var(--soundfish-action-pressed)}.soundfish-theme .jungle-jelly-surface[data-hovered][data-tone=neutral],.soundfish-theme .jungle-jelly-surface[data-hovered][data-tone=quiet]{--jelly-fill:var(--soundfish-control-hover);--jelly-label:var(--soundfish-strong)}.soundfish-theme .jungle-button,.soundfish-theme .jungle-icon-button{color:var(--jelly-label)}.soundfish-theme .jungle-field,.soundfish-theme .jungle-field__input{color:var(--soundfish-text)}.soundfish-theme :where(.jungle-button,.jungle-icon-button,.jungle-field__input,.jungle-fader__thumb,.jungle-segmented-control__item,.jungle-list-box__item,.jungle-menu__item)[data-focus-visible]{outline-color:var(--soundfish-strong)}.soundfish-theme .jungle-field__surface{--jelly-fill:var(--soundfish-control);--jelly-label:var(--soundfish-text);--jelly-color-border-default:var(--soundfish-line)}.soundfish-theme .jungle-field__input[data-focused]{border-color:var(--soundfish-strong);box-shadow:0 0 0 3px color-mix(in oklch,var(--soundfish-strong) 22%,transparent)}.soundfish-theme .jungle-field__description,.soundfish-theme .jungle-field__input::placeholder,.soundfish-theme .jungle-modal__description{color:var(--soundfish-muted)}.soundfish-theme .jungle-key-hint{background:var(--soundfish-control);color:var(--soundfish-text)}.soundfish-theme .jungle-segmented-control{--jungle-segmented-control-selection-fill:var(--soundfish-text)}.soundfish-theme.jungle-modal-overlay{background:rgb(8 6 4/78%)}.soundfish-theme .jungle-modal__surface{--jelly-fill:var(--soundfish-panel);--jelly-label:var(--soundfish-text);--jelly-color-border-default:var(--soundfish-line)}.soundfish-theme .jungle-modal{border-color:transparent;background:transparent;color:var(--soundfish-text)}.soundfish-theme.jungle-menu-popover{color:var(--soundfish-text)}.soundfish-theme .jungle-menu__surface{--jelly-fill:var(--soundfish-panel);--jelly-label:var(--soundfish-text);--jelly-color-border-default:var(--soundfish-line)}.soundfish-theme.jungle-tooltip{background:var(--soundfish-text);color:var(--soundfish-background)}.soundfish-theme .jungle-menu__description,.soundfish-theme .jungle-menu__header,.soundfish-theme .jungle-menu__shortcut{color:var(--soundfish-muted)}.soundfish-theme .jungle-menu__footer,.soundfish-theme .jungle-menu__separator{border-color:var(--soundfish-line)}.soundfish-theme .jungle-fader__track:before{background:var(--soundfish-line)}.soundfish-skip-link{border-color:var(--soundfish-text);background:var(--soundfish-text);color:var(--soundfish-background);outline-color:var(--soundfish-background)}.soundfish-route-state,.soundfish-route-state .jungle-route-state{min-height:100svh;background:var(--soundfish-background);color:var(--soundfish-text)}.soundfish-route-state :where(.jungle-empty-state__description,.jungle-route-state__loading){color:var(--soundfish-muted)}.studio-app{--soundfish-control-inset:var(--space-3);color:var(--soundfish-text)}.loop-app,.studio-app{min-height:100svh;background:var(--soundfish-background)}.loop-app{width:100%;margin:0;padding:0;padding-bottom:var(--transport-dock-reserved-height,7rem);scroll-padding-bottom:var(--transport-dock-reserved-height,7rem)}.editor-shell{overflow:visible;min-height:calc(100svh - var(--transport-dock-reserved-height, 7rem));border:0;border-radius:0;background:var(--soundfish-background);box-shadow:none}.editor-heading{flex-wrap:wrap;justify-content:space-between;padding:var(--space-2) var(--space-3);border-bottom:0}.editor-heading,.score-heading{display:flex;min-width:0;align-items:center;gap:var(--space-3)}.score-heading>div{min-width:0}.score-heading h1{overflow:hidden;font-size:clamp(1.25rem,4vw,1.85rem);font-weight:var(--font-weight-bold);letter-spacing:-.05em;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.score-heading p{margin-top:3px;color:var(--soundfish-muted);font-family:var(--font-mono);font-size:.75rem;line-height:1.25}.editor-actions{max-width:100%;flex-wrap:wrap;padding:0;overflow:visible}.editor-actions .jungle-button__control{min-height:var(--interactive-target-min)}.editor-actions .jungle-icon-button,.editor-actions .jungle-icon-button__control{width:var(--interactive-target-min);height:var(--interactive-target-min)}.editor-actions .jungle-key-hint{color:inherit;font:.6875rem/1 var(--font-mono);opacity:1}.add-layer-command{display:inline-flex;min-width:0;align-items:center;gap:var(--space-2)}.add-layer-limit{max-width:8rem;color:var(--soundfish-muted);font-size:.6875rem;line-height:1.25}.piano-roll-surface{--soundfish-roll-background:var(--soundfish-background);--soundfish-roll-foreground:var(--soundfish-text);--soundfish-roll-muted:var(--soundfish-muted);--soundfish-roll-raised:var(--soundfish-panel);border:0;border-radius:0;color:var(--soundfish-roll-foreground)}.piano-roll-surface,.soundfish-rolls{overflow:hidden;background:var(--soundfish-roll-background)}.soundfish-rolls{width:100%;min-width:0}.soundfish-roll{--music-piano-roll-accent:var(--soundfish-action);--music-piano-roll-background:var(--soundfish-roll-background);--music-piano-roll-border:var(--soundfish-panel-border);--music-piano-roll-event-border:color-mix(in oklch,var(--soundfish-roll-foreground) 34%,transparent);--music-piano-roll-focus:var(--soundfish-strong);--music-piano-roll-foreground:var(--soundfish-roll-foreground);--music-piano-roll-muted:var(--soundfish-roll-muted);--music-piano-roll-raised:var(--soundfish-roll-raised)}.soundfish-roll+.soundfish-roll{border-top:1px solid var(--soundfish-panel-border)}.soundfish-roll--melodic .music-piano-roll__frame{grid-template-rows:2rem minmax(18rem,56svh)}.soundfish-roll--drums .music-piano-roll__frame{grid-template-rows:1.75rem minmax(8rem,13rem)}.roll-selection{display:flex;min-height:var(--interactive-target-min);align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-top:1px solid var(--soundfish-panel-border);background:var(--soundfish-roll-raised)}.roll-selection[hidden]{display:none}.roll-selection p{display:flex;min-width:0;align-items:baseline;gap:var(--space-2);margin:0;overflow:hidden}.roll-selection span,.roll-selection strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roll-selection span{color:var(--soundfish-roll-muted);font-family:var(--font-mono);font-size:.75rem}.roll-status{min-height:0;margin:0;color:var(--soundfish-strong);font-size:.75rem}.roll-status:empty{display:none}.editor-feedback{display:flex;min-height:2.25rem;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-4);color:var(--soundfish-muted);font-size:.75rem}.editor-feedback:empty{display:none}.status-error{color:var(--danger)}.fragment-error{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.status-success{color:var(--success)}.transport-dock__content[data-inset=none]{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-1);align-items:center;padding-right:max(var(--space-1),env(safe-area-inset-right));padding-left:max(var(--space-1),env(safe-area-inset-left))}.soundfish-theme .transport-dock[data-surface=glass]{border-color:var(--soundfish-line);background:color-mix(in oklch,var(--soundfish-panel) 88%,transparent);color:var(--soundfish-text)}.mixer-scroll,.transport-controls{gap:var(--space-1)}.mixer-scroll{display:flex;min-width:0;align-items:end;overflow-x:auto;overscroll-behavior-x:contain;margin-block:calc(-1 * var(--space-4));padding-block:calc(var(--space-6) + var(--space-3));padding-inline:var(--space-2);scrollbar-width:none;scroll-padding-inline:var(--space-2);touch-action:pan-x}.mixer-scroll::-webkit-scrollbar{display:none}.mixer-separator{width:1px;height:calc(var(--interactive-target-min) * 2);flex:0 0 auto;background:var(--soundfish-panel-border)}.mixer-channel{position:relative;display:grid;width:var(--interactive-target-min);flex:0 0 auto;justify-items:center;border-radius:var(--radius-md);color:var(--mixer-color)}.mixer-channel.is-selected{background:color-mix(in srgb,var(--mixer-color) 12%,transparent);box-shadow:inset 0 0 0 2px var(--mixer-color)}.mixer-channel.is-muted .mixer-channel-fader{opacity:.38}.mixer-channel-fader{min-width:var(--interactive-target-min);color:var(--mixer-color)}.mixer-channel-fader .jungle-fader__track{width:var(--interactive-target-min);height:var(--interactive-target-min)}.mixer-channel-fader .jungle-fader__thumb{width:1.5rem;height:.75rem;border-color:var(--mixer-color);background:var(--soundfish-control)}.mixer-channel-letter.jungle-button,.mixer-channel-letter__control,span.mixer-channel-letter{display:flex;width:100%;min-width:var(--interactive-target-min)}.mixer-channel-letter__control,span.mixer-channel-letter{min-height:var(--interactive-target-min)!important;align-items:center;justify-content:center;margin:0;padding:0!important;border:0!important;border-radius:var(--jelly-radius-control)!important;background:transparent!important;color:var(--soundfish-muted)!important;font-family:var(--font-mono)!important;font-weight:var(--font-weight-bold)!important;line-height:1!important}span.mixer-channel-letter{cursor:default;font-size:var(--text-control-glyph)!important}.mixer-channel.is-selected .mixer-channel-letter{--jelly-fill:var(--mixer-color);--jelly-label:var(--soundfish-track-label);background:transparent!important;color:var(--soundfish-track-label)!important}.mixer-channel.is-selected .mixer-channel-letter__control{background:transparent!important;color:inherit!important}.mixer-channel.is-selected span.mixer-channel-letter{background:var(--mixer-color)!important;color:var(--soundfish-track-label)!important}.dock-overlays{position:absolute;right:max(var(--space-1),env(safe-area-inset-right));bottom:calc(100% + var(--space-1));left:max(var(--space-1),env(safe-area-inset-left));display:grid;gap:var(--space-1)}.dock-error{width:max-content;max-width:100%;margin:0 auto;padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-md);background:color-mix(in oklch,var(--danger) 12%,var(--soundfish-panel));color:var(--danger);font-size:.8125rem;line-height:1.4}.dock-error,.layer-control-panel{backdrop-filter:blur(20px) saturate(1.25);-webkit-backdrop-filter:blur(20px) saturate(1.25)}.layer-control-panel{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--space-1);align-items:center;padding:var(--space-1);border:0;border-radius:var(--radius-lg);background:color-mix(in oklch,var(--soundfish-panel) 88%,transparent);box-shadow:var(--elevation-overlay)}.layer-panel-copy{display:flex;min-width:0;align-items:center;gap:var(--space-2);padding-left:var(--space-2)}.layer-panel-copy>span:last-child{display:grid;min-width:0;gap:2px}.layer-panel-copy small,.layer-panel-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-panel-copy strong{font-size:var(--text-control)}.layer-panel-copy small{color:var(--soundfish-muted);font:.6875rem/1.2 var(--font-mono)}.layer-panel-actions{display:flex;gap:var(--space-1)}.layer-panel-actions .jungle-button{min-width:72px}.layer-panel-actions .jungle-button__control{min-height:var(--interactive-target-min)}.layer-mute-button.is-active{--jelly-fill:color-mix(in oklch,var(--warning) 18%,var(--soundfish-control));--jelly-label:var(--warning);background:color-mix(in oklch,var(--warning) 18%,var(--soundfish-control));color:var(--warning)}.editor-dialog-form{display:grid;min-width:0;gap:var(--space-4)}.editor-task-dialog{--jungle-modal-inset:calc(var(--space-4) + var(--space-1));width:min(100%,30rem);min-width:0;border-radius:var(--jelly-radius-overlay)}.editor-task-dialog .jungle-modal__body,.editor-task-dialog .jungle-modal__dialog,.editor-task-dialog .jungle-modal__header{min-width:0}.editor-task-dialog .jungle-modal__body{overflow-x:clip}.editor-dialog-layer-type,.editor-dialog-layer-type__surface{width:100%;min-width:0}.editor-dialog-layer-type{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.editor-dialog-layer-type .jungle-segmented-control__item{min-width:0;min-height:var(--control-height-primary);padding-inline:var(--space-4);border-radius:var(--jelly-radius-control)}.editor-dialog-field{min-width:0}.instrument-picker-trigger{width:100%;min-width:0}.instrument-picker-trigger .jungle-button__control{display:grid;min-height:4.25rem;min-width:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding-inline:var(--space-4);text-align:left}.instrument-picker-trigger .jungle-button__control>span:first-child{display:grid;min-width:0;gap:2px}.instrument-picker-trigger small,.instrument-picker-trigger strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instrument-picker-trigger .jungle-button__control>span:last-child,.instrument-picker-trigger small{color:var(--soundfish-muted);font:.75rem/1.25 var(--font-mono)}.instrument-picker-dialog{width:min(100%,38rem);min-width:0}.instrument-picker{display:grid;min-width:0;gap:var(--space-3)}.instrument-picker__list{max-height:min(58svh,34rem);overscroll-behavior:contain}.instrument-picker__item{display:grid;min-height:3.75rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3)}.instrument-picker__item-copy{display:grid;min-width:0;gap:2px}.instrument-picker__item-copy small,.instrument-picker__item-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instrument-picker__current,.instrument-picker__item-copy small{color:var(--soundfish-muted);font:.75rem/1.25 var(--font-mono)}.instrument-picker__empty{min-height:var(--interactive-target-min);margin:0;padding:var(--space-3);color:var(--soundfish-muted)}.editor-dialog-numbers{display:grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.editor-dialog-field .jungle-field__description,.editor-dialog-field .jungle-field__error,.editor-task-dialog .jungle-modal__description{overflow-wrap:anywhere}.editor-dialog-actions{display:grid;min-width:0;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:var(--space-2);padding-top:0}.editor-dialog-actions .jungle-button{--jelly-radius:var(--jelly-radius-control);width:100%;min-width:0}.editor-dialog-actions .jungle-button__control{--jungle-button-padding-inline:var(--space-4);min-height:var(--control-height-primary);border-radius:var(--jelly-radius-control)}.dialog-key-hint{min-height:1.25rem;color:var(--soundfish-muted);font-size:.75rem}.history-list{max-height:min(60svh,30rem)}.history-list .jungle-list-box__item{display:grid;min-height:64px;gap:var(--space-1)}.history-item-heading{display:flex;min-width:0;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.history-item-heading strong,.history-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item-heading time,.history-list small{color:var(--soundfish-muted);font-size:.75rem}.history-item-heading time{flex:0 0 auto;font-family:var(--font-mono)}.local-library{display:grid;min-width:0;gap:var(--space-3)}.local-library__list{max-height:min(54svh,28rem)}.local-library__item{display:grid;min-height:68px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3)}.local-library__copy{display:grid;min-width:0;gap:2px}.local-library__copy small,.local-library__copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.local-library__copy small,.local-library__empty,.local-library__state,.local-library__status{color:var(--soundfish-muted)}.local-library__copy small,.local-library__state{font:.75rem/1.25 var(--font-mono)}.local-library__state{min-width:3.75rem;text-align:end}.local-library__empty,.local-library__status{min-height:1.25rem;font-size:.8125rem}.local-library__actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.local-library__actions .jungle-button{min-width:0}.local-library__actions .jungle-button__control{min-height:var(--control-height-primary);padding-inline:var(--space-3)}.shortcut-list{display:grid;gap:var(--space-1)}.shortcut-list>div{display:grid;min-height:var(--interactive-target-min);grid-template-columns:minmax(7rem,.8fr) minmax(0,1.2fr);align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-md);background:var(--soundfish-control)}.shortcut-list dd,.shortcut-list dt{margin:0}.shortcut-list dd{color:var(--soundfish-muted)}@media (max-width:720px){.studio-app{--soundfish-control-inset:var(--space-2)}.editor-heading{align-items:stretch;padding:var(--space-2)}.score-heading{padding:0}.editor-actions{width:100%;margin:0;padding:0}.editor-actions .jungle-key-hint{display:none}.editor-task-dialog{--jungle-modal-inset:var(--space-4)}.local-library__actions{grid-template-columns:repeat(2,minmax(0,1fr))}.local-library__actions .jungle-button:last-child{grid-column:1/-1}.soundfish-roll--melodic .music-piano-roll__frame{grid-template-rows:2rem minmax(18rem,52svh)}.soundfish-roll--drums .music-piano-roll__frame{grid-template-rows:1.75rem minmax(8rem,12rem)}.transport-dock__content{grid-template-columns:auto minmax(0,1fr)}.layer-control-panel{grid-template-columns:minmax(0,1fr) var(--interactive-target-min)}.layer-panel-actions{display:grid;grid-column:1/-1;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr))}.layer-panel-actions[data-has-instrument=true]{grid-template-columns:repeat(3,minmax(0,1fr))}.layer-panel-close{grid-column:2;grid-row:1}}@media (max-width:430px){.transport-dock__content{column-gap:0}.mixer-channel-fader .jungle-fader__track{height:var(--interactive-target-min)}}@media (max-width:360px){.editor-dialog-form{gap:var(--space-4)}}@media (pointer:coarse){.dialog-key-hint{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media (forced-colors:active){.mixer-channel.is-selected{outline:2px solid Highlight;outline-offset:-3px}}