/* The same channel identity follows source → events → measured sound. */
.scope-heading strong{color:var(--selected);text-shadow:0 0 14px color-mix(in srgb,var(--selected) 15%,transparent)}
.code-pane{border-top-color:color-mix(in srgb,var(--selected) 47%,#24432e)}
.voice-source{--voice-color:var(--selected);color:color-mix(in srgb,var(--voice-color) 77%,#e2f5e8)}
.voice-source .code-name{color:color-mix(in srgb,var(--voice-color) 78%,#fff)}
.voice-source .code-string,.voice-source .music-token{color:color-mix(in srgb,var(--voice-color) 86%,#fff)}
.voice-source .code-method{color:color-mix(in srgb,var(--voice-color) 70%,#b9d3cb)}
.voice-source .code-number{color:color-mix(in srgb,var(--voice-color) 52%,#f5f6d5)}
.voice-source .code-comment{color:#88a38f}
.music-token{border-radius:2px;position:relative;transition:background-color 70ms,color 70ms,box-shadow 70ms;text-shadow:none}
.music-token.is-sounding{background:var(--voice-color);color:#07100c!important;box-shadow:0 0 0 2px var(--voice-color),0 0 17px color-mix(in srgb,var(--voice-color) 48%,transparent);text-shadow:none;z-index:2}
.editor-wrap.note-active{background:none}.editor-wrap.has-sounding-code{box-shadow:inset 2px 0 color-mix(in srgb,var(--selected) 45%,transparent)}
.track-row.selected .track-name{color:var(--track-color)}
.track-row.is-sounding .track-name{color:color-mix(in srgb,var(--track-color) 85%,white);text-shadow:0 0 11px color-mix(in srgb,var(--track-color) 25%,transparent)}
.track-row.is-sounding .track-header:before{background:var(--track-color);opacity:1;box-shadow:0 0 9px var(--track-color)}
.clip-label{color:color-mix(in srgb,var(--track-color) 70%,#d2e3d5)}
.clip.selected .clip-label{color:color-mix(in srgb,var(--track-color) 77%,white)}
.clip.selected{border-color:var(--track-color);box-shadow:0 0 12px color-mix(in srgb,var(--track-color) 10%,transparent),inset 0 0 14px color-mix(in srgb,var(--track-color) 7%,transparent)}
.clip.playing{filter:brightness(1.12)}
.clip-event-hit{position:absolute;top:20px;bottom:4px;width:2px;border-radius:1px;background:var(--track-color);box-shadow:0 0 7px var(--track-color),0 0 15px color-mix(in srgb,var(--track-color) 30%,transparent);pointer-events:none;opacity:.95}
.track-state button.active{background:color-mix(in srgb,var(--track-color) 21%,#06100b);border-color:var(--track-color);color:color-mix(in srgb,var(--track-color) 70%,#fff)}
.prompt-scope i{background:var(--selected)}.prompt-scope{color:color-mix(in srgb,var(--selected) 55%,#d7e7dd)}
.sound-orb{filter:none}.control-row input[type=range]{accent-color:var(--selected)}
.analysis-content{display:block;position:relative;--plot-left:var(--track-label);--plot-width:calc(100% - var(--track-label));min-height:0;overflow:hidden}
.chart-area{position:absolute;left:var(--plot-left);top:10px;bottom:48px;width:var(--plot-width);height:auto;min-height:0;max-height:none;margin:0;padding:0;overflow:visible}
.chart-area canvas{width:100%;height:100%;display:block;border:0;border-radius:0}
.frequency-axis{left:auto;right:calc(100% + 9px);width:40px;top:0;bottom:0;font:8px var(--mono);text-align:right;color:#a8bdb1;pointer-events:none}
.chart-caption{position:absolute;left:0;bottom:-25px;right:0;height:24px;margin:0;pointer-events:none}
#analysis-range{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;clip:rect(0,0,0,0)!important;overflow:hidden!important}
.analysis-ruler{position:absolute;top:100%;height:24px;left:0;right:0;overflow:hidden;border-top:1px solid #31503b;background:#07130bd9;pointer-events:none}
.analysis-ruler span{position:absolute;top:0;height:100%;border-left:1px solid #40614b;padding:7px 0 0 7px;font:9px var(--mono);color:#a5c3af}
.analysis-playhead{position:absolute;top:0;bottom:-24px;left:0;width:1px;background:#c8ffbc;box-shadow:0 0 7px #91ff9266;pointer-events:none;z-index:5;will-change:transform}
.analysis-playhead:before{content:'';position:absolute;top:-3px;left:-2px;width:5px;height:5px;background:#d9ffd2;border-radius:1px}
.chart-overlay{inset:0 0 0 0;z-index:6;pointer-events:none;background:#04130aeF;color:#b6d4bf}
.analysis-identity{position:absolute;left:14px;top:14px;width:calc(var(--plot-left) - 62px);min-width:50px;display:flex;flex-direction:column;gap:10px;overflow:hidden;pointer-events:auto}
.analysis-voice-name{font:9px/1.5 var(--mono);overflow:hidden;text-overflow:ellipsis;word-break:break-word;max-height:42px}
.analysis-swatches{display:flex;gap:6px;flex-wrap:wrap;max-width:90px}
.voice-swatch{width:18px;min-width:18px;height:21px;padding:0;position:relative;border:1px solid color-mix(in srgb,var(--voice-color) 50%,#11231a);border-radius:2px;background:color-mix(in srgb,var(--voice-color) 15%,#04100a)}
.voice-swatch:after{content:'';position:absolute;inset:5px;background:var(--voice-color);opacity:.75}
.voice-swatch.is-sounding{border-color:var(--voice-color);box-shadow:0 0 11px color-mix(in srgb,var(--voice-color) 25%,transparent)}
.voice-swatch.is-sounding:after{opacity:1}
.voice-swatch:hover{background:color-mix(in srgb,var(--voice-color) 28%,#04100a)}
.analysis-stats{position:absolute;left:var(--plot-left);right:12px;bottom:0;height:24px;min-height:0;display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:24px;padding:0;margin:0;border:0}
.analysis-stats>div{flex-direction:row;align-items:baseline;gap:8px}.analysis-stats>div>span{font:8px var(--mono);color:#a2b8aa}.analysis-stats strong{font:10px var(--mono);color:#c3e4cc}.analysis-stats small{font-size:8px;color:#a9c2b1}
.analysis-stats[data-live=true] strong{color:color-mix(in srgb,var(--selected) 60%,#e5f2ea)}
@media(max-width:960px){.analysis-identity{left:11px;width:calc(var(--plot-left) - 56px)}.analysis-stats{gap:15px}.analysis-stats>div{gap:5px}.analysis-stats>div>span{font-size:7px}.analysis-stats strong{font-size:9px}.analysis-ruler span{font-size:8px}}
@media(max-width:720px){.chart-area{top:15px;bottom:69px;left:var(--plot-left);width:var(--plot-width);margin:0;padding:0}.analysis-content{display:block}.frequency-axis{width:31px;right:calc(100% + 7px);font-size:8px}.analysis-ruler{height:25px}.analysis-ruler span{font-size:8px;padding-left:5px}.analysis-playhead{bottom:-25px}.analysis-identity{left:10px;top:16px;width:calc(var(--plot-left) - 50px);gap:12px}.analysis-voice-name{font-size:9px}.analysis-swatches{gap:6px;max-width:80px}.voice-swatch{width:24px;min-width:24px;height:24px}.voice-swatch:after{inset:7px}.analysis-stats{left:13px;right:13px;height:36px;bottom:2px;justify-content:space-between;gap:12px}.analysis-stats>div{flex-direction:column;gap:5px;align-items:flex-start}.analysis-stats>div>span{font-size:8px}.analysis-stats strong{font-size:12px}.music-token.is-sounding{box-shadow:0 0 0 1px var(--voice-color),0 0 12px color-mix(in srgb,var(--voice-color) 35%,transparent)}}
@media(prefers-reduced-motion:reduce){.music-token{transition:none}.music-token.is-sounding{box-shadow:0 0 0 1px var(--voice-color)}.clip-event-hit,.analysis-playhead{box-shadow:none}.track-row.is-sounding .track-name{text-shadow:none}}
