:root .roi-expression-grouping { min-width: 0; margin: 0; padding: 10px; border: 1px solid #d8e1dd; border-radius: 8px; display: grid; gap: 8px; }
:root .roi-expression-grouping legend { padding: 0 4px; font-size: 12px; font-weight: 650; }
:root .roi-expression-grouping select { width: 100%; min-width: 0; min-height: 30px; font-size: 12px; }
:root .roi-expression-grouping p, :root .roi-expression-grouping small { margin: 0; font-size: 11px; line-height: 1.45; }
:root .roi-expression-grouping > label { min-width: 0; display: grid; gap: 4px; font-size: 12px; }
:root .roi-expression-grouping-categories { max-height: 280px; overflow: auto; overscroll-behavior: contain; }
:root .roi-expression-grouping-categories summary { cursor: pointer; padding: 4px 0; font-size: 12px; }
:root .roi-expression-grouping-categories > div { display: flex; flex-wrap: wrap; gap: 5px; padding: 5px 0; }
:root .roi-expression-grouping-categories > label { display: grid; grid-template-columns: 14px 8px minmax(0, 1fr) auto; align-items: start; gap: 6px; padding: 4px 0; font-size: 12px; line-height: 1.4; }
:root .roi-expression-grouping-categories input { width: 13px; height: 13px; margin: 2px 0 0; }
:root .roi-expression-grouping-pairs > fieldset { min-width: 0; border: 0; border-top: 1px solid #d8e1dd; margin: 5px 0; padding: 6px 0; }
:root .roi-expression-grouping-pairs > fieldset > legend { max-width: 100%; overflow-wrap: anywhere; font-size: 12px; font-weight: 650; padding: 0 4px 0 0; }
:root .roi-expression-grouping-pairs > fieldset > label { display: grid; grid-template-columns: 14px 8px minmax(0, 1fr) auto; align-items: start; gap: 6px; padding: 4px 0; font-size: 12px; line-height: 1.4; }
:root .roi-expression-grouping-same-category label { display: grid; min-width: 0; width: 100%; gap: 4px; font-size: 11px; }
:root .roi-expression-grouping-summary { font-size: 12px; line-height: 1.5; }

:root .whole-tissue-projection{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 14px;border:1px solid rgba(140,170,150,.45);border-radius:9px;background:rgba(140,170,150,.06);color:inherit;text-align:left;cursor:pointer;transition:background .15s,border-color .15s}:root .whole-tissue-projection.is-active{background:rgba(92,179,145,.14);border-color:#5cb391}:root .whole-tissue-projection:hover:not(:disabled){background:rgba(92,179,145,.2)}:root .whole-tissue-projection:focus-visible{outline:2px solid #5cb391;outline-offset:3px}:root .whole-tissue-projection:disabled{opacity:.55;cursor:not-allowed}:root .whole-tissue-projection>svg{flex-shrink:0}:root .whole-tissue-projection-copy{display:flex;flex-direction:column;gap:3px;min-width:0}:root .whole-tissue-projection-copy strong{font-size:13px;font-weight:600}:root .whole-tissue-projection-copy small{font-size:11px;opacity:.8}:root .whole-tissue-projection-switch{position:relative;flex-shrink:0;width:35px;height:21px;margin-left:auto;border-radius:20px;background:rgba(140,170,150,.35)}:root .whole-tissue-projection-switch>span{position:absolute;left:3px;top:3px;width:15px;height:15px;border-radius:50%;background:#edf3ef;transition:transform .15s}:root .whole-tissue-projection.is-active .whole-tissue-projection-switch{background:#479975}:root .whole-tissue-projection.is-active .whole-tissue-projection-switch>span{transform:translateX(14px)}