.lv-function-composition .lv-compose-choices { display: flex; flex-wrap: wrap; gap: .5rem; }
.lv-function-composition [aria-pressed="true"] { outline: 2px solid var(--lv-steel); outline-offset: 2px; }
.lv-function-composition .lv-compose-panel { border: 1px solid var(--lv-edge); border-radius: var(--lv-radius); padding: .75rem; }
.lv-function-composition .lv-compose-panel h3 { color: var(--lv-ink); font-size: 1.05rem; margin: 0 0 .5rem; }
.lv-function-composition :is(.lv-compose-rule,.lv-compose-domain,.lv-compose-reason,.lv-compose-note) { margin: .4rem 0 0; color: var(--lv-ink); line-height: 1.5; }
.lv-function-composition .lv-compose-row { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: .35rem; margin: .75rem 0; }
.lv-function-composition .lv-compose-node { border: 1px solid var(--lv-edge); border-radius: .5rem; padding: .45rem .25rem; text-align: center; }
.lv-function-composition .lv-compose-label { display: block; color: var(--lv-ink-soft); font-size: .75rem; }
.lv-function-composition .lv-compose-value { display: block; color: var(--lv-ink); font-size: clamp(1rem,2.5vw,1.25rem); font-variant-numeric: tabular-nums; }
.lv-function-composition .lv-compose-arrow { color: var(--lv-steel); }
.lv-function-composition [data-defined="false"] .lv-compose-reason { color: #fda4af; }
.lv-function-composition .lv-eq { font-size: clamp(1rem,.9rem + .3vw,1.25rem); }
html:not([data-theme="light"]) .lv-function-composition .lx-viz-button { color: var(--lv-ink); background: var(--reading-surface,#01040e); border-color: var(--lv-edge); box-shadow: none; }
