:root{--color-play:#58a848;--color-stop:#b84848;--color-test:#d8b840;--color-active:#6858c8;--color-loop-bg:#ddd4c4;--color-mini-melody-bg:#aeb8c8;--color-canvas-bg:#9ea8b8;--color-outline:#707888;--color-labels:#585868;--color-btn-text:#1e2230;--color-spectrum-border:#46506e73;--font-mono:ui-monospace, "Cascadia Mono", "Segoe UI Mono", monospace}[data-palette=legacy]{--color-play:#7aa848;--color-stop:#c85858;--color-test:#d8b030;--color-active:#6048e8;--color-loop-bg:#e2d6b4;--color-canvas-bg:#b8bec6;--color-mini-melody-bg:#b4aa98;--color-outline:#787878;--color-labels:#646464;--color-btn-text:#242424;--color-spectrum-border:#46464b73}[data-palette=dusk]{--color-play:#7a9858;--color-stop:#b84850;--color-test:#c8a040;--color-active:#7868b8;--color-loop-bg:#e4dcd4;--color-canvas-bg:#b4a8b0;--color-mini-melody-bg:#a898a8;--color-outline:#786878;--color-labels:#605060;--color-btn-text:#2a2430;--color-spectrum-border:#5a506473}[data-palette=grove]{--color-play:#5a9048;--color-stop:#a84840;--color-test:#b89838;--color-active:#487868;--color-loop-bg:#e2dcc8;--color-canvas-bg:#a8b09c;--color-mini-melody-bg:#989e8c;--color-outline:#687058;--color-labels:#505848;--color-btn-text:#222820;--color-spectrum-border:#46553c73}[data-palette=twilight]{--color-play:#78a858;--color-stop:#d85860;--color-test:#c8a838;--color-active:#8878c8;--color-loop-bg:#585068;--color-canvas-bg:#3c3648;--color-mini-melody-bg:#343040;--color-outline:#888098;--color-labels:#b0a8b8;--color-btn-text:#f4f0f8;--color-spectrum-border:#6e648280}[data-palette=midnight]{--color-play:#6ca858;--color-stop:#e05858;--color-test:#c8a030;--color-active:#58a8c8;--color-loop-bg:#282e3c;--color-canvas-bg:#141820;--color-mini-melody-bg:#1a2434;--color-outline:#687080;--color-labels:#98a4b0;--color-btn-text:#eef0f4;--color-spectrum-border:#5a6e8280}[data-palette=deep]{--color-play:#48a088;--color-stop:#d85860;--color-test:#b89048;--color-active:#3890b0;--color-loop-bg:#142430;--color-canvas-bg:#0a1418;--color-mini-melody-bg:#081c24;--color-outline:#507078;--color-labels:#7a9898;--color-btn-text:#d8ece8;--color-spectrum-border:#326e828c}[data-palette=haze]{--color-play:#78a058;--color-stop:#d85860;--color-test:#b89840;--color-active:#9878c8;--color-loop-bg:#2e2838;--color-canvas-bg:#181420;--color-mini-melody-bg:#1c1830;--color-outline:#686070;--color-labels:#9890a0;--color-btn-text:#f0ecf4;--color-spectrum-border:#64557880}[data-palette=slate]{--color-play:#68a848;--color-stop:#e05858;--color-test:#c8a838;--color-active:#6888d8;--color-loop-bg:#343a44;--color-canvas-bg:#1a1e24;--color-mini-melody-bg:#222830;--color-outline:#606870;--color-labels:#9098a4;--color-btn-text:#eef0f4;--color-spectrum-border:#555f7380}[data-palette=void]{--color-play:#68a050;--color-stop:#e05858;--color-test:#b89838;--color-active:#8070e8;--color-loop-bg:#222228;--color-canvas-bg:#0c0c0e;--color-mini-melody-bg:#141418;--color-outline:#585860;--color-labels:#888890;--color-btn-text:#eaeaf0;--color-spectrum-border:#5555648c}:root{--loop-panel-width:100px;--loop-panel-height:140px;--loop-circle-size:44px;--loop-row-padding-y:13px;--loop-row-height:calc(var(--loop-circle-size) + var(--loop-row-padding-y) * 2);--mini-melody-max-width:225px;--content-meta-min-width:92px;--loop-label-width:48px;--loop-transport-btn-size:21px;--loop-transport-btn-gap:2px;--reel-lane-controls-width:40px;--reel-lane-actions-width:52px;--reel-circle-melody-gap:8px;--tape-loop-reel-left:calc(50% - var(--mini-melody-max-width) / 2 - var(--loop-circle-size) - var(--reel-circle-melody-gap))}.reel-lane{min-height:var(--loop-row-height);align-items:center;gap:12px;display:flex}.reel-lane__controls{flex:0 0 var(--reel-lane-controls-width);width:var(--reel-lane-controls-width);min-width:var(--reel-lane-controls-width)}.reel-lane__reel{flex:0 0 var(--loop-circle-size);width:var(--loop-circle-size);min-width:var(--loop-circle-size);justify-content:center;align-items:center;display:flex}.reel-lane__label{flex:0 0 var(--loop-label-width);width:var(--loop-label-width);min-width:var(--loop-label-width)}.reel-lane__tape{flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.reel-lane__meta{min-width:var(--content-meta-min-width);flex:auto;width:auto;max-width:none;overflow:hidden}.reel-lane__actions{flex:0 0 var(--reel-lane-actions-width);width:var(--reel-lane-actions-width);min-width:var(--reel-lane-actions-width);justify-content:flex-end;display:flex}:root{--ui-scale:1.1;font-family:var(--font-mono);color:var(--color-btn-text);background-color:var(--color-canvas-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.4}html{zoom:var(--ui-scale)}*,:before,:after{box-sizing:border-box}body{min-height:100vh;margin:0}#root{max-width:720px;margin:0 auto;padding:60px 10px 40px}button{font-family:var(--font-mono);color:var(--color-btn-text)}button:disabled{opacity:.5;cursor:not-allowed}.import-reel-modal{z-index:100;background:#38383873;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.import-reel-modal__panel{border:1px solid var(--color-outline);background:var(--color-loop-bg);width:min(100%,360px);padding:14px 14px 12px;box-shadow:0 8px 24px #0003}.import-reel-modal__title{font-family:var(--font-mono);text-transform:lowercase;color:var(--color-btn-text);margin:0 0 6px;font-size:11px;font-weight:400}.import-reel-modal__description{font-family:var(--font-mono);color:var(--color-labels);margin:0 0 10px;font-size:10px;line-height:1.4}.import-reel-modal__label{font-family:var(--font-mono);text-transform:lowercase;color:var(--color-btn-text);margin-bottom:4px;font-size:10px;display:block}.import-reel-modal__textarea{border:1px solid var(--color-outline);width:100%;min-height:140px;font-family:var(--font-mono);color:var(--color-btn-text);resize:vertical;background:#0000001f;padding:8px;font-size:10px;line-height:1.35}.import-reel-modal__textarea:focus{border-color:var(--color-btn-text);outline:none}.import-reel-modal__error{font-family:var(--font-mono);color:var(--color-stop);margin:8px 0 0;font-size:10px;line-height:1.35}.import-reel-modal__actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.import-reel-modal__btn{border:1px solid var(--color-outline);text-transform:lowercase;cursor:pointer;background:0 0;min-width:72px;height:26px;padding:0 10px;font-size:10px}.import-reel-modal__btn--cancel:hover{border-color:var(--color-btn-text);color:var(--color-btn-text)}.import-reel-modal__btn--import{border-color:color-mix(in srgb, var(--color-play) 55%, var(--color-outline));color:var(--color-play)}.import-reel-modal__btn--import:hover{border-color:var(--color-play)}.loop-stack__add-row{gap:8px;display:flex}.loop-stack__add-row .loop-stack__add{width:auto;min-height:var(--loop-row-height);flex:1}.add-loop-presets{flex:none;position:relative}.add-loop-presets__trigger{height:var(--loop-row-height);border:1px solid var(--color-outline);min-width:88px;color:var(--color-btn-text);font-family:var(--font-mono);text-transform:lowercase;cursor:pointer;background:#ffffff0f;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:10px;display:flex}.add-loop-presets__trigger:hover,.add-loop-presets__trigger.is-open{border-color:var(--color-btn-text);color:var(--color-btn-text);background:#ffffff14}.add-loop-presets__caret{font-size:9px;line-height:1}.add-loop-presets__menu{border:1px solid var(--color-outline);background:var(--color-loop-bg);z-index:6;width:max-content;min-width:100%;margin-top:4px;padding:4px 0;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #0000001f}.add-loop-presets__item{width:100%;font-family:var(--font-mono);text-align:left;text-transform:lowercase;color:var(--color-btn-text);cursor:pointer;background:0 0;border:none;padding:6px 10px;font-size:10px;display:block}.add-loop-presets__item:hover{background:#ffffff38}.add-loop-presets__divider{background:var(--color-outline);opacity:.65;height:1px;margin:4px 0}.dial{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:2px;display:flex;position:relative}.dial__control{width:var(--dial-size,32px);height:var(--dial-size,32px);cursor:ns-resize;touch-action:none;position:relative}.dial__control:focus-visible{outline:1px solid var(--color-active);outline-offset:2px}.dial--disabled .dial__control{cursor:not-allowed;opacity:.45}.dial__svg{display:block}.dial__track{stroke:var(--color-outline);opacity:.35}.dial__value{stroke:var(--color-active)}.dial__inactive{stroke:var(--color-outline);opacity:.18}.dial__notch{stroke:var(--color-labels);opacity:.7}.dial__readout{font-family:var(--font-mono);color:var(--color-outline);pointer-events:none;justify-content:center;align-items:center;font-size:7px;display:flex;position:absolute;inset:0}.dial__readout--editable{pointer-events:auto;cursor:text}.dial__readout-input{background:var(--color-loop-bg,var(--color-bg));width:100%;height:100%;box-shadow:inset 0 0 0 1px var(--color-outline);font-family:var(--font-mono);color:var(--color-outline);text-align:center;z-index:1;border:none;border-radius:2px;margin:0;padding:0;font-size:7px;position:absolute;inset:0}.dial--lg .dial__readout,.dial--lg .dial__readout-input{font-size:8px}.dial__label{font-family:var(--font-mono);text-transform:lowercase;color:var(--color-labels);font-size:8px;line-height:1}.dial__sublabel{white-space:nowrap;font-family:var(--font-mono);text-transform:lowercase;color:color-mix(in srgb, var(--color-labels) 75%, transparent);pointer-events:none;font-size:7px;line-height:1;position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%)}.dial--toolbar{gap:var(--toolbar-dial-label-gap,4px);height:var(--toolbar-height,var(--loop-row-height));justify-content:center}.dial--toolbar .dial__label{height:var(--toolbar-dial-label-height,8px);flex-shrink:0}.dial--toolbar .dial__readout,.dial--toolbar .dial__readout-input{font-size:12px}.dial--toolbar .dial__control{width:var(--toolbar-dial-size,58px);height:var(--toolbar-dial-size,58px);flex-shrink:0}.dial--toolbar .dial__svg{width:100%;height:100%}.toolbar__pace-wrap{flex-direction:column;flex-shrink:0;align-items:stretch;gap:2px;width:30px;height:100%;display:flex}.toolbar__pace-label{flex-shrink:0}.toolbar__pace{flex-direction:column;flex:1;justify-content:space-between;align-items:stretch;min-height:0;display:flex}.toolbar__pace-btn{border:1px solid var(--color-outline);width:100%;height:18px;color:var(--color-labels);cursor:pointer;box-sizing:border-box;background:#ffffff14;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:9px;line-height:1;display:flex}.toolbar__pace-btn:hover:not(:disabled){border-color:var(--color-btn-text);color:var(--color-btn-text)}.toolbar__pace-btn:disabled{cursor:not-allowed;opacity:.45}.toolbar__pace-readout{font-family:var(--font-mono);color:var(--color-btn-text);text-align:center;flex-shrink:0;width:100%;min-width:0;padding:1px 0;font-size:10px;line-height:1;overflow:hidden}.scale-type-select{grid-template-rows:1fr;grid-template-columns:1fr;width:100%;min-width:0;display:grid;position:relative}.scale-type-select__native,.scale-type-select__readout,.scale-type-select__caret{grid-area:1/1}.scale-type-select__native{color:#0000;-webkit-text-fill-color:transparent;appearance:none;width:100%}.scale-type-select__native option{color:var(--color-btn-text)}.scale-type-select__readout{box-sizing:border-box;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;font-family:var(--font-mono);color:var(--color-btn-text);place-self:center stretch;line-height:1;overflow:hidden}.scale-type-select--loop-editor .scale-type-select__native{padding:0 14px 0 4px}.scale-type-select--loop-editor .scale-type-select__readout{padding:0 14px 0 4px;font-size:8px}.scale-type-select--toolbar{height:100%}.scale-type-select--toolbar .scale-type-select__native{height:100%;padding:0 16px 0 4px}.scale-type-select--toolbar .scale-type-select__readout{align-items:center;padding:0 16px 0 4px;font-size:9px;line-height:1;display:flex}.scale-type-select__caret{color:var(--color-outline);pointer-events:none;place-self:center end;padding-right:3px;font-size:6px;line-height:1}.scale-type-select--toolbar .scale-type-select__caret{padding-right:4px;font-size:7px}.master-spectrum{width:100%;height:var(--toolbar-height)}.master-spectrum__canvas{border:1px solid var(--color-spectrum-border);background:var(--color-canvas-bg);border-radius:2px;width:100%;height:100%;display:block}.palette-selector{justify-content:space-between;align-items:center;gap:10px;display:flex}.palette-selector__control{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.palette-selector__label{font-family:var(--font-mono);text-transform:lowercase;color:var(--color-labels);flex:none;font-size:8px}.palette-selector__select{font-family:var(--font-mono);color:var(--color-btn-text);border:1px solid var(--color-outline);cursor:pointer;background:#ffffff24;flex:1;min-width:0;padding:2px 4px;font-size:9px}.palette-selector__preview{flex-shrink:0;gap:3px;display:flex}.palette-selector__chip{border:1px solid color-mix(in srgb, var(--color-outline) 70%, transparent);border-radius:2px;width:10px;height:10px}.palette-selector__chip--canvas{background:var(--color-canvas-bg)}.palette-selector__chip--loop{background:var(--color-loop-bg)}.palette-selector__chip--melody{background:var(--color-mini-melody-bg)}.palette-selector__chip--active{background:var(--color-active)}.settings-modal{z-index:100;background:#38383873;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.settings-modal__panel{border:1px solid var(--color-outline);background:var(--color-loop-bg);width:min(100%,300px);padding:14px 14px 12px;box-shadow:0 8px 24px #0003}.settings-modal__header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.settings-modal__title{font-family:var(--font-mono);text-transform:lowercase;color:var(--color-btn-text);margin:0;font-size:11px;font-weight:400}.settings-modal__close{border:1px solid var(--color-outline);width:24px;height:24px;color:var(--color-labels);cursor:pointer;background:0 0;padding:0;font-size:16px;line-height:1}.settings-modal__close:hover{border-color:var(--color-btn-text);color:var(--color-btn-text)}.settings-modal__body{flex-direction:column;gap:12px;display:flex}.settings-modal__checkbox{font-family:var(--font-mono);color:var(--color-btn-text);cursor:pointer;align-items:flex-start;gap:8px;font-size:10px;line-height:1.35;display:flex}.settings-modal__checkbox input{margin-top:1px}.settings-modal__field{flex-direction:column;gap:6px;display:flex}.settings-modal__field-header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.settings-modal__field-label{font-family:var(--font-mono);text-transform:lowercase;color:var(--color-btn-text);font-size:10px;line-height:1.35}.settings-modal__field-value{font-family:var(--font-mono);color:var(--color-labels);white-space:nowrap;font-size:10px;line-height:1.35}.settings-modal__range{width:100%;accent-color:var(--color-btn-text);cursor:pointer;margin:0}.settings-modal__hint{font-family:var(--font-mono);color:var(--color-labels);margin:0;font-size:9px;line-height:1.4}.settings-btn{z-index:100;color:var(--color-labels);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:fixed;top:12px;right:12px}.settings-btn:hover:not(:disabled){color:var(--color-btn-text)}.settings-btn:focus-visible{outline:1px solid var(--color-active);outline-offset:2px}.settings-btn:disabled{cursor:not-allowed;opacity:.55}.settings-btn__icon{width:20px;height:20px}.view-toggle{border:1px solid var(--color-outline);display:inline-flex}.view-toggle__option{font-family:var(--font-mono);text-transform:lowercase;color:var(--color-labels);cursor:pointer;background:0 0;border:none;padding:3px 10px;font-size:9px;line-height:1}.view-toggle__option+.view-toggle__option{border-left:1px solid var(--color-outline)}.view-toggle__option:hover:not(:disabled):not(.is-active){color:var(--color-btn-text);background:#ffffff14}.view-toggle__option.is-active{background:var(--color-outline);color:var(--color-loop-bg)}.view-toggle__option:focus-visible{outline:1px solid var(--color-active);outline-offset:-1px}.view-toggle__option:disabled{cursor:not-allowed;opacity:.55}.back-btn{z-index:100;color:var(--color-labels);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:fixed;top:12px;left:12px}.back-btn:hover{color:var(--color-btn-text)}.back-btn:focus-visible{outline:1px solid var(--color-active);outline-offset:2px}.back-btn__icon{width:20px;height:20px}.confirm-modal{z-index:100;background:#38383873;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.confirm-modal__panel{border:1px solid var(--color-outline);background:var(--color-loop-bg);width:min(100%,280px);padding:14px 14px 12px;box-shadow:0 8px 24px #0003}.confirm-modal__title{font-family:var(--font-mono);text-transform:lowercase;color:var(--color-btn-text);margin:0 0 8px;font-size:11px;font-weight:400}.confirm-modal__message{font-family:var(--font-mono);color:var(--color-labels);margin:0 0 14px;font-size:10px;line-height:1.4}.confirm-modal__actions{justify-content:flex-end;gap:8px;display:flex}.confirm-modal__btn{border:1px solid var(--color-outline);text-transform:lowercase;cursor:pointer;background:0 0;min-width:72px;height:26px;padding:0 10px;font-size:10px}.confirm-modal__btn--cancel:hover{border-color:var(--color-btn-text);color:var(--color-btn-text)}.confirm-modal__btn--confirm{border-color:color-mix(in srgb, var(--color-stop) 55%, var(--color-outline));color:var(--color-stop)}.confirm-modal__btn--confirm:hover{color:#c44;border-color:#c44}.ensemble-menu{align-self:center;margin-right:6px;position:relative}.ensemble-menu__trigger{border:1px solid var(--color-outline);width:24px;height:24px;color:var(--color-outline);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;display:flex}.ensemble-menu__trigger:hover:not(:disabled),.ensemble-menu__trigger.is-open{color:var(--color-btn-text)}.ensemble-menu__trigger.is-open{background:var(--color-outline);color:var(--color-loop-bg)}.ensemble-menu__trigger:disabled{opacity:.45;cursor:not-allowed}.ensemble-menu__icon{width:14px;height:14px;display:block}.ensemble-menu__dropdown{border:1px solid var(--color-outline);background:var(--color-loop-bg);z-index:6;min-width:108px;margin-top:2px;padding:4px 0;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #00000026}.ensemble-menu__item{width:100%;font-family:var(--font-mono);text-align:left;text-transform:lowercase;color:var(--color-btn-text);cursor:pointer;background:0 0;border:none;padding:5px 10px;font-size:10px;display:block}.ensemble-menu__item:hover:not(:disabled){background:#ffffff38}.ensemble-menu__item:disabled{opacity:.45;cursor:not-allowed}.ensemble-menu__item--danger{color:var(--color-stop)}.ensemble-menu__item--danger:hover:not(:disabled){background:var(--color-stop);color:var(--color-loop-bg)}.startup-screen{flex-direction:column;gap:20px;width:min(100%,420px);padding:24px;display:flex}.startup-screen__title{font-family:var(--font-mono);text-transform:lowercase;text-align:center;color:var(--color-btn-text);margin:0;font-size:14px;font-weight:400}.startup-screen__section{flex-direction:column;gap:8px;display:flex}.startup-screen__heading{font-family:var(--font-mono);text-transform:lowercase;color:var(--color-labels);margin:0;font-size:10px;font-weight:400}.startup-screen__empty{font-family:var(--font-mono);text-transform:lowercase;color:var(--color-labels);margin:0;font-size:10px}.startup-ensembles{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.startup-ensembles__item{border:1px solid var(--color-outline);background:var(--color-loop-bg);align-items:stretch;gap:6px;display:flex}.startup-ensembles__item:hover{border-color:var(--color-btn-text)}.startup-ensembles__item.is-busy{opacity:.6}.startup-ensembles__item.is-recent .startup-ensembles__name:after{content:" · last opened";color:var(--color-labels)}.startup-ensembles__select{min-height:var(--loop-row-height);cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:12px;padding:0 10px;display:flex}.startup-ensembles__select:disabled{cursor:progress}.startup-ensembles__select:hover:not(:disabled),.startup-ensembles__select:focus-visible{background:#ffffff14}.startup-ensembles__open{color:var(--color-labels);flex:none;font-size:14px;line-height:1}.startup-ensembles__select:hover:not(:disabled) .startup-ensembles__open{color:var(--color-btn-text)}.startup-ensembles__name{font-family:var(--font-mono);text-transform:lowercase;color:var(--color-btn-text);font-size:10px}.startup-ensembles__meta{font-family:var(--font-mono);text-transform:lowercase;color:var(--color-labels);flex-shrink:0;margin-left:auto;font-size:10px}.startup-ensembles__rename-input{border:1px solid var(--color-outline);background:var(--color-loop-bg);min-width:0;font-family:var(--font-mono);text-transform:lowercase;color:var(--color-btn-text);flex:1;padding:1px 4px;font-size:10px}.startup-screen__new{gap:8px;display:flex}.startup-screen__new-btn,.startup-templates__trigger{min-height:var(--loop-row-height);border:1px solid var(--color-outline);color:var(--color-btn-text);font-family:var(--font-mono);text-transform:lowercase;cursor:pointer;background:#ffffff0f;padding:0 10px;font-size:10px}.startup-screen__new-btn{flex:1}.startup-screen__new-btn:hover,.startup-templates__trigger:hover,.startup-templates__trigger.is-open{border-color:var(--color-btn-text);color:var(--color-btn-text);background:#ffffff14}.startup-templates{flex:none;position:relative}.startup-templates__trigger{justify-content:center;align-items:center;gap:6px;min-width:104px;display:flex}.startup-templates__caret{font-size:9px;line-height:1}.startup-templates__menu{border:1px solid var(--color-outline);background:var(--color-loop-bg);z-index:6;min-width:100%;margin-top:4px;padding:4px 0;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #0000001f}.startup-templates__item{width:100%;font-family:var(--font-mono);text-align:left;text-transform:lowercase;color:var(--color-btn-text);cursor:pointer;background:0 0;border:none;padding:6px 10px;font-size:10px;display:block}.startup-templates__item:hover{background:#ffffff38}.startup-templates__divider{background:var(--color-outline);opacity:.65;height:1px;margin:4px 0}.startup-screen__new-btn:disabled,.startup-templates__trigger:disabled{opacity:.45;cursor:not-allowed}.startup-screen__error{font-family:var(--font-mono);text-transform:lowercase;color:var(--color-stop);margin:0;font-size:10px}.loop-editor{flex-direction:column;gap:10px;padding-top:10px;display:flex}.loop-editor__subheader .dial__label,.loop-editor__subheader .loop-editor__inline-label{font-family:var(--font-mono);text-transform:lowercase;color:var(--color-labels);font-size:7px;line-height:1}.loop-editor__inline-field{align-items:center;gap:4px;min-width:0;display:flex}.loop-editor__inline-label{flex:none}.loop-editor__select{font-family:var(--font-mono);color:var(--color-btn-text);border:1px solid var(--color-outline);cursor:not-allowed;background:#ffffff14;min-width:0;max-width:100%;padding:2px 4px;font-size:9px}.loop-editor__select--editable{cursor:pointer}.loop-editor__select--editable:disabled{cursor:not-allowed}.loop-editor__tape-slot{align-items:stretch;width:100%;min-width:0}.loop-editor__melody-controls{left:calc(50% - var(--mini-melody-max-width) / 2);--loop-editor-voice-label-width:25px;--loop-editor-voice-control-bg:#ffffff14;--loop-editor-control-height:16px;--loop-editor-control-width:70px;--loop-editor-scale-control-width:85px;justify-content:flex-start;align-items:center;gap:8px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.loop-editor__meta-spacer{min-width:var(--content-meta-min-width);flex:auto}.loop-editor__key-column,.loop-editor__tone-column{flex:none}.loop-editor__key-column{width:calc(var(--loop-editor-voice-label-width) + var(--loop-editor-scale-control-width) + 4px);flex-direction:column;justify-content:center;gap:3px;display:flex}.loop-editor__key-column .loop-editor__inline-field,.loop-editor__key-column .loop-editor__octave{grid-template-columns:var(--loop-editor-voice-label-width) var(--loop-editor-scale-control-width);align-items:center;column-gap:4px;width:100%;display:grid}.loop-editor__select--root{width:100%}.loop-editor__tone-column{align-items:center;gap:8px;display:flex}.loop-editor__inst-field{grid-template-columns:var(--loop-editor-voice-label-width) var(--loop-editor-control-width);align-items:center;column-gap:4px;display:grid}.loop-editor__key-column .loop-editor__select,.loop-editor__key-column .scale-type-select__native,.loop-editor__inst-field .loop-editor__select,.loop-editor__octave-controls{width:100%;max-width:100%;height:var(--loop-editor-control-height);min-height:var(--loop-editor-control-height);box-sizing:border-box;background:var(--loop-editor-voice-control-bg)}.loop-editor__melody-controls .loop-editor__select{padding:0 2px;font-size:8px;line-height:1}.loop-editor__octave{width:100%}.loop-editor__octave-controls{border:1px solid var(--color-outline);justify-content:space-between;align-items:center;gap:1px;padding:0 1px;display:flex}.loop-editor__octave-btn{width:14px;height:14px;color:var(--color-outline);cursor:pointer;background:0 0;border:none;padding:0;font-size:7px;line-height:1}.loop-editor__octave-btn:hover:not(:disabled){color:var(--color-btn-text);background:#ffffff1f}.loop-editor__octave-btn:disabled{cursor:not-allowed;opacity:.45}.loop-editor__octave-readout{min-width:0;font-family:var(--font-mono);text-align:center;color:var(--color-btn-text);flex:auto;font-size:7px;line-height:1}.reel-lane__label,.reel-lane__reel{align-self:center}.loop-editor__subheader{position:relative}.loop-editor__center{left:calc(10px + var(--reel-lane-controls-width) + 12px);right:calc(50% - var(--mini-melody-max-width) / 2);height:var(--loop-circle-size);align-items:center;min-width:0;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.loop-editor__center .reel-lane__label{flex:auto;justify-content:center;align-items:center;width:auto;min-width:0;display:flex}.loop-editor__center .reel-lane__reel{margin-right:var(--reel-circle-melody-gap);flex-shrink:0}.loop-editor__melody-anchor{width:var(--mini-melody-max-width);min-width:var(--mini-melody-max-width);height:var(--loop-circle-size);visibility:hidden;pointer-events:none;flex-shrink:0}:root{--melody-grid-cell-size:13px;--melody-grid-step-width:26px;--melody-grid-pitch-width:32px;--melody-grid-label-gap:4px}.melody-grid__scroll{justify-content:center;width:100%;padding-bottom:2px;display:flex;overflow:auto hidden}.melody-grid__frame{flex:none;width:max-content;position:relative}.melody-grid{-webkit-user-select:none;user-select:none;gap:1px;width:max-content;display:grid}.melody-grid__playhead-layer{top:13px;left:var(--melody-grid-step-width);width:calc(var(--melody-grid-column-count) * var(--melody-grid-cell-size) + (var(--melody-grid-column-count) - 1) * 1px);pointer-events:none;z-index:3;position:absolute;bottom:0}.melody-grid__playhead{background:#fff;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;box-shadow:0 0 4px #fffc}.melody-grid__brace{border-left:1px dashed color-mix(in srgb, var(--color-active) 70%, #fff);pointer-events:none;z-index:4;width:0;position:absolute;top:14px;bottom:0}.melody-grid__brace-handle{background:var(--color-active);cursor:ew-resize;pointer-events:auto;touch-action:none;background-image:repeating-linear-gradient(90deg,#0000 0 4px,#ffffff8c 4px 5px);background-position:3px 4px;background-repeat:no-repeat;background-size:10px 6px;border-radius:3px 3px 0 0;width:16px;height:14px;position:absolute;top:-14px;left:-8px}.melody-grid__brace-handle:after{content:"";background:var(--color-active);width:6px;height:6px;position:absolute;bottom:-3px;left:50%;transform:translate(-50%)rotate(45deg)}.melody-grid__brace-handle:hover{background-color:color-mix(in srgb, var(--color-active) 80%, #fff)}.melody-grid__brace-handle:hover:after{background:color-mix(in srgb, var(--color-active) 80%, #fff)}.melody-grid__brace-handle:focus-visible{outline-offset:1px;outline:1px solid #fff}.melody-grid__corner{-webkit-user-select:none;user-select:none;height:14px}.melody-grid__corner--step{z-index:2;position:sticky;left:0}.melody-grid__corner--pitch{z-index:2;position:sticky;right:0}.melody-grid__col-header{height:14px;font-family:var(--font-mono);color:var(--color-labels);-webkit-user-select:none;user-select:none;justify-content:center;align-items:flex-end;font-size:7px;display:flex}.melody-grid__col-header--inactive{opacity:.3}.melody-grid__row{display:contents}.melody-grid__axis-label{z-index:1;height:var(--melody-grid-cell-size);font-family:var(--font-mono);color:var(--color-labels);-webkit-user-select:none;user-select:none;align-items:center;font-size:7px;transition:background-color .12s;display:flex}.melody-grid__axis-label--step{width:var(--melody-grid-step-width);padding:0 var(--melody-grid-label-gap) 0 2px;justify-content:flex-end;position:sticky;left:0}.melody-grid__axis-label--pitch{width:var(--melody-grid-pitch-width);padding:0 2px 0 var(--melody-grid-label-gap);justify-content:flex-start;position:sticky;right:0}.melody-grid__axis-label--root{color:var(--color-outline)}.melody-grid__axis-label--active{background:color-mix(in srgb, var(--color-active) 22%, transparent)}.melody-grid__row-step{text-align:right;white-space:nowrap;flex:none}.melody-grid__row-pitch{text-align:left;white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.melody-grid__cell{z-index:1;width:var(--melody-grid-cell-size);height:var(--melody-grid-cell-size);cursor:crosshair;background:#ffffff1f;border:1px solid #96969659;padding:0;position:relative}.melody-grid__cell:hover:not(:disabled){border-color:var(--color-outline);background:#ffffff38}.melody-grid__cell--inactive{background:#ffffff08;border-color:#96969626}.melody-grid__bar{z-index:2;min-height:var(--melody-grid-cell-size);pointer-events:auto;border:1px solid color-mix(in srgb, var(--color-active) 75%, #000);background:var(--color-active);opacity:.9;border-radius:2px;align-items:stretch;margin:0;display:flex;position:relative;overflow:hidden}.melody-grid__bar:hover{opacity:1}@keyframes melody-grid-bar-flash{0%{filter:brightness();opacity:.9}20%{filter:brightness(1.35);opacity:1}to{filter:brightness();opacity:.9}}.melody-grid__bar--flash{animation:.42s ease-out melody-grid-bar-flash}.melody-grid__bar-body{cursor:grab;background:0 0;border:none;flex:auto;min-width:0;padding:0}.melody-grid__bar-body:active:not(:disabled){cursor:grabbing}.melody-grid__bar-handle{cursor:ew-resize;background:0 0;border:none;flex:0 0 4px}.melody-grid__bar-handle:hover{background:color-mix(in srgb, var(--color-active) 65%, #000)}.melody-grid__bar--active{opacity:.8}.melody-grid__bar--ghost{pointer-events:none;opacity:.55;border:1px dashed var(--color-active);background:color-mix(in srgb, var(--color-active) 35%, transparent);box-sizing:border-box}.melody-grid__cell:focus-visible{outline:1px solid var(--color-active);outline-offset:1px}.melody-grid__cell:disabled{cursor:not-allowed;opacity:.45}.melody-grid__bar-body:focus-visible,.melody-grid__bar-handle:focus-visible{outline:1px solid var(--color-active);outline-offset:1px}.loop-level{width:8px;height:var(--loop-circle-size);flex-shrink:0}.loop-level__track{border:1px solid var(--color-outline);box-sizing:border-box;background:#383838;width:100%;height:100%;position:relative;overflow:hidden}.loop-level__fill{background:var(--color-play);pointer-events:none;position:absolute;bottom:0;left:0;right:0}.loop-level__peak{background:var(--color-outline);pointer-events:none;height:2px;margin-bottom:-1px;position:absolute;left:0;right:0}.loop-menu{position:relative}.loop-menu__trigger{border:1px solid var(--color-outline);width:24px;height:24px;color:var(--color-outline);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;display:flex}.loop-menu__trigger:hover:not(:disabled),.loop-menu__trigger.is-open{color:var(--color-btn-text)}.loop-menu__trigger.is-open{background:var(--color-outline);color:var(--color-loop-bg)}.loop-menu__trigger:disabled{opacity:.45;cursor:not-allowed}.loop-menu__icon{width:14px;height:14px;display:block}.loop-menu__dropdown{border:1px solid var(--color-outline);background:var(--color-loop-bg);z-index:6;min-width:96px;margin-top:2px;padding:4px 0;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #00000026}.loop-menu__item{width:100%;font-family:var(--font-mono);text-align:left;text-transform:lowercase;color:var(--color-btn-text);cursor:pointer;background:0 0;border:none;padding:5px 10px;font-size:10px;display:block}.loop-menu__item:hover:not(:disabled){background:#ffffff38}.loop-menu__item:disabled{opacity:.45;cursor:not-allowed}.loop-menu__item--danger{color:var(--color-stop)}.loop-menu__item--danger:hover:not(:disabled){background:var(--color-stop);color:var(--color-loop-bg)}.loop-volume{width:6px;height:var(--loop-circle-size);cursor:ns-resize;touch-action:none;outline:none;flex-shrink:0;position:relative}.loop-volume--disabled{cursor:not-allowed;opacity:.45}.loop-volume__notch{pointer-events:none;position:absolute;right:0;transform:translateY(50%)}.loop-volume__triangle{border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:6px solid var(--color-outline);width:0;height:0;display:block}.loop-volume:focus-visible .loop-volume__triangle{border-left-color:var(--color-active)}.ensemble-timeline{padding:0 0 24px;position:relative}.ensemble-timeline__rows{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ensemble-timeline__lane{box-sizing:content-box;height:var(--loop-row-height);background:var(--color-loop-bg);border:1px solid var(--color-outline);position:relative;overflow:hidden}@keyframes ensemble-timeline-lane-flash{0%,10%{border-color:#fff;box-shadow:0 0 10px #ffffffb3}58%{border-color:#ece9ff;box-shadow:0 0 6px #ffffff4d}to{border-color:var(--color-outline);box-shadow:none}}.ensemble-timeline__lane--lap{animation:1.35s linear forwards ensemble-timeline-lane-flash}.ensemble-timeline__strip{will-change:transform;position:absolute;inset:0}.ensemble-timeline__tile{position:absolute;top:0;bottom:0}.ensemble-timeline__seam{background:var(--color-active);opacity:.55;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;left:0}.ensemble-timeline__tile-melody{position:absolute;top:0;bottom:0;left:0}.ensemble-timeline__tile-melody .mini-melody,.ensemble-timeline__tile-melody .mini-melody__track{height:100%}.ensemble-timeline__tile-melody .mini-melody__track{border:none}.ensemble-timeline__lane:before,.ensemble-timeline__lane:after{content:"";z-index:2;pointer-events:none;width:28px;position:absolute;top:0;bottom:0}.ensemble-timeline__lane:before{background:linear-gradient(90deg, var(--color-loop-bg), transparent);left:0}.ensemble-timeline__lane:after{background:linear-gradient(270deg, var(--color-loop-bg), transparent);right:0}.ensemble-timeline__period{z-index:3;background:color-mix(in srgb, var(--color-loop-bg) 80%, transparent);font-family:var(--font-mono);color:var(--color-labels);pointer-events:none;border-radius:2px;padding:1px 4px;font-size:9px;position:absolute;top:4px;left:6px}.ensemble-timeline__playhead{z-index:5;pointer-events:none;background:#fff;width:2px;margin-left:-1px;position:absolute;top:0;bottom:24px;box-shadow:0 0 6px #ffffffb3}@keyframes ensemble-timeline-downbeat{0%{opacity:1;box-shadow:0 0 #fff0}15%{opacity:1;box-shadow:0 0 12px 3px #fffffff2}to{opacity:0;box-shadow:0 0 #fff0}}.ensemble-timeline__downbeat{z-index:6;pointer-events:none;background:#fff;width:2px;margin-left:-1px;animation:.6s ease-out forwards ensemble-timeline-downbeat;position:absolute;top:0;bottom:0}.ensemble-timeline__lane.is-clickable{cursor:pointer}.ensemble-timeline__lane.is-clickable:hover,.ensemble-timeline__lane.is-clickable:focus-visible{border-color:var(--color-btn-text)}.ensemble-timeline__empty{z-index:1;font-family:var(--font-mono);text-transform:lowercase;color:var(--color-labels);pointer-events:none;justify-content:center;align-items:center;font-size:10px;display:flex;position:absolute;inset:0}.timeline-motion-controls{align-items:center;gap:8px;display:inline-flex}.timeline-motion-controls__motion{border:1px solid var(--color-outline);display:inline-flex}.timeline-motion-controls__mode{font-family:var(--font-mono);text-transform:lowercase;color:var(--color-labels);cursor:pointer;background:0 0;border:none;padding:3px 8px;font-size:9px;line-height:1}.timeline-motion-controls__mode+.timeline-motion-controls__mode{border-left:1px solid var(--color-outline)}.timeline-motion-controls__mode:hover:not(.is-active){color:var(--color-btn-text);background:#ffffff14}.timeline-motion-controls__mode.is-active{background:var(--color-outline);color:var(--color-loop-bg)}.timeline-motion-controls__mode:focus-visible{outline:1px solid var(--color-active);outline-offset:-1px}.timeline-motion-controls__zoom{border:1px solid var(--color-outline);align-items:center;display:inline-flex}.timeline-motion-controls__zoom-btn{width:22px;height:20px;font-family:var(--font-mono);color:var(--color-labels);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;line-height:1}.timeline-motion-controls__zoom-btn+.timeline-motion-controls__zoom-btn{border-left:1px solid var(--color-outline)}.timeline-motion-controls__zoom-btn:hover:not(:disabled){color:var(--color-btn-text);background:#ffffff14}.timeline-motion-controls__zoom-btn:disabled{cursor:not-allowed;opacity:.45}.timeline-motion-controls__zoom-btn:focus-visible{outline:1px solid var(--color-active);outline-offset:-1px}.timeline-motion-controls__zoom-readout{border-left:1px solid var(--color-outline);border-right:1px solid var(--color-outline);min-width:28px;font-family:var(--font-mono);text-align:center;color:var(--color-btn-text);padding:0 2px;font-size:9px;line-height:20px}.ensemble-title,.ensemble-title__input{z-index:100;max-width:240px;font-family:var(--font-mono);text-transform:lowercase;font-size:11px;line-height:16px;position:fixed;top:14px;left:44px}.ensemble-title{color:var(--color-labels);cursor:text;text-overflow:ellipsis;white-space:nowrap;text-align:left;background:0 0;border:none;padding:2px 4px;overflow:hidden}.ensemble-title:hover{color:var(--color-btn-text)}.ensemble-title:focus-visible{outline:1px solid var(--color-active);outline-offset:1px}.ensemble-title__input{border:1px solid var(--color-outline);background:var(--color-loop-bg);width:200px;color:var(--color-btn-text);padding:1px 4px}.ensemble-sync-label{font-family:var(--font-mono);text-transform:lowercase;color:var(--color-labels);font-variant-numeric:tabular-nums;margin:0;font-size:9px;line-height:1.2}.ensemble-sync-label__toggle{font:inherit;color:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:none;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.tape-loop-row{background:var(--color-loop-bg);border:1px solid var(--color-outline);position:relative}.tape-loop-row.is-expanded{background:color-mix(in srgb, var(--color-loop-bg) 92%, #fff)}@keyframes tape-loop-row-lap-flash{0%,10%{border-color:#fff;box-shadow:0 0 10px #ffffffbf}58%{border-color:#ece9ff;box-shadow:0 0 6px #ffffff59}to{border-color:var(--color-outline);box-shadow:none}}.tape-loop-row--lap{animation:1.35s linear forwards tape-loop-row-lap-flash}.tape-loop-row__summary{padding:var(--loop-row-padding-y) 10px;position:relative}.tape-loop-row__controls{height:var(--loop-circle-size);flex-shrink:0;justify-content:flex-start;align-items:center;gap:5px;width:100%;display:flex}.tape-loop-row__transport{gap:var(--loop-transport-btn-gap);flex-direction:column;flex-shrink:0;justify-content:center;height:100%;display:flex}.tape-loop-btn{width:var(--loop-transport-btn-size);height:var(--loop-transport-btn-size);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;font-size:12px;line-height:1;display:flex}.tape-loop-btn--play{background-color:var(--color-play);padding-bottom:2px}.tape-loop-btn--stop{background-color:var(--color-stop);padding-bottom:2px;font-size:13px}.tape-loop-row__btn-icon{width:11px;height:11px;display:block}.tape-loop-row__center{left:calc(10px + var(--reel-lane-controls-width) + 12px);right:calc(50% - var(--mini-melody-max-width) / 2);z-index:1;height:var(--loop-circle-size);pointer-events:none;align-items:center;min-width:0;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.tape-loop-row__center>*{pointer-events:auto}.tape-loop-row__center .reel-lane__label{flex:auto;justify-content:center;align-items:center;width:auto;min-width:0;display:flex}.tape-loop-row__center .tape-loop-row__reel{margin-right:var(--reel-circle-melody-gap);flex-shrink:0}.tape-loop-row__reel{width:var(--loop-circle-size);height:var(--loop-circle-size);flex-shrink:0;position:relative}.tape-loop-row__ring{border:2px solid var(--color-outline);opacity:.55;box-sizing:border-box;border-radius:50%;position:absolute;inset:0}.tape-loop-row__tick{background:var(--color-outline);z-index:1;width:2px;height:11px;margin-left:-1px;position:absolute;top:-2px;left:50%}.tape-loop-row__arc{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.tape-loop-row__arc-fill{stroke:var(--color-active);stroke-linecap:butt}.tape-loop-row__dot{transform-origin:50%;pointer-events:none;z-index:2;position:absolute;inset:0}.tape-loop-row__dot-head{background:var(--color-active);opacity:.3;width:8px;height:8px;transform:translateY(calc(var(--loop-circle-size) / -2 + 1px));border-radius:50%;margin:-4px 0 0 -4px;transition:background 90ms linear,opacity 90ms linear;position:absolute;top:50%;left:50%}.tape-loop-row__dot-head.is-sounding{opacity:1;background:#fff}@keyframes tape-loop-dot-lap-bloom{0%{box-shadow:0 0 #fff0}18%{box-shadow:0 0 10px 2px #ffffffe6}to{box-shadow:0 0 #fff0}}.tape-loop-row__dot-head--lap{animation:.6s ease-out forwards tape-loop-dot-lap-bloom}.tape-loop-row__duration,.tape-loop-row__duration-input{width:100%;height:1.2em;font-family:var(--font-mono);color:var(--color-outline);cursor:pointer;text-align:center;z-index:3;background:0 0;border:none;justify-content:center;align-items:center;margin:auto;padding:0;font-size:8px;display:flex;position:absolute;inset:0}.tape-loop-row__duration-input{border:1px solid var(--color-outline);background:var(--color-loop-bg);cursor:text;border-radius:2px;width:42px;height:18px}.tape-loop-row__duration-readonly{font-family:var(--font-mono);color:var(--color-outline);z-index:3;pointer-events:none;justify-content:center;align-items:center;font-size:8px;font-weight:400;display:flex;position:absolute;inset:0}.tape-loop-row__level-group{flex-shrink:0;align-items:center;gap:0;display:flex}.reel-lane__label .tape-loop-row__label{width:100%}.tape-loop-row__center .reel-lane__label .tape-loop-row__label-button{text-align:center}.tape-loop-row__label{margin:0;overflow:hidden}.tape-loop-row__label--editing{align-items:center;display:flex}.tape-loop-row__label-button{text-align:left;cursor:text;background:0 0;border:none;width:100%;padding:0;display:block}.tape-loop-row__label-button:disabled{cursor:not-allowed;opacity:.45}.tape-loop-row__label-button:hover:not(:disabled) .tape-loop-row__label-text{color:var(--color-btn-text)}.tape-loop-row__label-text{font-family:var(--font-mono);text-transform:lowercase;color:var(--color-labels);white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:1;display:block;overflow:hidden}.tape-loop-row__label-input{border:1px solid var(--color-outline);width:100%;font-family:var(--font-mono);text-transform:lowercase;color:var(--color-btn-text);background:#ffffff2e;padding:1px 2px;font-size:10px;line-height:1}.tape-loop-row__tape-content{justify-content:flex-end;align-items:center;width:100%;min-width:0;display:flex}.reel-lane__meta.tape-loop-row__content-meta{width:auto;min-width:var(--content-meta-min-width);font-family:var(--font-mono);color:var(--color-outline);flex-direction:column;flex:none;justify-content:center;align-items:flex-end;gap:2px;margin-left:auto;font-size:8px;font-weight:400;line-height:1.2;display:flex;overflow:hidden}.tape-loop-row__content-meta span{font-weight:inherit;color:inherit;text-transform:lowercase;white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.tape-loop-row__content-meta span:first-child,.tape-loop-row__content-meta .tape-loop-row__meta-scale{text-transform:none}.tape-loop-row__melody-wrap{width:var(--mini-melody-max-width);min-width:var(--mini-melody-max-width);max-width:var(--mini-melody-max-width);height:var(--loop-circle-size);flex-shrink:0;position:relative}.mini-melody{width:100%;height:100%}.mini-melody__test-btn{z-index:2;color:var(--color-btn-text);cursor:pointer;opacity:.58;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;bottom:3px;right:3px}.mini-melody__test-btn:hover:not(:disabled){opacity:.82}.mini-melody__test-btn:disabled{opacity:.3;cursor:not-allowed}.mini-melody__test-icon{width:10px;height:10px;display:block}@keyframes mini-melody-test-icon-pulse{0%,to{opacity:.82;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}.mini-melody__test-btn.is-testing{opacity:1}.mini-melody__test-btn.is-testing .mini-melody__test-icon{animation:.95s ease-in-out infinite mini-melody-test-icon-pulse}.mini-melody__track{border:1px solid var(--color-outline);background:var(--color-mini-melody-bg);height:100%;position:relative;overflow:hidden}.mini-melody__note{background:var(--color-active);opacity:.85;pointer-events:none;border-radius:1px;height:6px;margin-top:-3px;position:absolute}@keyframes mini-melody-note-flash{0%{filter:brightness();opacity:.85}20%{filter:brightness(1.75);opacity:1}to{filter:brightness();opacity:.85}}.mini-melody__note--flash{animation:.42s ease-out mini-melody-note-flash}.mini-melody__playhead{pointer-events:none;z-index:1;background:#fff;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;box-shadow:0 0 4px #fffc}.tape-loop-row__actions{flex-shrink:0;justify-content:flex-end;gap:4px;width:100%;display:flex}.tape-loop-row__action{border:1px solid var(--color-outline);width:24px;height:24px;color:var(--color-outline);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;display:flex}.tape-loop-row__action-icon{width:14px;height:14px;display:block}.tape-loop-row__action--edit.is-active{background:var(--color-outline);border-color:var(--color-outline);color:var(--color-loop-bg)}.tape-loop-row__action--edit:hover:not(:disabled):not(.is-active){border-color:var(--color-outline);color:var(--color-btn-text)}.tape-loop-row__action--edit.is-active:hover:not(:disabled){background:var(--color-btn-text);border-color:var(--color-btn-text);color:var(--color-loop-bg)}.tape-loop-row__action:disabled{opacity:.45;cursor:not-allowed}.tape-loop-row__editor{padding:0 10px 14px;position:relative}.tape-loop-row__editor:before{content:"";border-top:1px solid color-mix(in srgb, var(--color-outline) 40%, transparent);position:absolute;top:0;left:10px;right:10px}.app{position:relative}.app--startup{background:var(--color-canvas-bg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.toolbar{--toolbar-height:var(--loop-row-height);--toolbar-tonality-gap:4px;--toolbar-row-height:calc((var(--toolbar-height) - var(--toolbar-tonality-gap)) / 2);--toolbar-dial-label-gap:4px;--toolbar-dial-label-height:8px;--toolbar-dial-size:calc(var(--toolbar-height) - var(--toolbar-dial-label-gap) - var(--toolbar-dial-label-height));height:var(--toolbar-height);grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px;margin-bottom:12px;display:grid}.toolbar__transport{height:var(--toolbar-height);align-items:stretch;gap:12px;display:flex}.toolbar__ensemble{flex-direction:column;align-items:stretch;gap:4px;height:100%;display:flex}.toolbar__spectrum{width:100%;min-width:96px;height:var(--toolbar-height);justify-self:stretch}.toolbar>.toolbar__effects{height:var(--toolbar-height);justify-self:end}.toolbar__effects{flex-shrink:0;align-items:center;height:100%;display:flex}.toolbar__tonality{gap:var(--toolbar-tonality-gap);width:96px;height:var(--toolbar-height);flex-direction:column;justify-self:start;display:flex}.toolbar__tonality-field{flex-direction:column;flex:1;align-items:stretch;gap:2px;min-height:0;display:flex}.toolbar__tonality-label{font-family:var(--font-mono);text-transform:lowercase;color:var(--color-labels);flex-shrink:0;font-size:8px;line-height:1}.toolbar__tonality-select{font-family:var(--font-mono);color:var(--color-btn-text);border:1px solid var(--color-outline);cursor:pointer;box-sizing:border-box;background:#ffffff24;flex:1;width:100%;min-width:0;min-height:0;padding:0 4px;font-size:9px;line-height:1}.toolbar__tonality-select--root{min-width:0}.toolbar__tonality-select:disabled{cursor:not-allowed;opacity:.55}.toolbar__effects-fx{align-items:center;gap:14px;display:flex}.toolbar__effects-divider{background:var(--color-outline);opacity:.55;flex-shrink:0;width:1px;height:28px}.ensemble-btn{text-transform:lowercase;cursor:pointer;border:none;flex:1;width:84px;min-height:0;padding:0;font-size:10px;line-height:1}.ensemble-btn--play{background-color:var(--color-play)}.ensemble-btn--stop{background-color:var(--color-stop)}.audio-paused-banner{border:1px solid var(--color-outline);width:100%;color:var(--color-btn-text);text-transform:lowercase;cursor:pointer;background:#ffffff0f;margin-bottom:12px;padding:8px 0;font-size:10px;line-height:1}.hint{color:var(--color-labels);text-transform:lowercase;margin:0 0 10px;font-size:10px}.loop-stack{flex-direction:column;gap:8px;display:flex}.loop-stack__add{width:100%;min-height:var(--loop-row-height);border:1px solid var(--color-outline);color:var(--color-btn-text);cursor:pointer;background:#ffffff0f;justify-content:center;align-items:center;padding:0;font-size:22px;line-height:1;display:flex}.loop-stack__add:hover{border-color:var(--color-btn-text);color:var(--color-btn-text);background:#ffffff14}.view-toggle-row{grid-template-columns:1fr auto;align-items:center;gap:12px;margin-bottom:6px;display:grid}.view-toggle-row--timeline{grid-template-columns:1fr auto auto}
