:root{color-scheme:dark;--font-sans: system-ui, sans-serif;--font-mono: ui-monospace, "SFMono-Regular", Menlo, monospace;font-family:var(--font-sans);--bg: #0e0e12;--panel: #16161d;--panel-2: #1d1d27;--panel-3: #24243010;--border: #2e2e3c;--border-strong: #3b3b4d;--text: #e8e8ef;--muted: #a6a6bd;--accent: #6c5cff;--accent-2: #ff5c8a;--accent-soft: #6c5cff22;--on: #38d39f;--on-accent: #fff;--fs-2xs: .62rem;--fs-xs: .7rem;--fs-sm: .8rem;--fs-md: .9rem;--fs-base: 1rem;--fs-lg: 1.1rem;--fs-title: 1.25rem;--fs-xl: 1.5rem;--fs-2xl: 2rem;--fs-display: 3rem;--lh-tight: 1.15;--lh: 1.4;--fw-med: 600;--fw-bold: 700;--sp-0: .125rem;--sp-1: .25rem;--sp-1h: .375rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--r-xs: .25rem;--r-sm: .4rem;--r-md: .5rem;--r-lg: .75rem;--r-xl: 1rem;--r-pill: 999px;--e-1: 0 1px 2px rgba(0, 0, 0, .3);--e-2: 0 8px 24px rgba(0, 0, 0, .45);--e-3: 0 10px 36px rgba(0, 0, 0, .5);--e-inset: inset 0 1px 3px rgba(0, 0, 0, .4);--glow: 0 0 10px var(--accent);--ring: 0 0 0 2px var(--accent);--rec: #ff5c5c;--solo: #ffd166;--warn: #ff9f43;--danger-text: #ff7a7a;--state-playing: var(--accent);--state-queued: var(--accent-2);--state-latched: var(--on);--state-rec: var(--rec);--control-bg: var(--panel-2);--control-border: var(--border);--control-h: 2rem;--chord-btn-w: 5rem;--chord-gap: .6rem;--chord-upper-offset: calc((var(--chord-btn-w) + var(--chord-gap)) / 2)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}html,body{overflow-x:clip}button,select,input{font:inherit;color:inherit}:where(button){background:var(--control-bg);border:1px solid var(--control-border);border-radius:var(--r-sm);padding:var(--sp-1h) var(--sp-2);cursor:pointer}:where(button):where(:hover:not(:disabled)){border-color:var(--border-strong)}:where(button):where(:disabled){opacity:.4;cursor:default}:where(button.primary){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}:where(button.primary):where(:hover:not(:disabled)){border-color:var(--on-accent)}:where(button.ghost){background:transparent;border-color:transparent;color:var(--muted)}:where(button.ghost):where(:hover:not(:disabled)){color:var(--text);border-color:transparent}:where(select,input:not([type]),input[type=text],input[type=number],input[type=search],textarea){background:var(--control-bg);border:1px solid var(--control-border);border-radius:var(--r-sm);padding:var(--sp-1h) var(--sp-2)}:where(select){cursor:pointer}@supports (appearance: base-select){:where(select),:where(select)::picker(select){-webkit-appearance:base-select;-moz-appearance:base-select;appearance:base-select}:where(select){display:inline-flex;align-items:center;justify-content:space-between;gap:var(--sp-1h)}:where(select)::picker-icon{content:"";width:.4em;height:.4em;margin-inline:var(--sp-0);border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:translateY(-25%) rotate(45deg);transition:transform .12s}:where(select):open::picker-icon{transform:translateY(25%) rotate(225deg)}:where(select):open{border-color:var(--accent)}:where(select)::picker(select){background:var(--panel);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--e-2);padding:var(--sp-1);margin-block:var(--sp-1);max-height:min(60vh,24rem);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}:where(select) option{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1h) var(--sp-2);border-radius:var(--r-sm);white-space:nowrap;cursor:pointer}:where(select) option:hover,:where(select) option:focus-visible{background:var(--accent-soft);outline:none}:where(select) option:checked{font-weight:var(--fw-med)}:where(select) option::checkmark{color:var(--accent);order:1;margin-inline-start:auto}:where(select) option:disabled{opacity:.4;cursor:default}:where(select) optgroup{padding-block-start:var(--sp-1);font-size:var(--fs-xs);font-weight:var(--fw-med);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}:where(select) optgroup option{font-size:var(--fs-sm);font-weight:400;color:var(--text);text-transform:none;letter-spacing:normal}}:where(input[type=text],input[type=search],input:not([type]),textarea)::placeholder{color:var(--muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.boot{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-4)}.boot h1{font-size:var(--fs-display);margin:0;letter-spacing:.03em;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.boot p{color:var(--muted);margin:0}.boot button{margin-top:var(--sp-4);padding:var(--sp-4) var(--sp-6);font-size:var(--fs-lg);border-radius:var(--r-lg)}.boot-toggle{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);margin-top:var(--sp-2);color:var(--text)}.boot-toggle input{margin-right:var(--sp-1h)}.boot-toggle small{color:var(--muted);font-size:var(--fs-sm)}.boot-prompt{margin-top:var(--sp-2);color:var(--text);font-weight:600}.boot-version{color:var(--muted);font-size:var(--fs-sm);margin-top:-.5rem}.boot-workspaces{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--sp-3);width:min(640px,90vw)}.boot-workspaces button{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-1);padding:var(--sp-4) var(--sp-4);text-align:left;border-radius:var(--r-lg);color:var(--text)}.boot-workspaces button strong{font-size:var(--fs-base)}.boot-workspaces button small{color:var(--muted);font-size:var(--fs-sm);font-weight:400}.boot-workspaces button:hover{border-color:var(--accent)}.boot-workspaces button.preferred{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.workspace-picker{display:inline-flex;align-items:center;gap:var(--sp-1h);color:var(--muted);font-size:var(--fs-sm, .85rem)}.surface{max-width:1100px;margin:0 auto;padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-4)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-3);display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center}.panel label{display:flex;flex-direction:column;gap:var(--sp-1);font-size:var(--fs-sm);color:var(--muted)}.panel label.toggle{flex-direction:row;align-items:center;color:var(--text)}.fx-disabled{opacity:.4;display:flex;flex-direction:column;align-items:center;justify-content:center;width:50px}.fx-disabled small{color:var(--muted);font-size:var(--fs-xs)}.seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;align-self:center}.seg__btn{background:var(--panel);border:none;border-radius:0;border-left:1px solid var(--border);padding:var(--sp-2) var(--sp-3);cursor:pointer;color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-med);transition:background .12s,color .12s}.seg__btn:first-child{border-left:none}.seg__btn:hover{color:var(--text)}.seg__btn.active{background:var(--accent);color:var(--on-accent)}.panel.features{flex-direction:column;align-items:stretch}.features-head{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-sm)}.features-head button{padding:var(--sp-1) var(--sp-2);font-size:var(--fs-xs)}.features-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-1)}.features-list .toggle{flex-direction:row;align-items:center;gap:var(--sp-1h);color:var(--text);font-size:var(--fs-sm)}.feature-tag{margin-left:auto;font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--accent);border:1px solid var(--border);border-radius:var(--r-xs);padding:0 var(--sp-1)}.panel.assist{flex-direction:column;align-items:stretch;gap:var(--sp-2)}.assist-section{display:flex;flex-direction:column;gap:var(--sp-1h)}.assist-label{font-size:var(--fs-xs);color:var(--muted)}.chip-row{display:flex;flex-wrap:wrap;gap:var(--sp-1h)}.chord-chip{display:flex;flex-direction:column;align-items:center;gap:var(--sp-0);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-1h) var(--sp-2);cursor:pointer;min-width:3.5rem}.chip-name{font-size:var(--fs-sm);color:var(--text)}.chip-roman{font-size:var(--fs-2xs);color:var(--muted)}.assist-generate{align-self:flex-start;background:var(--accent);border:none;border-radius:var(--r-md);padding:var(--sp-1h) var(--sp-3);cursor:pointer;font-weight:600;color:var(--on-accent)}.visualizer{width:100%;height:80px;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.visualizer canvas{width:100%;height:100%;display:block}.transport .tap,.transport .metronome{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-1h) var(--sp-3);cursor:pointer}.transport .metronome.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.panel.sequencer{flex-direction:column;align-items:stretch;gap:var(--sp-2)}.seq-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.seq-title{font-size:var(--fs-sm);font-weight:var(--fw-med);color:var(--muted)}.seq-head-actions{display:flex;flex-wrap:wrap;gap:var(--sp-1h);margin-left:auto}.seq-steps{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:var(--sp-1h)}@media(max-width:760px){.seq-steps{grid-template-columns:repeat(4,minmax(0,1fr))}}.seq-step{position:relative;min-width:0}.seq-slot{position:relative;width:100%;min-height:4.2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-0);padding:var(--sp-2) var(--sp-1);border-radius:var(--r-md);border:1px solid var(--border);background:linear-gradient(var(--panel-2),var(--panel))}.seq-slot-num{position:absolute;top:var(--sp-1);left:var(--sp-1h);font-size:var(--fs-2xs);color:var(--muted)}.seq-slot-roman{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--accent)}.seq-slot-name{max-width:100%;font-size:var(--fs-xs);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seq-slot.rest{border-style:dashed;background:transparent}.seq-slot.rest .seq-slot-roman,.seq-slot.rest .seq-slot-name{color:var(--muted)}.seq-slot.armed{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.seq-slot.playing{border-color:var(--state-playing);background:color-mix(in srgb,var(--accent) 22%,var(--panel-2))}.seq-mod-dot{display:inline-block;width:.35rem;height:.35rem;margin-left:var(--sp-1);border-radius:50%;background:var(--accent);vertical-align:middle}.seq-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.seq-picker{position:absolute;top:calc(100% + var(--sp-1));left:0;z-index:41;width:16rem;max-width:calc(100vw - 2 * var(--sp-2));display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-2);background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--e-2)}.seq-picker.align-end{left:auto;right:0}.seq-picker-degrees{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-1)}.seq-picker-degree{display:flex;flex-direction:column;align-items:center;gap:0;min-width:0;padding:var(--sp-1h) var(--sp-1)}.seq-picker-degree.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.seq-picker-degree.rest .seq-slot-roman{color:var(--muted)}.seq-picker-action{text-align:left;font-size:var(--fs-sm)}.seq-picker-subs{display:flex;flex-direction:column;gap:var(--sp-0);padding-top:var(--sp-1h);border-top:1px solid var(--border)}.seq-picker-title{font-size:var(--fs-2xs);font-weight:var(--fw-med);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding-bottom:var(--sp-1)}.seq-picker-subs button{text-align:left;font-size:var(--fs-sm)}.seq-picker-subs .seq-subs-clear{color:var(--muted)}.seq-subs-none{font-size:var(--fs-sm);color:var(--muted);padding:var(--sp-1)}.panel.midi{flex-direction:column;align-items:stretch}.panel.playmode{flex-wrap:wrap;gap:var(--sp-3)}.adsr-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);width:100%}.panel.filter{flex-direction:column;align-items:stretch}.filter-head{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-sm)}.filter-note{font-size:var(--fs-xs);color:var(--muted)}.filter-controls{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center}.filter-controls input[type=range]{width:9rem}.subosc-controls{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:flex-end}.panel.lfo{flex-direction:column;align-items:stretch}.lfo-head{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--fs-sm)}.lfo-target{font-size:var(--fs-xs);color:var(--muted)}.lfo-controls{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center}.lfo-controls input[type=range]{width:9rem}.lfo-card{display:flex;flex-direction:column;gap:var(--sp-2);border-top:1px solid var(--border);margin-top:var(--sp-2);padding-top:var(--sp-2)}.lfo-card:first-of-type{border-top:none;margin-top:0;padding-top:0}.lfo-card-head{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-sm)}.lfo-card-head .remove{opacity:.6}.lfo-card-head .remove:hover{opacity:1}.panel.controller{flex-direction:column;align-items:stretch}.controller-status{margin-left:var(--sp-1h);font-size:var(--fs-xs);color:var(--muted)}.controller-status.on{color:var(--on)}.controller-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-1)}.controller-legend li{display:flex;justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-xs)}.controller-legend .ctl{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-0);color:var(--text);flex:none;max-width:8rem}.controller-legend .act{color:var(--muted);text-align:right}.controller-help-btn{align-self:flex-start;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);font-size:var(--fs-xs);padding:var(--sp-1) var(--sp-2);cursor:pointer}.controller-help-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#00000080;padding:var(--sp-4)}.controller-help{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);max-width:460px;width:100%;max-height:80vh;overflow:auto;box-shadow:var(--e-3)}.controller-help-head{display:flex;align-items:center;justify-content:space-between;font-weight:600;margin-bottom:var(--sp-2)}.controller-help-close{background:none;border:none;color:var(--muted);font-size:var(--fs-title);line-height:1;cursor:pointer}.controller-help-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.controller-help-row{display:flex;align-items:center;gap:var(--sp-2)}.controller-help-icons{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-0);flex:none;width:7.5rem}.controller-help-desc{font-size:var(--fs-sm);color:var(--text)}.panel.settings{flex-direction:column;align-items:stretch}.panel.settings label{width:100%}.panel.settings label.toggle{flex-wrap:wrap;gap:var(--sp-1) var(--sp-2)}.panel.settings small{flex-basis:100%;color:var(--muted);font-size:var(--fs-xs);font-weight:400}.settings-version{margin:var(--sp-1) 0 0;padding-top:var(--sp-1h);border-top:1px solid var(--border);color:var(--muted);font-size:var(--fs-sm)}.settings-changelog{display:flex;flex-direction:column;gap:var(--sp-1);width:100%}.changelog-entry{border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel-2);padding:var(--sp-1h) var(--sp-2)}.changelog-entry>summary{display:flex;align-items:center;gap:var(--sp-2);cursor:pointer;list-style:none;font-size:var(--fs-sm);color:var(--text)}.changelog-entry>summary::-webkit-details-marker{display:none}.changelog-entry>summary:before{content:"▸";color:var(--accent);font-size:var(--fs-xs)}.changelog-entry[open]>summary:before{content:"▾"}.changelog-version{font-weight:var(--fw-med)}.changelog-new{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.05em;font-weight:var(--fw-bold);color:var(--on-accent);background:var(--accent-2);border-radius:var(--r-sm);padding:.05rem var(--sp-1h)}.changelog-entry ul{margin:var(--sp-1h) 0 var(--sp-0);padding-left:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-1)}.changelog-entry li{font-size:var(--fs-xs);color:var(--muted)}.changelog-previous-list{display:flex;flex-direction:column;gap:var(--sp-0);margin-top:var(--sp-1h)}.changelog-previous-list .changelog-entry{border:none;background:transparent;padding:var(--sp-0) var(--sp-0)}.changelog-previous>summary .changelog-version{color:var(--muted)}.transport{display:flex;align-items:center;gap:var(--sp-3)}.transport .play,.drum-head .play{background:var(--accent);border:none;border-radius:var(--r-md);padding:var(--sp-2) var(--sp-4);cursor:pointer;font-weight:600}.transport .bpm{display:flex;flex-direction:column;font-size:var(--fs-xs);color:var(--muted)}.transport .bpm input{width:4.5rem;padding:var(--sp-1) var(--sp-1h)}.loop-bar{position:relative;width:140px;height:8px;border-radius:var(--r-pill);background:var(--panel-2);overflow:hidden}.loop-fill{height:100%;width:100%;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--accent),var(--accent-2))}.loop-mark{position:absolute;top:0;bottom:0;width:1px;background:var(--border);pointer-events:none}.loop-mark.strong{width:2px;background:var(--muted)}.loop-bar.has-count{height:16px;border-radius:var(--r-sm)}.loop-count{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;pointer-events:none}.loop-count span{flex:1 1 0;text-align:center;font-size:var(--fs-2xs);line-height:16px;color:var(--muted);transition:color 80ms linear}.loop-count span.on{color:var(--text);font-weight:700}.loop-count.idle{opacity:.45}.song-controls{display:flex;gap:var(--sp-1h);align-items:center;flex-wrap:wrap}.song-controls .song-name{width:8rem;cursor:text}.harmony-instrument select{max-width:11rem}.chord-pad{flex:1 1 100%;display:flex;flex-direction:column;gap:var(--sp-2);align-items:center}.chord-row{display:flex;gap:var(--chord-gap);justify-content:center}.chord-row.upper{transform:translate(var(--chord-upper-offset))}.chord-button{width:var(--chord-btn-w);height:5.5rem;border-radius:var(--r-xl);border:1px solid var(--border);background:linear-gradient(var(--panel-2),var(--panel));cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-1);padding:var(--sp-2) var(--sp-1);box-shadow:0 2px #00000059;transition:transform .04s ease}.chord-button.color{background:linear-gradient(#262633,#191921);height:4.75rem}.chord-button.suggest{border-color:color-mix(in srgb,var(--on) 55%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--on) 40%,transparent),0 0 12px color-mix(in srgb,var(--on) 28%,transparent)}.chord-button.suggest-strong{border-color:var(--on);box-shadow:0 0 0 1px var(--on),0 0 16px color-mix(in srgb,var(--on) 55%,transparent)}.chord-button:active{transform:translateY(2px);background:linear-gradient(var(--accent),#3a2f8a);border-color:var(--accent);box-shadow:var(--glow)}.chord-button .chord-degree{font-size:var(--fs-sm);font-weight:700;color:var(--accent);letter-spacing:.04em}.chord-button.color .chord-degree{color:var(--muted)}.chord-button .chord-name{font-size:var(--fs-base);font-weight:600;color:var(--accent-2)}.chord-button.color .chord-name{color:var(--text)}.chord-button .key-hint{font-size:var(--fs-xs);color:var(--muted);border:1px solid var(--border);border-radius:var(--r-xs);padding:.05rem var(--sp-1h)}.modifiers{flex:1 1 100%;flex-direction:column;align-items:flex-start;gap:var(--sp-3)}.modifier-buttons{display:flex;gap:var(--sp-2) var(--sp-4);flex-wrap:wrap}.mod-group{display:flex;flex-direction:column;gap:var(--sp-1)}.mod-group-label{font-size:var(--fs-2xs);font-weight:var(--fw-med);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.mod-group-btns{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.mod{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);cursor:pointer}.mod.active,button.active{background:var(--accent);border-color:var(--accent)}.joystick{width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,var(--panel-2),var(--panel));border:1px solid var(--border);position:relative;touch-action:none}.joystick-knob{position:absolute;top:40%;right:40%;bottom:40%;left:40%;border-radius:50%;background:var(--accent)}.touch-only{display:none}@media(pointer:coarse){.desktop-only{display:none}.chord-button .key-hint:not(:has(.hint-xbox)),.hint-kbd{display:none}.touch-only{display:block}}.looper{flex-direction:column;align-items:stretch}.looper-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1h);margin-bottom:var(--sp-1)}.looper-title{flex:1;font-size:var(--fs-sm);color:var(--muted)}.looper-head button{font-size:var(--fs-sm)}.looper-free{display:flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.track-row .remove{margin-left:auto;color:var(--muted)}.fx-target{flex-direction:row!important;align-items:center;gap:var(--sp-1h);width:100%}.fx-target select{flex:1}.track-row{display:grid;grid-template-columns:4.5rem minmax(8rem,13rem) minmax(4rem,1fr) auto;align-items:center;gap:var(--sp-1h) var(--sp-2);padding:var(--sp-1h) var(--sp-2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel-2)}.track-row+.track-row{margin-top:var(--sp-1h)}@media(min-width:761px){.panel.looper{display:grid;grid-template-columns:4.5rem minmax(8rem,13rem) minmax(8rem,1fr) fit-content(20rem);column-gap:var(--sp-2)}.panel.looper>*{grid-column:1 / -1}.panel.looper>.track-row{grid-template-columns:subgrid}}.track-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1)}.track-thumb{height:2.2rem;min-width:0;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);background:var(--panel);border:1px solid var(--border);overflow:hidden}.track-thumb svg{width:100%;height:100%;padding:var(--sp-1) var(--sp-1h);fill:var(--accent)}.track-thumb-label{font-size:var(--fs-2xs);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.track-thumb .tape-fx-group{display:flex;justify-content:space-evenly;width:100%}.track-thumb .tape-fx{border:none;background:transparent;padding:var(--sp-1)}.track-row.is-muted .track-thumb svg{fill:var(--muted);opacity:.5}.track-row.recording{border-color:var(--state-rec)}.track-row.recording .track-thumb{border-color:color-mix(in srgb,var(--state-rec) 60%,var(--border));background:color-mix(in srgb,var(--state-rec) 12%,var(--panel))}.track-row.recording .track-thumb-label{color:var(--state-rec)}.track-row.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--panel-2))}.track-row.selected.recording{border-color:var(--state-rec)}.track-row .track-label{width:100%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--fs-sm);color:var(--muted);background:transparent;border:1px solid transparent;border-radius:var(--r-sm);padding:var(--sp-1h) var(--sp-1);text-align:left;cursor:pointer}.track-row.selected .track-label{color:var(--text)}.track-instrument{flex:1;min-width:0;font-size:var(--fs-sm);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-1) var(--sp-1h);color:var(--text)}.track-instrument.muted{background:transparent;border-color:transparent;color:var(--muted)}.rec.recording{background:var(--state-rec);border-color:var(--state-rec);color:var(--on-accent);animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.55}}.voice-panel{flex-direction:column;align-items:stretch;gap:var(--sp-2)}.voice-panel .voice-hint{margin:0;font-size:var(--fs-md);color:var(--muted)}.voice-controls{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.voice-controls button{padding:var(--sp-1h) var(--sp-4)}.voice-live{font-variant-numeric:tabular-nums}.voice-msg{color:var(--muted)}.visualizer{position:relative}.viz-mode{position:absolute;top:.25rem;right:.35rem;font-size:var(--fs-2xs);padding:var(--sp-0) var(--sp-1h);border-radius:var(--r-sm);background:color-mix(in srgb,var(--panel) 75%,transparent);border:1px solid var(--border);color:var(--muted);cursor:pointer;opacity:.7}.viz-mode:hover{opacity:1}.guides-panel{flex-direction:column;align-items:stretch;gap:var(--sp-2)}.guides-list{display:flex;flex-direction:column;gap:var(--sp-1h)}.guide-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-0);padding:var(--sp-2) var(--sp-3);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;text-align:left}.guide-card small{color:var(--muted)}.guide-card.guide-tour{border-style:dashed}.guide-card.guide-manual{border-color:var(--accent)}.manual-body{max-width:46rem;font-size:var(--fs-md);line-height:1.55;padding:0 var(--sp-1) var(--sp-4)}.manual-body h1{font-size:var(--fs-title);margin:var(--sp-2) 0}.manual-body h2{font-size:var(--fs-base);margin:var(--sp-5) 0 var(--sp-1h);padding-top:var(--sp-2);border-top:1px solid var(--border)}.manual-body h3{font-size:var(--fs-md);margin:var(--sp-4) 0 var(--sp-1)}.manual-body p,.manual-body ul,.manual-body ol{margin:var(--sp-2) 0}.manual-body ul,.manual-body ol{padding-left:var(--sp-4)}.manual-body li{margin:var(--sp-1) 0}.manual-body a{color:var(--accent);text-decoration:none}.manual-body a:hover{text-decoration:underline}.manual-body code{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-xs);padding:0 var(--sp-1);font-size:.8em}.manual-body blockquote{margin:var(--sp-2) 0;padding:var(--sp-1) var(--sp-3);border-left:3px solid var(--accent);background:var(--panel-2);border-radius:0 .4rem .4rem 0}.manual-body hr{border:none;border-top:1px solid var(--border);margin:var(--sp-4) 0}.manual-table-wrap{overflow-x:auto;margin:var(--sp-2) 0}.manual-body table{border-collapse:collapse;font-size:var(--fs-sm);min-width:100%}.manual-body th,.manual-body td{border:1px solid var(--border);padding:var(--sp-1) var(--sp-2);text-align:left;vertical-align:top}.manual-body th{background:var(--panel-2)}.help-link{flex:0 0 auto;width:1.25rem;height:1.25rem;padding:0;margin:0;border-radius:50%;border:1px solid var(--border);background:var(--panel-2);color:var(--muted);font-size:var(--fs-xs);line-height:1;cursor:pointer}.help-link:hover{color:var(--accent);border-color:var(--accent)}.echo-dots{display:flex;gap:var(--sp-2);justify-content:center;margin:var(--sp-1h) 0}.echo-dot{width:.7rem;height:.7rem;border-radius:50%;border:1px solid var(--border);background:var(--panel-2)}.echo-dot.done{background:var(--accent);border-color:var(--accent)}.song-controls-grouped{flex-direction:column;align-items:stretch;gap:var(--sp-2)}.song-group{display:flex;flex-direction:column;gap:var(--sp-1)}.song-group-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.song-group-row{display:flex;align-items:center;gap:var(--sp-1h);flex-wrap:wrap}.track-more-wrap{position:relative}.track-more,.looper-add{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-1h) var(--sp-2);cursor:pointer}.track-more-menu{position:absolute;top:100%;right:0;z-index:30;min-width:11rem;display:flex;flex-direction:column;gap:var(--sp-0);padding:var(--sp-1h);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--e-2)}.track-more-menu button{border-radius:var(--r-sm);text-align:left;font-size:var(--fs-sm)}.track-more-menu button.danger{color:var(--danger-text)}.chord-button.solo .chord-degree{opacity:.55}.chord-button.solo{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.granular-panel{flex-direction:column;align-items:stretch;gap:var(--sp-3)}.granular-new{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.granular-new input{width:8rem}.granular-new button{padding:var(--sp-1h) var(--sp-3)}.granular-knobs{display:flex;gap:var(--sp-4);flex-wrap:wrap}.granular-hint{color:var(--muted)}.wt-keyframe{display:flex;align-items:center;gap:var(--sp-1)}.wt-keyframe button,.wt-add-keyframe{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-1) var(--sp-2);cursor:pointer}.drum-voice-panel{flex-direction:column;align-items:stretch;gap:var(--sp-2)}.drum-voice-head{display:flex;align-items:center;gap:var(--sp-2)}.drum-voice-badge{font-size:var(--fs-2xs);padding:var(--sp-0) var(--sp-1h);border-radius:var(--r-md);background:color-mix(in srgb,var(--accent) 20%,transparent);border:1px solid var(--accent)}.drum-voice-knobs{display:flex;gap:var(--sp-4)}.drum-voice-sample{display:flex;align-items:center;gap:var(--sp-1h);flex-wrap:wrap}.drum-voice-sample-title{font-size:var(--fs-sm);color:var(--muted)}.drum-voice-msg,.drum-voice-hint{color:var(--muted)}.solo-strip-wrap{display:flex;align-items:center;gap:var(--sp-2);width:100%}.solo-mode{display:flex;align-items:center;gap:var(--sp-1h);font-size:var(--fs-sm);color:var(--muted);flex:0 0 auto}.character-knobs{display:flex;gap:var(--sp-4);align-items:flex-start}.solo-strip{flex:1 1 auto;min-width:0;display:flex;height:3.2rem;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;touch-action:none;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--panel)}.solo-zone{flex:1 1 0;display:flex;align-items:flex-end;justify-content:center;font-size:var(--fs-2xs);color:var(--muted);border-right:1px solid var(--border);padding-bottom:var(--sp-0)}.solo-zone:last-child{border-right:none}.solo-zone.root{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--text)}.lockedrandom{flex-direction:column;align-items:stretch;gap:var(--sp-2)}.lockedrandom-head{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.lockedrandom-head button,.lockedrandom-head select{padding:var(--sp-1h) var(--sp-3)}.lockedrandom-head .play.active{border-color:var(--accent)}.lockedrandom-knobs{display:flex;gap:var(--sp-4)}.band-panel{display:flex;align-items:center;gap:var(--sp-4)}.band-desc{color:var(--muted)}.setlist{flex-direction:column;align-items:stretch;gap:var(--sp-2)}.setlist-head{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.setlist-title{font-size:var(--fs-sm);color:var(--muted)}.setlist-current{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.setlist-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-1)}.setlist-row{display:flex;align-items:center;gap:var(--sp-1)}.setlist-row .setlist-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.setlist-row.current .setlist-name{border-color:var(--accent)}.setlist-add{display:flex;gap:var(--sp-1h)}.mixer{flex-direction:column;align-items:stretch}.mixer-title{font-size:var(--fs-sm);color:var(--muted);margin-bottom:var(--sp-1)}.mixer-rows{display:flex;flex-direction:column;gap:var(--sp-1)}.mixer-row{display:flex;align-items:center;gap:var(--sp-1h)}.mixer-name{width:5rem;flex:none;font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mixer-btn{width:1.9rem;flex:none;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-1) 0;cursor:pointer;font-size:var(--fs-sm);color:var(--text)}.mixer-btn.active{background:var(--accent);border-color:var(--accent)}.mixer-btn.solo.active{background:var(--accent-2);border-color:var(--accent-2)}.mixer-master{margin-top:var(--sp-1);padding-top:var(--sp-1h);border-top:1px solid var(--border);flex-wrap:wrap}.mixer-master-note{font-size:var(--fs-xs);color:var(--muted)}.mixer-meter{width:6px;height:36px;flex:none;background:var(--panel);border:1px solid var(--border);border-radius:2px;overflow:hidden;display:flex;align-items:flex-end}.mixer-meter-fill{width:100%;height:100%;transform:scaleY(0);transform-origin:bottom;background:linear-gradient(to top,var(--accent),var(--accent-2))}.drum-voice-mix{margin-left:var(--sp-4);border-left:1px solid var(--border);padding-left:var(--sp-1h)}.drum-voice-mix>summary{font-size:var(--fs-sm);color:var(--muted);cursor:pointer;padding:var(--sp-1) 0}.theory-overlay{flex:1 1 100%;display:flex;align-items:baseline;justify-content:center;gap:var(--sp-2);min-height:1.6rem}.theory-overlay.idle{color:var(--muted)}.theory-numeral{font-size:var(--fs-lg);font-weight:600;color:var(--accent);min-width:2.5rem}.theory-name{font-size:var(--fs-md);color:var(--text)}.theory-fn{font-size:var(--fs-sm);color:var(--muted)}.theory-hint{font-size:var(--fs-sm)}.adsr{flex-direction:column;align-items:stretch}.adsr-title{font-size:var(--fs-sm);color:var(--muted)}.adsr label{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--sp-3);color:var(--text)}.adsr input[type=range]{flex:1}.fx{flex-direction:column;align-items:stretch}.fx label{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--sp-3);color:var(--text)}.fx input[type=range]{flex:1}.drums{flex-direction:column;align-items:stretch}.drum-head{display:flex;gap:var(--sp-2);align-items:center}.drum-generate{display:flex;flex-wrap:wrap;gap:var(--sp-1h);align-items:center}.drum-generate select{font-size:var(--fs-sm)}.drum-bank{display:flex;flex-wrap:wrap;gap:var(--sp-1);align-items:center}.drum-bank-chip,.drum-bank-op{min-width:2rem;padding:var(--sp-1) var(--sp-2);font-size:var(--fs-sm);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel-2);color:var(--muted);cursor:pointer}.drum-bank-chip.active{border-color:var(--accent);color:var(--text);box-shadow:0 0 0 1px var(--accent) inset}.drum-bank-chip.queued{border-color:var(--accent-2);color:var(--text)}.drum-bank-op:disabled{opacity:.4;cursor:default}.drum-perform{display:flex;flex-wrap:wrap;gap:var(--sp-1h);align-items:center}.fill-pad,.fill-latch{padding:var(--sp-1) var(--sp-3);font-size:var(--fs-sm);font-weight:600;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--panel-2);color:var(--text);cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none}.fill-pad.active{background:var(--rec);border-color:var(--rec);color:var(--on-accent)}.fill-latch.queued{border-color:var(--rec);color:var(--rec)}.shell-views{display:flex;flex-direction:column;gap:var(--sp-3)}.frame{display:flex;flex-direction:column;gap:var(--sp-2)}.frame-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.frame-logo{font-size:var(--fs-lg);background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.frame-chip{padding:var(--sp-1) var(--sp-3);font-size:var(--fs-sm);border:1px solid var(--border-strong);border-radius:var(--r-pill);background:var(--panel-2);color:var(--text);cursor:pointer;white-space:nowrap}.frame-menu-btn{padding:0;min-width:2.2rem;min-height:2.2rem;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel-2);color:var(--text);cursor:pointer;margin-left:auto}.frame-nowplaying{flex:1 1 0;min-width:0;overflow:hidden}.frame-nowplaying .theory-overlay{flex:none;display:block;margin:0;min-height:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.frame-nowplaying .theory-numeral{min-width:0;margin-right:var(--sp-2)}.frame-nowplaying .theory-name{margin-right:var(--sp-2)}.view-switcher .view-icon{opacity:.7}.view-host{flex:1;min-height:0}.view-host .view[hidden]{display:none}.play-view{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3)}.play-stage{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);width:100%}.play-stage .panel.modifiers{flex-wrap:nowrap}.play-stage .panel.modifiers>*{flex-shrink:0}@media(min-width:960px){.play-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,31rem);align-items:center;gap:var(--sp-5);--chord-btn-w: 6rem;--chord-gap: var(--sp-3);--chord-upper-offset: calc((var(--chord-btn-w) + var(--chord-gap)) / 2)}.play-stage:not(:has(.panel.modifiers)){grid-template-columns:minmax(0,1fr)}.play-stage .chord-button{height:6.5rem}.play-stage .chord-button.color{height:5.5rem}.play-stage .chord-button .chord-name{font-size:var(--fs-lg)}.play-stage .panel.modifiers{margin:0}.play-stage .mod-pads{display:grid;grid-template-columns:1fr 1fr;width:100%}.play-stage .quality-pad,.play-stage .strum-pad{width:100%;height:auto;aspect-ratio:180 / 140}}@media(min-width:761px)and (max-width:959px){.play-stage .panel.modifiers{flex-direction:row;align-items:flex-start}.play-stage .modifier-buttons{flex:1;min-width:0}}.play-strip{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--sp-2) var(--sp-3)}.strip-group{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--sp-2)}.strip-group:empty{display:none}@media(min-width:761px){.play-strip .strip-group{padding:var(--sp-1);border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--border)}}.play-chip{min-height:2.4rem;padding:var(--sp-1) var(--sp-3);font-size:var(--fs-sm);border:1px solid var(--border-strong);border-radius:var(--r-pill);background:var(--panel-2);color:var(--text);cursor:pointer}.play-chip.active{border-color:var(--state-latched);color:var(--state-latched)}.instrument-chip{border-color:var(--accent)}.beat-view{display:flex;flex-direction:column;gap:var(--sp-2)}.beat-toolbar{display:flex;flex-wrap:wrap;align-items:stretch;gap:var(--sp-2)}.beat-tray{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1h);padding:var(--sp-1);border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--border)}.beat-tray-or{font-size:var(--fs-xs);color:var(--muted)}@media(max-width:760px){.beat-toolbar{gap:var(--sp-1h) var(--sp-2)}.beat-tray{padding:0;border:none;background:none}.beat-tray-or{display:none}}.beat-grid{position:relative;width:100%}.beat-grid-canvas{display:block;width:100%;touch-action:pan-y;border:1px solid var(--border);border-radius:var(--r-sm)}.view-fallback{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);padding:var(--sp-6) var(--sp-4);color:var(--muted)}.inspector-body{display:flex;flex-direction:column;gap:var(--sp-3)}.inspector-hint{color:var(--muted)}.frame-menu-body{display:flex;flex-direction:column;gap:var(--sp-3)}.frame-menu-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.sound-view{display:flex;flex-direction:column;gap:var(--sp-3)}.sound-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-2) var(--sp-3)}.sound-head .save-preset-row{flex-wrap:nowrap}.sound-head .save-preset-row input{flex:1 1 12rem;min-width:0}.sound-instrument-chip{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-pill);border:1px solid var(--eng, var(--accent));background:var(--panel-2);max-width:100%}.sound-instrument-name{font-size:var(--fs-base);font-weight:var(--fw-bold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sound-instrument-engine{font-size:var(--fs-2xs);font-weight:var(--fw-med);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.signal-flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));gap:var(--sp-2)}.stage-card{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:var(--sp-1h);min-width:0;min-height:7.5rem;padding:var(--sp-3) var(--sp-2);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--panel-2);color:var(--text);cursor:pointer}.stage-card:hover{border-color:var(--accent)}.stage-title{font-size:var(--fs-sm);font-weight:600}.stage-viz{display:flex;align-items:center;justify-content:center;width:100%;min-height:3rem;color:var(--accent)}.stage-viz svg{width:100%;max-width:7.5rem;height:auto}.stage-viz path{vector-effect:non-scaling-stroke;stroke-width:2}.stage-glyph{font-size:var(--fs-xl);opacity:.8}.stage-sub{font-size:var(--fs-xs);color:var(--muted);max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.update-toast{position:fixed;left:50%;bottom:calc(var(--sp-4) + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:90;display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--e-2)}.update-reload{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.boot-templates .boot-workspace strong{font-size:var(--fs-md)}.mod-route{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;padding:var(--sp-1) 0;border-bottom:1px solid var(--border)}.mod-route:last-child{border-bottom:none}.lfo-custom-shape{display:inline-flex;align-items:center;gap:var(--sp-1);color:var(--accent)}.lfo-custom-shape button{font-size:var(--fs-xs)}.tuning-cents-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin:var(--sp-2) 0 var(--sp-1)}.tuning-cents-grid{display:grid;grid-template-columns:repeat(6,minmax(3.4rem,1fr));gap:var(--sp-1)}.tuning-cent{display:flex;flex-direction:column;font-size:var(--fs-xs);color:var(--muted)}.tuning-cent input{width:100%}.save-preset-row{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.save-preset-row input{flex:0 1 14rem;min-width:8rem}.ab-row{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--border)}.ab-slot{display:inline-flex;align-items:center;gap:2px}.ab-park{padding:0;min-width:1.8rem;min-height:1.8rem;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel-2);color:var(--muted);cursor:pointer}.ab-park:hover{color:var(--text);border-color:var(--accent)}.ab-fader{flex:1;min-width:10rem;max-width:24rem}.step-entry-degrees{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.step-entry-deg{min-width:3rem;min-height:2.4rem;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--panel-2);color:var(--text);cursor:pointer}.step-entry-seq{display:flex;flex-wrap:wrap;gap:var(--sp-1);list-style:none;margin:var(--sp-2) 0;padding:0;min-height:2rem}.step-entry-item{display:inline-flex;align-items:center;gap:2px;padding:var(--sp-0) var(--sp-1h);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel-2)}.step-entry-item.next{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.step-entry-item button{border:none;background:none;color:var(--muted)}.step-entry-empty{color:var(--muted);list-style:none}.step-entry-controls{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.step-entry-advance{min-height:2.6rem;padding:0 var(--sp-4);border:1px solid var(--accent);border-radius:var(--r-md);background:var(--accent-soft);color:var(--text);font-weight:600;cursor:pointer;touch-action:none}.cmd-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#00000080;display:flex;justify-content:center;align-items:flex-start;padding-top:12vh}.cmd-palette{width:min(32rem,92vw);background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--e-2);overflow:hidden}.cmd-input{width:100%;padding:var(--sp-3) var(--sp-4);font-size:var(--fs-md);background:var(--panel-2);color:var(--text);border:none;border-bottom:1px solid var(--border)}.cmd-input:focus{outline:none}.cmd-list{list-style:none;margin:0;padding:var(--sp-1);max-height:50vh;overflow-y:auto}.cmd-item{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);cursor:pointer}.cmd-item.active{background:var(--accent-soft)}.cmd-hint{font-size:var(--fs-xs);color:var(--muted)}.cmd-empty{padding:var(--sp-3);color:var(--muted);list-style:none}.physics-canvas{display:block;margin:0 auto;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);max-width:100%}.physics-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-top:var(--sp-2)}@media(max-width:760px){.shell-views{gap:var(--sp-2)}.shell-views .play-view .visualizer{display:none}.play-view,.play-stage{gap:var(--sp-2)}.play-stage .panel.modifiers{align-items:stretch}.play-stage .mod-pads{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2)}.play-stage .quality-pad,.play-stage .strum-pad{width:100%;height:auto}.shell-views .quality-pad,.shell-views .strum-pad{aspect-ratio:180 / 105}.play-stage .mod{padding:var(--sp-2) var(--sp-1h)}.play-strip .seg__btn{padding:var(--sp-2) var(--sp-1h);white-space:nowrap}}.hist-btns{display:inline-flex;gap:2px}.hist-btn{padding:0;min-width:2.2rem;min-height:2.2rem;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel-2);color:var(--text);cursor:pointer;font-size:var(--fs-base)}.hist-btn:disabled{opacity:.35;cursor:default}.perform-handle{padding:0;min-width:2.2rem;min-height:2.2rem;border:1px solid var(--border-strong);border-radius:var(--r-pill);background:var(--panel-2);color:var(--text);cursor:pointer;font-size:var(--fs-base)}.perform-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#00000073}.perform-sheet{position:fixed;inset:auto 0 0 0;z-index:61;display:flex;flex-direction:column;gap:var(--sp-3);max-height:70vh;overflow-y:auto;padding:var(--sp-3) var(--sp-4) calc(var(--sp-4) + env(safe-area-inset-bottom,0px));background:var(--panel);border-top:1px solid var(--border-strong);border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:var(--e-2)}.perform-head{display:flex;align-items:center;gap:var(--sp-2)}.perform-close{margin-left:auto;min-width:2.2rem;min-height:2.2rem;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel-2);color:var(--muted);cursor:pointer}.perform-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.perform-pad{flex:1 1 auto;min-width:4rem;min-height:2.9rem;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--panel-2);color:var(--text);font-weight:600;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none}.perform-pad.fill.active{background:var(--rec);border-color:var(--rec);color:var(--on-accent)}.perform-pad.punch.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.scene-row .scene-fader,.control-all-row .control-all-fader{flex:1;min-height:2.2rem;accent-color:var(--accent)}.scene-slot{display:inline-flex;align-items:center;gap:2px}.scene-park{min-height:2.9rem;padding:0 var(--sp-3);border:1px dashed var(--border-strong);border-radius:var(--r-md);background:var(--panel-2);color:var(--muted);cursor:pointer}.scene-park.set{border-style:solid;border-color:var(--accent);color:var(--text)}.scene-clear{border:none;background:none;color:var(--muted);cursor:pointer;min-width:1.6rem;min-height:1.6rem}.perform-label{font-size:var(--fs-sm);color:var(--muted);min-width:2rem}.macro-row{justify-content:flex-start}.tape-fx-group{display:inline-flex;gap:2px}.tape-fx{padding:var(--sp-1) var(--sp-2);font-size:var(--fs-sm);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel-2);color:var(--muted);cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none}.tape-fx:active:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.tape-fx:disabled{opacity:.4;cursor:default}.drum-pads-wrap{display:flex;flex-direction:column;gap:var(--sp-1h)}.drum-pads{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--sp-1h)}.pad .pad-short{display:none}@media(max-width:760px){.drum-pads{grid-template-columns:repeat(5,minmax(0,1fr))}.pad .pad-name{display:none}.pad .pad-short{display:inline}}.pad{min-width:0;padding:var(--sp-4) var(--sp-1);font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:linear-gradient(var(--panel-2),var(--panel));border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;touch-action:none}.pad:active{background:var(--accent)}.auto-rec.recording{background:var(--rec);border-color:var(--rec);color:var(--on-accent)}.seq-plock-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.seq-plock{position:fixed;z-index:41;width:180px;display:flex;flex-direction:column;gap:var(--sp-1h);padding:var(--sp-2) var(--sp-2);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--e-2);font-size:var(--fs-xs)}.seq-plock-head{display:flex;align-items:center;justify-content:space-between}.seq-plock-head button{background:none;border:none;color:var(--muted);font-size:var(--fs-md)}.seq-plock label{display:grid;grid-template-columns:2.6rem 1fr;align-items:center;gap:var(--sp-1);color:var(--muted)}.seq-plock label span{grid-column:2;justify-self:end;color:var(--text);font-variant-numeric:tabular-nums}.seq-plock label input{grid-column:1 / -1;width:100%}.seq-plock-clear{margin-top:var(--sp-1);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-1);color:var(--text);cursor:pointer}.dial-row{display:flex;gap:var(--sp-4);flex-wrap:wrap}.control-cell{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1)}.control-label{font-size:var(--fs-xs);color:var(--muted)}.modifier-pad{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1h)}.pad-axes{display:flex;flex-direction:column;gap:var(--sp-0);text-align:center;font-size:var(--fs-2xs);color:var(--muted)}.panel.synth-builder{flex-direction:column;align-items:stretch;min-width:16rem}.sb-title{font-weight:600;font-size:var(--fs-md)}.sb-hint{margin:0;font-size:var(--fs-xs);color:var(--muted)}.sb-section{display:flex;flex-direction:column;gap:var(--sp-1h)}.sb-section-head{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-sm);color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:var(--sp-1)}.sb-add{display:flex;gap:var(--sp-1)}.sb-add button{padding:var(--sp-1) var(--sp-2);color:var(--text);font-size:var(--fs-xs)}.sb-add button:hover{border-color:var(--accent)}.sb-row{display:flex;align-items:center;gap:var(--sp-2)}.sb-node-kind{font-size:var(--fs-xs);color:var(--muted);width:2.6rem}.sb-row select{flex:1;padding:var(--sp-1) var(--sp-1h);color:var(--text);font-size:var(--fs-sm)}.sb-remove{background:transparent;border:1px solid var(--border);border-radius:var(--r-sm);color:var(--muted);cursor:pointer;padding:var(--sp-0) var(--sp-1h);font-size:var(--fs-xs)}.sb-remove:hover{color:var(--accent-2);border-color:var(--accent-2)}.panel.wave-builder{flex-direction:column;align-items:stretch;min-width:15rem}.wb-canvas{width:100%;height:90px;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-md);touch-action:none;cursor:crosshair}.wb-draw{cursor:pencil}.wb-presets{flex-wrap:wrap}.wt-morph{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.wt-morph label{flex:1;min-width:4.5rem}.panel.mod-matrix{flex-direction:column;align-items:stretch;min-width:16rem}.mm-sources{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.mm-source-chip{display:inline-flex;align-items:center;gap:var(--sp-1);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-0) var(--sp-1h);font-size:var(--fs-xs)}.mm-route select{flex:1;min-width:4rem}.mm-arrow{color:var(--muted)}.panel.macro-panel{flex-direction:column;align-items:stretch;min-width:15rem}.macro-card{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-1h);display:flex;flex-direction:column;gap:var(--sp-1)}.macro-head{display:flex;align-items:center;gap:var(--sp-2)}.macro-name{flex:1;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-1) var(--sp-1h);color:var(--text);font-size:var(--fs-sm)}.macro-num{width:4rem;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-1);color:var(--text);font-size:var(--fs-xs)}.macro-route select{flex:1;min-width:4rem}.panel-title{font-size:var(--fs-sm);color:var(--muted);width:100%;margin-bottom:var(--sp-0)}.panel.midi-learn{flex-direction:column;align-items:stretch}.midi-learn-add,.midi-learn-arm{display:flex;align-items:center;gap:var(--sp-1h);font-size:var(--fs-sm)}.midi-learn-add select{flex:1;min-width:6rem}.midi-learn-arm strong{color:var(--accent)}.midi-learn-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-1)}.midi-learn-list li{display:flex;align-items:center;gap:var(--sp-1h);font-size:var(--fs-xs)}.midi-learn-src{font-variant-numeric:tabular-nums;color:var(--text)}.midi-learn-arrow{color:var(--muted)}.midi-learn-tgt{flex:1;color:var(--muted)}.midi-learn-x{background:none;border:none;color:var(--muted);cursor:pointer;padding:0 var(--sp-1)}.midi-learn-x:hover{color:var(--text)}.panel.piano-roll{flex-direction:column;flex-wrap:nowrap;align-items:stretch;flex:1 1 100%;min-width:0;overflow:hidden}.pr-head{display:flex;flex-direction:column;gap:var(--sp-1h)}.pr-tools{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.pr-tools button{border-radius:var(--r-sm);color:var(--text);font-size:var(--fs-xs);padding:var(--sp-1) var(--sp-1h)}.pr-scroll{overflow:auto;max-height:240px;min-width:0;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--panel-2)}.pr-grid{position:relative;background-image:linear-gradient(to right,color-mix(in srgb,var(--accent) 55%,transparent) 1px,transparent 1px),linear-gradient(to right,color-mix(in srgb,var(--border) 85%,transparent) 1px,transparent 1px),linear-gradient(to right,color-mix(in srgb,var(--border) 30%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--border) 25%,transparent) 1px,transparent 1px);background-size:calc(var(--pr-cell, 16px) * 16) 100%,calc(var(--pr-cell, 16px) * 4) 100%,var(--pr-cell, 16px) 100%,100% 12px;cursor:crosshair}.pr-playhead{position:absolute;top:0;width:0;border-left:2px solid var(--accent-2);pointer-events:none}.pr-octave{position:absolute;left:0;font-size:var(--fs-2xs);color:var(--muted);pointer-events:none;border-top:1px solid color-mix(in srgb,var(--accent) 35%,transparent);width:100%}.pr-note{position:absolute;background:var(--accent);border:none;border-radius:2px;padding:0;cursor:pointer}.pr-note:hover{outline:1px solid var(--on-accent)}.panel.automation{flex-direction:column;align-items:stretch}.auto-add{display:flex;gap:var(--sp-1h)}.auto-add select{flex:1;min-width:6rem}.auto-lane{display:flex;flex-direction:column;gap:var(--sp-1);margin-top:var(--sp-1h)}.auto-lane-head{display:flex;align-items:center;gap:var(--sp-1h);font-size:var(--fs-xs)}.auto-lane-head .toggle{flex:1}.auto-svg{border:1px solid var(--border);border-radius:var(--r-sm);cursor:crosshair}.auto-bg{fill:var(--panel-2)}.auto-line{fill:none;stroke:var(--accent);stroke-width:1.5}.auto-pt{fill:var(--on-accent);stroke:var(--accent);stroke-width:1.5;cursor:pointer}.panel.arranger{flex-direction:column;align-items:stretch}.arr-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1h)}.arr-sections{display:flex;flex-direction:column;gap:var(--sp-1h);margin-top:var(--sp-1h)}.arr-section{border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-1h);background:var(--panel-2);display:flex;flex-direction:column;gap:var(--sp-1)}.arr-section.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.arr-section-head{display:flex;align-items:center;gap:var(--sp-1)}.arr-name{flex:1;min-width:4rem;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);padding:var(--sp-1) var(--sp-1h);font-size:var(--fs-sm)}.arr-bars{flex-direction:row!important;align-items:center;gap:var(--sp-1);font-size:var(--fs-2xs)}.arr-bars input{width:3rem}.arr-mutes{display:flex;flex-wrap:wrap;gap:var(--sp-1h)}.arr-mute{font-size:var(--fs-xs)}.arr-section-foot{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-1h)}.arr-bank{flex-direction:row!important;align-items:center;gap:var(--sp-1);font-size:var(--fs-2xs)}.arr-meta{font-size:var(--fs-2xs);color:var(--muted);margin-left:auto}.seq-plock-cond select{width:100%}.seq-plock-euclid{display:flex;align-items:center;gap:var(--sp-1)}.seq-plock-euclid select{width:auto;flex:1 1 0}.seq-plock-euclid button{border-radius:var(--r-sm);padding:var(--sp-1) var(--sp-2)}.arranger-window{padding:var(--sp-4);color:var(--text);font-family:inherit}.arranger-window h1{font-size:var(--fs-lg);margin:0 0 var(--sp-2)}.aw-head{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-3)}.aw-transport{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.aw-transport button,.aw-section button{color:var(--text);padding:var(--sp-1) var(--sp-2)}.aw-transport button.active{background:var(--accent);color:var(--on-accent)}.aw-sections{display:flex;flex-direction:column;gap:var(--sp-2)}.aw-section{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-2);background:var(--panel);display:flex;flex-direction:column;gap:var(--sp-1h)}.aw-section.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.aw-section-head{display:flex;align-items:center;gap:var(--sp-1h)}.aw-section-head>input[type=text],.aw-section-head>input:not([type]){flex:1}.aw-mutes{display:flex;flex-wrap:wrap;gap:var(--sp-2);font-size:var(--fs-sm)}.panel.tuner{flex-direction:column;align-items:stretch}.tuner-readout{display:flex;align-items:baseline;gap:var(--sp-2);justify-content:center}.tuner-note{font-size:var(--fs-2xl);font-weight:600;font-variant-numeric:tabular-nums;color:var(--text)}.tuner-cents{font-size:var(--fs-md);color:var(--muted);font-variant-numeric:tabular-nums}.tuner-meter{position:relative;height:14px;border:1px solid var(--border);border-radius:7px;background:var(--panel-2)}.tuner-center{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--muted)}.tuner-needle{position:absolute;top:-2px;width:4px;height:18px;border-radius:2px;background:var(--accent-2);transform:translate(-2px)}.panel.sampler{flex-direction:column;align-items:stretch}.panel.sampler input{color:var(--text)}.tabbar{display:flex;flex-wrap:wrap;gap:var(--sp-1);border-bottom:1px solid var(--border);padding-bottom:2px}.tabbar .tab{background:transparent;border:none;border-bottom:2px solid transparent;border-radius:var(--r-sm) var(--r-sm) 0 0;padding:var(--sp-2) var(--sp-3);margin-bottom:-3px;cursor:pointer;color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-med);transition:color .12s,background .12s,border-color .12s}.tabbar .tab:hover{color:var(--text);background:var(--accent-soft)}.tabbar .tab.active{color:var(--text);border-bottom-color:var(--accent)}.surface{gap:var(--sp-4)}.panel{border-radius:var(--r-lg);box-shadow:var(--e-1)}.panel select,.panel input[type=number],.panel input[type=text]{min-height:var(--control-h);transition:border-color .12s,box-shadow .12s}.panel select:hover,.panel input:hover{border-color:var(--border-strong)}.panel input[type=range]{accent-color:var(--accent)}@media(max-width:760px){.surface{max-width:none;padding:var(--sp-2);padding-bottom:calc(3.6rem + env(safe-area-inset-bottom,0px));gap:var(--sp-3);--chord-gap: .4rem;--chord-btn-w: clamp( 3.4rem, calc((100vw - 2 * var(--sp-2) - 3 * var(--chord-gap)) / 4), 5rem );--chord-upper-offset: calc((var(--chord-btn-w) + var(--chord-gap)) / 2)}.tabbar{position:fixed;inset:auto 0 0 0;z-index:50;flex-wrap:nowrap;gap:2px;justify-content:space-between;background:var(--panel);border-top:1px solid var(--border);border-bottom:none;padding:var(--sp-1) var(--sp-1) calc(var(--sp-1) + env(safe-area-inset-bottom,0px));box-shadow:0 -8px 24px #00000073}.tabbar .tab{flex:1 1 0;min-width:0;text-align:center;border-bottom:none;border-radius:var(--r-sm);margin-bottom:0;padding:var(--sp-2) 2px;font-size:var(--fs-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tabbar .tab.active{background:var(--accent-soft);color:var(--text)}.track-row{grid-template-columns:4.5rem minmax(0,1fr)}.track-row .track-thumb,.track-row .track-actions{grid-column:1 / -1}.track-row button{padding:var(--sp-1) var(--sp-2);font-size:var(--fs-xs)}.looper-head button,.looper-head select{font-size:var(--fs-xs)}.frame-logo,.transport .hint-kbd{display:none}.transport{display:contents}.frame-row{row-gap:var(--sp-2)}.frame-row>*,.transport>*{order:2}.transport .play{order:1}.frame-row .perform-handle{order:3;margin-left:auto}.frame-row .frame-menu-btn{order:4;margin-left:0}.frame-row:after{content:"";order:5;flex-basis:100%;height:0}.frame-row .frame-chip{order:6}.frame-row .frame-nowplaying{order:7}.frame-row .hist-btns{order:8}.transport .loop-bar{order:9;flex:1 1 100%;width:auto}.transport .bpm{font-size:0}.transport .bpm input{font-size:var(--fs-sm);width:3.6rem}.modifier-buttons.desktop-only{display:flex}.panel.synth-builder,.panel.wave-builder,.panel.mod-matrix,.panel.macro-panel,.panel.instrument-browser{min-width:0}.ib-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.panel.instrument-browser{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:var(--sp-3);max-height:460px;overflow-y:auto}.ib-search{width:100%}.ib-group{display:flex;flex-direction:column;gap:var(--sp-2)}.ib-group-head{display:flex;align-items:center;gap:var(--sp-2);margin:0;font-size:var(--fs-sm);font-weight:var(--fw-med);letter-spacing:.02em;color:var(--text)}.ib-dot{width:.6rem;height:.6rem;border-radius:var(--r-pill);background:var(--eng, var(--accent));box-shadow:0 0 8px var(--eng, var(--accent));flex:0 0 auto}.ib-count{margin-left:auto;font-size:var(--fs-xs);color:var(--muted);font-weight:var(--fw-med)}.ib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(146px,1fr));gap:var(--sp-2)}.ib-item{position:relative;display:flex;align-items:center;gap:var(--sp-2);text-align:left;background:var(--panel-2);border:1px solid var(--border);border-left:3px solid var(--eng, var(--accent));border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);cursor:pointer;transition:transform .1s,background .12s,border-color .12s,box-shadow .12s}.ib-item:hover{transform:translateY(-1px);background:var(--panel);box-shadow:var(--e-1)}.ib-item.active{border-color:var(--eng, var(--accent));background:color-mix(in srgb,var(--eng, var(--accent)) 18%,var(--panel-2));box-shadow:0 0 0 1px var(--eng, var(--accent))}.ib-name{flex:1 1 auto;font-size:var(--fs-sm);font-weight:var(--fw-med);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ib-badge{flex:0 0 auto;font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border:1px solid var(--border);border-radius:var(--r-sm);padding:0 var(--sp-1)}.ib-check{flex:0 0 auto;color:var(--eng, var(--accent));font-weight:var(--fw-bold)}.ib-empty{color:var(--muted);font-size:var(--fs-sm);margin:0}.panel.keymap{flex-direction:column;align-items:stretch;gap:var(--sp-2)}.keymap-hint{margin:0;font-size:var(--fs-xs);color:var(--muted)}.keymap-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-1)}.keymap-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--sp-2)}.keymap-action{font-size:var(--fs-sm);color:var(--text)}.keymap-key{font-family:var(--font-mono);font-size:var(--fs-xs);min-width:2.4rem;text-align:center;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-0) var(--sp-1h)}.keymap-set{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-1) var(--sp-2);cursor:pointer;font-size:var(--fs-xs)}.keymap-set.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.keymap-reset{align-self:flex-start;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-1) var(--sp-2);cursor:pointer;font-size:var(--fs-xs);color:var(--muted)}.hint-kbd{font-size:var(--fs-xs);color:var(--muted)}.hint-xbox{height:1.35em;width:auto;vertical-align:middle}.chord-button .key-hint:has(.hint-xbox){border:none;padding:0}.with-hint{display:inline-flex;align-items:center;gap:var(--sp-1h)}.sb-save{display:flex;gap:var(--sp-2);align-items:center}.sb-save input{flex:1 1 auto;min-width:0}.sb-save button{background:var(--accent);color:var(--on-accent);border:none;padding:var(--sp-2) var(--sp-3);font-weight:var(--fw-med);white-space:nowrap}.sb-save .sb-delete{background:transparent;color:var(--rec);border:1px solid var(--border)}.quality-pad-wrap{display:flex;flex-direction:column;gap:var(--sp-1)}.quality-pad{position:relative;width:180px;height:140px;border-radius:var(--r-md);border:1px solid var(--border);background:radial-gradient(circle at center,color-mix(in srgb,var(--accent) 16%,var(--panel-2)),var(--panel-2) 72%);touch-action:none;-webkit-user-select:none;user-select:none;overflow:hidden}.quality-pad:before,.quality-pad:after{content:"";position:absolute;background:var(--border)}.quality-pad:before{left:50%;top:6%;bottom:6%;width:1px}.quality-pad:after{top:50%;left:6%;right:6%;height:1px}.qp-label,.qp-corner{position:absolute;color:var(--muted);font-size:var(--fs-xs);pointer-events:none;white-space:nowrap}.qp-corner{font-size:var(--fs-2xs);opacity:.75}.qp-n{top:4px;left:50%;transform:translate(-50%)}.qp-s{bottom:4px;left:50%;transform:translate(-50%)}.qp-e{right:6px;top:50%;transform:translateY(-50%)}.qp-w{left:6px;top:50%;transform:translateY(-50%)}.qp-ne{top:4px;right:6px}.qp-nw{top:4px;left:6px}.qp-se{bottom:4px;right:6px}.qp-sw{bottom:4px;left:6px}.qp-dot{position:absolute;width:.85rem;height:.85rem;border-radius:var(--r-pill);background:var(--accent);box-shadow:var(--glow);transform:translate(-50%,-50%);pointer-events:none}.mod-pads{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.mod-pad-col{display:flex;flex-direction:column;gap:var(--sp-1)}.pad-caption{font-size:var(--fs-xs);font-weight:var(--fw-med);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.strum-pad{position:relative;width:180px;height:140px;border-radius:var(--r-md);border:1px solid var(--border);background:repeating-linear-gradient(90deg,transparent 0,transparent calc(11.11% - 1px),var(--border) calc(11.11% - 1px),var(--border) 11.11%),linear-gradient(180deg,color-mix(in srgb,var(--on) 18%,var(--panel-2)),var(--panel-2));display:flex;align-items:center;justify-content:center;cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none}.strum-hint{color:var(--muted);font-size:var(--fs-xs);letter-spacing:.18em;pointer-events:none}.strum-line{position:absolute;top:8%;bottom:8%;width:2px;margin-left:-1px;border-radius:1px;background:var(--accent);box-shadow:var(--glow);opacity:0;pointer-events:none;transition:opacity .08s linear}.dial-row,.filter-controls,.lfo-controls{background:linear-gradient(180deg,#0000002e,#0000000d);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3);box-shadow:var(--e-inset)}.module-label{display:flex;align-items:center;gap:var(--sp-2);width:100%;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-family:var(--font-mono)}.module-label:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--group-accent, var(--accent)),transparent 65%);opacity:.45}.knob-control{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);--knob-accent: var(--group-accent, var(--accent))}.knob-label{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.knob{display:block;touch-action:none;cursor:ns-resize;border-radius:50%;outline:none}.knob:focus-visible{box-shadow:0 0 0 2px var(--knob-accent)}.knob-tick{stroke:var(--border-strong);stroke-width:1.4}.knob-trk{stroke:var(--panel-2);stroke-width:6;stroke-linecap:round}.knob-fill{stroke:var(--knob-accent);stroke-width:6;stroke-linecap:round}.knob-cap{fill:#20202c;stroke:var(--border);stroke-width:1}.knob-knurl{stroke:#ffffff0d;stroke-width:1;stroke-dasharray:2 3}.knob-pointer{stroke:var(--knob-accent);stroke-width:3;stroke-linecap:round}.knob-value{font-size:var(--fs-xs);color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.knob-entry{width:4.5rem;font-size:var(--fs-xs);font-family:var(--font-mono);text-align:center;background:var(--panel-2);color:var(--text);border:1px solid var(--accent);border-radius:var(--r-sm);padding:var(--sp-0) var(--sp-1)}.fader-control{display:flex;align-items:center;gap:var(--sp-1h);--fader-accent: var(--group-accent, var(--accent))}.fader-control.vert{flex-direction:column}.fader-label{font-size:var(--fs-xs);color:var(--muted)}.fader-track{position:relative;background:var(--panel-3, var(--panel-2));border:1px solid var(--control-border);border-radius:var(--r-pill);touch-action:none;cursor:pointer}.fader-control.vert .fader-track{width:.9rem;height:7rem}.fader-control.horiz .fader-track{height:.9rem;min-width:7rem;flex:1}.fader-track:focus-visible{outline:none;box-shadow:var(--ring)}.fader-fill{position:absolute;background:var(--fader-accent);opacity:.45;border-radius:var(--r-pill);pointer-events:none}.fader-control.vert .fader-fill{left:0;right:0;bottom:0}.fader-control.horiz .fader-fill{top:0;bottom:0;left:0}.fader-handle{position:absolute;background:var(--text);border:1px solid var(--border-strong);border-radius:3px;box-shadow:var(--e-1);pointer-events:none}.fader-control.vert .fader-handle{left:-.35rem;right:-.35rem;height:.9rem;transform:translateY(50%)}.fader-control.horiz .fader-handle{top:-.35rem;bottom:-.35rem;width:.9rem;transform:translate(-50%)}.fader-value{font-size:var(--fs-xs);color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.panel input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:1.4rem;background:transparent;cursor:pointer}.panel input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(var(--panel-2),#14141b);border:1px solid var(--border);box-shadow:var(--e-inset)}.panel input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:var(--panel-2);border:1px solid var(--border)}.panel input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:13px;height:19px;margin-top:-8px;border-radius:3px;background:linear-gradient(#3a3a4a,#23232e);border:1px solid var(--border-strong);box-shadow:0 1px 2px #0009,inset 0 1px #ffffff26}.panel input[type=range]::-webkit-slider-thumb:hover{border-color:var(--group-accent, var(--accent))}.panel input[type=range]::-moz-range-thumb{width:13px;height:19px;border-radius:3px;background:#2b2b38;border:1px solid var(--border-strong)}.panel input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--group-accent, var(--accent))}.panel label.toggle input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:2rem;height:1.1rem;border-radius:var(--r-pill);background:var(--panel-2);border:1px solid var(--border);position:relative;cursor:pointer;flex:0 0 auto;transition:background .15s,border-color .15s}.panel label.toggle input[type=checkbox]:after{content:"";position:absolute;top:1px;left:1px;width:calc(1.1rem - 4px);height:calc(1.1rem - 4px);border-radius:50%;background:var(--muted);transition:transform .15s,background .15s}.panel label.toggle input[type=checkbox]:checked{background:color-mix(in srgb,var(--group-accent, var(--accent)) 35%,var(--panel-2));border-color:var(--group-accent, var(--accent))}.panel label.toggle input[type=checkbox]:checked:after{transform:translate(.9rem);background:var(--group-accent, var(--accent));box-shadow:0 0 6px var(--group-accent, var(--accent))}.panel label.toggle input[type=checkbox]:focus-visible{box-shadow:0 0 0 2px var(--group-accent, var(--accent))}@media(prefers-reduced-motion:reduce){.panel input[type=range]::-webkit-slider-thumb,.panel label.toggle input[type=checkbox],.panel label.toggle input[type=checkbox]:after{transition:none}}.patchbay{display:block;width:100%;background:linear-gradient(180deg,#00000047,#0000001f);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--e-inset);touch-action:none;--pb-lfo: #4cc2ff;--pb-env: #ffd166}.pb-node{fill:var(--panel-2);stroke:var(--border);stroke-width:1}.pb-label{fill:var(--text);font-size:9px;font-family:var(--font-mono);pointer-events:none}.pb-jack{fill:var(--panel);stroke:var(--border-strong);stroke-width:1.5}.pb-jack-out{cursor:crosshair}.pb-jack-out.pb-lfo{stroke:var(--pb-lfo)}.pb-jack-out.pb-env{stroke:var(--pb-env)}.pb-cable{fill:none;stroke-linecap:round;pointer-events:none}.pb-cable.pb-lfo{stroke:var(--pb-lfo)}.pb-cable.pb-env{stroke:var(--pb-env)}.pb-cable.pb-neg{stroke-dasharray:4 3}.pb-pending{stroke:var(--accent);stroke-width:2;stroke-dasharray:5 4}.pb-hit{fill:none;stroke:transparent;cursor:pointer}.pb-depth{fill:var(--panel);stroke-width:1.5;cursor:ns-resize}.pb-depth.pb-lfo{stroke:var(--pb-lfo)}.pb-depth.pb-env{stroke:var(--pb-env)}.pb-depth-txt{fill:var(--text);font-size:7px;font-family:var(--font-mono);pointer-events:none}.pb-empty{fill:var(--muted);font-size:10px}.tour-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:1000}.tour-ring{position:fixed;border-radius:var(--r-md);border:2px solid var(--accent);box-shadow:0 0 0 9999px #0000008c,0 0 12px var(--accent);pointer-events:none;z-index:1000;transition:left .15s,top .15s,width .15s,height .15s}.tour-card{z-index:1001;width:300px;max-width:calc(100vw - 16px);background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--e-3);padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2)}.tour-card-head{display:flex;align-items:center;justify-content:space-between}.tour-step-count{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums}.tour-close{background:none;border:none;color:var(--muted);font-size:var(--fs-lg);line-height:1;cursor:pointer}.tour-close:hover{color:var(--text)}.tour-title{margin:0;font-size:var(--fs-md);color:var(--text)}.tour-body{margin:0;font-size:var(--fs-sm);color:var(--muted);line-height:var(--lh)}.tour-actions{display:flex;align-items:center;justify-content:space-between;margin-top:var(--sp-1)}.tour-nav{display:flex;gap:var(--sp-2)}.tour-actions button{padding:var(--sp-1) var(--sp-3);color:var(--text);font-size:var(--fs-sm)}.tour-skip{color:var(--muted)!important}.tour-next{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--on-accent)!important}@media(prefers-reduced-motion:reduce){.tour-ring{transition:none}}.daw-editor{display:flex;flex-direction:column;gap:var(--sp-2);width:100%}.daw-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.daw-zoom,.daw-selection{display:inline-flex;gap:var(--sp-1)}.daw-zoom button{min-width:2rem;padding:var(--sp-1) var(--sp-2)}.daw-range-clear{margin-left:auto;font-size:var(--fs-sm)}.daw-scroll{position:relative;display:flex;flex-direction:column;gap:2px;width:100%;overflow-x:auto;padding-bottom:var(--sp-2);border-radius:var(--r-sm)}.daw-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.daw-ruler-row,.daw-lane{display:flex;align-items:stretch}.daw-corner,.daw-head{position:sticky;left:0;z-index:3;flex:0 0 var(--lane-head);width:var(--lane-head);background:var(--panel)}.daw-ruler{position:relative;display:flex;height:1.4rem;color:var(--muted);cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none}.daw-bar{flex:0 0 auto;font-size:var(--fs-2xs);padding-left:2px;border-left:1px solid var(--border);font-variant-numeric:tabular-nums;pointer-events:none}.daw-range{position:absolute;top:0;bottom:0;background:color-mix(in srgb,var(--state-latched) 35%,transparent);border:1px solid var(--state-latched);border-radius:var(--r-xs);pointer-events:none}.daw-range.draft{border-style:dashed}.daw-range-shade{position:absolute;top:0;bottom:0;background:color-mix(in srgb,var(--state-latched) 8%,transparent);pointer-events:none}.daw-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:var(--sp-1);align-items:center;padding:0 var(--sp-1h);border-right:1px solid var(--border)}.daw-head-name{font-size:var(--fs-xs);font-weight:var(--fw-med);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.daw-head-inst{grid-row:2;font-size:var(--fs-2xs);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.daw-head-btns{grid-row:1 / 3;grid-column:2;display:inline-flex;gap:2px}.daw-head-btns button{min-width:1.6rem;padding:var(--sp-0) var(--sp-1);font-size:var(--fs-xs)}.daw-lane.is-muted .clip{opacity:.4}.clip-lane-grid{position:relative;flex:0 0 auto;border:1px solid var(--border);border-radius:var(--r-sm);background:repeating-linear-gradient(90deg,transparent,transparent calc(var(--bar-w, 40px) - 1px),var(--border) calc(var(--bar-w, 40px) - 1px),var(--border) var(--bar-w, 40px)),#0003;cursor:copy}.clip{position:absolute;top:3px;bottom:3px;display:flex;align-items:center;gap:2px;padding:0 10px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--accent) 55%,var(--panel-2));border:1px solid var(--accent);color:var(--on-accent);cursor:grab;overflow:hidden;touch-action:none}.clip:active{cursor:grabbing}.clip.selected{outline:2px solid var(--text);outline-offset:1px;z-index:1}.clip-drums{background:color-mix(in srgb,var(--accent-2) 55%,var(--panel-2));border-color:var(--accent-2)}.clip-audio{background:color-mix(in srgb,var(--warn) 55%,var(--panel-2));border-color:var(--warn)}.clip-thumb{position:absolute;top:2px;right:2px;bottom:2px;left:2px;width:calc(100% - 4px);height:calc(100% - 4px);fill:var(--on-accent);opacity:.55;pointer-events:none}.clip-wave{position:absolute;top:25%;right:2px;bottom:25%;left:2px;background:repeating-linear-gradient(90deg,var(--on-accent) 0 1px,transparent 1px 3px);opacity:.35;pointer-events:none}.clip-empty{background:transparent;border-style:dashed;color:var(--muted)}.clip-playhead{position:absolute;top:0;bottom:var(--sp-2);left:0;width:2px;background:var(--state-playing);box-shadow:var(--glow);z-index:4;pointer-events:none;display:none}.clip-label{position:relative;flex:1;font-size:var(--fs-2xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.clip-trim,.clip-resize{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize}.clip-trim{left:0;background:linear-gradient(270deg,transparent,rgba(255,255,255,.25))}.clip-resize{right:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25))}.empty-state{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3);padding:var(--sp-3);border:1px dashed var(--border-strong);border-radius:var(--r-md);color:var(--muted);font-size:var(--fs-sm)}.games-surface{gap:var(--sp-4)}.game-picker{display:flex;flex-wrap:wrap;gap:var(--sp-4);justify-content:center;margin-top:var(--sp-6)}.game-card{display:flex;flex-direction:column;gap:var(--sp-2);align-items:flex-start;text-align:left;width:14rem;padding:var(--sp-4);background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-lg);cursor:pointer;color:var(--text)}.game-card:hover{border-color:var(--accent)}.game-card strong{font-size:var(--fs-lg)}.game-card small{color:var(--muted)}.game-frame{display:flex;flex-direction:column;gap:var(--sp-3);align-items:center}.game-back{align-self:flex-start;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);padding:var(--sp-1) var(--sp-3);cursor:pointer}.game{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);width:min(100%,640px)}.game-score{display:flex;gap:var(--sp-4);font-variant-numeric:tabular-nums;font-size:var(--fs-md);color:var(--text)}.game-feedback{margin:0;min-height:1.2rem;color:var(--muted)}.game-actions{display:flex;gap:var(--sp-3);align-items:center}.game-actions button{padding:var(--sp-2) var(--sp-4);border-radius:var(--r-md);border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);font-weight:var(--fw-med)}.degree-pad{display:flex;gap:var(--sp-2);flex-wrap:wrap;justify-content:center}.degree-key{width:3.4rem;height:3.4rem;border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--panel-2);color:var(--text);font-size:var(--fs-lg);cursor:pointer}.degree-key:hover:not(:disabled){border-color:var(--accent)}.degree-key:disabled{opacity:.5}.degree-key.wrong{border-color:var(--accent-2);background:color-mix(in srgb,var(--accent-2) 35%,var(--panel-2))}.cr-track{position:relative;width:min(100%,640px);height:80px;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-md);background:linear-gradient(180deg,#00000040,#0000001a)}.cr-hitline{position:absolute;top:0;bottom:0;width:3px;margin-left:-1px;background:var(--accent);box-shadow:var(--glow);z-index:1}.cr-strip{position:absolute;top:0;right:0;bottom:0;left:0;will-change:transform}.cr-prompt{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;margin-left:-1.5rem;border-radius:var(--r-md);background:var(--panel-2);border:1px solid var(--border-strong);color:var(--text);font-size:var(--fs-md)}.cr-prompt.ok{background:color-mix(in srgb,var(--on) 40%,var(--panel-2));border-color:var(--on)}.cr-prompt.bad{background:color-mix(in srgb,var(--accent-2) 40%,var(--panel-2));border-color:var(--accent-2)}
