:root{color-scheme:dark;font-family:system-ui,sans-serif;--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;--fs-xs: .7rem;--fs-sm: .8rem;--fs-md: .9rem;--fs-lg: 1.1rem;--fs-xl: 1.5rem;--lh-tight: 1.15;--lh: 1.4;--fw-med: 600;--fw-bold: 700;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--r-sm: .4rem;--r-md: .5rem;--r-lg: .75rem;--r-pill: 999px;--e-1: 0 1px 2px rgba(0, 0, 0, .3);--e-2: 0 8px 24px rgba(0, 0, 0, .45);--ring: 0 0 0 2px var(--accent);--rec: #ff5c5c;--solo: #ffd166;--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}: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:1rem}.boot h1{font-size:3rem;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:1rem;padding:1rem 2rem;font-size:1.1rem;border-radius:.75rem;border:1px solid var(--border);background:var(--panel-2);cursor:pointer}.boot-toggle{display:flex;flex-direction:column;align-items:center;gap:.25rem;margin-top:.5rem;color:var(--text)}.boot-toggle input{margin-right:.4rem}.boot-toggle small{color:var(--muted);font-size:.75rem}.boot-prompt{margin-top:.5rem;color:var(--text);font-weight:600}.boot-version{color:var(--muted);font-size:.75rem;margin-top:-.5rem}.boot-workspaces{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;width:min(640px,90vw)}.boot-workspaces button{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.85rem 1rem;text-align:left;border:1px solid var(--border);border-radius:.75rem;background:var(--panel-2);color:var(--text);cursor:pointer}.boot-workspaces button strong{font-size:1rem}.boot-workspaces button small{color:var(--muted);font-size:.75rem;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:.4rem;color:var(--muted);font-size:var(--fs-sm, .85rem)}.surface{max-width:1100px;margin:0 auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.app-header h1{margin:0;font-size:1.5rem;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.play-area,.rack{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start}.rack>.panel{flex:1 1 260px;min-width:0}.panel{background:var(--panel);border:1px solid var(--border);border-radius:.75rem;padding:.75rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.panel label{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:var(--muted)}.panel label.toggle{flex-direction:row;align-items:center;color:var(--text)}.panel select,.panel input[type=number]{background:var(--panel-2);border:1px solid var(--border);border-radius:.4rem;padding:.35rem .5rem}.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:.7rem}.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-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:#fff}.panel.features{flex-direction:column;align-items:stretch}.features-head{display:flex;justify-content:space-between;align-items:center;font-size:.8rem}.features-head button{background:var(--panel-2);border:1px solid var(--border);border-radius:.4rem;padding:.2rem .5rem;cursor:pointer;font-size:.7rem}.features-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.features-list .toggle{flex-direction:row;align-items:center;gap:.4rem;color:var(--text);font-size:.75rem}.feature-tag{margin-left:auto;font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);border:1px solid var(--border);border-radius:.3rem;padding:0 .3rem}.panel.assist{flex-direction:column;align-items:stretch;gap:.6rem}.assist-section{display:flex;flex-direction:column;gap:.35rem}.assist-label{font-size:.7rem;color:var(--muted)}.chip-row{display:flex;flex-wrap:wrap;gap:.4rem}.chord-chip{display:flex;flex-direction:column;align-items:center;gap:.1rem;background:var(--panel-2);border:1px solid var(--border);border-radius:.5rem;padding:.35rem .55rem;cursor:pointer;min-width:3.5rem}.chip-name{font-size:.8rem;color:var(--text)}.chip-roman{font-size:.65rem;color:var(--muted)}.assist-generate{align-self:flex-start;background:var(--accent);border:none;border-radius:.5rem;padding:.4rem .7rem;cursor:pointer;font-weight:600;color:#fff}.visualizer{width:100%;height:80px;background:var(--panel);border:1px solid var(--border);border-radius:.75rem;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:.5rem;padding:.4rem .7rem;cursor:pointer}.transport .metronome.active{background:var(--accent);border-color:var(--accent);color:#fff}.panel.sequencer{flex-direction:column;align-items:stretch;gap:.5rem}.seq-head{display:flex;gap:.5rem}.seq-steps{display:flex;flex-wrap:wrap;gap:.4rem}.seq-step{display:flex;flex-direction:column;align-items:center;gap:.15rem;width:3.5rem}.seq-chord{font-size:.65rem;color:var(--muted);height:.9rem}.panel.midi{flex-direction:column;align-items:stretch}.panel.playmode{flex-wrap:wrap;gap:.75rem}.adsr-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%}.panel.filter{flex-direction:column;align-items:stretch}.filter-head{display:flex;justify-content:space-between;align-items:center;font-size:.8rem}.filter-note{font-size:.7rem;color:var(--muted)}.filter-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.filter-controls input[type=range]{width:9rem}.panel.lfo{flex-direction:column;align-items:stretch}.lfo-head{display:flex;justify-content:space-between;align-items:baseline;font-size:.8rem}.lfo-target{font-size:.7rem;color:var(--muted)}.lfo-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.lfo-controls input[type=range]{width:9rem}.lfo-card{display:flex;flex-direction:column;gap:.5rem;border-top:1px solid var(--border);margin-top:.5rem;padding-top:.5rem}.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:.8rem}.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:.4rem;font-size:.7rem;color:var(--muted)}.controller-status.on{color:var(--on)}.controller-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}.controller-legend li{display:flex;justify-content:space-between;gap:.75rem;font-size:.7rem}.controller-legend .ctl{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem;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:.35rem;color:var(--text);font-size:.72rem;padding:.25rem .5rem;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:1rem}.controller-help{background:var(--panel);border:1px solid var(--border);border-radius:.6rem;padding:.8rem 1rem;max-width:460px;width:100%;max-height:80vh;overflow:auto;box-shadow:0 10px 40px #00000080}.controller-help-head{display:flex;align-items:center;justify-content:space-between;font-weight:600;margin-bottom:.6rem}.controller-help-close{background:none;border:none;color:var(--muted);font-size:1.3rem;line-height:1;cursor:pointer}.controller-help-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.controller-help-row{display:flex;align-items:center;gap:.6rem}.controller-help-icons{display:flex;align-items:center;flex-wrap:wrap;gap:.15rem;flex:none;width:7.5rem}.controller-help-desc{font-size:.78rem;color:var(--text)}.panel.settings{flex-direction:column;align-items:stretch}.panel.settings label{width:100%}.panel.settings label.toggle{flex-wrap:wrap;gap:.25rem .5rem}.panel.settings small{flex-basis:100%;color:var(--muted);font-size:.7rem;font-weight:400}.settings-version{margin:.3rem 0 0;padding-top:.4rem;border-top:1px solid var(--border);color:var(--muted);font-size:.75rem}.settings-changelog{display:flex;flex-direction:column;gap:.3rem;width:100%}.changelog-entry{border:1px solid var(--border);border-radius:var(--r-md);background:var(--panel-2);padding:.35rem .55rem}.changelog-entry>summary{display:flex;align-items:center;gap:.5rem;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:.6rem;text-transform:uppercase;letter-spacing:.05em;font-weight:var(--fw-bold);color:#fff;background:var(--accent-2);border-radius:var(--r-sm);padding:.05rem .35rem}.changelog-entry ul{margin:.4rem 0 .1rem;padding-left:1.1rem;display:flex;flex-direction:column;gap:.2rem}.changelog-entry li{font-size:var(--fs-xs);color:var(--muted)}.changelog-previous-list{display:flex;flex-direction:column;gap:.15rem;margin-top:.4rem}.changelog-previous-list .changelog-entry{border:none;background:transparent;padding:.15rem .1rem}.changelog-previous>summary .changelog-version{color:var(--muted)}.transport{display:flex;align-items:center;gap:.75rem}.transport .play,.drum-head .play{background:var(--accent);border:none;border-radius:.5rem;padding:.5rem .9rem;cursor:pointer;font-weight:600}.transport .bpm{display:flex;flex-direction:column;font-size:.7rem;color:var(--muted)}.transport .bpm input{width:4.5rem;background:var(--panel-2);border:1px solid var(--border);border-radius:.4rem;padding:.25rem .4rem}.loop-bar{width:140px;height:8px;border-radius:999px;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))}.song-controls{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.song-controls input,.song-controls select,.song-controls button{background:var(--panel-2);border:1px solid var(--border);border-radius:.4rem;padding:.35rem .55rem;cursor:pointer}.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:.5rem;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:1rem;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:.3rem;padding:.6rem .3rem;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:0 0 12px #6c5cff80}.chord-button .chord-degree{font-size:.8rem;font-weight:700;color:var(--accent);letter-spacing:.04em}.chord-button.color .chord-degree{color:var(--muted)}.chord-button .chord-name{font-size:1rem;font-weight:600;color:var(--accent-2)}.chord-button.color .chord-name{color:var(--text)}.chord-button .key-hint{font-size:.7rem;color:var(--muted);border:1px solid var(--border);border-radius:.3rem;padding:.05rem .4rem}.modifiers{flex:1 1 100%;flex-direction:column;align-items:flex-start;gap:var(--sp-3)}.modifier-buttons{display:flex;gap:.4rem;flex-wrap:wrap}.mod{background:var(--panel-2);border:1px solid var(--border);border-radius:.5rem;padding:.5rem .75rem;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}.touch-only{display:block}}.looper{flex-direction:column;align-items:stretch}.looper-head{display:flex;align-items:center;gap:.4rem;margin-bottom:.25rem}.looper-title{flex:1;font-size:.8rem;color:var(--muted)}.looper-head button{background:var(--panel-2);border:1px solid var(--border);border-radius:.4rem;padding:.3rem .5rem;cursor:pointer;font-size:.75rem}.track-row .remove{margin-left:auto;color:var(--muted)}.fx-target{flex-direction:row!important;align-items:center;gap:.4rem;width:100%}.fx-target select{flex:1}.track-row{display:flex;align-items:center;gap:.4rem;border:1px solid transparent;border-radius:.4rem}.track-row.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.track-row .track-label{width:3.5rem;flex:none;font-size:.8rem;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:.4rem;padding:.35rem .3rem;text-align:left;cursor:pointer}.track-row.selected .track-label{color:var(--text)}.track-instrument{flex:1;min-width:0;font-size:.8rem;background:var(--panel-2);border:1px solid var(--border);border-radius:.4rem;padding:.3rem .4rem;color:var(--text)}.track-instrument.muted{background:transparent;border-color:transparent;color:var(--muted)}.track-row button{background:var(--panel-2);border:1px solid var(--border);border-radius:.4rem;padding:.35rem .6rem;cursor:pointer}.track-row button:disabled{opacity:.4;cursor:default}.rec.recording{background:var(--accent-2);border-color:var(--accent-2);animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.55}}.mixer{flex-direction:column;align-items:stretch}.mixer-title{font-size:.8rem;color:var(--muted);margin-bottom:.25rem}.mixer-rows{display:flex;flex-direction:column;gap:.3rem}.mixer-row{display:flex;align-items:center;gap:.4rem}.mixer-name{width:5rem;flex:none;font-size:.75rem;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:.4rem;padding:.3rem 0;cursor:pointer;font-size:.75rem;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:.3rem;padding-top:.4rem;border-top:1px solid var(--border);flex-wrap:wrap}.mixer-master-note{font-size:.7rem;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:1rem;border-left:1px solid var(--border);padding-left:.4rem}.drum-voice-mix>summary{font-size:.75rem;color:var(--muted);cursor:pointer;padding:.2rem 0}.theory-overlay{flex:1 1 100%;display:flex;align-items:baseline;justify-content:center;gap:.6rem;min-height:1.6rem}.theory-overlay.idle{color:var(--muted)}.theory-numeral{font-size:1.1rem;font-weight:600;color:var(--accent);min-width:2.5rem}.theory-name{font-size:.95rem;color:var(--text)}.theory-fn{font-size:.75rem;color:var(--muted)}.theory-hint{font-size:.8rem}.adsr{flex-direction:column;align-items:stretch}.adsr-title{font-size:.8rem;color:var(--muted)}.adsr label{flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;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:.75rem;color:var(--text)}.fx input[type=range]{flex:1}.drums{flex-direction:column;align-items:stretch}.drum-head{display:flex;gap:.5rem;align-items:center}.drum-head select{background:var(--panel-2);border:1px solid var(--border);border-radius:.4rem;padding:.35rem .5rem}.drum-generate{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.drum-hint{margin:.1rem 0 0;font-size:.68rem;line-height:1.4;color:var(--muted)}.drum-hint strong{color:var(--text);font-weight:600}.drum-generate select{background:var(--panel-2);border:1px solid var(--border);border-radius:.4rem;padding:.3rem .45rem;font-size:.8rem}.drum-bank{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}.drum-bank-chip,.drum-bank-op{min-width:2rem;padding:.3rem .5rem;font-size:.8rem;border:1px solid var(--border);border-radius:.4rem;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-pads{display:flex;gap:.4rem;flex-wrap:wrap}.pad{flex:1 1 0;min-width:3.5rem;padding:.75rem .4rem;background:linear-gradient(var(--panel-2),var(--panel));border:1px solid var(--border);border-radius:.5rem;cursor:pointer;touch-action:none}.pad:active{background:var(--accent)}.drum-seq{display:flex;align-items:flex-start;gap:.5rem;overflow-x:auto;min-width:0;max-width:100%}.seq-labels{display:flex;flex-direction:column;justify-content:space-between;height:var(--seq-h, 150px);padding:2px 0;font-size:.62rem;color:var(--muted)}.seq-grid{position:relative;line-height:0}.seq-grid .step-playhead{position:absolute;top:0;height:var(--seq-h, 150px);background:#ff5c8a2e;border-left:2px solid var(--accent-2);pointer-events:none;transition:opacity .1s}.seq-locks{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.seq-lock-dot{position:absolute;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 3px var(--accent-2)}.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:.35rem;padding:.55rem .6rem;background:var(--panel-2);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 8px 24px #00000073;font-size:.72rem}.seq-plock-head{display:flex;align-items:center;justify-content:space-between}.seq-plock-head button{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.85rem}.seq-plock label{display:grid;grid-template-columns:2.6rem 1fr;align-items:center;gap:.3rem;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:.2rem;background:var(--panel);border:1px solid var(--border);border-radius:.4rem;padding:.3rem;color:var(--text);cursor:pointer}.dial-row{display:flex;gap:1rem;flex-wrap:wrap}.nexus-control{display:flex;flex-direction:column;align-items:center;gap:.25rem}.nexus-label{font-size:.7rem;color:var(--muted)}.nexus-value{font-size:.6rem;color:var(--text);font-variant-numeric:tabular-nums}.modifier-pad{display:flex;flex-direction:column;align-items:center;gap:.35rem}.nexus-xy{border:1px solid var(--border);border-radius:.6rem;overflow:hidden;line-height:0}.pad-axes{display:flex;flex-direction:column;gap:.1rem;text-align:center;font-size:.6rem;color:var(--muted)}.panel.synth-builder{flex-direction:column;align-items:stretch;min-width:16rem}.sb-title{font-weight:600;font-size:.85rem}.sb-hint{margin:0;font-size:.7rem;color:var(--muted)}.sb-section{display:flex;flex-direction:column;gap:.4rem}.sb-section-head{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:.25rem}.sb-add{display:flex;gap:.3rem}.sb-add button{background:var(--panel-2);border:1px solid var(--border);border-radius:.4rem;padding:.2rem .45rem;color:var(--text);cursor:pointer;font-size:.7rem}.sb-add button:hover{border-color:var(--accent)}.sb-row{display:flex;align-items:center;gap:.5rem}.sb-node-kind{font-size:.7rem;color:var(--muted);width:2.6rem}.sb-row select{flex:1;background:var(--panel-2);border:1px solid var(--border);border-radius:.4rem;padding:.3rem .4rem;color:var(--text);font-size:.75rem}.sb-remove{background:transparent;border:1px solid var(--border);border-radius:.4rem;color:var(--muted);cursor:pointer;padding:.15rem .4rem;font-size:.7rem}.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:.5rem;touch-action:none;cursor:crosshair}.wb-draw{cursor:pencil}.wb-presets{flex-wrap:wrap}.wt-morph{display:flex;flex-wrap:wrap;gap:.5rem}.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:.3rem}.mm-source-chip{display:inline-flex;align-items:center;gap:.3rem;background:var(--panel-2);border:1px solid var(--border);border-radius:.4rem;padding:.15rem .4rem;font-size:.7rem}.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:.5rem;padding:.4rem;display:flex;flex-direction:column;gap:.3rem}.macro-head{display:flex;align-items:center;gap:.5rem}.macro-name{flex:1;background:var(--panel-2);border:1px solid var(--border);border-radius:.4rem;padding:.3rem .4rem;color:var(--text);font-size:.75rem}.macro-num{width:4rem;background:var(--panel-2);border:1px solid var(--border);border-radius:.4rem;padding:.25rem;color:var(--text);font-size:.7rem}.macro-route select{flex:1;min-width:4rem}.panel-title{font-size:.8rem;color:var(--muted);width:100%;margin-bottom:.1rem}.panel.midi-learn{flex-direction:column;align-items:stretch}.midi-learn-add,.midi-learn-arm{display:flex;align-items:center;gap:.4rem;font-size:.75rem}.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:.25rem}.midi-learn-list li{display:flex;align-items:center;gap:.4rem;font-size:.72rem}.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 .2rem}.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:.35rem}.pr-tools{display:flex;flex-wrap:wrap;gap:.25rem}.pr-tools button{background:var(--panel-2);border:1px solid var(--border);border-radius:.35rem;color:var(--text);font-size:.7rem;padding:.2rem .4rem;cursor:pointer}.pr-scroll{overflow:auto;max-height:240px;min-width:0;border:1px solid var(--border);border-radius:.4rem;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:.55rem;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 #fff}.panel.automation{flex-direction:column;align-items:stretch}.auto-add{display:flex;gap:.4rem}.auto-add select{flex:1;min-width:6rem}.auto-lane{display:flex;flex-direction:column;gap:.2rem;margin-top:.4rem}.auto-lane-head{display:flex;align-items:center;gap:.4rem;font-size:.72rem}.auto-lane-head .toggle{flex:1}.auto-svg{border:1px solid var(--border);border-radius:.4rem;cursor:crosshair}.auto-bg{fill:var(--panel-2)}.auto-line{fill:none;stroke:var(--accent);stroke-width:1.5}.auto-pt{fill:#fff;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:.4rem}.arr-sections{display:flex;flex-direction:column;gap:.4rem;margin-top:.4rem}.arr-section{border:1px solid var(--border);border-radius:.4rem;padding:.4rem;background:var(--panel-2);display:flex;flex-direction:column;gap:.3rem}.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:.3rem}.arr-name{flex:1;min-width:4rem;background:var(--panel);border:1px solid var(--border);border-radius:.35rem;color:var(--text);padding:.2rem .35rem;font-size:.75rem}.arr-bars{flex-direction:row!important;align-items:center;gap:.2rem;font-size:.65rem}.arr-bars input{width:3rem}.arr-mutes{display:flex;flex-wrap:wrap;gap:.4rem}.arr-mute{font-size:.68rem}.arr-section-foot{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.arr-bank{flex-direction:row!important;align-items:center;gap:.2rem;font-size:.65rem}.arr-meta{font-size:.65rem;color:var(--muted);margin-left:auto}.seq-plock-cond select{width:100%}.arranger-window{padding:1rem;color:var(--text);font-family:inherit}.arranger-window h1{font-size:1.1rem;margin:0 0 .5rem}.aw-head{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.aw-transport{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.aw-transport button,.aw-section button{background:var(--panel-2);border:1px solid var(--border);border-radius:.4rem;color:var(--text);padding:.25rem .5rem;cursor:pointer}.aw-transport button.active{background:var(--accent);color:#fff}.aw-sections{display:flex;flex-direction:column;gap:.5rem}.aw-section{border:1px solid var(--border);border-radius:.5rem;padding:.5rem;background:var(--panel);display:flex;flex-direction:column;gap:.4rem}.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:.4rem}.aw-section-head>input[type=text],.aw-section-head>input:not([type]){flex:1}.aw-mutes{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.75rem}.panel.tuner{flex-direction:column;align-items:stretch}.tuner-readout{display:flex;align-items:baseline;gap:.5rem;justify-content:center}.tuner-note{font-size:2rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text)}.tuner-cents{font-size:.85rem;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{background:var(--panel-2);border:1px solid var(--border);border-radius:.4rem;padding:.3rem .45rem;color:var(--text)}.rack{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:.75rem}.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)}.rack-group{display:flex;flex-direction:column;gap:var(--sp-3)}.rack-group[hidden]{display:none}.rack-section{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--e-1);overflow:hidden}.rack-section__head{display:flex;align-items:center;gap:var(--sp-2);width:100%;background:var(--panel-2);border:none;border-bottom:1px solid var(--border);padding:var(--sp-2) var(--sp-3);cursor:pointer;text-align:left;color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-med);letter-spacing:.02em;transition:background .12s}.rack-section__head:hover{background:color-mix(in srgb,var(--panel-2) 85%,var(--accent) 15%)}.rack-section[data-open=false] .rack-section__head{border-bottom:none}.rack-section__chevron{color:var(--accent);font-size:var(--fs-xs);width:.8rem;text-align:center}.rack-section__body{padding:0}.rack-section__body>.panel,.rack-section__body>.song-controls{border:none;border-radius:0;background:transparent;width:100%;box-shadow:none}.rack-section .panel-title{display:none}.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],.rack-section__body select,.rack-section__body input[type=number],.rack-section__body input[type=text]{background:var(--control-bg);border:1px solid var(--control-border);border-radius:var(--r-sm);padding:.35rem .5rem;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 )}.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)}.rack-section{border-radius:var(--r-md)}.transport{flex-wrap:wrap}.transport .loop-bar{flex:1 1 8rem}.mod-pads{display:grid;grid-template-columns:1fr 1fr}.quality-pad,.strum-pad{width:100%;height:auto;aspect-ratio:180 / 140}.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:.6rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border:1px solid var(--border);border-radius:var(--r-sm);padding:0 .3rem}.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:ui-monospace,monospace;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:.15rem .4rem}.keymap-set{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:.2rem .6rem;cursor:pointer;font-size:var(--fs-xs)}.keymap-set.active{background:var(--accent);border-color:var(--accent);color:#fff}.keymap-reset{align-self:flex-start;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:.3rem .6rem;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:.35rem}.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:#fff;border:none;border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);cursor:pointer;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:.62rem;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:0 0 10px var(--accent);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:0 0 8px var(--accent);opacity:0;pointer-events:none;transition:opacity .08s linear}.rack-group{--group-accent: var(--accent)}.rack-group[data-group=play]{--group-accent: #38d39f}.rack-group[data-group=sound]{--group-accent: #6c5cff}.rack-group[data-group=rhythm]{--group-accent: #ff5c8a}.rack-group[data-group=arrange]{--group-accent: #4cc2ff}.rack-group[data-group=mix]{--group-accent: #ff9f43}.rack-group[data-group=io]{--group-accent: #5ee0c0}.rack-group[data-group=song]{--group-accent: #9aa0b5}.rack-section__head{border-left:3px solid var(--group-accent, var(--accent))}.rack-section__chevron{color:var(--group-accent, var(--accent))}.rack-section__title{text-transform:uppercase;letter-spacing:.08em;font-size:var(--fs-xs);font-weight:var(--fw-bold)}.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:inset 0 1px 3px #00000059}.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:ui-monospace,SFMono-Regular,Menlo,monospace}.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:.2rem;--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:ui-monospace,SFMono-Regular,Menlo,monospace;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:inset 0 1px 2px #00000080}.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:inset 0 1px 4px #0006;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:ui-monospace,SFMono-Regular,Menlo,monospace;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:ui-monospace,SFMono-Regular,Menlo,monospace;pointer-events:none}.pb-empty{fill:var(--muted);font-size:10px}.tour-btn{width:1.7rem;height:1.7rem;border-radius:50%;border:1px solid var(--border-strong);background:var(--panel-2);color:var(--muted);font-weight:var(--fw-bold);cursor:pointer;flex:0 0 auto}.tour-btn:hover{color:var(--text);border-color:var(--accent)}.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:0 10px 30px #00000080;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);border-radius:var(--r-sm);border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer;font-size:var(--fs-sm)}.tour-actions button:disabled{opacity:.4;cursor:default}.tour-skip{color:var(--muted)!important}.tour-next{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}@media(prefers-reduced-motion:reduce){.tour-ring{transition:none}}.clip-timeline{display:flex;flex-direction:column;gap:2px;width:100%;overflow-x:auto;padding-bottom:var(--sp-2)}.clip-ruler{display:flex;margin-left:72px;color:var(--muted)}.clip-bar{flex:0 0 auto;font-size:.6rem;text-align:left;padding-left:2px;border-left:1px solid var(--border);font-variant-numeric:tabular-nums}.clip-lane{display:flex;align-items:center}.clip-lane-label{position:sticky;left:0;z-index:1;flex:0 0 72px;width:72px;font-size:var(--fs-xs);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:var(--sp-1);background:var(--panel)}.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 39px,var(--border) 39px,var(--border) 40px),#0003;cursor:copy}.clip{position:absolute;top:3px;bottom:3px;display:flex;align-items:center;gap:2px;padding:0 14px 0 4px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--accent) 55%,#1a1a24);border:1px solid var(--accent);color:#fff;cursor:grab;overflow:hidden;touch-action:none}.clip:active{cursor:grabbing}.clip-drums{background:color-mix(in srgb,var(--accent-2) 55%,#1a1a24);border-color:var(--accent-2)}.clip-audio{background:color-mix(in srgb,#ff9f43 55%,#1a1a24);border-color:#ff9f43}.clip-label{flex:1;font-size:.62rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.clip-chip{flex:0 0 auto;width:1rem;height:1rem;line-height:1;font-size:.6rem;border:none;border-radius:3px;background:#0000004d;color:#fff;cursor:pointer;opacity:0}.clip:hover .clip-chip{opacity:.85}.clip-resize{position:absolute;right:0;top:0;bottom:0;width:9px;cursor:ew-resize;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25))}.clip-hint{color:var(--muted);margin-top:var(--sp-1)}.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:#fff;cursor:pointer;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:0 0 8px var(--accent);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)}
