:root{--background:#151515;--voice-lead:#053bff;--voice-lead-dark:#0023a3;--voice-bass:#d00d0d;--voice-bass-dark:#8a0909;--voice-extra:#9bb700;--voice-extra-dark:#677a00;--white-2:#ffffff05;--white-4:#ffffff0a;--white-10:#ffffff1a;--white-20:#fff3;--white-60:#fff9;--white-80:#fffc;--white-100:#fff;--badge:#3d3d3d;--text-on-white:#272727;--font-family:"ABC Maxi Round Plus",-apple-system,"Helvetica Neue",Arial,sans-serif;--text-voice-size:100px;--text-voice-weight:519;--text-voice-tracking:-2px;--text-button-size:24px;--text-button-tracking:-.48px;--text-label-size:16px;--text-label-tracking:-.32px;--text-small-size:14px;--text-small-tracking:-.28px;--radius-card:18px;--radius-small:2px;--radius-dot:100px;--border:1px solid var(--white-10);--screen-padding:12px;--gap-main:16px;--gap-music:8px;--panel-open-width:324px;--panel-closed-width:80px;--panel-duration:.28s;--panel-easing:cubic-bezier(.3,0,.2,1);--voice-height:160px;--voice-padding-top:36px;--voice-padding-bottom:52px;--voice-bottom-zone:32px;--voice-duration:.16s;--button-size:54px;--icon-size:28px;--dot-size:10px;--dot-size-large:32px}html,body,div,span,h1,h2,h3,h4,p,a,ul,ol,li,button,input,label,section,main,aside,header,footer,svg{font:inherit;vertical-align:baseline;border:0;margin:0;padding:0}ul,ol{list-style:none}button{color:inherit;cursor:pointer;background:0 0}@font-face{font-family:ABC Maxi Round Plus;src:url(./ABCMaxiRoundPlusVariableTrial-nh5tqjgc.ttf)format(truetype);font-weight:300 700;font-style:normal;font-display:swap}*{box-sizing:border-box}html,body{height:100%}body{background-color:var(--background);color:var(--white-100);font-family:var(--font-family);font-size:var(--text-label-size);letter-spacing:var(--text-label-tracking);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1}.text-voice,.text-button,.text-label,.text-small{text-box:trim-both cap alphabetic}.text-voice{font-size:var(--text-voice-size);font-weight:var(--text-voice-weight);letter-spacing:var(--text-voice-tracking)}.text-button{font-size:var(--text-button-size);letter-spacing:var(--text-button-tracking)}.text-label{font-size:var(--text-label-size);letter-spacing:var(--text-label-tracking)}.text-small{font-size:var(--text-small-size);letter-spacing:var(--text-small-tracking)}.AddFx{display:flex;border:2px dashed var(--white-10);border-radius:var(--radius-card);color:var(--white-20);cursor:pointer;flex:none;justify-content:center;align-items: center;gap:4px;width:100%;height:112px}.AddFx:hover:not(:disabled),.AddFx.is-open{color:var(--white-60)}.AddFx:disabled{opacity:.4;cursor:default}.AddFx:focus-visible{outline:none;box-shadow:0 0 0 2px var(--white-20)}.AddFxPopover{position:fixed;z-index:60;display:flex;background:var(--background);border:var(--border);border-radius:var(--radius-card);animation:.12s linear add-popover;flex-direction:column;gap:12px;padding:16px;box-shadow:0 12px 32px #00000080}@keyframes add-popover{0%{opacity:0}}.AddFxPopover-head{display:flex;justify-content:space-between;align-items:baseline}.AddFxPopover-room{color:var(--white-60);font-variant-numeric:tabular-nums}.AddFxPopover-list{display:flex;list-style:none;outline:none;flex-direction:column;gap:2px;margin:0;padding:0}.AddFxPopover-option{display:flex;background:var(--white-4);border-radius:var(--radius-small);color:var(--white-60);cursor:pointer;user-select:none;justify-content:space-between;align-items: center;height:28px;padding:0 10px}.AddFxPopover-option.is-active{background:var(--white-10);color:var(--white-100)}.AddFxPopover-option.is-selected{background:var(--white-100);color:var(--text-on-white)}.AddFxPopover-option.is-blocked{color:var(--white-20);cursor:default}.AddFxPopover-order{font-variant-numeric:tabular-nums}.AddFxPopover .Button{justify-content:center}.App{display:flex;gap:var(--gap-main);padding:var(--screen-padding);width:100vw;min-width:1024px;height:100vh;min-height:640px}.App-music{display:flex;gap:var(--gap-music);flex-direction:column;flex:1 1 0;min-width:0}.App-voices{position:relative;z-index:2;display:flex;gap:var(--gap-music);flex:none}.Button{display:inline-flex;background:var(--white-4);border:var(--border);border-radius:var(--radius-card);color:var(--white-60);white-space:nowrap;cursor:pointer;user-select:none;outline:none;flex:none;align-items: center;gap:10px;height:54px}.Button:hover:not(:disabled),.Button.is-active{background:var(--white-10);color:var(--white-100)}.Button.is-faint{color:var(--white-20)}.Button.is-faint:hover:not(:disabled){color:var(--white-60)}.Button:focus-visible{box-shadow:0 0 0 2px var(--white-20)}.Button:disabled{color:var(--white-20);cursor:default}.Button-icon{justify-content:center;width:54px;padding:12px}.Button-icon-text{gap:4px;padding:12px 20px 12px 12px}.Button-text{padding:12px 20px}.Button-hotkey{color:var(--white-20)}.Dot{position:relative;display:inline-flex;width:var(--dot-size);height:var(--dot-size);background:var(--dot-color);border:4px solid var(--background);border-radius:var(--radius-dot);box-sizing:content-box;outline:none;flex:none;justify-content:center;align-items: center;padding:0}.Dot-add,.Dot-delete{width:var(--dot-size-large);height:var(--dot-size-large);cursor:pointer;border-style:dashed}button.Dot{cursor:pointer}button.Dot:focus-visible{box-shadow:0 0 0 2px var(--white-60)}.Dot-lead{--dot-color:var(--voice-lead)}.Dot-bass{--dot-color:var(--voice-bass)}.Dot-extra{--dot-color:var(--voice-extra)}.Dot-sign{position:relative;width:12px;height:12px}.Dot-sign:before,.Dot-sign:after{position:absolute;background:var(--white-100);content:"";border-radius:2px;width:100%;height:2.5px;margin-top:-1.25px;top:50%;left:0}.Dot-sign:after{transform:rotate(90deg)}.Dot-delete .Dot-sign{transform:rotate(45deg)}.Dropdown{position:relative;display:flex;user-select:none;flex-direction:column;align-items: center;gap:4px;width:156px}.Dropdown-button{display:flex;background:var(--white-10);border-radius:var(--radius-small);box-shadow:inset 0 0 0 2px var(--white-20);color:var(--white-100);outline:none;cursor:pointer;justify-content:space-between;align-items: center;width:100%;height:25px;padding:0 8px 0 7px}.Dropdown-button:hover,.Dropdown.is-open .Dropdown-button{background:var(--white-20)}.Dropdown.is-keyboard .Dropdown-button:focus{box-shadow:inset 0 0 0 2px var(--white-20),0 0 0 2px var(--white-60)}.Dropdown-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 0}.Dropdown-status{display:flex;flex:none;align-items: center;gap:2px;margin-left:8px}.Dropdown-status svg{display:block;overflow:visible}.Dropdown-status path{fill:none;stroke:var(--white-100);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.Dropdown-status.is-loading i{background:var(--white-100);animation:.9s ease-in-out infinite dropdown-loading;border-radius:50%;width:3px;height:3px}.Dropdown-status.is-loading i:nth-child(2){animation-delay:.15s}.Dropdown-status.is-loading i:nth-child(3){animation-delay:.3s}@keyframes dropdown-loading{0%,to{opacity:.2}40%{opacity:1}}.Dropdown-status.is-error{font-size:14px}.Dropdown-list{position:absolute;z-index:10;display:flex;list-style:none;background:var(--background);border:var(--border);border-radius:var(--radius-small);flex-direction:column;gap:2px;width:100%;margin:0;padding:2px;top:27px;left:0;box-shadow:0 8px 24px #0006}.Dropdown-option{display:flex;background:var(--white-4);border-radius:var(--radius-small);color:var(--white-60);cursor:pointer;align-items: center;height:25px;padding:0 7px}.Dropdown-option.is-active{color:var(--white-100);background:var(--white-10)}.Dropdown-option.is-selected{background:var(--white-100);color:var(--text-on-white)}.Dropdown-label{text-align:center;width:100%}.Fx{position:relative;transition:box-shadow .12s linear,opacity var(--voice-duration)linear;background:var(--white-4);border-radius:var(--radius-card);flex:none;width:100%}.Fx-badge{position:absolute;z-index:2;cursor:grab;touch-action:none;user-select:none;background:var(--badge);border-radius:var(--radius-small);white-space:nowrap;padding:4px 2px;top:-9px;left:50%;transform:translate(-50%)}.Fx-dots{position:absolute;display:flex;flex-direction:column;gap:4px;top:12px;left:-9px}.FxControls{position:relative;--knob-outline:#1e1e1e;--strip-outline:#1e1e1e;width:156px;height:100%;margin:0 auto}.FxControls-slot{position:absolute}.FxControls-slot.is-left{top:16px;left:0}.FxControls-slot.is-right{top:16px;left:86px}.FxControls-slot.is-left-steps{top:17px;left:0}.FxControls-slot.is-strip{top:112px;left:0}.FxControls-slot.is-left-low{top:110px;left:0}.FxControls-slot.is-right-low{top:109px;left:86px}.FxControls-slot.is-time{top:113px;left:0}.FxControls-slot.is-pingpong{top:209px;left:0}.Fx.is-link-lead{--link-color:var(--voice-lead)}.Fx.is-link-bass{--link-color:var(--voice-bass)}.Fx.is-link-extra{--link-color:var(--voice-extra)}.Fx.is-link-target{box-shadow:0 0 0 2px var(--link-color)}.Fx.is-linked-already{box-shadow:none;outline:2px dashed var(--link-color);outline-offset:0}.Fx-lamp{position:relative;display:flex}.Fx-unlink{position:absolute;z-index:3;display:flex;opacity:0;pointer-events:none;transition:opacity .1s linear,transform .1s linear;top:50%;left:50%;transform:translate(-50%,-50%)scale(.5)}.Fx-lamp:hover .Fx-unlink,.Fx-lamp:focus-within .Fx-unlink{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)scale(1)}body.is-linking .Fx-unlink{display:none}.Fx-lamp>.Dot{cursor:pointer}.Fx.is-dimmed{opacity:.3}.Fx.is-placeholder{outline:2px dashed var(--white-20);outline-offset:-2px;background:0 0}.Fx.is-placeholder>*{visibility:hidden}.Fx-ghost{position:fixed;z-index:70;opacity:.95;pointer-events:none;background:#222;margin:0;top:0;left:0;box-shadow:0 16px 40px #0000008c}body.is-moving-node,body.is-moving-node *{user-select:none;cursor:grabbing!important}.Fx.is-editing{cursor:pointer;user-select:none}.Fx.is-selected{box-shadow:0 0 0 2px var(--white-60)}@keyframes fx-jiggle{0%{transform:rotate(-.7deg)translateY(0)}50%{transform:rotate(.7deg)translateY(-.5px)}to{transform:rotate(-.7deg)translateY(0)}}.Fx.is-editing:hover{animation:.24s ease-in-out infinite fx-jiggle}@media (prefers-reduced-motion:reduce){.Fx.is-editing:hover{animation:none}}.Fx-ghost{animation:none!important}.Fx-select{position:absolute;z-index:3;display:flex;background:var(--background);border:4px solid var(--background);border-radius:var(--radius-dot);box-shadow:inset 0 0 0 2px var(--white-60);box-sizing:content-box;cursor:pointer;outline:none;justify-content:center;align-items: center;width:22px;height:22px;padding:0;transition:background .1s linear,box-shadow .1s linear;top:-11px;right:-11px}.Fx-select:hover{box-shadow:inset 0 0 0 2px var(--white-100)}.Fx-select:focus-visible{outline:2px solid var(--white-60);outline-offset:2px}.Fx-select[aria-pressed=true]{background:var(--white-100);box-shadow:none}.Fx-check{border-right:2.5px solid var(--background);border-bottom:2.5px solid var(--background);opacity:0;width:6px;height:11px;margin-top:-3px;transform:rotate(45deg)}.Fx-select[aria-pressed=true] .Fx-check{opacity:1}.Icon{display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.Knob{display:flex;user-select:none;flex-direction:column;align-items: center;gap:4px;width:70px}.Knob-body{cursor:ns-resize;touch-action:none;outline:none;border-radius:50%;width:70px;height:66px}.Knob-body.is-keyboard:focus{box-shadow:0 0 0 2px var(--white-20)}.Knob svg{display:block;overflow:visible}.Knob-track,.Knob-fill{fill:none}.Knob-track{stroke:var(--white-20)}.Knob-fill{stroke:var(--white-100)}.Knob-disk{fill:var(--white-10)}.Knob-pointer{fill:var(--white-100);stroke:var(--knob-outline,#1e1e1e)}.Knob-label{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;width:100%}.Knob-center{fill:var(--white-100);font-family:var(--font-family);font-size:var(--text-small-size);letter-spacing:var(--text-small-tracking);pointer-events:none}.LinkLayer{position:fixed;z-index:1;pointer-events:none;width:100vw;height:100vh;inset:0}.LinkLayer-lead{--link-color:var(--voice-lead)}.LinkLayer-bass{--link-color:var(--voice-bass)}.LinkLayer-extra{--link-color:var(--voice-extra)}.LinkLayer-curve{fill:none;stroke:var(--link-color);stroke-width:3;stroke-linecap:round}.LinkLayer-curve.is-line{stroke-width:2;animation:link-lines var(--voice-duration)linear}@keyframes link-lines{0%{opacity:0}}.LinkLayer-end{fill:var(--link-color);stroke:var(--background);stroke-width:4}body.is-linking,body.is-linking *{user-select:none;cursor:grabbing!important}.NodeSpace{position:relative;border:var(--border);border-radius:var(--radius-card);overflow:hidden;flex:1 1 0;min-height:0;padding:16px}.NodeSpace-columns{display:flex;overflow-y:auto;gap:16px;height:100%;margin:-11px -11px 0 -16px;padding:11px 11px 72px 16px}.NodeSpace-column{display:flex;flex-direction:column;flex:1 1 0;gap:16px;min-width:0;margin-left:-9px;padding-left:9px}.NodeSpace-buttons{position:absolute;display:flex;gap:8px;bottom:7px;right:7px}.SnowflakePanel{position:relative;display:flex;width:var(--panel-open-width);background:var(--white-2);border:var(--border);border-radius:var(--radius-card);overflow:hidden;transition:width var(--panel-duration)var(--panel-easing);flex:none;justify-content:center;align-items: center;padding:12px}.SnowflakePanel.is-closed{width:var(--panel-closed-width)}.SnowflakePanel-toggle{position:absolute;z-index:1;top:12px;right:12px}.Snowfall{position:absolute;display:block;width:100%;height:100%;inset:0}.StartOverlay{position:fixed;z-index:100;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#151515cc;transition:opacity .4s;inset:0}.StartOverlay.is-playing{opacity:0;pointer-events:none}.StartOverlay-button{display:flex;color:var(--white-100);cursor:pointer;outline:none;flex-direction:column;justify-content:center;align-items: center;gap:32px;width:100%;height:100%}.StartOverlay-button:disabled{cursor:default}.StartOverlay-hint{color:var(--white-60)}.StartOverlay.is-idle .StartOverlay-hint{animation:1.6s ease-in-out infinite start-hint}.StartOverlay.is-loading .StartOverlay-hint{animation:.8s ease-in-out infinite start-hint}@keyframes start-hint{0%,to{opacity:.5}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.StartOverlay-hint{animation:none!important}}.Steps{display:flex;user-select:none;flex-direction:column;align-items: center;gap:4px}.Steps-options{display:flex;border-radius:var(--radius-small);outline:none;gap:2px}.Steps.is-keyboard .Steps-options:focus{box-shadow:0 0 0 2px var(--white-20)}.Steps-option{display:flex;background:var(--white-4);border-radius:var(--radius-small);color:var(--white-60);cursor:pointer;white-space:nowrap;flex:1 1 0;justify-content:center;align-items: center;min-width:0;min-height:0}.Steps-option:hover:not(.is-active){color:var(--white-100)}.Steps-option.is-active{background:var(--white-100);color:var(--text-on-white);cursor:default}.Steps-label{text-align:center;width:100%}.Steps-vertical{width:70px}.Steps-vertical .Steps-options{flex-direction:column;width:100%;height:65px}.Steps-horizontal{width:156px}.Steps-horizontal .Steps-options{background:var(--white-4);width:100%;height:25px;padding:2px}.StepsPair{display:flex;flex-direction:column;gap:4px;width:156px}.StepsPair-columns{display:flex;gap:2px}.StepsPair-steps{flex:1 1 0;width:auto}.StepsPair-steps .Steps-label{display:none}.StepsPair-labels{display:flex;justify-content:space-between;padding:0 3px}.StepsPair-side{opacity:.2}.Strip{display:flex;user-select:none;flex-direction:column;align-items: center;gap:4px;width:156px}.Strip-body{border-radius:var(--radius-small);cursor:ew-resize;touch-action:none;outline:none;width:156px;height:25px}.Strip.is-keyboard .Strip-body:focus{box-shadow:0 0 0 2px var(--white-20)}.Strip svg{display:block;overflow:visible}.Strip-track{fill:var(--white-4)}.Strip-waveLine{fill:none;stroke:var(--white-60);stroke-width:2;stroke-linecap:round}.Strip-brick{fill:var(--white-60)}.Strip-line{fill:var(--strip-outline,#1e1e1e)}.Strip-pointer{fill:var(--white-100);stroke:var(--strip-outline,#1e1e1e)}.Strip-gradient .Strip-body{background:linear-gradient(90deg,var(--white-4),var(--white-100))}.Strip-volume .Strip-body{background:linear-gradient(90deg,var(--white-10),var(--white-100))}.Strip-gradient .Strip-track,.Strip-volume .Strip-track{fill:none}.Strip-label{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;width:100%}.VoiceTab{position:relative;height:var(--voice-height);background:var(--voice-color);border:var(--border);border-radius:var(--radius-card);--knob-outline:var(--voice-color);--strip-outline:var(--voice-color);flex:1 1 0;min-width:0}.VoiceTab-lead{--voice-color:var(--voice-lead);--voice-dark:var(--voice-lead-dark)}.VoiceTab-bass{--voice-color:var(--voice-bass);--voice-dark:var(--voice-bass-dark)}.VoiceTab-extra{--voice-color:var(--voice-extra);--voice-dark:var(--voice-extra-dark)}.VoiceTab-upper{position:absolute;inset:0 0 var(--voice-bottom-zone)0;display:flex;padding:var(--voice-padding-top)20px 0;color:var(--white-100);border-radius:var(--radius-card)var(--radius-card)0 0;cursor:pointer;outline:none;transition:background-color var(--voice-duration)linear;justify-content:center;align-items: flex-start}.VoiceTab:not(.is-open) .VoiceTab-upper:hover{background:var(--voice-dark)}.VoiceTab-upper:focus-visible{box-shadow:inset 0 0 0 2px var(--white-60)}.VoiceTab-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:opacity var(--voice-duration)linear}.VoiceTab.is-open .VoiceTab-upper{cursor:default}.VoiceTab.is-open .VoiceTab-name{opacity:0}.VoiceTab-controls{position:absolute;z-index:2;display:flex;animation:voice-open var(--voice-duration)linear;gap:25px;width:251px;top:21px;left:50%;transform:translate(-50%)}.VoiceTab-controls .Knob{margin-top:3px}.VoiceTab-column{display:flex;flex-direction:column;gap:17px}@keyframes voice-open{0%{opacity:0}}.VoiceTab-bottom{position:absolute;z-index:1;height:var(--voice-bottom-zone);border-radius:0 0 var(--radius-card)var(--radius-card);transition:background-color var(--voice-duration)linear;cursor:grab;touch-action:none;inset:auto 0 0}.VoiceTab-bottom:hover,.VoiceTab.is-linking .VoiceTab-bottom{background:var(--voice-dark)}.VoiceTab-dot{position:absolute;display:flex;bottom:-9px;left:50%;transform:translate(-50%)}.VoiceTab-dot-add{display:none;margin-bottom:-11px}.VoiceTab-dot-add .Dot{--dot-color:var(--voice-dark)}.VoiceTab-bottom:hover .VoiceTab-dot-default,.VoiceTab.is-linking .VoiceTab-dot-default{display:none}.VoiceTab-bottom:hover .VoiceTab-dot-add,.VoiceTab.is-linking .VoiceTab-dot-add{display:flex}
