/* InputSection.css */ .channel-graph-section { flex: 0 0 calc(100% - var(--dsp-control-heigth)); min-height: 0; display: flex; flex-direction: row; gap: 1cqh; padding: 0.5cqh; box-sizing: border-box; background: var(--bg-panel); user-select: none; -webkit-user-select: none; } .channel-graph-panel { position: relative; flex: 1 1 auto; min-width: 0; min-height: 0; display: flex; flex-direction: column; border: var(--border-width) solid var(--border-hairline); border-radius: var(--radius-md); } .channel-bypass-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; pointer-events: none; z-index: 2; } .channel-bypass-overlay span { font-size: 8cqh; font-weight: 800; letter-spacing: 0.15em; color: #f87171; text-shadow: 0 0 12px rgba(0, 0, 0, 0.6); transform: rotate(-8deg); opacity: 0.85; user-select: none; } .channel-graph__title { flex: 0 0 auto; text-align: center; padding: 1cqh; font-family: var(--font-ui); font-size: 2.5cqh; font-weight: var(--font-weight-semibold); } .channel-graph-panel > .container { flex: 1; min-height: 0; } /* Bottom control bar — same pattern as .compressor-section: absolute, bottom-anchored, panels flow in a row and scroll horizontally instead of squeezing into a fixed max-width. */ .channel-control-section { container-type: size; position: absolute; left: 0; right: 0; bottom: 0; height: var(--dsp-control-heigth); display: flex; align-items: flex-end; justify-content: center; box-sizing: border-box; background: var(--bg-panel); z-index: 20; border-top: var(--border-width) solid var(--border-hairline); user-select: none; -webkit-user-select: none; } .channel-control-panel { display: grid; grid-auto-flow: column; height: 100%; gap: var(--space-2); overflow-x: auto; justify-content: center; box-sizing: border-box; padding: 2cqh; } /* Peq Sliders */ .channel-panel { position: relative; height: 100%; aspect-ratio: 0.8; flex: 0 0 auto; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; border: var(--border-width) solid var(--border-hairline); border-radius: var(--radius-md); box-sizing: border-box; background: var(--bg-void); } .channel-panel__title { flex: 0 0 auto; width: 100%; text-align: center; font-family: var(--font-ui); font-size: 4cqh; font-weight: var(--font-weight-semibold); padding-top: 2cqh; padding-bottom: 2cqh; border-bottom: var(--border-width) solid var(--border-hairline); min-width: 0; overflow: hidden; text-overflow: ellipsis; } .channel-panel__grid { flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: 1fr; gap: 2cqh; padding: 2cqh; box-sizing: border-box; } .channel-panel__cell { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; min-height: 0; min-width: 0; gap: 1cqh; } .channel-panel__cell-label { flex: 0 0 auto; font-family: var(--font-ui); font-size: 3.2cqh; color: var(--text-muted); white-space: nowrap; } .crossover-panel { position: relative; height: 100%; aspect-ratio: 0.3; flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; border: var(--border-width) solid var(--border-hairline); border-radius: var(--radius-md); box-sizing: border-box; gap: 2cqh; background: var(--bg-void); padding-bottom: 2cqh; } .crossover-panel__title { flex: 0 0 auto; width: 100%; text-align: center; font-family: var(--font-ui); font-size: 4cqh; font-weight: var(--font-weight-semibold); padding-top: 2cqh; padding-bottom: 2cqh; border-bottom: var(--border-width) solid var(--border-hairline); min-width: 0; overflow: hidden; text-overflow: ellipsis; } /* Now the root of a ChoiceSelect rather than a native