d231d298a5
Two halves of one report: the R/G/B channel picks belong on the graph, and the chips down the sidebar were reading as a second copy of the sliders. - ToneCurvePanel.tsx + app.css: the channel row (RGB/R/G/B and RESET) and the .curve-tabs rules come back, so the card picks a channel again and bends that one. Undoes the row's removal; the graph itself is unchanged. - app.css: the strip a LIGHT panel opens is hidden on a desktop, with the row of panel chips it is opened from. Both name the seven rows the panel already stands in, so a desktop was drawing every knob twice — the strip beside the sliders, and the sliders. The phone keeps it: there the panels are the strip, not the column. Verified in Chrome at 1440x900 and 820x700 with a photo loaded: on the desktop the strip is gone and the card carries RGB/R/G/B/RESET, the R tab bends the red curve while the composite stays drawn beneath it; on the phone the strip still opens TONE -> EV..BLACK, TONE CURVE, and the card is the same.