/* Graphitix shared application stylesheet.
   Keep generated class hooks and runtime custom-property hooks intact unless their producers are also refactored. */
:root {
    --bg-color: #fff;
    --fg-color: #222;
    --ui-font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    --ui-control-height: 26px;
    --ui-control-padding: 2px 8px;
    --ui-control-border: 1px solid #8d97a6;
    --ui-control-bg: #fdfefe;
    --ui-control-fg: #111b29;
    --ui-rounded-radius: 6px;
    --ui-control-radius: var(--ui-rounded-radius);
    --ui-control-shadow: inset 0 0 0 1px rgba(255,255,255,0.7);
    --ui-focus-outline: none;
    --ui-focus-offset: 0;
    --ui-btn-border: 1px solid #8d97a6;
    --ui-btn-bg: #f5f7fb;
    --ui-btn-bg-hover: #d0d8e0;
    --ui-btn-fg: #111b29;
    --ui-btn-radius: var(--ui-rounded-radius);
    --ui-menu-bg: #ffffff;
    --ui-menu-border: 1px solid #8d97a6;
    --ui-menu-shadow: none;
    --ui-menu-radius: 0;
    --ui-panel-border-width: 1.5px;
    --ui-menu-item-hover-bg: #e9edf3;
    --ui-color-input-width: 46px;
    --ui-color-input-height: 26px;
    --ui-color-input-border: 1px solid #8d97a6;
    --ui-color-input-radius: 0;
    --ui-color-input-bg: #ffffff;
    --ui-color-input-shadow: inset 0 0 0 1px rgba(0,0,0,0.05);
    --workspace-toolbar-section-gap: 10px;
    --shared-color-picker-surface: #ffffff;
    --shared-color-picker-border: #c7ccd3;
    --shared-color-picker-shadow: 0 6px 18px rgba(15, 23, 42, 0.12);
    --graph-square-size: max(256px, calc(100vw * 0.8 / 3));
    --graph-default-width: var(--graph-square-size);
    --graph-default-height: var(--graph-square-size);
    --graph-min-width: calc(var(--graph-default-width) * 0.3);
    --graph-min-height: calc(var(--graph-default-height) * 0.3);
    --graph-max-width: calc(var(--graph-default-width) * 3);
    --graph-max-height: calc(var(--graph-default-height) * 3);
    --graph-aspect-ratio: 1;
    --graph-frame-border-width: var(--ui-panel-border-width);
    --graph-frame-border-color: #c6cad1;
    --color-swatch-size: 18px;
    --panel-resizer-width: 4px;
    --panel-resizer-gap: 8px;
    --workspace-tab-row-height: 36px;
    --workspace-tabs-scrollbar-height: 6px;
    --workspace-tabs-height: var(--workspace-tab-row-height);
}

:root.workspace-tabs-overflow {
    --workspace-tabs-height: calc(var(--workspace-tab-row-height) + var(--workspace-tabs-scrollbar-height));
}

.shared-color-picker {
    background: var(--shared-color-picker-surface);
    border: 0.5px solid var(--shared-color-picker-border);
    border-radius: 0;
    box-shadow: var(--shared-color-picker-shadow);
    color: #1f2937;
    display: none;
    max-width: min(296px, calc(100vw - 24px));
    min-width: 228px;
    padding: 10px;
    font-size: 11px;
    line-height: 1.4;
    background-clip: padding-box;
}

.shared-color-picker:focus {
    outline: none;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.12);
}

.shared-color-picker:focus-visible {
    outline: none;
    box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.22), 0 6px 18px rgba(15, 23, 42, 0.12);
}

.shared-color-picker__section {
    margin-bottom: 12px;
}

.shared-color-picker__section:last-of-type {
    margin-bottom: 0;
}

.shared-color-picker__section-title {
    font-size: 11px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
    margin-bottom: 6px;
    color: #111827;
}

.shared-color-picker__section--shapes {
    margin-bottom: 10px;
}

.shared-color-picker__shape-list {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
}

.shared-color-picker__shape-option {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid #c7ccd3;
    border-radius: 0;
    background: #f8fafc;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.shared-color-picker__shape-option:hover,
.shared-color-picker__shape-option:focus-within {
    border-color: #3b82f6;
    box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.25);
}

.shared-color-picker__shape-option--selected {
    border-color: #1d4ed8;
    background: #e0ecff;
    box-shadow: 0 0 0 1px rgba(29, 78, 216, 0.32);
}

.shared-color-picker__shape-input {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
}

.shared-color-picker__shape-swatch {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    color: #1f2937;
}

.shared-color-picker__shape-option--selected .shared-color-picker__shape-swatch {
    color: #1d4ed8;
}

.shared-color-picker__shape-icon {
    width: 18px;
    height: 18px;
    display: block;
}

.shared-color-picker__matrix {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.shared-color-picker__swatch-row {
    display: grid;
    grid-template-columns: repeat(var(--columns, 10), minmax(0, 1fr));
    gap: 3px;
}

.shared-color-picker__swatch {
    width: var(--color-swatch-size);
    height: var(--color-swatch-size);
    border-radius: 0;
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: var(--swatch-color, #ffffff);
    cursor: pointer;
    padding: 0;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.shared-color-picker__swatch:focus-visible,
.shared-color-picker__swatch:hover {
    outline: none;
    box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.45);
    transform: none;
}

.shared-color-picker__swatch--selected {
    box-shadow: 0 0 0 2px rgba(30, 64, 175, 0.5);
    transform: none;
}

.shared-color-picker__section--row .shared-color-picker__swatch {
    width: calc(var(--color-swatch-size) + 2px);
    height: calc(var(--color-swatch-size) + 2px);
}

.shared-color-picker__section--empty {
    display: none;
}

.shared-color-picker__more-header {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.shared-color-picker__more-toggle {
    border: none;
    background: none;
    color: #2563eb;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 4px;
    border-radius: 0;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.shared-color-picker__more-toggle::after {
    content: '';
    border: solid currentColor;
    border-width: 0 1px 1px 0;
    display: inline-block;
    padding: 3px;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
}

.shared-color-picker__more-toggle--expanded::after {
    transform: rotate(-135deg);
}

.shared-color-picker__more-toggle:hover,
.shared-color-picker__more-toggle:focus-visible {
    outline: none;
    background: rgba(37, 99, 235, 0.08);
    color: #1d4ed8;
}

.shared-color-picker__matrix--extended {
    margin-top: 6px;
}

.shared-color-picker__matrix--extended[hidden] {
    display: none;
}

.shared-color-picker__custom-row {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.shared-color-picker__scatter-style-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.shared-color-picker__scatter-style-row--single {
    grid-template-columns: 1fr;
}

.shared-color-picker__scatter-style-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.shared-color-picker__scatter-style-label {
    font-size: 10px;
    font-weight: 600;
    color: #cbd5e1;
    text-transform: none;
    letter-spacing: 0;
}

.shared-color-picker__scatter-style-input {
    width: 100%;
    height: 26px;
    border: 1px solid #8d97a6;
    border-radius: 0;
    padding: 2px 6px;
    font-size: 12px;
    line-height: 20px;
    color: #111b29;
    background: #fdfefe;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.7);
}

.shared-color-picker__color-input {
    width: 44px;
    height: 26px;
    border: 1px solid #c7ccd3;
    border-radius: 0;
    padding: 0;
    background: #ffffff;
}

.shared-color-picker__hex-input {
    flex: 1 1 88px;
    min-width: 88px;
    border: 1px solid #c7ccd3;
    border-radius: 0;
    padding: 4px 6px;
    font-size: 12px;
    font-family: "Segoe UI", system-ui, sans-serif;
}

.shared-color-picker__hex-input:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.32);
}

.shared-color-picker__eyedropper {
    flex: 0 0 auto;
    width: 32px;
    height: 28px;
    border: 1px solid #94a3b8;
    background: linear-gradient(180deg, #f8fafc 0%, #e2e8f0 100%);
    color: #1f2937;
    border-radius: 0;
    padding: 0;
    font-size: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.shared-color-picker__eyedropper:hover,
.shared-color-picker__eyedropper:focus-visible {
    outline: none;
    background: linear-gradient(180deg, #eef2ff 0%, #e0e7ff 100%);
    border-color: #4c51bf;
    box-shadow: 0 0 0 1px rgba(76, 81, 191, 0.35);
}

.shared-color-picker__eyedropper:active {
    background: #c7d2fe;
    border-color: #3730a3;
}

.shared-color-picker__eyedropper--fallback {
    border-style: dashed;
    color: #334155;
}

.shared-color-picker__eyedropper-icon {
    width: 12px;
    height: 12px;
    fill: currentColor;
}

.shared-color-picker input.shared-color-picker__scatter-style-input[type="number"],
.shared-color-picker input.shared-color-picker__hex-input[type="text"],
.shared-color-picker input.shared-color-picker__color-input[type="color"],
.shared-color-picker button.shared-color-picker__eyedropper {
    border-radius: 0 !important;
}

.shared-color-picker__sr-only,
.variance-card__sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.shared-color-picker__hidden-fallback-input {
    position: fixed;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    width: 1px;
    height: 1px;
}

@media (prefers-color-scheme: dark) {
    :root {
        --shared-color-picker-surface: #f8fafc;
        --shared-color-picker-border: #c7ccd3;
        --shared-color-picker-shadow: 0 6px 18px rgba(15, 23, 42, 0.12);
    }

    .shared-color-picker {
        border: 0.5px solid var(--shared-color-picker-border);
        border-radius: 0;
        padding: 4px 8px;
        transition: background-color 0.2s ease, color 0.2s ease;
        background: var(--shared-color-picker-surface);
        border-color: var(--shared-color-picker-border);
        box-shadow: var(--shared-color-picker-shadow);
        color: #1f2937;
    }

    .shared-color-picker__section-title {
        color: #111827;
    }

    .shared-color-picker__swatch {
        border-color: rgba(15, 23, 42, 0.12);
    }

    .shared-color-picker__hex-input {
        background: #ffffff;
        color: #111b29;
        border-color: #c7ccd3;
    }

    .shared-color-picker__hex-input:focus {
        border-color: #3b82f6;
        box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.32);
    }

    .shared-color-picker__eyedropper {
        border-color: #94a3b8;
        background: linear-gradient(180deg, #f8fafc 0%, #e2e8f0 100%);
        color: #1f2937;
    }

    .shared-color-picker__eyedropper:hover,
    .shared-color-picker__eyedropper:focus-visible {
        border-color: #4c51bf;
        box-shadow: 0 0 0 1px rgba(76, 81, 191, 0.35);
        background: linear-gradient(180deg, #eef2ff 0%, #e0e7ff 100%);
    }

    .shared-color-picker__eyedropper--fallback {
        border-style: dashed;
        color: #334155;
    }

    .shared-color-picker__more-toggle {
        color: #2563eb;
    }

    .shared-color-picker__more-toggle:hover,
    .shared-color-picker__more-toggle:focus-visible {
        background: rgba(37, 99, 235, 0.08);
        color: #1d4ed8;
    }
}

html, body {
    margin: 0;
    padding: 0;
    background: var(--bg-color);
    color: var(--fg-color);
    font-family: var(--ui-font-family);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

input,
textarea,
select,
option,
[contenteditable="true"],
[contenteditable=""],
.allow-text-selection,
.allow-text-selection * {
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text;
}

.svgbox,
.svgbox svg,
.svgbox text,
.svgbox tspan {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

select {
    border-radius: 0;
}

/* AG Grid parity styles */
.ag-theme-balham {
    --graphitix-ag-row-height: 20px;
    --graphitix-ag-cell-line-height: 16px;
    --graphitix-ag-cell-pad-x: 3px;
    --graphitix-ag-cell-pad-y: 2px;
    --graphitix-ag-header-action-width: 18px;
    --graphitix-ag-drag-handle-size: 14px;
    --graphitix-ag-scrollbar-track: #f3f3f3;
    --ag-header-background-color: #f5f5f5;
    --ag-header-foreground-color: #444;
    --ag-odd-row-background-color: #fafafa;
    --ag-borders: 1px solid #d6d6d6;
    --ag-header-column-resize-handle-color: transparent;
    --ag-row-height: var(--graphitix-ag-row-height) !important;
    --ag-range-selection-border-color: transparent;
    border-radius: 0 !important;
}
.ag-theme-balham .ag-root,
.ag-theme-balham .ag-root-wrapper,
.ag-theme-balham .ag-root-wrapper-body,
.ag-theme-balham .ag-body-viewport,
.ag-theme-balham .ag-center-cols-container {
    border-color: #d6d6d6;
    border-radius: 0 !important;
    touch-action: manipulation;
}
.ag-theme-balham .ag-row {
    border-bottom: 0 !important;
}
.ag-theme-balham .ag-header-cell,
.ag-theme-balham .ag-cell {
    border: 0 !important;
    border-right: 1px solid #d6d6d6 !important;
    border-bottom: 1px solid #d6d6d6 !important;
    box-sizing: border-box;
    touch-action: manipulation;
}
.ag-theme-balham .ag-cell {
    padding: var(--graphitix-ag-cell-pad-y) var(--graphitix-ag-cell-pad-x) !important;
    line-height: var(--graphitix-ag-cell-line-height) !important;
}
.ag-theme-balham .ag-cell .ag-cell-value,
.ag-theme-balham .ag-cell .ag-cell-wrapper {
    line-height: var(--graphitix-ag-cell-line-height) !important;
}
.ag-theme-balham .ag-cell.hot-cell-text,
.ag-theme-balham .ag-cell.hot-cell-text .ag-cell-value,
.ag-theme-balham .ag-cell.hot-cell-text .ag-cell-wrapper {
    justify-content: flex-start;
    text-align: left;
}
.ag-theme-balham .ag-cell.hot-cell-numeric,
.ag-theme-balham .ag-cell.hot-cell-numeric .ag-cell-value,
.ag-theme-balham .ag-cell.hot-cell-numeric .ag-cell-wrapper {
    justify-content: flex-end;
    text-align: right;
}
.ag-theme-balham .ag-header-row {
    background: #f5f5f5;
    font-weight: 600;
    height: var(--graphitix-ag-row-height) !important;
}
.ag-theme-balham .ag-header,
.ag-theme-balham .ag-header-viewport,
.ag-theme-balham .ag-header-container {
    height: var(--graphitix-ag-row-height) !important;
    min-height: var(--graphitix-ag-row-height) !important;
    max-height: var(--graphitix-ag-row-height) !important;
}
.ag-theme-balham .ag-header-cell {
    padding: 0;
    height: var(--graphitix-ag-row-height) !important;
    line-height: var(--graphitix-ag-cell-line-height) !important;
}
.ag-theme-balham .ag-header-cell-comp-wrapper {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}
.ag-theme-balham .hot-ag-header {
    display: flex;
    align-items: center;
    gap: 4px;
    width: 100%;
    height: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: 2px;
    padding-right: 0;
    box-sizing: border-box;
}
.ag-theme-balham .hot-col-drag-handle {
    width: var(--graphitix-ag-drag-handle-size);
    height: var(--graphitix-ag-drag-handle-size);
    flex: 0 0 var(--graphitix-ag-drag-handle-size);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 0.7;
    cursor: grab;
    background: transparent;
    border: 0;
    box-shadow: none;
    color: #7a7a7a;
    font-size: 11px;
    line-height: 1;
    user-select: none;
}
.ag-theme-balham .hot-col-drag-handle::before {
    content: "";
    display: block;
    width: var(--graphitix-ag-drag-handle-size);
    height: var(--graphitix-ag-drag-handle-size);
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8 0 5 3h2v4H3V5L0 8l3 3V9h4v4H5l3 3 3-3H9V9h4v2l3-3-3-3v2H9V3h2z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M8 0 5 3h2v4H3V5L0 8l3 3V9h4v4H5l3 3 3-3H9V9h4v2l3-3-3-3v2H9V3h2z'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: 12px 12px;
    mask-size: 12px 12px;
}
.ag-theme-balham .hot-col-drag-handle:active {
    cursor: grabbing;
    opacity: 1;
}
.ag-theme-balham .hot-ag-header--group-anchor {
    position: relative;
}
.ag-theme-balham .hot-ag-header--group-anchor > .hot-col-drag-handle--group-anchor {
    position: absolute;
    left: 2px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}
.ag-theme-balham .hot-col-drag-handle.hot-col-drag-handle--hidden {
    display: none;
    pointer-events: none;
}
.ag-theme-balham .ag-header-cell:hover .hot-col-drag-handle,
.ag-theme-balham .ag-header-cell:focus-within .hot-col-drag-handle {
    opacity: 1;
}
/* Keep enabled AG Grid resize hit areas functional but visually invisible.
   Respect AG Grid's ag-hidden state so non-resizable/internal group boundaries stay inert. */
.ag-theme-balham .ag-header-cell-resize,
.ag-theme-balham .ag-header-group-cell-resize,
.ag-theme-balham .ag-header-cell-resize::after,
.ag-theme-balham .ag-header-cell-resize::before,
.ag-theme-balham .ag-header-group-cell-resize::after,
.ag-theme-balham .ag-header-group-cell-resize::before {
    opacity: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: transparent !important;
}
.ag-theme-balham .ag-header-cell-resize:not(.ag-hidden),
.ag-theme-balham .ag-header-group-cell-resize:not(.ag-hidden) {
    display: block !important;
    pointer-events: auto !important;
    cursor: col-resize !important;
    width: 8px !important;
    right: -4px !important;
    background-color: transparent !important;
    background-image: none !important;
}
/* Remove resize-handle pseudo-lines while keeping resize hit areas alive. */
.ag-theme-balham .ag-header-cell-resize::before,
.ag-theme-balham .ag-header-cell-resize::after,
.ag-theme-balham .ag-header-group-cell-resize::before,
.ag-theme-balham .ag-header-group-cell-resize::after {
    content: none !important;
    display: none !important;
}
/* Hide any AG header pseudo-line handles without touching border separators. */
.ag-theme-balham .ag-header-cell::before,
.ag-theme-balham .ag-header-cell::after,
.ag-theme-balham .ag-header-group-cell::before,
.ag-theme-balham .ag-header-group-cell::after {
    content: none !important;
    display: none !important;
}
.ag-theme-balham .hot-ag-header-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1 1 auto;
    font-family: "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    transform: none;
}
.ag-theme-balham .ag-header-cell.hot-excel-colheader .hot-ag-header {
    justify-content: flex-start;
    padding-left: 2px;
    padding-right: 0;
}
.ag-theme-balham .ag-header-cell.hot-excel-colheader .hot-ag-header-label {
    text-align: center;
    flex: 1 1 auto;
}
.ag-theme-balham .hot-header-action {
    margin-left: auto;
    margin-right: 0;
    width: var(--graphitix-ag-header-action-width);
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    cursor: pointer;
    border: 1px solid #b9c2cf;
    border-bottom: 1px solid #b9c2cf !important;
    padding: 0;
    background: linear-gradient(180deg, #fbfcfe 0%, #e9eef5 100%);
    color: #5b6675;
    position: relative;
    box-sizing: border-box;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85), inset 0 -1px 0 #b9c2cf;
    border-radius: 0;
}
.ag-theme-balham .hot-header-action__sort-badge {
    position: absolute;
    left: 3px;
    top: 3px;
    width: 5px;
    height: 9px;
    pointer-events: none;
}
.ag-theme-balham .hot-header-action.is-sorted .hot-header-action__sort-badge::before,
.ag-theme-balham .hot-header-action.is-sorted .hot-header-action__sort-badge::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
.ag-theme-balham .hot-header-action.is-sorted .hot-header-action__sort-badge {
    left: 10px;
    top: 4px;
    width: 6px;
    height: 9px;
}
.ag-theme-balham .hot-header-action.is-sorted-asc .hot-header-action__sort-badge::before {
    top: 0;
    width: 0;
    height: 0;
    border-left: 2px solid transparent;
    border-right: 2px solid transparent;
    border-bottom: 4px solid #5b6675;
}
.ag-theme-balham .hot-header-action.is-sorted-asc .hot-header-action__sort-badge::after {
    top: 4px;
    width: 1px;
    height: 4px;
    background: #5b6675;
}
.ag-theme-balham .hot-header-action.is-sorted-desc .hot-header-action__sort-badge::before {
    top: 0;
    width: 1px;
    height: 4px;
    background: #5b6675;
}
.ag-theme-balham .hot-header-action.is-sorted-desc .hot-header-action__sort-badge::after {
    top: 4px;
    width: 0;
    height: 0;
    border-left: 2px solid transparent;
    border-right: 2px solid transparent;
    border-top: 4px solid #5b6675;
}
.ag-theme-balham .hot-header-action:hover,
.ag-theme-balham .hot-header-action:focus-visible {
    color: #334155;
    border-color: #95a3b7;
    background: linear-gradient(180deg, #f8fbff 0%, #dde6f1 100%);
    outline: none;
}
.ag-theme-balham .hot-filter-indicator::before,
.ag-theme-balham .hot-filter-indicator::after {
    content: "";
    position: absolute;
    opacity: 1;
}
.ag-theme-balham .hot-filter-indicator::before {
    right: 4px;
    top: 6px;
    width: 0;
    height: 0;
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
    border-top: 4px solid currentColor;
}
.ag-theme-balham .hot-filter-indicator.is-sorted::before {
    left: 4px;
    right: auto;
    top: 9px;
    border-left-width: 2px;
    border-right-width: 2px;
    border-top-width: 3px;
}
.ag-theme-balham .hot-filter-indicator::after {
    content: none;
}
.ag-theme-balham .hot-filter-indicator.is-filtered,
.ag-theme-balham .hot-filter-indicator.is-sorted {
    color: #4b5b73;
}
.ag-theme-balham .hot-filter-indicator.is-filtered {
    border-color: #8ea7cf;
    background: linear-gradient(180deg, #f6f9ff 0%, #dde7f5 100%);
}
.ag-theme-balham .hot-filter-indicator.is-sorted {
    border-color: #9aa8bb;
}
.ag-theme-balham .hot-filter-indicator.is-filtered.is-sorted {
    border-color: #7f96bc;
    background: linear-gradient(180deg, #f1f6fe 0%, #d7e3f4 100%);
}
.ag-theme-balham .hot-header-row .ag-cell {
    background: #f5f5f5;
    font-weight: 600;
}
.ag-theme-balham .ag-cell.scatter-grouped-header-anchor {
    background: #f2f5fa;
    font-weight: 600;
}
.ag-theme-balham .ag-cell.scatter-grouped-header-anchor .ag-cell-value,
.ag-theme-balham .ag-cell.scatter-grouped-header-anchor .ag-cell-wrapper {
    width: 100%;
    text-align: center;
    justify-content: center;
}
.ag-theme-balham .ag-header-cell.scatter-group-colheader .hot-header-action {
    display: none;
}
.ag-theme-balham .ag-header-cell.scatter-group-colheader .hot-ag-header {
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
    overflow: visible;
}
.ag-theme-balham .ag-header-cell.scatter-group-colheader .hot-ag-header-label {
    text-align: center;
}
.ag-theme-balham .ag-header-cell.scatter-group-colheader-merge-start,
.ag-theme-balham .ag-header-cell.scatter-group-colheader-merge-middle,
.ag-theme-balham .ag-header-cell.scatter-group-colheader-merge-end {
    overflow: visible !important;
}
.ag-theme-balham .ag-header-cell.scatter-group-colheader-merge-start .hot-ag-header-label {
    position: relative;
    overflow: visible;
    text-overflow: clip;
    left: calc((var(--scatter-group-span, 1) - 1) * 50%);
}
.ag-theme-balham .ag-header-cell.scatter-group-colheader-merge-middle .hot-ag-header-label,
.ag-theme-balham .ag-header-cell.scatter-group-colheader-merge-end .hot-ag-header-label {
    visibility: hidden;
}
.ag-theme-balham .ag-header-cell.scatter-group-colheader-merge-start {
    border-right-color: transparent !important;
}
.ag-theme-balham .ag-header-cell.scatter-group-colheader-merge-middle {
    border-left-color: transparent !important;
    border-right-color: transparent !important;
}
.ag-theme-balham .ag-header-cell.scatter-group-colheader-merge-end {
    border-left-color: transparent !important;
}
.ag-theme-balham .ag-cell.scatter-grouped-header-follower {
    background: #f2f5fa;
    color: #7a8597;
}
.ag-theme-balham .ag-cell.scatter-grouped-header-merge-start:not(.ag-cell-focus) {
    border-right-color: transparent;
}
.ag-theme-balham .ag-cell.scatter-grouped-header-merge-middle:not(.ag-cell-focus) {
    border-left-color: transparent;
    border-right-color: transparent;
}
.ag-theme-balham .ag-cell.scatter-grouped-header-merge-end:not(.ag-cell-focus) {
    border-left-color: transparent;
}
.ag-theme-balham .ag-cell.box-grouped-header-anchor {
    background: #f2f5fa;
    font-weight: 600;
}
.ag-theme-balham .ag-cell.box-grouped-header-anchor .ag-cell-value,
.ag-theme-balham .ag-cell.box-grouped-header-anchor .ag-cell-wrapper {
    width: 100%;
    text-align: center;
    justify-content: center;
}
.ag-theme-balham .ag-header-cell.box-group-colheader .hot-header-action {
    display: none;
}
.ag-theme-balham .ag-header-cell.box-group-colheader .hot-ag-header {
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
    overflow: visible;
}
.ag-theme-balham .ag-header-cell.box-group-colheader .hot-ag-header-label {
    text-align: center;
}
.ag-theme-balham .ag-header-cell.box-group-colheader-merge-start,
.ag-theme-balham .ag-header-cell.box-group-colheader-merge-middle,
.ag-theme-balham .ag-header-cell.box-group-colheader-merge-end {
    overflow: visible !important;
}
.ag-theme-balham .ag-header-cell.box-group-colheader-merge-start .hot-ag-header-label {
    position: relative;
    overflow: visible;
    text-overflow: clip;
    left: calc((var(--scatter-group-span, 1) - 1) * 50%);
}
.ag-theme-balham .ag-header-cell.box-group-colheader-merge-middle .hot-ag-header-label,
.ag-theme-balham .ag-header-cell.box-group-colheader-merge-end .hot-ag-header-label {
    visibility: hidden;
}
.ag-theme-balham .ag-header-cell.box-group-colheader-merge-start {
    border-right-color: transparent !important;
}
.ag-theme-balham .ag-header-cell.box-group-colheader-merge-middle {
    border-left-color: transparent !important;
    border-right-color: transparent !important;
}
.ag-theme-balham .ag-header-cell.box-group-colheader-merge-end {
    border-left-color: transparent !important;
}
.ag-theme-balham .ag-cell.box-grouped-header-follower {
    background: #f2f5fa;
    color: #7a8597;
}
.ag-theme-balham .ag-cell.box-grouped-header-merge-start:not(.ag-cell-focus) {
    border-right-color: transparent;
}
.ag-theme-balham .ag-cell.box-grouped-header-merge-middle:not(.ag-cell-focus) {
    border-left-color: transparent;
    border-right-color: transparent;
}
.ag-theme-balham .ag-cell.box-grouped-header-merge-end:not(.ag-cell-focus) {
    border-left-color: transparent;
}
.ag-theme-balham .ag-cell.box-grouped-condition-header {
    background: #f7f8fc;
    color: #1f2937;
    font-weight: 500;
}
.ag-theme-balham .ag-cell.box-grouped-condition-header .ag-cell-value,
.ag-theme-balham .ag-cell.box-grouped-condition-header .ag-cell-wrapper {
    width: 100%;
    text-align: center;
    justify-content: center;
}
.ag-theme-balham .ag-cell.line-grouped-header-anchor {
    background: #f2f5fa;
    font-weight: 600;
}
.ag-theme-balham .ag-cell.line-grouped-header-anchor .ag-cell-value,
.ag-theme-balham .ag-cell.line-grouped-header-anchor .ag-cell-wrapper {
    width: 100%;
    text-align: center;
    justify-content: center;
}
.ag-theme-balham .ag-header-cell.line-group-colheader .hot-header-action {
    display: none;
}
.ag-theme-balham .ag-header-cell.line-group-colheader .hot-ag-header {
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
    overflow: visible;
}
.ag-theme-balham .ag-header-cell.line-group-colheader .hot-ag-header-label {
    text-align: center;
}
.ag-theme-balham .ag-header-cell.line-group-colheader-merge-start,
.ag-theme-balham .ag-header-cell.line-group-colheader-merge-middle,
.ag-theme-balham .ag-header-cell.line-group-colheader-merge-end {
    overflow: visible !important;
}
.ag-theme-balham .ag-header-cell.line-group-colheader-merge-start .hot-ag-header-label {
    position: relative;
    overflow: visible;
    text-overflow: clip;
    left: calc((var(--scatter-group-span, 1) - 1) * 50%);
}
.ag-theme-balham .ag-header-cell.line-group-colheader-merge-middle .hot-ag-header-label,
.ag-theme-balham .ag-header-cell.line-group-colheader-merge-end .hot-ag-header-label {
    visibility: hidden;
}
.ag-theme-balham .ag-header-cell.line-group-colheader-merge-start {
    border-right-color: transparent !important;
}
.ag-theme-balham .ag-header-cell.line-group-colheader-merge-middle {
    border-left-color: transparent !important;
    border-right-color: transparent !important;
}
.ag-theme-balham .ag-header-cell.line-group-colheader-merge-end {
    border-left-color: transparent !important;
}
.ag-theme-balham .ag-cell.line-grouped-header-follower {
    background: #f2f5fa;
    color: #7a8597;
}
.ag-theme-balham .ag-cell.line-grouped-header-merge-start:not(.ag-cell-focus) {
    border-right-color: transparent;
}
.ag-theme-balham .ag-cell.line-grouped-header-merge-middle:not(.ag-cell-focus) {
    border-left-color: transparent;
    border-right-color: transparent;
}
.ag-theme-balham .ag-cell.line-grouped-header-merge-end:not(.ag-cell-focus) {
    border-left-color: transparent;
}

.ag-theme-balham .ag-cell.line-3d-header-anchor {
    background: #f2f5fa;
    font-weight: 600;
}
.ag-theme-balham .ag-cell.line-3d-header-anchor .ag-cell-value,
.ag-theme-balham .ag-cell.line-3d-header-anchor .ag-cell-wrapper,
.ag-theme-balham .ag-cell.line-3d-axis-header .ag-cell-value,
.ag-theme-balham .ag-cell.line-3d-axis-header .ag-cell-wrapper {
    width: 100%;
    text-align: center;
    justify-content: center;
}
.ag-theme-balham .ag-cell.line-3d-header-follower {
    background: #f2f5fa;
    color: #7a8597;
}
.ag-theme-balham .ag-cell.line-3d-axis-header {
    background: #f7f8fc;
    color: #1f2937;
    font-weight: 500;
}
.ag-theme-balham .ag-cell.line-3d-header-merge-start:not(.ag-cell-focus) {
    border-right-color: transparent;
}
.ag-theme-balham .ag-cell.line-3d-header-merge-middle:not(.ag-cell-focus) {
    border-left-color: transparent;
    border-right-color: transparent;
}
.ag-theme-balham .ag-cell.line-3d-header-merge-end:not(.ag-cell-focus) {
    border-left-color: transparent;
}
.ag-theme-balham .ag-header-cell.line-3d-colheader .hot-header-action {
    display: none;
}
.ag-theme-balham .ag-header-cell.line-3d-colheader .hot-ag-header {
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
    overflow: visible;
}
.ag-theme-balham .ag-header-cell.line-3d-colheader .hot-ag-header-label {
    text-align: center;
}
.ag-theme-balham .ag-header-cell.line-3d-colheader-merge-start,
.ag-theme-balham .ag-header-cell.line-3d-colheader-merge-middle,
.ag-theme-balham .ag-header-cell.line-3d-colheader-merge-end {
    overflow: visible !important;
}
.ag-theme-balham .ag-header-cell.line-3d-colheader-merge-start .hot-ag-header-label {
    position: relative;
    overflow: visible;
    text-overflow: clip;
    left: calc((var(--line-3d-group-span, 1) - 1) * 50%);
}
.ag-theme-balham .ag-header-cell.line-3d-colheader-merge-middle .hot-ag-header-label,
.ag-theme-balham .ag-header-cell.line-3d-colheader-merge-end .hot-ag-header-label {
    visibility: hidden;
}
.ag-theme-balham .ag-header-cell.line-3d-colheader-merge-start {
    border-right-color: transparent !important;
}
.ag-theme-balham .ag-header-cell.line-3d-colheader-merge-middle {
    border-left-color: transparent !important;
    border-right-color: transparent !important;
}
.ag-theme-balham .ag-header-cell.line-3d-colheader-merge-end {
    border-left-color: transparent !important;
}
.ag-theme-balham .ag-cell.pca-grouped-header-anchor {
    background: #f2f5fa;
    font-weight: 600;
}
.ag-theme-balham .ag-cell.pca-grouped-header-anchor .ag-cell-value,
.ag-theme-balham .ag-cell.pca-grouped-header-anchor .ag-cell-wrapper {
    width: 100%;
    text-align: center;
    justify-content: center;
}
.ag-theme-balham .ag-cell.pca-grouped-meta-row {
    background: #f5f5f5 !important;
}
.ag-theme-balham .ag-cell.pca-label-row-divider {
    border-bottom: 1px solid #d6d6d6 !important;
}
.ag-theme-balham .ag-cell.pca-label-checkbox-cell {
    display: flex;
    align-items: center;
    justify-content: center;
}
.ag-theme-balham .ag-cell.scatter-point-label-selection-cell {
    justify-content: center;
    text-align: center;
    white-space: nowrap;
}
.ag-theme-balham .ag-cell.scatter-point-label-checkbox-cell .ag-cell-wrapper {
    width: 100%;
    justify-content: center;
}
.ag-theme-balham .ag-cell.scatter-point-label-checkbox-cell .ag-selection-checkbox {
    margin: 0;
}
.ag-theme-balham .ag-cell.scatter-point-label-checkbox-cell .ag-cell-wrapper > .ag-cell-value {
    display: none;
}
.ag-theme-balham .ag-pinned-top .ag-cell.pca-label-row-divider,
.ag-theme-balham .ag-floating-top .ag-cell.pca-label-row-divider {
    border-bottom: 1px solid #d6d6d6 !important;
}
.ag-theme-balham .ag-cell.pca-grouped-header-follower {
    background: #f2f5fa;
    color: #7a8597;
}
.ag-theme-balham .ag-cell.pca-grouped-header-merge-start:not(.ag-cell-focus) {
    border-right-color: transparent;
}
.ag-theme-balham .ag-cell.pca-grouped-header-merge-middle:not(.ag-cell-focus) {
    border-left-color: transparent;
    border-right-color: transparent;
}
.ag-theme-balham .ag-cell.pca-grouped-header-merge-end:not(.ag-cell-focus) {
    border-left-color: transparent;
}
.ag-theme-balham .ag-cell.pca-grouped-header-row-divider {
    border-top: 1px solid #d6d6d6 !important;
    border-bottom: 1px solid #d6d6d6 !important;
}
.ag-theme-balham .ag-pinned-top .ag-cell.pca-grouped-header-row-divider,
.ag-theme-balham .ag-floating-top .ag-cell.pca-grouped-header-row-divider {
    border-top: 1px solid #d6d6d6 !important;
    border-bottom: 1px solid #d6d6d6 !important;
}
.ag-theme-balham .ag-header-cell.pca-group-colheader .hot-header-action {
    display: none;
}
.ag-theme-balham .ag-header-cell.pca-group-colheader .hot-ag-header {
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
    overflow: visible;
}
.ag-theme-balham .ag-header-cell.pca-group-colheader .hot-ag-header-label {
    text-align: center;
}
.ag-theme-balham .ag-header-cell.pca-group-colheader-merge-start,
.ag-theme-balham .ag-header-cell.pca-group-colheader-merge-middle,
.ag-theme-balham .ag-header-cell.pca-group-colheader-merge-end {
    overflow: visible !important;
}
.ag-theme-balham .ag-header-cell.pca-group-colheader-merge-start .hot-ag-header-label {
    position: relative;
    overflow: visible;
    text-overflow: clip;
    left: calc((var(--scatter-group-span, 1) - 1) * 50%);
}
.ag-theme-balham .ag-header-cell.pca-group-colheader-merge-middle .hot-ag-header-label,
.ag-theme-balham .ag-header-cell.pca-group-colheader-merge-end .hot-ag-header-label {
    visibility: hidden;
}
.ag-theme-balham .ag-header-cell.pca-group-colheader-merge-start {
    border-right-color: transparent !important;
}
.ag-theme-balham .ag-header-cell.pca-group-colheader-merge-middle {
    border-left-color: transparent !important;
    border-right-color: transparent !important;
}
.ag-theme-balham .ag-header-cell.pca-group-colheader-merge-end {
    border-left-color: transparent !important;
}
.ag-theme-balham.pca-grouped-nested-only .ag-header-row.ag-header-row-column:not(.ag-header-row-column-group) {
    display: none !important;
}
.ag-theme-balham.pca-grouped-nested-only .ag-header-group-cell-label {
    justify-content: center;
}
.ag-theme-balham.pca-grouped-nested-only .ag-header-group-cell {
    border-right: 1px solid #d6d6d6 !important;
}
.ag-theme-balham .ag-cell.hot-selected-cell {
    background: transparent;
}
.ag-theme-balham .ag-cell.hot-selected-range-fill {
    background: rgba(0, 0, 0, 0.10);
    background-clip: padding-box;
    border-right-color: #d6d6d6 !important;
    border-bottom-color: #d6d6d6 !important;
}
.ag-theme-balham .ag-cell.hot-selected-anchor {
    background: transparent !important;
}
.ag-theme-balham .ag-cell.hot-fill-preview-cell {
    background: rgba(0, 0, 0, 0.08);
    outline: 1px dashed rgba(0, 0, 0, 0.35);
    outline-offset: -2px;
}
.ag-theme-balham .hot-formula-ref-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 7;
}
.ag-theme-balham .hot-formula-ref-outline {
    position: absolute;
    box-sizing: border-box;
    border: 2px solid #1a73e8;
    border-radius: 1px;
    pointer-events: none;
}
.ag-theme-balham .hot-selection-outline {
    position: absolute;
    pointer-events: none;
    box-sizing: border-box;
    border: 0;
    z-index: 6;
    --hot-selection-outline-thickness: 2px;
}
.ag-theme-balham .hot-selection-outline-edge {
    position: absolute;
    pointer-events: none;
    background: var(--hot-selection-outline-color, #005fb8);
}
.ag-theme-balham .hot-selection-outline-edge[data-edge="top"],
.ag-theme-balham .hot-selection-outline-edge[data-edge="bottom"] {
    left: 0;
    width: 100%;
    height: var(--hot-selection-outline-thickness);
}
.ag-theme-balham .hot-selection-outline-edge[data-edge="top"] {
    top: 0;
}
.ag-theme-balham .hot-selection-outline-edge[data-edge="bottom"] {
    bottom: 0;
}
.ag-theme-balham .hot-selection-outline-edge[data-edge="left"],
.ag-theme-balham .hot-selection-outline-edge[data-edge="right"] {
    top: 0;
    height: 100%;
    width: var(--hot-selection-outline-thickness);
}
.ag-theme-balham .hot-selection-outline-edge[data-edge="left"] {
    left: 0;
}
.ag-theme-balham .hot-selection-outline-edge[data-edge="right"] {
    right: 0;
}
.ag-theme-balham .hot-clipboard-outline {
    position: absolute;
    pointer-events: none;
    box-sizing: border-box;
    z-index: 8;
    --hot-clipboard-outline-color: var(--hot-selection-outline-color, #005fb8);
    --hot-clipboard-outline-thickness: 2px;
    --hot-clipboard-outline-segment: 8px;
    --hot-clipboard-outline-speed: 0.45s;
}
.ag-theme-balham .hot-clipboard-outline-edge {
    position: absolute;
    pointer-events: none;
    background-repeat: repeat;
    animation: hot-clipboard-outline-march var(--hot-clipboard-outline-speed) linear infinite;
}
.ag-theme-balham .hot-clipboard-outline-edge[data-edge="top"],
.ag-theme-balham .hot-clipboard-outline-edge[data-edge="bottom"] {
    left: 0;
    width: 100%;
    height: var(--hot-clipboard-outline-thickness);
    background-image: repeating-linear-gradient(
        90deg,
        var(--hot-clipboard-outline-color) 0 calc(var(--hot-clipboard-outline-segment) / 2),
        transparent calc(var(--hot-clipboard-outline-segment) / 2) var(--hot-clipboard-outline-segment)
    );
    background-size: var(--hot-clipboard-outline-segment) var(--hot-clipboard-outline-thickness);
}
.ag-theme-balham .hot-clipboard-outline-edge[data-edge="top"] {
    top: 0;
}
.ag-theme-balham .hot-clipboard-outline-edge[data-edge="bottom"] {
    bottom: 0;
    animation-direction: reverse;
}
.ag-theme-balham .hot-clipboard-outline-edge[data-edge="left"],
.ag-theme-balham .hot-clipboard-outline-edge[data-edge="right"] {
    top: 0;
    height: 100%;
    width: var(--hot-clipboard-outline-thickness);
    background-image: repeating-linear-gradient(
        180deg,
        var(--hot-clipboard-outline-color) 0 calc(var(--hot-clipboard-outline-segment) / 2),
        transparent calc(var(--hot-clipboard-outline-segment) / 2) var(--hot-clipboard-outline-segment)
    );
    background-size: var(--hot-clipboard-outline-thickness) var(--hot-clipboard-outline-segment);
    animation-name: hot-clipboard-outline-march-vertical;
}
.ag-theme-balham .hot-clipboard-outline-edge[data-edge="left"] {
    left: 0;
}
.ag-theme-balham .hot-clipboard-outline-edge[data-edge="right"] {
    right: 0;
    animation-direction: reverse;
}
@keyframes hot-clipboard-outline-march {
    from {
        background-position: 0 0;
    }
    to {
        background-position: calc(var(--hot-clipboard-outline-segment) * -1) 0;
    }
}
@keyframes hot-clipboard-outline-march-vertical {
    from {
        background-position: 0 0;
    }
    to {
        background-position: 0 calc(var(--hot-clipboard-outline-segment) * -1);
    }
}
.hot-formula-fn-suggest {
    position: fixed;
    z-index: 12050;
    background: #ffffff;
    border: 1px solid #c7c7c7;
    border-radius: 4px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
    padding: 2px 0;
    max-height: min(320px, 55vh);
    overflow-y: auto;
    overflow-x: hidden;
}
.hot-formula-fn-suggest[hidden] {
    display: none !important;
}
.hot-formula-fn-item {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 8px;
    border: 0;
    background: #ffffff;
    color: #1f1f1f;
    text-align: left;
    cursor: pointer;
    font-size: 12px;
    line-height: 1.25;
    padding: 4px 8px;
}
.hot-formula-fn-item:hover,
.hot-formula-fn-item.is-active {
    background: #dcebff;
}
.hot-formula-fn-item-name {
    font-weight: 700;
    min-width: 72px;
}
.hot-formula-fn-item-desc {
    color: #555555;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.hot-formula-fn-tooltip {
    position: fixed;
    z-index: 12060;
    background: #fffdf4;
    border: 1px solid #d6ceae;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16);
    font-size: 12px;
    line-height: 1.3;
    color: #1f1f1f;
    padding: 6px 8px;
    pointer-events: none;
}
.hot-formula-fn-tooltip[hidden] {
    display: none !important;
}
.hot-formula-fn-tooltip-signature {
    white-space: nowrap;
}
.hot-formula-fn-tooltip-desc {
    margin-top: 3px;
    color: #555555;
}
.hot-formula-fn-name {
    font-weight: 700;
}
.hot-formula-fn-arg.is-active {
    font-weight: 700;
    color: #000000;
}
.ag-theme-balham.hot-fill-handle-host {
    position: relative;
    overflow: hidden;
}
.ag-theme-balham .hot-fill-handle {
    position: absolute;
    width: 8px;
    height: 8px;
    box-sizing: border-box;
    background: var(--hot-fill-handle-color, #005fb8);
    border: 1px solid #ffffff;
    border-radius: 0;
    box-shadow: none;
    transform: translate(-50%, -50%);
    /* Keep below AG Grid header/pinned layers so overlap is naturally clipped. */
    z-index: 7;
    cursor: grab;
    display: none;
}
.ag-theme-balham .hot-fill-handle:active {
    cursor: grabbing;
}
/* Remove AG Grid's default focus tint/ring; selection visuals are drawn by
   custom classes and the shared selection outline layer. */
.ag-theme-balham .ag-cell.ag-cell-focus,
.ag-theme-balham .ag-cell:focus,
.ag-theme-balham .ag-cell.ag-cell-range-selected {
    background: transparent !important;
    outline: none !important;
    box-shadow: none !important;
}

.ag-theme-balham .ag-cell.ag-cell-focus .ag-cell-focus-inner,
.ag-theme-balham .ag-cell.ag-cell-focus .ag-focus-wrapper {
    outline: none !important;
}

/* Stronger overrides to remove any remaining focus ring or dark border
   applied to a single focused cell by AG Grid's theme. Covers pseudo
   elements, borders and box-shadows used by different ag-grid versions. */
.ag-theme-balham .ag-cell.ag-cell-focus::before,
.ag-theme-balham .ag-cell.ag-cell-focus::after,
.ag-theme-balham .ag-cell.ag-cell-focus .ag-focus-wrapper::before,
.ag-theme-balham .ag-cell.ag-cell-focus .ag-focus-wrapper::after {
    background: transparent !important;
    outline: none !important;
    box-shadow: none !important;
}

/* In case AG Grid adds an inner highlight element, hide its border */
.ag-theme-balham .ag-cell .ag-focus-wrapper,
.ag-theme-balham .ag-cell .ag-cell-focus-inner {
    outline: none !important;
    box-shadow: none !important;
}

/* Catch-all: remove inline-style focus rings or shadows applied by JS. */
.ag-theme-balham .ag-cell[style],
.ag-theme-balham .ag-cell[style]::before,
.ag-theme-balham .ag-cell[style]::after,
.ag-theme-balham .ag-cell[style] * {
    box-shadow: none !important;
    outline: none !important;
}

/* Remove AG Grid range selection border overlays. */
.ag-theme-balham .ag-range-selection-border,
.ag-theme-balham .ag-range-selection-border-1,
.ag-theme-balham .ag-range-selection-border-2,
.ag-theme-balham .ag-range-selection-border-3,
.ag-theme-balham .ag-range-selection-border-4,
.ag-theme-balham .ag-range-selection-border-start,
.ag-theme-balham .ag-range-selection-border-end,
.ag-theme-balham .ag-range-selection-border-top,
.ag-theme-balham .ag-range-selection-border-right,
.ag-theme-balham .ag-range-selection-border-bottom,
.ag-theme-balham .ag-range-selection-border-left {
    border: none !important;
    box-shadow: none !important;
}

.ag-theme-balham .ag-focused,
.ag-theme-balham .ag-cell.ag-focused,
.ag-theme-balham .ag-cell-focus,
.ag-theme-balham .ag-focus {
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Keep inline editing background identical to normal single-click cell state.
   Without this, broad focus overrides tint the editor surface. */
.ag-theme-balham .ag-cell.ag-cell-inline-editing,
.ag-theme-balham .ag-cell.ag-cell-inline-editing.ag-cell-focus,
.ag-theme-balham .ag-cell.ag-cell-inline-editing.ag-cell-range-selected,
.ag-theme-balham .ag-cell.ag-cell-inline-editing::before,
.ag-theme-balham .ag-cell.ag-cell-inline-editing::after,
.ag-theme-balham .ag-cell.ag-cell-inline-editing .ag-cell-edit-wrapper,
.ag-theme-balham .ag-cell.ag-cell-inline-editing .ag-cell-editor,
.ag-theme-balham .ag-cell.ag-cell-inline-editing .ag-cell-wrapper,
.ag-theme-balham .ag-cell.ag-cell-inline-editing .ag-cell-value,
.ag-theme-balham .ag-cell.ag-cell-inline-editing .ag-input-field-input,
.ag-theme-balham .ag-cell.ag-cell-inline-editing input,
.ag-theme-balham .ag-cell.ag-cell-inline-editing textarea {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* Override generic input[type=text] app styles inside AG inline editor. */
.ag-theme-balham .ag-cell.ag-cell-inline-editing .ag-input-field-input,
.ag-theme-balham .ag-cell.ag-cell-inline-editing input[type="text"],
.ag-theme-balham .ag-cell.ag-cell-inline-editing input,
.ag-theme-balham .ag-cell.ag-cell-inline-editing textarea {
    border: none !important;
    outline: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.ag-theme-balham .ag-cell.ag-cell-inline-editing .ag-input-field-input:focus,
.ag-theme-balham .ag-cell.ag-cell-inline-editing input:focus,
.ag-theme-balham .ag-cell.ag-cell-inline-editing textarea:focus {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Excel-style inline editing for long values. The grid geometry stays fixed:
   only the active editor paints across covered neighbour cells. */
.ag-theme-balham .ag-cell.ag-cell-inline-editing.hot-cell-edit-overflow {
    overflow: visible !important;
    border-right-color: transparent !important;
}
.ag-theme-balham .ag-cell.ag-cell-inline-editing.hot-cell-edit-overflow .ag-cell-wrapper,
.ag-theme-balham .ag-cell.ag-cell-inline-editing.hot-cell-edit-overflow .ag-cell-edit-wrapper,
.ag-theme-balham .ag-cell.ag-cell-inline-editing.hot-cell-edit-overflow .ag-cell-editor,
.ag-theme-balham .ag-cell.ag-cell-inline-editing.hot-cell-edit-overflow .ag-cell-editor .ag-wrapper {
    overflow: visible !important;
}
.ag-theme-balham .ag-cell.ag-cell-inline-editing.hot-cell-edit-overflow .ag-input-field-input,
.ag-theme-balham .ag-cell.ag-cell-inline-editing.hot-cell-edit-overflow input[type="text"],
.ag-theme-balham .ag-cell.ag-cell-inline-editing.hot-cell-edit-overflow input {
    position: relative;
    z-index: 1;
    width: var(--hot-cell-edit-overflow-width, 100%) !important;
    max-width: none !important;
    box-sizing: border-box !important;
    background: var(--ag-background-color, #ffffff) !important;
}

.ag-theme-balham .ag-cell.hot-cell-excluded {
    background-color: rgba(220, 53, 69, 0.08) !important;
    color: #6c757d !important;
    font-style: italic;
}
.ag-theme-balham .ag-cell.hot-cell-excluded.hot-cell-excluded-cell {
    background-image: repeating-linear-gradient(
        -45deg,
        rgba(220, 53, 69, 0.25) 0,
        rgba(220, 53, 69, 0.25) 4px,
        rgba(220, 53, 69, 0.05) 4px,
        rgba(220, 53, 69, 0.05) 8px
    ) !important;
}
.ag-theme-balham .ag-cell.hot-cell-excluded-row {
    background-color: rgba(220, 53, 69, 0.08) !important;
    color: #6c757d !important;
    font-style: italic;
    box-shadow: inset 3px 0 0 rgba(220, 53, 69, 0.45);
    background-image: repeating-linear-gradient(
        -45deg,
        rgba(220, 53, 69, 0.25) 0,
        rgba(220, 53, 69, 0.25) 4px,
        rgba(220, 53, 69, 0.05) 4px,
        rgba(220, 53, 69, 0.05) 8px
    ) !important;
}
.ag-theme-balham .ag-cell.hot-cell-excluded-column {
    background-color: rgba(220, 53, 69, 0.08) !important;
    color: #6c757d !important;
    font-style: italic;
    box-shadow: inset 0 3px 0 rgba(220, 53, 69, 0.45);
    background-image: repeating-linear-gradient(
        -45deg,
        rgba(220, 53, 69, 0.25) 0,
        rgba(220, 53, 69, 0.25) 4px,
        rgba(220, 53, 69, 0.05) 4px,
        rgba(220, 53, 69, 0.05) 8px
    ) !important;
}
.ag-theme-balham .hot-row-header {
    background: #f5f5f5;
    font-weight: 400;
    color: #444;
    text-align: right;
}
.ag-theme-balham .ag-checkbox-input-wrapper {
    vertical-align: middle;
}
/* Keep native pinned rows opaque above the scrolling body. */
.ag-theme-balham .ag-pinned-top,
.ag-theme-balham .ag-floating-top,
.ag-theme-balham .ag-pinned-top-viewport,
.ag-theme-balham .ag-floating-top-viewport {
    min-height: var(--ag-row-height);
    background: #ffffff;
}
.ag-theme-balham .ag-pinned-top .ag-row,
.ag-theme-balham .ag-floating-top .ag-row,
.ag-theme-balham .ag-pinned-top .ag-cell,
.ag-theme-balham .ag-floating-top .ag-cell {
    border-bottom: 0 !important;
}
/* Restore the internal divider between merged header rows and their subheaders. */
.ag-theme-balham .ag-pinned-top .ag-cell.box-grouped-header-anchor,
.ag-theme-balham .ag-pinned-top .ag-cell.box-grouped-header-follower,
.ag-theme-balham .ag-floating-top .ag-cell.box-grouped-header-anchor,
.ag-theme-balham .ag-floating-top .ag-cell.box-grouped-header-follower,
.ag-theme-balham .ag-pinned-top .ag-cell.line-3d-header-anchor,
.ag-theme-balham .ag-pinned-top .ag-cell.line-3d-header-follower,
.ag-theme-balham .ag-floating-top .ag-cell.line-3d-header-anchor,
.ag-theme-balham .ag-floating-top .ag-cell.line-3d-header-follower {
    border-bottom: 1px solid #d6d6d6 !important;
}
/* Keep a visible divider under pinned-top rows even while scrolling */
.ag-theme-balham .ag-pinned-top,
.ag-theme-balham .ag-floating-top,
.ag-theme-balham .ag-pinned-top-left,
.ag-theme-balham .ag-pinned-top-center,
.ag-theme-balham .ag-pinned-top-right,
.ag-theme-balham .ag-floating-top-left,
.ag-theme-balham .ag-floating-top-center,
.ag-theme-balham .ag-floating-top-right {
    /* Use inset shadow as a "border" that won't be cancelled by cell border overrides */
    box-shadow: inset 0 -1px 0 #d6d6d6 !important;
    border-top: 0 !important;
    /* Make sure it paints above scrolling rows */
    position: relative;
    z-index: 7;
}

/* Keep pinned-left sections (row headers / pinned first data column) above
   the selection outline so center-range borders slide underneath while scrolling. */
.ag-theme-balham .ag-pinned-left-header,
.ag-theme-balham .ag-pinned-left-header-viewport,
.ag-theme-balham .ag-pinned-left-cols-clipper,
.ag-theme-balham .ag-pinned-left-cols-viewport,
.ag-theme-balham .ag-pinned-left-cols-container,
.ag-theme-balham .ag-pinned-left-floating-top,
.ag-theme-balham .ag-pinned-right-floating-top {
    position: relative;
    z-index: 6;
    background: transparent;
}
.ag-theme-balham .ag-pinned-left-header,
.ag-theme-balham .ag-pinned-left-header-viewport,
.ag-theme-balham .ag-pinned-left-floating-top,
.ag-theme-balham .ag-pinned-right-floating-top {
    box-shadow: inset 0 -1px 0 #d6d6d6 !important;
}
.ag-theme-balham .ag-pinned-left-header .ag-header-cell,
.ag-theme-balham .ag-pinned-left-header-viewport .ag-header-cell,
.ag-theme-balham .ag-pinned-left-cols-container .ag-cell,
.ag-theme-balham .ag-pinned-left-floating-top .ag-cell,
.ag-theme-balham .ag-pinned-right-floating-top .ag-cell {
    border-bottom-color: #d6d6d6 !important;
}
.ag-theme-balham .ag-pinned-left-floating-top .ag-row:last-child .ag-cell,
.ag-theme-balham .ag-pinned-right-floating-top .ag-row:last-child .ag-cell {
    border-bottom: 1px solid #d6d6d6 !important;
}

.ag-theme-balham .ag-pinned-top .ag-center-cols-viewport,
.ag-theme-balham .ag-floating-top .ag-center-cols-viewport {
    overflow: hidden;
}
/* Single seam strategy:
   - Header draws ONE bottom line.
   - Pinned-top draws ONLY its bottom line (handled in the pinned-top block).
   - No extra line at the header <-> pinned boundary. */
.ag-theme-balham .ag-header {
    border-bottom: 1px solid #d6d6d6 !important;
    box-shadow: none !important;
    position: relative;
    z-index: 4;
}

/* Prevent per-cell bottom borders in the header from doubling that seam */
.ag-theme-balham .ag-header-cell {
    border-bottom: 0 !important;
}

.ag-theme-balham .ag-header-cell.hot-selected-column-header {
    background: rgba(26, 115, 232, 0.12) !important;
    box-shadow: none !important;
}

/* Horizontal wheel deltas are relayed to AG Grid's real bottom scrollbar;
   keep all AG Grid scroll containers instantaneous so the native header/body
   synchronization path is not delayed by global smooth-scroll CSS. */
.ag-theme-balham .ag-root,
.ag-theme-balham .ag-root-wrapper,
.ag-theme-balham .ag-header-viewport,
.ag-theme-balham .ag-body-viewport,
.ag-theme-balham .ag-center-cols-viewport,
.ag-theme-balham .ag-body-horizontal-scroll,
.ag-theme-balham .ag-body-horizontal-scroll-viewport,
.ag-theme-balham .ag-floating-top-viewport,
.ag-theme-balham .ag-pinned-top-viewport {
    scroll-behavior: auto !important;
}

/* Keep native scrollbars above custom selection overlays so outlines are
   visually occluded instead of being geometrically clipped. */
.ag-theme-balham .ag-body-vertical-scroll,
.ag-theme-balham .ag-body-vertical-scroll-viewport,
.ag-theme-balham .ag-body-horizontal-scroll,
.ag-theme-balham .ag-body-horizontal-scroll-viewport {
    position: relative;
    z-index: 8;
    background-color: var(--graphitix-ag-scrollbar-track) !important;
}
.ag-theme-balham .ag-body-vertical-scroll::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 100%;
    height: 100vh;
    background: var(--graphitix-ag-scrollbar-track);
    pointer-events: none;
}
.ag-theme-balham .ag-body-vertical-scroll,
.ag-theme-balham .ag-body-vertical-scroll-viewport,
.ag-theme-balham .ag-body-vertical-scroll-container {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-sizing: border-box;
}
.ag-theme-balham .ag-body-vertical-scroll-viewport,
.ag-theme-balham .ag-body-horizontal-scroll-viewport {
    scrollbar-color: #8f8f8f var(--graphitix-ag-scrollbar-track);
    scrollbar-width: auto;
}
.ag-theme-balham .ag-body-vertical-scroll-viewport::-webkit-scrollbar {
    width: 12px;
}
.ag-theme-balham .ag-body-vertical-scroll-viewport::-webkit-scrollbar-track {
    background: var(--graphitix-ag-scrollbar-track);
    margin: 0;
}
.ag-theme-balham .ag-body-vertical-scroll-viewport::-webkit-scrollbar-thumb {
    background: #8f8f8f;
    border: 0;
    border-radius: 10px;
    background-clip: border-box;
}
.ag-theme-balham .ag-body-horizontal-scroll-viewport::-webkit-scrollbar {
    height: 12px;
}
.ag-theme-balham .ag-body-horizontal-scroll-viewport::-webkit-scrollbar-track {
    background: var(--graphitix-ag-scrollbar-track);
    margin: 0;
}
.ag-theme-balham .ag-body-horizontal-scroll-viewport::-webkit-scrollbar-thumb {
    background: #8f8f8f;
    border: 0;
    border-radius: 10px;
    background-clip: border-box;
}
.ag-theme-balham .ag-horizontal-left-spacer,
.ag-theme-balham .ag-horizontal-right-spacer,
.ag-theme-balham .ag-floating-top,
.ag-theme-balham .ag-pinned-left-floating-top,
.ag-theme-balham .ag-pinned-right-floating-top {
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.ag-theme-balham .ag-horizontal-left-spacer::-webkit-scrollbar,
.ag-theme-balham .ag-horizontal-right-spacer::-webkit-scrollbar,
.ag-theme-balham .ag-floating-top::-webkit-scrollbar,
.ag-theme-balham .ag-pinned-left-floating-top::-webkit-scrollbar,
.ag-theme-balham .ag-pinned-right-floating-top::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none;
}

/* Defensive: kill any remaining header separator pseudo-elements */
.ag-theme-balham .ag-header::after,
.ag-theme-balham .ag-header-viewport::after,
.ag-theme-balham .ag-header-row::after {
    content: none !important;
    display: none !important;
}

/* Defensive: ensure pinned-top viewport itself never adds a top edge */
.ag-theme-balham .ag-pinned-top-viewport,
.ag-theme-balham .ag-floating-top-viewport {
    border-top: 0 !important;
    box-shadow: none !important;
}

.ag-hot-menu {
    border-radius: var(--ui-menu-radius);
}

.ag-hot-filter-menu {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px;
    background: #ffffff;
    border: 1px solid #cfd5de;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.16);
    color: #1f2937;
}

.ag-hot-filter-menu [hidden] {
    display: none !important;
}

.ag-hot-filter-menu__heading {
    font-size: 12px;
    font-weight: 600;
    color: #334155;
    word-break: break-word;
}

.ag-hot-filter-menu__heading-meta,
.ag-hot-filter-menu__summary {
    font-size: 11px;
    color: #64748b;
}

.ag-hot-filter-menu__sort {
    display: grid;
    gap: 4px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e5e7eb;
}

.ag-hot-filter-menu__sort-button,
.ag-hot-filter-menu__button {
    min-height: 28px;
    padding: 4px 8px;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #1f2937;
    text-align: left;
}

.ag-hot-filter-menu__sort-button.is-active {
    background: #dbeafe;
    border-color: #60a5fa;
    color: #0f172a;
}

.ag-hot-filter-menu__sort-button:hover,
.ag-hot-filter-menu__button:hover {
    background: #eef4ff;
    border-color: #93c5fd;
}

.ag-hot-filter-menu__sort-button:disabled,
.ag-hot-filter-menu__button:disabled {
    background: #f8fafc;
    border-color: #e5e7eb;
    color: #94a3b8;
    cursor: default;
}

.ag-hot-filter-menu__label {
    font-size: 12px;
    font-weight: 600;
    color: #475569;
}

.ag-hot-filter-menu__select,
.ag-hot-filter-menu__search,
.ag-hot-filter-menu__input {
    width: 100%;
    min-height: 24px;
    padding: 2px 6px;
    border: 1px solid #7f8ea3;
    background: #ffffff;
    color: #111827;
    box-sizing: border-box;
    box-shadow: none;
}

.ag-hot-filter-menu .ag-hot-filter-menu__input:not([hidden]) {
    display: block !important;
    width: 100% !important;
    min-height: 24px;
    padding: 2px 6px !important;
    border: 1px solid #7f8ea3 !important;
    background: #ffffff !important;
    color: #111827 !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    border-radius: 0;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: textfield;
}

.ag-hot-filter-menu .ag-hot-filter-menu__input[hidden] {
    display: none !important;
}

.ag-hot-filter-menu__input::-webkit-outer-spin-button,
.ag-hot-filter-menu__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.ag-hot-filter-menu__select:focus,
.ag-hot-filter-menu__search:focus,
.ag-hot-filter-menu__input:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.22);
}

.ag-hot-filter-menu__values {
    max-height: 220px;
    overflow: auto;
    border: 1px solid #e5e7eb;
    background: #ffffff;
}

.ag-hot-filter-menu__check {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 2px 6px;
    font-size: 12px;
    line-height: 1.15;
    color: #1f2937;
}

.ag-hot-filter-menu__check input[type="checkbox"] {
    margin: 0;
}

.ag-hot-filter-menu__check:hover {
    background: #f8fafc;
}

.ag-hot-filter-menu__hint {
    font-size: 11px;
    line-height: 1.1;
    color: #64748b;
}

.ag-hot-filter-menu__hint:empty {
    display: none;
}

.ag-hot-filter-menu__hint.is-error {
    color: #b42318;
}

.ag-hot-filter-menu__inputs {
    display: grid;
    gap: 4px;
}

.ag-hot-filter-menu__footer {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    padding-top: 8px;
}

.ag-hot-filter-menu__footer .ag-hot-filter-menu__button {
    text-align: center;
    min-width: 56px;
}

#appShell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: #f2f3f5;
}

.workspace-page {
    min-width: 100%;
    width: max-content;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

#vennPage {
    min-width: 100%;
    width: 100%;
    max-width: none;
}

#boxPage {
    min-width: 100%;
    width: 100%;
    max-width: none;
}

#pcaPage {
    min-width: 100%;
    width: 100%;
    max-width: none;
}

#linePage {
    min-width: 100%;
    width: 100%;
    max-width: none;
}

#heatmapPage {
    min-width: 100%;
    width: 100%;
    max-width: none;
}

#surfacePage {
    min-width: 100%;
    width: 100%;
    max-width: none;
}

#rocPage {
    min-width: 100%;
    width: 100%;
    max-width: none;
}

#survivalPage {
    min-width: 100%;
    width: 100%;
    max-width: none;
}

#histPage {
    min-width: 100%;
    width: 100%;
    max-width: none;
}

#piePage {
    min-width: 100%;
    width: 100%;
    max-width: none;
}

#scatterPage {
    min-width: 100%;
    width: 100%;
    max-width: none;
}

.app-header {
    display: none;
}

#workspaceMain {
    flex: 1;
    position: relative;
}

.workspace-pages {
    padding: 0;
}

.workspace-page[hidden] {
    display: none !important;
}

.welcome-screen {
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: stretch;
    min-height: 100vh;
    background: #f7f9fc;
    position: relative;
}

.welcome-noscript {
    border: 1px solid #dbe3ee;
    border-radius: 10px;
    background: #ffffff;
    padding: 18px;
    color: #0f172a;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
}

.welcome-noscript h2 {
    margin: 0 0 8px;
    font-size: 18px;
}

.welcome-noscript p {
    margin: 0;
    color: #475569;
    font-size: 13.5px;
    line-height: 1.5;
}

.welcome-container {
    width: 100%;
    max-width: 1380px;
    padding: 24px 32px 48px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.welcome-hero {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.welcome-hero__heading {
    display: flex;
    flex-direction: column;
    gap: 3px;
    max-width: 920px;
    padding-left: 14px;
    border-left: 3px solid #6d28d9;
}

.welcome-hero__title {
    margin: 0;
    font-size: 34px;
    font-weight: 750;
    color: #0f172a;
    letter-spacing: -0.03em;
    line-height: 1.05;
}

.welcome-hero__lede {
    margin: 0;
    font-size: 16.5px;
    font-weight: 650;
    color: #172554;
    line-height: 1.3;
    letter-spacing: -0.015em;
}

.welcome-action-grid {
    display: grid;
    grid-template-columns: minmax(230px, 0.64fr) minmax(280px, 0.78fr) minmax(620px, 1.78fr);
    gap: 14px;
    width: 100%;
    align-items: stretch;
}

.welcome-panel {
    min-width: 0;
    border: 1px solid #d8e1ec;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.045);
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.welcome-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.welcome-panel__header--compact {
    align-items: center;
}

.welcome-panel__copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.welcome-dialog__eyebrow {
    margin: 0;
    font-size: 10.5px;
    color: #607189;
    text-transform: uppercase;
    letter-spacing: 0;
    font-weight: 750;
}

.welcome-panel__title,
.welcome-section-header__title {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.24;
    letter-spacing: -0.015em;
}

.welcome-dialog__title {
    margin: 0;
    font-size: 19px;
    font-weight: 710;
    color: #0f172a;
    line-height: 1.22;
    letter-spacing: -0.018em;
}

.welcome-section-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    padding-top: 0;
}

.welcome-section-header__copy {
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: 760px;
}

.welcome-dialog__subtitle {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.5;
    color: #526176;
}

.welcome-drop-zone {
    cursor: pointer;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
}

.welcome-drop-zone__icon,
.welcome-graph-finder__icon {
    width: 21px;
    height: 21px;
    color: #6d28d9;
    flex: 0 0 21px;
}

.welcome-drop-zone__copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.welcome-drop-zone__copy > span:first-child {
    font-size: 12.5px;
    color: #526176;
    line-height: 1.45;
}

.welcome-drop-zone__copy > span:last-child {
    font-size: 12.5px;
    color: #526176;
    line-height: 1.45;
}

.welcome-drop-zone__supporting {
    font-size: 12.5px;
    color: #6b7a90;
    line-height: 1.45;
}

.welcome-drop-zone__action {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0 12px;
    border: 1px solid #ddd6fe;
    border-radius: 7px;
    background: #f7f5ff;
    color: #5b21b6;
    font-size: 12.5px;
    font-weight: 700;
}

.welcome-drop-zone:hover,
.welcome-drop-zone--active {
    border-color: #a78bfa;
    background: #fdfcff;
    box-shadow: 0 0 0 3px rgba(109, 40, 217, 0.08);
}

.welcome-graph-finder {
    position: relative;
}

.welcome-graph-finder__hint {
    margin: 0;
    font-size: 12.5px;
    line-height: 1.48;
    color: #6b7a90;
}

.welcome-hero__search-container {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
}

.welcome-hero__search-input {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    min-height: 34px;
    height: 34px;
    padding: 0 11px;
    border: 1px solid #bcc9d8;
    border-radius: 7px;
    font-size: 14px;
    font-family: inherit;
    color: #0f172a;
    background: #ffffff;
    transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

.welcome-hero__search-input:focus {
    outline: none;
    border-color: #7c3aed;
    box-shadow: none;
}

.welcome-hero__search-input::placeholder {
    color: #93a1b3;
}

.welcome-hero__search-results {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    border: 1px solid #c8d3e0;
    border-radius: 9px;
    background: #ffffff;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.16);
    max-height: 340px;
    overflow-y: auto;
    padding: 4px 0;
    z-index: 30;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.14s ease, visibility 0.14s ease;
    box-sizing: border-box;
}

.welcome-picker--open .welcome-hero__search-results {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.welcome-picker__option {
    border: none;
    border-bottom: 1px solid #edf1f6;
    border-radius: 0;
    background: transparent;
    display: flex;
    width: 100%;
    box-sizing: border-box;
    padding: 10px 13px;
    text-align: left;
    cursor: pointer;
    color: #0f172a;
    font-size: 14px;
    transition: background-color 0.14s ease;
}

.welcome-picker__option:last-child { border-bottom: none; }

.welcome-picker__option:focus-visible,
.welcome-picker__option:hover {
    outline: none;
    background: #f8fafc;
}

.welcome-picker__option--selected { background: #f5f3ff; }

.welcome-picker__empty {
    margin: 0;
    padding: 16px;
    font-size: 14px;
    color: #64748b;
    text-align: center;
}

.welcome-picker__option-line {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px;
    width: 100%;
}

.welcome-picker__option-label {
    font-weight: 650;
    font-size: 14px;
    color: #0f172a;
}

.welcome-picker__option-separator,
.welcome-picker__option-description {
    font-size: 13px;
    color: #64748b;
}

.welcome-link-button {
    border: none;
    background: transparent;
    color: #5b21b6;
    padding: 2px 0;
    cursor: pointer;
    font: inherit;
    font-size: 12.5px;
    font-weight: 720;
    white-space: nowrap;
}

.welcome-link-button:hover { color: #4c1d95; text-decoration: underline; }

.welcome-popular__carousel {
    position: relative;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) 28px;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.welcome-popular__grid {
    --welcome-popular-visible-count: 4;
    --welcome-popular-gap: 9px;
    display: flex;
    gap: var(--welcome-popular-gap);
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
}

.welcome-popular__grid::-webkit-scrollbar {
    display: none;
}


.welcome-popular__grid.is-wheel-scrolling {
    scroll-snap-type: none;
    scroll-behavior: auto;
}

.welcome-popular__grid > .welcome-example-item {
    flex: 0 0 calc((100% - (var(--welcome-popular-visible-count) - 1) * var(--welcome-popular-gap)) / var(--welcome-popular-visible-count));
    scroll-snap-align: start;
}

.welcome-carousel__button {
    appearance: none;
    width: 28px;
    height: 44px;
    padding: 0;
    border: 1px solid #d8e1ec;
    border-radius: 7px;
    background: #ffffff;
    color: #5b21b6;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.welcome-carousel__button:hover:not(:disabled) {
    border-color: #bca7ef;
    background: #fdfcff;
}

.welcome-carousel__button:disabled {
    color: #aab4c2;
    background: #f8fafc;
    cursor: default;
    opacity: 0.58;
}

.welcome-carousel__button svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.welcome-example-item {
    min-width: 0;
    display: flex;
}

.welcome-example-card {
    appearance: none;
    width: 100%;
    border: 1px solid #e1e8f1;
    border-radius: 8px;
    background: #ffffff;
    padding: 7px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
}

.welcome-example-card:hover {
    border-color: #bca7ef;
    background: #fdfcff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.07);
}

.welcome-example-card--compact {
    padding: 5px;
    gap: 5px;
}

.welcome-example-card__thumb {
    position: relative;
    overflow: hidden;
    border-radius: 5px;
    border: 1px solid #edf1f5;
    background: #ffffff;
    aspect-ratio: 16 / 11;
    display: flex;
    align-items: center;
    justify-content: center;
}

.welcome-example-card__thumb > svg {
    display: block;
    width: 100%;
    height: 100%;
    padding: 2px;
    box-sizing: border-box;
    overflow: hidden;
}

.welcome-example-card__thumb-fallback {
    width: 48px;
    height: 48px;
    color: #6d28d9;
    opacity: 0.8;
}

.welcome-example-card__thumb-fallback .welcome-graph-icon {
    display: block;
    width: 100%;
    height: 100%;
}

.welcome-example-card__body {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.welcome-example-card__hint {
    margin: 0;
    font-size: 10px;
    color: #607189;
    text-transform: uppercase;
    letter-spacing: 0;
    font-weight: 720;
}

.welcome-example-card__title {
    margin: 0;
    font-size: 13.5px;
    font-weight: 400;
    color: #0f172a;
    line-height: 1.28;
}

.welcome-example-card__summary {
    margin: 0;
    font-size: 12.25px;
    line-height: 1.42;
    color: #607189;
}

.welcome-example-card--compact .welcome-example-card__hint,
.welcome-example-card--compact .welcome-example-card__summary {
    display: none;
}

.welcome-example-card--compact .welcome-example-card__title {
    font-size: 12.25px;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.selection-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    width: 100%;
}

.graph-card {
    list-style: none;
    border: 1px solid #d8e1ec;
    border-radius: 10px;
    background: #ffffff;
    padding: 16px;
    display: flex;
    flex-direction: column;
    text-align: left;
    color: #0f172a;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04);
    position: relative;
    overflow: hidden;
    min-width: 0;
    transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

.graph-card:hover {
    border-color: #c5d0df;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.055);
}

.graph-card__main {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}

.graph-card__icon {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid #e1e8f1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0;
    color: #6d28d9;
    --welcome-icon-axis: #97a1b2;
    --welcome-icon-axis-strong: #6b7280;
    --welcome-icon-primary: #6d28d9;
    --welcome-icon-secondary: #d9465f;
    --welcome-icon-soft: #ede9fe;
    --welcome-icon-soft-secondary: #ffe4e6;
    --welcome-icon-heat-1: #fee2e2;
    --welcome-icon-heat-2: #fdba74;
    --welcome-icon-heat-3: #fde68a;
    --welcome-icon-heat-4: #a7f3d0;
    --welcome-icon-heat-5: #60a5fa;
    --welcome-icon-heat-6: #4338ca;
}

.graph-card__icon .welcome-graph-icon {
    width: 39px;
    height: 39px;
    display: block;
    margin: 0 auto;
    overflow: visible;
    transform: scale(1.12);
    transform-origin: center;
}

.graph-card__icon .welcome-graph-icon * {
    vector-effect: non-scaling-stroke;
}

.graph-card__icon .welcome-icon__axis,
.graph-card__icon .welcome-icon__dendrogram,
.graph-card__icon .welcome-icon__surface-grid {
    fill: none;
    stroke: var(--welcome-icon-axis);
    stroke-width: 1.35;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.graph-card__icon .welcome-icon__primary,
.graph-card__icon .welcome-icon__secondary,
.graph-card__icon .welcome-icon__guide,
.graph-card__icon .welcome-icon__density,
.graph-card__icon .welcome-icon__diagonal,
.graph-card__icon .welcome-icon__upset-line,
.graph-card__icon .welcome-icon__surface-back,
.graph-card__icon .welcome-icon__surface-ridge,
.graph-card__icon .welcome-icon__survival-a,
.graph-card__icon .welcome-icon__survival-b {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.graph-card__icon .welcome-icon__primary {
    stroke: var(--welcome-icon-primary);
    stroke-width: 1.7;
}

.graph-card__icon .welcome-icon__secondary {
    stroke: var(--welcome-icon-secondary);
    stroke-width: 1.55;
}

.graph-card__icon .welcome-icon__guide {
    stroke: var(--welcome-icon-axis-strong);
    stroke-width: 0.95;
}

.graph-card__icon .welcome-icon__density {
    stroke: var(--welcome-icon-secondary);
    stroke-width: 1.4;
}

.graph-card__icon .welcome-icon__diagonal {
    stroke: var(--welcome-icon-axis);
    stroke-width: 1;
    stroke-dasharray: 2.2 2.2;
}

.graph-card__icon .welcome-icon__surface-back {
    stroke: var(--welcome-icon-axis);
    stroke-width: 1.2;
}

.graph-card__icon .welcome-icon__surface-ridge {
    stroke: var(--welcome-icon-primary);
    stroke-width: 1.8;
}

.graph-card__icon .welcome-icon__survival-a {
    stroke: var(--welcome-icon-primary);
    stroke-width: 1.7;
}

.graph-card__icon .welcome-icon__survival-b {
    stroke: var(--welcome-icon-secondary);
    stroke-width: 1.7;
}

.graph-card__icon .welcome-icon__surface-grid,
.graph-card__icon .welcome-icon__upset-line {
    stroke-width: 1.1;
}

.graph-card__icon .welcome-icon__box {
    fill: var(--welcome-icon-primary);
    stroke: var(--welcome-icon-primary);
    stroke-width: 0.85;
}

.graph-card__icon .welcome-icon__points circle,
.graph-card__icon .welcome-icon__upset-dots circle {
    fill: var(--welcome-icon-primary);
    stroke: none;
}

.graph-card__icon .welcome-icon__bars rect {
    fill: var(--welcome-icon-primary);
    opacity: 0.78;
}

.graph-card__icon .welcome-icon__area {
    fill: var(--welcome-icon-soft);
    opacity: 0.72;
    stroke: none;
}

.graph-card__icon .welcome-icon__cluster-a,
.graph-card__icon .welcome-icon__cluster-b {
    fill: transparent;
    stroke-width: 1.05;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: 0.7;
}

.graph-card__icon .welcome-icon__cluster-a {
    stroke: var(--welcome-icon-primary);
}

.graph-card__icon .welcome-icon__cluster-b {
    stroke: var(--welcome-icon-secondary);
}

.graph-card__icon .welcome-icon__heatmap-grid rect {
    stroke: #f8fafc;
    stroke-width: 0.75;
}

.graph-card__icon .welcome-icon__heat-1 { fill: var(--welcome-icon-heat-1); }
.graph-card__icon .welcome-icon__heat-2 { fill: var(--welcome-icon-heat-2); }
.graph-card__icon .welcome-icon__heat-3 { fill: var(--welcome-icon-heat-3); }
.graph-card__icon .welcome-icon__heat-4 { fill: var(--welcome-icon-heat-4); }
.graph-card__icon .welcome-icon__heat-5 { fill: var(--welcome-icon-heat-5); }
.graph-card__icon .welcome-icon__heat-6 { fill: var(--welcome-icon-heat-6); }

.graph-card__icon .welcome-icon__donut-track,
.graph-card__icon .welcome-icon__donut-a,
.graph-card__icon .welcome-icon__donut-b,
.graph-card__icon .welcome-icon__donut-c {
    fill: none;
    stroke-width: 7;
    transform: rotate(-90deg);
    transform-origin: 24px 24px;
}

.graph-card__icon .welcome-icon__donut-track {
    stroke: #e5e7eb;
}

.graph-card__icon .welcome-icon__donut-a {
    stroke: var(--welcome-icon-primary);
    stroke-dasharray: 36 64;
    stroke-dashoffset: 0;
}

.graph-card__icon .welcome-icon__donut-b {
    stroke: var(--welcome-icon-secondary);
    stroke-dasharray: 28 72;
    stroke-dashoffset: -36;
}

.graph-card__icon .welcome-icon__donut-c {
    stroke: #14b8a6;
    stroke-dasharray: 18 82;
    stroke-dashoffset: -64;
}

.graph-card__icon .welcome-icon__donut-hole {
    fill: #f8fafc;
    stroke: none;
}

.graph-card__icon .welcome-icon__venn-a,
.graph-card__icon .welcome-icon__venn-b {
    fill: transparent;
    stroke-width: 1.55;
}

.graph-card__icon .welcome-icon__venn-a {
    stroke: var(--welcome-icon-primary);
}

.graph-card__icon .welcome-icon__venn-b {
    stroke: var(--welcome-icon-secondary);
}

.graph-card__content {
    padding: 1px 0 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex: 1;
    min-width: 0;
}

.graph-card__title {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.28;
    letter-spacing: -0.01em;
}

.graph-card__description {
    margin: 12px 0 0;
    font-size: 13px;
    color: #526176;
    line-height: 1.48;
    flex: 1;
    min-height: 39px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.graph-card__hint {
    margin: 0;
    font-size: 10px;
    color: #607189;
    text-transform: uppercase;
    letter-spacing: 0;
    font-weight: 730;
}

.graph-card__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    align-items: stretch;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #eef2f6;
}

.graph-card__action {
    border: 1px solid #c8d3df;
    border-radius: 7px;
    background: #ffffff;
    color: #0f172a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    min-height: 34px;
    padding: 6px 11px;
    text-align: center;
    font: inherit;
    font-size: 12.5px;
    font-weight: 680;
    cursor: pointer;
    transition: background-color 0.14s ease, border-color 0.14s ease, color 0.14s ease, box-shadow 0.14s ease;
}

.graph-card__action--new {
    background: #f6f3ff;
    border-color: #c4b5fd;
    color: #5b21b6;
}

.graph-card__action--new:hover {
    background: #ede9fe;
    border-color: #a78bfa;
}

.graph-card__action--example:hover {
    background: #f8fafc;
    border-color: #9aa9bc;
}

.welcome-dialog {
    position: fixed;
    inset: 0;
    z-index: 4500;
}

.welcome-dialog__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.48);
}

.welcome-dialog__panel {
    position: relative;
    z-index: 1;
    width: min(1160px, calc(100vw - 40px));
    max-height: min(88vh, 940px);
    margin: 44px auto;
    border: 1px solid #d5deea;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 28px 70px rgba(15, 23, 42, 0.25);
    padding: 22px;
    overflow: auto;
}

.welcome-dialog__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid #edf1f5;
}

.welcome-dialog__copy {
    display: flex;
    flex-direction: column;
    gap: 5px;
    max-width: 760px;
}

.welcome-dialog__close {
    border: 1px solid #c8d3df;
    border-radius: 7px;
    background: #ffffff;
    color: #0f172a;
    min-height: 36px;
    padding: 0 13px;
    cursor: pointer;
    font: inherit;
    font-size: 12.5px;
    font-weight: 680;
}

.welcome-dialog__close:hover { background: #f8fafc; }

.welcome-all-examples {
    --welcome-gallery-card-min: 190px;
    --welcome-gallery-card-max: 212px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(var(--welcome-gallery-card-min), var(--welcome-gallery-card-max)));
    justify-content: center;
    gap: 14px;
}

#welcomeScreen .graph-card__action:focus-visible,
#welcomeScreen .welcome-picker__option:focus-visible,
#welcomeScreen .welcome-hero__search-input:focus-visible,
#welcomeScreen .welcome-drop-zone:focus-visible,
#welcomeScreen .welcome-link-button:focus-visible,
#welcomeScreen .welcome-example-card:focus-visible,
#welcomeExamplesDialog .welcome-example-card:focus-visible,
#welcomeExamplesDialog .welcome-dialog__close:focus-visible {
    outline: 1px solid #7c3aed !important;
    outline-offset: 0 !important;
    box-shadow: none !important;
}

@media (max-width: 1200px) {
    .welcome-action-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .welcome-popular { grid-column: 1 / -1; }
    .selection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .welcome-container { padding: 26px 22px 46px; }
    .welcome-action-grid { grid-template-columns: 1fr; }
    .welcome-popular { grid-column: auto; }
    .welcome-popular__grid { --welcome-popular-visible-count: 2; }
    .welcome-hero__title { font-size: 31px; }
    .welcome-dialog__panel {
        width: min(900px, calc(100vw - 22px));
        margin: 18px auto;
        padding: 18px;
    }
}

@media (max-width: 640px) {
    .welcome-container { padding: 22px 15px 40px; gap: 21px; }
    .welcome-hero__heading { padding-left: 11px; }
    .welcome-hero__title { font-size: 28px; }
    .welcome-hero__lede { font-size: 15.5px; }
    .welcome-panel { padding: 13px; }
    .selection-grid,
    .welcome-all-examples { grid-template-columns: 1fr; }
    .welcome-popular__grid { --welcome-popular-visible-count: 2; }
    .welcome-section-header,
    .welcome-dialog__header { flex-direction: column; align-items: stretch; }
    .graph-card__actions { grid-template-columns: 1fr; width: 100%; }
    .graph-card__action,
    .welcome-dialog__close { width: 100%; }
}

.workspace-tabs-dock {
    position: fixed;
    left: 0;
    bottom: 0;
    display: flex;
    align-items: stretch;
    gap: 0;
    background: #f8fafc;
    border-top: 1px solid #d6d6d6;
    border-right: 1px solid #d6d6d6;
    border-bottom: 0;
    border-left: 0;
    border-radius: 0;
    box-shadow: 0 -6px 18px rgba(15, 23, 42, 0.08);
    padding: 0;
    width: 100%;
    overflow: hidden;
    z-index: 4000;
    flex-wrap: nowrap;
    box-sizing: border-box;
    height: var(--workspace-tabs-height);
}

.workspace-tabs-list {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 0;
    flex: 0 1 auto;
    max-width: calc(100% - 48px);
    height: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    scrollbar-color: #a3a3a3 transparent;
}

.workspace-tabs-list::-webkit-scrollbar {
    height: 6px;
}

.workspace-tabs-list::-webkit-scrollbar-thumb {
    background: #a3a3a3;
    border-radius: 999px;
}

.workspace-tab {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    border: 0 solid transparent;
    border-left-width: 1px;
    border-right-width: 1px;
    border-bottom: 3px solid transparent;
    color: #475569;
    padding: 5px 36px 5px 18px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    flex: 0 0 auto;
    min-width: 0;
    line-height: 1.4;
    height: var(--workspace-tab-row-height);
    min-height: var(--workspace-tab-row-height);
    box-sizing: border-box;
    white-space: nowrap;
    scroll-snap-align: start;
    border-radius: 0 !important;
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.workspace-tab::after{
    content:"";
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    width:1px;
    height:24px;
    background:#d6d6d6;
    pointer-events:none;
}

.workspace-tab.is-dragging {
    opacity: 0.7;
    cursor: grabbing;
}

.workspace-tab.is-drag-over-before::before,
.workspace-tab.is-drag-over-after::after {
    content: "";
    position: absolute;
    top: 6px;
    bottom: 6px;
    width: 3px;
    border-radius: 999px;
    background: #6366f1;
}

.workspace-tab.is-drag-over-before::before {
    left: -1px;
}

.workspace-tab.is-drag-over-after::after {
    right: -1px;
}

.workspace-tabs-list.is-drag-active {
    cursor: grabbing;
}

.workspace-tabs-list.is-drag-over-end::after {
    content: "";
    position: absolute;
    top: 6px;
    bottom: 6px;
    right: 4px;
    width: 3px;
    border-radius: 999px;
    background: #6366f1;
}

.workspace-tab:first-child {
    border-left-color: transparent;
}

.workspace-tab.is-welcome {
    padding-right: 18px;
}

.workspace-tab.is-active {
    background: #ffffff;
    color: #1e293b;
    border-bottom-color: #6366f1;
    border-left-color: #d6d6d6;
    border-right-color: #d6d6d6;
    box-shadow: none;
    border-radius: 0 !important;
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

/* Remove separators directly adjacent to the active tab.
   Keep separators only between inactive neighbors. */
.workspace-tab.is-active::after,
.workspace-tab.is-before-active::after,
.workspace-tab:last-child::after{
    display:none;
}

.workspace-tab:hover,
.workspace-tab:focus {
    background: rgba(255, 255, 255, 0.6);
    color: #1f2937;
}

.workspace-tab__label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    pointer-events: auto;
    user-select: none;
    white-space: nowrap;
}

.workspace-tab__preview-tooltip {
    position: fixed;
    pointer-events: none;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.15);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
    padding: 8px;
    border-radius: 8px;
    z-index: 1200;
    box-sizing: border-box;
    max-width: 238px;
    max-height: 238px;
    overflow: hidden;
    display: none;
    opacity: 0;
}

.workspace-tab__preview-tooltip svg {
    display: block;
    width: auto;
    height: auto;
    max-width: 220px;
    max-height: 220px;
}

.workspace-tab:focus-visible {
    outline: 2px solid #6366f1;
    outline-offset: -2px;
}


.workspace-tab__close {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
    color: inherit;
    background: transparent;
    user-select: none;
    opacity: 0.7;
    transition: background 0.2s ease, opacity 0.2s ease;
}

.workspace-tab__close:hover,
.workspace-tab__close:focus {
    background: rgba(99, 102, 241, 0.12);
    opacity: 1;
}

.workspace-tab__close:focus-visible {
    outline: 2px solid rgba(99, 102, 241, 0.6);
    outline-offset: 1px;
}

.workspace-tab.is-renaming .workspace-tab__close,
.workspace-tab.is-welcome .workspace-tab__close {
    display: none;
}

.workspace-tab input.workspace-tab__rename {
    position: absolute;
    left: 14px;
    right: 14px;
    width: auto;
    top: 50%;
    transform: translateY(-50%);
    height: 26px;
    box-sizing: border-box;
    border-radius: 0;
    border: none;
    padding: 0;
    margin: 0;
    font-size: 13px;
    background: transparent;
    color: inherit;
    box-shadow: none;
}

.workspace-tab input.workspace-tab__rename:focus {
    outline: none;
    border: none;
    box-shadow: none;
}

.workspace-tab.is-active .workspace-tab__rename {
    color: inherit;
}

.workspace-tab.is-renaming .workspace-tab__label {
    visibility: hidden;
}

.workspace-add-tab {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    width: 48px;
    min-width: 48px;
    height: var(--workspace-tab-row-height);
    min-height: var(--workspace-tab-row-height);
    align-self: flex-start;
    padding: 0;
    border: none;
    background: #f8fafc;
    color: #475569;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
    align-self: stretch;
    box-shadow: inset 1px 0 0 #d6d6d6, inset -1px 0 0 #d6d6d6;
}

.workspace-add-tab::after {
    display: none;
}

.workspace-tabs-list:has(.workspace-tab:last-child.is-active) + .workspace-add-tab {
    box-shadow: inset -1px 0 0 #d6d6d6;
}

.workspace-add-tab:hover,
.workspace-add-tab:focus {
    background: #e5e7eb;
    color: #1f2937;
}

.workspace-add-tab:focus-visible {
    outline: 2px solid #6366f1;
    outline-offset: -2px;
}

.workspace-modal {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 5000;
}

.workspace-modal[hidden] {
    display: none;
}

.workspace-modal__panel {
    background: #ffffff;
    border-radius: 6px;
    padding: 28px 32px;
    width: min(440px, calc(100% - 48px));
    box-shadow: 0 32px 72px rgba(15, 23, 42, 0.3);
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.style-sync-panel form {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
    min-height: 0;
}

.style-sync-panel {
    max-height: min(90vh, 860px);
}

.style-sync-scroll {
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 1;
    overflow-y: auto;
    min-height: 0;
    padding-right: 6px;
}

.style-sync-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.style-sync-field__label {
    font-size: 14px;
    font-weight: 600;
    color: #111827;
}

.style-sync-field select {
    border: var(--ui-control-border);
    border-radius: var(--ui-control-radius);
    height: var(--ui-control-height);
    padding: 2px 24px 2px 8px;
    font-size: 12px;
    line-height: 20px;
    color: var(--ui-control-fg);
    background: var(--ui-control-bg);
    box-shadow: var(--ui-control-shadow);
    appearance: none;
    background-image: var(--config-panel-select-icon,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23131c23' d='M0 0h10L5 6z'/%3E%3C/svg%3E"));
    background-repeat: no-repeat;
    background-position: right 8px center;
}
.style-sync-field select:focus {
    outline: var(--ui-focus-outline);
    outline-offset: var(--ui-focus-offset);
}

.style-sync-select-all {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    border: 1px solid #b4bccb;
    background: #f9fafc;
    font-size: 11px;
    font-weight: 400;
    color: #1e2633;
    letter-spacing: 0;
    text-transform: none;
    cursor: pointer;
    white-space: nowrap;
}

.style-sync-targets {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #f9fafb;
    padding: 8px;
    max-height: 220px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.style-sync-targets label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 8px;
    border: 1px solid #b4bccb;
    background: #f9fafc;
    font-size: 11px;
    font-weight: 400;
    color: #1e2633;
    letter-spacing: 0;
    text-transform: none;
    cursor: pointer;
    white-space: nowrap;
}

.style-sync-targets__empty {
    font-size: 14px;
    color: #6b7280;
    font-style: italic;
}

.style-sync-options {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.style-sync-options legend {
    font-weight: 600;
    color: #111827;
    font-size: 14px;
}

.style-sync-options label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 8px;
    border: 1px solid #b4bccb;
    background: #f9fafc;
    font-size: 11px;
    font-weight: 400;
    color: #1e2633;
    letter-spacing: 0;
    text-transform: none;
    cursor: pointer;
    white-space: normal;
    line-height: 1.3;
}

.style-sync-options__suboption {
    margin-left: 20px;
    font-size: 10px;
    opacity: .95;
}
.style-sync-select-all input[type="checkbox"],
.style-sync-targets label input[type="checkbox"],
.style-sync-options label input[type="checkbox"] {
    margin: 0;
    width: 16px;
    height: 16px;
    accent-color: #0b63d1;
}

/* Shared checkbox-chip primitive across modal/toolbar/control panels. */
.style-sync-select-all,
.style-sync-targets label,
.style-sync-options label,
.workspace-toolbar__checkbox,
.axis-controls-panel__checkbox-label,
.axis-controls-panel__extra-toggle{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:var(--shared-checkbox-chip-padding,4px 8px);
    border:1px solid var(--shared-checkbox-chip-border,#b4bccb);
    background:var(--shared-checkbox-chip-bg,#f9fafc);
    font-size:11px;
    font-weight:400;
    color:var(--shared-checkbox-chip-text,#1e2633);
    letter-spacing:0;
    text-transform:none;
    white-space:nowrap;
}

/* Shared compact checkbox toggle chip used in axis/significance toolbars. */
.axis-controls-panel__checkbox-chip,
.significance-controls-panel__checkbox-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border:none;
    border-radius:0;
    background:transparent;
    cursor:pointer;
    transition:all .12s ease;
    min-height:20px;
    min-width:20px;
}
.axis-controls-panel__checkbox-chip[data-checked='1']{background:transparent;box-shadow:none}
.axis-controls-panel__checkbox-chip[data-disabled='1']{opacity:.55;cursor:not-allowed;box-shadow:none}
.axis-controls-panel__checkbox:focus-visible,
.significance-controls-panel__checkbox:focus-visible{
    outline:2px solid rgba(59,130,246,0.5);
    outline-offset:2px;
}

.style-sync-status {
    min-height: 20px;
    font-size: 13px;
    color: #2563eb;
}

.style-sync-status[data-status="error"] {
    color: #b91c1c;
}

.style-sync-status[data-status="success"] {
    color: #047857;
}

.welcome-import-panel {
    width: min(760px, calc(100% - 48px));
    max-height: min(720px, calc(100vh - 64px));
    overflow: auto;
}

.welcome-import-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(180px, 1fr));
    gap: 12px 14px;
}

.welcome-import-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: #111827;
    font-size: 14px;
    font-weight: 600;
    min-width: 0;
}

.welcome-import-field select,
.welcome-import-field input,
.welcome-import-component-button {
    box-sizing: border-box;
    width: 100%;
    height: 38px;
    min-height: 38px;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    padding: 0 10px;
    font-size: 14px;
    font-family: inherit;
    background: #ffffff;
    color: #111827;
}

.welcome-import-start-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    min-width: 0;
}

.welcome-import-component-picker {
    position: relative;
    min-width: 0;
}

.welcome-import-component-native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    border: 0 !important;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
    white-space: nowrap;
}

.welcome-import-component-button {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) 14px;
    align-items: center;
    gap: 8px;
    text-align: left;
    cursor: pointer;
}

.welcome-import-component-button__label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.welcome-import-component-button__chevron {
    width: 14px;
    height: 14px;
    fill: none;
    stroke: #64748b;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.welcome-import-component-menu {
    position: absolute;
    z-index: 20;
    left: 0;
    right: 0;
    top: calc(100% + 4px);
    max-height: 330px;
    overflow: auto;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14);
}

.welcome-import-component-option {
    width: 100%;
    min-height: 36px;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    padding: 5px 10px;
    border: 0;
    background: #ffffff;
    color: #111827;
    font: inherit;
    font-size: 14px;
    text-align: left;
    cursor: pointer;
}

.welcome-import-component-option:hover,
.welcome-import-component-option.is-selected {
    background: #eff6ff;
}

.welcome-import-component-icon.graph-card__icon {
    width: 24px;
    height: 24px;
    min-width: 24px;
    flex: 0 0 24px;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.welcome-import-component-icon.graph-card__icon .welcome-graph-icon {
    width: 24px;
    height: 24px;
}

.welcome-import-options {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
}

.welcome-import-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #1e293b;
    font-size: 14px;
}

.welcome-import-checkbox input {
    width: 16px;
    height: 16px;
    margin: 0;
}

.welcome-import-format-check {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 9px;
    align-items: start;
    padding: 9px 10px;
    border: 1px solid #f59e0b;
    background: #fffbeb;
    color: #78350f;
    font-size: 12.5px;
    line-height: 1.4;
}

.welcome-import-format-check[hidden] { display: none; }
.welcome-import-format-check__icon {
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-weight: 700;
    line-height: 1;
}
.welcome-import-format-check__message { margin-top: 2px; color: inherit; }

.welcome-import-preview {
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    background: #f8fafc;
    overflow: hidden;
}

.welcome-import-preview__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 10px;
    border-bottom: 1px solid #e2e8f0;
    font-size: 13px;
    color: #475569;
}

.welcome-import-preview__bar strong { color: #111827; }

.welcome-import-preview__scroller {
    max-height: 300px;
    overflow: auto;
    background: #ffffff;
}

.welcome-import-preview__table {
    width: max-content;
    min-width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    color: #111827;
}

.welcome-import-preview__table th,
.welcome-import-preview__table td {
    border-right: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
    max-width: 240px;
    min-width: 64px;
    padding: 4px 7px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: left;
}

.welcome-import-preview__table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #f1f5f9;
    font-weight: 600;
}

.welcome-import-preview__table .row-number {
    position: sticky;
    left: 0;
    z-index: 2;
    min-width: 36px;
    width: 36px;
    background: #f8fafc;
    color: #64748b;
    text-align: right;
}

.welcome-import-preview__table tr.is-title-row td {
    background: #eff6ff;
    font-weight: 600;
}

.workspace-modal__title {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    color: #111827;
}

.workspace-modal__message {
    margin: 0;
    color: #4b5563;
    font-size: 15px;
    line-height: 1.5;
}

.workspace-modal__actions {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.btn.btn-secondary {
    background: #e5e7eb;
    border-color: #d1d5db;
}

.btn.btn-secondary:hover {
    background: #d1d5db;
}

.workspace-tabs-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    border-left: 1px solid #cbd5f5;
    background: rgba(248, 250, 252, 0.9);
    white-space: nowrap;
    align-self: stretch;
    margin-left: auto;
}

.workspace-action-btn {
    border: var(--ui-btn-border);
    background: var(--ui-btn-bg);
    color: var(--ui-btn-fg);
    border-radius: var(--ui-btn-radius);
    padding: 8px 14px;
    font-size: 13px;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.workspace-action-btn:hover,
.workspace-action-btn:focus {
    background: var(--ui-btn-bg-hover);
    border-color: #6c7bb1;
    color: var(--ui-btn-fg);
    outline: var(--ui-focus-outline);
    outline-offset: var(--ui-focus-offset);
    box-shadow: none;
}

.workspace-action-btn:focus-visible {
    outline: var(--ui-focus-outline);
    outline-offset: var(--ui-focus-offset);
    box-shadow: none;
}

.workspace-action-btn:active {
    background: #e0e7ff;
    border-color: #4f46e5;
}

@media (max-width: 900px) {
    .workspace-tabs-dock {
        left: 0;
        right: 0;
        bottom: 0;
        max-width: 100%;
        border-radius: 0;
    }
    .workspace-tabs-list {
        padding-inline: 8px;
    }
    .workspace-tabs-actions {
        padding: 8px;
        justify-content: flex-end;
    }
    .workspace-add-tab {
        min-width: 44px;
    }
}

/* Add component-specific styles as separate files or sections below */
/* Styles extracted from index.html */
.workspace-page__topbar{
    position:sticky;
    top:var(--workspace-topbar-offset,0px);
    left:0;
    right:0;
    z-index:40;
    display:flex;
    flex-direction:column;
    gap:4px;
    background:#f1f4f8;
    padding:0;
    border-bottom:1px solid rgba(71,85,105,0.4);
    box-shadow:0 2px 5px rgba(15,23,42,0.08);
    box-sizing:border-box;
    width:100%;
}
.workspace-page__topbar header{
    margin:0;
    padding:0;
    border:0;
}
.workspace-page__topbar header h2{
    margin:0;
    font-size:22px;
    font-weight:600;
    color:#111827;
}
.workspace-page__topbar header > div{
    margin-top:2px;
    color:#4b5563;
    font-size:13px;
}
.workspace-toolbar{
    margin:0;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    --workspace-toolbar-tabs-height:26px;
    --workspace-toolbar-content-height:78px;
    --workspace-toolbar-panel-height:70px;
    --workspace-toolbar-panel-inline-inset:8px;
    --workspace-toolbar-panel-inline-padding:10px;
    --workspace-toolbar-panel-surface:#ffffff;
    --workspace-toolbar-panel-radius:var(--ui-rounded-radius,6px);
}
.workspace-toolbar__tabs{
    display:flex;
    align-items:flex-end;
    gap:2px;
    padding:0 2px;
    min-height:var(--workspace-toolbar-tabs-height);
    position:relative;
    isolation:isolate;
    background:#000087ff;
}
.workspace-toolbar__tabs::after{
    content:'';
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    height:1px;
    background:#1a3f6f;
    z-index:-1;
}
.workspace-toolbar__section-tabs{
    display:flex;
    align-items:flex-end;
    gap:2px;
    flex:0 0 auto;
}
.workspace-toolbar__document{
    margin-left:auto;
    flex:1 1 auto;
    min-width:0;
    align-self:stretch;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    padding:0 10px 2px;
    color:#ffffff;
    position:relative;
}
.workspace-toolbar__document-title{
    min-width:0;
    max-width:min(42vw,620px);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    text-align:center;
    font-size:13px;
    font-weight:700;
    line-height:1.25;
    order:1;
    position:absolute;
    left:calc(50% - 64px);
    transform:translateX(-50%);
}
.workspace-toolbar__document-status{
    min-width:0;
    max-width:180px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:11px;
    color:#d1d5db;
    order:4;
}
.workspace-job-activity{
    order:2;
    display:inline-flex;
    align-items:center;
    gap:5px;
    min-width:0;
    max-width:min(28vw,320px);
    height:20px;
    padding:0;
    border:0;
    background:transparent;
    color:#ffffff;
    font-size:11px;
    line-height:1;
    white-space:nowrap;
}
.workspace-job-activity[hidden]{
    display:none !important;
}
.workspace-job-activity__spinner{
    width:11px;
    height:11px;
    border-radius:50%;
    border:2px solid rgba(255,255,255,0.36);
    border-top-color:#ffffff;
    animation:venn-loading-spin .85s linear infinite;
    flex:0 0 auto;
}
.workspace-job-activity__label{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
}
.workspace-job-activity__button{
    appearance:none;
    border:0;
    background:transparent;
    color:#ffffff;
    font:inherit;
    font-weight:600;
    line-height:1;
    padding:2px 0;
    cursor:pointer;
    flex:0 0 auto;
    text-decoration:underline;
    text-underline-offset:2px;
}
.workspace-job-activity__button:hover{
    color:#e5e7ff;
}
.workspace-toolbar__autosave{
    display:inline-flex;
    align-items:center;
    gap:5px;
    white-space:nowrap;
    font-size:12px;
    color:#ffffff;
    order:3;
}
.workspace-toolbar__autosave input{
    width:15px;
    height:15px;
    margin:0;
    accent-color:#0b63d1;
}
.workspace-toolbar__tab{
    appearance:none;
    border:none;
    background:transparent;
    color:#ffffff;
    font-size:12px;
    line-height:1.25;
    font-weight:500;
    padding:4px 10px 5px;
    border-radius:0 !important;
    border-top-left-radius:6px !important;
    border-top-right-radius:6px !important;
    border-bottom-left-radius:0 !important;
    border-bottom-right-radius:0 !important;
    cursor:pointer;
}
.workspace-toolbar__tab:not(.workspace-toolbar__tab--active):hover{
    background:rgba(255,255,255,0.15);
}
.workspace-toolbar__tab:focus-visible{
    outline:2px solid rgba(37,99,235,0.6);
    outline-offset:1px;
}
.workspace-toolbar__tab--active{
    background:#e9eef6ff;
    border:none;
    color:#0f172a;
    border-radius:0 !important;
    border-top-left-radius:6px !important;
    border-top-right-radius:6px !important;
    border-bottom-left-radius:0 !important;
    border-bottom-right-radius:0 !important;
    margin-bottom:-1px;
    padding-bottom:6px;
}
.workspace-toolbar__content{
    display:flex;
    align-items:stretch;
    gap:var(--workspace-toolbar-section-gap);
    min-height:var(--workspace-toolbar-content-height);
    height:var(--workspace-toolbar-content-height);
    padding-top:0;
    position:relative;
}
.workspace-toolbar__content::before,
.workspace-toolbar__content::after{
    content:'';
    position:absolute;
    width:1px;
    height:100%;
    background-color:#d1d5db;
    z-index:20;
}
.workspace-toolbar__content::before{
    left:0;
}
.workspace-toolbar__content::after{
    right:0;
}
.workspace-toolbar__section{
    display:none;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:0;
    padding:4px var(--workspace-toolbar-panel-inline-inset);
    background:#e9eef6ff;
    border-radius:var(--ui-rounded-radius);
    border:none;
    box-shadow:none;
    position:relative;
    min-height:var(--workspace-toolbar-content-height);
    height:100%;
    box-sizing:border-box;
    width:100%;
}
.workspace-toolbar__section.workspace-toolbar__section--active{
    display:flex;
    border-right:1px solid #d1d5db;
}
.workspace-toolbar__section.workspace-toolbar__section--active:last-of-type{
    border-right:none;
}
.workspace-toolbar__section--dock{
    flex:1 1 auto;
    align-items:center;
    min-width:0;
    border-right:1px solid #d1d5db;
}
.workspace-toolbar__section--dock:last-of-type{
    border-right:none;
}
/* Keep axis toolbars anchored to the same top baseline across components. */
.workspace-toolbar__section--dock.workspace-toolbar__section--axis-active{
    justify-content:center;
    border-right:1px solid #d1d5db;
}
.workspace-toolbar__section--dock.workspace-toolbar__section--axis-active:last-of-type{
    border-right:none;
}
.workspace-toolbar__section::after{
    display:none;
}
.workspace-toolbar__section:last-of-type::after{
    display:none;
}
.workspace-toolbar__buttons{
    display:flex;
    gap:4px;
}
.workspace-toolbar__menu{
    position:relative;
    display:flex;
    flex-direction:column;
}
.workspace-toolbar__button{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:0px;
    min-width:50px;
    padding:4px 6px 5px;
    border:1px solid transparent;
    border-radius:var(--ui-btn-radius);
    background:transparent;
    color:#0f172a;
    cursor:pointer;
    box-shadow:none;
    transition:background 0.2s ease;
    position:relative;
}
.workspace-toolbar__button--menu .workspace-toolbar__label::after{
    content:'\25BE';
    font-size:0.7em;
    margin-left:4px;
    display:inline-block;
    vertical-align:baseline;
}
.workspace-toolbar__button:focus-visible{
    outline:var(--ui-focus-outline);
    outline-offset:var(--ui-focus-offset);
}
.workspace-toolbar__button:hover{
    background:var(--ui-btn-bg-hover);
    border-color:transparent;
}
.workspace-toolbar__button:active{
    background:#dbe4f2;
}
.workspace-toolbar__button:disabled{
    background:#dbe4f2;
    color:#94a3b8;
    cursor:not-allowed;
}
.workspace-toolbar__button:disabled .workspace-toolbar__icon svg{
    fill:#94a3b8;
}
.workspace-toolbar__button:disabled .workspace-toolbar__label{
    color:#94a3b8;
}
.workspace-toolbar__icon{
    display:inline-flex;
    width:28px;
    height:28px;
    align-items:center;
    justify-content:center;
    padding:4px;
    border-radius:var(--ui-rounded-radius);
    background:transparent;
    border:none;
    box-shadow:none;
}
.workspace-toolbar__icon svg{
    width:100%;
    height:100%;
    fill:#0f172a;
}
.workspace-toolbar__label{
    font-size:12px;
    font-weight:400;
    color:#0f172a;
}
.workspace-toolbar__button--text-only{
    min-width:auto;
    padding:5px 8px;
}
.workspace-toolbar__button--text-only .workspace-toolbar__icon{
    display:none;
}
.workspace-toolbar__section[data-transform-section="1"]{
    justify-content:center;
    align-items:stretch;
    overflow:visible;
}
.workspace-toolbar__panel.workspace-toolbar__panel--transform{
    --workspace-toolbar-title-gap:2px;
    align-items:flex-start;
}
.workspace-toolbar__panel--transform .workspace-toolbar__transform-row{
    display:flex;
    flex-wrap:nowrap;
    gap:6px;
    width:max-content;
    min-width:max-content;
    min-height:24px;
    align-items:center;
    justify-content:flex-start;
}
.workspace-toolbar__panel--transform .workspace-toolbar__transform-row--selection{
    align-self:flex-start;
    justify-content:flex-start;
    margin-top:2px;
}
.workspace-toolbar__section[data-transform-section="1"] .workspace-toolbar__transform-row > .workspace-toolbar__button{
    width:auto;
    min-width:0;
    height:24px;
    min-height:24px;
    padding:2px 8px;
    box-sizing:border-box;
    border:var(--ui-control-border);
    border-radius:var(--ui-control-radius);
    background:var(--ui-control-bg);
    box-shadow:var(--ui-control-shadow);
    transition:border-color .14s ease, background-color .14s ease, color .14s ease;
    justify-content:center;
}
.workspace-toolbar__section[data-transform-section="1"] .workspace-toolbar__transform-row > .workspace-toolbar__button:hover{
    border-color:#8d97a6;
    background:#ffffff;
}
.workspace-toolbar__section[data-transform-section="1"] .workspace-toolbar__transform-row > .workspace-toolbar__button:active{
    background:#e9eef6;
}
.workspace-toolbar__section[data-transform-section="1"] .workspace-toolbar__checkbox--toolbar{
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    height:24px;
    min-height:24px;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
}
.workspace-toolbar__section[data-transform-section="1"] .workspace-toolbar__label{
    font-size:12px;
    line-height:1;
    text-align:center;
    white-space:nowrap;
}
.workspace-toolbar__section[data-transform-section="1"] .workspace-toolbar__button[data-transform-apply="1"],
.workspace-toolbar__section[data-transform-section="1"] .workspace-toolbar__button[data-transform-clear="1"]{
    font-weight:600;
}
.workspace-toolbar__section[data-transform-section="1"] .workspace-toolbar__button[data-transform-option="custom"]{
    border-color:#8ea1bb;
    background:#eef3fb;
}
.workspace-toolbar__section[data-transform-section="1"] .workspace-toolbar__button[data-transform-option="custom"]:hover{
    border-color:#768ba8;
    background:#e5edf9;
}
.workspace-toolbar__section[data-transform-section="1"] .workspace-toolbar__button[data-transform-option="custom"][aria-expanded="true"]{
    background:#d9e4f4;
    border-color:#5f7391;
}
.workspace-toolbar__section[data-transform-section="1"] .workspace-toolbar__button[data-transform-option="custom"] .workspace-toolbar__label{
    font-weight:600;
}
.workspace-toolbar__section[data-transform-section="1"] .workspace-toolbar__button[data-transform-option="custom"] .workspace-toolbar__label::after{
    content:' \25BE';
    font-size:.8em;
    color:#334155;
}
.workspace-toolbar__section[data-transform-section="1"] .workspace-toolbar__button[data-transform-option="custom"][aria-expanded="true"] .workspace-toolbar__label::after{
    content:' \25B4';
}
.workspace-toolbar__section[data-transform-section="1"] .workspace-toolbar__checkbox-label{
    font-size:11px;
    line-height:1;
    font-weight:600;
}
.workspace-toolbar__section[data-transform-section="1"] .workspace-toolbar__button[data-transform-option][data-transform-selected="1"]{
    border-color:#5f7391;
    background:#dfe8f6;
    color:#0f172a;
}
.workspace-toolbar__section[data-transform-section="1"] .workspace-toolbar__button[data-transform-option]:disabled{
    border-color:#c8d0dc;
    background:#f1f4f8;
    color:#8592a5;
    opacity:1;
}
.workspace-toolbar__panel--transform .workspace-toolbar__buttons > [hidden]{
    display:none !important;
}
.workspace-toolbar__section[data-transform-section="1"] .workspace-toolbar__transform-custom-field{
    align-items:stretch;
}
.workspace-toolbar__section[data-transform-section="1"] .workspace-toolbar__transform-custom-actions .workspace-toolbar__button{
    width:auto;
    min-width:88px;
    min-height:32px;
    padding:5px 8px;
    border:var(--ui-control-border);
    border-radius:var(--ui-control-radius);
    background:var(--ui-control-bg);
    box-shadow:var(--ui-control-shadow);
}
.workspace-toolbar__section[data-transform-section="1"] .workspace-toolbar__transform-option-check{
    display:none;
}
.workspace-toolbar__transform-custom-dropdown{
    position:absolute;
    display:none;
    flex-direction:column;
    gap:8px;
    min-width:280px;
    max-width:min(420px,calc(100vw - 36px));
    padding:12px;
    background:var(--shared-color-picker-surface,#ffffff);
    border:1px solid var(--shared-color-picker-border,#b8c2cf);
    box-shadow:var(--shared-color-picker-shadow,0 6px 18px rgba(15, 23, 42, 0.12));
    z-index:55;
    box-sizing:border-box;
}
.workspace-toolbar__transform-custom-dropdown[data-open='1']{
    display:flex;
}
.workspace-toolbar__transform-custom-field{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
    width:100%;
}
.workspace-toolbar__transform-custom-label{
    font-size:11px;
    font-weight:600;
    color:#1e293b;
    letter-spacing:0;
    text-transform:uppercase;
}
.workspace-toolbar__transform-custom-input{
    width:100%;
    height:30px;
    padding:4px 8px;
    border:1px solid #cbd5e1;
    background:#ffffff;
    color:#0f172a;
    font-size:12px;
    box-sizing:border-box;
}
.workspace-toolbar__transform-custom-helper{
    margin:0;
    font-size:11px;
    color:#475569;
    line-height:1.35;
}
.workspace-toolbar__transform-custom-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
}
.workspace-toolbar__button[data-tooltip]::after{
    content:attr(data-tooltip);
    position:absolute;
    bottom:calc(100% + 8px);
    left:50%;
    transform:translateX(-50%);
    background:var(--ui-menu-bg);
    color:#0f172a;
    padding:5px 7px;
    border-radius:var(--ui-menu-radius);
    border:var(--ui-menu-border);
    box-shadow:none;
    font-size:11px;
    line-height:1.4;
    white-space:nowrap;
    opacity:0;
    pointer-events:none;
    transition:opacity 0.08s ease;
    z-index:45;
}
.workspace-toolbar__button[data-tooltip]:hover::after,
.workspace-toolbar__button[data-tooltip]:focus-visible::after{
    opacity:1;
}
.workspace-toolbar__menu-list{
    position:absolute;
    top:calc(100% + 6px);
    left:0;
    display:none;
    flex-direction:column;
    padding:6px 0;
    margin:0;
    background:var(--ui-menu-bg);
    border:var(--ui-menu-border);
    border-radius:var(--ui-menu-radius);
    box-shadow:var(--ui-menu-shadow);
    min-width:180px;
    z-index:40;
}
.workspace-toolbar__menu--open > .workspace-toolbar__menu-list{
    display:flex;
}
.workspace-toolbar__menu-item{
    padding:8px 16px;
    background:none;
    border:none;
    text-align:left;
    font-size:13px;
    line-height:1.4;
    color:#0f172a;
    cursor:pointer;
}
.workspace-toolbar__menu-item:hover,
.workspace-toolbar__menu-item:focus{
    background:var(--ui-menu-item-hover-bg);
    outline:none;
}
.workspace-toolbar__caption{
    font-size:11px;
    letter-spacing:0;
    text-transform:uppercase;
    color:#334155;
    display:none;
}
.workspace-toolbar__dock{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:4px;
    width:auto;
    min-width:0;
    flex:0 0 auto;
    text-align:left;
}
.workspace-toolbar__dock--active{
    align-items:center;
    justify-content:center;
    width:100%;
}
.workspace-toolbar__dock--active .font-toolbar-host{
    align-self:center;
    width:auto;
    max-width:100%;
}
.workspace-toolbar__hint{
    margin:0;
    font-size:11px;
    line-height:1.3;
    color:#475569;
    width:auto;
    max-width:360px;
}
.workspace-toolbar__section--dock .workspace-toolbar__caption{
    align-self:flex-start;
    margin-top:auto;
    padding-left:0;
}
.workspace-toolbar__dock--active .workspace-toolbar__hint{
    display:none;
}
.workspace-toolbar__dock--active .workspace-toolbar__dock-anchor{
    display:none;
}
.workspace-toolbar__dock--active ~ .workspace-toolbar__caption{
    display:none;
}
.workspace-toolbar__dock-anchor{
    width:0;
    height:0;
}
.workspace-toolbar__section--form{
    align-items:flex-start;
    gap:8px;
    min-width:220px;
}
.workspace-toolbar__form{
    display:flex;
    flex-wrap:wrap;
    gap:8px 12px;
    justify-content:flex-start;
    align-items:flex-start;
}
.workspace-toolbar__form--checkboxes{
    gap:6px 16px;
}
.workspace-toolbar__form--single{
    width:100%;
    align-items:flex-start;
}

/* Center toolbar form content when hosted in dock sections */
.workspace-toolbar__section--dock .workspace-toolbar__form,
.workspace-toolbar__section--dock .workspace-toolbar__form--single,
.workspace-toolbar__section--dock .additional-line-controls-panel__row,
.workspace-toolbar__section--dock .axis-controls-panel__row,
.workspace-toolbar__dock .additional-line-controls-panel__row,
.font-toolbar-host .additional-line-controls-panel__row{
    justify-content:center;
}
.workspace-toolbar__checkbox input[type="checkbox"]{
    margin:0;
    width:16px;
    height:16px;
    accent-color:#0b63d1;
}
.workspace-toolbar__input{
    display:flex;
    flex-direction:column;
    gap:4px;
    font-size:12px;
    color:#1f2937;
    min-width:88px;
    align-items:center;
}
.workspace-toolbar__input-label{
    font-weight:600;
    letter-spacing:0;
    display:inline-flex;
    align-items:center;
    align-self:center;
    width:100%;
    justify-content:center;
    text-align:center;
}
.workspace-toolbar__input--select{
    min-width:140px;
}
.workspace-toolbar__input--compact{
    min-width:80px;
    /* Force compact toolbar inputs (titles + small controls) to center their contents */
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
}
.workspace-toolbar__input--color{
    /* Ensure strict centering for color inputs across all toolbars */
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:56px;
}
.workspace-toolbar__input--color .workspace-toolbar__input-label{
    text-align:center;
    width:100%;
    display:block;
    box-sizing:border-box;
    margin:0 0 6px 0;
}
/* Make numeric size controls narrower (reduce perceived width) */
.workspace-toolbar__input input[type="number"]{
    width:48px;
}

/* Center size/number boxes and select controls under their labels in compact inputs */
.workspace-toolbar__input--compact input[type="number"],
.workspace-toolbar__input--compact input[type="range"],
.workspace-toolbar__input--compact select,
.workspace-toolbar__input--compact .workspace-toolbar__input-value{
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
}

/* Ensure numeric boxes have consistent box-sizing and centered text */
.workspace-toolbar__input--compact input[type="number"]{
    box-sizing: border-box !important;
    text-align: center !important;
}
/* Ensure range/opacity sliders have a sensible minimum visual width */
.workspace-toolbar__input--range{
    min-width:120px;
}
.workspace-toolbar__input--color input[type="color"],
.additional-line-controls-panel__field--symbol-fill input[type="color"],
.additional-line-controls-panel__field--symbol-border input[type="color"]{
    /* Use the shared color-input primitive tokens for toolbar parity. */
    width: var(--ui-color-input-width);
    height: var(--ui-color-input-height);
    min-width: var(--ui-color-input-width);
    min-height: var(--ui-color-input-height);
    margin: 0;
    padding: 0;
    border: var(--ui-color-input-border);
    border-radius: var(--ui-color-input-radius);
    background: var(--ui-color-input-bg);
    box-shadow: var(--ui-color-input-shadow);
    display: block;
    box-sizing: border-box;
}
.workspace-toolbar__input--color .box-point-fill-control,
.workspace-toolbar__input--color .shared-shape-color-control,
.additional-line-controls-panel__field--symbol-fill .box-point-fill-control,
.additional-line-controls-panel__field--symbol-fill .shared-shape-color-control{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    min-width:var(--ui-color-input-width);
    height:var(--ui-color-input-height);
    box-sizing:border-box;
}
.box-point-fill-swatch,
.shared-shape-color-swatch{
    width:var(--ui-color-input-width);
    height:var(--ui-color-input-height);
    min-width:var(--ui-color-input-width);
    min-height:var(--ui-color-input-height);
    border-radius:var(--ui-color-input-radius);
    border:var(--ui-color-input-border);
    background:var(--ui-color-input-bg);
    box-shadow:var(--ui-color-input-shadow);
    padding:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    box-sizing:border-box;
}
.box-point-fill-swatch svg,
.shared-shape-color-swatch svg{
    width:70%;
    height:70%;
    display:block;
}
.box-point-fill-swatch:focus-visible,
.shared-shape-color-swatch:focus-visible{
    outline:var(--ui-focus-outline);
    outline-offset:var(--ui-focus-offset);
}
.box-point-fill-input,
.shared-shape-color-input{
    position:absolute;
    opacity:0;
    width:0;
    height:0;
    pointer-events:none;
}

.shared-border-style-control{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

.shared-border-style-chip{
    height:var(--ui-color-input-height);
    min-width:74px;
    padding:0 8px;
    border:var(--ui-color-input-border);
    border-radius:var(--ui-color-input-radius);
    background:var(--ui-color-input-bg);
    box-shadow:var(--ui-color-input-shadow);
    display:inline-flex;
    align-items:center;
    gap:6px;
    cursor:pointer;
    color:#111827;
    font-size:11px;
    line-height:1;
    font-variant-numeric:tabular-nums;
}

.shared-border-style-chip-preview{
    width:18px;
    height:12px;
    border:1px solid rgba(15,23,42,0.24);
    background:#000000;
    box-sizing:border-box;
    flex:0 0 auto;
}


.shared-border-style-chip-value{
    min-width:28px;
    text-align:right;
    font-weight:600;
}

.shared-border-style-chip:focus-visible{
    outline:var(--ui-focus-outline);
    outline-offset:var(--ui-focus-offset);
}

.shared-border-style-input{
    position:absolute;
    opacity:0;
    width:0;
    height:0;
    pointer-events:none;
}

.shared-fill-style-chip{
    min-width:74px;
    padding:0 8px;
    gap:6px;
    justify-content:flex-start;
}

.shared-fill-style-chip:not([data-size-text]){
    width:var(--ui-color-input-height);
    min-width:var(--ui-color-input-height);
    padding:0;
    gap:0;
    justify-content:center;
    background:var(--shared-shape-color, var(--ui-color-input-bg));
}

.shared-fill-style-chip::after{
    content:attr(data-size-text);
    margin-left:auto;
    font-size:11px;
    line-height:1;
    font-weight:600;
    color:#111827;
    font-variant-numeric:tabular-nums;
}

.shared-fill-style-chip svg{
    width:14px;
    height:14px;
    flex:0 0 auto;
}

.shared-fill-style-chip:not([data-size-text]) svg{
    width:0;
    height:0;
    overflow:hidden;
}

.additional-line-controls-panel__field--symbol-fill{
    min-width:max-content;
    width:auto;
    padding-left:0;
    padding-right:0;
}

.additional-line-controls-panel__field--symbol-fill .additional-line-controls-panel__field-label{
    width:auto;
    min-width:0;
}

.additional-line-controls-panel__field--symbol-fill .shared-shape-color-control{
    min-width:0;
}

/* Histogram distribution swatches and other standalone swatches */
.hist-dist-option{
    display:flex;
    align-items:center;
    gap:8px;
}
.hist-dist-swatch{
    width: var(--color-swatch-size);
    height: var(--color-swatch-size);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(15,23,42,0.12);
    box-sizing:border-box;
}

/* Defensive: center any label-wrapped color inputs used elsewhere */
.workspace-toolbar__input--color > input[type="color"],
.workspace-toolbar__input--color > .hist-dist-swatch,
.additional-line-controls-panel__field--symbol-fill > input[type="color"],
.additional-line-controls-panel__field--symbol-fill > .hist-dist-swatch,
.additional-line-controls-panel__field--symbol-border > input[type="color"],
.additional-line-controls-panel__field--symbol-border > .hist-dist-swatch{
    margin-left: auto !important;
    margin-right: auto !important;
}
.workspace-toolbar__input--range{
    min-width:200px;
}
.workspace-toolbar__input input{
    padding:4px 6px;
    border:1px solid rgba(71,85,105,0.6);
    border-radius:4px;
    background:#f8fafc;
    color:#111827;
    font-size:12px;
}
.workspace-toolbar__input select{
    height:26px;
    padding:2px 24px 2px 8px;
    border:1px solid #8d97a6;
    border-radius:0;
    background:#fdfefe;
    color:#111b29;
    font-size:12px;
    line-height:20px;
    min-width:fit-content;
    max-width:100%;
    width:auto;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,0.7);
    appearance:none;
    background-image:var(--config-panel-select-icon,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23131c23' d='M0 0h10L5 6z'/%3E%3C/svg%3E"));
    background-repeat:no-repeat;
    background-position:right 8px center;
}
.workspace-toolbar__range{
    display:flex;
    align-items:center;
    gap:4px;
}
.workspace-toolbar__range input[type="range"]{
    accent-color:#111827;
    width:96px;
    min-width:96px;
    max-width:96px;
    flex:0 0 96px;
}
.workspace-toolbar__range output{
    min-width:30px;
    text-align:right;
    font-variant-numeric:tabular-nums;
}
.workspace-toolbar__range .workspace-toolbar__input-value{
    min-width:30px;
    text-align:right;
    font-variant-numeric:tabular-nums;
    margin-left:0 !important;
    margin-right:0 !important;
}
.workspace-toolbar__section--form .workspace-toolbar__caption{
    align-self:flex-start;
    font-size:11px;
    color:#1f2937;
}
.workspace-toolbar__panel-title{
    font-size:11px;
    line-height:14px;
    min-height:var(--workspace-toolbar-title-slot-height,14px);
    font-weight:600;
    letter-spacing:0;
    color:#1e293b;
    text-transform:none;
    margin:0 0 var(--workspace-toolbar-title-gap,4px) 0;
    white-space:nowrap;
    width:100%;
    text-align:center;
    align-self:stretch;
}
.additional-line-controls-panel__title,
.grid-controls-panel__title,
.significance-controls-panel__title{
}
.workspace-toolbar__panel{
    --workspace-toolbar-title-slot-height:14px;
    --workspace-toolbar-title-gap:4px;
    --workspace-toolbar-label-slot-height:14px;
    --workspace-toolbar-field-gap:4px;
    --workspace-toolbar-field-min-height:52px;
    --workspace-toolbar-row-gap:var(--workspace-toolbar-section-gap);
    --workspace-toolbar-panel-padding-top:0;
    --workspace-toolbar-divider-inset:10px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:0;
    width:max-content;
    max-width:100%;
    min-height:var(--workspace-toolbar-panel-height);
    margin-inline:0;
    position:relative;
    padding-inline:var(--workspace-toolbar-panel-inline-padding);
    background:var(--workspace-toolbar-panel-surface);
    border-radius:var(--workspace-toolbar-panel-radius);
    padding-top:var(--workspace-toolbar-panel-padding-top);
    box-sizing:border-box;
}
.workspace-toolbar__section:last-child{
    margin-right:0;
}

.data-view-host{
    display:flex;
    flex-direction:column;
    overflow:hidden !important;
    position:relative;
}

.data-view-tabs{
    display:flex;
    align-items:flex-end;
    gap:4px;
    padding:4px 4px 0 0;
    border-bottom:none;
    background:transparent;
    overflow-x:auto;
    overflow-y:hidden;
    flex:0 0 auto;
}

.data-view-tabs__item{
    display:flex;
    align-items:center;
    gap:0;
    flex:0 0 auto;
    position:relative;
}

.data-view-tabs__tab{
    appearance:none;
    border:1px solid #d6d6d6;
    border-bottom:none;
    background:#f5f5f5;
    color:#0f172a;
    font-size:11px;
    line-height:1.2;
    font-weight:500;
    padding:3px 30px 4px 8px;
    border-radius:0 !important;
    border-top-left-radius:5px !important;
    border-top-right-radius:5px !important;
    cursor:pointer;
    white-space:nowrap;
}

.data-view-tabs__tab:hover{
    background:#e2e8f3;
}

.data-view-tabs__tab:focus-visible{
    outline:2px solid rgba(37,99,235,0.6);
    outline-offset:1px;
}

.data-view-tabs__tab--active{
    background:#ffffff;
    color:#0f172a;
}

.data-view-tabs__close{
    appearance:none;
    border:none;
    background:transparent;
    color:#64748b;
    font-size:12px;
    line-height:1;
    padding:0;
    width:12px;
    height:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:0;
    cursor:pointer;
    position:absolute;
    right:4px;
    top:50%;
    transform:translateY(-52%);
}

.data-view-tabs__save{
    appearance:none;
    border:none;
    background:transparent;
    color:#64748b;
    font-size:11px;
    line-height:1;
    padding:0;
    width:12px;
    height:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:0;
    cursor:pointer;
    position:absolute;
    right:18px;
    top:50%;
    transform:translateY(-52%);
}

.data-view-tabs__save:hover,
.data-view-tabs__save:focus-visible{
    background:#e2e8f3;
    color:#0f172a;
}

.data-view-tabs__export-menu{
    position:absolute;
    z-index:30;
    min-width:96px;
    background:var(--ui-menu-bg);
    border:var(--ui-menu-border);
    border-radius:var(--ui-menu-radius);
    box-shadow:var(--ui-menu-shadow);
    padding:4px;
    display:flex;
    flex-direction:column;
    gap:2px;
}

.data-view-tabs__export-menu[hidden]{
    display:none;
}

.data-view-tabs__export-label{
    font-size:11px;
    font-weight:600;
    color:#334155;
    padding:4px 6px 3px;
    border-bottom:1px solid #e2e8f0;
    margin-bottom:2px;
}

.data-view-tabs__export-item{
    appearance:none;
    border:none;
    background:transparent;
    color:var(--ui-control-fg);
    font-size:12px;
    text-align:left;
    padding:6px 10px;
    cursor:pointer;
    border-radius:0;
}

.data-view-tabs__export-item:hover,
.data-view-tabs__export-item:focus-visible{
    background:var(--ui-menu-item-hover-bg);
}

.data-view-tabs__close:hover{
    background:#e2e8f3;
    color:#0f172a;
}

.data-view-host__table{
    flex:1 1 auto;
    min-height:0;
    width:100%;
    height:100%;
    overflow:auto;
}

.data-view-host .idx-inline-021{
    height:100%;
}

.scatter-format-controls{
    min-width:0;
}
.scatter-format-controls .workspace-toolbar__range input[type="range"]{
    margin:0;
}
.scatter-format-controls input[type="number"],
.scatter-format-controls select{
    height:var(--ui-color-input-height);
}
.fit-specification-foldable{
    width:100%;
    margin-top:6px;
    border:1px solid #ddd;
    background:#fff;
    padding:0;
}
.fit-specification-summary{
    cursor:pointer;
    list-style:none;
    padding:8px 10px;
    font-size:12px;
    font-weight:600;
    color:inherit;
}
.fit-specification-summary::-webkit-details-marker{
    display:none;
}
.fit-specification-summary::before{
    content:"\25B8";
    display:inline-block;
    margin-right:6px;
    color:inherit;
    transition:transform .15s ease;
}
.fit-specification-foldable[open] .fit-specification-summary::before{
    transform:rotate(90deg);
}
.fit-specification-body{
    padding:0 10px 10px;
}
.fit-specification-body .fit-textarea-line{
    flex-direction:column;
    gap:4px;
    max-width:450px;
    align-items:flex-start;
}
.fit-specification-body .fit-textarea-line .config-panel__label{
    display:block;
    font-size:12px;
    font-weight:500;
    text-align:left;
}
.fit-specification-body .fit-textarea{
    width:100%;
    box-sizing:border-box;
    border:1px solid #ddd;
    padding:6px 8px;
    font-family:monospace;
    font-size:12px;
    resize:vertical;
    min-height:auto;
    height:auto;
    text-align:left;
}
.workspace-page__topbar .row{
    margin:0;
    padding:0;
}
body{margin:0;background:var(--bg-color);color:var(--fg-color);line-height:1.4;overflow-x:auto}
.wrap{display:grid;grid-template-columns:360px 1fr;gap:12px;padding:0 12px 12px;background:#f1f4f8;min-width:0;width:100%;max-width:100%;box-sizing:border-box}
.workspace-page .wrap{padding-inline:0;padding-bottom:0;min-width:0;max-width:100%;flex:1 1 auto;min-height:0}
.workspace-page .wrap>.panel{min-width:0;min-height:0;overflow:hidden;box-sizing:border-box;flex-shrink:1;padding:12px 0}
.workspace-page .wrap>.panel[id$="TablePanel"]{padding-left:8px;padding-bottom:0}
.workspace-page .wrap>.panel[id$="GraphPanel"]{overflow:auto}
#vennInputPanel{overflow:auto}
.workspace-page .wrap>.panel-resizer{flex:0 0 var(--panel-resizer-width);width:var(--panel-resizer-width);margin:0 var(--panel-resizer-gap) 0 0;background:#c9ccd2;cursor:col-resize;position:relative;z-index:200}
.workspace-page .wrap>.panel .diagram-area{width:100%;padding:0}
.workspace-page .wrap>.panel .diagram-area .svgbox{margin:0}
@media (min-width:1001px){
    .workspace-page{height:calc(100vh - var(--workspace-tabs-height));height:calc(100dvh - var(--workspace-tabs-height));overflow:hidden}
    .workspace-page .wrap{height:100%;grid-template-rows:minmax(0,1fr)}
}
@media (max-width:1000px){
    .workspace-pages{padding:0 0 24px}
}
.panel{background:transparent;border:none;border-radius:0;padding:12px 6px;box-shadow:none}
label{font-size:16px;color:#333}
textarea{width:100%;min-height:110px;background:#fff;border:var(--ui-control-border);color:var(--ui-control-fg);border-radius:var(--ui-rounded-radius);padding:8px;resize:vertical;box-sizing:border-box}
input[type=text],select{width:100%;background:var(--ui-control-bg);border:var(--ui-control-border);color:var(--ui-control-fg);border-radius:var(--ui-control-radius);padding:4px;box-sizing:border-box;margin:0}
input[type=number]{width:100%;background:var(--ui-control-bg);border:var(--ui-control-border);color:var(--ui-control-fg);border-radius:var(--ui-control-radius);padding:4px 2px 4px 6px;box-sizing:border-box;margin:0;line-height:normal;-moz-appearance:number-input}
input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;width:0;min-width:0}
input[type=number]::-webkit-inner-spin-button{
    margin:0;
    opacity:1;
    -webkit-appearance:none;
    width:18px;
    min-width:18px;
    background-repeat:no-repeat;
    background-position:center;
    background-size:12px 20px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='14' viewBox='0 0 8 14'%3E%3Cpath fill='%236b7280' d='M4 2 1 6h6zM4 12l3-4H1z'/%3E%3C/svg%3E");
}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
#significanceSection .row{align-items:flex-end}
#significanceSection .row label{display:flex;flex-direction:row;align-items:center;gap:8px;flex:0 0 auto;white-space:nowrap}
#significanceSection #calcSignificance{align-self:flex-end}
/* Keep the Venn significance disclosure aligned with the shared statistics panels. */
#significanceSection{
    font-family:var(--ui-font-family);
    font-size:12px;
    color:#1d2532;
    border:1px solid #b9c2d0;
    background:#fbfcff;
    padding:10px 12px 12px;
    border-radius:var(--ui-rounded-radius);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.92);
}
#significanceSection > summary{
    padding:0 6px;
    font-size:11px;
    font-weight:700;
    letter-spacing:0;
    color:#131c23;
}
#significanceSection .row label{
    font-size:13px;
    font-weight:400;
    color:#111b2c;
}
#significanceSection input[type=number]{
    width:92px;
    max-width:92px;
    flex:0 0 92px;
    height:26px;
    padding:2px 8px;
    border:1px solid #8d97a6;
    border-radius:0;
    background:#fdfefe;
    color:#111b29;
    font-size:12px;
    line-height:20px;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,0.7);
}
.btn{background:var(--ui-btn-bg);border:var(--ui-btn-border);color:var(--ui-btn-fg);border-radius:var(--ui-btn-radius);padding:6px 12px;cursor:pointer;transition:background 0.2s,border-color 0.2s}
.btn:hover{background:var(--ui-btn-bg-hover);border-color:#6c7bb1}
.btn:focus{outline:var(--ui-focus-outline);outline-offset:var(--ui-focus-offset)}
.btn.active{background:#d5d5d5}
.export-control-host{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:8px;
}
.export-select-wrapper{
    display:flex;
    align-items:center;
    gap:6px;
    min-width:0;
}
.export-select{
    appearance:none;
    -webkit-appearance:none;
    height:var(--ui-control-height);
    padding:2px 24px 2px 8px;
    border:var(--ui-control-border);
    border-radius:0;
    background:var(--ui-control-bg);
    color:var(--ui-control-fg);
    font-size:12px;
    line-height:20px;
    box-shadow:var(--ui-control-shadow);
    background-image:var(--config-panel-select-icon,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23131c23' d='M0 0h10L5 6z'/%3E%3C/svg%3E"));
    background-repeat:no-repeat;
    background-position:right 8px center;
    width:auto;
    max-width:100%;
    flex:0 1 auto;
    cursor:pointer;
}
.export-select:focus{
    outline:var(--ui-focus-outline);
    outline-offset:var(--ui-focus-offset);
}
.export-select:disabled{
    opacity:.55;
    cursor:default;
}
.export-select--compact-download{
    width:86px !important;
    min-width:86px !important;
    max-width:86px !important;
    box-sizing:border-box;
    text-overflow:ellipsis;
}
.export-select--compact-copy{
    width:75px !important;
    min-width:75px !important;
    max-width:75px !important;
    box-sizing:border-box;
    text-overflow:ellipsis;
}
/* Shared dropdown item look across custom menus. */
.workspace-toolbar__menu-item,
.font-controls-panel__combo-option,
.font-controls-panel__select-option,
.tab-context-menu__item,
.data-view-tabs__export-item{
    border-radius:0;
    font-size:12px;
    min-height:26px;
    padding:6px 10px;
}
.stats-table-card{border:1px solid #c8d2e3;border-radius:0;background:#fff;box-shadow:0 2px 6px rgba(17,24,39,0.08);padding:0;overflow:visible;margin-top:12px;position:relative}
.stats-table-card:first-child{margin-top:0}
.stats-assumption-container+.stats-results-main .stats-table-card:first-child,.box-stats-assumption-container+.stats-results-main .stats-table-card:first-child{margin-top:12px}
.stats-table-caption{font-size:15px;font-weight:600;color:#1d2735;padding:16px 20px 8px 20px}
.stats-table{width:100%;border-collapse:collapse;color:#1d2735;font-size:13px}
.stats-table thead tr{background:#eef3fa}
.stats-table__cell{padding:10px 18px;border-bottom:1px solid #d7e0ef;vertical-align:middle;font-weight:500}
.stats-table__header{font-size:12px;letter-spacing:0;text-transform:uppercase;color:#42526b}
.stats-table-abbr{font:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:1px;text-underline-offset:2px;cursor:help}
.stats-report-panel .stats-table-abbr{text-transform:none;letter-spacing:normal}
.stats-table__cell--left{text-align:left}
.stats-table__cell--center{text-align:center}
.stats-table__cell--right{text-align:left}
.stats-table tbody tr:nth-child(even){background:#f9fbff}
.stats-table tbody tr:last-child .stats-table__cell{border-bottom:0}
.stats-table-footnotes{padding:12px 20px;border-top:1px solid #d7e0ef;background:#f6f8fb;color:#3b4758;font-size:12px;line-height:1.4}
.stats-table-footnote + .stats-table-footnote{margin-top:4px}
.stats-table-actions{border-top:1px solid #d7e0ef;padding:10px 16px;display:flex;justify-content:flex-end;background:#f7f9fc}
.stats-table-actions__fallback{font-size:12px;color:#6b7280}
.stats-table-lead{font-size:13px;color:#445065;margin-bottom:8px}
.box-stats-summary-tabs{margin-top:12px}
.box-stats-summary-tabs__tablist{display:flex;flex-wrap:wrap;gap:6px;padding:0 0 10px}
.box-stats-summary-tabs__tab{border:1px solid #c8d2e3;background:#f3f6fb;color:#334155;padding:8px 12px;font-size:12px;font-weight:600;cursor:pointer}
.box-stats-summary-tabs__tab:hover{background:#e8eef8}
.box-stats-summary-tabs__tab:focus-visible{outline:2px solid #2563eb;outline-offset:1px}
.box-stats-summary-tabs__tab--active{background:#dbe7f7;border-color:#94a9c7;color:#0f172a}
.box-stats-summary-tabs__panel[hidden]{display:none !important}
.box-stats-summary-tabs__panel .stats-table-card{margin-top:0}
.stats-assumption-container+.stats-results-main .box-stats-summary-tabs:first-child,.box-stats-assumption-container+.stats-results-main .box-stats-summary-tabs:first-child{margin-top:12px}

/* Box stats: Assumption Checks */
.stats-assumption-section{margin-top:10px}
.stats-assumption-section .assumption-message{font-size:12px;color:#6b7280}
.stats-assumption-table{table-layout:fixed;display:inline-table;width:fit-content;max-width:100%}
.stats-assumption-table .stats-table__cell{padding:7px 10px}
.stats-assumption__group{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stats-assumption__qq{padding-inline:4px}

.assumption-badge{display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:2px 8px;border-radius:0;font-size:11px;font-weight:700;letter-spacing:0;border:1px solid rgba(15,23,42,0.12)}
.assumption-badge[data-result="pass"]{background:#d4edda;color:#155724;border-color:rgba(21,87,36,0.18)}
.assumption-badge[data-result="fail"]{background:#f8d7da;color:#721c24;border-color:rgba(114,28,36,0.18)}
.assumption-badge[data-result="na"]{background:#e2e3e5;color:#383d41;border-color:rgba(56,61,65,0.18)}

.assumption-sparkline{display:block}

/* QQ plot: flip vertically so quantiles appear ascending (SVG y-axis grows downward). */
.stats-assumption__qq .assumption-sparkline{
    margin:0 auto;
    transform:scaleY(-1);
    transform-origin:center;
    transform-box:fill-box;
}

/* DEBUG: enable by setting data-debug-qq="1" on <html> (or <body>). */
:root[data-debug-qq="1"] .stats-assumption__qq .assumption-sparkline{
    outline:1px dashed rgba(255,0,0,0.55);
}

.assumption-variance-row .assumption-sparkline{margin:0}

.assumption-variance-row{margin-top:10px;padding-top:8px;border-top:1px solid #d7e0ef;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:#1d2735}
.assumption-variance-label{font-weight:600;color:#1d2735}
.assumption-variance-detail{color:#445065}

.assumption-warning-list{margin-top:10px;padding:8px 10px;border-radius:0;border:1px solid #f3c1c1;background:#fff4f4;color:#7a1f1f;font-size:12px;line-height:1.4;display:flex;flex-direction:column;gap:4px}
.assumption-warning{margin:0}

.assumption-info{margin-top:8px;padding:8px 10px;border-radius:0;border:1px solid #d7e0ef;background:#f6f8fb;color:#3b4758;font-size:12px;line-height:1.4}
.stats-advisor{margin:12px 0;border:1px solid #d7e0ef;border-radius:0;background:#f8fbff;padding:12px 16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 1px 2px rgba(15,23,42,0.08);color:#1d2735}
.stats-advisor__header{display:flex;justify-content:space-between;align-items:center;gap:8px}
.stats-advisor__toggle{border:none;border-radius:0;background:#2563eb;color:#fff;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:background .2s ease}
.stats-advisor__toggle:hover,.stats-advisor__toggle:focus-visible{background:#1d4ed8}
.stats-advisor__summary{display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:1.5}
.stats-advisor__summary-line{font-weight:600}
.stats-advisor__rationale,.stats-advisor__warnings{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px;font-size:12px}
.stats-advisor__warnings-title{font-weight:600;color:#b45309;font-size:12px}
.stats-advisor__warnings{color:#92400e}
.stats-advisor__questions{display:flex;flex-direction:column;gap:12px}
.stats-advisor__question{border:1px solid #dbe4f3;border-radius:0;padding:10px 12px;background:#fff;display:flex;flex-direction:column;gap:8px}
.stats-advisor__question legend{font-weight:600;font-size:13px;color:#1d2735}
.stats-advisor__hint{margin:0;font-size:12px;color:#475569}
.stats-advisor__option{display:flex;align-items:center;gap:8px;font-size:13px;color:#1e293b;cursor:pointer}
.stats-advisor__option input{accent-color:#2563eb;cursor:pointer}
.stats-advisor__inline{display:flex;flex-direction:column;gap:8px}
.stats-advisor__inline-button{align-self:flex-start;border:1px solid #cbd5e1;border-radius:0;background:#fff;color:#1e293b;padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease}
.stats-advisor__inline-button:hover,.stats-advisor__inline-button:focus-visible{background:#f1f5f9;border-color:#94a3b8}
.stats-advisor__inline-button:disabled{opacity:.5;cursor:not-allowed}
.stats-advisor__inline-results{border:1px solid #e2e8f0;background:#f8fafc;padding:8px}
.stats-advisor__inline-label{font-size:12px;font-weight:600;color:#1d2735}
.stats-advisor__inline-empty,.stats-advisor__inline-stale{font-size:12px;color:#b45309}
.stats-advisor__inline-table{margin-top:6px;font-size:12px}
.stats-advisor__actions{display:flex;gap:8px;flex-wrap:wrap}
.stats-advisor__actions button{border:none;border-radius:0;padding:6px 14px;font-size:12px;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}
.stats-advisor__actions button:disabled{opacity:.5;cursor:not-allowed}
.stats-advisor__actions button:not(.stats-advisor__reset){background:#2563eb;color:#fff}
.stats-advisor__actions button:not(.stats-advisor__reset):hover,.stats-advisor__actions button:not(.stats-advisor__reset):focus-visible{background:#1d4ed8}
.stats-advisor__reset{background:transparent;border:1px solid #cbd5e1;color:#1e293b}
.stats-advisor__reset:hover,.stats-advisor__reset:focus-visible{background:#f1f5f9}
.stats-report-panel{margin:12px 0;border:1px solid #d7e0ef;background:#f8fbff;padding:0;color:#1d2735}
.stats-report-panel>summary,.stats-report-panel__advanced>summary{cursor:pointer;font-weight:600;padding:10px 14px;list-style:none}
.stats-report-panel>summary::-webkit-details-marker,.stats-report-panel__advanced>summary::-webkit-details-marker{display:none}
.stats-report-panel>summary::before,.stats-report-panel__advanced>summary::before{content:'▸';display:inline-block;margin-right:8px;transition:transform .15s ease}
.stats-report-panel[open]>summary::before,.stats-report-panel__advanced[open]>summary::before{transform:rotate(90deg)}
.stats-report-panel pre{margin:0;padding:10px 14px 14px;background:#fff;border-top:1px solid #e2e8f0;white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.5}
.stats-report-panel__header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px 0}
.stats-report-panel .stats-table-lead{padding:0;font-size:12px;font-weight:600;color:#1d2735}
.stats-report-panel__copy-btn{appearance:none;border:1px solid #cbd5e1;background:#fff;border-radius:6px;padding:4px 10px;font-size:12px;line-height:1.2;color:#334155;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}
.stats-report-panel__copy-btn:hover{background:#f8fafc;border-color:#94a3b8}
.stats-report-panel__copy-btn[data-copy-state="copied"]{background:#ecfdf5;border-color:#10b981;color:#047857}
.stats-report-panel__copy-btn[data-copy-state="error"]{background:#fef2f2;border-color:#ef4444;color:#b91c1c}
.stats-report-panel__summary-list{margin:0;padding:8px 28px 14px 34px;display:flex;flex-direction:column;gap:6px;font-size:12px}
.stats-report-panel__summary-item{color:#334155}
.stats-report-panel__advanced{margin:0 12px 12px;border:1px solid #dbe4f3;background:#fff}
.stats-report-panel__note{margin:0;padding:0 14px 10px;font-size:12px;color:#475569}
.stats-reporting-controls{margin:10px 0 8px;padding:7px 10px;border:1px solid #dbe4f3;background:#f8fbff;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px 12px}
.stats-inference-controls{margin:10px 0 8px;padding:10px 12px;border:1px solid #cfd9e8;background:#f8fbff;display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;min-height:38px}
.stats-inference-controls__field{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#1d2735;white-space:nowrap}
.stats-inference-controls__label{font-size:12px;font-weight:600;color:#1d2735}
.stats-inference-controls__input{width:92px;box-sizing:border-box;padding:4px 7px;border:1px solid #9aa9bc;background:#fff;color:#111827;font-size:12px;line-height:1.35}
.stats-inference-controls__input:focus{border-color:#2563eb;outline:2px solid rgba(37,99,235,.14);outline-offset:0}
.stats-inference-controls__help{flex:1 1 260px;min-width:180px;font-size:12px;font-weight:400;line-height:1.35;color:#475569}
.stats-inference-controls--compact{margin:4px 0;padding:6px 8px;gap:6px 12px}
.stats-inference-controls--compact .stats-inference-controls__help{flex-basis:220px}
.stats-pvalue-format-inline{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;font-size:12px;color:#1d2735}
.stats-figure-controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.stats-figure-controls--grouped{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:6px}
.config-panel .control.stats-figure-controls--grouped{align-items:flex-start}
.stats-figure-controls__heading{margin:0;font-size:var(--graph-control-font-size,12px);font-weight:400;line-height:1.35;letter-spacing:0;color:#111b2c;white-space:nowrap}
.stats-figure-controls__result-row{display:flex;align-items:center;flex-wrap:nowrap;gap:12px;width:max-content;max-width:100%}
.stats-figure-controls__options{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:6px 12px;width:auto}
.stats-figure-controls__options--inline{gap:6px 14px}
.stats-figure-controls--grouped label{margin:0}
.stats-figure-controls label:has(> input[type=checkbox]){display:inline-flex;align-items:center;gap:6px;font-size:var(--graph-control-font-size,12px);font-weight:400;line-height:1.35;letter-spacing:0;color:#111b2c;white-space:nowrap;cursor:pointer}
.stats-figure-controls input[type=checkbox]{margin:0;width:16px;height:16px;accent-color:#0b63d1}
.config-panel label:has(> input[type=checkbox]:disabled),
.stats-figure-controls label:has(> input[type=checkbox]:disabled){opacity:.48;filter:grayscale(60%);color:#6b7785;cursor:not-allowed;pointer-events:none}
.stats-pvalue-format-inline__label{font-size:12px;color:#1d2735}
.stats-pvalue-format-select{box-sizing:border-box;min-width:96px;height:28px;padding:3px 24px 3px 7px;border:1px solid #9aa9bc;background:#fff;color:#111827;font-size:12px;line-height:1.35}
.stats-pvalue-format-select:focus-visible{border-color:#2563eb;outline:2px solid rgba(37,99,235,.14);outline-offset:0}
.stats-results-main{display:flex;flex-direction:column;gap:12px}
.stats-results-advanced-panel{margin:12px 0 0;border:1px solid #d7e0ef;background:#f8fbff}
.stats-results-advanced-panel>summary{cursor:pointer;font-weight:600;padding:10px 14px;list-style:none}
.stats-results-advanced-panel>summary::-webkit-details-marker{display:none}
.stats-results-advanced-panel>summary::before{content:'▸';display:inline-block;margin-right:8px;transition:transform .15s ease}
.stats-results-advanced-panel[open]>summary::before{transform:rotate(90deg)}
.stats-results-advanced-panel__body{padding:0 12px 12px;display:flex;flex-direction:column;gap:12px}
#pcaPage .stats-results-advanced-panel{margin:12px 0 0;padding:0}
#pcaPage .stats-results-advanced-panel>summary,
#pcaPage .stats-report-panel>summary{
    display:flex;
    align-items:center;
    gap:8px;
    padding:10px 14px;
}
#pcaPage .stats-results-advanced-panel>summary::marker,
#pcaPage .stats-report-panel>summary::marker{content:""}
#pcaPage .stats-results-advanced-panel>summary::before,
#pcaPage .stats-report-panel>summary::before{
    display:inline-flex;
    width:10px;
    min-width:10px;
    justify-content:center;
    margin-right:0;
}
.stats-significance-badge{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:2px 7px;margin-left:6px;border:1px solid #cbd5e1;background:#fff;font-size:11px;font-weight:700;line-height:1.2;color:#0f172a}
.stats-significance-badge--sig{border-color:#86efac;background:#f0fdf4;color:#166534}
.stats-significance-badge--ns{border-color:#cbd5e1;background:#f8fafc;color:#475569}
.stats-conditions-section{margin:0 0 12px;padding:12px 0;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;gap:8px}
.stats-conditions-title{font-weight:600;font-size:13px;color:#1d2735}
.stats-conditions-checkboxes{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.stats-conditions-item{display:flex;align-items:center;gap:6px;cursor:pointer}
.stats-conditions-item input{accent-color:#2563eb;cursor:pointer}
.stats-conditions-item label{cursor:pointer;font-size:13px;color:#1e293b}
.stats-conditions-section select{min-width:160px}
#statsPanel .box-stats-options,
#pieStats .box-stats-options{display:flex;align-items:flex-start;gap:20px;margin-bottom:12px}
#statsPanel .box-stats-options__column,
#pieStats .box-stats-options__column{display:flex;flex:1;min-width:0;flex-direction:column;gap:10px}
#statsPanel .box-stats-options__row,
#pieStats .box-stats-options__row{display:flex;align-items:center;gap:8px}
#statsPanel .box-stats-advanced,
#pieStats .box-stats-advanced{margin-top:2px;border:1px solid #ddd;border-radius:var(--ui-rounded-radius);background:#fff;padding:0;overflow:hidden}
#statsPanel .box-stats-advanced>summary,
#pieStats .box-stats-advanced>summary{cursor:pointer;list-style:none;padding:8px 10px;background:#f4f7fb;font-size:11px;font-weight:700;letter-spacing:0;color:#1d2735}
#statsPanel .box-stats-advanced>summary::-webkit-details-marker,
#pieStats .box-stats-advanced>summary::-webkit-details-marker{display:none}
#statsPanel .box-stats-advanced>summary::before,
#pieStats .box-stats-advanced>summary::before{content:"\25B8";display:inline-block;margin-right:6px;transition:transform .15s ease}
#statsPanel .box-stats-advanced[open]>summary::before,
#pieStats .box-stats-advanced[open]>summary::before{transform:rotate(90deg)}
#statsPanel .box-stats-advanced__body,
#pieStats .box-stats-advanced__body{display:flex;flex-direction:column;gap:10px;padding:10px 0 0}
@media (max-width: 1120px){
    #statsPanel .box-stats-options,
    #pieStats .box-stats-options{flex-direction:column;gap:10px}
}
#goOptsBtn,#stringOptsBtn{font-size:12px;padding:4px 6px}
.svgbox{background:#ffffff;border:var(--graph-frame-border-width) solid var(--graph-frame-border-color);border-radius:var(--ui-rounded-radius);padding:40px 14px 14px;margin:0 0 8px;box-shadow:none;position:relative;display:flex;flex-direction:column;min-width:var(--graph-min-width,192px);min-height:var(--graph-min-height,126px);width:var(--graph-default-width,640px);height:auto;max-width:var(--graph-max-width,1920px);max-height:var(--graph-max-height,1260px);box-sizing:border-box;overflow:visible;flex:0 0 auto;aspect-ratio:var(--graph-aspect-ratio,1)}
.venn-loading-host{position:relative}
.venn-loading-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.65rem;background:rgba(255,255,255,0.86);backdrop-filter:blur(1.5px);border-radius:inherit;color:#0f172a;font-size:0.95rem;font-weight:600;text-align:center;padding:1.25rem;z-index:220;opacity:0;pointer-events:none;transition:opacity .15s ease}
.venn-loading-overlay[hidden]{display:none !important}
.venn-loading-overlay.is-visible{opacity:1;pointer-events:auto}
.venn-loading-overlay__spinner{width:38px;height:38px;border-radius:50%;border:3px solid rgba(15,23,42,0.25);border-top-color:#2563eb;animation:venn-loading-spin .85s linear infinite}
.venn-loading-overlay__message{font-size:.95rem;font-weight:500;color:#111b2c}
.venn-loading-overlay__actions{display:flex;align-items:center;justify-content:center;gap:8px;min-height:30px}
.venn-loading-overlay__actions[hidden]{display:none !important}
.venn-loading-overlay__button{appearance:none;border:1px solid #9aa8bc;background:#ffffff;color:#0f172a;font:inherit;font-size:.82rem;font-weight:600;line-height:1;padding:7px 12px;cursor:pointer}
.venn-loading-overlay__button:hover{background:#eef4ff;border-color:#2563eb;color:#1d4ed8}
.venn-loading-overlay[data-job-status='cancelled'] .venn-loading-overlay__message,
.venn-loading-overlay[data-job-status='error'] .venn-loading-overlay__message{font-weight:700}
@keyframes venn-loading-spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
.document-open-overlay{
    position:fixed;
    inset:0;
    z-index:5000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    box-sizing:border-box;
    background:rgba(248,250,252,.92);
    color:#0f172a;
}
.document-open-overlay[hidden]{display:none !important}
.document-open-overlay__panel{
    width:min(380px,calc(100vw - 48px));
    padding:28px 30px;
    box-sizing:border-box;
    border:1px solid #cbd5e1;
    background:#ffffff;
    box-shadow:0 18px 45px rgba(15,23,42,.16);
    text-align:center;
}
.document-open-overlay__spinner{
    width:30px;
    height:30px;
    margin:0 auto 16px;
    border:3px solid #cbd5e1;
    border-top-color:#6366f1;
    border-radius:50%;
    animation:venn-loading-spin .8s linear infinite;
}
.document-open-overlay__title{
    margin:0;
    color:#0f172a;
    font-size:17px;
    font-weight:650;
    line-height:1.35;
}
.document-open-overlay__detail{
    min-height:20px;
    margin:8px 0 16px;
    color:#475569;
    font-size:13px;
    line-height:1.45;
}
.document-open-overlay__progress{
    position:relative;
    height:3px;
    overflow:hidden;
    background:#e2e8f0;
}
.document-open-overlay__progress span{
    display:block;
    width:0;
    height:100%;
    background:#6366f1;
    transition:width .18s ease;
}
.document-open-overlay__progress.is-indeterminate span{
    width:42%;
    animation:document-open-progress 1.15s ease-in-out infinite;
}
.document-open-overlay__actions{
    display:flex;
    justify-content:center;
    gap:8px;
    margin-top:20px;
}
.document-open-overlay__actions[hidden]{display:none !important}
.document-open-overlay[data-state="error"] .document-open-overlay__spinner,
.document-open-overlay[data-state="error"] .document-open-overlay__progress{display:none}
.document-open-overlay[data-state="error"] .document-open-overlay__title{color:#991b1b}
@keyframes document-open-progress{
    from{transform:translateX(-110%)}
    to{transform:translateX(340%)}
}
@media (prefers-reduced-motion:reduce){
    .document-open-overlay__spinner,
    .document-open-overlay__progress.is-indeterminate span{animation-duration:1.8s}
}
.svgbox .resizer{position:absolute;z-index:40;background:rgba(0,0,0,0);touch-action:none}
.svgbox .resizer-vertical{top:0;right:0;width:12px;height:100%;cursor:ew-resize}
.svgbox .resizer-horizontal{bottom:0;left:0;height:12px;width:100%;cursor:ns-resize}
.svgbox .resizer-corner{right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;background:linear-gradient(135deg,rgba(0,0,0,0.06),rgba(0,0,0,0));border-radius:2px}
.svgbox .resizer-zoom-viewport{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-width:0;min-height:0;overflow:hidden}
.svgbox .resizer-zoom-content{--resizer-content-zoom:1;position:relative;display:flex;flex-direction:column;flex:0 0 auto;min-width:0;min-height:0;width:calc(100% / var(--resizer-content-zoom));height:calc(100% / var(--resizer-content-zoom));transform-origin:top left;transform:scale(var(--resizer-content-zoom))}
.svgbox .resizer-zoom-content>[data-resizer-zoom-target="true"]{flex:1 1 auto;min-width:0;min-height:0;width:100%;height:100%}
.workspace-page .wrap>.panel .diagram-area .svgbox[data-graph-content-envelope="true"]{margin-top:var(--graph-content-extra-top,0px);margin-right:var(--graph-content-extra-right,0px);margin-bottom:var(--graph-content-extra-bottom,0px);margin-left:var(--graph-content-extra-left,0px);border-color:transparent;border-radius:0;isolation:isolate}
.svgbox[data-graph-content-envelope="true"]::before,
.svgbox[data-graph-content-envelope="true"]::after{content:"";position:absolute;top:calc(-1 * var(--graph-content-extra-top,0px));right:calc(-1 * var(--graph-content-extra-right,0px));bottom:calc(-1 * var(--graph-content-extra-bottom,0px));left:calc(-1 * var(--graph-content-extra-left,0px));box-sizing:border-box;border-radius:var(--ui-rounded-radius);pointer-events:none}
.svgbox[data-graph-content-envelope="true"]::before{z-index:-1;background:inherit}
.svgbox[data-graph-content-envelope="true"]::after{z-index:1;outline:var(--graph-frame-border-width) solid var(--graph-frame-border-color)}
.svgbox svg[data-graph-content-viewport="true"]{margin-left:calc(-1 * var(--graph-content-origin-left,0px));margin-top:calc(-1 * var(--graph-content-origin-top,0px))}
.svgbox [data-graph-content-viewport="true"]{min-width:var(--graph-content-rendered-width,var(--graph-content-viewport-width,0px))!important;min-height:var(--graph-content-rendered-height,var(--graph-content-viewport-height,0px))!important;overflow:visible!important}
.svgbox[data-graph-content-envelope="true"] .resizer-zoom-viewport,
.svgbox[data-graph-content-envelope="true"] .resizer-zoom-content{overflow:visible!important}
.svgbox[data-graph-content-envelope="true"] .resizer-control-tray{top:calc(10px - var(--graph-content-extra-top,0px));left:calc(12px - var(--graph-content-extra-left,0px))}
.svgbox[data-graph-content-envelope="true"] .resizer-vertical,
.svgbox[data-graph-content-envelope="true"] .resizer-corner{right:calc(-1 * var(--graph-content-extra-right,0px))}
.svgbox[data-graph-content-envelope="true"] .resizer-horizontal,
.svgbox[data-graph-content-envelope="true"] .resizer-corner{bottom:calc(-1 * var(--graph-content-extra-bottom,0px))}
.svgbox[data-graph-content-envelope="true"] .resizer-corner{background:transparent}
.svgbox[data-graph-content-envelope="true"] .resizer-vertical{top:calc(-1 * var(--graph-content-extra-top,0px));height:calc(100% + var(--graph-content-extra-top,0px) + var(--graph-content-extra-bottom,0px))}
.svgbox[data-graph-content-envelope="true"] .resizer-horizontal{left:calc(-1 * var(--graph-content-extra-left,0px));width:calc(100% + var(--graph-content-extra-left,0px) + var(--graph-content-extra-right,0px))}
.svgbox[data-graph-content-envelope="true"] .resizer-bottom-tray{bottom:calc(-1 * var(--graph-content-extra-bottom,0px) + 10px)}
.svgbox .resizer-control-tray{position:absolute;top:10px;left:12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;z-index:210}
.svgbox .resizer-bottom-tray{position:absolute;left:12px;bottom:10px;display:flex;align-items:center;gap:8px;z-index:210}
.svgbox .resizer-control-tray .resizer-zoom-control{position:relative;display:inline-flex;align-items:center;gap:4px}
.svgbox .resizer-options-control{position:relative;display:inline-flex;border:0;padding:0;background:transparent;box-shadow:none}
.svgbox .resizer-options-control:focus,
.svgbox .resizer-options-control:focus-within{outline:none}
.svgbox .resizer-options-summary{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;background:transparent;color:#6f7783;cursor:pointer;font-size:14px;line-height:1;box-sizing:border-box;list-style:none}
.svgbox .resizer-options-summary:hover{background:transparent;color:#4f5b68}
.svgbox .resizer-options-summary:focus{outline:var(--ui-focus-outline);outline-offset:var(--ui-focus-offset)}
.svgbox .resizer-options-summary::-webkit-details-marker{display:none}
.svgbox .resizer-options-icon{display:block;width:16px;height:16px;fill:currentColor;filter:drop-shadow(0 .5px .5px rgba(15,23,42,.35))}
.svgbox .resizer-options-icon-hub-ring{fill:rgba(214,219,226,.95)}
.svgbox .resizer-options-icon-hub{fill:rgba(15,23,42,.5)}
.svgbox .resizer-options-menu{position:absolute;top:calc(100% + 4px);left:0;display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:205px;padding:7px 8px;background:var(--ui-menu-bg);border:var(--ui-menu-border);border-radius:0;box-shadow:var(--ui-menu-shadow);z-index:230}
.svgbox .resizer-options-control:not([open]) .resizer-options-menu{display:none}
.svgbox .resizer-zoom-button{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:1px solid #8d97a6;background:#fff;color:#1b2634;cursor:pointer;font-size:12px;line-height:1;box-sizing:border-box}
.svgbox .resizer-zoom-button:hover{background:#edf2ff;border-color:#6c7bb1}
.svgbox .resizer-zoom-button:focus{outline:var(--ui-focus-outline);outline-offset:var(--ui-focus-offset)}
.svgbox .resizer-zoom-button:disabled{opacity:.45;cursor:not-allowed;background:#f3f5f7;border-color:#c2c8d1}
.svgbox .resizer-zoom-value{display:inline-flex;align-items:center;justify-content:center;width:34px;height:16px;padding:0 2px;border:1px solid #8d97a6;background:#fff;color:#1b2634;font-size:11px;line-height:1;text-align:center;box-sizing:border-box;border-radius:0;font-variant-numeric:tabular-nums;appearance:textfield;-moz-appearance:textfield}
.svgbox .resizer-zoom-value::-webkit-outer-spin-button,
.svgbox .resizer-zoom-value::-webkit-inner-spin-button{-webkit-appearance:none !important;appearance:none !important;margin:0 !important;display:none !important}
.svgbox .resizer-zoom-value.resizer-zoom-input::-webkit-outer-spin-button,
.svgbox .resizer-zoom-value.resizer-zoom-input::-webkit-inner-spin-button{-webkit-appearance:none !important;appearance:none !important;margin:0 !important;display:none !important}
.svgbox .resizer-zoom-value[type=number]{appearance:textfield;-moz-appearance:textfield}
.svgbox .resizer-zoom-value:focus,
.svgbox .resizer-zoom-value:focus-visible{outline:none;box-shadow:none;border-color:#8d97a6}
.svgbox .resizer-zoom-unit{display:inline-flex;align-items:center;font-size:11px;line-height:1;color:#1e2633}
.svgbox .resizer-control-tray .resizer-aspect-control,
.svgbox .resizer-control-tray .resizer-fontresize-control,
.svgbox .resizer-control-tray .resizer-title-control,
.svgbox .resizer-control-tray .resizer-zoom-control,
.svgbox .resizer-control-tray .resizer-legend-control,
.svgbox .resizer-bottom-tray .resizer-legend-control,
.svgbox .resizer-axeslength-summary{display:flex;align-items:center;gap:var(--shared-checkbox-chip-gap,6px);font-size:11px;background:var(--shared-checkbox-chip-bg,#f9fafc);padding:var(--shared-checkbox-chip-padding,4px 8px);border-radius:0;color:var(--shared-checkbox-chip-text,#1e2633);box-shadow:none;border:1px solid var(--shared-checkbox-chip-border,#b4bccb);font-weight:400;letter-spacing:0;text-transform:none;white-space:nowrap}
.svgbox .resizer-title-control[hidden]{display:none}
.svgbox .resizer-control-tray .resizer-legend-control input[type=checkbox],
.svgbox .resizer-bottom-tray .resizer-legend-control input[type=checkbox]{margin:0;width:16px;height:16px;accent-color:#0b63d1}
.svgbox .resizer-aspect-control input[type="checkbox"],
.svgbox .resizer-fontresize-control input[type="checkbox"],
.svgbox .resizer-title-control input[type="checkbox"],
.svgbox .resizer-axeslength-menu input[type="checkbox"]{
    margin:0;
    width:16px;
    height:16px;
    accent-color:#0b63d1;
    appearance:auto;
    -webkit-appearance:checkbox;
    -moz-appearance:checkbox;
    cursor:pointer;
}
.svgbox .resizer-aspect-text,
.svgbox .resizer-fontresize-text,
.svgbox .resizer-axeslength-text{white-space:nowrap}
.svgbox .resizer-options-menu .resizer-aspect-control,
.svgbox .resizer-options-menu .resizer-fontresize-control,
.svgbox .resizer-options-menu .resizer-title-control,
.svgbox .resizer-options-menu .resizer-legend-control,
.svgbox .resizer-options-menu .resizer-axeslength-summary{width:100%;justify-content:flex-start;padding:4px 2px;border:0;background:transparent;box-shadow:none;font-size:12px;letter-spacing:0}
.svgbox .resizer-options-menu .resizer-axeslength-control{width:100%}
.svgbox .resizer-axeslength-control{position:relative;border:0;padding:0;background:transparent;box-shadow:none}
.svgbox .resizer-axeslength-control:focus,
.svgbox .resizer-axeslength-control:focus-within{outline:none}
.svgbox .resizer-axeslength-summary{list-style:none;cursor:pointer}
.svgbox .resizer-axeslength-summary:focus,
.svgbox .resizer-axeslength-summary:focus-visible{outline:none}
.svgbox .resizer-axeslength-summary::-webkit-details-marker{display:none}
.svgbox .resizer-axeslength-control:not([open]) .resizer-axeslength-menu{display:none}
.svgbox .resizer-axeslength-menu{position:absolute;top:100%;left:0;display:flex;flex-direction:column;gap:6px;min-width:170px;padding:6px 8px;background:var(--ui-menu-bg);border:var(--ui-menu-border);border-radius:0;box-shadow:var(--ui-menu-shadow);z-index:220}
.svgbox .resizer-options-menu .resizer-axeslength-menu{position:static;min-width:0;margin:2px 0 0 10px;padding:2px 0 0 0;border:0;box-shadow:none;background:transparent}
.svgbox .resizer-axeslength-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#333}
#stage{width:100%;height:100%;display:block}
.color-picker{display:flex;align-items:center;gap:6px}
input[type=color]{-webkit-appearance:none;border:1px solid #666;border-radius:0;padding:0;width:var(--color-swatch-size,20px);height:var(--color-swatch-size,20px);min-width:var(--color-swatch-size,20px);min-height:var(--color-swatch-size,20px);background:none;margin:0}
input[type=color]::-webkit-color-swatch-wrapper{padding:0;border:none;border-radius:0}
input[type=color]::-webkit-color-swatch{border:none;border-radius:0}
input[type=color]::-moz-color-swatch{border:none;border-radius:0}
.diagram-area{display:flex;gap:12px;align-items:flex-start;flex-wrap:nowrap}
.config-panel{background:#fbfcff;border:var(--ui-panel-border-width) solid #dfe4ec;border-radius:var(--ui-rounded-radius);padding:12px 14px;display:flex;flex-direction:column;gap:10px;min-width:var(--config-panel-min-width,140px);font-family:var(--ui-font-family);color:#1d2532;box-shadow:none;--config-panel-number-width:48px;--config-panel-range-min-width:120px;--config-panel-select-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23131c23' d='M0 0h10L5 6z'/%3E%3C/svg%3E")}
.config-panel [hidden]{display:none !important}
.config-panel__fieldset,
.config-panel fieldset{border:1px solid #b9c2d0;background:#fffffff6;margin:0;padding:10px 12px 12px;border-radius:0;box-shadow:inset 0 1px 0 rgba(255,255,255,0.92);box-sizing:border-box;min-width:0;max-width:100%;width:100%}
.config-panel__fieldset+.config-panel__fieldset,
.config-panel fieldset+fieldset{margin-top:4px}
.config-panel__fieldset legend,
.config-panel legend{padding:0 6px;font-size:11px;font-weight:700;letter-spacing:0;text-transform:none;color:#131c23}
.config-panel__line,
.config-panel .control{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:12px;color:#1c2534}
.config-panel__line:first-of-type,
.config-panel .control:first-of-type{margin-top:0}
.config-panel .control-row{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.config-panel .control-row>.control{margin-top:0;flex:0 1 auto}
.config-panel__line--split{column-gap:12px;row-gap:6px}
.config-panel__line--checkboxes{gap:6px 10px}
.config-panel .control,
.config-panel .config-panel__line,
.config-panel .control-row,
.config-panel .stats-figure-controls,
.config-panel .stats-figure-controls__result-row,
.config-panel .stats-figure-controls__options{min-width:0;max-width:100%}
.config-panel .control>label,
.config-panel .config-panel__line>label,
.config-panel .control-row>.control{min-width:0;max-width:100%}
.config-panel .control>label:has(> select),
.config-panel .config-panel__line>label:has(> select){flex-wrap:wrap}
.config-panel select{min-width:0}
.config-panel .stats-figure-controls__result-row{width:100%;flex-wrap:nowrap}
.config-panel .stats-figure-controls__options{flex-wrap:nowrap}
.config-panel,
.workspace-toolbar,
.axis-controls-panel,
.significance-controls-panel{
  --graph-control-font-size:13px;
  --shared-checkbox-chip-border:#b4bccb;
  --shared-checkbox-chip-bg:#f9fafc;
  --shared-checkbox-chip-text:#1e2633;
  --shared-checkbox-chip-gap:6px;
  --shared-checkbox-chip-padding:4px 8px;
}
.config-panel__item{display:flex;align-items:center;gap:6px;flex:0 0 auto;min-width:0;font-size:12px;font-weight:400;color:#1c2534}
.config-panel__item--narrow{flex:0 0 auto}
.config-panel__item--wide{flex:0 0 auto}
.config-panel__item--range{flex:1 1 200px;min-width:160px}
.config-panel__item--swatch{flex:0 0 auto}
.config-panel__item--select-auto{flex:0 0 auto}
.config-panel__label,
.config-panel .control label,
.config-panel .config-panel__line label{font-size:var(--graph-control-font-size,12px);font-weight:400;text-transform:none;letter-spacing:0;color:#111b2c;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;min-width:0}
.config-panel .control label.color-picker{width:auto;min-width:0}
.config-panel .color-scheme-picker{
  position:relative;
  display:inline-flex;
  min-width:220px;
}
.config-panel .color-scheme-picker__button{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:26px;
  min-width:220px;
  padding:2px 8px;
  border:1px solid #9098a6;
  background:#ffffff;
  color:#0f1625;
  font-size:13px;
  line-height:1.2;
  cursor:pointer;
}
.config-panel .color-scheme-picker__button:focus-visible{
  outline:2px solid #0b63d1;
  outline-offset:1px;
}
.config-panel .color-scheme-picker__label{
  flex:0 1 auto;
  min-width:0;
  white-space:nowrap;
}
.config-panel .color-scheme-picker__current-swatches{
  display:inline-flex;
  align-items:center;
}
.config-panel .color-scheme-picker__caret{
  margin-left:auto;
  font-size:10px;
  color:#3d4656;
}
.config-panel .color-scheme-picker__menu{
  position:absolute;
  z-index:70;
  top:calc(100% + 2px);
  left:0;
  min-width:100%;
  max-height:260px;
  overflow:auto;
  border:1px solid #9098a6;
  background:#ffffff;
  box-shadow:0 4px 10px rgba(0,0,0,0.14);
}
.config-panel .color-scheme-picker__option{
  width:100%;
  display:flex;
  align-items:center;
  gap:8px;
  border:0;
  border-bottom:1px solid #edf0f4;
  background:#ffffff;
  color:#111b2c;
  text-align:left;
  padding:6px 8px;
  cursor:pointer;
  font-size:13px;
}
.config-panel .color-scheme-picker__option:last-child{
  border-bottom:0;
}
.config-panel .color-scheme-picker__option:hover{
  background:#f4f7ff;
}
.config-panel .color-scheme-picker__option.is-selected{
  background:#eaf2ff;
}
.config-panel .color-scheme-picker__option:disabled{
  opacity:0.65;
  cursor:default;
  background:#f8f9fb;
}
.config-panel .color-scheme-picker__option-label{
  white-space:nowrap;
}
.config-panel .color-scheme-picker__swatches,
.config-panel .color-scheme-picker__current-swatches{
  display:inline-flex;
  align-items:center;
  gap:3px;
  min-width:52px;
  min-height:18px;
  padding:1px 5px;
  box-sizing:border-box;
  border:1px solid transparent;
  justify-content:flex-start;
}
.config-panel .color-scheme-picker__option--dark-theme .color-scheme-picker__swatches,
.config-panel .color-scheme-picker__current-swatches--dark-theme{
  background:#000000;
  border-color:rgba(255,255,255,0.65);
}
.config-panel .color-scheme-picker__option--dark-theme .color-scheme-picker__swatch{
  border-color:rgba(255,255,255,0.65);
}
.config-panel .color-scheme-picker__swatch{
  width:10px;
  height:10px;
  border:1px solid rgba(0,0,0,0.28);
  box-sizing:border-box;
}
.config-panel .color-scheme-picker__swatches--custom::before{
  content:'-';
  color:#737f91;
}
.config-panel .color-scheme-picker__choice{
  position:absolute;
  z-index:71;
  top:calc(100% + 2px);
  left:0;
  width:260px;
  padding:10px;
  box-sizing:border-box;
  border:1px solid #9098a6;
  background:#ffffff;
  color:#111b2c;
  box-shadow:0 4px 10px rgba(0,0,0,0.14);
  white-space:normal;
}
.config-panel .color-scheme-picker__choice-title{
  margin-bottom:3px;
  font-size:13px;
  font-weight:600;
}
.config-panel .color-scheme-picker__choice-description{
  margin-bottom:8px;
  font-size:12px;
}
.config-panel .color-scheme-picker__choice-button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  width:100%;
  min-height:28px;
  margin-top:5px;
  padding:4px 7px;
  border:1px solid #9098a6;
  background:#ffffff;
  color:#111b2c;
  font-size:12px;
  text-align:left;
  cursor:pointer;
}
.config-panel .color-scheme-picker__choice-button--primary{
  border-color:#0b63d1;
  background:#eaf2ff;
}
.config-panel .color-scheme-picker__choice-button:focus-visible,
.config-panel .color-scheme-picker__choice-cancel:focus-visible{
  outline:2px solid #0b63d1;
  outline-offset:1px;
}
.config-panel .color-scheme-picker__choice-recommended{
  color:#35577f;
  font-size:10px;
}
.config-panel .color-scheme-picker__choice-cancel{
  margin-top:7px;
  padding:2px 0;
  border:0;
  background:transparent;
  color:#35577f;
  font-size:12px;
  text-decoration:underline;
  cursor:pointer;
}
.config-panel__range{display:flex;align-items:center;gap:4px;flex:1 1 auto;min-width:0}
.config-panel__range output{min-width:28px;text-align:right;font-variant-numeric:tabular-nums;color:#0b1420;font-size:12px}
.config-panel .config-panel__checkbox,
.config-panel .control label:has(> input[type=checkbox]),
.config-panel .control label:has(> input[type=radio]){display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;font-size:var(--graph-control-font-size,12px);font-weight:400;color:#111b2c;text-transform:none;letter-spacing:0;cursor:pointer;white-space:nowrap}
.config-panel .config-panel__checkbox,
.config-panel .config-panel__line label:has(> input[type=checkbox]),
.config-panel .config-panel__line label:has(> input[type=radio]){display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;font-size:var(--graph-control-font-size,12px);font-weight:400;color:#111b2c;text-transform:none;letter-spacing:0;cursor:pointer;white-space:nowrap}
.config-panel__checkbox input[type=checkbox],
.config-panel .control input[type=checkbox]{margin:0;width:16px;height:16px;accent-color:#0b63d1}
.config-panel__checkbox--inline{margin-left:auto}
.config-panel__checkbox--disabled{opacity:0.48;filter:grayscale(60%);color:#6b7785;cursor:not-allowed;pointer-events:none}
.config-panel__checkbox--disabled input[type=checkbox]{cursor:not-allowed}
.svgbox .config-panel__checkbox{display:inline-flex;align-items:center;gap:var(--shared-checkbox-chip-gap,6px);padding:var(--shared-checkbox-chip-padding,4px 8px);border:1px solid var(--shared-checkbox-chip-border,#b4bccb);background:var(--shared-checkbox-chip-bg,#f9fafc);font-size:11px;font-weight:400;color:var(--shared-checkbox-chip-text,#1e2633);text-transform:none;letter-spacing:0;white-space:nowrap}
.config-panel .color-pickers{display:flex;flex-direction:column;gap:8px}
.config-panel .color-pickers label{display:flex;align-items:center;gap:6px;font-size:12px;color:#1c2534}
.config-panel .control input[type=range]{flex:1 1 auto;min-width:var(--config-panel-range-min-width,120px)}
.config-panel .control output{width:auto;min-width:28px;text-align:right;font-variant-numeric:tabular-nums;color:#0b1420;font-size:12px}

/* Box Plot: keep the Colors section compact and less "boxed" */
#boxPage .box-colors__row{flex-wrap:nowrap;gap:12px}
#boxPage .box-colors__mode{display:flex;align-items:center;gap:12px;flex:0 0 auto}
#boxPage .box-colors__mode label:has(> input[type=radio]){padding:0;border:0;background:transparent;letter-spacing:0;text-transform:none;color:inherit}
#boxPage .box-colors__mode input[type=radio]{margin:0}
#boxPage .box-colors__unified{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;flex:0 0 auto}
#boxPage .box-colors__unified .color-picker{padding:0;border:0;background:transparent;letter-spacing:0}
#boxPage #boxColorPerBox{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:14px;overflow-x:auto;overflow-y:hidden;min-width:0;flex:1 1 auto}
#boxPage #boxColorPerBox:empty{display:none}
#boxPage #boxColorPerBox label{flex:0 0 auto;white-space:nowrap}
/* Harmonize statistics sections to match Scatter panel styling. */
:where(
    #statsPanel,
    #pcaStats,
    #scatterStats,
    #lineStats,
    #rocStats,
    #survivalStats,
    #histStats,
    #pieStats,
    #heatmapStats,
    .stats-panel
){
    font-family:var(--ui-font-family);
    font-size:12px;
    color:#1d2532;
}

:where(
    #statsPanel,
    #pcaStats,
    #scatterStats,
    #lineStats,
    #rocStats,
    #survivalStats,
    #histStats,
    #pieStats,
    #heatmapStats
) > fieldset,
:where(
    #statsPanel,
    #pcaStats,
    #scatterStats,
    #lineStats,
    #rocStats,
    #survivalStats,
    #histStats,
    #pieStats,
    #heatmapStats
) fieldset:not(.stats-advisor__question){
    border:1px solid #b9c2d0;
    background:#fbfcff;
    margin:0;
    padding:10px 12px 12px;
    border-radius:0;
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.92);
}

#statsPanel > fieldset,
#pcaStats > fieldset,
#scatterStats > fieldset,
#lineStats > fieldset,
#rocStats > fieldset,
#survivalStats > fieldset,
#histStats > fieldset,
#pieStats > fieldset,
#heatmapStats > fieldset{
    border-radius:var(--ui-rounded-radius) !important;
    overflow:hidden;
}

:where(
    #statsPanel,
    #pcaStats,
    #scatterStats,
    #lineStats,
    #rocStats,
    #survivalStats,
    #histStats,
    #pieStats,
    #heatmapStats
) legend{
    padding:0 6px;
    font-size:11px;
    font-weight:700;
    letter-spacing:0;
    text-transform:none;
    color:#131c23;
}

:where(
    #statsPanel,
    #pcaStats,
    #lineStats,
    #rocStats,
    #survivalStats,
    #histStats,
    #pieStats
) .control,
#rocStatsControls{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 12px;
    margin-top:6px;
    font-size:12px;
    color:#1c2534;
}

:where(
    #statsPanel,
    #pcaStats,
    #lineStats,
    #rocStats,
    #survivalStats,
    #histStats,
    #pieStats,
    #scatterStats,
    #heatmapStats
) label{
    font-size:var(--graph-control-font-size,13px);
    font-weight:400;
    text-transform:none;
    letter-spacing:0;
    color:#111b2c;
    white-space:nowrap;
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-width:0;
}

:where(
    #statsPanel,
    #pcaStats,
    #lineStats,
    #rocStats,
    #survivalStats,
    #histStats,
    #pieStats,
    #scatterStats,
    #heatmapStats
) .stats-advisor__option{
    font-size:13px;
    letter-spacing:0;
    color:#1e293b;
    padding:0;
    border:none;
    background:transparent;
}

:where(
    #statsPanel,
    #pcaStats,
    #lineStats,
    #rocStats,
    #survivalStats,
    #histStats,
    #pieStats,
    #scatterStats,
    #heatmapStats
) label:not(.stats-advisor__option):has(> input[type=checkbox]),
:where(
    #statsPanel,
    #pcaStats,
    #lineStats,
    #rocStats,
    #survivalStats,
    #histStats,
    #pieStats,
    #scatterStats,
    #heatmapStats
) label:not(.stats-advisor__option):has(> input[type=radio]){
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:0;
    border:0;
    background:transparent;
    font-size:var(--graph-control-font-size,13px);
    font-weight:400;
    color:#111b2c;
    letter-spacing:0;
    text-transform:none;
    cursor:pointer;
}

:where(
    #statsPanel,
    #pcaStats,
    #lineStats,
    #rocStats,
    #survivalStats,
    #histStats,
    #pieStats,
    #scatterStats,
    #heatmapStats
) label input[type=checkbox],
:where(
    #statsPanel,
    #pcaStats,
    #lineStats,
    #rocStats,
    #survivalStats,
    #histStats,
    #pieStats,
    #scatterStats,
    #heatmapStats
) label input[type=radio]{
    margin:0;
    width:16px;
    height:16px;
    accent-color:#0b63d1;
}

:where(
    #statsPanel,
    #pcaStats,
    #scatterStats,
    #lineStats,
    #rocStats,
    #survivalStats,
    #histStats,
    #pieStats,
    #heatmapStats
) input[type=number],
:where(
    #statsPanel,
    #pcaStats,
    #scatterStats,
    #lineStats,
    #rocStats,
    #survivalStats,
    #histStats,
    #pieStats,
    #heatmapStats
) input[type=text],
:where(
    #statsPanel,
    #pcaStats,
    #scatterStats,
    #lineStats,
    #rocStats,
    #survivalStats,
    #histStats,
    #pieStats,
    #heatmapStats
) select,
:where(
    #statsPanel,
    #pcaStats,
    #scatterStats,
    #lineStats,
    #rocStats,
    #survivalStats,
    #histStats,
    #pieStats,
    #heatmapStats
) textarea{
    min-height:26px;
    height:auto;
    padding:2px 8px;
    border:1px solid #8d97a6;
    border-radius:0;
    background:#fdfefe;
    color:#111b29;
    font-size:12px;
    line-height:20px;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,0.7);
}

:where(
    #statsPanel,
    #pcaStats,
    #scatterStats,
    #lineStats,
    #rocStats,
    #survivalStats,
    #histStats,
    #pieStats,
    #heatmapStats
) select{
    appearance:none;
    background-image:var(--config-panel-select-icon,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23131c23' d='M0 0h10L5 6z'/%3E%3C/svg%3E"));
    background-repeat:no-repeat;
    background-position:right 8px center;
    padding-right:22px;
}

:where(
    #statsPanel,
    #pcaStats,
    #scatterStats,
    #lineStats,
    #rocStats,
    #survivalStats,
    #histStats,
    #pieStats,
    #heatmapStats
) input:not([type=range]):focus,
:where(
    #statsPanel,
    #pcaStats,
    #scatterStats,
    #lineStats,
    #rocStats,
    #survivalStats,
    #pieStats,
    #heatmapStats
) select:focus,
:where(
    #statsPanel,
    #pcaStats,
    #scatterStats,
    #lineStats,
    #rocStats,
    #survivalStats,
    #pieStats,
    #heatmapStats
) textarea:focus{
    outline:var(--ui-focus-outline);
    outline-offset:var(--ui-focus-offset);
}

/* Smaller helper/correction notes within stats panels. */
.stats-help-text,
.stats-correction-note,
#boxStatsStatus,
#pieStatsStatus,
#scatterStatsStatus,
#lineStatsStatus,
#survivalCovariateHint{
    font-size:12px;
    color:#444;
}
#heatmapGraphPanel .config-panel{display:inline-grid;grid-template-columns:max-content;row-gap:16px;align-self:flex-start;justify-items:stretch;max-width:100%}
#heatmapGraphPanel .config-panel{--graph-control-font-size:13px}
#heatmapGraphPanel .config-panel .heatmap-control-list{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:var(--graph-control-font-size,13px);color:#1c2534;width:100%}
#heatmapGraphPanel .config-panel .heatmap-control-block{display:flex;flex-direction:column;gap:4px;width:100%;font-size:var(--graph-control-font-size,13px);color:#1c2534}
#heatmapGraphPanel .config-panel .heatmap-control-block select{width:100%}
#heatmapGraphPanel .config-panel .heatmap-control-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;width:100%}
#heatmapGraphPanel .config-panel .heatmap-control-grow{flex:1 1 220px;min-width:200px}
#heatmapGraphPanel .config-panel .heatmap-view-panel{width:auto;max-width:100%}
#heatmapGraphPanel .config-panel .heatmap-view-panel .heatmap-control-list{width:auto;max-width:100%}
#heatmapGraphPanel .config-panel .heatmap-view-panel .heatmap-control-row{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;width:auto;max-width:100%}
#heatmapGraphPanel .config-panel .heatmap-view-panel .heatmap-control-row:not(:has(.heatmap-control-grow > span)){align-items:center}
#heatmapGraphPanel .config-panel .heatmap-view-panel .heatmap-control-row:has(.heatmap-control-grow > span) .heatmap-control-inline{margin-bottom:3px}
#heatmapGraphPanel .config-panel .heatmap-view-panel .heatmap-control-block{width:auto}
#heatmapGraphPanel .config-panel .heatmap-view-panel .heatmap-control-block select{width:auto;min-width:fit-content}
#heatmapGraphPanel .config-panel .heatmap-view-panel .heatmap-control-grow{flex:0 1 auto;min-width:0}
#heatmapGraphPanel .config-panel .heatmap-view-panel .heatmap-control-block:has(> #heatmapView),
#heatmapGraphPanel .config-panel .heatmap-view-panel .heatmap-control-block:has(> #heatmapMethod){
    flex-direction:row;
    align-items:center;
    gap:8px;
    flex:0 0 auto;
}
#heatmapGraphPanel #heatmapStatsInferenceControls{min-height:0;padding:4px 8px}
#heatmapGraphPanel #heatmapStatsInferenceControls .stats-inference-controls__input{
    width:60px;
    max-width:60px;
    flex:0 0 60px;
}
#heatmapGraphPanel .config-panel .heatmap-control-inline{flex:0 0 auto}
#heatmapGraphPanel .config-panel .heatmap-inline-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:var(--graph-control-font-size,13px);color:#1c2534}
#heatmapGraphPanel .config-panel .heatmap-inline-group>input[type=checkbox],
#heatmapGraphPanel .config-panel .heatmap-inline-group>input[type=radio]{margin:0}
#heatmapGraphPanel .config-panel .heatmap-inline-group:has(> input[type=checkbox]):not(:has(input[type=number],input[type=range],select)),
#heatmapGraphPanel .config-panel .heatmap-inline-group:has(> input[type=radio]):not(:has(input[type=number],input[type=range],select)){display:inline-flex;padding:4px 8px;border:1px solid #b4bccb;background:#f9fafc;font-size:var(--graph-control-font-size,13px);font-weight:400;letter-spacing:0;text-transform:none;cursor:pointer;color:#1e2633}
#heatmapGraphPanel .config-panel .heatmap-view-panel .heatmap-inline-group:has(> input[type=checkbox]):not(:has(input[type=number],input[type=range],select)),
#heatmapGraphPanel .config-panel .heatmap-view-panel .heatmap-inline-group:has(> input[type=radio]):not(:has(input[type=number],input[type=range],select)){padding:0;border:0;background:transparent;font-size:var(--graph-control-font-size,13px);letter-spacing:0}
#heatmapGraphPanel .config-panel .heatmap-inline-group>span{white-space:nowrap}
#heatmapGraphPanel .config-panel .heatmap-inline-group input[type=number]{width:70px}
#heatmapGraphPanel .config-panel .heatmap-inline-group .heatmap-count-field{width:60px}
#heatmapGraphPanel .config-panel .heatmap-size-input{width:80px}
#heatmapGraphPanel .config-panel .heatmap-inline-group input[type=range]{flex:1 1 auto;min-width:120px}
#heatmapGraphPanel .config-panel .heatmap-inline-group output{min-width:32px;text-align:right}
#heatmapPage .heatmap-filter-list{gap:5px}
#heatmapPage .heatmap-filter-row{display:flex;align-items:center;justify-content:flex-start;gap:5px;flex-wrap:nowrap;width:100%;min-width:0;min-height:22px}
#heatmapPage .heatmap-filter-row input[type=checkbox]{flex:0 0 auto}
#heatmapPage .heatmap-filter-row>span{flex:0 0 auto}
#heatmapGraphPanel .config-panel .heatmap-color-pickers{display:flex;flex-direction:column;gap:8px}
#heatmapGraphPanel .config-panel .heatmap-color-pickers .color-picker{font-size:13px}
#heatmapGraphPanel .config-panel .heatmap-hint{font-size:11px;color:#666}
#heatmapGraphPanel .config-panel .heatmap-subgroup{display:flex;flex-direction:column;gap:6px;align-items:flex-start;width:100%}
#heatmapGraphPanel .config-panel .heatmap-subgroup-options{margin-left:24px;gap:12px}
#heatmapGraphPanel .config-panel .heatmap-subgroup-title{font-size:12px;text-transform:uppercase;letter-spacing:0;color:#555}
#heatmapGraphPanel .config-panel .heatmap-clustering-panel .heatmap-cluster-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%}
#heatmapGraphPanel .config-panel .heatmap-clustering-panel .heatmap-cluster-row>label{flex:0 0 auto}
#heatmapGraphPanel .config-panel .heatmap-clustering-panel .heatmap-cluster-row select{flex:0 1 auto}
#heatmapGraphPanel .config-panel .heatmap-clustering-panel .heatmap-control-block{flex-direction:row;align-items:center;gap:8px}
#heatmapGraphPanel .config-panel .heatmap-clustering-panel .heatmap-control-block>span{white-space:nowrap}
#heatmapGraphPanel .heatmap-layout-colors-row{display:flex;flex-direction:column;gap:12px;align-items:stretch;flex-wrap:nowrap;width:auto;max-width:100%}
#heatmapGraphPanel .heatmap-layout-colors-row fieldset{flex:0 0 auto;min-width:0;width:auto;max-width:100%}
#heatmapGraphPanel .heatmap-layout-colors-row .heatmap-layout-panel,
#heatmapGraphPanel .heatmap-layout-colors-row .heatmap-colors-panel{flex:0 0 auto;min-width:0;width:auto;max-width:100%}
#heatmapGraphPanel .heatmap-layout-colors-row .heatmap-color-pickers{height:auto}
#heatmapGraphPanel .config-panel .heatmap-metric-select{min-width:180px}
.color-picker input[type=color]{flex:0 0 var(--color-swatch-size,20px)}
details{background:#fff;border:1px solid #ddd;border-radius:var(--ui-rounded-radius);padding:8px}
.shared-notes{width:auto;max-width:100%;min-width:0;align-self:stretch;box-sizing:border-box;contain:inline-size;margin-top:6px;border:1px solid #ddd;background:#fff;padding:0}
.shared-notes__summary{cursor:pointer;list-style:none;padding:8px 10px;font-size:12px;font-weight:600;color:inherit}
.shared-notes__summary::-webkit-details-marker{display:none}
.shared-notes__summary::before{content:"\25B8";display:inline-block;margin-right:6px;color:inherit;transition:transform .15s ease}
.shared-notes[open] .shared-notes__summary::before{transform:rotate(90deg)}
.shared-notes__body{padding:0 10px 10px}
.shared-notes__textarea{width:100%;min-height:84px;resize:vertical;box-sizing:border-box;font-size:10pt}
.shared-notes__editor{width:100%;min-height:84px;border:1px solid #ddd;background:#fff;padding:8px;box-sizing:border-box;font-size:10pt;line-height:1.45;white-space:pre-wrap;word-break:break-word;outline:none}
.shared-notes__editor:focus{border-color:#ddd;box-shadow:none}
.shared-notes__editor,.shared-notes__editor:focus,.shared-notes__editor:focus-visible{filter:none !important;box-shadow:none !important;outline:none !important}
.shared-notes__editor:empty::before{content:attr(data-placeholder);color:#8a93a5;pointer-events:none}
@media (max-width:1000px){.wrap{grid-template-columns:1fr}#stage{height:280px}}
#tooltip{position:absolute;background:var(--ui-menu-bg);border:var(--ui-menu-border);border-radius:0;padding:8px;display:none;column-width:160px;column-gap:12px;z-index:1000;overflow:visible;pointer-events:none;box-shadow:var(--ui-menu-shadow)}
.analysis-controls{flex-wrap:nowrap}
.analysis-controls label{display:flex;align-items:center;gap:4px}
.analysis-controls select{width:auto}
.gene-item{display:flex;align-items:center;gap:2px;margin-right:0;margin-bottom:4px;font-size:13px}
.gene-link{cursor:pointer;margin-left:0;font-size:13px}
.analysis-options{font-size:13px}
.analysis-options label{font-size:13px}
.analysis-options strong{font-size:13px}
#vennPage .string-options-grid{display:grid;grid-template-columns:minmax(430px,1fr) minmax(420px,auto);align-items:start;gap:18px}
#vennPage .string-options-main{min-width:0}
#vennPage .string-overlay-panel{display:flex;flex-direction:column;align-items:flex-start;gap:6px;border-left:1px solid #ddd;padding-left:18px;white-space:nowrap}
#vennPage .string-overlay-header,#vennPage .string-overlay-row{display:flex;align-items:center;justify-content:flex-start;gap:8px}
#vennPage .string-overlay-header{width:100%;gap:14px}
#vennPage .string-overlay-panel label{display:inline-flex;align-items:center;gap:4px}
#vennPage .string-overlay-label{font-weight:700}
#vennPage .string-overlay-file-button{padding:2px 8px;font-size:13px;line-height:1.25}
#vennPage .string-overlay-file-name{color:#444;max-width:360px;overflow:visible;text-overflow:clip;white-space:nowrap}
#vennPage .string-overlay-file-input{display:none}
#vennPage .string-overlay-panel input[type=number]{width:62px;min-width:62px;box-sizing:border-box}
#vennPage .string-overlay-panel select{width:auto;max-width:138px}
#vennPage .string-overlay-panel input[type=color]{width:24px;height:22px;padding:0}
#vennPage .string-overlay-status{display:block;font-size:12px;color:#555;min-height:15px;white-space:normal}
@media (max-width:1180px){#vennPage .string-options-grid{grid-template-columns:1fr}#vennPage .string-overlay-panel{border-left:0;border-top:1px solid #ddd;padding:6px 0 0}#vennPage .string-overlay-file-name{max-width:260px}}
#analysisResults{font-size:13px}
#analysisResults canvas{font-size:initial}
#vennPage #analysisResults{background:#ffffff;border:1px solid #ddd;border-radius:0;padding:8px;margin-top:6px;max-height:none;overflow:visible}
#vennPage .analysis-results-tabs{display:flex;align-items:flex-end;gap:0;margin:0 0 12px;padding:0;border-bottom:1px solid #8ea3c4}
#vennPage .analysis-results-tabs[hidden]{display:none !important}
#vennPage .analysis-results-tab{appearance:none;position:relative;margin:0 0 -1px;border:1px solid #b8c6da;border-bottom-color:#8ea3c4;background:linear-gradient(180deg,#f8fbff 0%,#e6edf7 100%);color:#314155;padding:7px 14px 6px;border-radius:6px 6px 0 0;font:inherit;font-weight:600;line-height:1.2;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;z-index:1}
#vennPage .analysis-results-tab + .analysis-results-tab{margin-left:-1px}
#vennPage .analysis-results-tab:hover{background:linear-gradient(180deg,#ffffff 0%,#edf3fb 100%);color:#16263d}
#vennPage .analysis-results-tab:focus-visible{outline:2px solid #2563eb;outline-offset:1px;z-index:3}
#vennPage .analysis-results-tab.is-active{background:#ffffff;border-color:#8ea3c4;border-bottom-color:#ffffff;color:#10213d;z-index:2}
#vennPage .analysis-results-tab.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:#ffffff;pointer-events:none}
#vennPage .analysis-results-panel{display:none;min-width:0}
#vennPage .analysis-results-panel.is-active{display:block}
#vennPage{min-width:100%;width:100%;max-width:none;display:flex;flex-direction:column;align-items:stretch}
#vennPage .workspace-page__topbar{width:100%;max-width:none;box-sizing:border-box}
#vennPage .wrap{--venn-input-default:clamp(320px,33%,420px);display:flex;align-items:stretch;gap:0;flex:1 1 auto;width:100%;max-width:100%;min-width:0;padding-left:10px}
#vennPage #vennInputPanel{flex:0 0 var(--venn-input-default);min-width:150px;display:flex;flex-direction:column;min-height:0}
#vennPage .venn-table-panel{display:flex;flex-direction:column;flex:1 1 auto;min-height:240px}
#vennPage .venn-hot-wrapper{width:100%;height:100%;min-height:240px;overflow:auto;flex:1 1 auto}
#vennPage .venn-hot{width:100%;height:100%}
#vennPage #vennGraphPanel{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;max-width:none}
#vennPage .venn-inline-controls{align-items:center;gap:12px;flex-wrap:wrap}
#vennPage .diagram-area .svgbox{flex:0 0 auto;min-width:0}
#vennPage .diagram-area .config-panel{flex:0 0 auto}
#vennPage .panel{display:flex;flex-direction:column;min-width:0}
#vennPage #analysisResults,#vennPage .analysis-results-panel,#vennPage #stringSection,#vennPage #stringResults,#vennPage #stringNetwork{min-width:0;max-width:100%}
#vennPage #stringNetwork{width:100%;overflow:visible}
#vennPage #stringNetwork svg{width:100%;max-width:100%;height:auto;display:block;position:relative;overflow:visible}
#vennPage .venn-inline-checkbox{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;font-size:var(--graph-control-font-size,12px);font-weight:400;color:#111b2c;letter-spacing:0;text-transform:none;white-space:nowrap;cursor:pointer}
#vennPage .venn-inline-checkbox input{margin:0;width:16px;height:16px;accent-color:#0b63d1}
#vennPage .upset-only{display:none}
#vennPage[data-plot="upset"] .upset-only{display:block}
#vennPage .upset-controls-layout{display:flex;flex-direction:column;gap:8px}
#vennPage .upset-controls-row .control{margin-top:0;min-width:0}
#vennPage .upset-controls-row--main{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:8px 10px;align-items:end}
#vennPage .upset-controls-row--main .control{display:flex;align-items:center;gap:8px}
#vennPage .upset-controls-row--main .control:first-child{min-width:0}
#vennPage .upset-controls-row--main .control:first-child select{flex:1 1 auto;min-width:0;width:100%}
#vennPage .upset-controls-row--main .control:last-child input[type=number]{width:56px;min-width:56px;max-width:56px}
#vennPage .upset-controls-row--size{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:8px 10px;align-items:center}
#vennPage .upset-dot-size-control{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0}
#vennPage .upset-dot-size-control label{margin:0}
#vennPage .upset-dot-size-control input[type=range]{min-width:0;max-width:none;width:100%}
#vennPage .upset-dot-size-control output{min-width:26px;text-align:right}
#vennPage .upset-controls-row--toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px;align-items:stretch}
#vennPage .upset-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid #b4bccb;background:#f9fafc;font-size:11px;font-weight:400;color:#1e2633;letter-spacing:0;text-transform:none;cursor:pointer;white-space:nowrap}
#vennPage .upset-controls-row--toggles .upset-toggle{width:100%;min-width:0;box-sizing:border-box;white-space:normal;line-height:1.2}
#vennPage .upset-toggle input{margin:0}
#vennPage .upset-color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;align-items:start;margin-top:2px}
#vennPage .upset-color-column{display:grid;gap:6px;min-width:0}
#vennPage .upset-color-grid .upset-color{display:grid;grid-template-columns:minmax(0,112px) auto;align-items:center;justify-content:start;column-gap:8px;width:100%;max-width:100%;font-size:11px;color:#111b2c}
#vennPage .upset-color-grid .upset-color span{white-space:nowrap}
#vennPage .upset-color-grid .upset-color input[type=color]{justify-self:start}
@media (max-width:430px){
  #vennPage .upset-controls-row--main,
  #vennPage .upset-controls-row--size,
  #vennPage .upset-controls-row--toggles,
  #vennPage .upset-color-grid{grid-template-columns:minmax(0,1fr)}
}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media (max-width:680px){#vennPage .wrap{flex-direction:column}#vennPage #vennInputPanel,#vennPage #vennGraphPanel{flex:1 1 auto;max-width:none}}
#boxPage .wrap{display:flex;align-items:stretch;gap:0}
#boxPage #boxTablePanel{flex:1 1 33%;min-width:150px}
#boxPage #boxTablePanel,#pcaPage #pcaTablePanel,#linePage #lineTablePanel,#scatterPage #scatterTablePanel{overflow-y:auto;overflow-x:hidden}
#boxPage #boxGraphPanel{flex:2 1 66%;min-width:0;max-width:none;display:flex;flex-direction:column;align-items:stretch}
#boxPage .diagram-area .svgbox{flex:0 0 auto}
#boxPage .diagram-area .config-panel{flex:0 0 auto}
#boxWhiskerRuleCtl .whisker-custom-input{display:flex;align-items:center;gap:6px;font-size:11px;color:#111b29;white-space:nowrap}
#boxWhiskerRuleCtl .whisker-custom-input input[type=number]{width:60px;max-width:64px;flex:0 0 auto}
#boxPage .box-graph-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}
#boxPage .box-graph-row>.control{margin-top:0;flex:0 0 auto}
#boxPage #boxGraphWhiskerRow,#boxPage #boxGraphSignificanceRow{margin-top:6px}
#boxPage #boxGraphWhiskerRow #boxShowCapsCtl{margin-top:0}
#boxPage #boxGraphWhiskerRow #boxShowCapsLabel{min-height:26px}
#boxPage #boxSignificanceControls{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
#boxPage #boxStatsFigureControls #boxSignificanceControls{margin-top:0}
#boxPage #boxSignificanceControls>label{display:inline-flex;align-items:center;gap:6px;min-height:26px;margin:0}
#boxPage #boxSignificanceControls>#boxSignificanceLabelCtl{display:none}
#boxPage #boxGraphSignificanceRow>#boxSignificanceControls{margin-top:0}
#boxPage .panel{display:flex;flex-direction:column;min-width:0}
#boxPage #boxPlot{width:100%;height:auto;min-width:0;min-height:0;resize:none;overflow:hidden;flex:1 1 auto}
#boxPage .table-format-controls,#pcaPage .table-format-controls,#linePage .table-format-controls,#scatterPage .table-format-controls{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:nowrap}
#boxPage .table-format-controls label,#pcaPage .table-format-controls label,#linePage .table-format-controls label,#scatterPage .table-format-controls label{white-space:nowrap}
#boxPage .table-format-controls select,#pcaPage .table-format-controls select,#linePage .table-format-controls select,#scatterPage .table-format-controls select{width:fit-content;min-width:0;max-width:100%;flex:0 0 auto}
#boxPage .grouped-controls,#pcaPage .grouped-controls,#linePage .grouped-controls,#scatterPage .grouped-controls{display:flex;flex-direction:column;gap:8px;margin-bottom:8px;background:#f8f9fa;border:1px solid #d0d5dd;border-radius:var(--ui-rounded-radius);padding:8px;font-family:var(--ui-font-family);font-size:12px;color:#1c2534}
#boxPage .grouped-controls.grouped-controls--inline,#pcaPage .grouped-controls.grouped-controls--inline,#linePage .grouped-controls.grouped-controls--inline,#scatterPage .grouped-controls.grouped-controls--inline{display:inline-flex;flex-direction:row;align-items:center;gap:8px;margin:0;padding:0;border:none;background:transparent;border-radius:0}
#boxPage .grouped-config-row,#pcaPage .grouped-config-row,#linePage .grouped-config-row,#scatterPage .grouped-config-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:#1c2534}
#boxPage .grouped-config-row label,#pcaPage .grouped-config-row label,#linePage .grouped-config-row label,#scatterPage .grouped-config-row label{font-weight:600;font-size:11px;letter-spacing:0;color:#111b2c;text-transform:none}
#boxPage .grouped-config-row label.grouped-config-inline,#pcaPage .grouped-config-row label.grouped-config-inline,#linePage .grouped-config-row label.grouped-config-inline,#scatterPage .grouped-config-row label.grouped-config-inline{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0}
#boxPage .grouped-controls.grouped-controls--inline .grouped-config-inline,#pcaPage .grouped-controls.grouped-controls--inline .grouped-config-inline,#linePage .grouped-controls.grouped-controls--inline .grouped-config-inline,#scatterPage .grouped-controls.grouped-controls--inline .grouped-config-inline{flex-wrap:nowrap}
#boxPage .grouped-config-row label.grouped-config-inline span,#pcaPage .grouped-config-row label.grouped-config-inline span,#linePage .grouped-config-row label.grouped-config-inline span,#scatterPage .grouped-config-row label.grouped-config-inline span{white-space:nowrap}
#boxPage .grouped-config-row label.grouped-config-inline input[type=number],#pcaPage .grouped-config-row label.grouped-config-inline input[type=number],#linePage .grouped-config-row label.grouped-config-inline input[type=number],#scatterPage .grouped-config-row label.grouped-config-inline input[type=number]{flex:0 0 auto;min-width:56px;width:72px}
#boxPage .grouped-controls.grouped-controls--inline .grouped-config-inline input[type=number],#pcaPage .grouped-controls.grouped-controls--inline .grouped-config-inline input[type=number],#linePage .grouped-controls.grouped-controls--inline .grouped-config-inline input[type=number],#scatterPage .grouped-controls.grouped-controls--inline .grouped-config-inline input[type=number]{min-width:36px;width:44px;border-radius:0}
#boxPage .grouped-config-row label.grouped-config-inline input[type=checkbox],#pcaPage .grouped-config-row label.grouped-config-inline input[type=checkbox],#linePage .grouped-config-row label.grouped-config-inline input[type=checkbox],#scatterPage .grouped-config-row label.grouped-config-inline input[type=checkbox]{margin:0;accent-color:#0b63d1}
#boxPage .grouped-list,#pcaPage .grouped-list,#linePage .grouped-list,#scatterPage .grouped-list{display:flex;flex-direction:column;gap:6px}
#boxPage .grouped-row,#pcaPage .grouped-row,#linePage .grouped-row,#scatterPage .grouped-row{display:flex;align-items:center;column-gap:8px;row-gap:4px;flex-wrap:wrap;font-size:12px;color:#1c2534}
#boxPage .grouped-row label,#pcaPage .grouped-row label,#linePage .grouped-row label,#scatterPage .grouped-row label{display:inline-flex;align-items:center;font-weight:600;font-size:11px;letter-spacing:0;color:#111b2c;text-transform:none;min-width:0;white-space:nowrap}
#boxPage .grouped-row input[type="text"],#pcaPage .grouped-row input[type="text"],#linePage .grouped-row input[type="text"],#scatterPage .grouped-row input[type="text"]{flex:0 1 150px;min-width:120px;max-width:180px;height:26px;padding:2px 8px;border:1px solid #8d97a6;border-radius:4px;background:#fdfefe;color:#111b29;font-size:12px;line-height:20px;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.7)}
#boxPage .grouped-row input[type="text"]:focus,#pcaPage .grouped-row input[type="text"]:focus,#linePage .grouped-row input[type="text"]:focus,#scatterPage .grouped-row input[type="text"]:focus{outline:var(--ui-focus-outline);outline-offset:var(--ui-focus-offset)}
#boxPage .grouped-row button.grouped-remove,#pcaPage .grouped-row button.grouped-remove,#linePage .grouped-row button.grouped-remove,#scatterPage .grouped-row button.grouped-remove{background:#fff;border:1px solid #8d97a6;color:#384255;border-radius:4px;cursor:pointer;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1;padding:0}
#boxPage .grouped-row button.grouped-remove:hover,#pcaPage .grouped-row button.grouped-remove:hover,#linePage .grouped-row button.grouped-remove:hover,#scatterPage .grouped-row button.grouped-remove:hover{background:#edf2ff;border-color:#6c7bb1}
#boxPage .grouped-actions,#pcaPage .grouped-actions,#linePage .grouped-actions,#scatterPage .grouped-actions{display:flex;gap:8px;flex-wrap:wrap}
#pcaPage .grouped-row input[type="color"],#linePage .grouped-row input[type="color"]{width:40px;height:26px;padding:0;border:1px solid #8d97a6;border-radius:4px;background:#fff;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.05)}
#pcaPage .grouped-row select,#linePage .grouped-row select{min-width:110px}
@media (max-width:1000px){#boxPage .wrap{grid-template-columns:1fr}}
#scatterPage .wrap{display:flex;align-items:stretch;gap:0}
#scatterPage #scatterTablePanel{flex:1 1 33%;min-width:150px}
#scatterPage #scatterGraphPanel{flex:2 1 66%;min-width:0;max-width:none;display:flex;flex-direction:column;align-items:stretch}
#scatterPage .diagram-area .svgbox{flex:0 0 auto}
#scatterPage .diagram-area .config-panel{flex:0 0 auto}
#boxPage .diagram-area .box-plot-stack,#scatterPage .diagram-area .scatter-plot-stack,#surfacePage .diagram-area .surface-plot-stack,#rocPage .diagram-area .roc-plot-stack,#survivalPage .diagram-area .survival-plot-stack,#histPage .diagram-area .hist-plot-stack{flex:0 0 auto;min-width:0;display:flex;flex-direction:column}
#boxPage .diagram-area .box-plot-stack{flex:0 0 auto;min-width:0}
#scatterPage .diagram-area .scatter-plot-stack{flex:0 0 auto;min-width:0}
#linePage .diagram-area .line-plot-stack{flex:0 0 auto;min-width:0}
#rocPage .diagram-area .roc-plot-stack{flex:0 0 auto;min-width:0}
#survivalPage .diagram-area .survival-plot-stack{flex:0 0 auto;min-width:0}
#histPage .diagram-area .hist-plot-stack{flex:0 0 auto;min-width:0}
#surfacePage .diagram-area .surface-plot-stack{flex:0 0 auto;min-width:0}
#heatmapPage .diagram-area .heatmap-plot-stack{flex:0 0 auto;min-width:0}
#pcaPage .diagram-area .pca-plot-stack{flex:0 0 auto;min-width:0}
#boxPage .box-plot-stack .svgbox,#scatterPage .scatter-plot-stack .svgbox,#surfacePage .surface-plot-stack .svgbox,#rocPage .roc-plot-stack .svgbox,#survivalPage .survival-plot-stack .svgbox,#histPage .hist-plot-stack .svgbox,#linePage .line-plot-stack .svgbox{flex:0 0 auto;min-width:0}
.config-panel input[type=number],
.config-panel select,
.config-panel input[type=text],
.config-panel__fieldset input[type=number],
.config-panel__fieldset select,
.config-panel__fieldset input[type=text],
.config-panel fieldset input[type=number],
.config-panel fieldset select,
.config-panel fieldset input[type=text]{height:26px;padding:2px 8px;border:1px solid #8d97a6;border-radius:0;background:#fdfefe;color:#111b29;font-size:12px;line-height:20px;min-width:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.7)}
.workspace-page select{
    height:26px;
    padding:2px 24px 2px 8px;
    border:1px solid #8d97a6;
    border-radius:0;
    background:#fdfefe;
    color:#111b29;
    font-size:12px;
    line-height:20px;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,0.7);
    appearance:none;
    background-image:var(--config-panel-select-icon,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23131c23' d='M0 0h10L5 6z'/%3E%3C/svg%3E"));
    background-repeat:no-repeat;
    background-position:right 8px center;
    padding-right:22px;
    width:auto;
    min-width:fit-content;
    max-width:100%;
    flex:0 1 auto;
}
.config-panel input[type=number],
.config-panel__fieldset input[type=number],
.config-panel fieldset input[type=number]{width:var(--config-panel-number-width,96px);max-width:var(--config-panel-number-width,96px);flex:0 0 var(--config-panel-number-width,96px);padding-right:0;padding-left:8px}
#heatmapPage .heatmap-filter-row input[type=number]{width:54px;max-width:54px;flex:0 0 54px;height:24px;padding:1px 4px 1px 6px;font-size:11px;line-height:18px}
#heatmapPage .heatmap-filter-row .heatmap-count-field{width:38px;max-width:38px;flex:0 0 38px}
.config-panel select,
.config-panel__fieldset select,
.config-panel fieldset select{appearance:none;background-image:var(--config-panel-select-icon,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23131c23' d='M0 0h10L5 6z'/%3E%3C/svg%3E"));background-repeat:no-repeat;background-position:right 8px center;padding-right:22px;width:auto;min-width:fit-content;max-width:100%;flex:0 1 auto}
.config-panel__item--select-auto select{min-width:fit-content;width:auto}
.config-panel__warning{margin-top:8px;padding:6px 8px;border-radius:4px;border:1px solid #f3c1c1;background:#fff4f4;color:#7a1f1f;font-size:11px;line-height:1.4}
.config-panel input[type=color],
.config-panel__fieldset input[type=color],
.config-panel fieldset input[type=color]{height:26px;width:46px;border:1px solid #8d97a6;border-radius:0;padding:0;background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.05)}
.config-panel input[type=range],
.config-panel__fieldset input[type=range],
.config-panel fieldset input[type=range]{flex:1 1 auto;min-width:var(--config-panel-range-min-width,120px);border:none;outline:none}
.config-panel output,
.config-panel__fieldset output,
.config-panel fieldset output{width:auto}
.config-panel input:not([type=range]):focus,
.config-panel select:focus,
.config-panel__fieldset input:not([type=range]):focus,
.config-panel__fieldset select:focus,
.config-panel fieldset input:not([type=range]):focus,
.config-panel fieldset select:focus{outline:var(--ui-focus-outline);outline-offset:var(--ui-focus-offset)}
.config-panel input[type=range]:focus,
.config-panel__fieldset input[type=range]:focus,
.config-panel fieldset input[type=range]:focus{outline:none;box-shadow:none}
#scatterStats .config-panel__fieldset{font-family:"Segoe UI",Tahoma,Geneva,Verdana,sans-serif;color:#1d2532}
#scatterStats .config-panel__line{gap:8px 12px;margin-top:6px}
#scatterStats .config-panel__line:first-of-type{margin-top:0}
#scatterStats .config-panel__line--split{column-gap:16px;row-gap:10px}
#scatterPage #scatterStatsAssociationRow{
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    gap:12px;
}
#scatterPage #scatterStatsAssociationRow .config-panel__checkbox{
    margin:0;
}
#linePage #lineGraphRegressionOptionsGrid{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    margin-top:6px;
    width:max-content;
    max-width:100%;
}
#linePage #lineGraphRegressionOptionsGrid .line-graph-regression-options-row{
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    gap:14px;
    margin-top:0;
}
#linePage #lineGraphRegressionOptionsGrid .idx-inline-023{
    margin:0;
}
#linePage #lineGraphModeViewRow{
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    gap:14px;
    margin-top:0;
    width:max-content;
    max-width:100%;
}
#linePage #lineGraphModeViewRow .idx-inline-023{
    margin:0;
}
#linePage #lineStatsPrimaryRow{
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    gap:12px;
}
#linePage #lineStatsPrimaryRow .idx-inline-023{
    margin:0;
}
#scatterPage #scatterGraphRegressionOptionsGrid{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    margin-top:6px;
    width:max-content;
    max-width:100%;
}
#scatterPage #scatterGraphRegressionOptionsGrid .scatter-graph-regression-options-row{
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    gap:14px;
    margin-top:0;
}
#scatterPage #scatterGraphRegressionOptionsGrid .config-panel__checkbox{
    margin:0;
}
#scatterPage .panel{display:flex;flex-direction:column;min-width:0}
#scatterPage #scatterPlot{width:100%;height:auto;min-width:0;min-height:0;resize:none;overflow:hidden;flex:1 1 auto}
@media (max-width:1000px){#scatterPage .wrap{grid-template-columns:1fr}}
#pcaPage{--pca-input-default:clamp(320px,33%,420px)}
#pcaPage .wrap{display:flex;align-items:stretch;gap:0;min-width:0}
#pcaPage #pcaTablePanel{flex:0 1 var(--pca-input-default);min-width:150px;max-width:65%}
#pcaPage #pcaHotWrapper{min-width:0;max-width:100%}
#pcaPage #pcaGraphPanel{flex:1 1 0;min-width:0;max-width:none;display:flex;flex-direction:column;align-items:stretch}
#pcaPage .diagram-area .svgbox{flex:0 0 auto}
#pcaPage .diagram-area .pca-plot-stack{flex:0 0 auto;min-width:0;display:flex;flex-direction:column}
#pcaPage .pca-plot-stack .svgbox{flex:0 0 auto}
#pcaPage .diagram-area .config-panel{flex:0 1 360px;max-width:360px}
#pcaPage .panel{display:flex;flex-direction:column;min-width:0}
#pcaPage #pcaPlot{width:100%;height:auto;min-width:0;min-height:0;resize:none;overflow:hidden;flex:1 1 auto}
#pcaPage .svgbox{background:#ffffff}
#pcaPage #pcaRenderRow{display:flex;align-items:flex-start;gap:10px;margin-top:0;width:100%;flex-wrap:wrap}
#pcaPage .pca-auto-draw-notice{margin:0;font-size:12px;color:#444;line-height:1.35;flex:1 1 260px;min-width:240px}
#pcaPage .pca-method-advanced{margin:2px 0 0;border:0;background:transparent}
#pcaPage .pca-method-advanced__summary{cursor:pointer;list-style:none;padding:0;font-size:12px;font-weight:600;color:#1d2735}
#pcaPage .pca-method-advanced,
#pcaPage .pca-method-advanced__summary{margin:0}
#pcaPage .pca-method-advanced__summary::-webkit-details-marker{display:none}
#pcaPage .pca-method-advanced__summary::before{content:"\25B8";display:inline-block;margin-right:6px;transition:transform .15s ease}
#pcaPage .pca-method-advanced[open] .pca-method-advanced__summary::before{transform:rotate(90deg)}
#pcaPage .pca-method-advanced__body{padding:2px 0 0;display:flex;flex-direction:column;gap:8px}
#pcaPage .pca-method-advanced__body .stats-help-text{margin:0}
#pcaPage .config-panel fieldset[data-graph-selection-fieldset="1"]{padding-bottom:6px}
#surfacePage .wrap{display:flex;align-items:stretch;gap:0}
#surfacePage .panel{display:flex;flex-direction:column;min-width:0}
#surfacePage #surfaceTablePanel{flex:1 1 33%;min-width:180px}
#surfacePage #surfaceGraphPanel{flex:2 1 67%;min-width:0;max-width:none;display:flex;flex-direction:column;gap:12px;align-items:stretch}
#surfacePage #surfaceHotWrapper{flex:1 1 auto;min-height:0}
#surfacePage .diagram-area .config-panel{flex:0 1 320px;min-width:220px}
#surfacePage .surface-message,#vennPage .venn-message{position:absolute;top:40px;left:14px;right:14px;bottom:auto;display:block;text-align:left;font-size:inherit;color:inherit;background:transparent;border:0;border-radius:0;padding:0;pointer-events:none;z-index:5}
#surfacePage .surface-message[hidden],#vennPage .venn-message[hidden]{display:none}
#surfacePage .surface-stats .stats-summary{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#3b4758}
#surfacePage .surface-stats .stats-summary strong{font-weight:600;color:#1f2a3d}
#surfacePage .surface-legend{pointer-events:auto}
#surfacePage .stats-summary span{display:flex;justify-content:space-between}
#surfacePage .stats-summary span strong{font-weight:600}
@media (max-width:680px){#surfacePage .wrap{flex-direction:column}#surfacePage .panel-resizer{display:none}#surfacePage .diagram-area{flex-direction:column}#surfacePage .diagram-area .config-panel{flex:1 1 auto;max-width:none}}
#pcaPage .stats-panel{margin-top:8px;display:flex;flex-direction:column;gap:12px}
#pcaPage .stats-summary{font-size:13px;color:#3b4758;line-height:1.5;display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:6px 16px}
#pcaPage .stats-summary .stats-table-lead,
#pcaPage .stats-summary .stats-table-message{min-width:0}
@media (max-width:1100px){#pcaPage .stats-summary{grid-template-columns:1fr}}
#pcaPage .stats-table-message{font-size:13px;color:#6b7280}
#pcaPage .stats-toggle-row{gap:12px;margin-bottom:8px}
#pcaPage .scree-variance-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;align-items:stretch}
#pcaPage .scree-card{border:1.5px solid #c6cad1;border-radius:0;background:#ffffff;padding:0;display:flex;flex-direction:column;gap:0;flex:1 1 320px;overflow:hidden}
#pcaPage .scree-card__title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:600;color:#1d2735;font-size:14px;padding:12px 16px;border-bottom:1px solid #d7e0ef;background:#f7f9fc}
#pcaPage .scree-card__toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:400;color:#1d2735;white-space:nowrap}
#pcaPage #pcaScreePlot{padding:12px 16px 0}
#pcaPage #pcaScreeExportControls{padding:10px 16px}
#pcaPage .scree-card svg{width:100%;height:auto;max-height:320px}
#pcaPage .scree-variance-row > #pcaScreeContainer,
#pcaPage .scree-variance-row > #pcaBiplotCard.pca-scree-row-biplot{flex:1 1 320px;min-width:320px}
#pcaPage .scree-variance-row > #pcaBiplotCard.pca-scree-row-biplot{margin-top:0;border-radius:0}
#pcaPage .variance-card{border:1.5px solid #c6cad1;border-radius:var(--ui-rounded-radius);background:#ffffff;padding:0;display:flex;flex-direction:column;gap:0;flex:1 1 260px;min-width:240px;overflow:hidden}
#pcaPage .variance-card__title{font-weight:600;color:#1d2735;font-size:14px;padding:12px 16px;border-bottom:1px solid #d7e0ef;background:#f7f9fc}
#pcaPage .variance-card__table{width:100%;border-collapse:collapse;color:#1d2735;font-size:13px}
#pcaPage .variance-card__table thead tr{background:#eef3fa}
#pcaPage .variance-card__table th,#pcaPage .variance-card__table td{padding:10px 16px;border-bottom:1px solid #d7e0ef}
#pcaPage .variance-card__table th{font-size:12px;letter-spacing:0;text-transform:uppercase;color:#42526b;text-align:left;font-weight:700}
#pcaPage .variance-card__table td{font-weight:500;text-align:left}
#pcaPage .variance-card__table td:nth-child(2){text-align:left;font-variant-numeric:tabular-nums}
#pcaPage .variance-card__table tbody tr:nth-child(even){background:#f9fbff}
#pcaPage .variance-card__table tbody tr:last-child td{border-bottom:0}
#pcaPage .variance-card__empty{padding:12px 16px;color:#5d6a85;font-style:italic;font-size:13px}
#pcaPage .variance-card[data-shared-stats-table='1']{border:none;background:transparent;border-radius:0;padding:0;overflow:visible}
#pcaPage .variance-card[data-shared-stats-table='1'] .variance-card__title{display:none}
#pcaPage .variance-card[data-shared-stats-table='1'] .stats-table-card{margin-top:0}
#pcaPage .loadings-card{border:1.5px solid #c6cad1;border-radius:var(--ui-rounded-radius);background:#ffffff;padding:0;display:flex;flex-direction:column;gap:0;margin-top:16px;overflow:hidden}
#pcaPage .loadings-card__title{font-weight:600;color:#1d2735;font-size:14px;padding:12px 16px;border-bottom:1px solid #d7e0ef;background:#f7f9fc}
#pcaPage .loadings-card__title.pca-biplot-title{display:flex;align-items:center;justify-content:space-between;gap:10px}
#pcaPage .pca-biplot-title__label{font-weight:600}
#pcaPage .pca-biplot-title__toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:400;color:#1d2735;white-space:nowrap}
#pcaPage .loadings-card__actions{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid #d7e0ef;background:#f7f9fc}
#pcaPage .loadings-card__range{display:flex;align-items:center;gap:8px;font-size:12px;color:#1d2735;flex:1 1 auto}
#pcaPage .loadings-card__range label{font-weight:600;letter-spacing:0}
#pcaPage .loadings-card__range input[type=range]{flex:1 1 140px;min-width:140px}
#pcaPage .loadings-card__range output{min-width:36px;text-align:right;font-variant-numeric:tabular-nums;color:#0b1420;font-weight:600}
#pcaPage .loadings-card__table{overflow:auto;padding:0 16px 12px 16px;max-height:260px}
#pcaPage .loadings-card__table table{width:100%;border-collapse:collapse;min-width:100%}
#pcaPage .loadings-card[data-shared-stats-table='1']{border:none;background:transparent;border-radius:0;padding:0;overflow:visible}
#pcaPage .loadings-card[data-shared-stats-table='1'] .loadings-card__title{display:none}
#pcaPage .loadings-card[data-shared-stats-table='1'] .loadings-card__table{padding:0;max-height:none;overflow:visible}
#pcaPage .loadings-card[data-shared-stats-table='1'] .stats-table-card{margin-top:0}
#pcaPage .loadings-card[data-shared-stats-table='1'] .loadings-card__actions{padding:10px 20px;border-top:1px solid #d7e0ef;border-bottom:1px solid #d7e0ef;background:#f7f9fc}
#pcaPage .loadings-card[data-shared-stats-table='1'] .loadings-card__range{font-size:13px}
#pcaPage #pcaBiplotCard .loadings-card__table{max-height:none;overflow:visible}
#pcaPage #pcaBiplotCard #pcaBiplotExportControls{padding:10px 16px}
#pcaPage #pcaScreeContainer,
#pcaPage #pcaBiplotCard{overflow:visible}
#pcaPage .eigen-table-container{border:1.5px solid #c6cad1;border-radius:var(--ui-rounded-radius);background:#ffffff;display:flex;flex-direction:column;gap:0}
#pcaPage .eigen-table-wrapper{max-height:260px;overflow:auto;padding:0 16px 16px 16px}
#pcaPage .eigen-table-wrapper .stats-table{min-width:100%}
#pcaPage .eigen-table-container[data-shared-stats-table='1']{border:none;background:transparent;border-radius:0;overflow:visible}
#pcaPage .eigen-table-container[data-shared-stats-table='1'] > .stats-table-actions{display:none}
#pcaPage .eigen-table-container[data-shared-stats-table='1'] .eigen-table-wrapper{padding:0;max-height:none;overflow:visible}
#pcaPage .eigen-table-container[data-shared-stats-table='1'] .stats-table-card{margin-top:0}
#pcaPage .eigen-table-container > .stats-table-actions,
#pcaPage .loadings-card__actions{display:flex;align-items:center;justify-content:flex-end;padding:10px 16px}
@media (max-width:1000px){#pcaPage .wrap{grid-template-columns:1fr}}
#linePage .wrap{display:flex;align-items:stretch;gap:0}
#linePage #lineTablePanel{flex:1 1 33%;min-width:150px}
#linePage #lineGraphPanel{flex:2 1 66%;min-width:0;max-width:none;display:flex;flex-direction:column;align-items:stretch}
#linePage .diagram-area .svgbox{flex:0 0 auto}
#linePage .diagram-area .config-panel{flex:0 0 auto}
#linePage .panel{display:flex;flex-direction:column;min-width:0}
#linePage #linePlot{width:100%;height:auto;min-width:0;min-height:0;resize:none;overflow:hidden;flex:1 1 auto}
#linePage .line-plot-stack{flex:0 0 auto;min-width:0;display:flex;flex-direction:column}
#piePage .diagram-area .pie-plot-stack,#vennPage .diagram-area .venn-plot-stack{flex:0 0 auto;min-width:0;display:flex;flex-direction:column}
#piePage .pie-plot-stack .svgbox,#vennPage .venn-plot-stack .svgbox{flex:0 0 auto;min-width:0}
#linePage .line-render-row{display:flex;align-items:flex-start;gap:10px;margin-top:0;width:100%;flex-wrap:wrap}
#linePage .line-auto-draw-notice{margin:0;font-size:12px;color:#444;line-height:1.35;flex:1 1 260px;min-width:240px}
@media (max-width:1000px){#linePage .wrap{grid-template-columns:1fr}}
#heatmapPage .wrap{display:flex;align-items:stretch;gap:0}
#heatmapPage #heatmapTablePanel{flex:1 1 33%;min-width:150px}
#heatmapPage #heatmapGraphPanel{flex:2 1 66%;min-width:0;max-width:none;display:flex;flex-direction:column;align-items:stretch}
#heatmapPage .diagram-area .heatmap-plot-stack{flex:0 0 auto;min-width:0;display:flex;flex-direction:column}
#heatmapPage .heatmap-plot-stack .svgbox{flex:0 0 auto}
#heatmapPage .diagram-area .svgbox{flex:0 0 auto}
#heatmapPage .diagram-area .config-panel{flex:0 0 auto}
#heatmapPage .heatmap-lower-panels{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-start;margin-top:16px}
#heatmapPage .heatmap-lower-left{flex:1 1 420px;display:grid;grid-template-columns:max-content max-content;gap:16px;align-items:stretch;justify-content:start;min-width:280px}
#heatmapPage .heatmap-lower-left>fieldset{min-width:0;width:max-content;max-width:100%;align-self:stretch}
#heatmapPage .heatmap-lower-left>fieldset:nth-of-type(1){grid-column:1}
#heatmapPage .heatmap-lower-left>fieldset:nth-of-type(2){grid-column:2}
#heatmapPage .heatmap-lower-left .heatmap-filter-row{width:auto}
@media (max-width:1200px){
  #heatmapPage .heatmap-lower-left{grid-template-columns:1fr}
  #heatmapPage .heatmap-lower-left>fieldset:nth-of-type(1),
  #heatmapPage .heatmap-lower-left>fieldset:nth-of-type(2){grid-column:auto}
  #heatmapPage .heatmap-lower-left>fieldset{width:auto;max-width:100%}
  #heatmapPage .heatmap-lower-left .heatmap-filter-row{width:100%}
}
#heatmapPage .heatmap-lower-left fieldset{min-height:0}
#heatmapPage .heatmap-lower-panels,
#heatmapPage .heatmap-lower-panels fieldset{font-family:var(--ui-font-family);color:#1d2532;--graph-control-font-size:13px}
#heatmapPage .heatmap-lower-panels fieldset{border:1px solid #b9c2d0;background:#fbfcff;margin:0;padding:10px 12px 12px;border-radius:0;box-shadow:inset 0 1px 0 rgba(255,255,255,0.92)}
#heatmapPage .heatmap-lower-panels legend{padding:0 6px;font-size:11px;font-weight:700;letter-spacing:0;text-transform:none;color:#131c23}
#heatmapPage .heatmap-lower-panels .heatmap-control-list,
#heatmapPage .heatmap-lower-panels .heatmap-control-block,
#heatmapPage .heatmap-lower-panels .heatmap-subgroup{font-size:12px;color:#1c2534}
#heatmapPage .heatmap-lower-panels .heatmap-control-list{display:flex;flex-direction:column;align-items:flex-start;gap:7px;width:100%}
#heatmapPage .heatmap-lower-panels .heatmap-subgroup{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%}
#heatmapPage .heatmap-lower-panels .heatmap-subgroup--inline{flex-direction:row;align-items:center;gap:12px;flex-wrap:wrap}
#heatmapPage .heatmap-lower-panels .heatmap-inline-group,
#heatmapPage .heatmap-lower-panels .heatmap-control-block,
#heatmapPage .heatmap-lower-panels .heatmap-control-block>span{font-size:var(--graph-control-font-size,13px);font-weight:400;letter-spacing:0;text-transform:none;color:#111b2c}
#heatmapPage .heatmap-lower-panels .heatmap-inline-group{display:inline-flex;align-items:center;gap:6px;line-height:1.3;min-height:22px}
#heatmapPage .heatmap-lower-panels .heatmap-inline-group>input[type=checkbox],
#heatmapPage .heatmap-lower-panels .heatmap-inline-group>input[type=radio]{margin:0;width:16px;height:16px;accent-color:#0b63d1}
#heatmapPage .heatmap-lower-panels .heatmap-subgroup-title{font-size:13px;font-weight:700;letter-spacing:0;text-transform:none;color:#111b2c}
#heatmapPage .heatmap-lower-panels .heatmap-cluster-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%}
#heatmapPage .heatmap-lower-panels .heatmap-cluster-row>label{flex:0 0 auto}
#heatmapPage .heatmap-lower-panels .heatmap-cluster-row select{flex:0 1 auto}
#heatmapPage .heatmap-lower-panels .heatmap-subgroup-options{display:flex;align-items:center;gap:12px;margin-left:24px;flex-wrap:wrap}
#heatmapPage .heatmap-lower-panels .heatmap-subgroup--inline .heatmap-subgroup-options{margin-left:0}
#heatmapPage .heatmap-lower-panels select,
#heatmapPage .heatmap-lower-panels input[type=text],
#heatmapPage .heatmap-lower-panels input[type=number]{height:26px;padding:2px 8px;border:1px solid #8d97a6;border-radius:0;background:#fdfefe;color:#111b29;font-size:12px;line-height:20px;min-width:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.7);box-sizing:border-box}
#heatmapPage .heatmap-lower-panels select{appearance:none;background-image:var(--config-panel-select-icon,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23131c23' d='M0 0h10L5 6z'/%3E%3C/svg%3E"));background-repeat:no-repeat;background-position:right 8px center;padding-right:22px;width:auto;min-width:fit-content;max-width:100%;flex:0 1 auto}
#heatmapPage .heatmap-lower-panels select:focus,
#heatmapPage .heatmap-lower-panels input:not([type=range]):focus{outline:var(--ui-focus-outline);outline-offset:var(--ui-focus-offset)}
#heatmapPage .panel{display:flex;flex-direction:column;min-width:0}
#heatmapPage #heatmapSvg{width:100%;height:auto;min-width:0;min-height:0;flex:1 1 auto}
#heatmapPage #heatmapSvg[data-heatmap-scene-mode="normalized-canvas"]{display:block;width:100%;height:100%}
@media (max-width:1000px){#heatmapPage .wrap{grid-template-columns:1fr}}
#surfacePage .surface-render-row,#rocPage .roc-render-row,#histPage .hist-render-row{display:flex;align-items:flex-start;gap:10px;margin-top:0;width:100%;flex-wrap:wrap}
#rocPage #rocStatsControls .roc-resampling-controls{
    flex:0 0 100%;
    min-width:0;
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    gap:8px 12px;
    white-space:nowrap;
}
#rocPage #rocStatsControls .roc-resampling-controls input[type=number]{
    width:var(--config-panel-number-width,96px);
    max-width:var(--config-panel-number-width,96px);
    flex:0 0 var(--config-panel-number-width,96px);
    box-sizing:border-box;
}
#surfacePage .surface-auto-draw-notice,#rocPage .roc-auto-draw-notice,#histPage .hist-auto-draw-notice{margin:0;font-size:12px;color:#444;line-height:1.35;flex:1 1 260px;min-width:240px}
#boxPage .box-plot-stack,#scatterPage .scatter-plot-stack,#surfacePage .surface-plot-stack,#rocPage .roc-plot-stack,#survivalPage .survival-plot-stack,#histPage .hist-plot-stack{flex:0 0 auto;min-width:0;display:flex;flex-direction:column}
#rocPage .wrap{display:flex;align-items:stretch;gap:0}
#rocPage #rocTablePanel{flex:1 1 33%;min-width:150px}
#rocPage #rocGraphPanel{flex:2 1 66%;min-width:0;max-width:none;display:flex;flex-direction:column;align-items:stretch}
#rocPage .diagram-area .svgbox{flex:0 0 auto}
#rocPage .diagram-area .config-panel{flex:0 0 auto}
#rocPage [data-roc-classification-fieldset="1"] .control{align-items:flex-start;flex-direction:column}
#rocPage [data-roc-classification-fieldset="1"] label{width:100%;justify-content:space-between;gap:12px}
#rocPage #rocNegativeClass{background:#eef2f7;color:#334155}
#rocPage .roc-auc-direction-warning{margin:0 0 12px;padding:12px 14px;border:2px solid #d97706;background:#fff7ed;color:#7c2d12;display:flex;flex-direction:column;gap:4px;font-size:13px;line-height:1.45;box-shadow:0 1px 2px rgba(124,45,18,.12)}
#rocPage .roc-auc-direction-warning strong{font-size:14px;color:#9a3412}
#rocPage .panel{display:flex;flex-direction:column;min-width:0}
#rocPage #rocPlot{width:100%;height:auto;min-width:0;min-height:0;resize:none;overflow:hidden;flex:1 1 auto}
@media (max-width:1000px){#rocPage .wrap{grid-template-columns:1fr}}
#survivalPage .wrap{display:flex;align-items:stretch;gap:0}
#survivalPage #survivalTablePanel{flex:1 1 33%;min-width:150px}
#survivalPage #survivalGraphPanel{flex:2 1 66%;min-width:0;max-width:none;display:flex;flex-direction:column;align-items:stretch}
#survivalPage .diagram-area .svgbox{flex:0 0 auto}
#survivalPage .diagram-area .config-panel{flex:0 0 auto}
#survivalPage .panel{display:flex;flex-direction:column;min-width:0}
#survivalPage .stats-toggle-row{gap:12px;margin-bottom:8px}
#survivalPage #survivalPlot{width:100%;height:auto;min-width:0;min-height:0;resize:none;overflow:hidden;flex:1 1 auto}
@media (max-width:1000px){#survivalPage .wrap{grid-template-columns:1fr}}
#histPage .wrap{display:flex;align-items:stretch;gap:0}
#histPage #histTablePanel{flex:1 1 33%;min-width:150px}
#histPage #histGraphPanel{flex:2 1 66%;min-width:0;max-width:none;display:flex;flex-direction:column;align-items:stretch}
#histGraphPanel .hist-dist-control-grid{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px;align-items:start}
#histGraphPanel .hist-dist-control-col{min-width:0}
#histGraphPanel .hist-dist-control-col--toggles{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
#histGraphPanel .hist-dist-list{display:flex;flex-direction:column;gap:6px;width:max-content;max-width:100%;}
#histGraphPanel .hist-dist-option{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;font-size:var(--graph-control-font-size,12px);font-weight:400;color:#111b2c;letter-spacing:0;text-transform:none;white-space:nowrap;cursor:pointer;line-height:1.4;}
#histGraphPanel .hist-dist-option input[type="checkbox"]{margin:0;width:16px;height:16px;accent-color:#0b63d1;}
#histGraphPanel .hist-dist-swatch{width:12px;height:12px;border-radius:2px;border:1px solid rgba(0,0,0,0.2);}
@media (max-width:860px){
  #histGraphPanel .hist-dist-control-grid{grid-template-columns:1fr}
}
#histGraphPanel .hist-overlay{mix-blend-mode:multiply;pointer-events:none;}
#histGraphPanel .hist-bin-center-control{display:inline-flex;align-items:center;gap:8px;flex-wrap:nowrap;min-width:0}
#histGraphPanel .hist-bin-center-control .config-panel__item{margin:0}
#histGraphPanel .hist-bin-center-control .config-panel__checkbox{margin:0}
#histGraphPanel #histBinCentersRow input[type="number"]{min-width:88px;width:96px}
#histPage .diagram-area .svgbox{flex:0 0 auto}
#histPage .diagram-area .config-panel{flex:0 0 auto}
#histPage .panel{display:flex;flex-direction:column;min-width:0}
#histPage #histPlot{width:100%;height:auto;min-width:0;min-height:0;resize:none;overflow:hidden;flex:1 1 auto}
@media (min-width:681px){
  .workspace-page .diagram-area>.config-panel,
  #pcaPage .diagram-area .config-panel,
  #surfacePage .diagram-area .config-panel{flex-shrink:0}
}
@media (max-width:1000px){#histPage .wrap{grid-template-columns:1fr}}
#piePage .wrap{display:flex;align-items:stretch;gap:0}
#piePage #pieTablePanel{flex:1 1 33%;min-width:150px}
#piePage #pieGraphPanel{flex:2 1 66%;min-width:0;max-width:none;display:flex;flex-direction:column;align-items:stretch}
#piePage .diagram-area .svgbox{flex:0 0 auto}
#piePage .diagram-area .config-panel{flex:0 0 auto}
#piePage .panel{display:flex;flex-direction:column;min-width:0}
#piePage #piePlot{width:100%;height:auto;min-width:0;min-height:0;resize:none;overflow:hidden;flex:1 1 auto}
@media (max-width:1000px){#piePage .wrap{grid-template-columns:1fr}}

/* --- Layout safety overrides: keep center bar on top and prevent overlap --- */
.panel { position: relative; overflow: visible; }
 .panel-resizer { flex: 0 0 var(--panel-resizer-width); width: var(--panel-resizer-width); position: relative; z-index: 200; background:#c9ccd2; cursor:col-resize; }
/* Create a stacking context so children cannot paint over siblings */
.wrap { position: relative; isolation: isolate; }


.font-toolbar-host{margin:0;display:none;flex:0 1 auto;min-width:0;max-width:100%;align-self:center;position:relative;overflow:visible;width:auto;padding:0;justify-content:center;align-items:center}
.font-toolbar-host.font-toolbar-host--visible{display:flex;gap:var(--workspace-toolbar-section-gap);background:#f3f6fb;border-radius:var(--ui-rounded-radius,6px)}
.font-toolbar-host.font-toolbar-host--visible>.font-controls-panel,
.font-toolbar-host.font-toolbar-host--visible>.axis-controls-panel,
.font-toolbar-host.font-toolbar-host--visible>.dendrogram-controls-panel,
.font-toolbar-host.font-toolbar-host--visible>.significance-controls-panel,
.font-toolbar-host.font-toolbar-host--visible>.additional-line-controls-panel,
.font-toolbar-host.font-toolbar-host--visible>.grid-controls-panel{position:static;max-width:100%}
.font-toolbar-host.font-toolbar-host--axis{justify-content:center;align-items:center}
.font-toolbar-host--line-dual.font-toolbar-host--visible,
.font-toolbar-host--box-dual.font-toolbar-host--visible,
.font-toolbar-host--heatmap-dual.font-toolbar-host--visible,
.font-toolbar-host--scatter-dual.font-toolbar-host--visible,
.font-toolbar-host--grid-dual.font-toolbar-host--visible,
.font-toolbar-host--significance-dual.font-toolbar-host--visible{display:grid}
.font-toolbar-host--line-dual,
.font-toolbar-host--box-dual,
.font-toolbar-host--heatmap-dual,
.font-toolbar-host--scatter-dual,
.font-toolbar-host--grid-dual,
.font-toolbar-host--significance-dual{
  grid-auto-flow:column;
  grid-auto-columns:max-content;
  column-gap:10px;
  align-items:flex-start;
  justify-content:center;
  overflow-x:auto;
  overflow-y:visible;
  max-width:100%;
}
.font-toolbar-host--line-dual .line-point-controls.workspace-toolbar__form--single,
.font-toolbar-host--box-dual .box-point-controls.workspace-toolbar__form--single,
.font-toolbar-host--scatter-dual .scatter-point-controls.workspace-toolbar__form--single{
  width:max-content;
  min-width:max-content;
  flex:0 0 auto;
}

.workspace-toolbar__section--dock .workspace-toolbar__form,
.workspace-toolbar__section--dock .workspace-toolbar__form--single,
.font-toolbar-host .workspace-toolbar__form,
.font-toolbar-host .workspace-toolbar__form--single,
.font-toolbar-host .additional-line-controls-panel__row,
.font-toolbar-host .axis-controls-panel__row,
.font-toolbar-host .dendrogram-controls-panel__row{
    justify-content:center;
    align-items:center;
    width:max-content;
    max-width:100%;
    margin-inline:auto;
}
.font-toolbar-host--line-dual .additional-line-controls-panel,
.font-toolbar-host--box-dual .additional-line-controls-panel,
.font-toolbar-host--scatter-dual .additional-line-controls-panel{
  width:max-content;
  min-width:max-content;
  flex:0 0 auto;
  align-self:stretch;
}
.font-toolbar-host--heatmap-dual .heatmap-palette-controls-panel{
  width:max-content;
  min-width:max-content;
  flex:0 0 auto;
  align-self:stretch;
}
.font-toolbar-host--line-dual .grid-controls-panel,
.font-toolbar-host--box-dual .grid-controls-panel,
.font-toolbar-host--scatter-dual .grid-controls-panel,
.font-toolbar-host--grid-dual .grid-controls-panel{
  width:max-content;
  min-width:max-content;
  flex:0 0 auto;
  align-self:stretch;
}
.font-toolbar-host--scatter-dual .grid-controls-panel{
  order:1;
}
.font-toolbar-host--scatter-dual .additional-line-controls-panel{
  order:2;
}
.axis-controls-panel__summary{display:flex;flex-direction:column;gap:2px;min-width:56px}
.axis-controls-panel__summary-label{font-size:10px;text-transform:uppercase;letter-spacing:0;color:#475569;font-weight:600}
.axis-controls-panel__summary-value{font-size:13px;font-weight:600;color:#1e293b;white-space:nowrap}
.axis-controls-panel__field--numeric{width:max-content;min-width:0;max-width:none}
.axis-controls-panel__field--length{width:max-content;min-width:0;max-width:none;align-items:center;text-align:center}
.axis-controls-panel__length-row{display:flex;align-items:center;gap:4px}
.axis-controls-panel__input--length{width:68px;min-width:68px;max-width:68px;text-align:center}
.axis-controls-panel__input--unit{width:54px;min-width:54px;max-width:54px;text-align:left;padding-right:18px;appearance:none;background-image:var(--config-panel-select-icon,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23131c23' d='M0 0h10L5 6z'/%3E%3C/svg%3E"));background-repeat:no-repeat;background-position:right 6px center}
.axis-controls-panel__length-preserve{display:inline-flex;align-items:center;gap:4px;width:auto;padding:0 0 0 2px;font-size:11px;letter-spacing:0;text-transform:none;border:none;background:transparent;box-shadow:none;white-space:nowrap}
.axis-controls-panel__length-preserve .axis-controls-panel__checkbox{width:14px;height:14px}
.axis-controls-panel__field--toggle{width:max-content;min-width:0;align-items:center;gap:6px}
.axis-controls-panel__input{min-width:0;width:auto;max-width:96px;text-align:center}
.axis-controls-panel__input--small{width:58px;min-width:58px;max-width:58px}
.axis-controls-panel__input--xs{width:64px;min-width:64px;max-width:64px}
.axis-controls-panel__minor-row{display:flex;align-items:center;justify-content:flex-start;gap:6px;width:100%;padding:0;box-sizing:border-box}
.axis-controls-panel__checkbox{appearance:auto;width:16px;height:16px;cursor:pointer;margin:0;accent-color:#0b63d1}
.axis-controls-panel__checkbox:disabled{opacity:.5;cursor:not-allowed}
.axis-controls-panel__mini-field{display:flex;align-items:center;gap:6px;padding:0;border:none;border-radius:0;background:transparent;min-height:26px}
.axis-controls-panel__mini-field-label{font-size:11px;font-weight:700;letter-spacing:0;text-transform:uppercase;color:#1f2937;display:flex;align-items:center;line-height:1}
.axis-controls-panel__mini-field[data-disabled='1']{opacity:.6;cursor:not-allowed}
.axis-controls-panel__input--subdivision{width:44px;min-width:44px;max-width:48px;text-align:center}
.axis-controls-panel__input:disabled{background:rgba(241,245,249,0.85);border-color:rgba(148,163,184,0.5);color:#94a3b8;cursor:not-allowed;box-shadow:none}
.axis-controls-panel__color-input{height:32px;width:64px;padding:0;cursor:pointer;display:block;margin:0 auto}
.axis-controls-panel__notation-combo{min-width:108px;width:108px;max-width:108px;height:var(--ui-control-height);min-height:var(--ui-control-height);max-height:var(--ui-control-height);box-sizing:border-box;align-self:center}
.axis-controls-panel__notation-display{cursor:pointer;text-align:left;font-size:12px;font-weight:500;color:#111827;padding:2px 10px;height:100%;letter-spacing:0;text-transform:none}
.axis-controls-panel__notation-toggle{width:26px}
.axis-controls-panel__notation-menu{min-width:calc(100% + 2px)}

.axis-controls-panel__field--color .axis-controls-panel__color-input{align-self:center;margin-left:0;margin-right:0;margin-inline:auto}
.axis-controls-panel__field[data-disabled='1']{opacity:.55}
.axis-controls-panel__field[data-disabled='1'] .axis-controls-panel__input{pointer-events:none;cursor:not-allowed;background:rgba(241,245,249,0.8);border-color:rgba(148,163,184,0.4)}
.axis-controls-panel__field--additional-ticks{position:relative;flex-direction:column;align-items:flex-end;align-self:flex-end;min-width:auto;max-width:none;gap:4px;padding-top:0;background:transparent;border-radius:0;overflow:visible;margin-left:0;margin-right:0}
.axis-controls-panel__field--broken-axis{position:relative;flex-direction:column;align-items:flex-end;align-self:flex-end;min-width:auto;max-width:none;gap:4px;padding-top:0;background:transparent;border-radius:0;overflow:visible;margin-left:0;margin-right:0}
.axis-controls-panel__dropdown{position:absolute;top:100%;left:0;display:none;flex-direction:column;width:auto;min-width:260px;max-width:clamp(260px,30vw,360px);padding:14px 14px;background:var(--ui-menu-bg);border-radius:0;border:var(--ui-menu-border);box-shadow:var(--ui-menu-shadow);z-index:50;box-sizing:border-box}
.axis-controls-panel__dropdown,
.axis-controls-panel__dropdown--additional-ticks{
    background:var(--ui-menu-bg) !important;
    border:var(--ui-menu-border) !important;
    box-shadow:var(--ui-menu-shadow) !important;
    background-clip:padding-box;
}
.axis-controls-panel__dropdown>.axis-controls-panel__checkbox-label,
.axis-controls-panel__dropdown>.axis-controls-panel__segments-container{width:100%;}
.axis-controls-panel__dropdown[data-open='1']{display:flex}
.axis-controls-panel__helper{margin:8px 0;font-size:11px;color:#4b5563;line-height:1.4}
.axis-controls-panel__checkbox-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:#1e293b;cursor:pointer}
.axis-controls-panel__checkbox-label,
.axis-controls-panel__extra-toggle{padding:var(--shared-checkbox-chip-padding,4px 8px);border:1px solid var(--shared-checkbox-chip-border,#b4bccb);background:var(--shared-checkbox-chip-bg,#f9fafc);font-size:11px;font-weight:400;color:var(--shared-checkbox-chip-text,#1e2633);letter-spacing:0;text-transform:none;white-space:nowrap}
.axis-controls-panel__button--segments-toggle{align-self:flex-start;width:100%;justify-content:space-between;display:flex;align-items:center;gap:6px;font-weight:600;letter-spacing:0}
.axis-controls-panel__button--additional-ticks{width:auto;min-width:0;height:var(--ui-control-height);min-height:var(--ui-control-height);max-height:var(--ui-control-height);padding:var(--ui-control-padding);box-sizing:border-box;border-radius:0 !important;background:#f5f7fb;color:#111b29;border:1px solid #cbd5e1;font-size:11px;letter-spacing:0;text-transform:none;gap:8px;line-height:1;justify-content:center;align-items:center;font-weight:600;margin-left:0}
.axis-controls-panel__button--additional-ticks:not([aria-disabled='true']):hover{background:#e7ecf5;color:#0f172a}
.axis-controls-panel__button--additional-ticks[aria-disabled='true']{opacity:.6;color:#94a3b8;background:#f8fafc;border-color:#e2e8f0}
.axis-controls-panel__dropdown--additional-ticks{left:auto;right:0;min-width:360px;max-width:min(520px,calc(100vw - 44px))}
.axis-controls-panel__extras-container{display:flex;width:100%;gap:8px;flex-direction:column;margin-top:2px;padding:0;border:none;background:transparent;align-self:stretch;align-items:stretch}
.axis-controls-panel__extra-head{display:grid;grid-template-columns:minmax(70px,88px) auto auto minmax(120px,1fr) auto;align-items:end;column-gap:8px;width:100%;padding:0 0 2px}
.axis-controls-panel__extra-head-cell{font-size:10px;font-weight:700;color:#334155;letter-spacing:0;text-transform:uppercase;white-space:nowrap}
.axis-controls-panel__extra-row{display:grid;grid-template-columns:minmax(70px,88px) auto auto minmax(120px,1fr) auto;align-items:center;column-gap:8px;row-gap:4px;width:100%;padding:0;border:none;background:transparent;box-shadow:none;min-height:0}
.axis-controls-panel__extra-toggle{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#1f2937;white-space:nowrap}
.axis-controls-panel__extra-input{height:26px;font-size:12px;padding:2px 6px}
.axis-controls-panel__extra-input--value{width:80px;min-width:70px;max-width:88px;text-align:center}
.axis-controls-panel__extra-input--label{width:100%;min-width:120px;text-align:left}
.axis-controls-panel__extra-input,
.axis-controls-panel__extra-toggle{
    border-radius:0 !important;
}
.axis-controls-panel__extra-row .axis-controls-panel__checkbox{
    border-radius:0 !important;
}
.axis-controls-panel__button--add-extra{width:auto;align-self:flex-start;margin-top:4px;display:none;align-items:center;justify-content:center;font-weight:600;letter-spacing:0;text-transform:none;min-height:30px;font-size:12px;padding:6px 10px;font-family:var(--ui-font-family);margin-left:0}
.axis-controls-panel__button--add-extra:hover{background:#e0e0e0}
.axis-controls-panel__button--remove-extra{width:26px;height:26px;padding:0;font-size:16px;line-height:1;color:#384255;margin-left:0;flex:0 0 auto;justify-self:end}
.axis-controls-panel__button--remove-extra:hover{background:#edf2ff;border-color:#6c7bb1}
.axis-controls-panel__button--break-axis{width:auto;min-width:0;height:var(--ui-control-height);min-height:var(--ui-control-height);max-height:var(--ui-control-height);padding:var(--ui-control-padding);box-sizing:border-box;border-radius:0 !important;background:#f5f7fb;color:#111b29;border:1px solid #cbd5e1;font-size:11px;letter-spacing:0;text-transform:none;gap:8px;line-height:1;justify-content:center;align-items:center;font-weight:600;margin-left:0}
.axis-controls-panel__button--break-axis:not([aria-disabled='true']):hover{background:#e7ecf5;color:#0f172a}
.axis-controls-panel__button--break-axis[aria-disabled='true']{opacity:.6;color:#94a3b8;background:#f8fafc;border-color:#e2e8f0}
.axis-controls-panel__button--segments-toggle[aria-disabled='true']{opacity:.5;cursor:not-allowed}
.axis-controls-panel__segments-container{display:flex;width:100%;gap:8px;flex-direction:column;margin-top:8px;padding:0;border:none;background:transparent;align-self:stretch;align-items:flex-start}
.axis-controls-panel__segments-empty{width:100%;padding:8px 10px;border:1px dashed rgba(148,163,184,0.8);border-radius:0;font-size:11px;color:#475569;background:#f8fafc;text-align:left;text-transform:uppercase;letter-spacing:0}
/* Broken axis segment rows use a strict inline layout:
    [Title] [From input] [Arrow] [To input] [Remove button]
    This grid prevents the remove button from overlapping the inputs
    even when content is narrow or the dropdown is resized. */
.axis-controls-panel__segment-row{display:grid;grid-template-columns:auto minmax(52px,1fr) auto minmax(52px,1fr) auto;align-items:center;column-gap:6px;row-gap:4px;width:100%;padding:0;border:none;background:transparent;box-shadow:none;min-height:0}
.axis-controls-panel__segment-title{font-size:11px;font-weight:600;color:#1c2534;text-transform:none;letter-spacing:0;justify-self:start;white-space:nowrap}
.axis-controls-panel__segment-inputs{display:contents}
.axis-controls-panel__segment-input{width:58px;max-width:72px;text-align:center;height:26px;font-size:12px;padding:2px 4px}
.axis-controls-panel__segment-separator{position:relative;color:transparent;font-weight:600;font-size:0;min-width:16px;width:16px;height:14px;text-align:center;display:inline-block;line-height:0;pointer-events:none;justify-self:center}
.axis-controls-panel__segment-separator::before{content:"";display:block;margin:0 auto;width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:10px solid #6b7280}
.axis-controls-panel__button{padding:4px 8px;font-size:11px;cursor:pointer;font-weight:500;transition:all 0.15s ease}
.axis-controls-panel__button:hover{background:#f8fafc;border-color:#94a3b8}
.axis-controls-panel__button--add-segment{width:auto;align-self:flex-start;margin-top:4px;display:none;align-items:center;justify-content:center;font-weight:600;letter-spacing:0;text-transform:none;min-height:30px;font-size:12px;padding:6px 10px;font-family:var(--ui-font-family);margin-left:0}
.axis-controls-panel__button--add-segment:hover{background:#e0e0e0}
.axis-controls-panel__button--remove-segment{width:26px;height:26px;padding:0;font-size:16px;line-height:1;color:#384255;margin-left:6px;flex:0 0 auto;justify-self:end}
.axis-controls-panel__button--remove-segment:hover{background:#edf2ff;border-color:#6c7bb1}
.axis-controls-panel__field[data-disabled='1'] .axis-controls-panel__notation-combo{pointer-events:none;cursor:not-allowed;opacity:.65}
.axis-controls-panel__field--compact{min-width:100px;flex-direction:row;align-items:center;justify-content:center;gap:10px}

/* Break-axis dropdown: compact enable chip and sharp corners for all controls. */
.axis-controls-panel__field--broken-axis .axis-controls-panel__checkbox-label{
    width:fit-content !important;
    max-width:100%;
    align-self:flex-start;
    box-sizing:border-box;
    border-radius:0 !important;
    border:none !important;
    background:transparent !important;
    padding:0 !important;
}
.axis-controls-panel__field--broken-axis .axis-controls-panel__checkbox,
.axis-controls-panel__field--broken-axis .axis-controls-panel__segment-input,
.axis-controls-panel__field--broken-axis .axis-controls-panel__button--add-segment,
.axis-controls-panel__field--broken-axis .axis-controls-panel__button--remove-segment{
    border-radius:0 !important;
}
.font-controls-panel__field--color .font-controls-panel__color-input{align-self:stretch;width:100%}
.font-controls-panel__field--full{flex:1 1 160px}
.font-controls-panel__input{line-height:18px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;min-width:0;width:100%;height:22px}
.font-controls-panel__select{padding:2px 24px 2px 8px;font-size:12px;line-height:20px;border:1px solid #8d97a6;background:#fdfefe;color:#111b29;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.7);height:26px;min-width:0;width:100%;border-radius:0;appearance:none;background-image:var(--config-panel-select-icon,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23131c23' d='M0 0h10L5 6z'/%3E%3C/svg%3E"));background-repeat:no-repeat;background-position:right 8px center}
.font-controls-panel__input--number{
    appearance:textfield;
    -moz-appearance:textfield;
    width:100%;
    max-width:120px;
}
.font-controls-panel__input--number::-webkit-outer-spin-button,
.font-controls-panel__input--number::-webkit-inner-spin-button{
    -webkit-appearance:none;
    appearance:none;
    margin:0;
    width:0;
    min-width:0;
    background-image:none;
}
.font-controls-panel__input--combo{width:100%;padding-right:24px;flex:1 1 auto;min-width:0;border:none;background:transparent;box-shadow:none;height:100%}
.font-controls-panel__input--combo::-webkit-calendar-picker-indicator{display:none !important}
.font-controls-panel__input--combo::-webkit-list-button{display:none !important}
.font-controls-panel__combo{display:flex;flex-direction:column;gap:0;min-width:0;position:relative;border:1px solid #8d97a6;background:#fdfefe;border-radius:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.7);height:22px}
.font-controls-panel__combo:focus-within{outline:var(--ui-focus-outline);outline-offset:var(--ui-focus-offset);border-color:#1f6bff}
.font-controls-panel__field--font .font-controls-panel__combo:focus-within{
    outline:none;
    outline-offset:0;
    border-color:#8d97a6;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,0.7);
}
.font-controls-panel__field--font .font-controls-panel__input--combo:focus,
.font-controls-panel__field--font .font-controls-panel__input--combo:focus-visible{
    outline:none;
    box-shadow:none;
}
.font-controls-panel__combo-row{display:flex;align-items:center;gap:0;position:relative;border-radius:0;height:100%}
.font-controls-panel__combo-row .font-controls-panel__input{border:none;height:100%;padding:2px 8px;font-size:12px}
.font-controls-panel__combo-toggle{position:absolute;top:0;right:0;transform:none;border:none;background:#fdfefe;color:#111b29;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;width:24px;height:100%;border-left:1px solid #b4bbc7;border-radius:0;font-size:0}
.font-controls-panel__combo-toggle::after{content:'';width:10px;height:6px;background-image:var(--config-panel-select-icon,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23131c23' d='M0 0h10L5 6z'/%3E%3C/svg%3E"));background-repeat:no-repeat;background-position:center;display:block}
.font-controls-panel__combo-toggle:hover{background:var(--ui-menu-item-hover-bg)}
.font-controls-panel__combo-toggle:focus{outline:none;box-shadow:0 0 0 2px rgba(147,197,253,0.45)}
.font-controls-panel__combo-toggle[aria-expanded='true']{background:var(--ui-menu-item-hover-bg)}
.font-controls-panel__combo-measure{position:absolute;visibility:hidden;pointer-events:none;white-space:nowrap;left:-9999px;top:-9999px}
text[baseline-shift="sub"]:not([font-size]):not([style*="font-size" i]),text[baseline-shift="super"]:not([font-size]):not([style*="font-size" i]),tspan[baseline-shift="sub"]:not([font-size]):not([style*="font-size" i]),tspan[baseline-shift="super"]:not([font-size]):not([style*="font-size" i]){font-size:0.75em}
@-moz-document url-prefix() {
  tspan[baseline-shift="sub"],
  text[baseline-shift="sub"]{
    transform-box:fill-box;
    transform-origin:center;
    transform:translateY(0.35em);
  }
  tspan[baseline-shift="super"],
  text[baseline-shift="super"]{
    transform-box:fill-box;
    transform-origin:center;
    transform:translateY(-0.35em);
  }
}
.font-controls-panel__combo-menu{position:absolute;top:calc(100% - 1px);left:-1px;right:-1px;display:flex;flex-direction:column;background:var(--ui-menu-bg);border:var(--ui-menu-border);border-radius:0;box-shadow:var(--ui-menu-shadow);padding:0;max-height:220px;overflow-y:auto;z-index:30}
.font-controls-panel__combo-menu[hidden]{display:none}
.font-controls-panel__combo-menu--open{animation:none}
.font-controls-panel__combo-option{appearance:none;border:none;background:#fff;color:#111b29;font-size:12px;padding:4px 10px;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:flex-start;gap:8px;transition:background .12s ease,color .12s ease;min-height:26px}
.font-controls-panel__combo-option + .font-controls-panel__combo-option{border-top:1px solid rgba(17,27,41,0.06)}
.font-controls-panel__combo-option:hover,.font-controls-panel__combo-option:focus{background:var(--ui-menu-item-hover-bg);outline:none}
.font-controls-panel__combo-option--active{background:var(--ui-menu-item-hover-bg);color:var(--ui-control-fg);font-weight:600}
.font-controls-panel__combo-empty{padding:10px 12px;font-size:12px;color:#475569;display:flex;align-items:center;justify-content:flex-start}
.font-controls-panel__select-menu{position:absolute;top:calc(100% - 1px);left:-1px;right:-1px;display:flex;flex-direction:column;background:var(--ui-menu-bg);border:var(--ui-menu-border);border-radius:0;box-shadow:var(--ui-menu-shadow);padding:0;max-height:220px;overflow-y:auto;z-index:30}
.font-controls-panel__select-menu[hidden]{display:none}
.font-controls-panel__select-option{appearance:none;border:none;background:#fff;color:#111b29;font-size:12px;padding:6px 10px;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:flex-start;gap:8px;transition:background .12s ease,color .12s ease;min-height:28px;border-radius:0}
.font-controls-panel__select-option + .font-controls-panel__select-option{border-top:1px solid rgba(17,27,41,0.06)}
.font-controls-panel__select-option:hover,.font-controls-panel__select-option:focus{background:var(--ui-menu-item-hover-bg);outline:none}
.font-controls-panel__combo--size{max-width:70px}
.font-controls-panel__combo--size .font-controls-panel__combo-row{gap:0;min-width:58px;max-width:66px}
.font-controls-panel__combo--size .font-controls-panel__input--combo{padding-right:28px}
.font-controls-panel__input--size{text-align:center;width:40px;min-width:40px;padding:3px 6px;font-size:13px;font-weight:400;color:#111827;letter-spacing:0;font-variant-numeric:tabular-nums;border:none;background:transparent;height:100%}
/* Keep Font/Size combo controls fully square in all states (no rounded pills). */
.font-controls-panel__combo-row .font-controls-panel__input,
.font-controls-panel__input--size,
.font-controls-panel__combo-toggle,
.font-controls-panel__combo-option,
.font-controls-panel__combo-option:hover,
.font-controls-panel__combo-option:focus,
.font-controls-panel__combo-option:focus-visible,
.font-controls-panel__combo-option--active{
    border-radius:0 !important;
    box-shadow:none !important;
}
.font-controls-panel__combo-toggle:focus,
.font-controls-panel__combo-toggle:focus-visible{
    outline:var(--ui-focus-outline);
    outline-offset:var(--ui-focus-offset);
}
@keyframes fontControlsMenuFade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.font-controls-panel__input--number::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;width:0;min-width:0}
.font-controls-panel__input--number::-webkit-inner-spin-button{
    margin:0;
    -webkit-appearance:none;
    appearance:none;
    opacity:0;
    width:0;
    min-width:0;
    background-image:none;
}
.font-controls-panel__color-input{height:34px;width:100%;padding:0;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;max-width:120px}

/* Ensure any color input or swatch inside font-toolbar / font-controls / workspace toolbar is centered */
.font-toolbar-host input[type="color"],
.font-controls-panel input[type="color"],
.workspace-toolbar__form input[type="color"],
.workspace-toolbar__input--color input[type="color"],
.axis-controls-panel__color-input,
.font-controls-panel__color-input {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

.workspace-toolbar__input--color .workspace-toolbar__input-label {
    text-align: center !important;
}
.font-controls-panel__field--format{min-width:0;width:100%;margin-top:0}
.font-controls-panel__format-buttons{display:flex;align-items:center;gap:2px;justify-content:flex-start}
.font-controls-panel__format-button{width:25px;height:25px;border-radius:4px;border:none;background:transparent;color:#1e293b;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,background .2s ease;margin:0;padding:0}
.font-controls-panel__format-button--italic{font-style:italic;font-weight:500}
.font-controls-panel__format-button--underline{text-decoration:underline;font-weight:500}
.font-controls-panel__format-button--script{font-family:var(--ui-font-family);font-weight:600;font-size:15px}
.font-controls-panel__format-button:hover,
.font-controls-panel__format-button:focus-visible{background:rgba(15,23,42,0.08)}
.font-controls-panel__format-button:active{background:rgba(15,23,42,0.16)}
.font-controls-panel__toggle--active{background:#1e293b;color:#f8fafc;border-color:#0f172a}
.font-controls-panel__footer{display:none}

/* Toolbar layout contract: all live toolbar families share the same shell,
   row, field, and label baseline. Component blocks below only keep true
   special cases such as widths, custom controls, and toggle layouts. */
.axis-controls-panel,
.font-controls-panel,
.dendrogram-controls-panel,
.significance-controls-panel,
.additional-line-controls-panel,
.heatmap-palette-controls-panel,
.grid-controls-panel{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:0;
    border:none;
    box-shadow:none;
    width:max-content;
    max-width:100%;
}
.axis-controls-panel{
    --axis-toolbar-section-gap: 20px;
}
.axis-controls-panel__row,
.font-controls-panel__controls,
.dendrogram-controls-panel__row,
.significance-controls-panel__row,
.additional-line-controls-panel__row,
.heatmap-palette-controls,
.grid-controls-panel__row{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:max-content;
    align-items:start;
    width:max-content;
    max-width:100%;
    margin-inline:auto;
}
.axis-controls-panel__row,
.font-controls-panel__controls,
.dendrogram-controls-panel__row,
.significance-controls-panel__row,
.heatmap-palette-controls,
.grid-controls-panel__row{
    gap:var(--workspace-toolbar-row-gap);
}
.additional-line-controls-panel__row{
    gap:calc(var(--workspace-toolbar-row-gap) * 2);
}
.axis-controls-panel .axis-controls-panel__row.additional-line-controls-panel__row{
    gap:0 var(--axis-toolbar-section-gap);
}
.axis-controls-panel__field,
.font-controls-panel__field,
.dendrogram-controls-panel__field,
.significance-controls-panel__field,
.additional-line-controls-panel__field,
.heatmap-palette-controls__field,
.grid-controls-panel__field{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:var(--workspace-toolbar-field-gap);
    min-width:0;
    min-height:var(--workspace-toolbar-field-min-height);
    text-align:center;
    flex:0 0 auto;
    margin:0;
}
.axis-controls-panel__field{
    width:max-content;
    max-width:none;
}
.axis-controls-panel__field-label,
.font-controls-panel__field-label,
.dendrogram-controls-panel__field-label,
.significance-controls-panel__field-label,
.additional-line-controls-panel__field-label,
.heatmap-palette-controls__field-label,
.grid-controls-panel__field-label,
.axis-controls-panel__summary-label,
.dendrogram-controls-panel__summary-label,
.significance-controls-panel__summary-label,
.additional-line-controls-panel__summary-label{
    font-weight:600;
    color:#1e293b;
    font-size:11px;
    text-transform:none;
    letter-spacing:0;
    white-space:nowrap;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    line-height:var(--workspace-toolbar-label-slot-height);
    min-height:var(--workspace-toolbar-label-slot-height);
    margin:0;
}
.axis-controls-panel__summary{
    min-width:0;
}
.axis-controls-panel__summary-value{
    font-size:13px;
    font-weight:600;
    color:#1e293b;
    white-space:nowrap;
}
.axis-controls-panel__field--numeric{
    width:max-content;
    min-width:0;
    max-width:none;
}
.axis-controls-panel__field--numeric .axis-controls-panel__input--small{
    width:48px;
    min-width:48px;
    max-width:48px;
    border-radius:0 !important;
}
.axis-controls-panel__field--length{
    width:max-content;
    min-width:0;
    max-width:none;
    align-items:center;
    text-align:center;
}
.axis-controls-panel__field--length .axis-controls-panel__field-label{
    justify-content:center;
    text-align:center;
}
.axis-controls-panel__field--length .axis-controls-panel__input--length{
    width:64px;
    min-width:64px;
    max-width:64px;
    border-radius:0 !important;
}
.axis-controls-panel__field--length .axis-controls-panel__input--unit{
    width:54px;
    min-width:54px;
    max-width:54px;
    border-radius:0 !important;
}
.axis-controls-panel__field--length .axis-controls-panel__length-preserve{
    border:none !important;
    background:transparent !important;
    border-radius:0 !important;
    box-shadow:none !important;
    padding:0 0 0 2px;
}
.axis-controls-panel__field--additional-ticks,
.axis-controls-panel__field--broken-axis{
    align-self:auto;
    align-items:center;
    justify-content:flex-start;
    padding-top:0;
    margin-left:0;
    margin-right:0;
}
.axis-controls-panel__field--additional-ticks::before,
.axis-controls-panel__field--broken-axis::before{
    content:"";
    display:block;
    height:14px;
    min-height:14px;
}
.axis-controls-panel__broken-axis-header{
    display:none;
}
.axis-controls-panel__input--subdivision{
    border-radius:0 !important;
}
.font-controls-panel__field--scope,
.font-controls-panel__field--font,
.font-controls-panel__field--size,
.font-controls-panel__field--color,
.font-controls-panel__field--format{
    grid-column:auto;
    grid-row:auto;
    max-width:none;
    width:max-content;
    align-items:center;
    justify-self:auto;
    margin-top:0;
}
.font-controls-panel__field--scope{
    flex-direction:column;
    gap:4px;
}
.font-controls-panel__field--color .font-controls-panel__color-input{
    width:var(--ui-color-input-width);
    max-width:var(--ui-color-input-width);
    height:var(--ui-color-input-height);
}
.font-controls-panel__field--color .font-controls-panel__field-label{
    width:100%;
}
.axis-controls-panel__input,
.font-controls-panel__select,
.font-controls-panel__input--number{
    height:var(--ui-control-height);
}
@media (max-width:680px){
  .font-toolbar-host{flex:1 1 100%;margin-left:0}
  .font-controls-panel{width:100%;max-width:100%;justify-content:flex-start;padding:12px 14px}
  .font-controls-panel__controls{display:flex;flex-direction:column;align-items:stretch;row-gap:12px}
  .font-controls-panel__field,.font-controls-panel__field--full{flex:1 1 auto;min-width:0;align-self:stretch;max-width:none}
  .font-controls-panel__field--font,.font-controls-panel__field--size,.font-controls-panel__field--color{grid-column:auto;grid-row:auto;align-items:flex-start;justify-self:stretch}
  .font-controls-panel__input,.font-controls-panel__color-input{width:100%;min-width:0;max-width:none}
  .font-controls-panel__input--combo{padding-right:38px}
  .font-controls-panel__combo{min-width:0}
  .font-controls-panel__combo-row{flex-wrap:nowrap}
  .font-controls-panel__combo-toggle{right:10px;height:calc(100% - 10px);width:32px}
  .font-controls-panel__format-buttons{justify-content:flex-start}
}
.inline-edit-overlay {
    background: #ffffff;
    border: 1px solid rgba(74, 144, 226, 0.6);
    border-radius: 4px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
    box-sizing: border-box;
    pointer-events: auto;
    padding: 0;
}

.inline-edit-input {
    box-sizing: border-box;
    background: transparent;
    border: none;
    outline: none;
    color: #222;
    width: 100%;
    height: 100%;
    font-weight: 600;
    font-family: 'Inter', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

.inline-edit-input::selection {
    background: var(--inline-edit-selection-bg, rgba(74, 144, 226, 0.28));
    color: var(--inline-edit-selection-color, transparent);
}

.inline-edit-input::-moz-selection {
    background: var(--inline-edit-selection-bg, rgba(74, 144, 226, 0.28));
    color: var(--inline-edit-selection-color, transparent);
}

.inline-edit-input.inline-edit-input--preview-mode {
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    text-shadow: 0 0 0 transparent !important;
}

.inline-edit-input.inline-edit-input--preview-mode::selection,
.inline-edit-input.inline-edit-input--preview-mode::-moz-selection {
    background: var(--inline-edit-selection-bg, rgba(74, 144, 226, 0.28)) !important;
    color: transparent !important;
}

.inline-edit-measure {
    position: absolute;
    visibility: hidden;
    white-space: pre;
}

.graph-edit-highlight--text,
.graph-edit-highlight--axis {
    transition: filter 0.12s ease-in-out, stroke 0.12s ease-in-out;
}

.graph-edit-highlight--text {
    stroke: #ff9800;
    stroke-width: 1.6;
    paint-order: stroke fill;
    filter: drop-shadow(0 0 0.75px rgba(255, 152, 0, 0.45)) drop-shadow(0 0 4px rgba(255, 152, 0, 0.55));
}

.graph-edit-highlight--axis {
    stroke: #ff9800;
    stroke-width: 2.5;
    filter: drop-shadow(0 0 2px rgba(255, 152, 0, 0.4)) drop-shadow(0 0 5px rgba(255, 152, 0, 0.5));
}

.graph-edit-highlight--axis-overlay {
    stroke: rgba(255, 152, 0, 0.85);
    stroke-width: 2;
    fill: rgba(255, 152, 0, 0.12);
    rx: 3;
    ry: 3;
    pointer-events: auto;
    transition: stroke 0.12s ease-in-out, fill 0.12s ease-in-out;
}

/* Dendrogram controls panel */
.font-toolbar-host--dendrogram{display:flex}
.dendrogram-controls-panel{flex:0 1 auto}
.dendrogram-controls-panel__summary{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;min-width:0;min-height:52px;text-align:center}
.dendrogram-controls-panel__summary-value{font-size:13px;font-weight:600;color:#1e293b;white-space:nowrap}
.dendrogram-controls-panel__field--numeric{width:auto;min-width:64px;max-width:64px}
.dendrogram-controls-panel__field--color{min-width:64px;width:auto;align-items:center;text-align:center}
.dendrogram-controls-panel__input{min-width:0;width:auto;max-width:96px;text-align:center}
.dendrogram-controls-panel__input--small{width:40px;min-width:40px}
.dendrogram-controls-panel__color-input{height:32px;width:64px;padding:0;cursor:pointer;display:block;margin:0 auto}
.dendrogram-controls-panel__field--color .dendrogram-controls-panel__field-label{display:block;width:100%;text-align:center}
.dendrogram-controls-panel__field--color .dendrogram-controls-panel__color-input{align-self:center;margin-left:0;margin-right:0;margin-inline:auto}

/* Significance controls panel */
.font-toolbar-host--significance{display:block}
.significance-controls-panel{
    width:max-content;
    --workspace-toolbar-section-gap: 14px;
}
.significance-controls-panel__summary{display:flex;min-width:92px;align-items:center;text-align:center}
.significance-controls-panel__summary-label,
.significance-controls-panel__summary-value{text-align:center}
.significance-controls-panel__field--toggle{min-width:0;align-items:center}
.significance-controls-panel__field--text-style{min-width:96px;align-items:center}
.significance-controls-panel__field--label-mode{min-width:220px}
.significance-controls-panel__input{max-width:108px}
.significance-controls-panel__input--select{min-width:108px;max-width:140px;text-align:left;padding-right:20px}
.significance-controls-panel__field--label-mode .significance-controls-panel__input--select{min-width:220px;max-width:240px}
.significance-controls-panel__input--small{width:64px;min-width:64px;max-width:64px}
.significance-controls-panel__input--square{border-radius:0}
.significance-controls-panel__color-input{height:24px;width:24px;padding:0;cursor:pointer;display:block;margin:0 auto}
.significance-controls-panel__field--color .significance-controls-panel__color-input{align-self:center;margin-inline:auto}
.significance-controls-panel__toggle-row{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:26px}
.significance-controls-panel__checkbox{appearance:auto;width:16px;height:16px;cursor:pointer;transition:all .12s ease;margin:0;accent-color:#0b63d1}
.significance-controls-panel__checkbox:disabled{opacity:.5;cursor:not-allowed}
.significance-controls-panel__text-button{min-width:96px;justify-content:center}

/* Additional line controls panel */
.font-toolbar-host.font-toolbar-host--visible>.additional-line-controls-panel{position:relative}
.font-toolbar-host--additional-line{display:block}
.additional-line-controls-panel{flex:1 1 auto}
.additional-line-controls-panel__summary{display:flex;flex-direction:column;gap:2px;min-width:92px}
.additional-line-controls-panel__summary-value{font-size:13px;font-weight:600;color:#1e293b;white-space:nowrap}
.additional-line-controls-panel__summary[hidden],
.additional-line-controls-panel__field[hidden]{display:none !important}
.additional-line-controls-panel__input{min-width:0;width:auto;max-width:108px;text-align:center}
.additional-line-controls-panel__input--small{width:64px;min-width:64px;max-width:64px}
.additional-line-controls-panel__input--select{min-width:108px;max-width:140px;text-align:left;padding-right:20px}
.additional-line-controls-panel__color-input{height:24px;width:24px;padding:0;cursor:pointer;display:block;margin:0 auto}
.additional-line-controls-panel__field--transparency{min-width:130px;align-items:stretch}
.additional-line-controls-panel__range{display:flex;align-items:center;gap:4px;min-width:130px}
.additional-line-controls-panel__transparency-input{flex:0 0 96px;width:96px;min-width:96px;max-width:96px;accent-color:#1f2937}
.additional-line-controls-panel__range-value{min-width:30px;text-align:right;font-size:12px;font-weight:600;color:#1e293b}
.additional-line-controls-panel__field--style{min-width:90px}
.additional-line-controls-panel__field--style.additional-line-controls-panel__field--symbol-fill{min-width:fit-content;width:fit-content}
.additional-line-controls-panel__field--symbol-border{min-width:max-content}
.additional-line-controls-panel__field--scatter-grouped-controls{min-width:220px;align-items:flex-start;text-align:left}
.scatter-grouped-mode-select{min-width:180px}

/* Grid controls panel */
.font-toolbar-host--grid{display:block}
.grid-controls-panel{flex:1 1 auto}
.grid-controls-panel__field[hidden]{display:none !important}
.grid-controls-panel__input{min-width:0;width:auto;max-width:108px;text-align:center}
.grid-controls-panel__input--small{width:64px;min-width:64px;max-width:64px}
.grid-controls-panel__input--select{min-width:108px;max-width:140px;text-align:left;padding-right:20px}
.grid-controls-panel__color-input{height:24px;width:24px;padding:0;cursor:pointer;display:block;margin:0 auto}
.grid-controls-panel__field--transparency{min-width:130px;align-items:stretch}
.grid-controls-panel__field--toggle{min-width:112px;align-items:flex-start}
.grid-controls-panel__field--style{min-width:90px}
.grid-controls-panel__checkbox-chip{display:inline-flex;align-items:center;gap:6px}
.grid-controls-panel__checkbox{margin:0}
.grid-controls-panel__range{display:flex;align-items:center;gap:4px;min-width:130px}
.grid-controls-panel__transparency-input{flex:0 0 96px;width:96px;min-width:96px;max-width:96px;accent-color:#1f2937}
.grid-controls-panel__range-value{min-width:30px;text-align:right;font-size:12px;font-weight:600;color:#1e293b}
[data-grid-control="1"]{cursor:pointer}

/* UI harmonization: shared typography and control primitives across advanced panels */
.axis-controls-panel,
.font-controls-panel,
.dendrogram-controls-panel,
.significance-controls-panel,
.additional-line-controls-panel,
.grid-controls-panel,
.workspace-toolbar__panel{
    font-family:var(--ui-font-family);
}

.axis-controls-panel__input,
.dendrogram-controls-panel__input,
.significance-controls-panel__input,
.additional-line-controls-panel__input,
.grid-controls-panel__input,
.font-controls-panel__input:not(.font-controls-panel__input--combo){
    height:var(--ui-control-height);
    padding:var(--ui-control-padding);
    border:var(--ui-control-border);
    border-radius:var(--ui-control-radius);
    background:var(--ui-control-bg);
    color:var(--ui-control-fg);
    font-size:12px;
    line-height:20px;
    box-shadow:var(--ui-control-shadow);
}

/* Keep explicit square controls square even if global control radius changes. */
.significance-controls-panel__input.significance-controls-panel__input--square,
.additional-line-controls-panel__input.significance-controls-panel__input--square{
    border-radius:0 !important;
}

.axis-controls-panel__input:focus,
.dendrogram-controls-panel__input:focus,
.significance-controls-panel__input:focus,
.additional-line-controls-panel__input:focus,
.grid-controls-panel__input:focus,
.font-controls-panel__input:not(.font-controls-panel__input--combo):focus{
    outline:var(--ui-focus-outline);
    outline-offset:var(--ui-focus-offset);
    border-color:#8d97a6;
    box-shadow:var(--ui-control-shadow);
}

.axis-controls-panel__color-input,
.dendrogram-controls-panel__color-input,
.significance-controls-panel__color-input,
.additional-line-controls-panel__color-input,
.grid-controls-panel__color-input,
.font-controls-panel__color-input{
    border-radius:var(--ui-control-radius);
    border:var(--ui-control-border);
}

.axis-controls-panel__button,
.axis-controls-panel__button--add-extra,
.axis-controls-panel__button--add-segment,
.axis-controls-panel__button--remove-extra,
.axis-controls-panel__button--remove-segment{
    border:var(--ui-btn-border);
    border-radius:var(--ui-btn-radius);
    background:var(--ui-btn-bg);
    color:var(--ui-btn-fg);
}

.axis-controls-panel__button:hover,
.axis-controls-panel__button--add-extra:hover,
.axis-controls-panel__button--add-segment:hover,
.axis-controls-panel__button--remove-extra:hover,
.axis-controls-panel__button--remove-segment:hover{
    background:var(--ui-btn-bg-hover);
    border-color:#6c7bb1;
}

.axis-controls-panel__button:focus,
.axis-controls-panel__button--add-extra:focus,
.axis-controls-panel__button--add-segment:focus{
    outline:var(--ui-focus-outline);
    outline-offset:var(--ui-focus-offset);
}

/* Force parity with input/select control height for axis top-level action boxes. */
.axis-controls-panel__button--additional-ticks,
.axis-controls-panel__button--break-axis{
    appearance:none;
    -webkit-appearance:none;
    height:var(--ui-control-height) !important;
    min-height:var(--ui-control-height) !important;
    max-height:var(--ui-control-height) !important;
    padding:2px 10px !important;
    line-height:20px !important;
    font-size:12px !important;
    font-weight:500 !important;
    box-sizing:border-box;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

/* Shared focus primitive for non-menu controls. */
:where(
    .btn,
    .workspace-action-btn,
    .workspace-toolbar__button,
    .workspace-page select,
    .axis-controls-panel__input,
    .dendrogram-controls-panel__input,
    .significance-controls-panel__input,
    .additional-line-controls-panel__input,
    .font-controls-panel__input:not(.font-controls-panel__input--combo),
    .axis-controls-panel__button,
    .axis-controls-panel__button--add-extra,
    .axis-controls-panel__button--add-segment,
    .axis-controls-panel__button--remove-extra,
    .axis-controls-panel__button--remove-segment
):focus-visible{
    outline:var(--ui-focus-outline);
    outline-offset:var(--ui-focus-offset);
    box-shadow:none;
}

/* Dendrogram highlight styles */
.graph-edit-highlight--dendrogram {
    stroke: #ff9800;
    stroke-width: 2.5;
    filter: drop-shadow(0 0 2px rgba(255, 152, 0, 0.4)) drop-shadow(0 0 5px rgba(255, 152, 0, 0.5));
}

.graph-edit-highlight--dendrogram-overlay {
    stroke: rgba(255, 152, 0, 0.85);
    stroke-width: 2;
    fill: rgba(255, 152, 0, 0.12);
    rx: 3;
    ry: 3;
    pointer-events: auto;
    transition: stroke 0.12s ease-in-out, fill 0.12s ease-in-out;
}

/* Tab context menu */
.tab-context-menu {
    position: absolute;
    z-index: 12000;
    background: var(--ui-menu-bg);
    border: var(--ui-menu-border);
    box-shadow: var(--ui-menu-shadow);
    border-radius: var(--ui-menu-radius);
    padding: 6px 6px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.tab-context-menu[hidden] { display: none; }
.tab-context-menu__item {
    background: none;
    border: none;
    text-align: left;
    padding: 8px 12px;
    cursor: pointer;
    font-size: 13px;
}
.tab-context-menu__item:hover {
    background: var(--ui-menu-item-hover-bg);
}
.tab-context-menu__item:focus:not(:hover) {
    background: transparent;
    outline: none;
}
.tab-context-menu__item:disabled,
.tab-context-menu__item[aria-disabled="true"] {
    color: #94a3b8;
    cursor: default;
}
.tab-context-menu__item:disabled:hover,
.tab-context-menu__item:disabled:focus {
    background: none;
}

.scatter-point-context-menu {
    padding: 0;
    gap: 0;
    box-shadow: none;
}

.scatter-point-context-menu .tab-context-menu__item {
    min-height: 0;
    padding: 6px 10px;
}

/* CRISPR policy: slight rounding everywhere except dropdown controls/menus. */
:where(
    .btn,
    .workspace-action-btn,
    .workspace-toolbar__button,
    .workspace-toolbar__icon,
    .workspace-toolbar__section,
    .workspace-modal__panel,
    .style-sync-targets,
    .style-sync-options,
    .config-panel,
    .config-panel__warning,
    .stats-advisor,
    .stats-advisor__question,
    .stats-advisor__inline-button,
    .stats-advisor__actions button,
    .assumption-warning-list,
    .assumption-info,
    .svgbox,
    .grouped-controls,
    .grouped-row input[type="text"],
    .grouped-row button.grouped-remove,
    .axis-controls-panel__input,
    .axis-controls-panel__button,
    .axis-controls-panel__button--add-extra,
    .axis-controls-panel__button--add-segment,
    .axis-controls-panel__button--remove-extra,
    .axis-controls-panel__button--remove-segment,
    .axis-controls-panel__color-input,
    .font-controls-panel__input,
    .font-controls-panel__color-input,
    .dendrogram-controls-panel__input,
    .dendrogram-controls-panel__color-input,
    .significance-controls-panel__input,
    .significance-controls-panel__color-input,
    .additional-line-controls-panel__input,
    .additional-line-controls-panel__color-input,
    input[type="text"],
    input[type="number"],
    input[type="color"],
    textarea,
    button
) {
    border-radius: var(--ui-rounded-radius);
}

/* Dropdown controls and menus remain sharp. */
select,
.workspace-page select,
.style-sync-field select,
.config-panel select,
.config-panel__fieldset select,
.config-panel fieldset select,
.workspace-toolbar__input select,
.font-controls-panel__select,
.font-controls-panel__combo,
.font-controls-panel__combo-toggle,
.axis-controls-panel__dropdown,
.axis-controls-panel__notation-combo,
.workspace-toolbar__menu-list,
.svgbox .resizer-axeslength-menu,
.font-controls-panel__combo-menu,
.font-controls-panel__select-menu,
.tab-context-menu,
.ag-hot-menu,
.workspace-toolbar__menu-item,
.tab-context-menu__item,
.font-controls-panel__combo-option,
.font-controls-panel__select-option {
    border-radius: 0 !important;
}

select,
option,
optgroup {
    border-radius: 0 !important;
}

select {
    appearance: none;
    -webkit-appearance: none;
}

/* Selection fields (text/number/select) stay sharp across the UI. */
input[type="text"],
input[type="number"],
.workspace-page input[type="text"],
.workspace-page input[type="number"],
.config-panel input[type="text"],
.config-panel input[type="number"],
.config-panel__fieldset input[type="text"],
.config-panel__fieldset input[type="number"],
.config-panel fieldset input[type="text"],
.config-panel fieldset input[type="number"],
.workspace-toolbar__input input[type="text"],
.workspace-toolbar__input input[type="number"],
.axis-controls-panel__input,
.font-controls-panel__input,
.data-view-tabs__title-input {
    border-radius: 0 !important;
}

/* Generated-class hooks migrated from former inline styles.
   These names are referenced from index.html and some runtime-built controls; do not prune by static CSS usage alone. */
/* BEGIN index.html inline-style migration */
.idx-inline-001 { display: none; }
.idx-inline-002 { margin-top: 6px; }
.idx-inline-003 { margin-top: 8px; }
.graph-plot-stack { gap: 0; }
#boxPage .box-plot-stack:not(:has(.svgbox[data-graph-content-envelope="true"])) { width: max-content; }
.graph-plot-stack > .graph-export-controls + * { margin-top: 4px; }
.graph-plot-stack > .svgbox { border-bottom-left-radius: 0; }
.graph-plot-stack > .svgbox[data-graph-content-envelope="true"]::before,
.graph-plot-stack > .svgbox[data-graph-content-envelope="true"]::after { border-bottom-left-radius: 0; }
.graph-export-controls {
    align-self: flex-start;
    justify-content: flex-start;
    width: fit-content;
    max-width: 100%;
    box-sizing: border-box;
    flex: 0 0 auto;
    margin-top: 0;
    position: relative;
    z-index: 50;
    padding: 6px 8px 8px;
    background: #ffffff;
    border: var(--graph-frame-border-width) solid var(--graph-frame-border-color);
    border-top: 0;
    border-radius: 0 0 var(--ui-rounded-radius) var(--ui-rounded-radius);
}
.graph-export-controls::before {
    content: "";
    position: absolute;
    top: calc(-1 * var(--graph-frame-border-width));
    right: 0;
    left: 0;
    height: var(--graph-frame-border-width);
    background: var(--graph-export-seam-color, #ffffff);
    pointer-events: none;
}
.idx-inline-005 { position: relative; margin-top: 6px; }
.idx-inline-006 { position: absolute; top: 4px; right: 24px; display: none; font-size: 12px; padding: 4px 8px; }
.idx-inline-007 { background: #ffffff; border: 1px solid #ddd; border-radius: 0; padding: 24px 8px 8px; max-height: 190px; overflow: auto; }
.idx-inline-008 { margin-top: 4px; }
.idx-inline-009 { flex: 1; }
.idx-inline-010 { width: 100%; }
.idx-inline-011 { margin-top: 4px; font-size: 13px; }
.idx-inline-012 { display: none; margin-top: 4px; background: #f9f9f9; border: 1px solid #ddd; border-radius: 0; padding: 4px; }
.idx-inline-013 { margin-bottom: 4px; }
.idx-inline-014 { display: none; width: 100%; max-width: 100%; height: auto; margin-top: 8px; overflow: visible; }
.idx-inline-015 { display: none; justify-content: flex-end; margin-top: 6px; }
.idx-inline-016 { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; align-items: flex-start; }
.idx-inline-017 { display: none; justify-content: flex-end; margin-top: 6px; width: 100%; }
.idx-inline-018 { margin-top: 6px; font-size: 13px; color: #333; }
.idx-inline-019 { margin: 0; }
.idx-inline-020 { width: 100%; height: 100%; overflow: hidden; flex: 1 1 auto; }
.idx-inline-021 { width: 100%; height: 100%; }
.idx-inline-022 { flex-wrap: wrap; gap: 8px; align-items: center; }
.idx-inline-023 { width: auto; }
.idx-inline-024 { width: auto; display: flex; align-items: center; gap: 4px; }
.idx-inline-025 { flex-wrap: wrap; display: none; }
.idx-inline-026 { display: none; flex-wrap: wrap; align-items: center; gap: 8px; }
.idx-inline-026 input[type="range"] { width: 120px; min-width: 120px; max-width: 120px; flex: 0 0 120px; }
.idx-inline-027 { width: 50px; }
.idx-inline-028 { min-width: 48px; }
.idx-inline-029 { min-width: 40px; }
#boxPage #boxViolinBandwidthCtl,
#boxPage #boxViolinSamplesCtl{
    display:grid;
    grid-template-columns: 108px 120px 50px auto;
    align-items:center;
    column-gap:6px;
}
#boxPage #boxViolinBandwidthCtl > label:first-child,
#boxPage #boxViolinSamplesCtl > label:first-child{
    white-space:nowrap;
    margin:0;
}
#boxPage #boxViolinBandwidthCtl input[type="range"],
#boxPage #boxViolinSamplesCtl input[type="range"]{
    width:120px;
    min-width:120px;
    max-width:120px;
    justify-self:end;
}
#boxPage #boxViolinExtentCtl{
    display:grid;
    grid-template-columns:108px minmax(190px, auto);
    align-items:center;
    column-gap:6px;
}
#boxPage #boxViolinExtentCtl > label{
    white-space:nowrap;
    margin:0;
}
#boxPage #boxViolinExtent{
    min-width:190px;
}
#boxPage #boxViolinBandwidthValue,
#boxPage #boxViolinSamplesValue{
    width:50px;
    min-width:50px;
    max-width:50px;
    justify-self:end;
}
.idx-inline-030 { display: none; align-items: center; gap: 6px; }
.idx-inline-031 { flex-wrap: wrap; }
.idx-inline-032 { flex-wrap: wrap; gap: 6px; align-items: center; }
.idx-inline-033 { width: 100%; margin-top: 12px; }
.idx-inline-034 { margin-top: 4px; font-size: 12px; color: #444; }
.idx-inline-035 { margin-top: 6px; font-size: 12px; color: #444; }
.idx-inline-036 { margin-top: 8px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.idx-inline-037 { font-size: 12px; color: #555; }
.idx-inline-038 { margin-left: 8px; }
.idx-inline-039 { margin-left: 6px; }
.idx-inline-040 { gap: 8px; flex-wrap: wrap; align-items: center; }
.idx-inline-041 { flex-wrap: wrap; gap: 6px; }
.idx-inline-042 { display: flex; align-items: center; gap: 6px; }
.idx-inline-043 { justify-content: flex-end; margin-top: 8px; }
.idx-inline-044 { margin: 0; font-size: 12px; color: #444; }
.idx-inline-045 { flex-wrap: wrap; gap: 12px; }
.idx-inline-046 { font-size: 13px; }
.idx-inline-047 { gap: 8px; align-items: center; }
.idx-inline-048 { font-size: 12px; color: #555; margin-top: 6px; }

.idx-inline-049 { flex-direction: column; gap: 6px; align-items: flex-start; }
.idx-inline-050 { margin-bottom: 8px; }
.idx-inline-051 { flex-direction: column; align-items: flex-start; gap: 6px; }
.idx-inline-052 { width: auto; display: flex; align-items: center; gap: 6px; }
/* END index.html inline-style migration */

/* Unified color input primitive used across workspace controls. */
:is(
    .config-panel input[type=color],
    .config-panel__fieldset input[type=color],
    .config-panel fieldset input[type=color],
    .color-picker input[type=color],
    .workspace-toolbar__form input[type=color],
    .workspace-toolbar__input--color input[type=color],
    .axis-controls-panel__color-input,
    .font-controls-panel__color-input,
    .dendrogram-controls-panel__color-input,
    .significance-controls-panel__color-input,
    .additional-line-controls-panel__color-input,
    .shared-color-picker__color-input
) {
    appearance: none;
    -webkit-appearance: none;
    box-sizing: border-box;
    width: var(--ui-color-input-width);
    height: var(--ui-color-input-height);
    min-width: var(--ui-color-input-width);
    min-height: var(--ui-color-input-height);
    padding: 0;
    margin: 0;
    border: var(--ui-color-input-border);
    border-radius: var(--ui-color-input-radius);
    background: var(--ui-color-input-bg);
    box-shadow: var(--ui-color-input-shadow);
    cursor: pointer;
}

:is(
    .config-panel input[type=color],
    .config-panel__fieldset input[type=color],
    .config-panel fieldset input[type=color],
    .color-picker input[type=color],
    .workspace-toolbar__form input[type=color],
    .workspace-toolbar__input--color input[type=color],
    .axis-controls-panel__color-input,
    .font-controls-panel__color-input,
    .dendrogram-controls-panel__color-input,
    .significance-controls-panel__color-input,
    .additional-line-controls-panel__color-input,
    .shared-color-picker__color-input
)::-webkit-color-swatch-wrapper {
    padding: 0;
    border: none;
    border-radius: 0;
}

:is(
    .config-panel input[type=color],
    .config-panel__fieldset input[type=color],
    .config-panel fieldset input[type=color],
    .color-picker input[type=color],
    .workspace-toolbar__form input[type=color],
    .workspace-toolbar__input--color input[type=color],
    .axis-controls-panel__color-input,
    .font-controls-panel__color-input,
    .dendrogram-controls-panel__color-input,
    .significance-controls-panel__color-input,
    .additional-line-controls-panel__color-input,
    .shared-color-picker__color-input
)::-webkit-color-swatch,
:is(
    .config-panel input[type=color],
    .config-panel__fieldset input[type=color],
    .config-panel fieldset input[type=color],
    .color-picker input[type=color],
    .workspace-toolbar__form input[type=color],
    .workspace-toolbar__input--color input[type=color],
    .axis-controls-panel__color-input,
    .font-controls-panel__color-input,
    .dendrogram-controls-panel__color-input,
    .significance-controls-panel__color-input,
    .additional-line-controls-panel__color-input,
    .shared-color-picker__color-input
)::-moz-color-swatch {
    border: none;
    border-radius: 0;
}

:is(
    .config-panel input[type=color],
    .config-panel__fieldset input[type=color],
    .config-panel fieldset input[type=color],
    .color-picker input[type=color],
    .workspace-toolbar__form input[type=color],
    .workspace-toolbar__input--color input[type=color],
    .axis-controls-panel__color-input,
    .font-controls-panel__color-input,
    .dendrogram-controls-panel__color-input,
    .significance-controls-panel__color-input,
    .additional-line-controls-panel__color-input,
    .shared-color-picker__color-input
):focus-visible {
    outline: var(--ui-focus-outline);
    outline-offset: var(--ui-focus-offset);
}

/* Global sharp-corner policy for all button-like controls across workspaces/toolbars. */
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
[role="button"],
.btn,
.workspace-action-btn,
.workspace-toolbar__button,
.workspace-toolbar__tab,
.workspace-toolbar__menu-item,
.workspace-toolbar__icon,
.workspace-tab,
.workspace-tab__close,
.workspace-add-tab,
.welcome-picker__option,
.graph-card,
.font-controls-panel__format-button,
#boxPage .grouped-row button.grouped-remove,
#pcaPage .grouped-row button.grouped-remove,
#linePage .grouped-row button.grouped-remove,
#scatterPage .grouped-row button.grouped-remove,
.shared-border-style-chip,
.shared-fill-style-chip,
.axis-controls-panel__button,
.axis-controls-panel__checkbox-chip,
.significance-controls-panel__checkbox-chip {
    border-radius: 0 !important;
}

/* The welcome workspace uses one restrained radius scale rather than the
   application-wide square-control default: surfaces 8px, tiles 6px, controls 4px. */
#welcomeScreen .graph-card,
.welcome-screen .graph-card,
#graphSelectionGrid .graph-card {
    border-radius: 6px !important;
}

#welcomeScreen .welcome-picker,
.welcome-screen .welcome-picker,
#welcomeScreen .welcome-drop-zone,
.welcome-screen .welcome-drop-zone,
#welcomeScreen .welcome-hero__search-input,
.welcome-screen .welcome-hero__search-input,
#welcomeScreen .welcome-hero__search-results,
.welcome-screen .welcome-hero__search-results,
#welcomeScreen .welcome-example-card,
.welcome-screen .welcome-example-card,
#welcomeScreen .graph-card__icon,
.welcome-screen .graph-card__icon,
#welcomeScreen .graph-card__action,
.welcome-screen .graph-card__action,
#welcomeExamplesDialog .welcome-example-card,
#welcomeExamplesDialog .welcome-dialog__close {
    border-radius: 4px !important;
}
.fit-spec-badge{
  display:inline-block;
  margin-left:8px;
  padding:1px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:600;
  line-height:1.6;
  background:#ececec;
  color:#4b5563;
  vertical-align:middle;
}
.fit-spec-badge[data-state="valid"]{
  background:#dcfce7;
  color:#166534;
}
.fit-spec-badge[data-state="invalid"]{
  background:#fee2e2;
  color:#991b1b;
}
.fit-spec-status{
  font-size:12px;
  line-height:1.45;
  color:#4b5563;
}
.fit-spec-status--inline{
  margin-top:-4px;
  margin-bottom:4px;
}
.fit-spec-status[data-state="valid"]{
  color:#166534;
}
.fit-spec-status[data-state="invalid"]{
  color:#991b1b;
}

/* Global suppression of native/browser focus ring highlights. */
button:focus,
button:focus-visible,
input:focus,
input:focus-visible,
select:focus,
select:focus-visible,
textarea:focus,
textarea:focus-visible,
a:focus,
a:focus-visible,
[tabindex]:focus,
[tabindex]:focus-visible{
  outline:none !important;
  box-shadow:none !important;
}


.workspace-tab.has-activation-error {
    border-top-color: #dc2626;
}

.workspace-tab__activation-error {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 999px;
    background: #dc2626;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    margin-left: 2px;
    flex: 0 0 auto;
}

/* Axis length is one compound control. A restrained top bracket makes the
   numeric value, unit selector, and ratio toggle read as one section without
   adding a full fieldset box to the compact axis toolbar. */
.axis-controls-panel__field--length{
    position:relative;
}
.axis-controls-panel__field--length::before{
    content:"";
    position:absolute;
    top:7px;
    left:0;
    right:0;
    height:7px;
    box-sizing:border-box;
    border-top:1px solid #cbd5e1;
    border-left:1px solid #cbd5e1;
    border-right:1px solid #cbd5e1;
    border-radius:0;
    pointer-events:none;
}
.axis-controls-panel__field--length > .axis-controls-panel__field-label{
    position:relative;
    z-index:1;
    padding-inline:8px;
    background:#fff;
}

/* Workspace toolbar overflow rail -------------------------------------------------
   Every toolbar section keeps its controls in one owner-preserving DOM tree. The
   outer rail handles constrained widths; controls are never cloned or moved into
   a second menu/state surface. */
.workspace-toolbar,
.workspace-toolbar__content{
    min-width:0;
    width:100%;
}
.workspace-toolbar__section.workspace-toolbar__section--active{
    align-items:stretch;
    min-width:0;
    overflow:visible;
}
.workspace-toolbar__overflow-shell{
    position:relative;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    width:100%;
    height:100%;
    min-width:0;
}
.workspace-toolbar__overflow-viewport{
    display:flex;
    align-items:center;
    min-width:0;
    width:100%;
    height:100%;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    -ms-overflow-style:none;
    touch-action:pan-x pan-y;
}
.workspace-toolbar__overflow-viewport::-webkit-scrollbar{
    display:none;
    width:0;
    height:0;
}
.workspace-toolbar__overflow-track{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    flex:0 0 max-content;
    width:max-content;
    min-width:max-content;
    height:100%;
    margin-inline:auto;
}
.workspace-toolbar__overflow-shell[data-toolbar-overflow='1'] .workspace-toolbar__overflow-track{
    margin-inline:0;
}
.workspace-toolbar__overflow-button{
    position:relative;
    z-index:4;
    display:flex;
    align-self:stretch;
    align-items:center;
    justify-content:center;
    width:28px;
    min-width:28px;
    height:100%;
    margin:0;
    padding:0;
    border:0;
    border-inline:1px solid #b8c0ca;
    border-radius:0;
    background:#f7f8fa;
    color:#263442;
    box-shadow:none;
    filter:none;
    cursor:pointer;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:background-color .1s ease,opacity .1s ease;
}
.workspace-toolbar__overflow-button.workspace-toolbar__overflow-button--visible{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}
.workspace-toolbar__overflow-button:hover{
    background:#eceff3;
}
.workspace-toolbar__overflow-button:active{
    background:#dfe3e8;
}
.workspace-toolbar__overflow-button:disabled{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
}
.workspace-toolbar__overflow-button svg{
    width:16px;
    height:16px;
}
.workspace-toolbar__buttons,
.workspace-toolbar__form{
    flex-wrap:nowrap;
    flex:0 0 auto;
    width:max-content;
    min-width:max-content;
}
.workspace-toolbar__section[data-transform-section='1']{
    align-items:stretch;
}
.workspace-toolbar__section[data-transform-section='1'] .workspace-toolbar__buttons{
    flex-wrap:nowrap;
    width:max-content;
    min-width:max-content;
    align-items:center;
}
.workspace-toolbar__overflow-track .workspace-toolbar__dock,
.workspace-toolbar__overflow-track .workspace-toolbar__dock--active{
    width:max-content;
    min-width:max-content;
    max-width:none;
}
.workspace-toolbar__overflow-track .font-toolbar-host,
.workspace-toolbar__overflow-track .font-toolbar-host.font-toolbar-host--visible,
.workspace-toolbar__overflow-track .workspace-toolbar__dock--active .font-toolbar-host{
    flex:0 0 auto;
    width:max-content;
    min-width:max-content;
    max-width:none;
    margin-inline:0;
    overflow:visible;
    justify-content:flex-start;
}
.workspace-toolbar__overflow-track .font-toolbar-host--line-dual,
.workspace-toolbar__overflow-track .font-toolbar-host--box-dual,
.workspace-toolbar__overflow-track .font-toolbar-host--heatmap-dual,
.workspace-toolbar__overflow-track .font-toolbar-host--scatter-dual,
.workspace-toolbar__overflow-track .font-toolbar-host--grid-dual,
.workspace-toolbar__overflow-track .font-toolbar-host--significance-dual{
    overflow:visible;
    max-width:none;
    justify-content:start;
}
.workspace-toolbar__overflow-viewport .workspace-toolbar__button[data-tooltip]::after{
    display:none;
}
.workspace-toolbar__floating-overlay{
    position:fixed !important;
    margin:0 !important;
    z-index:12050 !important;
}
.workspace-toolbar__menu--open > .workspace-toolbar__menu-list.workspace-toolbar__floating-overlay,
.workspace-toolbar__transform-custom-dropdown.workspace-toolbar__floating-overlay,
.axis-controls-panel__dropdown.workspace-toolbar__floating-overlay,
.font-controls-panel__combo-menu.workspace-toolbar__floating-overlay{
    display:flex;
}
.workspace-toolbar__overflow-button[hidden]{
    display:none !important;
}
