@font-face{font-family:K2D;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/k2d-thai-400-normal-CKiWiQr-.woff2) format("woff2"),url(/assets/k2d-thai-400-normal-yzSQnQg_.woff) format("woff");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:K2D;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/k2d-vietnamese-400-normal-DuSJRTt4.woff2) format("woff2"),url(/assets/k2d-vietnamese-400-normal-VA-qcobu.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:K2D;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/k2d-latin-ext-400-normal-DOtkEEoF.woff2) format("woff2"),url(/assets/k2d-latin-ext-400-normal-BK8lNP3r.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:K2D;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/k2d-latin-400-normal-Chk5Qpm3.woff2) format("woff2"),url(/assets/k2d-latin-400-normal-QmZRtEJ1.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:K2D;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/k2d-thai-700-normal-Bf0jHa21.woff2) format("woff2"),url(/assets/k2d-thai-700-normal-C3l0YRTe.woff) format("woff");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:K2D;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/k2d-vietnamese-700-normal-CrTqm_HO.woff2) format("woff2"),url(/assets/k2d-vietnamese-700-normal-D-6Mq1PQ.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:K2D;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/k2d-latin-ext-700-normal-D8F0GIQd.woff2) format("woff2"),url(/assets/k2d-latin-ext-700-normal-D4Dzt5CV.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:K2D;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/k2d-latin-700-normal-DJg9xm9B.woff2) format("woff2"),url(/assets/k2d-latin-700-normal-5L6bGehZ.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{font-family:K2D,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body,#root{min-width:100%;min-height:100%;background-color:var(--body-bg-color, #eee7dc)}body{min-height:100vh;min-height:100dvh;background:var(--body-bg-color, #eee7dc);margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--main-bg-color: #f4f0e8;--main-text-color: #2f3437;--body-bg-color: #eee7dc;--pane-title-bgcolor: #e7ded2;--pane-title-color: #2f3437;--pane-body-bgcolor_1: #fbf8f2;--pane-body-bgcolor_2: #efe7dc;--pane-bg-color: #fbf8f2;--pane-shadow-color: rgba(82, 66, 48, .12);--control-surface-color: #e6ded2;--sequencer-step-empty-color: #dbd2c3;--control-muted-color: rgba(94, 127, 168, .14);--control-muted-strong-color: #a7b0b0;--muted-text-color: rgba(47, 52, 55, .55);--subtle-border-color: rgba(67, 74, 77, .18);--active-text-color: #fff;--active-soft-color: rgba(47, 125, 114, .13);--active-soft-strong-color: rgba(47, 125, 114, .22);--slider-handle-bg: #fffdf8;--slider-handle-hover-color: #1f6259;--slider-mark-active-color: #2f3437;--accent-active-shadow-color: rgba(47, 125, 114, .38);--clock-empty-color: #e1d8cc;--clock-stroke-color: #b9aea0;--clock-ring-color: rgba(47, 52, 55, .18);--clock-hand-color: rgba(47, 52, 55, .55);--rotary-shadow-color: rgba(82, 66, 48, .18);--rotary-face-color: #faf6ef;--rotary-bloom-tint: 55%;--rotary-bloom-hot-tint: 18%;--code-bg-color: #ece4d8;--footer-text-color: #6d6860;--active-color: #2f7d72}@media(prefers-color-scheme:dark){:root{--main-bg-color: #2b2724;--main-text-color: #e6ded2;--body-bg-color: #1e1b19;--pane-title-bgcolor: #211d1b;--pane-title-color: #e6ded2;--pane-body-bgcolor_1: #2b2724;--pane-body-bgcolor_2: #211d1b;--pane-bg-color: #171512;--pane-shadow-color: rgba(0, 0, 0, .35);--control-surface-color: #35302b;--sequencer-step-empty-color: #4a443c;--control-muted-color: rgba(47, 125, 114, .12);--control-muted-strong-color: #8a8378;--muted-text-color: rgba(230, 222, 210, .45);--subtle-border-color: rgba(230, 222, 210, .1);--active-text-color: #fff;--active-soft-color: rgba(47, 125, 114, .18);--active-soft-strong-color: rgba(47, 125, 114, .3);--slider-handle-bg: #f4f0e8;--slider-handle-hover-color: #3e9b8e;--slider-mark-active-color: #e6ded2;--accent-active-shadow-color: rgba(47, 125, 114, .45);--clock-empty-color: #2b2724;--clock-stroke-color: #4a443d;--clock-ring-color: rgba(230, 222, 210, .16);--clock-hand-color: rgba(230, 222, 210, .55);--rotary-shadow-color: rgba(0, 0, 0, .4);--rotary-face-color: #2a2622;--rotary-bloom-tint: 0%;--rotary-bloom-hot-tint: 45%;--code-bg-color: #3a342e;--footer-text-color: #8a8378;--active-color: #2f7d72}}body{background-color:var(--body-bg-color)!important}.ui-container{box-sizing:border-box;width:100%;max-width:1140px;margin-left:auto;margin-right:auto;padding-left:max(15px,env(safe-area-inset-left,0px));padding-right:max(15px,env(safe-area-inset-right,0px))}.ui-row{display:flex;flex-wrap:wrap;width:100%}.ui-col{flex:1 1 0;min-width:0}.ui-navbar{display:flex;align-items:center;min-height:56px}.ui-navbar-fixed{position:fixed;top:0;right:0;left:0;z-index:1030}.ui-nav{display:flex}.ui-button-group{display:inline-flex;vertical-align:middle}.ui-button-group-vertical{flex-direction:column}.ui-button{display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;padding:.35rem .75rem;border:1px solid var(--subtle-border-color);border-radius:6px;color:var(--main-text-color);background-color:var(--control-surface-color);font:inherit;line-height:1.2;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease,transform 80ms ease}.ui-button:hover{filter:brightness(1.06)}.ui-button:active{transform:translateY(1px)}.ui-button:disabled{cursor:not-allowed;opacity:.45}.ui-button:disabled:hover{filter:none}.ui-button:disabled:active{transform:none}.ui-button-primary,.ui-button.active{color:var(--active-text-color);border-color:var(--active-color, #f55);background-color:var(--active-color, #f55)}.ui-button-secondary{color:var(--main-text-color);background-color:var(--control-muted-strong-color)}.ui-button-warning{color:#1f1613;background-color:#d9a441;border-color:#d9a441}.ui-button-outline{background-color:transparent}.ui-button-sm{min-height:1.875rem;padding:.25rem .55rem;font-size:.875rem}.ui-button-xs{min-height:1.35rem;padding:.1rem .35rem;font-size:.75rem}.ui-icon-button{width:2.5rem;height:2.5rem;padding:0}.ui-badge{display:inline-flex;align-items:center;justify-content:center;min-height:1.35rem;padding:.15rem .45rem;border-radius:999px;color:var(--main-text-color);background-color:var(--control-muted-color);text-decoration:none}.ui-badge-outline{background-color:transparent;border:1px solid var(--subtle-border-color)}.ui-badge-dark{color:var(--active-text-color);background-color:var(--control-muted-strong-color)}.ui-input{width:100%;min-height:2.35rem;padding:.4rem .6rem;border:1px solid var(--subtle-border-color);border-radius:6px;color:var(--main-text-color);background-color:var(--pane-body-bgcolor_1);font:inherit}.ui-form-group{margin-bottom:1rem}.ui-label{display:block;margin-bottom:.4rem}.ui-input-group{display:flex;align-items:stretch;margin-bottom:.75rem}.ui-input-addon{display:inline-flex;align-items:center;min-width:4em;padding:0 .65rem;border:1px solid var(--subtle-border-color);border-right:0;border-radius:6px 0 0 6px;background-color:var(--control-muted-color)}.ui-input-group .ui-input{border-radius:0 6px 6px 0}.bpm-step-select{width:auto;min-height:1.875rem;margin:0 .35rem;padding:.2rem 1.7rem .2rem .5rem}.ui-alert{margin-top:.75rem;padding:.6rem .75rem;border-radius:6px;border:1px solid var(--active-color, #f55);background-color:var(--active-soft-color)}.ui-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:max(1rem,env(safe-area-inset-top,0px)) max(1rem,env(safe-area-inset-right,0px)) max(1rem,env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-left,0px));background-color:#00000059}.ui-modal{width:min(30rem,100%);max-height:calc(100vh - 2rem);overflow:auto;border-radius:8px;color:var(--main-text-color);background-color:var(--pane-bg-color);box-shadow:0 18px 48px var(--rotary-shadow-color)}.ui-modal-header,.ui-modal-footer{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background-color:var(--pane-title-bgcolor)}.ui-modal-header{justify-content:space-between}.ui-modal-header h5{margin:0}.ui-modal-body{padding:1rem;background-color:var(--pane-body-bgcolor_1)}.ui-modal-footer{justify-content:flex-end}.clickable{cursor:pointer}.bpm-info{font-family:inherit;font-weight:400}.tempo-marking{font-size:.85rem;font-weight:400;letter-spacing:0;line-height:1;color:var(--main-text-color);text-transform:lowercase}.App{box-sizing:border-box;min-height:100vh;min-height:100dvh;text-align:center;color:var(--main-text-color);background-color:var(--body-bg-color);padding-top:calc(60px + env(safe-area-inset-top,0px))}.top-menubar{box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;min-height:calc(56px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) max(20px,env(safe-area-inset-right,0px)) 0 max(20px,env(safe-area-inset-left,0px));background-color:var(--body-bg-color)}.top-menubar .ui-nav,.top-menubar .top-nav{width:100%;display:flex;justify-content:space-between;align-items:center}.top-menubar .bpm-info{margin:0;padding:0;font-size:1rem}.top-menubar .rc-slider{width:150px;margin:0 15px}.tempo-readout,.mixer-control,.centered-col{display:flex;align-items:center}.tempo-readout{align-items:baseline;gap:.45rem;min-height:40px;text-align:left;white-space:nowrap}.tempo-readout-editable{cursor:text}.tempo-readout .bpm-info{display:inline-flex;align-items:baseline;gap:.3rem;justify-content:flex-start;line-height:1;font-variant-numeric:tabular-nums}.tempo-readout .bpm-label{color:var(--main-text-color);font-size:.85rem;font-weight:400;letter-spacing:0;text-transform:lowercase}.tempo-readout .bpm-value{color:var(--main-text-color);font-size:2rem;font-weight:500}.tempo-readout .tempo-readout-input{width:auto;min-width:2ch;max-width:5ch;margin:0;padding:0;border:0;border-radius:0;outline:0;color:var(--main-text-color);background:transparent;font-family:inherit;line-height:1;text-align:left;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.tempo-readout .tempo-readout-input:focus-visible{box-shadow:0 2px 0 var(--active-color, #f55)}.tempo-readout .bpm-info:after{content:"·";margin-left:.15rem;color:var(--main-text-color)}.mixer-control{gap:.5rem}.centered-col{justify-content:center}.top-menubar button{width:40px;height:40px;padding:0;display:flex;justify-content:center;align-items:center}.top-menubar button i{font-size:1.2rem}.top-menubar button{margin-left:10px}.settings-panel{position:fixed;top:0;right:0;bottom:0;width:min(24rem,100vw);z-index:1100;display:flex;flex-direction:column;background-color:var(--pane-bg-color);color:var(--main-text-color);box-shadow:-6px 0 18px var(--pane-shadow-color);transform:translate(100%);transition:transform .18s ease}.settings-panel.open{transform:translate(0)}.settings-panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:max(1rem,env(safe-area-inset-top,0px)) max(1rem,env(safe-area-inset-right,0px)) 1rem max(1rem,env(safe-area-inset-left,0px));background-color:var(--pane-bg-color);color:var(--main-text-color)}.settings-panel-header h5{margin:0}.settings-close-btn{width:2.25rem;height:2.25rem;padding:0;border:none;border-radius:999px;color:var(--muted-text-color);background-color:var(--control-surface-color)}.settings-panel-body{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:1rem max(1rem,env(safe-area-inset-right,0px)) max(1rem,env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-left,0px));text-align:left;background-color:var(--pane-bg-color)}.settings-panel:not(.PresetsManager){overflow:hidden}.settings-subview{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background-color:var(--pane-bg-color);transform:translate(100%);transition:transform .18s ease;pointer-events:none}.settings-subview.open{transform:translate(0);pointer-events:auto}.settings-back-btn{display:flex;align-items:center;gap:.15rem;min-height:44px;margin-left:-.35rem;padding:0 .35rem;border:0;background-color:transparent;color:var(--muted-text-color);font:inherit;cursor:pointer}.settings-back-btn:active{color:var(--main-text-color)}@media(prefers-reduced-motion:reduce){.settings-subview{transition:none}}.segmented-control{display:flex;width:100%;gap:2px;padding:3px;border-radius:999px;background-color:var(--control-surface-color)}.segmented-option{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;min-width:0;height:32px;padding:0 .5rem;border:none;border-radius:999px;background:transparent;color:var(--main-text-color);font:inherit;cursor:pointer;transition:background-color .15s ease,color .15s ease}.segmented-option:hover{background-color:var(--control-muted-color)}.segmented-option.active{background-color:var(--active-color);color:var(--active-text-color)}.segmented-option.active:hover{background-color:var(--active-color)}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem;border-radius:10px;background-color:var(--pane-body-bgcolor_2)}.settings-toggle-copy{display:flex;flex-direction:column;gap:.2rem}.settings-toggle-title{font-weight:600}.settings-toggle-description{color:var(--muted-text-color);font-size:.85rem;line-height:1.35}.settings-switch{position:relative;flex:0 0 auto;width:46px;height:26px;padding:3px;border:0;border-radius:999px;background-color:var(--control-muted-strong-color);cursor:pointer;transition:background-color .15s ease}.settings-switch.active{background-color:var(--active-color)}.settings-switch:focus-visible{outline:2px solid var(--active-color);outline-offset:2px}.settings-switch-knob{display:block;width:20px;height:20px;border-radius:50%;background-color:var(--pane-bg-color);box-shadow:0 1px 3px var(--pane-shadow-color);transition:transform .15s ease}.settings-switch.active .settings-switch-knob{transform:translate(20px)}.settings-action-list{margin-top:.25rem;border-radius:10px;overflow:hidden;background-color:var(--control-surface-color)}.settings-action-row{position:relative;display:flex;align-items:center;gap:.75rem;width:100%;min-height:44px;padding:.55rem 1rem;border:0;background-color:transparent;color:var(--main-text-color);font:inherit;text-align:left;cursor:pointer}.settings-action-row:active{background-color:var(--active-soft-color)}.settings-action-row+.settings-action-row:before{content:"";position:absolute;top:0;right:0;left:1rem;border-top:1px solid var(--subtle-border-color)}@media(min-resolution:2dppx){.settings-action-row+.settings-action-row:before{border-top-width:.5px}}.settings-action-label{flex:1 1 auto;min-width:0}.settings-action-chevron{flex:0 0 auto;color:var(--muted-text-color)}.palette-button-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.palette-card{display:flex;flex-direction:column;gap:.6rem;padding:.75rem;border:2px solid transparent;border-radius:10px;background-color:var(--pane-body-bgcolor_2);color:var(--main-text-color);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.palette-card:hover{border-color:var(--subtle-border-color)}.palette-card.active{border-color:var(--active-color);background-color:var(--active-soft-color)}.palette-swatches{display:flex;flex-direction:column;gap:.3rem}.palette-swatch{height:.5rem;border-radius:999px}.palette-card-label{display:flex;align-items:center;justify-content:space-between;gap:.5rem;text-transform:capitalize}.palette-card-label svg{color:var(--active-color)}.volume-pill{position:relative;display:flex;align-items:center;box-sizing:border-box;width:100%;height:40px;padding:0 20px;border-radius:999px;background:var(--control-surface-color)}.App .volume-slider.rc-slider{flex:1;height:30px;padding:0}.App .volume-slider .rc-slider-rail{top:50%;height:6px;transform:translateY(-50%);border-radius:999px;background:var(--control-muted-color)}.App .volume-slider .rc-slider-track{top:50%;height:6px;transform:translateY(-50%);border-radius:999px;background:var(--active-color)}.App .volume-slider .rc-slider-handle{top:50%;width:30px;height:30px;margin-top:-15px;padding:0;border:0;border-radius:999px;background:var(--pane-bg-color);color:var(--muted-text-color);box-shadow:0 1px 4px var(--pane-shadow-color, rgba(0, 0, 0, .25));display:flex;align-items:center;justify-content:center;opacity:1;transition:color .15s ease,background .15s ease}.App .volume-slider .rc-slider-handle:hover,.App .volume-slider .rc-slider-handle:focus,.App .volume-slider .rc-slider-handle:active{color:var(--main-text-color);background:var(--active-soft-color)}.volume-knob-icon{pointer-events:none}.volume-knob-value{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);padding:1px 6px;border-radius:6px;background:var(--main-text-color);color:var(--main-bg-color);font-size:.72rem;font-variant-numeric:tabular-nums;line-height:1.4;pointer-events:none;opacity:0;transition:opacity .15s ease}.volume-pill:hover .volume-knob-value,.volume-pill.dragging .volume-knob-value{opacity:1}.sync-settings{padding:0}.sync-form-group{order:2;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--subtle-border-color)}.sync-heading{display:flex;align-items:center;gap:.65rem}.sync-heading>svg{flex:0 0 auto;color:var(--muted-text-color)}.sync-status-icon{position:relative;display:inline-flex;flex:0 0 auto;overflow:visible!important;color:var(--muted-text-color)}.sync-status-icon i{position:absolute;right:-2px;bottom:-2px;width:6px;height:6px;border:1.5px solid var(--pane-bg-color);border-radius:50%;background:var(--muted-text-color)}.sync-status-icon-synced i{background:#4caf50}.sync-status-icon-offline i,.sync-status-icon-error i{background:#e0a11a}.sync-status-icon-syncing i{width:7px;height:7px;border:1.5px solid var(--pane-bg-color);border-top-color:var(--muted-text-color);border-right-color:var(--muted-text-color);background:var(--pane-bg-color);animation:sync-status-spin .8s linear infinite}@keyframes sync-status-spin{to{transform:rotate(360deg)}}.sync-body{min-width:0;display:flex;flex-direction:column}.sync-connected-row .sync-heading{min-width:0;flex:1}.sync-heading strong,.sync-heading span{overflow:hidden;text-overflow:ellipsis}.sync-account{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}.sync-heading span,.sync-heading time,.sync-muted{color:var(--muted-text-color);font-size:.8rem}.sync-last-synced{font-style:normal}.sync-status-text-offline,.sync-status-text-error{color:#a66f00!important}.sync-setup-row,.sync-connected-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.sync-heading-button,.sync-collapse-button,.sync-setup-action{border:0;padding:0;background:transparent;color:var(--main-text-color);font:inherit;cursor:pointer}.sync-heading-button{display:inline-flex;align-items:center;gap:.65rem;text-align:left}.sync-collapse-button{display:inline-flex;color:var(--muted-text-color)}.sync-setup-action{color:var(--active-color);font-weight:600}.sync-expanded-content{padding:.65rem 0 0}.sync-expanded-content p{margin:0 0 .65rem;color:var(--muted-text-color);font-size:.82rem;line-height:1.4}.sync-signin{display:flex;align-items:stretch;gap:.55rem}.sync-signin .ui-input{min-width:0}.sync-signin .ui-button{flex:0 0 auto;white-space:nowrap}.sync-code-step strong{color:var(--main-text-color);font-weight:600;overflow-wrap:anywhere}.sync-code-form .ui-input{font-variant-numeric:tabular-nums;letter-spacing:.12em}.sync-code-actions{display:flex;gap:1rem;margin-top:.55rem}.sync-code-actions button{border:0;padding:0;background:transparent;color:var(--active-color);font:inherit;font-size:.8rem;cursor:pointer}.sync-code-actions button:disabled{cursor:default;opacity:.55}.sync-actions{display:flex;flex:0 0 auto;gap:.5rem}.sync-actions .ui-button{display:inline-flex;align-items:center;gap:.35rem}.sync-actions .sync-text-action{min-height:auto;padding:0;border:0;color:var(--active-color);background:transparent}.sync-actions .sync-sign-out{color:var(--main-text-color);font-weight:400}.keyboard-shortcuts{order:1;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--subtle-border-color)}.keyboard-shortcuts-title{margin:0;font-size:1rem;font-weight:600;color:var(--main-text-color)}.shortcut-group{margin-top:1rem}.shortcut-group-title{display:block;margin-bottom:.35rem;font-size:.75rem;color:var(--muted-text-color)}.shortcut-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:1.9rem}.shortcut-label{color:var(--main-text-color)}.shortcut-keys{display:flex;align-items:center;gap:.35rem}.shortcut-key{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;padding:.2rem .45rem;border:1px solid var(--subtle-border-color);border-radius:6px;background:var(--code-bg-color);color:var(--main-text-color);font:inherit;font-size:.8rem;line-height:1}.shortcut-sep{color:var(--muted-text-color);font-size:.8rem}.shortcut-hint{margin:1rem 0 0;color:var(--muted-text-color);font-size:.8rem}.shortcut-hint .shortcut-key{font-size:.75rem}.top-menubar .view-tab{width:auto;padding:0 14px;white-space:nowrap}.top-menubar .view-switcher .view-tab{margin-left:0}.top-menubar .nav-left,.top-menubar .nav-right{flex:1 1 0;display:flex;align-items:center;min-width:0}.top-menubar .nav-left{gap:.75rem}.top-menubar .nav-right{justify-content:flex-end}.top-menubar .nav-center{flex:0 0 auto;display:flex;justify-content:center}.top-menubar .nav-presets-fab{display:none}.top-menubar .view-switcher.nav-toggle{background:var(--control-surface-color);border-radius:999px;padding:3px;gap:2px}.top-menubar .view-switcher.nav-toggle .view-tab{height:32px;border:none;border-radius:999px;background:transparent;color:var(--main-text-color);transition:background-color .15s ease,color .15s ease}.top-menubar .view-switcher.nav-toggle .view-tab.ui-button-primary{background:var(--active-color, #f55);color:var(--active-text-color)}.top-menubar .share-wrap{position:relative;display:flex;align-items:center}.top-menubar .share-copied{position:absolute;top:100%;right:0;margin-top:6px;padding:2px 8px;border-radius:4px;background:var(--active-color, #f55);color:var(--active-text-color);font-size:.75rem;white-space:nowrap;z-index:1200;pointer-events:none}.App .rc-slider-handle{border:solid 2px var(--active-color, #f55);background-color:var(--slider-handle-bg)}.App .rc-slider-track{background-color:var(--active-color, #f55)}.advancedSlider .inlineBtn{font-size:.7em}.tempo-range-control{margin-top:.9rem;padding:0;color:var(--main-text-color);background:transparent}.tempo-range-title{margin-bottom:.8rem;color:var(--muted-text-color);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.tempo-range-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.7rem}.tempo-range-number{display:flex;flex-direction:column;align-items:center;min-width:0}.tempo-range-label,.tempo-range-unit,.tempo-range-summary{color:var(--muted-text-color);font-size:.72rem;line-height:1.2}.tempo-range-label{margin-bottom:.35rem;font-weight:700}.tempo-range-unit{margin-top:.25rem}.tempo-range-stepper{display:grid;grid-template-columns:1.7rem minmax(3rem,4.8rem) 1.7rem;align-items:center;gap:.35rem}.tempo-range-btn{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;padding:0;border:0;border-radius:7px;color:var(--muted-text-color);background-color:var(--pane-body-bgcolor_1);font:inherit;font-size:1rem;font-weight:700;line-height:1;cursor:pointer}.tempo-range-btn:hover:not(:disabled){color:var(--main-text-color);background-color:var(--active-soft-color)}.tempo-range-btn:disabled{cursor:not-allowed;opacity:.45}.tempo-range-input{width:100%;min-width:0;padding:0;border:0;color:var(--main-text-color);background:transparent;font:inherit;font-size:1.35rem;font-weight:800;line-height:1.2;text-align:center;cursor:ew-resize;touch-action:none}body.scrubbing,body.scrubbing *{cursor:ew-resize!important;-webkit-user-select:none!important;user-select:none!important}.tempo-range-input:focus{outline:2px solid var(--accent-active-shadow-color);outline-offset:2px;border-radius:4px}.tempo-range-arrow{display:inline-flex;align-items:center;justify-content:center;color:var(--main-text-color);opacity:.7}.tempo-range-summary{margin-top:.85rem;padding-top:.8rem;border-top:1px solid var(--subtle-border-color);text-align:center}.tempo-range-cards{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.7rem}.tempo-range-card{position:relative;min-width:0;padding:.75rem 4.25rem;border:0;border-radius:10px;background-color:var(--control-surface-color);overflow:hidden}.tempo-range-card .tempo-range-stepper{width:100%;display:flex;justify-content:center}.tempo-range-card .tempo-range-btn{position:absolute;top:0;bottom:0;width:3.5rem;height:100%;border-radius:0;color:var(--main-text-color);background:transparent;font-size:1.4rem;font-weight:800}.tempo-range-card .tempo-range-btn:first-child{left:0}.tempo-range-card .tempo-range-btn:last-child{right:0}.tempo-range-card .tempo-range-btn:hover:not(:disabled){color:var(--main-text-color);background:transparent}.tempo-range-card .tempo-range-input{width:5.25rem;font-size:2rem;font-weight:500;font-variant-numeric:tabular-nums}.tempo-range-card--target{background-color:var(--active-color)}.tempo-range-card--target .tempo-range-label,.tempo-range-card--target .tempo-range-input{color:var(--active-text-color)}.tempo-range-card--target .tempo-range-unit{color:#fff}.tempo-range-card--target .tempo-range-btn{color:var(--active-text-color);background:transparent}.tempo-range-card--target .tempo-range-btn:hover:not(:disabled){color:var(--active-text-color);background:transparent}.tempo-increase-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem;margin-top:.9rem;padding:.9rem 1.1rem;border-radius:10px;background-color:var(--control-surface-color)}.tempo-increase-text{color:var(--muted-text-color);font-size:.85rem}.tempo-increase-line{display:contents}.tempo-increase-row .tempo-range-stepper{display:inline-flex;align-items:center;gap:0;border:1px solid var(--subtle-border-color);border-radius:999px;background:var(--control-surface-color);overflow:hidden}.tempo-increase-row .tempo-range-btn{width:2rem;height:2rem;border-radius:0;background:transparent}.tempo-increase-row .tempo-range-btn:hover:not(:disabled){color:var(--main-text-color);background:var(--control-muted-color)}.tempo-increase-row .tempo-range-input{width:2.25rem;font-size:1rem;font-weight:700}.tempo-unit-toggle{margin-left:.25rem;padding:3px;gap:2px;border-radius:999px;background:var(--control-surface-color)}.tempo-unit-toggle .ui-button{border:none;border-radius:999px;background:transparent;color:var(--muted-text-color)}.tempo-unit-toggle .ui-button:not(.active):hover{filter:none;color:var(--main-text-color);background:var(--control-muted-color)}.tempo-unit-toggle .ui-button.active{color:var(--active-text-color);background:var(--active-color)}@media(max-width:640px){.tempo-range-control{padding:0}.tempo-range-cards{grid-template-columns:1fr;gap:.55rem}.tempo-range-card--target{order:-1}.tempo-range-card .tempo-range-unit{display:none}.tempo-increase-row{flex-direction:column;flex-wrap:nowrap;margin-top:.55rem;padding:0;background-color:transparent}.tempo-increase-line{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.5rem;width:100%}.tempo-increase-line>:first-child{justify-self:end}.tempo-increase-line>:last-child{justify-self:start}.tempo-range-arrow{display:none}.tempo-range-stepper{grid-template-columns:1.9rem minmax(3.5rem,5rem) 1.9rem}}.App .pane{background-color:var(--pane-bg-color);border-radius:10px}.App .app-container{margin-top:1rem}.practice-workspace{display:flex;flex-direction:column;width:100%}.metronome-workspace{min-height:calc(100vh - 76px);min-height:calc(100dvh - 76px - env(safe-area-inset-top,0px))}.metronome-player-row{flex:1 1 auto;align-items:center;min-height:260px}@media(min-width:992px)and (min-height:760px){.metronome-player-row{padding-bottom:clamp(3rem,14vh,9rem)}}.App .container{margin-bottom:1rem;padding-bottom:1rem;border-radius:5px}.App .pane .pane-title{padding:5px 1rem;color:var(--pane-title-color);background-color:var(--pane-title-bgcolor);text-align:left;border-radius:5px 5px 0 0}.App .pane-body{display:block;padding:1rem;background-color:var(--pane-body-bgcolor_1);border-radius:8px;overflow:hidden}.App .pane.trackViewPanel,.App .trackViewPanel .pane-body{background-color:var(--sequencer-surface-color, var(--control-surface-color))}:root[data-appearance=dark] .App.native-ios .practice-workspace:not(.practice-workspace--plan-editor){--sequencer-surface-color: var(--body-bg-color)}.App .pane.ModePanel,.App .pane.ModePanel .pane-body{background-color:transparent}.App .pane.ModePanel .pane-body{padding:0;border-radius:0;overflow:visible}.plan-editor-title{margin:.25rem 0 1rem;color:var(--main-text-color);font-size:2rem;font-weight:500;line-height:1.15;letter-spacing:-.02em}.plan-mode-toggle{padding:3px;gap:2px;border-radius:999px;background:var(--control-surface-color)}.plan-mode-toggle .ui-button{height:32px;border:none;border-radius:999px;background:transparent;color:var(--main-text-color);transition:background-color .15s ease,color .15s ease}.plan-mode-toggle .ui-button.active{color:var(--active-text-color);background:var(--active-color, #f55)}@media(min-width:600px){.practice-workspace--plan-editor .plan-editor-title,.practice-workspace--active-practice .plan-editor-title{margin-top:1.5rem;text-align:left}.practice-workspace--plan-editor .plan-mode-toggle{display:flex;width:fit-content}}.App .bpm-info{padding:0;margin:0}@media(min-width:992px){.top-menubar{top:0;left:max(2rem,env(safe-area-inset-left,0px));right:max(2rem,env(safe-area-inset-right,0px));padding:env(safe-area-inset-top,0px) 0 0}}.input-group-text{min-width:4em}.App .rc-slider-dot-active{border-color:var(--active-color, #f55)}.App .rc-slider-mark-text-active{color:var(--slider-mark-active-color)}.App .rc-slider-handle:hover{border-color:var(--slider-handle-hover-color)}.App .rc-slider-handle-click-focused:focus{border-color:var(--active-color, #f55)}.App .badge-light{color:var(--main-text-color);font-weight:lighter;border:0px solid #ccc;background-color:transparent}.Planner .locked{background-color:var(--control-muted-strong-color)}.step{background-color:var(--control-muted-color);margin-bottom:1px;position:relative;overflow:hidden}.Planner .current-step:before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--step-progress, 0%);background-color:var(--active-color, #f55);opacity:.5;z-index:0;transition:width .1s linear}.step .step-content{position:relative;z-index:1}.Planner .plan-counters-group{margin-bottom:.75rem}.Planner .plan-counters-header{font-size:.8rem;opacity:.7;margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.04em}.Planner .plan-counters{display:flex;gap:1rem}.Planner .counter-major{flex:1;text-align:center;padding:.5rem;background-color:var(--control-muted-color);border-radius:4px}.Planner .counter-major .counter-value{font-size:2rem;font-weight:700;line-height:1.1;color:var(--active-color, #f55)}.Planner .counter-major .counter-label{font-size:.85rem;opacity:.8}.Planner .plan-total-time{font-size:.8rem;opacity:.55;margin-top:.5rem}.Planner .completed-step{opacity:.45}.Planner .upcoming-step{border-left:2px solid var(--subtle-border-color)}.Planner .current-step .step-now-line{display:flex;justify-content:space-between;font-weight:600;gap:.5rem}.Planner .next-tempo-banner{background-color:var(--active-soft-color);border-left:3px solid var(--active-color, #f55);padding:.5rem .75rem;margin-bottom:.5rem;font-size:1.1rem;border-radius:4px}.Planner .next-tempo-banner.imminent{background-color:var(--active-soft-strong-color);font-size:1.2rem;animation:tempo-pulse 1s ease-in-out infinite}.Planner .step-order-controls,.Planner .after-plan-controls{display:flex;align-items:center;justify-content:flex-start;gap:1rem;padding:.5rem 0}.Planner .plan-options-row{display:grid;grid-template-columns:repeat(2,auto);justify-content:end;gap:2rem;margin-top:.6rem}.Planner .step-order-label,.Planner .after-plan-label{color:var(--muted-text-color);font-size:.82rem;font-weight:700}.Planner .step-order-buttons,.Planner .after-plan-buttons{gap:.45rem}.Planner .step-order-buttons .ui-button,.Planner .after-plan-buttons .ui-button{border:0;background-color:var(--control-surface-color)}.Planner .step-order-buttons .ui-button{min-width:6.4rem}.Planner .after-plan-label{white-space:nowrap}.Planner .after-plan-buttons .ui-button{min-width:5rem}.Planner .after-plan-buttons .ui-button.active{color:var(--active-text-color);background-color:var(--active-color, #f55)}@keyframes tempo-pulse{0%,to{opacity:1}50%{opacity:.7}}.Planner.session-active{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.plan-next-line{font-size:.95rem;opacity:.75;font-variant-numeric:tabular-nums;text-align:center;margin-bottom:2rem}.plan-next-accent{color:var(--active-color);font-weight:600;opacity:1}.plan-steps-head{display:flex;justify-content:space-between;gap:.5rem;font-size:.72rem;letter-spacing:.04em;opacity:.6;text-transform:uppercase}.plan-steps-strip{display:flex;align-items:flex-end;gap:.3rem}.plan-steps-preview{margin:1rem 0}.plan-steps-preview .plan-steps-head{margin-bottom:.5rem}.plan-steps-preview .step-tile{cursor:default}.step-tile{--tile-level: 0;flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:.3rem;cursor:pointer}.step-tile-bar{position:relative;width:100%;height:calc(5rem + var(--tile-level) * 10rem);border-radius:5px;background-color:var(--control-surface-color);overflow:hidden;transition:filter .12s ease}.step-tile-fill{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--active-color);transform:scaleX(0);transform-origin:left center}.session-active .step-tile:hover .step-tile-bar{filter:brightness(1.06)}.step-tile-bpm{font-size:.7rem;font-weight:600;font-variant-numeric:tabular-nums;opacity:.7}.step-tile.completed .step-tile-bpm{opacity:.6}.step-tile.current .step-tile-bpm{opacity:1;color:var(--active-color);font-weight:700}.step-tile.upcoming .step-tile-bpm{opacity:.5}.plan-stats{display:flex;gap:1rem}.plan-stat{flex:1;text-align:center;padding:1.5rem .5rem;background-color:var(--control-surface-color);border-radius:4px}.plan-stat-value{font-size:2rem;font-weight:500;line-height:1.1;color:var(--main-text-color);font-variant-numeric:tabular-nums}.plan-stat-label{font-size:.85rem;opacity:.8;margin-top:.1rem}.PresetsManager .presets-container{box-sizing:border-box;width:100%;max-width:none;padding:0;margin:0;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.presets-group-section{margin-bottom:1.35rem}.presets-group-title{margin:0 0 .4rem;padding:0 1rem;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-text-color)}.presets-group{margin:0;padding:0;list-style:none;border-radius:10px;overflow:hidden;background-color:var(--control-surface-color)}.presets-row{position:relative;display:flex;align-items:stretch}.presets-row+.presets-row:before{content:"";position:absolute;top:0;right:0;left:1rem;border-top:1px solid var(--subtle-border-color)}@media(min-resolution:2dppx){.presets-row+.presets-row:before{border-top-width:.5px}}.presets-row-main{flex:1 1 auto;display:flex;align-items:center;gap:.75rem;min-height:44px;padding:.55rem 1rem;border:0;background-color:transparent;color:var(--main-text-color);font:inherit;text-align:left;cursor:pointer}.presets-row-main:active{background-color:var(--active-soft-color)}.presets-row-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.presets-row-meta{flex:0 0 auto;font-size:.8rem;color:var(--muted-text-color)}.presets-row-edit{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:44px;padding:0 .9rem;border:0;background-color:transparent;color:var(--muted-text-color);cursor:pointer}.presets-row-edit:active{background-color:var(--active-soft-color)}.presets-sheet-grabber{display:none}.Accent{display:inline-block;background-color:transparent;min-width:1.5rem;height:2.2rem;border:1px solid var(--active-color, #f55);border-radius:5px;margin-right:1px;cursor:pointer}.Accent .type1{border-radius:4px 4px 0 0;position:relative;height:.7rem;top:-.1rem;background-color:var(--active-color, #f55)}.Accent .type2{height:.7rem;position:relative;top:.69rem;background-color:var(--theme-color-1, #f75)}.Accent .type0{height:.7rem;position:relative;top:1.39rem;background-color:var(--theme-color-2, #f95);border-radius:0 0 4px 4px}.Accent.active{border-color:var(--accent-active-shadow-color);box-shadow:0 0 2px 3px var(--accent-active-shadow-color);-webkit-box-shadow:0px 0px 2px 3px var(--accent-active-shadow-color);-moz-box-shadow:0px 0px 2px 3px var(--accent-active-shadow-color)}.modal-body .code{font-family:Courier New,Courier,monospace;word-break:break-all;font-size:60%;background-color:var(--code-bg-color);padding:1rem;margin-top:1rem}.about .pane-body{font-size:1em}.about a{color:var(--active-color, #f55)}.footer{order:3;margin-top:auto;padding-top:1.5rem;font-size:.7em;color:var(--footer-text-color)}.footer a{color:var(--active-color, #f55);text-decoration:none}.footer a:hover{text-decoration:underline}.about code{font-size:15px;color:var(--active-color, #f55)}.svgText{font-size:1%;fill:var(--main-text-color)}.polyrhythmVisualizerContainer{width:100%}.polyrhythm-visualizer-col{display:flex;align-items:flex-start;justify-content:center}.polyrhythmVisualizer{display:flex;align-items:center;justify-content:center;height:12.5rem;min-height:10rem}.polyrhythmVisualizer svg{display:block;width:min(100%,12.5rem);height:100%;overflow:visible}.polyrhythm-node{transition:filter .12s ease,opacity .12s ease}.polyrhythm-node.active{filter:drop-shadow(0 0 .035rem var(--accent-active-shadow-color))}.polyrhythm-node.playing{animation:sequencer-cell-flash .16s ease-out}.patch-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.85rem}.patch-select{position:relative;display:inline-flex;align-items:center;gap:.5rem;height:34px;padding:0 .7rem;border-radius:999px;background:var(--control-surface-color);color:var(--main-text-color);cursor:pointer}.patch-select-value{font-size:.95rem;font-weight:600;white-space:nowrap}.patch-select-chevron{flex:0 0 auto;color:var(--muted-text-color)}.patch-select-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;border:0;opacity:0;cursor:pointer}.patch-select-input:disabled{cursor:default}.patch-beats{display:inline-flex;align-items:center;gap:.5rem}.patch-beats-label{color:var(--muted-text-color);font-size:.9rem;white-space:nowrap}.patch-beats-stepper{display:inline-flex;align-items:center;border:1px solid var(--subtle-border-color);border-radius:999px;background:var(--control-surface-color);overflow:hidden}.patch-beats-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:0;color:var(--muted-text-color);background:transparent;cursor:pointer}.patch-beats-btn:hover:not(:disabled){color:var(--main-text-color);background:var(--control-muted-color)}.patch-beats-btn:disabled{opacity:.4;cursor:default}.patch-beats-value{width:1.75rem;padding:0;border:0;color:var(--main-text-color);background:transparent;font:inherit;font-size:1rem;font-weight:700;line-height:1;text-align:center;cursor:ew-resize;touch-action:none}.track-add-row{margin-top:.6rem}.track-add-row-btn{display:inline-flex;align-items:center;gap:.3rem;width:auto;padding:.35rem .75rem;border-radius:.5rem}.track-remove-row-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:1.65rem;height:1.65rem;padding:0;border:0;border-radius:.4rem;color:var(--muted-text-color);background:transparent}.track-remove-row-btn:hover:not(:disabled){color:var(--main-text-color);background:var(--control-muted-color)}.track-sample-label--static{color:var(--main-text-color)}.trackView{display:flex;flex-wrap:nowrap;align-items:center;--track-row-control-height: 2.35rem;--track-cell-gap: .2rem;--track-group-gap: .65rem}.beat-header{display:flex;align-items:flex-end;margin-bottom:.35rem}.beat-header-spacer{flex:0 0 11.25rem;padding-right:.55rem}.beat-numbers{display:flex;flex:1 1 auto;min-width:0;gap:var(--track-group-gap)}.beat-number{flex:1 1 0;min-width:0;text-align:center;font-size:.72rem;color:var(--muted-text-color)}.trackView .trackContainer{display:flex;flex-direction:column;gap:var(--track-cell-gap);padding:0;flex:1 1 auto;min-width:0}.trackView .btn-xs,.btn-group-xs>.btn{padding:.15rem .35rem;font-size:.575rem;line-height:1;border-radius:.1rem}.trackRow{display:flex;align-items:stretch;min-width:0}.trackRow .label{display:flex;align-items:center;flex:0 0 11.25rem;min-width:0;gap:.55rem;padding-right:.55rem}.track-stepper{display:inline-flex;align-items:center;flex:0 0 auto;min-height:var(--track-row-control-height);border:1px solid var(--subtle-border-color);border-radius:7px;color:var(--main-text-color);background-color:var(--control-surface-color);overflow:hidden}.track-stepper .track-stepper-btn{width:1.9rem;min-height:var(--track-row-control-height);padding:0;border:0;border-radius:0;color:var(--muted-text-color);background:transparent}.track-stepper .track-stepper-btn:hover{color:var(--main-text-color);background-color:var(--control-muted-color)}.track-stepper-value{min-width:1.35rem;text-align:center;font-size:1.1rem;font-weight:700;line-height:1}.track-clicks{display:inline-flex;align-items:center;flex:0 0 auto;margin-left:auto;height:1.85rem;padding:0 .2rem 0 .15rem;border-radius:.5rem;color:var(--main-text-color);background-color:var(--control-surface-color)}.track-clicks-value{width:1.4rem;min-width:0;padding:0;border:0;color:var(--main-text-color);background:transparent;font:inherit;font-size:.95rem;font-weight:700;line-height:1;text-align:center;cursor:ew-resize;touch-action:none}.track-clicks-value:focus{outline:none}.track-clicks-spin{display:inline-flex;flex-direction:column;flex:0 0 auto}.track-clicks-btn{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:.85rem;padding:0;border:0;border-radius:.2rem;color:var(--muted-text-color);background:transparent;cursor:pointer}.track-clicks-btn:hover:not(:disabled){color:var(--main-text-color)}.track-clicks-btn:disabled{cursor:not-allowed;opacity:.35}.track-sample-picker{position:relative;display:inline-flex;align-items:center;min-width:0;max-width:5.75rem;color:var(--main-text-color)}.track-sample-label{display:block;min-width:0;overflow:hidden;font-size:.86rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.track-sample-chevron{flex:0 0 auto;margin-left:.2rem;color:var(--muted-text-color)}.track-sample-select{position:absolute;top:-.45rem;right:-.25rem;bottom:-.45rem;left:-.25rem;width:calc(100% + .5rem);height:calc(100% + .9rem);border:0;opacity:0;cursor:pointer}.trackRow .cells{display:flex;gap:var(--track-group-gap);width:100%}.trackRow .cell-group{display:flex;gap:var(--track-cell-gap);min-width:0}.trackRow .cell{background:var(--sequencer-step-empty-color);min-width:.5em;min-height:var(--track-row-control-height);flex-grow:1;border-radius:.2em}.trackRow .cell.playing{animation:sequencer-cell-flash .16s ease-out}@media(max-width:599px){.App{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}.App .app-container{margin-top:0}.metronome-player-row{box-sizing:border-box;padding-bottom:calc(38px + env(safe-area-inset-bottom,0px))}.practice-workspace--plan-editor{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:flex;box-sizing:border-box;height:100vh;height:100dvh;padding:max(1rem,env(safe-area-inset-top,0px)) max(1rem,env(safe-area-inset-right,0px)) max(1rem,env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-left,0px));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background-color:var(--pane-bg-color);border-radius:16px 16px 0 0;box-shadow:0 -12px 36px #00000038;animation:plan-editor-sheet-in .28s cubic-bezier(.22,1,.36,1) both}.practice-workspace--plan-editor-closing{pointer-events:none;animation-name:plan-editor-sheet-out;animation-timing-function:cubic-bezier(.64,0,.78,0)}@keyframes plan-editor-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes plan-editor-sheet-out{0%{transform:translateY(0)}to{transform:translateY(100%)}}@media(prefers-reduced-motion:reduce){.practice-workspace--plan-editor{animation:none}}.settings-panel{box-shadow:none}.PresetsManager.settings-panel{--presets-sheet-large-top: calc(68px + env(safe-area-inset-top, 0px)) ;--presets-sheet-rest-offset: max( 0px, calc(var(--presets-sheet-top, 45vh) - var(--presets-sheet-large-top)) );--presets-sheet-offset: var(--presets-sheet-rest-offset);top:var(--presets-sheet-large-top);right:0;bottom:0;left:0;width:auto;z-index:1020;border-radius:12px 12px 0 0;box-shadow:0 -12px 36px var(--pane-shadow-color);transform:translateY(100%);transition:transform .26s cubic-bezier(.32,.72,0,1);overscroll-behavior:contain}.PresetsManager.settings-panel.open{transform:translateY(var(--presets-sheet-offset));transition-duration:.42s}.PresetsManager.settings-panel.at-large{--presets-sheet-rest-offset: 0px}.PresetsManager.settings-panel.dragging{transition:none}.PresetsManager .presets-sheet-grabber{display:flex;flex:0 0 auto;align-items:center;justify-content:center;height:28px;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:grab}.PresetsManager .presets-sheet-grabber:active{cursor:grabbing}.PresetsManager .presets-sheet-grabber-bar{width:36px;height:5px;border-radius:999px;background-color:var(--subtle-border-color)}.PresetsManager .settings-panel-header{display:none}.PresetsManager .settings-panel-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:var(--presets-sheet-rest-offset)}.PresetsManager .presets-container{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}@media(prefers-reduced-motion:reduce){.PresetsManager.settings-panel,.PresetsManager.settings-panel.open{transition:none}}.keyboard-shortcuts{display:none}.top-menubar .top-nav{justify-content:space-between}.top-menubar .nav-center{position:fixed;right:0;bottom:0;left:0;z-index:1040;align-items:center;justify-content:center;gap:.5rem;padding:.75rem max(1rem,env(safe-area-inset-right,0px)) calc(.75rem + env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-left,0px));pointer-events:none}.top-menubar .nav-center.plan-active,.App.native-glass-nav .top-menubar .nav-center{display:none}.top-menubar .view-switcher.nav-toggle{pointer-events:auto;box-shadow:0 10px 30px var(--rotary-shadow-color)}.top-menubar .nav-presets-fab{display:inline-flex;pointer-events:auto;width:42px;height:42px;min-height:0;margin:0;padding:0;border:none;border-radius:999px;color:var(--main-text-color);background-color:var(--control-surface-color);box-shadow:0 10px 30px var(--rotary-shadow-color)}.top-menubar .nav-presets-fab.ui-button-primary{color:var(--active-text-color);background-color:var(--active-color, #f55)}.nav-right .presets-nav-btn{display:none}.trackViewPanel .pane-body{padding-right:0;padding-left:0}.App .practice-workspace:not(.practice-workspace--plan-editor) .pane.trackViewPanel{margin-right:-15px;margin-left:-15px;border-radius:0}.App .practice-workspace:not(.practice-workspace--plan-editor) .trackViewPanel .pane-body{padding-right:15px;padding-left:15px;border-radius:0}:root[data-appearance=dark] .App .practice-workspace:not(.practice-workspace--plan-editor){--sequencer-surface-color: var(--body-bg-color)}.App .practice-workspace--plan-editor .pane.trackViewPanel,.App .practice-workspace--plan-editor .trackViewPanel .pane-body{background-color:transparent}.practice-workspace--plan-editor .trackViewPanel .pane-body{padding-top:0;padding-bottom:0}.practice-workspace--plan-editor .patch-bar{display:none}.practice-workspace--plan-editor .plan-editor-title{margin-top:1rem}.practice-workspace--plan-editor .trackView{--track-row-control-height: 1.5rem;--track-cell-gap: .15rem;--track-group-gap: .4rem}.practice-workspace--plan-editor .beat-header{margin-bottom:.2rem}.practice-workspace--plan-editor .plan-options-row{grid-template-columns:minmax(0,1fr);justify-content:stretch;gap:.2rem}.practice-workspace--plan-editor .plan-editor-actions-row{margin-top:auto;padding-top:1.25rem}.practice-workspace--plan-editor .step-order-controls,.practice-workspace--plan-editor .after-plan-controls{justify-content:space-between}.trackRow .label,.beat-header-spacer{display:none}.trackView .trackContainer{flex:1 1 100%}.trackRow .cells{width:100%}.plan-steps-preview .step-tile-bar{height:calc(2.5rem + var(--tile-level) * 5rem)}}@keyframes sequencer-cell-flash{0%{filter:brightness(1)}45%{filter:brightness(1.75)}to{filter:brightness(1)}}.rotarySlider{position:relative;margin:0 auto;max-width:100%;user-select:none;-webkit-user-select:none;touch-action:none}.rotarySlider-svg{width:100%;height:100%;display:block;cursor:pointer;overflow:visible}.rotarySlider-face{fill:var(--rotary-face-color, #2b2d2f);pointer-events:none}.rotarySlider-track{stroke:var(--control-surface-color, #343639);stroke-width:.12;stroke-linecap:round;pointer-events:none}.rotarySlider-hitTarget{stroke:transparent;stroke-width:.38;pointer-events:stroke}.rotarySlider-glowScale{opacity:0;pointer-events:none}.rotarySlider-bloom{stroke:var(--active-color, #f55);stroke:color-mix(in srgb,#fff calc(var(--rotary-bloom-tint, 0%) + (var(--rotary-bloom-hot-tint, 45%) - var(--rotary-bloom-tint, 0%)) * var(--bloom-heat, 0)),var(--active-color, #f55));stroke-linecap:round;vector-effect:non-scaling-stroke}.rotarySlider-marker{fill:var(--active-color, #f55);pointer-events:none}.rotary-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42%;height:42%;border-radius:50%;border:none;background-color:var(--active-color, #f55);color:var(--active-text-color);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s ease,transform .1s ease}.rotary-play:hover{filter:brightness(1.12)}.rotary-play:active{transform:translate(-50%,-50%) scale(.94)}.rotary-play i{font-size:2rem;margin-left:.15em}.PlanLibrary{padding:8px 0}.plan-grid{display:grid;grid-template-columns:1fr;gap:.5rem}@media(min-width:600px){.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:900px){.plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.plan-card{position:relative;display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background-color:var(--control-surface-color);border:1px solid var(--pane-border-color, transparent);border-radius:6px;text-align:left}.plan-card-shell{position:relative;align-self:start;border-radius:6px}.plan-card-shell>.plan-card{min-height:0}.plan-card:hover{filter:brightness(1.08)}.plan-card-main{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.plan-card-info{flex:1 1 auto;min-width:0}.plan-context{position:relative;flex:0 0 auto}.plan-context-trigger{display:inline-flex;align-items:center;justify-content:center;width:32px;height:28px;padding:0;border:0;border-radius:50%;color:var(--muted-text-color);background:transparent;cursor:pointer}.plan-context-trigger:hover{color:inherit;background-color:#80808029}.plan-context-menu{position:absolute;z-index:20;top:calc(100% + .2rem);right:0;min-width:8rem;padding:.25rem;border:1px solid var(--pane-border-color, rgba(128, 128, 128, .25));border-radius:6px;background-color:var(--pane-bg-color);box-shadow:0 .4rem 1rem #00000040}.plan-context-menu button{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .65rem;border:0;border-radius:4px;color:#d9534f;background:transparent;cursor:pointer}.plan-context-menu button:hover{background-color:#d9534f1f}.plan-swipe-delete{display:none}.plan-card-last{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:2rem;font-size:.72rem;color:var(--muted-text-color);padding-top:.2rem;border-top:1px solid var(--pane-border-color, rgba(128, 128, 128, .2))}.plan-card-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-card-meta{color:var(--muted-text-color);font-size:.8rem}.plan-card .plan-play{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:50%;cursor:pointer;color:var(--active-text-color);background-color:var(--active-color, #f55)}.plan-card .plan-play:hover{filter:brightness(1.12)}.plan-card-new{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;color:var(--active-color, #f55);border:1px dashed var(--active-color, #f55);background-color:transparent}@media(max-width:599px){.plan-card-shell{overflow:hidden}.plan-context{display:none}.plan-card-shell>.plan-card{position:relative;z-index:1;transition:transform .2s ease;touch-action:pan-y}.plan-card-shell.is-swiped>.plan-card{transform:translate(-5.25rem)}.plan-swipe-delete{position:absolute;z-index:0;inset:0 0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;width:5.25rem;border:0;color:#fff;background-color:#d9534f;cursor:pointer}.plan-swipe-delete span{font-size:.72rem;font-weight:600}}.practice-heatmap{--heatmap-cell: 11px;--heatmap-gap: 3px;padding-top:4.5rem;text-align:left;position:relative}.practice-heatmap-title{margin:0 0 .85rem;font-size:.95rem;font-weight:600;color:var(--main-text-color)}.practice-heatmap-scroll{overflow-x:auto;overflow-y:hidden;padding-bottom:.25rem}.practice-heatmap-body{display:grid;grid-template-columns:auto 1fr;column-gap:.45rem;row-gap:.3rem;width:max-content}.practice-heatmap-months{grid-area:1 / 2;display:grid;grid-template-columns:repeat(53,var(--heatmap-cell));column-gap:var(--heatmap-gap);font-size:.65rem;color:var(--muted-text-color)}.practice-heatmap-weekdays{grid-area:2 / 1;display:grid;grid-template-rows:repeat(7,var(--heatmap-cell));row-gap:var(--heatmap-gap);font-size:.65rem;line-height:var(--heatmap-cell);color:var(--muted-text-color)}.practice-heatmap-grid{grid-area:2 / 2;display:grid;grid-auto-flow:column;grid-auto-columns:var(--heatmap-cell);column-gap:var(--heatmap-gap)}.practice-heatmap-week{display:grid;grid-template-rows:repeat(7,var(--heatmap-cell));row-gap:var(--heatmap-gap)}.practice-heatmap-cell{width:var(--heatmap-cell);height:var(--heatmap-cell);border-radius:2px;background-color:var(--sequencer-step-empty-color)}.practice-heatmap-cell[data-level="1"]{background-color:var(--active-color);opacity:.3}.practice-heatmap-cell[data-level="2"]{background-color:var(--active-color);opacity:.5}.practice-heatmap-cell[data-level="3"]{background-color:var(--active-color);opacity:.75}.practice-heatmap-cell[data-level="4"]{background-color:var(--active-color);opacity:1}.practice-heatmap-cell.is-blank{visibility:hidden}.practice-heatmap-legend{display:flex;align-items:center;gap:var(--heatmap-gap);margin-top:.7rem;font-size:.65rem;color:var(--muted-text-color)}.practice-heatmap-legend span:first-child{margin-right:.2rem}.practice-heatmap-legend span:last-child{margin-left:.2rem}.practice-heatmap-legend i{display:block}.practice-heatmap-tooltip{position:absolute;z-index:5;transform:translate(-50%,-100%);margin-top:-9px;padding:.35rem .65rem;border-radius:6px;color:#fff;background-color:#24292f;font-size:.7rem;font-weight:600;line-height:1.3;white-space:nowrap;pointer-events:none}.practice-heatmap-tooltip:after{content:"";position:absolute;top:100%;left:var(--tooltip-arrow, 50%);margin-left:-5px;border:5px solid transparent;border-top-color:#24292f}@media(max-width:599px){.practice-heatmap{display:none}}.session-controls{display:flex;gap:.7rem;justify-content:center}.session-controls .ui-button,.session-start-btn{min-width:6.4rem;min-height:2.55rem;padding:0 1rem;border:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font-size:1rem;font-weight:700}.session-controls .ui-button-light,.session-controls .ui-button-secondary{color:var(--main-text-color);background-color:var(--control-surface-color)}.session-controls .ui-button-primary{color:var(--active-text-color);background-color:var(--active-color, #f55)}.practice-workspace--plan-editor .session-controls{width:100%}.practice-workspace--plan-editor .session-controls .ui-button-light,.practice-workspace--plan-editor .session-controls .ui-button-secondary{flex:.5 1 0}.practice-workspace--plan-editor .session-start-btn{flex:2 1 0;min-height:3rem}@media(min-width:992px)and (min-height:760px){.practice-workspace--plan-editor .session-controls{margin-top:clamp(2rem,6vh,4rem)}}@media(max-width:599px){.practice-workspace--plan-editor .session-controls{width:100%;gap:.55rem}.practice-workspace--plan-editor .session-controls .ui-button-light,.practice-workspace--plan-editor .session-controls .ui-button-secondary{min-width:0;min-height:2.35rem;padding-right:.6rem;padding-left:.6rem}.practice-workspace--plan-editor .session-start-btn{min-width:0}}.session-controls--running{gap:1rem;width:100%;margin-top:2.5rem}.session-controls--running .ui-button{flex:1 1 0;justify-content:center;min-height:3rem;font-size:1rem}.session-controls--running .ui-button:last-child{flex-grow:2}.session-end-confirm{width:min(26rem,100%);background-color:var(--pane-bg-color)}.session-end-confirm .ui-modal-body,.session-end-confirm .ui-modal-footer{background-color:transparent}.session-end-confirm .ui-modal-body{padding:1.35rem 1.25rem .75rem}.session-end-confirm .ui-modal-footer{padding:.75rem 1.25rem 1.25rem}.confirm-question{font-size:1.05rem;font-weight:600;text-align:center}.plan-name-input{margin-top:1rem;width:100%}.count-in-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;background-color:#0000008c;pointer-events:none}.count-in-number{color:#fff;font-size:28vh;font-weight:700;line-height:1}.rc-slider{position:relative;height:14px;padding:5px 0;width:100%;border-radius:6px;-ms-touch-action:none;touch-action:none;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.rc-slider *{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.rc-slider-rail{position:absolute;width:100%;background-color:#e9e9e9;height:4px;border-radius:6px}.rc-slider-track{position:absolute;left:0;height:4px;border-radius:6px;background-color:#abe2fb}.rc-slider-handle{position:absolute;width:14px;height:14px;cursor:pointer;cursor:-webkit-grab;margin-top:-5px;cursor:grab;border-radius:50%;border:solid 2px #96dbfa;background-color:#fff;-ms-touch-action:pan-x;touch-action:pan-x}.rc-slider-handle:focus{border-color:#57c5f7;box-shadow:0 0 0 5px #96dbfa;outline:none}.rc-slider-handle-click-focused:focus{border-color:#96dbfa;box-shadow:unset}.rc-slider-handle:hover{border-color:#57c5f7}.rc-slider-handle:active{border-color:#57c5f7;box-shadow:0 0 5px #57c5f7;cursor:-webkit-grabbing;cursor:grabbing}.rc-slider-mark{position:absolute;top:18px;left:0;width:100%;font-size:12px}.rc-slider-mark-text{position:absolute;display:inline-block;vertical-align:middle;text-align:center;cursor:pointer;color:#999}.rc-slider-mark-text-active{color:#666}.rc-slider-step{position:absolute;width:100%;height:4px;background:transparent}.rc-slider-dot{position:absolute;bottom:-2px;margin-left:-4px;width:8px;height:8px;border:2px solid #e9e9e9;background-color:#fff;cursor:pointer;border-radius:50%;vertical-align:middle}.rc-slider-dot-active{border-color:#96dbfa}.rc-slider-dot-reverse{margin-left:0;margin-right:-4px}.rc-slider-disabled{background-color:#e9e9e9}.rc-slider-disabled .rc-slider-track{background-color:#ccc}.rc-slider-disabled .rc-slider-handle,.rc-slider-disabled .rc-slider-dot{border-color:#ccc;box-shadow:none;background-color:#fff;cursor:not-allowed}.rc-slider-disabled .rc-slider-mark-text,.rc-slider-disabled .rc-slider-dot{cursor:not-allowed!important}.rc-slider-vertical{width:14px;height:100%;padding:0 5px}.rc-slider-vertical .rc-slider-rail{height:100%;width:4px}.rc-slider-vertical .rc-slider-track{left:5px;bottom:0;width:4px}.rc-slider-vertical .rc-slider-handle{margin-left:-5px;-ms-touch-action:pan-y;touch-action:pan-y}.rc-slider-vertical .rc-slider-mark{top:0;left:18px;height:100%}.rc-slider-vertical .rc-slider-step{height:100%;width:4px}.rc-slider-vertical .rc-slider-dot{left:2px;margin-bottom:-4px}.rc-slider-vertical .rc-slider-dot:first-child{margin-bottom:-4px}.rc-slider-vertical .rc-slider-dot:last-child{margin-bottom:-4px}.rc-slider-tooltip-zoom-down-enter,.rc-slider-tooltip-zoom-down-appear,.rc-slider-tooltip-zoom-down-leave{animation-duration:.3s;animation-fill-mode:both;display:block!important;animation-play-state:paused}.rc-slider-tooltip-zoom-down-enter.rc-slider-tooltip-zoom-down-enter-active,.rc-slider-tooltip-zoom-down-appear.rc-slider-tooltip-zoom-down-appear-active{animation-name:rcSliderTooltipZoomDownIn;animation-play-state:running}.rc-slider-tooltip-zoom-down-leave.rc-slider-tooltip-zoom-down-leave-active{animation-name:rcSliderTooltipZoomDownOut;animation-play-state:running}.rc-slider-tooltip-zoom-down-enter,.rc-slider-tooltip-zoom-down-appear{transform:scale(0);animation-timing-function:cubic-bezier(.23,1,.32,1)}.rc-slider-tooltip-zoom-down-leave{animation-timing-function:cubic-bezier(.755,.05,.855,.06)}@keyframes rcSliderTooltipZoomDownIn{0%{opacity:0;transform-origin:50% 100%;transform:scale(0)}to{transform-origin:50% 100%;transform:scale(1)}}@keyframes rcSliderTooltipZoomDownOut{0%{transform-origin:50% 100%;transform:scale(1)}to{opacity:0;transform-origin:50% 100%;transform:scale(0)}}.rc-slider-tooltip{position:absolute;left:-9999px;top:-9999px;visibility:visible;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.rc-slider-tooltip *{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}.rc-slider-tooltip-hidden{display:none}.rc-slider-tooltip-placement-top{padding:4px 0 8px}.rc-slider-tooltip-inner{padding:6px 2px;min-width:24px;height:24px;font-size:12px;line-height:1;color:#fff;text-align:center;text-decoration:none;background-color:#6c6c6c;border-radius:6px;box-shadow:0 0 4px #d9d9d9}.rc-slider-tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.rc-slider-tooltip-placement-top .rc-slider-tooltip-arrow{bottom:4px;left:50%;margin-left:-4px;border-width:4px 4px 0;border-top-color:#6c6c6c}
