: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);overflow:hidden;border:0;border-radius:0;color:var(--soundfish-roll-foreground)}.piano-roll-surface,.roll-scroll{background:var(--soundfish-roll-background)}.roll-scroll{width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.roll-frame{--roll-axis-width:40px;display:grid;width:100%;min-width:max(100%,var(--roll-min-width,564px));grid-template-columns:var(--roll-axis-width) minmax(0,1fr);grid-template-rows:36px auto}.roll-frame.has-drums{--roll-axis-width:52px}.roll-ruler-spacer{grid-column:1;border-right:1px solid var(--soundfish-panel-border)}.roll-ruler,.roll-ruler-spacer{grid-row:1;border-bottom:1px solid var(--soundfish-panel-border);background:var(--soundfish-roll-raised)}.roll-ruler{grid-column:2;display:grid;grid-template-columns:repeat(var(--roll-bars,4),minmax(0,1fr))}.roll-ruler span{display:flex;align-items:center;padding:0 var(--space-2);border-left:1px solid var(--soundfish-panel-border);color:var(--soundfish-roll-muted);font-family:var(--font-mono);font-size:.75rem}.pitch-axis,.roll-canvas{height:clamp(300px,58svh,640px)}.pitch-axis{position:relative;grid-column:1;grid-row:2;border-right:1px solid var(--soundfish-panel-border);background:var(--soundfish-roll-raised)}.pitch-axis span{position:absolute;right:var(--space-1);transform:translateY(-50%);color:var(--soundfish-roll-muted);font-family:var(--font-mono);font-size:.625rem}.roll-canvas{position:relative;grid-column:2;grid-row:2;contain:layout style paint;overflow:hidden;background-color:var(--soundfish-roll-background);background-image:linear-gradient(to right,color-mix(in oklch,var(--soundfish-roll-foreground) 28%,transparent) 1px,transparent 1px),linear-gradient(to right,color-mix(in oklch,var(--soundfish-roll-foreground) 12%,transparent) 1px,transparent 1px),linear-gradient(to right,color-mix(in oklch,var(--soundfish-roll-foreground) 5%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in oklch,var(--soundfish-roll-foreground) 6%,transparent) 1px,transparent 1px);background-size:var(--roll-bar,25%) 100%,var(--roll-beat,6.25%) 100%,var(--roll-step,1.5625%) 100%,100% var(--pitch-row)}.roll-empty-state{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:var(--soundfish-roll-muted);font-size:var(--text-control);font-weight:var(--font-weight-bold);pointer-events:none}.drum-hit,.roll-note{position:absolute;min-width:8px;margin:0;padding:0;border:1px solid rgb(255 255 255/26%);border-radius:3px;appearance:none;opacity:.9;touch-action:none;-webkit-user-select:none;user-select:none}.roll-note{cursor:grab}.drum-hit{cursor:pointer;touch-action:pan-y}.drum-hit:before,.roll-note:before{position:absolute;top:50%;left:50%;width:max(100%,var(--interactive-target-min));height:max(100%,var(--interactive-target-min));content:"";transform:translate(-50%,-50%)}.drum-hit.is-selected-layer,.roll-note.is-selected-layer{z-index:2;opacity:1;box-shadow:inset 0 0 0 2px rgb(255 255 255/68%)}.drum-hit.is-muted-layer,.roll-note.is-muted-layer{opacity:.24;filter:saturate(.3)}.drum-hit.is-selected-layer.is-muted-layer,.roll-note.is-selected-layer.is-muted-layer{opacity:.42}.drum-hit:focus-visible,.roll-note:focus-visible{z-index:6;outline:0;opacity:1;box-shadow:inset 0 0 0 2px var(--soundfish-roll-background),inset 0 0 0 4px var(--soundfish-strong)}.roll-note.is-editing{z-index:7;box-shadow:inset 0 0 0 2px var(--soundfish-roll-background),inset 0 0 0 4px var(--soundfish-strong),0 0 12px color-mix(in oklch,var(--soundfish-strong) 45%,transparent)}.roll-note.is-dragging{z-index:4;cursor:grabbing;opacity:1;box-shadow:0 0 0 2px rgb(255 255 255/52%);will-change:transform}.roll-note.is-blocked{box-shadow:0 0 0 2px var(--danger);filter:saturate(.55)}.roll-note.is-busy{cursor:wait}.drum-axis,.drum-canvas{height:var(--drum-height);border-top:1px solid var(--soundfish-panel-border)}.drum-axis{position:relative;grid-column:1;grid-row:3;border-right:1px solid var(--soundfish-panel-border);background:var(--soundfish-roll-raised)}.drum-axis span{position:absolute;right:var(--space-2);max-width:48px;color:var(--soundfish-roll-muted);font-family:var(--font-mono);font-size:.5625rem;line-height:1;text-align:right;transform:translateY(-50%)}.drum-canvas{position:relative;grid-column:2;grid-row:3;contain:layout style paint;overflow:hidden;background-color:var(--soundfish-roll-background);background-image:linear-gradient(to right,color-mix(in oklch,var(--soundfish-roll-foreground) 28%,transparent) 1px,transparent 1px),linear-gradient(to right,color-mix(in oklch,var(--soundfish-roll-foreground) 12%,transparent) 1px,transparent 1px),linear-gradient(to right,color-mix(in oklch,var(--soundfish-roll-foreground) 5%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in oklch,var(--soundfish-roll-foreground) 7%,transparent) 1px,transparent 1px);background-size:var(--roll-bar,25%) 100%,var(--roll-beat,6.25%) 100%,var(--roll-step,1.5625%) 100%,100% var(--drum-row)}.playback-cursor{position:absolute;z-index:5;inset:0;width:100%;pointer-events:none;transform:translateZ(0);will-change:transform}.playback-cursor span{position:absolute;top:0;bottom:0;left:0;width:3px;background:var(--soundfish-roll-foreground);box-shadow:0 0 8px color-mix(in oklch,var(--soundfish-roll-foreground) 52%,transparent)}.playback-cursor span:before{position:absolute;top:0;left:-4px;border-top:7px solid var(--soundfish-roll-foreground);border-right:5px solid transparent;border-left:5px solid transparent;content:""}.roll-editing-copy{display:flex;min-height:var(--interactive-target-min);align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-top:1px solid var(--soundfish-panel-border);color:var(--soundfish-roll-muted);font-size:.75rem;line-height:1.4}.roll-editing-copy>p{margin:0}.roll-editing-copy>p:first-child{flex:1 1 auto}.roll-editing-copy p:last-child{flex:0 0 auto;color:var(--soundfish-strong)}.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)}.transport-controls{gap:var(--space-1)}.dock-loop-button.jungle-jelly-surface{--jelly-label:var(--soundfish-muted)}.soundfish-theme .dock-loop-button.jungle-button.jungle-toggle-button:has(>.jungle-button__control.dock-loop-button__control[data-selected]){--jelly-fill:var(--soundfish-control-hover);--jelly-label:var(--soundfish-text);color:var(--soundfish-text)}.mixer-scroll{display:flex;min-width:0;align-items:end;gap:var(--space-1);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}.mixer-channel-tooltip{display:flex;max-width:min(15rem,calc(100vw - 2rem));align-items:baseline;gap:var(--space-2);white-space:nowrap}.mixer-channel-tooltip strong{min-width:0;overflow:hidden;text-overflow:ellipsis}.mixer-channel-tooltip>span{flex:0 0 auto;font-family:var(--font-mono)}.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-color{width:12px;height:12px;flex:0 0 auto;border-radius:3px}.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 (hover:hover){.drum-hit:hover,.roll-note:hover{z-index:3;opacity:1;filter:brightness(1.12)}.drum-hit.is-muted-layer:hover,.roll-note.is-muted-layer:hover{opacity:.42;filter:saturate(.45) brightness(1.12)}}@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}.roll-frame{grid-template-columns:minmax(0,1fr)}.drum-axis,.pitch-axis,.roll-ruler-spacer{display:none}.drum-canvas,.roll-canvas,.roll-ruler{grid-column:1}.pitch-axis,.roll-canvas{height:clamp(300px,54svh,520px)}.roll-canvas{background-image:linear-gradient(to right,color-mix(in oklch,var(--soundfish-roll-foreground) 28%,transparent) 1px,transparent 1px),linear-gradient(to right,color-mix(in oklch,var(--soundfish-roll-foreground) 11%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in oklch,var(--soundfish-roll-foreground) 6%,transparent) 1px,transparent 1px);background-size:var(--roll-bar,25%) 100%,var(--roll-beat,6.25%) 100%,100% var(--pitch-row)}.drum-canvas{background-image:linear-gradient(to right,color-mix(in oklch,var(--soundfish-roll-foreground) 28%,transparent) 1px,transparent 1px),linear-gradient(to right,color-mix(in oklch,var(--soundfish-roll-foreground) 11%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in oklch,var(--soundfish-roll-foreground) 7%,transparent) 1px,transparent 1px);background-size:var(--roll-bar,25%) 100%,var(--roll-beat,6.25%) 100%,100% var(--drum-row)}.roll-editing-copy{display:grid;padding-inline:var(--space-3)}.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}.playback-cursor{transition:transform 80ms linear}}@media (forced-colors:active){.drum-hit:focus-visible,.mixer-channel.is-selected,.roll-note.is-editing,.roll-note:focus-visible{outline:2px solid Highlight;outline-offset:-3px}}