:root{--ac-page-accent: var(--piano-accent);--key-min-w: 30px;--key-white-h: 186px;--key-black-h: 114px;--stage-lift: 152px;--note-travel: 1;--color-text-secondary: #596070;--meter-track: #cbcfd8;--piano-accent: #8b5cf6;--piano-accent-bright: #a78bfa;--piano-accent-deep: #6d33d6;--piano-accent-rgb: 139, 92, 246;--meter-cool: #22d3ee;--meter-warn: #f59e0b;--meter-over: #ef4444;--rec-red: #e5484d;--case-top: #2a2340;--case-bottom: #15111f;--case-edge: rgba(255, 255, 255, .07);--case-ink: #cdc6e4;--case-ink-dim: #8e86ab;--mono: ui-monospace, "SF Mono", "Cascadia Mono", "Fira Code", Consolas, monospace}.mc-page{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;max-width:1240px;margin:0 auto;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--panel-gap);min-height:100vh}.mc-page>.control-group{flex:none}.mc-columns{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:var(--panel-gap);align-items:start}.mc-header{padding:var(--spacing-md) var(--spacing-lg) var(--spacing-lg)}.title-container{display:flex;align-items:center;gap:var(--spacing-sm)}.main-title-container{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;min-width:0}.header-info{display:flex;flex-direction:column;gap:.35rem}.header-info--title{display:flex;flex-direction:row;gap:.85rem;align-items:center}.main-title{font-size:1.25rem;font-weight:600;margin:0;color:var(--color-primary)}.version-badge{background:var(--color-primary);color:var(--color-surface);padding:.2rem .5rem;border-radius:var(--border-radius);font-size:.8rem;font-weight:600}.copyright{font-size:.8rem;color:var(--color-text-secondary)}.mc-subtitle{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:.5rem}.mc-subtitle .tagline{margin:0;font-size:clamp(1.6rem,3.4vw,2.15rem);font-weight:700;line-height:1.1;letter-spacing:-.025em;color:var(--piano-accent-deep)}.mc-lede{margin:0;max-width:62ch;font-size:.95rem;line-height:1.6;color:var(--color-text-secondary)}.console{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:14px}.console.is-loading{min-height:420px}.load-ribbon{position:absolute;z-index:2;top:52px;left:50%;transform:translate(-50%);width:min(400px,calc(100% - 48px));display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;pointer-events:none;transition:opacity .45s ease,transform .45s ease}.load-ribbon.is-done{opacity:0;transform:translate(-50%) translateY(-6px)}.load-ribbon-count{margin:0;display:flex;align-items:baseline;gap:8px;color:var(--case-ink)}.load-ribbon-number{font-family:var(--mono);font-size:1.5rem;font-weight:700;line-height:1;color:var(--piano-accent-bright);font-variant-numeric:tabular-nums}.load-ribbon-of{font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.75}.load-bar{width:100%;height:4px;border-radius:2px;background:#ffffff1f;overflow:hidden}.load-bar-fill{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,var(--piano-accent-deep),var(--piano-accent),var(--meter-cool));transition:transform .25s ease-out}.load-ribbon-note{margin:0;max-width:34ch;font-size:.72rem;line-height:1.5;color:var(--case-ink-dim)}.deck{display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px}.deck-group{display:flex;align-items:center;gap:10px}.deck-group--volume{flex:0 1 260px;min-width:190px}.deck-group--actions{margin-left:auto;gap:12px;flex-wrap:wrap}.deck-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);white-space:nowrap}.deck-group--volume input[type=range]{min-width:0;flex:1}.deck-group--volume input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--piano-accent) var(--range-progress, 0%),var(--color-border) var(--range-progress, 0%))}.deck-group--volume input[type=range]::-webkit-slider-thumb{background:var(--piano-accent)}.deck-group--volume input[type=range]::-moz-range-progress{background:var(--piano-accent)}.deck-group--volume input[type=range]::-moz-range-thumb{background:var(--piano-accent)}.deck-readout{font-family:var(--mono);font-size:.8rem;font-weight:600;color:var(--color-text);min-width:42px;text-align:right;font-variant-numeric:tabular-nums}.segmented{display:inline-flex;padding:3px;gap:3px;border-radius:8px;background:var(--color-surface-secondary);border:1px solid var(--color-border)}.segmented-option{padding:5px 15px;border:none;border-radius:6px;background:transparent;color:var(--color-text-secondary);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.segmented-option:hover:not(.is-active){background:rgba(var(--piano-accent-rgb),.12);color:var(--color-text);transform:none}.segmented-option.is-active{background:var(--piano-accent);color:#fff;box-shadow:0 2px 6px -1px rgba(var(--piano-accent-rgb),.55)}.segmented-option:focus-visible{outline:2px solid var(--piano-accent);outline-offset:2px}.switch{display:inline-flex;align-items:center;gap:8px;padding:5px 11px 5px 7px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-secondary);color:var(--color-text-secondary);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:border-color .18s ease,color .18s ease,background .18s ease}.switch:hover{transform:none;border-color:var(--piano-accent)}.switch:focus-visible{outline:2px solid var(--piano-accent);outline-offset:2px}.switch-track{position:relative;width:30px;height:17px;border-radius:999px;background:var(--color-border);flex:none;transition:background .2s ease}.switch-knob{position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000059;transition:transform .2s cubic-bezier(.2,.9,.3,1)}.switch.is-on{color:var(--color-text);border-color:rgba(var(--piano-accent-rgb),.55)}.switch.is-on .switch-track{background:var(--piano-accent)}.switch.is-on .switch-knob{transform:translate(13px)}.switch.is-pedalled{box-shadow:0 0 0 3px rgba(var(--piano-accent-rgb),.2)}.switch--compact{padding:4px 9px 4px 6px;font-size:.72rem;font-family:var(--mono)}.switch--compact .switch-track{width:26px;height:15px}.switch--compact .switch-knob{width:11px;height:11px}.switch--compact.is-on .switch-knob{transform:translate(11px)}.stepper{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-secondary)}.stepper-button{width:26px;height:26px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--color-text);font:inherit;font-size:1rem;font-weight:700;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease}.stepper-button:hover:not(:disabled){transform:none;background:rgba(var(--piano-accent-rgb),.16);color:var(--piano-accent-deep)}.stepper-button:disabled{opacity:.35;cursor:not-allowed;background:transparent}.stepper-button:focus-visible{outline:2px solid var(--piano-accent);outline-offset:1px}.stepper-value{min-width:34px;text-align:center;font-family:var(--mono);font-size:.8rem;font-weight:700;color:var(--piano-accent-deep);font-variant-numeric:tabular-nums}.switch-kbd,kbd{font-family:var(--mono);font-size:.65rem;font-weight:700;padding:1px 5px;border-radius:4px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary)}.ghost-button,.primary-button{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:7px;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.ghost-button{background:var(--color-surface-secondary);border:1px solid var(--color-border);color:var(--color-text)}.ghost-button:hover:not(:disabled){transform:none;background:rgba(var(--piano-accent-rgb),.12);border-color:rgba(var(--piano-accent-rgb),.5)}.ghost-button:disabled{opacity:.45;cursor:not-allowed;background:var(--color-surface-secondary)}.ghost-button:focus-visible,.primary-button:focus-visible{outline:2px solid var(--piano-accent);outline-offset:2px}.ghost-button.is-on{background:rgba(var(--piano-accent-rgb),.16);border-color:var(--piano-accent);color:var(--piano-accent-deep)}.ghost-button--record .btn-icon{color:var(--rec-red)}.ghost-button.is-armed{border-color:var(--rec-red);background:#e5484d1f;color:var(--rec-red)}.ghost-button.is-armed .btn-icon{animation:recPulse 1.1s ease-in-out infinite}@keyframes recPulse{0%,to{opacity:1}50%{opacity:.25}}.primary-button{background:var(--piano-accent);border:1px solid var(--piano-accent);color:#fff;box-shadow:0 2px 8px -2px rgba(var(--piano-accent-rgb),.6)}.primary-button:hover:not(:disabled){transform:none;background:var(--piano-accent-deep);border-color:var(--piano-accent-deep)}.primary-button.is-playing{background:var(--color-text);border-color:var(--color-text);box-shadow:none}.btn-icon{width:14px;height:14px;flex:none}.monitor{display:grid;grid-template-columns:repeat(3,auto) minmax(160px,230px) minmax(190px,270px);justify-content:space-between;gap:12px 22px;align-items:start;padding:12px 14px;border-radius:10px;background:var(--color-surface-secondary);border:1px solid var(--color-border)}.monitor-cell{display:flex;flex-direction:column;gap:5px;min-width:0}.monitor-label{font-size:.66rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-secondary);display:flex;align-items:baseline;gap:7px;white-space:nowrap}.monitor-inline{font-family:var(--mono);font-style:normal;font-size:.72rem;letter-spacing:0;text-transform:none;color:var(--color-text);font-variant-numeric:tabular-nums}.monitor-value{font-family:var(--mono);font-size:1.5rem;font-weight:700;line-height:1;color:var(--piano-accent-deep);font-variant-numeric:tabular-nums}.monitor-line{display:flex;align-items:center;gap:10px}.voice-dots{display:inline-flex;gap:2px}.voice-dots i{width:4px;height:14px;border-radius:2px;background:var(--meter-track);transition:background .12s ease,transform .12s ease}.voice-dots i.is-lit{background:var(--piano-accent);transform:scaleY(1.18)}.meter{position:relative;height:9px;border-radius:5px;background:var(--meter-track);overflow:hidden}.meter-fill{height:100%;width:0;border-radius:5px;background:var(--piano-accent);transition:background .15s ease}.meter-fill.is-close{background:var(--meter-warn)}.meter-fill.is-over{background:var(--meter-over)}.meter--headroom .meter-band{position:absolute;top:0;right:0;bottom:0;left:83.3%;background:linear-gradient(90deg,#f59e0b47,#ef444466)}.meter--headroom .meter-zero{position:absolute;top:-2px;bottom:-2px;left:88.9%;width:2px;background:var(--color-text);opacity:.5}.meter--headroom .meter-fill{position:relative}.meter--reduction .meter-fill{background:var(--meter-cool)}.monitor-cell--meter{gap:7px}.monitor-cell--meter .switch{align-self:start}.monitor-cell.is-off .meter{opacity:.4}.monitor-cell.is-off .monitor-inline{color:var(--color-text-secondary)}.instrument-frame{position:relative}.instrument{position:relative;border-radius:14px;padding:0 20px 22px;background:linear-gradient(180deg,var(--case-top) 0%,var(--case-bottom) 100%);box-shadow:inset 0 1px 0 var(--case-edge),inset 0 -18px 30px -22px #000000e6,0 14px 34px -16px #15111fcc;overflow:auto;overscroll-behavior-x:contain;scrollbar-width:thin}.piano-stage{position:relative;padding-top:var(--stage-lift);width:100%;display:flex;flex-direction:column}.case-plate{position:absolute;z-index:1;top:16px;left:24px;right:24px;display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;pointer-events:none}.case-brand{font-weight:700;color:var(--case-ink);opacity:.5;text-shadow:0 1px 0 rgba(0,0,0,.6)}.case-engine{font-family:var(--mono);letter-spacing:.12em;color:var(--piano-accent-bright);opacity:.72}.keybed{width:100%;min-width:calc(var(--white-count) * var(--key-min-w))}.piano-felt{position:relative;height:5px;margin-bottom:9px;border-radius:3px;background:var(--case-ink-dim);opacity:.28}.felt-window{position:absolute;top:-1px;bottom:-1px;left:0;width:100%;border-radius:4px;background:linear-gradient(90deg,var(--piano-accent-deep),var(--piano-accent),var(--meter-cool));box-shadow:0 1px 8px rgba(var(--piano-accent-rgb),.75);transform-origin:left center;transform:translate(var(--window-x, 0)) scaleX(var(--window-scale, 0));transition:transform .28s cubic-bezier(.2,.9,.3,1)}.piano-keyboard{position:relative;-webkit-user-select:none;user-select:none}.piano-white-keys{display:grid;grid-template-columns:repeat(var(--white-count),minmax(0,1fr))}.piano-key{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent;touch-action:none;transition:background .06s ease,box-shadow .06s ease,transform .06s ease,opacity .25s ease}.piano-key:hover{transform:none}.piano-key:focus{outline:none}.piano-key.is-pending{cursor:progress;filter:grayscale(1) brightness(.62);animation:keyWaiting 2.4s ease-in-out infinite;animation-delay:calc(var(--wait-delay, 0) * 40ms)}.piano-key.is-pending:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:#0a071273}@keyframes keyWaiting{0%,to{opacity:.55}50%{opacity:.8}}.piano-key.is-arriving{animation:keyArrived .5s ease-out}@keyframes keyArrived{0%{box-shadow:0 0 rgba(var(--piano-accent-rgb),.85),0 0 22px 4px rgba(var(--piano-accent-rgb),.7)}to{box-shadow:0 0 rgba(var(--piano-accent-rgb),0),0 0 rgba(var(--piano-accent-rgb),0)}}.piano-key--white{height:var(--key-white-h);padding:0 0 10px;border:1px solid #c3c0cf;border-top:none;border-radius:0 0 7px 7px;background:linear-gradient(180deg,#fff,#fbfbfd 78%,#ececf2);box-shadow:inset 0 -9px 10px -9px #281a4e73,0 3px #cfccdb,0 8px 14px -6px #00000073}.piano-key--white:hover{background:linear-gradient(180deg,#fbf8ff,#f3edff 78%,#e6dcfb)}.piano-key--white.is-active{background:linear-gradient(180deg,#ece2ff,#dcccff 70%,#c9b3fb);transform:translateY(3px);box-shadow:inset 0 10px 12px -10px #4623968c,0 0 0 1px rgba(var(--piano-accent-rgb),.45),0 0 18px -2px rgba(var(--piano-accent-rgb),.55)}.piano-key--black{position:absolute;top:0;z-index:2;height:var(--key-black-h);padding:0 0 8px;left:calc(var(--black-offset) * 100% / var(--white-count));width:calc(var(--black-ratio) * 100% / var(--white-count));border:none;border-radius:0 0 5px 5px;background:linear-gradient(180deg,#443c5e,#221c33 55%,#100c1a);box-shadow:inset 0 1px #ffffff2e,0 4px #06040c,0 9px 14px -5px #000000b3}.piano-key--black:hover{background:linear-gradient(180deg,#5a4a8a,#33255c 55%,#1a1030)}.piano-key--black.is-active{background:linear-gradient(180deg,#8b5cf6,#6231c9 60%,#3d1a86);transform:translateY(3px);box-shadow:inset 0 1px #ffffff4d,0 1px #06040c,0 0 20px -1px rgba(var(--piano-accent-rgb),.7)}.piano-black-keys{position:absolute;top:0;left:0;width:100%;pointer-events:none}.piano-black-keys .piano-key{pointer-events:auto}.piano-key--white:not(.is-mapped){background:linear-gradient(180deg,#e7e4ee,#dfdce8 78%,#cdc9da);border-color:#adaabb}.piano-key--white:not(.is-mapped):hover{background:linear-gradient(180deg,#ece6fb,#e0d6f8 78%,#cbbcf0)}.piano-key--black:not(.is-mapped){background:linear-gradient(180deg,#322c46,#1b1729 55%,#0d0a15)}.key-shortcut{position:absolute;font-family:var(--mono);font-size:.62rem;font-weight:700;pointer-events:none}.piano-key--white .key-shortcut{top:calc(var(--key-black-h) + 10px);color:var(--piano-accent-deep)}.piano-key--black .key-shortcut{top:8px;font-size:.55rem;color:#c9baf7}.key-label{font-size:.62rem;font-weight:600;line-height:1;pointer-events:none}.piano-key--white .key-label{color:#8b859f}.key-label sub{font-size:.52rem;vertical-align:sub;opacity:.8}.load-notice{margin:-6px 0 0;font-size:.76rem;color:var(--color-text-secondary)}.note-anim{position:absolute;display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:none;z-index:10;color:var(--piano-accent-bright);transform:translate(-50%) translateY(calc(var(--note-y, 0px) * var(--note-travel)));text-shadow:0 2px 12px rgba(var(--piano-accent-rgb),.7)}.note-anim-icon{font-size:1.55rem;line-height:1}.note-anim-label{font-family:var(--mono);font-size:.62rem;font-weight:700;letter-spacing:.03em;background:var(--piano-accent);color:#fff;padding:1px 5px;border-radius:4px;text-shadow:none}.instrument-hint{margin:0;font-size:.8rem;line-height:1.55;color:var(--color-text-secondary);max-width:78ch}.hint-narrow{display:none}.console-bottom{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:14px 24px;padding-top:4px;border-top:1px solid var(--color-border)}.bay{display:flex;flex-direction:column;gap:8px;min-width:0}.bay-title{margin:10px 0 0;font-size:.95rem;font-weight:700;letter-spacing:-.01em;color:var(--color-text)}.bay-title:first-child{margin-top:0}.bay-note{margin:-4px 0 0;font-size:.78rem;line-height:1.5;color:var(--color-text-secondary)}.pad-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.pad{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 11px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface-secondary);color:var(--color-text);font:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .08s ease}.pad:hover{transform:none;border-color:rgba(var(--piano-accent-rgb),.6);background:rgba(var(--piano-accent-rgb),.1)}.pad:focus-visible{outline:2px solid var(--piano-accent);outline-offset:2px}.pad.is-hit{background:var(--piano-accent);border-color:var(--piano-accent);color:#fff;transform:translateY(2px);box-shadow:0 0 20px -3px rgba(var(--piano-accent-rgb),.75)}.pad.is-hit .pad-spelling{color:#ffffffd9}.pad-label{font-size:.95rem;font-weight:700;letter-spacing:-.01em}.pad-spelling{font-family:var(--mono);font-size:.66rem;color:var(--color-text-secondary)}.transport-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.field-select{flex:1 1 170px;min-width:0;padding:7px 10px;border:1px solid var(--color-border);border-radius:7px;background:var(--color-surface-secondary);color:var(--color-text);font:inherit;font-size:.82rem;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}.field-select:hover{border-color:var(--piano-accent)}.field-select:focus-visible{outline:none;border-color:var(--piano-accent);box-shadow:0 0 0 3px rgba(var(--piano-accent-rgb),.25)}.rec-status{min-height:2.2em}.take-save{display:flex;gap:8px;margin-top:2px}.field-input{flex:1 1 auto;min-width:0;padding:7px 10px;border:1px solid var(--color-border);border-radius:7px;background:var(--color-surface-secondary);color:var(--color-text);font:inherit;font-size:.82rem;transition:border-color .18s ease,box-shadow .18s ease,opacity .18s ease}.field-input::placeholder{color:var(--color-text-secondary)}.field-input:hover:not(:disabled){border-color:var(--piano-accent)}.field-input:focus-visible{outline:none;border-color:var(--piano-accent);box-shadow:0 0 0 3px rgba(var(--piano-accent-rgb),.25)}.field-input:disabled{opacity:.5;cursor:not-allowed}.take-list{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column;gap:5px;max-height:208px;overflow-y:auto;scrollbar-width:thin}.take-empty{padding:10px 2px;font-size:.76rem;line-height:1.5;color:var(--color-text-secondary)}.take{display:flex;align-items:center;gap:9px;padding:6px 8px 6px 6px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-secondary);transition:border-color .15s ease,background .15s ease}.take:hover{border-color:rgba(var(--piano-accent-rgb),.55)}.take.is-loaded{border-color:var(--piano-accent);background:rgba(var(--piano-accent-rgb),.12)}.take-play,.take-delete{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:0;border:none;border-radius:6px;background:transparent;color:var(--color-text-secondary);font:inherit;cursor:pointer;transition:background .15s ease,color .15s ease}.take-play{width:28px;height:28px;color:var(--piano-accent-deep)}.take-play:hover{transform:none;background:rgba(var(--piano-accent-rgb),.18)}.take-delete{height:28px;min-width:28px;padding:0 6px;font-size:.72rem;font-weight:700}.take-delete:hover{transform:none;background:#e5484d29;color:var(--rec-red)}.take-delete.is-confirming{background:#e5484d2e;color:var(--rec-red)}.take-play:focus-visible,.take-delete:focus-visible{outline:2px solid var(--piano-accent);outline-offset:1px}.take-body{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.take-name{font-size:.82rem;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.take-meta{font-family:var(--mono);font-size:.65rem;color:var(--color-text-secondary)}.rec-status.is-live{color:var(--rec-red);font-weight:600}.rec-track{height:4px;border-radius:2px;background:var(--meter-track);overflow:hidden}.rec-track-fill{height:100%;width:100%;background:var(--rec-red);transform:scaleX(0);transform-origin:left center;transition:transform .1s linear}.engine-lab{padding:18px 20px;display:flex;flex-direction:column;gap:12px}.lab-text{margin:0;font-size:.82rem;line-height:1.6;color:var(--color-text)}.lab-text--muted{color:var(--color-text-secondary)}.lab-stats{display:flex;flex-wrap:wrap;gap:8px 26px;margin:2px 0}.lab-stats div{display:flex;flex-direction:column;gap:2px}.lab-stats dt{font-size:.65rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-secondary)}.lab-stats dd{margin:0;font-family:var(--mono);font-size:1rem;font-weight:700;color:var(--piano-accent-deep)}.wave-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.wave-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-secondary);color:var(--color-text-secondary);font:inherit;font-size:.68rem;font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.wave-option svg{width:100%;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}.wave-option:hover{transform:none;border-color:rgba(var(--piano-accent-rgb),.55);color:var(--color-text)}.wave-option:focus-visible{outline:2px solid var(--piano-accent);outline-offset:2px}.wave-option.is-active{border-color:var(--piano-accent);background:rgba(var(--piano-accent-rgb),.15);color:var(--piano-accent-deep)}.envelope-view{width:100%;height:72px;border-radius:8px;background:linear-gradient(180deg,var(--case-top),var(--case-bottom));box-shadow:inset 0 1px 0 var(--case-edge)}.envelope-grid{stroke:#ffffff24;stroke-width:1;fill:none}.envelope-line{fill:none;stroke:var(--piano-accent-bright);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 5px rgba(var(--piano-accent-rgb),.7))}.lab-divider{height:1px;background:var(--color-border);margin:2px 0}.adsr{display:flex;flex-direction:column;gap:7px}.adsr-row{display:grid;grid-template-columns:62px minmax(0,1fr) 48px;align-items:center;gap:9px}.adsr-row label{font-size:.75rem;font-weight:600;color:var(--color-text-secondary)}.adsr-row output{font-family:var(--mono);font-size:.72rem;color:var(--color-text);text-align:right;font-variant-numeric:tabular-nums}.adsr-row input[type=range]{min-width:0}.adsr-row input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--piano-accent) var(--range-progress, 0%),var(--color-border) var(--range-progress, 0%))}.adsr-row input[type=range]::-webkit-slider-thumb{background:var(--piano-accent)}.adsr-row input[type=range]::-moz-range-progress{background:var(--piano-accent)}.adsr-row input[type=range]::-moz-range-thumb{background:var(--piano-accent)}.piano-info{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:18px 22px;color:var(--color-text)}.info-prose{max-width:74ch}.info-prose h2{margin:0 0 10px;font-size:1.05rem;font-weight:700;letter-spacing:-.01em;color:var(--piano-accent-deep)}.info-prose h3{margin:18px 0 6px;font-size:.88rem;font-weight:700;color:var(--color-text)}.info-prose p{margin:0 0 10px;font-size:.85rem;line-height:1.65}.info-prose p:last-child{margin-bottom:0}.piano-info code,.lab-text code{font-family:var(--mono);font-size:.86em;padding:1px 5px;border-radius:4px;background:rgba(var(--piano-accent-rgb),.13);color:var(--piano-accent-deep)}.info-code-block{margin:0;padding:16px 18px;background:#1e1e2e;border-radius:10px;overflow-x:auto;font-size:.76rem;line-height:1.6}.info-code-block pre{margin:0;padding:0;background:transparent}.info-code-block code{font-family:var(--mono);color:#cdd6f4;background:none;padding:0}body.dark-theme{--color-text-secondary: #a9a4bb;--meter-track: #45414f;--piano-accent-deep: #b79cff;--case-top: #241f36;--case-bottom: #110e1b}body.dark-theme .mc-subtitle .tagline{color:var(--piano-accent-bright)}body.dark-theme .monitor,body.dark-theme .segmented,body.dark-theme .switch,body.dark-theme .ghost-button,body.dark-theme .pad,body.dark-theme .field-select,body.dark-theme .field-input,body.dark-theme .take,body.dark-theme .stepper,body.dark-theme .wave-option{background:#26262b}body.dark-theme .switch-kbd,body.dark-theme kbd{background:#1a1a1f}body.dark-theme .ghost-button:hover:not(:disabled),body.dark-theme .pad:hover,body.dark-theme .wave-option.is-active,body.dark-theme .segmented-option:hover:not(.is-active){background:rgba(var(--piano-accent-rgb),.22)}body.dark-theme .piano-key--white{border-color:#6f6a84;background:linear-gradient(180deg,#ecebf2,#e2e0ea 78%,#cecbdb);box-shadow:inset 0 -9px 10px -9px #140c288c,0 3px #86819c,0 8px 14px -6px #0009}body.dark-theme .piano-key--white:hover{background:linear-gradient(180deg,#e6dcff,#d8caff 78%,#c3b1f5)}body.dark-theme .piano-key--white:not(.is-mapped){background:linear-gradient(180deg,#b9b5c8,#aeaabf 78%,#9a96ad);border-color:#625d75}body.dark-theme .piano-key--white.is-active{background:linear-gradient(180deg,#d9c9ff,#c3aaff 70%,#a888f5)}body.dark-theme .info-code-block{background:#11111b}@media (prefers-reduced-motion: reduce){.piano-key.is-pending,.piano-key.is-arriving,.ghost-button.is-armed .btn-icon{animation:none}.load-ribbon,.load-bar-fill,.note-anim,.piano-key,.switch-knob,.felt-window,.meter-fill{transition:none}}@media (max-width: 1080px){.mc-columns{grid-template-columns:minmax(0,1fr)}.monitor{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch}.monitor-cell--meter{grid-column:span 3}}@media (max-width: 900px){:root{--key-min-w: 26px;--key-white-h: 152px;--key-black-h: 92px;--stage-lift: 120px;--note-travel: .78}.console-bottom{grid-template-columns:minmax(0,1fr)}.deck-group--actions{margin-left:0}}@media (max-width: 620px){.mc-page{padding:var(--spacing-sm)}:root{--key-min-w: 23px;--key-white-h: 124px;--key-black-h: 76px;--stage-lift: 96px;--note-travel: .6}.mc-header,.console{padding:var(--spacing-md)}.instrument{padding:0 12px 16px}.monitor{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px}.monitor-cell:not(.monitor-cell--meter) .monitor-label{white-space:normal}.monitor-value{font-size:1.25rem}.voice-dots,.key-label{display:none}.piano-info{padding:14px 16px}.info-code-block{font-size:.7rem;padding:12px 14px}.pad-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-plate{font-size:.6rem;letter-spacing:.14em}.load-ribbon{top:38px;gap:6px}.load-ribbon-number{font-size:1.2rem}.load-ribbon-note{display:none}.hint-narrow{display:inline;color:var(--piano-accent-deep);font-weight:600}.main-title{font-size:1.05rem}.mc-subtitle{margin-top:var(--spacing-md);padding-top:var(--spacing-md)}.deck{gap:12px 16px}.deck-group--volume{flex:1 1 100%}}
