@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,sans-serif;color:#e8e9e5;background:#111315;font-synthesis:none;text-rendering:optimizeLegibility;font-optical-sizing:auto;font-weight:400;--panel:#191c1f;--panel2:#202428;--line:#30363a;--muted:#81898b;--cyan:#65d9d1;--violet:#b59af4;--amber:#f0b96a;--mono:"DM Mono",monospace;--display:"Space Grotesk",sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 50% -20%,#242b2b,#111315 58%);background-attachment:fixed}button,input,select{font:inherit}button{cursor:pointer}.app-shell{max-width:1500px;margin:auto;padding:0 48px 30px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;color:#f4f4ef;text-decoration:none;font:600 13px var(--display);letter-spacing:1.5px}.brand b{color:var(--cyan)}.brand-mark{display:grid;place-items:center;width:32px;height:32px;color:var(--cyan);border:1px solid #456c69;border-radius:8px}.topbar-center,.eyebrow,.module-index,.section-kicker,.hero-readout,.wave-preview span,.filter-display-top,.filter-display-bottom,.filter-footer,.mixer-note,.mixer-sum>span,.patch-label,.patch-node small,.cable-caption,.route-toggles,.routing-footnote,.keyboard-footer,footer{font-family:var(--mono);font-size:9px;letter-spacing:1.2px;color:var(--muted)}.topbar-center{display:flex;align-items:center;gap:10px}.status-dot,.module-led{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px #65d9d177}.topbar-divider{color:#454b4c}.top-actions{display:flex;align-items:center;gap:14px}.icon-button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:7px;background:transparent;color:#9ba3a3}.power-button{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #5b6259;border-radius:5px;background:#242a26;color:#d9e5db;font:500 10px var(--mono);letter-spacing:1px}.power-button.is-on{border-color:#5a9e89;color:var(--cyan);background:#1b302c}.hero{display:flex;align-items:flex-end;justify-content:space-between;padding:55px 0 40px}.hero h1{margin:10px 0 7px;font:600 clamp(38px,5vw,62px)/1 var(--display);letter-spacing:-2.5px}.hero h1 em{font-style:normal;color:var(--cyan)}.hero p{margin:0;color:#899193;font-size:13px}.hero-readout{display:flex;flex-direction:column;gap:7px;text-align:right}.hero-readout strong{font:500 15px var(--mono);color:#e8e9e5}.hero-readout small{font:9px var(--mono);color:#667174}.section-kicker{display:flex;align-items:center;gap:12px;margin:8px 0 13px;color:#c4c9c5;font-size:10px}.section-kicker span{color:var(--cyan)}.section-kicker i{height:1px;flex:1;background:var(--line)}.upper-rack{display:grid;grid-template-columns:1fr .8fr 1fr;gap:12px}.module{position:relative;background:linear-gradient(145deg,#1c2023,#171a1d);border:1px solid var(--line);border-radius:8px;padding:20px;min-width:0;box-shadow:0 12px 28px #00000012}.module-heading{display:flex;align-items:center;gap:10px;margin-bottom:22px}.module-heading h2,.keyboard-heading h2{margin:3px 0 0;font:600 18px var(--display);letter-spacing:.3px;color:#eff0eb}.module-heading .eyebrow,.keyboard-heading .eyebrow{font-size:8px}.module-index{margin-left:auto;font-size:8px}.module-led{flex:none}.module-led.cyan{background:var(--cyan)}.module-led.violet{background:var(--violet);box-shadow:0 0 12px #b59af477}.module-led.amber{background:var(--amber);box-shadow:0 0 12px #f0b96a77}.select-control{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;border:1px solid #363d40;border-radius:4px;background:#141719;color:#8f999a;font:9px var(--mono);letter-spacing:1px}.select-control select{width:54%;border:0;outline:0;background:transparent;color:#e3e8e4;text-align:right;font:10px var(--mono);letter-spacing:1px}.select-control option{background:#171b1d}.knob-row{display:flex;align-items:flex-start;justify-content:space-around;gap:10px;padding:23px 0 16px}.knob-control{display:flex;align-items:center;flex-direction:column;gap:7px;min-width:54px}.knob-label{font:8px var(--mono);letter-spacing:1px;color:#9ca5a4}.knob{position:relative;width:54px;height:54px;display:block;border-radius:50%;background:conic-gradient(from 225deg,#333b3e,#566064,#333b3e 270deg);box-shadow:0 5px 10px #0008,inset 0 1px 2px #fff2}.knob-face{position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:50%;background:linear-gradient(145deg,#343a3d,#202528);box-shadow:inset 0 2px 5px #0009,0 1px 1px #ffffff1c;pointer-events:none}.knob-indicator{position:absolute;left:calc(50% - 1px);top:4px;width:2px;height:13px;border-radius:2px;background:var(--cyan);transform-origin:1px 23px;transform:rotate(var(--angle));box-shadow:0 0 5px #65d9d1aa}.knob input{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;width:calc(100% + 10px);height:calc(100% + 10px);opacity:0;z-index:2;cursor:ns-resize}.knob-control output{font:10px var(--mono);color:#d9dfda}.wave-preview{border-top:1px solid #2d3436;padding-top:10px;display:flex;align-items:center;gap:14px}.wave-preview svg{width:72%;height:34px;overflow:visible}.wave-preview path{fill:none;stroke:var(--cyan);stroke-width:1.5;vector-effect:non-scaling-stroke}.wave-preview.violet-wave path{stroke:var(--violet)}.wave-preview span{font-size:7px;white-space:nowrap}.mixer-module{display:flex;flex-direction:column}.mixer-module .module-heading{margin-bottom:27px}.mixer-channel{display:grid;grid-template-columns:70px 1fr 25px;align-items:center;gap:10px;margin:0 0 22px}.channel-name{font:9px var(--mono);color:#788486}.channel-name b{display:block;margin-top:4px;color:#e2e6e1;font-weight:400}.meter-track{height:5px;background:#343a3c;border-radius:4px;overflow:hidden}.meter-track span{display:block;height:100%;background:var(--cyan);border-radius:4px}.meter-track.second span{background:var(--violet)}.mixer-channel strong{font:10px var(--mono);text-align:right;color:#dfe4df}.mixer-sum{margin-top:auto;padding:13px 0 12px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.mixer-sum strong{font:500 25px var(--display);color:var(--amber)}.mixer-sum small{font:11px var(--mono)}.mixer-note{display:flex;align-items:center;gap:7px;padding-top:10px;border-top:1px solid #2b3133;font-size:7px;letter-spacing:.7px}.mixer-note svg{color:var(--amber)}.lower-rack{display:grid;grid-template-columns:1.18fr 1fr 1fr;gap:12px}.filter-display{padding:12px 12px 8px;background:#131719;border:1px solid #303739;border-radius:5px}.filter-display-top{display:flex;justify-content:space-between;align-items:center;font-size:8px}.filter-display-top strong{font:11px var(--mono);color:var(--amber)}.filter-display svg{width:100%;height:92px;margin-top:6px}.filter-grid{fill:none;stroke:#30383a;stroke-width:1;stroke-dasharray:2 4}.filter-curve{fill:none;stroke:var(--amber);stroke-width:2;filter:drop-shadow(0 0 4px #f0b96a88)}.filter-display-bottom{display:flex;justify-content:space-between;font-size:7px}.filter-knobs{padding:18px 0 14px}.filter-footer{display:flex;justify-content:space-between;border-top:1px solid #303638;padding-top:11px;font-size:7px}.filter-footer b{color:var(--amber);font-weight:400}.envelope-module{min-width:0}.envelope-visual{height:75px;display:flex;align-items:center;padding:5px 9px;background:#131719;border:1px solid #303739;border-radius:5px}.envelope-visual svg{width:100%;height:62px}.envelope-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.envelope-line.violet{stroke:var(--violet)}.envelope-line.cyan{stroke:var(--cyan)}.envelope-fill{opacity:.08}.envelope-fill.violet{fill:var(--violet)}.envelope-fill.cyan{fill:var(--cyan)}.envelope-knobs{gap:4px;padding-top:22px}.envelope-knobs .knob{width:46px;height:46px}.envelope-knobs .knob-face{top:4px;right:4px;bottom:4px;left:4px}.envelope-knobs .knob-indicator{transform-origin:1px 19px}.envelope-knobs .knob-label{font-size:7px}.envelope-knobs output{font-size:9px}.routing-module{padding-bottom:16px}.patchbay{display:grid;grid-template-columns:155px minmax(100px,1fr) 175px;gap:14px;min-height:228px}.patch-column{display:flex;flex-direction:column;gap:10px}.patch-label{margin-bottom:2px}.patch-node{height:34px;display:flex;align-items:center;gap:8px;padding:0 9px;border:1px solid #394144;border-radius:4px;background:#15191b;font:9px var(--mono);color:#dce2dd;white-space:nowrap}.patch-node small{margin-left:auto;font-size:7px;letter-spacing:.5px}.patch-node .port{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px currentColor}.violet-node .port{background:var(--violet)}.amber-node .port{background:var(--amber)}.patch-cables{position:relative;margin-top:18px}.patch-cables svg{width:100%;height:195px;overflow:visible}.cable{fill:none;stroke-width:2;vector-effect:non-scaling-stroke;opacity:.8}.cable-cyan{stroke:var(--cyan)}.cable-violet{stroke:var(--violet)}.cable-muted{stroke:#3b4245;stroke-dasharray:4 5;opacity:.4}.cable.modulation{stroke-dasharray:5 4}.cable-caption{position:absolute;bottom:1px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:7px}.destinations .patch-node{height:43px}.route-toggles{display:flex;flex-wrap:wrap;gap:12px 25px;padding:14px 0 10px;border-top:1px solid var(--line);font-size:8px}.route-toggles label{display:flex;align-items:center;gap:7px;cursor:pointer}.route-toggles input{position:absolute;opacity:0}.toggle-dot{width:7px;height:7px;border:1px solid currentColor;border-radius:50%;opacity:.35}.toggle-dot.cyan{color:var(--cyan)}.toggle-dot.violet{color:var(--violet)}.route-toggles input:checked+.toggle-dot{background:currentColor;opacity:1;box-shadow:0 0 8px currentColor}.routing-footnote{font-size:8px;letter-spacing:.3px;margin:3px 0 0}.keyboard-module{padding:20px 24px 15px}.keyboard-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.keyboard-heading h2{font-size:16px}.octave-control{display:flex;align-items:center;gap:12px;font:8px var(--mono);letter-spacing:1px;color:var(--muted)}.octave-control b{color:var(--cyan)}.octave-control button{width:25px;height:25px;border:1px solid var(--line);border-radius:4px;background:#141719;color:#d8ded9}.piano{display:flex;height:142px;position:relative;-webkit-user-select:none;user-select:none;touch-action:none}.white-key-wrap{position:relative;flex:1;min-width:0}.white-key{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;padding-bottom:10px;border:1px solid #929a96;border-radius:0 0 4px 4px;background:linear-gradient(180deg,#e5e7df,#bfc6bf);color:#424c4a}.white-key span{font:10px var(--display)}.white-key small{font:8px var(--mono);color:#7d8782}.white-key.pressed{background:linear-gradient(180deg,#9ee5d9,#6dbab0);transform:translateY(2px)}.black-key{position:absolute;z-index:2;top:0;right:-18%;width:36%;height:62%;border:1px solid #070909;border-radius:0 0 4px 4px;background:linear-gradient(90deg,#303637,#090b0c 70%);color:#b9c2bd;box-shadow:0 4px 5px #0008}.black-key span{position:absolute;bottom:8px;left:0;right:0;font:8px var(--mono)}.black-key.pressed{background:linear-gradient(90deg,#4a706b,#172725)}.keyboard-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:11px;border-top:1px solid var(--line);font-size:7px}.keyboard-footer span:last-child{display:flex;align-items:center;gap:7px;color:var(--cyan)}footer{display:flex;justify-content:space-between;padding:25px 0 0;margin-top:12px;border-top:1px solid var(--line);font-size:7px}footer b{color:var(--cyan)}footer svg{vertical-align:middle;color:var(--cyan)}.help-banner{display:flex;align-items:center;gap:8px;margin:-20px 0 25px;padding:12px 14px;border:1px solid #4b625d;border-radius:5px;background:#1a2825;color:#aebbb5;font-size:11px}.help-banner b{color:var(--cyan)}.help-banner button{margin-left:auto;border:0;background:none;color:var(--cyan);font:9px var(--mono)}@media(max-width:1050px){.app-shell{padding:0 24px 25px}.upper-rack,.lower-rack{grid-template-columns:1fr 1fr}.mixer-module{grid-column:1/-1;grid-row:2}.lower-rack .filter-module{grid-column:1/-1}.patchbay{grid-template-columns:140px minmax(80px,1fr) 160px}}@media(max-width:650px){.app-shell{padding:0 14px 20px}.topbar{height:62px}.topbar-center{display:none}.hero{padding:38px 0 28px}.hero h1{font-size:40px}.hero-readout{font-size:7px}.hero-readout strong{font-size:11px}.upper-rack,.lower-rack{grid-template-columns:1fr}.mixer-module,.lower-rack .filter-module{grid-column:auto;grid-row:auto}.module{padding:16px}.patchbay{grid-template-columns:1fr 1fr;gap:8px}.patch-cables{display:none}.patch-node{font-size:8px}.patch-node small{font-size:6px}.route-toggles{gap:12px}.envelope-knobs .knob{width:48px;height:48px}.keyboard-module{padding:15px 10px}.piano{height:115px}.black-key{right:-22%;width:44%}.keyboard-footer{font-size:6px}footer{gap:8px;flex-wrap:wrap}.help-banner{font-size:10px;align-items:flex-start}.top-actions{gap:7px}}.patch-label{display:flex;justify-content:space-between;align-items:center}.patch-label small{font-size:7px;color:#5d696b;letter-spacing:.5px}.draggable-node{cursor:grab;-webkit-user-select:none;user-select:none;transition:border-color .15s,background .15s,opacity .15s}.draggable-node:active{cursor:grabbing}.draggable-node.is-dragging{opacity:.45;border-style:dashed}.drop-target{transition:border-color .15s,background .15s,box-shadow .15s}.drop-target.can-receive{border-color:#8a7859;background:#29251e;box-shadow:0 0 0 1px #f0b96a22}.drop-target:hover{border-color:var(--amber)}.patch-status{margin:9px 0 13px;color:#9ca7a5;font:8px var(--mono);letter-spacing:.25px}.patch-status span{color:#657173;margin-left:8px}@media(max-width:650px){.patch-status span{display:block;margin:5px 0 0}}.modulation-module{margin-bottom:8px}.modulation-intro{max-width:760px;margin:-7px 0 14px;color:#899596;font:10px/1.65 var(--mono)}.modulation-controls{display:grid;grid-template-columns:minmax(190px,.7fr) 2fr;gap:24px;align-items:center}.modulation-controls>.knob-row{padding:8px 0}.lfo-destination-hints{display:flex;flex-wrap:wrap;gap:9px 28px;padding-top:13px;border-top:1px solid var(--line);color:#899596;font:8px/1.5 var(--mono)}.lfo-destination-hints b{margin-right:5px;color:var(--violet);letter-spacing:.7px}.vco2-mod-controls{margin-top:16px;padding-top:13px;border-top:1px solid var(--line)}.vco2-mod-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:#dce2dd;font:8px var(--mono);letter-spacing:.9px}.vco2-mod-heading small{color:#748184;font-size:7px;letter-spacing:0;text-align:right}.sync-button{display:flex;width:100%;align-items:center;gap:11px;padding:10px 12px;border:1px solid #414b4e;border-radius:5px;background:#151a1c;color:#cbd3ce;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.sync-button:hover{border-color:#8974b5}.sync-button:focus-visible{outline:2px solid var(--violet);outline-offset:2px}.sync-button.is-active{border-color:#806ab0;background:#282238}.sync-indicator{width:9px;height:9px;flex:none;border:1px solid #8c9695;border-radius:50%;background:transparent}.sync-button.is-active .sync-indicator{border-color:var(--violet);background:var(--violet);box-shadow:0 0 9px var(--violet)}.sync-button>span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:4px}.sync-button strong{font:9px var(--mono);letter-spacing:.8px}.sync-button small{color:#83908f;font:8px var(--mono)}.sync-button>b{color:#879392;font:9px var(--mono)}.sync-button.is-active>b{color:#d0bdfb}.vco2-fm-control{display:flex;align-items:center;gap:15px;padding-top:8px}.vco2-fm-control .knob-row{padding:12px 0 5px}.vco2-fm-control p{max-width:205px;color:#758082;font:8px/1.6 var(--mono)}@media(max-width:650px){.modulation-controls{grid-template-columns:1fr;gap:2px}.vco2-mod-heading{align-items:flex-start;flex-direction:column}.vco2-mod-heading small{text-align:left}.vco2-fm-control{align-items:flex-start;gap:8px}.vco2-fm-control p{padding-top:14px}.lfo-destination-hints{flex-direction:column;gap:7px}}.midi-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 18px;margin:0 0 18px;padding:14px 16px;border:1px solid var(--line);background:#111719}.midi-panel>div{display:grid;gap:5px}.midi-panel>div strong{font:11px var(--mono);letter-spacing:1px;color:#dce2dd}.midi-panel>div small,.midi-device-list,.midi-unsupported{font:8px var(--mono);letter-spacing:.45px;color:#748184}.midi-button{padding:10px 14px;border:1px solid #635b83;background:#211e2b;color:#c9b9f4;font:9px var(--mono);letter-spacing:1px;cursor:pointer;transition:background .15s,border-color .15s}.midi-button:hover{background:#302a40;border-color:#9a86d2}.midi-device-list,.midi-unsupported{grid-column:1/-1;overflow-wrap:anywhere}.midi-unsupported{color:#c49a65}@media(max-width:650px){.midi-panel{grid-template-columns:1fr;gap:12px}.midi-button{justify-self:start}.midi-device-list,.midi-unsupported{grid-column:auto}}.signal-flow{display:flex;align-items:center;gap:10px;padding:18px 16px;margin-bottom:20px;border:1px solid #343d3f;border-radius:6px;background:linear-gradient(90deg,#151a1c,#1b2022);overflow-x:auto}.signal-stage{display:flex;flex:1;min-width:92px;flex-direction:column;gap:5px;padding:10px 12px;border:1px solid #3a4446;border-radius:5px;background:#202629}.signal-stage>span{font:8px var(--mono);color:var(--cyan);letter-spacing:1px}.signal-stage strong{font:600 10px var(--display);letter-spacing:.7px;color:#e9eee9;white-space:nowrap}.signal-stage small{font:8px var(--mono);color:#849092;white-space:nowrap}.signal-arrow{color:#657174;font:18px var(--mono);flex:none}.signal-output{display:flex;align-items:center;gap:7px;padding:10px 0;font:9px var(--mono);letter-spacing:1px;color:var(--cyan);white-space:nowrap}.output-led{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 9px var(--cyan)}.route-groups{display:grid;grid-template-columns:1fr 1fr;gap:16px}.route-group{min-width:0;border:1px solid #30393c;border-radius:6px;background:#15191b;overflow:hidden}.route-group-heading{display:flex;align-items:center;gap:11px;padding:13px 14px;border-bottom:1px solid #30393c;background:#1c2224}.route-group-index{display:grid;place-items:center;width:25px;height:25px;border:1px solid #485456;border-radius:4px;color:var(--amber);font:10px var(--mono)}.route-group-heading div{display:flex;flex-direction:column;gap:4px}.route-group-heading strong{font:9px var(--mono);letter-spacing:1px;color:#e2e8e2}.route-group-heading small{font:8px var(--mono);color:#849092}.route-list{padding:5px 12px}.route-row{display:grid;grid-template-columns:minmax(90px,1fr) 35px minmax(95px,1fr) auto;align-items:center;gap:8px;min-height:54px;border-bottom:1px solid #2a3133;opacity:.62;transition:opacity .15s}.route-row:last-child{border-bottom:0}.route-row.is-connected{opacity:1}.route-source,.route-destination{display:flex;align-items:center;gap:8px;font:9px var(--mono);letter-spacing:.5px;color:#e2e8e2;white-space:nowrap}.route-destination{color:#b8c2bd}.route-dot{width:8px;height:8px;flex:none;border-radius:50%;background:#778184}.route-dot.cyan{background:var(--cyan);box-shadow:0 0 7px #65d9d177}.route-dot.violet{background:var(--violet);box-shadow:0 0 7px #b59af477}.route-type{font:8px var(--mono);color:#758184;text-align:center}.route-switch{min-width:91px;padding:7px 8px;border:1px solid #485254;border-radius:4px;background:#202629;color:#9aa5a3;font:8px var(--mono);letter-spacing:.5px;transition:all .15s}.route-row.is-connected .route-switch{border-color:#4f8d83;background:#1b302c;color:var(--cyan)}.route-switch:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.routing-footnote{line-height:1.6}@media(max-width:900px){.route-groups{grid-template-columns:1fr}.signal-flow{gap:7px}.signal-stage{min-width:82px;padding:9px}.signal-stage strong{font-size:9px}}@media(max-width:650px){.signal-flow{justify-content:flex-start}.signal-stage{flex:0 0 100px}.route-row{grid-template-columns:minmax(85px,1fr) 28px minmax(90px,1fr) auto;gap:5px}.route-source,.route-destination{font-size:8px}.route-switch{min-width:78px;padding:7px 5px;font-size:7px}.route-list{padding:4px 7px}.route-group-heading{padding:11px}}.route-state{justify-self:end;min-width:112px;padding:7px 8px;border:1px solid #3b4447;border-radius:4px;background:#1a1f21;color:#879294;text-align:center;font:8px var(--mono);letter-spacing:.35px;white-space:nowrap}.route-state.is-active{border-color:#7866a7;background:#272238;color:#c5b4f5}@media(max-width:900px){.route-group-modulation{grid-column:auto}}@media(max-width:650px){.route-state{min-width:78px;padding:6px 4px;font-size:7px}.route-group-modulation{grid-column:auto}}.route-group-modulation{grid-column:1/-1}.route-group-modulation .route-group-heading small{line-height:1.5}.route-state{min-width:112px}@media(max-width:650px){.route-state{min-width:78px}}.select-control select:disabled{opacity:.45;cursor:not-allowed}.midi-panel{grid-template-columns:minmax(0,1fr) auto}.midi-panel-actions{display:flex;align-items:center;gap:8px}.midi-map-toggle{padding:10px 12px;border:1px solid #414b4e;border-radius:3px;background:#171d1f;color:#aab7b2;font:8px var(--mono);letter-spacing:.8px;cursor:pointer}.midi-map-toggle:hover,.midi-map-toggle[aria-expanded=true]{border-color:#806ab0;color:#d0bdfb;background:#252033}.midi-map-toggle span{margin-left:5px;color:var(--cyan)}.cc-mapping-panel{grid-column:1/-1;padding:12px 13px;border:1px solid #343d40;border-radius:4px;background:#14191b}.cc-map-topline,.cc-map-assign{display:flex;align-items:center;justify-content:space-between;gap:12px}.cc-map-topline strong{font:9px var(--mono);letter-spacing:1px;color:#dce2dd}.cc-map-topline>span,.cc-map-hint{font:8px var(--mono);color:#748184}.cc-map-assign{justify-content:flex-start;margin-top:11px}.cc-map-assign label{display:flex;flex:1;align-items:center;gap:10px;min-width:0}.cc-map-assign label>span{flex:none;font:8px var(--mono);color:#849092}.cc-map-assign select{width:100%;min-width:0;padding:8px 9px;border:1px solid #3b4548;border-radius:3px;background:#1c2325;color:#e0e7e1;font:9px var(--mono)}.cc-map-assign button{flex:none;padding:9px 12px;border:1px solid #635b83;border-radius:3px;background:#211e2b;color:#c9b9f4;font:8px var(--mono);letter-spacing:.7px;cursor:pointer}.cc-map-assign button:disabled{opacity:.4;cursor:not-allowed}.cc-map-assign button.is-learning{border-color:var(--cyan);background:#1b302c;color:var(--cyan);animation:cc-pulse 1.1s ease-in-out infinite alternate}.cc-map-hint{margin:8px 0 0;line-height:1.5}.cc-map-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 14px;margin-top:10px;padding-top:9px;border-top:1px solid #2c3436}.cc-map-row{display:flex;align-items:center;gap:8px;min-width:0;color:#aeb9b3;font:8px var(--mono)}.cc-map-row span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-map-row b{color:var(--cyan);font-weight:400;white-space:nowrap}.cc-map-row button{width:19px;height:19px;border:0;border-radius:3px;background:#252c2e;color:#9ca7a5;font-size:14px;cursor:pointer}@keyframes cc-pulse{to{box-shadow:0 0 0 3px #65d9d122}}.knob input{touch-action:none;cursor:grab}.knob input:active{cursor:grabbing}@media(max-width:650px){.midi-panel{grid-template-columns:1fr}.midi-panel-actions{flex-wrap:wrap}.cc-mapping-panel{grid-column:auto}.cc-map-assign{align-items:stretch;flex-direction:column}.cc-map-assign label{align-items:flex-start;flex-direction:column}.cc-map-list{grid-template-columns:1fr}}.microphone-panel{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 15px;padding:11px 13px;border:1px solid #343d40;border-radius:4px;background:#14191b}.microphone-panel.is-active{border-color:#4b8278;background:#172522}.microphone-info{display:grid;gap:4px;min-width:0}.microphone-info strong{font:10px var(--mono);letter-spacing:.8px;color:#dce2dd}.microphone-info small{font:8px var(--mono);color:#82908f;overflow-wrap:anywhere}.microphone-panel.is-active .microphone-info small{color:var(--cyan)}.microphone-button{flex:none;padding:9px 12px;border:1px solid #4a6f68;border-radius:3px;background:#1a2926;color:#a9e8dc;font:8px var(--mono);letter-spacing:.8px;cursor:pointer}.microphone-button:hover{border-color:var(--cyan);background:#203631}.microphone-panel.is-active .microphone-button{border-color:#806ab0;background:#252033;color:#d0bdfb}.piano{height:132px}.white-key span{font-size:9px}.white-key small{font-size:7px}.black-key{right:-27%;width:54%;height:59%}.black-key span{font-size:7px}@media(max-width:650px){.microphone-panel{align-items:flex-start}.microphone-info small{font-size:7px}.piano{height:112px}.black-key{right:-30%;width:60%;height:58%}.white-key{padding-bottom:7px}.white-key span{font-size:8px}}.glide-panel{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;margin:0 0 12px;padding:12px 14px;border:1px solid #343d40;border-radius:4px;background:#14191b}.glide-info{display:grid;gap:4px}.glide-info strong{font:10px var(--mono);letter-spacing:.8px;color:#dce2dd}.glide-info small{font:8px var(--mono);color:#82908f}.glide-toggle{display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid #485254;border-radius:3px;background:#202629;color:#9aa5a3;font:8px var(--mono);letter-spacing:.8px;cursor:pointer}.glide-toggle.is-active{border-color:#4f8d83;background:#1b302c;color:var(--cyan)}.glide-toggle .sync-indicator{width:8px;height:8px}.glide-toggle.is-active .sync-indicator{border-color:var(--cyan);background:var(--cyan);box-shadow:0 0 8px var(--cyan)}.glide-amount .knob-control{display:grid;grid-template-columns:auto 38px auto;align-items:center;gap:8px}.glide-amount .knob{width:38px;height:38px}.glide-amount .knob-face{top:4px;right:4px;bottom:4px;left:4px}.glide-amount .knob-indicator{transform-origin:1px 15px}.glide-amount .knob-label{font-size:7px}.glide-amount output{font-size:8px}@media(max-width:650px){.glide-panel{grid-template-columns:1fr auto;gap:10px}.glide-info small{font-size:7px}.glide-amount{grid-column:1/-1}.glide-amount .knob-control{grid-template-columns:auto 38px auto;justify-content:start}}
