@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Space+Grotesk:wght@500;600;700&display=swap";:root{color:#181817;font-synthesis:none;--surface:#deded9;--surface-deep:#d2d2cc;--ink:#181817;--muted:#73736e;--panel-focused:#e4e4df;--card:#eeeeea;--card-deep:#d7d7d2;--border-soft:#aaa9a4;--edge:#c3c3bd;--highlight:#fff;--shadow-step:#a7a7a1;--key-white:#eeeeea;--key-white-edge:#d0d0ca;--grid:#a6a6a0;--sheet:#deded9;--text-secondary:#3c3c38;--drums:#e6cc17;--output:#f3228a;--bass:#ff5b10;--lead:#265ce8;--chords:#9229d8;--solo:#00a663;--line:2px;--radius:6px;background:#1b1b1a;font-family:Space Grotesk,Avenir,system-ui,sans-serif}*{box-sizing:border-box}body{background:#1b1b1a;min-width:0;margin:0;overflow-x:hidden}button,input,select{font:inherit;color:inherit}button,select,summary,input[type=range]{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{filter:brightness(.9);outline:0}.app-viewport{color:var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;margin:16px auto 30px;position:relative}.app-viewport[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface:#252623;--surface-deep:#1e1f1d;--ink:#f0efe8;--muted:#aaa9a2;--panel-focused:#2e302d;--card:#343532;--card-deep:#2b2c29;--border-soft:#595a55;--edge:#3f403b;--highlight:#50514c;--shadow-step:#111210;--key-white:#353632;--key-white-edge:#252623;--grid:#6e706a;--sheet:#242522;--text-secondary:#cbc9c0;--drums:#f3db23;--output:#ff3b98;--bass:#ff7040;--lead:#4f7cf2;--chords:#ad5ee4;--solo:#19bd7a}.mc-page{transform-origin:0 0;width:1440px;margin:0}.console{aspect-ratio:1.58;border:var(--line) solid var(--ink);background:var(--surface);grid-template-rows:repeat(100,1fr);grid-template-columns:repeat(100,1fr);width:100%;min-height:900px;display:grid;overflow:hidden;box-shadow:0 8px #0e0e0d,0 15px 24px #0007}.deck-section,.instrument{background:var(--surface);min-width:0;min-height:0;box-shadow:inset 0 1px 0 var(--highlight);position:relative}.deck-section{border-right:var(--line) solid var(--ink);border-bottom:var(--line) solid var(--ink);grid-area:1/1/50/74}.drums{--accent:var(--drums);border-bottom:var(--line) solid var(--ink);grid-area:1/74/50/101}.output{--accent:var(--output);border-right:var(--line) solid var(--ink);border-bottom:var(--line) solid var(--ink);grid-area:50/1/66/58}.bass{--accent:var(--bass);border-bottom:var(--line) solid var(--ink);grid-area:50/58/73/101}.lead{--accent:var(--lead);border-right:var(--line) solid var(--ink);grid-area:66/1/101/58}.chords{--accent:var(--chords);grid-area:73/58/101/101}.deck-section{grid-template-rows:minmax(0,1fr) 78px;grid-template-columns:122px minmax(0,1fr) 122px;display:grid}.project-rail,.deck-rail{flex-direction:column;grid-row:1;align-items:center;padding:18px 8px;display:flex}.project-rail{border-right:1px solid var(--border-soft);box-shadow:inset -3px 0 0 var(--edge);grid-column:1}.deck-rail{border-left:1px solid var(--border-soft);box-shadow:inset 3px 0 0 var(--edge);grid-column:3}.wordmark{letter-spacing:-.08em;padding:3px 4px 2px;font-size:2rem;font-weight:700;line-height:.9}.deck-toggle{flex:1;width:100%;min-width:0;min-height:0;margin:18px 0 10px;font:600 .72rem DM Mono,monospace;position:relative}.deck-toggle>span{z-index:2;background:var(--surface);place-items:center;width:18px;height:18px;display:grid;position:absolute;left:50%;transform:translate(-50%)}.deck-toggle>span:first-child{top:0}.deck-toggle>span:last-child{bottom:0}.deck-toggle input{appearance:none;transform-origin:50%;background:0 0;width:170px;height:48px;margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-90deg)}.deck-toggle input::-webkit-slider-runnable-track{background:#969690;border-radius:10px;height:18px;box-shadow:inset 0 3px #72726d,inset 0 -2px #b6b6b0}.deck-toggle input::-webkit-slider-thumb{appearance:none;background:var(--output);border:0;border-radius:24px;width:34px;height:48px;margin-top:-15px;box-shadow:inset 0 2px #ff61ac,0 4px #8e0d4b,0 7px 7px #0004}.deck-toggle.agent-moving input{filter:drop-shadow(0 0 6px var(--output))}.deck-toggle.agent-moving:after{content:"AI";color:#fff;background:var(--output);border-radius:2px;margin:0 0 0 53px;padding:2px 3px;font:.42rem DM Mono,monospace;position:absolute}.effect-switch{border:var(--line) solid var(--ink);border-radius:var(--radius);background:var(--card);width:92px;min-height:42px;box-shadow:inset 0 1px 0 var(--highlight), 0 3px 0 var(--shadow-step);margin-bottom:14px;font-family:DM Mono,monospace;position:relative}.effect-switch summary{grid-template-columns:1fr auto;align-items:center;gap:3px 5px;min-height:38px;padding:5px 7px;list-style:none;display:grid}.effect-switch summary::-webkit-details-marker{display:none}.effect-switch span{color:var(--muted);letter-spacing:.06em;grid-column:1/-1;font-size:.42rem}.effect-switch strong{color:var(--output);text-overflow:ellipsis;font-size:.5rem;overflow:hidden}.effect-switch i{font-size:.72rem;font-style:normal}.switch-menu{z-index:50;border:var(--line) solid var(--ink);border-radius:var(--radius);background:var(--card);width:92px;padding:4px;display:grid;position:absolute;bottom:calc(100% + 6px);left:-2px;box-shadow:0 8px 12px #0005}.switch-rail .switch-menu{bottom:0;left:auto;right:calc(100% + 8px)}.switch-menu button{text-align:left;background:0 0;border:0;padding:6px;font:.5rem DM Mono,monospace}.switch-menu button:hover{color:#fff;background:var(--output)}.platters{grid-column:2;grid-template-columns:1fr 1fr;align-items:center;padding:7px 0 4px;display:grid;position:relative}.deck{place-items:center;min-width:0;display:grid;position:relative}.deck-clear{border:1px solid var(--ink);border-radius:var(--radius);background:var(--card);width:100%;height:30px;color:var(--ink);box-shadow:inset 0 1px 0 var(--highlight), 0 3px 0 var(--shadow-step);place-items:center;padding:3px 2px;font:600 .34rem/1.05 DM Mono,monospace;display:grid}.deck-clear span{white-space:nowrap;font-size:.4rem}.deck-clear b{color:var(--muted);font-size:.52rem}.deck-clear:hover:not(:disabled),.deck-clear:focus-visible{color:#fff;background:var(--output)}.deck-clear:disabled{cursor:not-allowed;opacity:.28}.platter{aspect-ratio:1;border:var(--line) solid var(--ink);outline:1px solid var(--border-soft);outline-offset:-9px;background:var(--surface);width:330px;box-shadow:inset 0 0 0 5px var(--edge), 0 5px 0 var(--shadow-step), 0 9px 11px #0003;border-radius:50%;position:relative;overflow:hidden}.platter:after{z-index:4;border:var(--line) solid var(--lead);opacity:var(--deck-active);pointer-events:none;content:"";border-radius:50%;position:absolute;inset:0}.platter-rotor{will-change:transform;border-radius:50%;position:absolute;inset:0}.radial{z-index:2;background:var(--ink);opacity:.75;position:absolute}.radial-top,.radial-bottom{width:var(--line);height:27%;left:50%;transform:translate(-50%)}.radial-left,.radial-right{width:27%;height:var(--line);top:50%;transform:translateY(-50%)}.radial-top{top:7%}.radial-bottom{bottom:7%}.radial-left{left:7%}.radial-right{right:7%}.platter-arcs{z-index:3;width:calc(100% - 20px);height:calc(100% - 20px);position:absolute;inset:10px;overflow:visible}.platter-arcs path{fill:none;stroke-width:3px;stroke-linecap:round}.lane-lead path{stroke:var(--lead)}.lane-drums path{stroke:var(--drums)}.lane-bass path{stroke:var(--bass)}.lane-chords path{stroke:var(--chords);stroke-width:5px}.platter-arcs .lane-off{filter:grayscale();opacity:.16}.arc-chord{fill:#fff;stroke:none;letter-spacing:.15px;paint-order:stroke;font:700 3.3px DM Mono,monospace}.deck-meta{z-index:20;grid-template-rows:repeat(5,minmax(0,1fr)) 30px;gap:7px;width:106px;height:260px;font-family:DM Mono,monospace;display:grid;position:absolute;bottom:14px;left:-114px}.deck-clear-controls{grid-template-columns:repeat(2,1fr);place-items:center;gap:7px;display:grid}.deck-meta>button,.deck-meta>label,.deck-meta>.deck-setting{border:1px solid var(--ink);border-radius:var(--radius);background:var(--card);text-align:left;width:100%;box-shadow:inset 0 1px 0 var(--highlight), 0 3px 0 var(--shadow-step), 0 5px 5px #0002;grid-template-columns:1fr auto;align-items:center;padding:8px 7px;display:grid}.deck-meta>.theme-setting{color:var(--muted);letter-spacing:.03em;grid-template-columns:auto 1fr auto;justify-items:center;gap:6px;padding-inline:8px;font:600 .4rem DM Mono,monospace}.theme-setting span.active{color:var(--ink)}.theme-setting i{border:1px solid var(--border-soft);background:var(--surface-deep);border-radius:8px;width:32px;height:14px;position:relative;box-shadow:inset 0 2px #0004}.theme-setting i:after{background:var(--ink);content:"";border-radius:50%;width:8px;height:8px;transition:transform .12s;position:absolute;top:2px;left:2px}.app-viewport[data-theme=dark] .theme-setting i:after{transform:translate(18px)}.deck-setting{padding:0;position:relative}.deck-setting summary{grid-template-columns:1fr auto;align-items:center;width:100%;padding:8px 7px;list-style:none;display:grid}.deck-setting summary::-webkit-details-marker{display:none}.deck-setting-menu{z-index:50;border:1px solid var(--ink);border-radius:var(--radius);background:var(--card);width:110px;padding:4px;display:grid;position:absolute;top:calc(100% + 5px);right:0;box-shadow:0 8px 12px #0005}.deck-meta .deck-setting-menu{top:0;left:calc(100% + 8px);right:auto}.deck-setting-menu button{text-align:left;width:100%;box-shadow:none;background:0 0;border:0;padding:5px;font:.52rem DM Mono,monospace}.deck-setting-menu button:hover,.deck-setting-menu button.selected{color:#fff;background:var(--output)}.key-picker{z-index:50;border:1px solid var(--ink);border-radius:var(--radius);background:var(--card);width:236px;padding:12px;position:absolute;top:calc(100% + 5px);right:0;box-shadow:0 8px 12px #0005}.deck-meta .key-picker{top:0;left:calc(100% + 8px);right:auto}.key-picker>strong{color:var(--ink);text-align:center;letter-spacing:.06em;margin-bottom:8px;font:700 .72rem DM Mono,monospace;display:block}.key-root-dots{border-top:1px solid var(--edge);border-bottom:1px solid var(--edge);background:var(--surface);height:86px;position:relative}.key-root-dots:before{content:"";background:var(--border-soft);height:1px;position:absolute;bottom:28px;left:0;right:0}.deck-meta .key-root-dot{z-index:1;border:1px solid var(--ink);text-align:center;border-radius:50%;grid-template-columns:none;place-items:center;width:27px;height:27px;padding:0;font:600 .47rem DM Mono,monospace;transition:transform 90ms,box-shadow 90ms;display:grid;position:absolute;transform:translate(-50%);box-shadow:0 3px #aaa9a3}.key-root-dot.white-root{color:var(--ink);background:#fff;bottom:8px}.key-root-dot.pink-root{background:var(--output);color:#fff;top:8px}.key-root-dot:hover{transform:translate(-50%)scale(1.08)}.key-root-dot.selected{z-index:2;box-shadow:0 0 0 1px var(--card), 0 0 0 3px var(--ink), 0 3px 0 var(--shadow-step);transform:translate(-50%)}.deck-meta .key-root-dot.white-root.selected{color:var(--ink)}.deck-meta .key-root-dot.pink-root.selected{color:#fff}.key-root-dot:focus-visible{filter:brightness(.86);outline:0}.deck-meta .key-mode-switch{width:100%;box-shadow:none;color:var(--muted);text-align:center;letter-spacing:.04em;background:0 0;border:0;border-radius:0;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:8px;margin-top:10px;padding:3px 0 1px;font:600 .46rem DM Mono,monospace;display:grid}.key-mode-switch span.active{color:var(--output)}.deck-meta .key-mode-switch input{appearance:none;background:0 0;width:100%;height:24px;margin:0;padding:0}.key-mode-switch input::-webkit-slider-runnable-track{background:#9b9b95;border-radius:7px;height:12px;box-shadow:inset 0 3px #72726d,inset 0 -1px #bababa}.key-mode-switch input::-webkit-slider-thumb{appearance:none;border:1px solid var(--ink);background:var(--output);border-radius:50%;width:22px;height:22px;margin-top:-5px;box-shadow:inset 0 1px #ff77ba,0 3px #8e0d4b}.deck-meta>button:disabled{cursor:not-allowed;opacity:.67}.deck-meta>button.selected{color:var(--output)}.deck-meta input{background:0 0;border:0;outline:0;width:58px;padding:0;font:600 .68rem DM Mono,monospace}.deck-meta b{font-size:.68rem}.deck-meta small{color:var(--muted);letter-spacing:.05em;font-size:.37rem}.status-row{border-top:1px solid var(--ink);background:var(--surface-deep);box-shadow:inset 0 3px 0 var(--edge);grid-column:1/-1;grid-template-columns:minmax(0,1fr) 48px auto;align-items:center;gap:12px;padding:9px 16px;display:grid}.status-screen{color:#f7f6f1;background:#0e0f0e;border-radius:24px;grid-template-columns:auto minmax(90px,1fr) auto 18px;align-items:center;gap:12px;height:48px;padding:0 13px 0 18px;display:grid;box-shadow:inset 0 3px #000,inset 0 -2px #353735,0 2px #f2f2ed}.status-copy{white-space:nowrap;font:500 1rem DM Mono,monospace}.status-progress{border:var(--line) solid #777a77;background:#3b3d3b;border-radius:3px;height:14px;display:block;overflow:hidden}.status-progress i{transform-origin:0;will-change:transform;background:#858985;width:100%;height:100%;transition:transform 70ms linear;display:block}.status-recording .status-progress{background:#40171d;border-color:#a8424e}.status-recording .status-progress i{background:#d62536}.status-switching .status-progress{background:#45102c;border-color:#a21b61}.status-switching .status-progress i{background:var(--output);transition:none}.status-solo .status-progress{background:#173c2d;border-color:#4c9677}.status-solo .status-progress i{background:#00a663}.transport-position{color:#b8e8d7;white-space:nowrap;grid-template-columns:auto auto;gap:10px;font:500 .57rem DM Mono,monospace;display:grid}.status-dot{background:#555754;border-radius:50%;justify-self:end;width:18px;height:18px;box-shadow:inset 0 2px 3px #111}.status-dot.recording{background:#d62536;animation:.7s step-end infinite record-flash;box-shadow:0 0 8px #ff2946,inset 0 1px 2px #ff8b9b}@keyframes record-flash{50%{box-shadow:none;background:#68131e}}.record-controls{align-items:center;min-width:119px;display:flex;position:relative}.record-controls:before{z-index:1;content:"";pointer-events:none;border-radius:50%;width:46px;height:46px;position:absolute;top:0;left:0;box-shadow:0 4px #999993,0 6px 7px #0003}.record-controls .record{z-index:4;background:var(--surface-deep);flex:none;position:relative}.record-mode{z-index:3;color:#315f50;border:var(--line) solid var(--ink);background:var(--card-deep);height:34px;box-shadow:0 4px 0 var(--shadow-step), 0 6px 7px #0003, inset 0 1px 0 var(--highlight);border-left:0;border-radius:0 17px 17px 0;margin-left:-8px;padding:0 13px 0 20px;font:600 .52rem DM Mono,monospace;position:relative;-webkit-mask:radial-gradient(23px at -15px,#0000 22px,#000 23px);mask:radial-gradient(23px at -15px,#0000 22px,#000 23px)}.record-mode:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #999993,inset 0 1px #fff}.record-mode:disabled{color:#777a77;cursor:not-allowed}.round-action{border:var(--line) solid var(--ink);background:var(--surface-deep);width:46px;height:46px;box-shadow:0 4px 0 var(--shadow-step), 0 6px 7px #0003, inset 0 1px 0 var(--highlight);border-radius:50%;place-items:center;padding:0;font:700 1rem DM Mono,monospace;display:grid}.round-action:active{transform:translateY(3px);box-shadow:0 1px #999993}.record-controls .round-action.record,.record-controls .round-action.record:active{box-shadow:inset 0 1px #fff}.record-controls:has(.record:active):before{transform:translateY(3px);box-shadow:0 1px #999993}.record-controls:has(.record:active) .record-mode{-webkit-mask:radial-gradient(23px at -15px calc(50% + 3px),#0000 22px,#000 23px);mask:radial-gradient(23px at -15px calc(50% + 3px),#0000 22px,#000 23px)}.round-action.record span{background:#d51f27;border-radius:50%;width:14px;height:14px}.round-action.record.armed{border-color:#d51f27;box-shadow:0 0 0 4px #d51f2744,0 4px #8f1118}.instrument{flex-direction:column;transition:background-color .12s;display:flex}.instrument.is-focused{background:var(--panel-focused)}.instrument.is-muted .instrument-preset,.instrument.is-muted .envelope-mini,.instrument.is-muted .control,.instrument.is-muted .pad-grid,.instrument.is-muted .bass-keys,.instrument.is-muted .piano,.instrument.is-muted .chord-pads{filter:saturate(.48);opacity:.88}.instrument.recording-locked{filter:grayscale();opacity:.22;pointer-events:none}.instrument-header{grid-template-columns:145px minmax(150px,1fr) auto;align-items:center;gap:14px;min-height:86px;padding:10px 16px 8px;display:grid}.drums .instrument-header{grid-template-columns:145px minmax(20px,1fr) auto;gap:8px;padding-right:12px}.drums .compact-controls{gap:8px}.lead .instrument-header{grid-template-columns:160px minmax(220px,1fr) auto;min-height:86px}.instrument-preset.boxed{border:var(--line) solid var(--ink);border-radius:var(--radius);background:var(--card);width:100%;height:54px;box-shadow:inset 0 1px 0 var(--highlight), 0 3px 0 var(--shadow-step), 0 5px 5px #0002;white-space:nowrap;font:600 .62rem DM Mono,monospace;position:relative}.instrument-preset>summary{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px;height:100%;padding:7px 9px;list-style:none;display:grid}.instrument-preset>summary::-webkit-details-marker{display:none}.instrument-preset summary b{color:var(--accent);text-overflow:ellipsis;overflow:hidden}.instrument-preset summary i{color:var(--accent);font-style:normal}.preset-menu{z-index:40;border:var(--line) solid var(--ink);border-radius:var(--radius);background:var(--card);padding:5px;display:grid;position:absolute;top:calc(100% + 5px);left:-2px;right:-2px;box-shadow:0 8px 12px #0005}.preset-menu button{text-align:left;background:0 0;border:0;padding:6px 7px;font:.56rem DM Mono,monospace}.preset-menu button:hover,.preset-menu button.selected{color:#fff;background:var(--accent)}.instrument-focus-label{color:var(--accent);text-align:center;letter-spacing:.08em;font:600 .54rem DM Mono,monospace}.compact-controls{justify-self:end;align-items:center;gap:11px;height:58px;display:flex}.control{justify-items:center;gap:5px;display:grid}.control small,.module-label{color:var(--muted);letter-spacing:.06em;font:500 .46rem DM Mono,monospace}.knob{background:#171716;border:1px solid #050505;border-radius:50%;width:38px;height:38px;display:block;position:relative;box-shadow:inset 0 0 0 2px #050505,inset 0 -5px #0b0b0a,0 4px #080808,0 7px 8px #0004}.knob:after{content:"";width:4px;height:13px;transform:rotate(var(--turn));transform-origin:2px 15px;background:var(--accent);border-radius:3px;position:absolute;top:4px;left:17px}.knob input{z-index:2;opacity:0;width:48px;height:48px;position:absolute;inset:-5px}.power{border:3px solid var(--ink);background:0 0;border-radius:50%;width:22px;height:22px;padding:0;display:block;position:relative;box-shadow:0 0 0 4px #c0c0ba,0 3px #92928d}.power.on{background:var(--accent);box-shadow:inset 0 0 0 4px var(--surface), 0 0 0 4px #b1b1ab, 0 3px 0 #878782, 0 4px 8px color-mix(in srgb, var(--accent), transparent 45%)}.power small{color:#fff;background:#181817;border-radius:7px;min-width:13px;font:.4rem DM Mono,monospace;position:absolute;top:-10px;right:-8px}.envelope-mini{touch-action:none;width:100%;max-width:340px;height:62px;overflow:visible}.envelope-mini .envelope-axis{fill:none;stroke:var(--grid);stroke-width:1px}.envelope-mini .envelope-path{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.envelope-handle{fill:var(--surface);stroke:var(--accent);stroke-width:2.5px;cursor:grab}.envelope-handle:active{cursor:grabbing}.envelope-handle:focus{stroke:#0878ff;stroke-width:4px;outline:none}.envelope-end{fill:var(--accent)}.pad-grid{flex:1;grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(3,1fr);gap:8px;padding:0 16px 16px;display:grid}.drum-pad{min-width:0;color:var(--drums);border-radius:var(--radius);text-align:left;background:#171716;border:0;grid-template-rows:auto 1fr;align-items:end;padding:7px;display:grid;box-shadow:inset 0 1px #393936,inset 0 -5px #292927,0 4px #050505,0 7px 7px #0003}.drum-pad small{justify-self:end;font:.43rem DM Mono,monospace}.drum-pad b{font-size:.62rem}.drum-pad:active,.drum-pad.shortcut-pressed{transform:translateY(3px);box-shadow:inset 0 1px #393936,0 1px #050505}.drum-pad.deck-playing-note{color:#fff36b;box-shadow:inset 0 0 0 2px var(--drums), inset 0 1px 0 #5a5420, 0 1px 0 #050505, 0 0 9px color-mix(in srgb, var(--drums), transparent 35%);transform:translateY(3px)}.drum-pad.empty{color:#77776f;cursor:not-allowed;opacity:.58}.bass-keys{flex:1;grid-template-columns:repeat(11,1fr);gap:9px;padding:4px 16px 12px;display:grid}.bass-keys button{color:#3a1606;border-radius:var(--radius);background:var(--bass);border:0;place-items:end center;min-width:0;padding:8px 2px;display:grid;box-shadow:inset 0 2px #ff8a54,0 5px #a93400,0 8px 8px #0003}.bass-keys button small{font:.5rem DM Mono,monospace}.bass-keys button b{font-size:.62rem}.bass-keys button:active,.bass-keys button.shortcut-pressed{transform:translateY(4px);box-shadow:inset 0 2px #ff8a54,0 1px #a93400}.bass-keys button.deck-playing-note{filter:brightness(1.14);box-shadow:inset 0 2px 0 #ffc0a2, 0 1px 0 #a93400, 0 0 10px color-mix(in srgb, var(--bass), transparent 30%);transform:translateY(4px)}.piano{flex:1;grid-template-columns:repeat(10,1fr);min-height:0;margin-top:28px;display:grid;position:relative;overflow:visible}.piano>button:not(.black-key){border:0;border-top:var(--line) solid var(--ink);border-left:var(--line) solid var(--ink);background:var(--key-white);min-width:0;box-shadow:inset 0 -6px 0 var(--key-white-edge), inset -2px 0 0 var(--edge);border-radius:0;justify-content:center;align-items:flex-end;padding:10px;display:flex}.piano>button:first-child{border-left:0}.piano small{color:var(--lead);font:500 .54rem DM Mono,monospace}.piano>button:not(.black-key):active,.piano>button:not(.black-key).shortcut-pressed{box-shadow:inset 0 -2px 0 var(--key-white-edge);transform:translateY(4px)}.piano>button:not(.black-key).deck-playing-note{box-shadow:inset 0 -2px 0 #91adff, inset 0 0 0 3px var(--lead);background:#dce5ff;transform:translateY(4px)}.piano .black-key{z-index:2;border-radius:0 0 var(--radius) var(--radius);background:var(--lead);border:2px solid #1745bd;border-top:0;width:7.4%;height:calc(64% + 5px);position:absolute;top:-20px;transform:translate(-50%);box-shadow:0 0 0 3px #4f7cf2,inset 0 2px #75a0ff,0 6px #153b9f,0 10px 10px #0004}.piano .black-key small{color:#fff;padding-top:76px;display:block}.piano .black-key:active,.piano .black-key.shortcut-pressed{transform:translate(-50%)translateY(5px);box-shadow:0 0 0 3px #4f7cf2,0 1px #153b9f}.piano .black-key.deck-playing-note{filter:brightness(1.2);box-shadow:0 0 0 3px #8facff, 0 1px 0 #153b9f, 0 0 12px color-mix(in srgb, var(--lead), transparent 22%);transform:translate(-50%)translateY(5px)}.chord-pads{grid-template-columns:repeat(7,1fr);align-items:start;gap:8px;padding:15px 16px 16px;display:grid}.chord-pads button{height:102px;color:var(--chords);border:var(--line) solid var(--ink);border-radius:var(--radius);background:var(--card);box-shadow:inset 0 2px 0 var(--highlight), 0 5px 0 var(--border-soft), 0 8px 8px #0003;align-content:center;justify-items:center;padding:6px 3px;display:grid}.chord-pads b{font:700 1.05rem DM Mono,monospace}.chord-pads small{color:var(--muted);margin-top:5px;font:500 .47rem DM Mono,monospace}.chord-pads button:active,.chord-pads button.shortcut-pressed{box-shadow:inset 0 1px 0 var(--highlight), 0 1px 0 var(--border-soft);transform:translateY(4px)}.chord-pads button.deck-playing-note{color:#fff;background:var(--chords);box-shadow:inset 0 0 0 3px #ba77e8, 0 1px 0 #571388, 0 0 11px color-mix(in srgb, var(--chords), transparent 30%);transform:translateY(4px)}.chord-pads button.deck-playing-note small{color:#ead6f8}.ai-playing-note{outline-offset:-3px;animation:.42s ease-in-out infinite alternate ai-note-pulse;outline:3px solid var(--output)!important}@keyframes ai-note-pulse{0%{outline-color:color-mix(in srgb, var(--output), transparent 45%)}to{outline-color:var(--output);filter:brightness(1.24)}}.output-body{grid-template-columns:250px minmax(190px,1fr) 150px 66px;align-items:stretch;gap:14px;height:100%;padding:13px 15px;display:grid}.heatmap{border-radius:var(--radius);min-width:0;box-shadow:inset 0 0 0 3px #292329, inset 0 0 20px #000, 0 3px 0 var(--border-soft), 0 5px 8px #0003;background:#100d11;border:1px solid #080808;position:relative;overflow:hidden}.heatmap.sleeping{filter:saturate(.25)}.spectrum-canvas{width:100%;height:100%;display:block}.spectrum-title{z-index:2;color:#fff;letter-spacing:.12em;font:500 .43rem DM Mono,monospace;position:absolute;top:7px;left:9px}.heatmap-labels{z-index:2;color:#f6a7cf;flex-direction:column;justify-content:space-between;font:.36rem DM Mono,monospace;display:flex;position:absolute;top:23px;bottom:17px;left:6px}.heatmap-time{z-index:2;color:#f6a7cf;justify-content:space-between;font:.34rem DM Mono,monospace;display:flex;position:absolute;bottom:4px;left:32px;right:7px}.output-eq,.echo-module{flex-direction:column;justify-content:center;min-width:0;display:flex}.output-eq svg{width:100%;height:66px;margin-top:1px;overflow:visible}.eq-grid{fill:none;stroke:var(--grid);stroke-width:.7px;opacity:.55}.eq-curve{fill:none;stroke:var(--output);stroke-width:3px;stroke-linecap:round}.output-eq circle{fill:var(--surface);stroke:var(--output);stroke-width:2.5px;cursor:ns-resize}.output-eq circle:focus{stroke:#0878ff;stroke-width:4px;outline:none}.output-eq text{fill:var(--muted);text-anchor:middle;font:6px DM Mono,monospace}.echo-controls{justify-content:space-between;align-items:center;gap:7px;margin-top:11px;display:flex}.echo-module{--accent:var(--output)}.echo-module .knob{width:34px;height:34px}.echo-module .knob:after{transform-origin:2px 13px;height:11px;top:4px;left:15px}.master-module{grid-template-rows:auto 1fr auto;justify-items:center;gap:5px;min-width:0;display:grid}.master-meter{border:var(--line) solid var(--ink);width:32px;height:74px;box-shadow:inset 0 0 0 5px #302c2f, 0 3px 0 var(--border-soft);background:#171516;border-radius:16px;position:relative;overflow:visible}.master-meter span{background:var(--output);height:3%;box-shadow:0 0 7px color-mix(in srgb, var(--output), transparent 30%);border-radius:6px;transition:height 60ms linear;position:absolute;bottom:5px;left:10px;right:10px}.master-meter i{left:3px;right:3px;bottom:calc(4px + var(--master) * 60px);z-index:2;pointer-events:none;background:#777;border:1px solid #eee;border-radius:4px;height:7px;position:absolute;box-shadow:0 2px 3px #0008}.master-meter input{z-index:3;appearance:slider-vertical;writing-mode:vertical-lr;opacity:0;direction:rtl;width:34px;height:78px;margin:0;position:absolute;inset:-3px}.master-module em{color:var(--ink);white-space:nowrap;font:500 .46rem DM Mono,monospace}.instrument-settings{z-index:20;margin:0;position:absolute;top:10px;right:12px}.instrument-settings>summary{color:var(--muted);border:1px solid var(--border-soft);background:var(--card);border-radius:4px;padding:4px 7px;font:500 .42rem DM Mono,monospace;list-style:none;position:absolute;top:0;right:0}.instrument-settings>summary::-webkit-details-marker{display:none}.instrument-settings[open]{inset:8px}.instrument-settings[open]>summary{z-index:31;color:#fff;background:#181817;border-color:#fff;position:fixed;top:30px;right:30px}.settings-sheet{z-index:30;border:var(--line) solid var(--ink);background:var(--sheet);border-radius:8px;width:min(1000px,100vw - 80px);max-height:calc(100vh - 80px);padding:26px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px #0009,0 16px 34px #0007}.settings-heading{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:end;padding-bottom:16px;display:flex}.settings-heading h2{margin:3px 0 0;font-size:1.7rem}.settings-heading>span{color:var(--accent);font:.7rem DM Mono,monospace}.model-picker{justify-content:space-between;margin-top:18px;font:.68rem DM Mono,monospace;display:flex}.model-picker select{border:1px solid var(--ink);background:var(--card);border-radius:4px;padding:7px}.envelope-editor{border-top:1px solid var(--border-soft);margin-top:20px;padding-top:16px}.envelope-head{justify-content:space-between;align-items:center;gap:20px;display:flex}.envelope-head h3,.macro-settings h3,.parameter-group h3{text-transform:uppercase;margin:0 0 12px;font:600 .72rem DM Mono,monospace}.envelope-preview{border:1px solid var(--border-soft);background:var(--surface-deep);width:300px;height:76px}.envelope-preview path{fill:color-mix(in srgb, var(--accent) 12%, transparent);stroke:var(--accent);stroke-width:1.6px}.envelope-preview text{fill:var(--muted);text-anchor:middle;font:8px DM Mono,monospace}.envelope-controls{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px;display:grid}.envelope-field{grid-template-columns:1fr 74px auto;align-items:center;gap:7px;display:grid}.envelope-field>span:first-child{grid-column:1/-1;font:.62rem DM Mono,monospace}.envelope-field input[type=range]{accent-color:var(--accent)}.envelope-field input[type=number],.macro-settings input[type=number],.number-input{border:1px solid var(--border-soft);background:var(--card);border-radius:4px;width:74px;padding:5px;font:.65rem DM Mono,monospace}.envelope-unit{color:var(--muted);font:.55rem DM Mono,monospace}.macro-settings{border-top:1px solid var(--border-soft);margin-top:20px;padding-top:16px}.macro-settings>div{grid-template-columns:repeat(2,1fr);gap:12px 24px;display:grid}.macro-settings label{grid-template-columns:110px 1fr 74px;align-items:center;gap:10px;font:.65rem DM Mono,monospace;display:grid}.parameter-groups{margin-top:20px}.parameter-group{border-top:1px solid var(--border-soft);padding:16px 0}.parameter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;display:grid}.parameter{grid-template-columns:1.3fr 1fr 74px 26px;align-items:center;gap:8px;display:grid}.parameter>span{font-size:.68rem}.parameter>span small{color:var(--muted);font:.5rem DM Mono,monospace;display:block}.parameter input[type=range]{accent-color:var(--accent)}.reset{border:1px solid var(--ink);background:var(--card);border-radius:50%;width:26px;height:26px;padding:0}.prototype-note{color:var(--muted);text-align:right;letter-spacing:.08em;margin:10px 2px 0;font:500 .58rem DM Mono,monospace}.app-viewport[data-theme=dark] .console{box-shadow:0 8px #050505,0 15px 24px #000b}.app-viewport[data-theme=dark] .platter{box-shadow:inset 0 0 0 5px var(--edge), 0 5px 0 #10110f, 0 9px 11px #0008}.app-viewport[data-theme=dark] .key-root-dot.white-root{color:#181817}.app-viewport[data-theme=dark] .record-mode{color:#8dc7b2}.app-viewport[data-theme=dark] .piano>button:not(.black-key).deck-playing-note{box-shadow:inset 0 -2px 0 #17233c, inset 0 0 0 3px var(--lead);background:#28395f}.intro-backdrop{z-index:1000;background:#181817e8;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.intro-modal{width:min(860px,100%);max-height:min(760px,100vh - 32px);transform:scale(var(--intro-scale,1));transform-origin:50%;color:var(--ink);border:var(--line) solid var(--ink);background:var(--surface);box-shadow:inset 0 2px 0 var(--highlight), 0 16px 0 #0e0e0d, 0 24px 36px #0009;border-radius:8px;padding:34px 38px 30px;position:relative;overflow:auto}.intro-close{width:30px;height:30px;color:var(--ink);border:1px solid var(--ink);background:var(--card);box-shadow:0 3px 0 var(--shadow-step);border-radius:50%;place-items:center;padding:0;font:600 1.2rem/1 DM Mono,monospace;display:grid;position:absolute;top:12px;right:14px}.intro-close:hover,.intro-close:focus-visible{color:#fff;background:var(--output)}.intro-modal h1{letter-spacing:-.05em;max-width:calc(100% - 42px);margin:0;font-size:clamp(1.65rem,4vw,2.5rem);line-height:1}.intro-capabilities{max-width:730px;margin:18px 0 0;font-size:1rem;line-height:1.45}.intro-instrument,.intro-solo{color:#fff;background:#181817;border-radius:3px;padding:1px 5px;font-weight:700;display:inline-block}.intro-drums{color:var(--drums)}.intro-bass{color:var(--bass)}.intro-chords{color:var(--chords)}.intro-lead{color:var(--lead)}.intro-solo{color:var(--solo);font-weight:700}.intro-lead-in{color:var(--muted);margin:18px 0 0;font:500 .7rem DM Mono,monospace}.intro-sections{border-top:1px solid var(--border-soft);grid-template-columns:repeat(3,1fr);gap:20px;margin-top:18px;padding-top:18px;display:grid}.intro-sections section{min-width:0}.intro-sections section+section{border-left:1px solid var(--border-soft);padding-left:20px}.intro-sections h2{margin:0 0 8px;font-size:.94rem;line-height:1.15}.intro-sections h2 span{color:var(--output);font-family:DM Mono,monospace}.intro-sections p{color:var(--text-secondary);margin:0;font-size:.78rem;line-height:1.45}.intro-sections em{font-style:normal;font-weight:700}.intro-modal kbd{color:#fff;background:#181817;border-radius:3px;padding:1px 5px;font:.65rem DM Mono,monospace}.intro-transport-icons{color:#fff;vertical-align:-3px;background:#181817;border-radius:3px;align-items:center;gap:3px;padding:3px 5px;display:inline-flex}.intro-transport-icons .transport-icon{fill:currentColor;width:11px;height:11px;display:block}.intro-start{color:#fff;border:var(--line) solid var(--ink);border-radius:var(--radius);background:var(--output);letter-spacing:.05em;margin:24px 0 0 auto;padding:10px 16px;font:600 .62rem DM Mono,monospace;display:block;box-shadow:0 4px #8e0d4b,inset 0 1px #ff61ac}.intro-start:active{transform:translateY(3px);box-shadow:0 1px #8e0d4b,inset 0 1px #ff61ac}@media (width<=760px){.intro-modal{padding:28px 24px 24px}.intro-sections{grid-template-columns:1fr;gap:16px}.intro-sections section+section{border-top:1px solid var(--border-soft);border-left:0;padding:16px 0 0}.intro-modal.intro-compact{width:100%;padding:22px 18px 18px}.intro-compact h1{font-size:clamp(1.2rem,5vw,2rem)}.intro-compact .intro-capabilities{margin-top:12px;font-size:.85rem}.intro-compact .intro-lead-in{margin-top:12px;font-size:.65rem}.intro-compact .intro-sections{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;padding-top:14px}.intro-compact .intro-sections section+section{border-top:0;border-left:1px solid var(--border-soft);padding:0 0 0 10px}.intro-compact .intro-sections h2{font-size:.7rem}.intro-compact .intro-sections p{font-size:.6rem;line-height:1.35}.intro-compact .intro-start{margin-top:16px;padding:8px 12px;font-size:.56rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
