:root{--brand-50: #f2f5ff;--brand-100: #e4e9ff;--brand-200: #cbd6ff;--brand-300: #a9b8f5;--brand-400: #7d8be8;--brand-500: #5661c9;--brand-600: #454ba7;--brand-700: #363a82;--brand-800: #2a2d64;--ink-900: #1c2430;--ink-800: #2d3746;--slate-50: #f7f9f7;--slate-100: #eff4f1;--slate-200: #dde7e5;--slate-300: #c9d5dc;--slate-400: #a8b3be;--slate-500: #748192;--slate-600: #5b6878;--slate-700: #445163;--slate-800: #2d3746;--slate-900: #1c2430;--canvas: #f7f9f7;--surface: #ffffff;--science-teal: #1f7a68;--science-blue: #356db8;--science-sage: #6e8f64;--science-coral: #d96b6b;--science-lavender: #8e6dc8;--success-bg: #e6f7f2;--success-border: #bfe5dd;--warning: #9a6218;--warning-bg: #fff4d6;--warning-border: #edd48d;--error: #b42342;--error-bg: #fce7ed;--error-border: #f3b6c4;--info-bg: #eaf2ff;--info-border: #c9ddf2;--color-bg-app: var(--canvas);--color-bg-surface: var(--surface);--color-bg-subtle: var(--slate-50);--color-bg-muted: var(--slate-100);--color-bg-header: var(--ink-900);--color-bg-header-secondary: var(--ink-800);--color-border: var(--slate-300);--color-border-subtle: var(--slate-200);--color-border-strong: var(--slate-400);--color-text: var(--ink-900);--color-text-secondary: var(--slate-700);--color-text-helper: var(--slate-600);--color-text-muted: var(--slate-500);--color-text-disabled: var(--slate-400);--color-text-inverse: var(--surface);--color-action-primary: var(--brand-500);--color-action-accent: var(--brand-400);--color-action-primary-hover: var(--brand-600);--color-action-primary-active: var(--brand-700);--color-action-subtle-hover-bg: var(--brand-100);--color-action-selected-bg: var(--brand-50);--color-action-selected-border: var(--brand-200);--color-action-selected-border-strong: var(--brand-300);--color-action-selected-text: var(--brand-600);--color-action-selected-text-strong: var(--brand-800);--color-focus-ring: var(--brand-100);--color-success: var(--science-teal);--color-success-bg: var(--success-bg);--color-success-border: var(--success-border);--color-success-text: var(--science-teal);--color-info: var(--science-blue);--color-info-bg: var(--info-bg);--color-info-border: var(--info-border);--color-info-text: var(--science-blue);--color-warning: var(--warning);--color-warning-bg: var(--warning-bg);--color-warning-border: var(--warning-border);--color-warning-text: var(--warning);--color-error: var(--error);--color-error-bg: var(--error-bg);--color-error-border: var(--error-border);--color-error-text: var(--error);--color-chart-text: var(--color-text);--color-chart-grid: var(--color-border-subtle);--color-chart-grid-strong: var(--color-border);--color-chart-zero-line: var(--color-border-strong);--color-chart-plot-surface: var(--color-bg-subtle);--color-chart-paper-surface: var(--color-bg-surface);--color-chart-legend-surface: var(--color-bg-surface-translucent);--color-overlay-on-dark: rgb(255 255 255 / 6%);--color-overlay-on-dark-strong: rgb(255 255 255 / 14%);--color-overlay-on-dark-border: rgb(255 255 255 / 14%);--color-bg-surface-translucent: rgb(255 255 255 / 88%);--shadow-control-highlight: inset 0 1px 0 rgb(255 255 255 / 75%);--shadow-control-raised: 0 1px 2px rgb(0 0 0 / 15%);--shadow-sm: 0 1px 2px rgb(0 0 0 / 5%);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / 10%);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 10%);--primary-50: var(--brand-50);--primary-100: var(--brand-100);--primary-200: var(--brand-200);--primary-300: var(--brand-300);--primary-400: var(--brand-400);--primary-500: var(--brand-500);--primary-600: var(--brand-600);--primary-700: var(--brand-700);--primary-800: var(--brand-800);--blue-50: var(--color-info-bg);--blue-200: var(--color-info-border);--blue-600: var(--color-info);--green-50: var(--color-success-bg);--green-100: var(--color-success-bg);--green-200: var(--color-success-border);--green-600: var(--color-success);--amber-50: var(--color-warning-bg);--amber-100: var(--color-warning-bg);--amber-200: var(--color-warning-border);--amber-700: var(--color-warning);--amber-800: var(--color-warning-text);--red-50: var(--color-error-bg);--red-100: var(--color-error-bg);--red-200: var(--color-error-border);--red-600: var(--color-error);--red-700: var(--color-error-text);--success: var(--color-success);--success-text: var(--color-success-text);--warning-text: var(--color-warning-text);--error-text: var(--color-error-text)}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px}.app{display:flex;flex-direction:column;min-height:100vh;background:var(--color-bg-app)}.app-header{background:var(--color-bg-header);color:var(--color-text-inverse);padding:var(--space-4) var(--space-6);box-shadow:var(--shadow-md);position:sticky;top:0;z-index:100}.header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:var(--space-5)}.header-brand{display:flex;align-items:center;gap:var(--space-3);min-width:260px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:54px;height:54px;padding:6px;border:1px solid var(--color-overlay-on-dark-border);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:var(--shadow-control-raised);overflow:hidden}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain;transform:scale(1.42)}.header-title{min-width:0}.header-title h1{font-size:23px;font-weight:700;margin-bottom:2px;letter-spacing:0}.header-title .subtitle{font-size:14px;opacity:.85;font-weight:400}.brand-affiliation{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:var(--space-2);color:var(--color-text-inverse);font-size:11px;font-weight:800;letter-spacing:.06em;line-height:1.2;text-transform:uppercase}.brand-affiliation span{display:inline-flex;align-items:center;min-height:22px;padding:0 var(--space-2);border:1px solid var(--color-overlay-on-dark-border);border-radius:var(--radius-sm);background:var(--color-overlay-on-dark)}.header-nav{display:flex;gap:var(--space-2);min-width:0;flex:1 1 auto;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}.nav-tab{background:var(--color-overlay-on-dark);border:1px solid var(--color-overlay-on-dark-border);color:var(--color-text-inverse);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.nav-tab:hover{background:var(--color-overlay-on-dark-strong)}.nav-tab.active{background:var(--color-action-primary);color:var(--color-text-inverse);border-color:var(--color-action-primary)}.header-session{display:flex;flex:0 0 auto;align-items:center;gap:var(--space-2);max-width:190px}.header-session-name{overflow:hidden;color:var(--color-text-inverse);font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.header-sign-out{flex:0 0 auto;padding:var(--space-2) var(--space-3);border:1px solid var(--color-overlay-on-dark-border);border-radius:var(--radius-md);background:var(--color-overlay-on-dark);color:var(--color-text-inverse);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.header-sign-out:hover{background:var(--color-overlay-on-dark-strong)}.app-main{flex:1;min-width:0;padding:var(--space-6)}.main-content{min-width:0;width:100%;max-width:1400px;margin:0 auto}.app-footer{background:var(--color-bg-header-secondary);color:var(--color-text-disabled);text-align:center;padding:var(--space-4);font-size:13px;line-height:1.6}.app-footer p{max-width:960px;margin:0 auto}.app-footer strong{color:var(--color-text-inverse);font-weight:800}.app-footer a{color:var(--color-text-inverse);font-weight:700;text-decoration-color:var(--color-overlay-on-dark-border);text-underline-offset:3px}.app-footer a:hover{color:var(--color-action-subtle-hover-bg)}.trial-description-banner{margin:var(--space-4) 0 0;border:1px solid var(--color-action-selected-border);border-radius:var(--radius-md);background:var(--color-action-selected-bg);overflow:hidden}.trial-description-toggle{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-4);background:transparent;border:none;cursor:pointer;text-align:left;color:var(--color-action-primary-active);font-size:13px;font-weight:500}.trial-description-toggle:hover{background:var(--color-action-subtle-hover-bg)}.trial-description-icon{font-style:normal;font-size:14px}.trial-description-title{flex:1}.trial-description-chevron{font-size:10px;color:var(--color-text-disabled)}.trial-description-text{margin:0;padding:0 var(--space-4) var(--space-3);font-size:13px;line-height:1.6;color:var(--color-text-secondary)}.bland-altman-page,.audpc-page{background:var(--color-bg-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-6)}.compare-audpc-page .compare-controls,.compare-bland-altman-page .compare-controls{align-items:stretch}.analysis-workspace{display:flex;flex-direction:column;gap:var(--space-4);max-width:1440px;margin:0 auto}.analysis-workspace-scope,.analysis-workspace-header,.analysis-workspace-strip,.analysis-workspace-timeline,.analysis-workspace-advanced,.analysis-workspace-primary{min-width:0}.dataset-scope-bar{display:flex;flex-direction:column;gap:0;padding:0;border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:var(--shadow-sm);overflow:hidden}.dataset-scope-band{padding:var(--space-4)}.dataset-scope-band--context{background:linear-gradient(180deg,var(--color-bg-subtle) 0%,var(--color-bg-app) 100%);border-bottom:1px solid var(--color-border-subtle)}.dataset-scope-band--analysis{position:relative;background:var(--color-bg-surface)}.dataset-scope-band--analysis:before{content:"";position:absolute;top:var(--space-4);bottom:var(--space-4);left:0;width:4px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-action-primary)}.dataset-scope-band-header{display:flex;align-items:center;margin-bottom:var(--space-3)}.dataset-scope-band-label{display:inline-flex;align-items:center;min-height:22px;padding:0 var(--space-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-helper);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.dataset-scope-band--analysis .dataset-scope-band-label{border-color:var(--color-action-selected-border);background:var(--color-action-selected-bg);color:var(--color-action-selected-text)}.dataset-scope-filters,.dataset-scope-primary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3);align-items:end}.dataset-scope-primary{grid-template-columns:minmax(240px,1.8fr) repeat(auto-fit,minmax(140px,1fr))}.dataset-scope-bar label{display:flex;flex-direction:column;gap:6px;color:var(--color-text-helper);font-size:12px;font-weight:800;letter-spacing:.01em}.dataset-scope-bar select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-height:42px;padding:0 42px 0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-surface);background-image:linear-gradient(45deg,transparent 50%,var(--color-text-muted) 50%),linear-gradient(135deg,var(--color-text-muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%;background-repeat:no-repeat;background-size:6px 6px;color:var(--color-text);font-size:14px;font-weight:600;line-height:1.2;box-shadow:var(--shadow-control-highlight);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.dataset-scope-bar select:hover{border-color:var(--color-border-strong);background-color:var(--color-bg-subtle)}.dataset-scope-bar select:focus{outline:none;border-color:var(--color-action-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.dataset-scope-bar select:disabled{cursor:not-allowed;background-color:var(--color-bg-muted);color:var(--color-text-muted);opacity:1}.dataset-scope-band--context select{min-height:38px;background-color:var(--color-bg-surface-translucent);font-size:13px}.dataset-scope-clear{min-height:38px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-secondary);font-weight:700;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.dataset-scope-clear:hover:not(:disabled){border-color:var(--color-action-selected-border);background:var(--color-action-selected-bg);color:var(--color-action-selected-text)}.dataset-scope-clear:disabled{cursor:not-allowed;opacity:.55}.dataset-scope-message{margin:0;padding:0 var(--space-4) var(--space-3);color:var(--color-warning);font-size:13px}.multi-year-page{display:flex;flex-direction:column;gap:var(--space-4)}.multi-year-context-fields{grid-template-columns:minmax(260px,1.5fr) minmax(180px,.8fr) minmax(280px,2fr) auto}.multi-year-analysis-fields{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.multi-year-setup-status{display:grid;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-subtle);color:var(--color-text-secondary);font-size:12px;line-height:1.4}.multi-year-setup-status>div{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:baseline}.multi-year-setup-status strong{color:var(--color-text);font-weight:800}.multi-year-setup-label{min-width:110px;color:var(--color-text-helper);font-weight:800;text-transform:uppercase}.multi-year-year-group{display:flex;flex-direction:column;gap:6px;min-width:0}.multi-year-year-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);color:var(--color-text-helper);font-size:12px;font-weight:800;letter-spacing:.01em}.multi-year-year-header span:last-child{color:var(--color-text-muted);font-size:11px;font-weight:700}.multi-year-year-options{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;min-height:38px}.dataset-scope-bar .multi-year-year-chip{display:inline-flex;flex-direction:row;align-items:center;gap:6px;min-height:32px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface-translucent);color:var(--color-text-secondary);cursor:pointer;font-size:13px;font-weight:700;letter-spacing:0;-webkit-user-select:none;user-select:none;transition:border-color .15s ease,background .15s ease,color .15s ease}.dataset-scope-bar .multi-year-year-chip:hover{border-color:var(--color-action-selected-border);background:var(--color-action-selected-bg);color:var(--color-action-primary-active)}.dataset-scope-bar .multi-year-year-chip.selected{border-color:var(--color-action-selected-border-strong);background:var(--color-action-selected-bg);color:var(--color-action-primary-active)}.multi-year-year-chip input{margin:0;accent-color:var(--color-action-selected-text)}.multi-year-reset{align-self:end;padding:0 var(--space-4)}.multi-year-control-error{margin-bottom:var(--space-3)}.multi-year-materials-section{min-width:0;flex:none;background:var(--color-bg-surface)}.multi-year-material-year{margin-bottom:var(--space-3)}.multi-year-material-year:last-child{margin-bottom:0}.dataset-summary-header{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:var(--shadow-sm)}.dataset-summary-main{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start}.dataset-summary-kicker{margin:0 0 var(--space-1);color:var(--color-success);font-size:12px;font-weight:800;text-transform:uppercase}.dataset-summary-header h2{margin:0;color:var(--color-text);font-size:24px;font-weight:800}.dataset-summary-badges,.dataset-summary-context,.dataset-summary-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.dataset-summary-badges span,.dataset-summary-context span,.dataset-summary-tags span{display:inline-flex;align-items:center;min-height:28px;padding:0 var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-subtle);color:var(--color-text-secondary);font-size:13px;font-weight:700}.dataset-summary-context span{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}.dataset-summary-description{max-width:960px;margin:0;color:var(--color-text-helper);font-size:14px;line-height:1.55}.feature-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:var(--shadow-sm)}.feature-strip-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:56px;padding:var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-text-helper);cursor:pointer;text-align:left}.feature-strip-item:hover{background:var(--color-bg-subtle)}.feature-strip-item.active{border-color:var(--color-action-selected-border);background:var(--color-action-selected-bg);color:var(--color-action-selected-text-strong)}.feature-strip-item:disabled{cursor:not-allowed;opacity:.45}.feature-strip-label{font-size:14px;font-weight:800;overflow-wrap:anywhere}.feature-strip-detail{font-size:12px;color:var(--color-text-muted)}.timepoint-timeline{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:var(--shadow-sm)}.timepoint-timeline-item{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:112px;min-height:54px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-subtle);color:var(--color-text-secondary);cursor:pointer;text-align:left}.timepoint-timeline-item.active{border-color:var(--color-action-selected-border);background:var(--color-action-selected-bg);color:var(--color-action-selected-text)}.timepoint-timeline-item:disabled{cursor:not-allowed;opacity:.48}.timepoint-timeline-item:disabled:not(.active){background:var(--color-bg-muted);color:var(--color-text-muted)}.timepoint-timeline-index{font-size:12px;font-weight:800}.timepoint-timeline-label{font-size:12px;white-space:nowrap}.visible-analysis-controls{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:var(--shadow-sm)}.visible-analysis-controls-header{display:flex;justify-content:space-between;gap:var(--space-4);align-items:center}.visible-analysis-controls-header>div{min-width:0}.visible-analysis-controls-header h2{margin:0;color:var(--color-text);font-size:15px;font-weight:800}.visible-analysis-controls-header p{margin:2px 0 0;color:var(--color-text-muted);font-size:12px}.reset-filters-button.visible-analysis-reset{width:auto;min-width:150px;flex:0 0 auto;align-self:center;white-space:nowrap}.advanced-controls-layout{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(280px,1fr) minmax(300px,1fr);gap:var(--space-3);align-items:start}.advanced-controls-layout-primary{grid-template-columns:minmax(280px,.72fr) minmax(420px,1fr)}.advanced-controls-layout .control-section,.advanced-controls-layout .treatment-filter-section,.advanced-controls-layout .graph-display-section{min-width:0;box-shadow:none}.advanced-controls-layout .control-section{gap:var(--space-3);padding:var(--space-3);background:var(--color-bg-surface)}.advanced-controls-layout .treatment-filter-header,.advanced-controls-layout .graph-display-header{padding:10px var(--space-3)}.advanced-controls-layout .treatment-filter-content,.advanced-controls-layout .graph-display-content{gap:var(--space-3);padding:var(--space-3)}.advanced-controls-layout .control-group{min-width:0}.advanced-controls-layout .control-group label,.advanced-controls-layout .control-section-title,.advanced-controls-layout .treatment-filter-title,.advanced-controls-layout .graph-display-title{font-size:11px;letter-spacing:.06em}.advanced-controls-layout .control-group select,.advanced-controls-layout .control-group input[type=number],.advanced-controls-layout .multiselect-button{min-height:38px;font-size:13px}.advanced-controls-layout .sort-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-3)}.advanced-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-2)}.advanced-checkbox-grid .toggle-label{display:flex;align-items:center;gap:var(--space-2);min-height:34px;padding:6px var(--space-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-subtle);color:var(--color-text-secondary);font-size:12px;font-weight:700;text-transform:none;letter-spacing:0}.advanced-checkbox-grid input[type=checkbox]{margin:0;accent-color:var(--color-action-selected-text)}.workspace-controls{margin-bottom:0;padding-bottom:0;border-bottom:0}.single-source-metric-page .plot-section,.single-source-metric-page .source-metric-plot{margin-top:0}.toggle-group{display:flex;gap:var(--space-2);padding:4px;border-radius:var(--radius-md);background:var(--color-bg-muted);border:1px solid var(--color-border-subtle)}.toggle-button{flex:1;border:1px solid transparent;background:transparent;color:var(--color-text-helper);padding:6px 10px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.toggle-button.active{background:var(--color-bg-surface);color:var(--color-action-primary-active);border-color:var(--color-border-subtle);box-shadow:var(--shadow-sm)}.toggle-button:hover{color:var(--color-action-primary-active)}.control-section{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-subtle);min-width:260px;flex:1;overflow:visible}.control-section-compact{min-width:220px;flex:.6}.control-section-title{font-size:12px;font-weight:700;color:var(--color-text-helper);text-transform:uppercase;letter-spacing:.6px}.compare-plots,.compare-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:var(--space-6)}.compare-plot,.compare-table{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.compare-table h3{margin:0 0 var(--space-3);font-size:15px;color:var(--color-text-secondary)}.controls{display:flex;gap:var(--space-6);flex-wrap:wrap;align-items:flex-end;margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border-subtle)}.control-group{display:flex;flex-direction:column;gap:var(--space-2)}.control-group label{font-size:13px;font-weight:600;color:var(--color-text-helper);text-transform:uppercase;letter-spacing:.5px}.control-group select,.control-group input[type=number]{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;background:var(--color-bg-surface);min-width:180px;cursor:pointer;color:var(--color-text);transition:all .2s ease}.control-group select:hover,.control-group input[type=number]:hover{border-color:var(--color-text-disabled)}.control-group select:focus,.control-group input[type=number]:focus{outline:none;border-color:var(--color-action-primary);box-shadow:0 0 0 3px var(--color-action-subtle-hover-bg)}.info-chip{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-3);background:var(--color-action-selected-bg);color:var(--color-action-primary-active);border-radius:var(--radius-md);font-size:13px;font-weight:500;border:1px solid var(--color-action-selected-border)}.treatment-multiselect{position:relative}.multiselect-button{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;background:var(--color-bg-surface);min-width:180px;cursor:pointer;color:var(--color-text);transition:all .2s ease}.multiselect-button:hover{border-color:var(--color-text-disabled)}.multiselect-button:focus{outline:none;border-color:var(--color-action-primary);box-shadow:0 0 0 3px var(--color-action-subtle-hover-bg)}.dropdown-arrow{font-size:10px;color:var(--color-text-muted)}.multiselect-dropdown{position:absolute;top:100%;left:0;z-index:1000;min-width:240px;max-width:320px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);margin-top:var(--space-1)}.multiselect-dropdown-treatment{width:100%;min-width:0;max-width:100%}.multiselect-actions{display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-subtle);background:var(--color-bg-subtle)}.multiselect-actions button{flex:1;padding:var(--space-1) var(--space-2);font-size:12px;font-weight:500;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-helper);cursor:pointer;transition:all .15s ease}.multiselect-actions button:hover{background:var(--color-action-selected-bg);border-color:var(--color-action-selected-border-strong);color:var(--color-action-primary-active)}.multiselect-options{max-height:280px;overflow-y:auto;padding:var(--space-2) 0}.multiselect-option{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:13px;color:var(--color-text-secondary);cursor:pointer;transition:background .15s ease}.multiselect-option:hover{background:var(--color-action-selected-bg)}.multiselect-option input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-action-primary-hover);cursor:pointer}.multiselect-option>span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multiselect-option-with-subtext{align-items:flex-start}.multiselect-option-with-subtext input[type=checkbox]{margin-top:2px}.multiselect-option-text{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.multiselect-option-label{display:block;line-height:1.25;white-space:normal;word-break:normal}.multiselect-option-subtext{color:var(--color-text-muted);font-size:11px;line-height:1.35;white-space:normal;overflow-wrap:break-word;word-break:normal}.multiselect-dropdown-treatment .multiselect-options{padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2)}.multiselect-dropdown-treatment .multiselect-option{padding:0;cursor:default}.multiselect-dropdown-treatment .multiselect-option:hover{background:transparent}.multiselect-option-card{width:100%;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-bg-surface);padding:var(--space-2);display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);cursor:pointer;color:inherit;text-align:left;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.multiselect-option-card:hover{border-color:var(--color-action-selected-border-strong);background:var(--color-action-selected-bg)}.multiselect-option-card:focus-visible{outline:none;border-color:var(--color-action-primary);box-shadow:0 0 0 2px var(--color-action-subtle-hover-bg)}.multiselect-option-card-selected{border-color:var(--color-action-accent);background:var(--color-action-selected-bg)}.multiselect-option-card-indicator{display:inline-flex;align-items:center;justify-content:center;align-self:flex-end;min-width:62px;height:22px;padding:0 var(--space-2);border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--color-text-muted);background:var(--color-bg-muted);white-space:nowrap}.multiselect-option-card-selected .multiselect-option-card-indicator{color:var(--color-action-primary-active);background:var(--color-action-subtle-hover-bg)}.multiselect-search{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-subtle)}.multiselect-search-input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;color:var(--color-text);background:var(--color-bg-surface);transition:border-color .15s ease,box-shadow .15s ease}.multiselect-search-input:focus{outline:none;border-color:var(--color-action-primary);box-shadow:0 0 0 2px var(--color-action-subtle-hover-bg)}.multiselect-search-input::placeholder{color:var(--color-text-disabled)}.multiselect-no-results{padding:var(--space-3) var(--space-4);font-size:13px;color:var(--color-text-muted);text-align:center;font-style:italic}.metrics-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.metric-card{background:var(--color-bg-subtle);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-4)}.metric-card h4{font-size:14px;font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-subtle)}.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.metric-item{display:flex;flex-direction:column;gap:2px}.metric-label{font-size:11px;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.3px}.metric-value{font-size:18px;font-weight:700;color:var(--color-action-primary-active)}.plot-section{margin-bottom:var(--space-6)}.feature-local-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:var(--shadow-sm)}.feature-local-toolbar-copy{display:flex;flex-direction:column;gap:2px;min-width:180px}.feature-local-toolbar-title{color:var(--color-text-secondary);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.feature-local-toolbar-detail{color:var(--color-text-muted);font-size:12px;font-weight:600}.feature-local-toolbar-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.ranking-toolbar{align-items:flex-start;flex-wrap:wrap}.ranking-toolbar .feature-local-toolbar-copy{flex:0 0 190px}.significance-toolbar{align-items:flex-start}.significance-toolbar .feature-local-toolbar-copy{flex:1 1 240px}.significance-toolbar-actions{align-items:flex-end}.feature-local-toolbar .sort-controls{display:grid;flex:1 1 420px;grid-template-columns:repeat(3,minmax(120px,1fr));gap:var(--space-2);min-width:280px}.feature-local-toolbar .sort-controls .control-group{min-width:0;margin:0}.feature-local-toolbar .sort-controls .control-group label{font-size:11px}.feature-local-toolbar .sort-controls .control-group select,.feature-local-toolbar .sort-controls .control-group input[type=number]{width:100%;min-width:0;min-height:34px;font-size:12px}.feature-local-toggle{display:inline-flex;align-items:center;gap:var(--space-2);min-height:34px;padding:6px var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-subtle);color:var(--color-text-secondary);font-size:12px;font-weight:700;cursor:pointer}.feature-local-toggle input[type=checkbox]{margin:0;accent-color:var(--color-action-primary-hover)}.feature-local-toggle:has(input:disabled){cursor:not-allowed;opacity:.58}.feature-local-control{display:inline-flex;flex-direction:column;gap:4px;min-width:180px;color:var(--color-text-secondary);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.feature-local-control select{width:100%;min-height:34px;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-surface);color:var(--color-text);font-size:12px;font-weight:600;letter-spacing:0;text-transform:none}.treatments-table-section{margin-top:var(--space-4)}.treatments-table-controls{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-3)}.treatments-table-section .toggle-label{display:inline-flex;align-items:center;gap:var(--space-2);font-size:14px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.treatments-table-section .toggle-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-action-primary)}.metrics-table-section{margin-top:var(--space-4)}.metrics-table-controls{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-3)}.metrics-table-section .toggle-label{display:inline-flex;align-items:center;gap:var(--space-2);font-size:14px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.metrics-table-section .toggle-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-action-primary)}.bland-altman-plot,.audpc-plot{border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-bg-surface)}.adjustable-plot{display:flex;width:100%;height:100%;min-width:0;min-height:0;flex-direction:column}.adjustable-plot-canvas{min-width:0;min-height:0;flex:1 1 auto}.y-axis-scale-controls{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3);padding:10px var(--space-4);border-bottom:1px solid var(--color-border-subtle);background:var(--color-bg-subtle)}.y-axis-scale-mode,.y-axis-scale-custom,.y-axis-scale-custom label{display:flex;align-items:flex-end;gap:var(--space-2)}.y-axis-scale-mode,.y-axis-scale-custom label{color:var(--color-text-secondary);font-size:12px;font-weight:700}.y-axis-scale-mode{flex-direction:column;align-items:flex-start}.y-axis-scale-custom{flex:1 1 520px;flex-wrap:wrap}.y-axis-scale-custom label{flex-direction:column;align-items:flex-start}.y-axis-scale-mode select,.y-axis-scale-custom input{min-height:34px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text);font:inherit}.y-axis-scale-mode select{min-width:126px;padding:6px 30px 6px 10px}.y-axis-scale-custom input{width:112px;padding:6px 10px}.y-axis-scale-mode select:focus,.y-axis-scale-custom input:focus,.y-axis-scale-apply:focus-visible,.y-axis-scale-reset:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:1px}.y-axis-scale-custom input[aria-invalid=true]{border-color:var(--color-error-border)}.y-axis-scale-apply,.y-axis-scale-reset{min-height:34px;padding:6px 12px;border-radius:var(--radius-md);font-size:12px;font-weight:800;cursor:pointer}.y-axis-scale-apply{border:1px solid var(--color-action-primary);background:var(--color-action-primary);color:var(--color-text-inverse)}.y-axis-scale-apply:disabled{border-color:var(--color-border);background:var(--color-bg-muted);color:var(--color-text-disabled);cursor:not-allowed}.y-axis-scale-reset{border:1px solid var(--color-border);background:var(--color-bg-surface);color:var(--color-text-secondary)}.y-axis-scale-status,.y-axis-scale-error{align-self:center;font-size:12px}.y-axis-scale-status{color:var(--color-text-helper)}.y-axis-scale-error{color:var(--color-error-text);font-weight:700}.plot-card{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);overflow:hidden}.plot-card-tall{min-height:500px;height:clamp(500px,70vh,750px)}.plot-card .js-plotly-plot,.plot-card .plotly{width:100%!important;height:100%!important}.plot-empty{display:flex;align-items:center;justify-content:center;height:400px;background:var(--color-bg-subtle);border-radius:var(--radius-lg);color:var(--color-text-muted);font-size:14px}.plot-error{display:flex;align-items:center;justify-content:center;height:400px;background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-lg);color:var(--color-error);font-size:14px;padding:var(--space-4);text-align:center}.stats-section{margin-bottom:var(--space-6)}.stats-section h2{font-size:18px;font-weight:600;margin-bottom:var(--space-4);color:var(--color-text)}.stats-table-container{overflow-x:auto;border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg)}.stats-table-actions{display:flex;justify-content:flex-end;padding:var(--space-3) var(--space-4);background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border-subtle)}.csv-download-button{padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-md);background:var(--color-action-primary-hover);color:var(--color-text-inverse);font-size:13px;font-weight:600;cursor:pointer;transition:background .2s ease}.csv-download-button:hover:not(:disabled){background:var(--color-action-primary-active)}.csv-download-button:disabled{background:var(--color-border);cursor:not-allowed}.stats-table{width:100%;border-collapse:collapse;font-size:14px}.stats-table th,.stats-table td{padding:var(--space-3) var(--space-4);text-align:right;border-bottom:1px solid var(--color-border-subtle)}.stats-table th{background:var(--color-bg-subtle);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;font-size:11px;letter-spacing:.5px}.stats-table th:first-child,.stats-table td:first-child{text-align:left}.stats-table tbody tr:hover{background:var(--color-action-selected-bg)}.treatment-mapping-table tbody tr.treatment-alt{background:var(--color-bg-subtle)}.stats-table tbody tr:last-child td{border-bottom:none}.stats-table .combined-row{background:var(--color-action-selected-bg);font-weight:600}.stats-table .combined-row:hover{background:var(--color-action-subtle-hover-bg)}.stats-table .treatment-name{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;color:var(--color-text-helper)}.stats-table .audpc-value{font-weight:600;color:var(--color-action-primary-active)}.stats-table td.warning{color:var(--color-warning);background-color:var(--color-warning-bg)}.stats-table td.warning strong{color:var(--color-warning-text)}.table-note{padding:var(--space-3) var(--space-4);font-size:12px;color:var(--color-text-muted);background:var(--color-bg-subtle);border-top:1px solid var(--color-border-subtle)}.significance-section{margin-top:var(--space-4)}.significance-section-primary{margin-top:0;margin-bottom:var(--space-5)}.treatment-significance-widget .plot-empty{height:120px}.significance-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.significance-overview-card{border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-subtle);padding:var(--space-4)}.significance-table-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.significance-table-header h3{margin:0;color:var(--color-text);font-size:14px;font-weight:800}.significance-detail-panel{margin-top:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:var(--shadow-sm);overflow:hidden}.significance-detail-panel summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:44px;padding:var(--space-3) var(--space-4);color:var(--color-text);font-size:13px;font-weight:800;cursor:pointer}.significance-detail-panel summary span:last-child{color:var(--color-text-muted);font-size:12px;font-weight:700}.significance-detail-panel[open] summary{border-bottom:1px solid var(--color-border-subtle);background:var(--color-bg-subtle)}.significance-detail-panel .stats-table-container{margin:0;border:0;border-radius:0;box-shadow:none}.significance-overview-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-helper);margin-bottom:var(--space-2)}.significance-overview-value{font-size:20px;font-weight:700;color:var(--color-text);margin-bottom:var(--space-1)}.significance-overview-subvalue{font-size:13px;color:var(--color-text-secondary);margin-top:2px}.significance-badge{display:inline-block;margin-top:var(--space-3);padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.significance-badge.significant{background:var(--color-success-bg);color:var(--color-success-text);border:1px solid var(--color-success-border)}.significance-badge.not-significant{background:var(--color-bg-muted);color:var(--color-text-secondary);border:1px solid var(--color-border)}.significance-warnings{margin-bottom:var(--space-4);border:1px solid var(--color-warning-border);background:var(--color-warning-bg);border-radius:var(--radius-lg)}.significance-warning-row{padding:var(--space-3) var(--space-4);font-size:13px;color:var(--color-warning-text);border-top:1px solid var(--color-warning-bg)}.significance-warning-row:first-child{border-top:none}.info-section{background:var(--color-bg-subtle);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5)}.info-section h3{font-size:14px;font-weight:600;margin-bottom:var(--space-3);color:var(--color-text-secondary)}.info-section ul{list-style:none}.info-section li{font-size:13px;color:var(--color-text-helper);margin-bottom:var(--space-2);padding-left:var(--space-4);position:relative}.info-section li:before{content:"•";position:absolute;left:0;color:var(--color-action-primary)}.info-section li:last-child{margin-bottom:0}.info-section strong{color:var(--color-text)}.info-section h4{font-size:13px;font-weight:600;margin-top:var(--space-4);margin-bottom:var(--space-2);color:var(--color-text-secondary);border-top:1px solid var(--color-border-subtle);padding-top:var(--space-3)}.info-note{font-size:12px;color:var(--color-text-helper);line-height:1.6;margin-bottom:var(--space-2)}.info-note:last-child{margin-bottom:0}.comparison-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media (max-width: 900px){.comparison-stats-grid{grid-template-columns:1fr}}.comparison-stats-source{background:var(--color-bg-subtle);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-4)}.comparison-stats-source h3{font-size:14px;font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-subtle)}.comparison-stats-source .stats-table{margin:0}.source-comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:var(--space-6);align-items:start}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;color:var(--color-text-muted)}.loading-inline{display:inline-flex;align-items:center;gap:8px;margin-bottom:var(--space-4);color:var(--color-text-muted);font-size:13px;font-weight:500}.loading-inline:before{content:"";width:12px;height:12px;border:2px solid var(--color-border-subtle);border-top-color:var(--color-action-primary);border-radius:50%;animation:spin 1s linear infinite}.loading:before{content:"";width:32px;height:32px;border:3px solid var(--color-border-subtle);border-top-color:var(--color-action-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-3)}@keyframes spin{to{transform:rotate(360deg)}}.error-message{background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-6);display:flex;align-items:center;justify-content:space-between}.error-message p{color:var(--color-error);font-size:14px}.error-message button{padding:var(--space-2) var(--space-4);background:var(--color-error);color:var(--color-text-inverse);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:14px;font-weight:500;transition:background .2s ease}.error-message button:hover{background:var(--color-error)}.warning-message{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-6)}.warning-message p{color:var(--color-warning);font-size:14px;margin:0}.warning-message p+p{margin-top:var(--space-2)}.coverage-page{background:var(--color-bg-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-6)}.coverage-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.coverage-header h2{margin:0 0 var(--space-1);font-size:22px;color:var(--color-text)}.coverage-header p{margin:0;max-width:720px;color:var(--color-text-helper);font-size:14px;line-height:1.5}.coverage-refresh-button,.coverage-grain-button,.coverage-expand-button{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-secondary);cursor:pointer;font-size:13px;font-weight:600;transition:background .2s ease,border-color .2s ease,color .2s ease}.coverage-refresh-button{min-height:36px;padding:0 var(--space-4);white-space:nowrap}.coverage-refresh-button:hover:not(:disabled),.coverage-grain-button:hover,.coverage-expand-button:hover:not(:disabled){border-color:var(--color-action-primary);color:var(--color-action-primary-active);background:var(--color-action-selected-bg)}.coverage-refresh-button:disabled,.coverage-expand-button:disabled{cursor:not-allowed;opacity:.6}.coverage-controls{display:inline-flex;flex-wrap:wrap;gap:var(--space-1);padding:var(--space-1);margin-bottom:var(--space-5);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-muted)}.coverage-grain-button{min-height:34px;padding:0 var(--space-4);border-color:transparent;background:transparent}.coverage-grain-button.active{border-color:var(--color-border-subtle);background:var(--color-bg-surface);color:var(--color-action-primary-active);box-shadow:var(--shadow-sm)}.coverage-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.coverage-summary-metric{display:flex;min-height:96px;flex-direction:column;justify-content:space-between;gap:var(--space-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-subtle);padding:var(--space-4)}.coverage-summary-label,.coverage-summary-detail{font-size:12px;color:var(--color-text-muted)}.coverage-summary-label{font-weight:700;text-transform:uppercase;letter-spacing:.5px}.coverage-summary-value{font-size:24px;line-height:1;color:var(--color-text)}.coverage-status-strip{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.coverage-status-chip{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-helper);padding:var(--space-1) var(--space-3);font-size:12px;font-weight:600}.coverage-table-wrap{overflow-x:auto;border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg)}.coverage-table{width:100%;min-width:900px;border-collapse:collapse;font-size:13px}.coverage-table th,.coverage-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle);vertical-align:middle}.coverage-table th{background:var(--color-bg-subtle);color:var(--color-text-helper);font-size:11px;font-weight:700;letter-spacing:.5px;text-align:left;text-transform:uppercase}.coverage-table tbody tr:last-child td{border-bottom:none}.coverage-row:hover{background:var(--color-bg-subtle)}.coverage-dataset-cell{display:flex;min-width:240px;flex-direction:column;gap:var(--space-1)}.coverage-dataset-cell strong{color:var(--color-text)}.coverage-dataset-cell code{color:var(--color-text-muted);font-size:11px}.coverage-num{text-align:right;white-space:nowrap}.coverage-num--missing{color:var(--color-warning);font-weight:700}.coverage-num--unexpected{color:var(--color-error-text);font-weight:700}.coverage-status{display:inline-flex;align-items:center;min-height:24px;border-radius:var(--radius-sm);padding:0 var(--space-2);font-size:11px;font-weight:700;text-transform:uppercase;white-space:nowrap}.coverage-status--ok{border:1px solid var(--color-success-border);background:var(--color-success-bg);color:var(--color-success-text)}.coverage-status--no_mapping,.coverage-status--no_design{border:1px solid var(--color-border);background:var(--color-bg-muted);color:var(--color-text-helper)}.coverage-status--no_data{border:1px solid var(--color-warning-border);background:var(--color-warning-bg);color:var(--color-warning-text)}.coverage-status--error{border:1px solid var(--color-error-border);background:var(--color-error-bg);color:var(--color-error-text)}.coverage-expand-button{min-width:94px;min-height:30px;padding:0 var(--space-3)}.coverage-detail-row td{background:var(--color-bg-subtle);padding:var(--space-4)}.coverage-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:var(--space-4)}.coverage-detail-section{min-width:0;border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-surface);padding:var(--space-4)}.coverage-detail-section--wide{grid-column:1 / -1}.coverage-detail-section h4{margin:0 0 var(--space-3);color:var(--color-text-secondary);font-size:13px}.coverage-unit-list,.coverage-warning-list{display:flex;max-height:260px;flex-direction:column;gap:var(--space-2);margin:0;padding:0;overflow-y:auto;list-style:none}.coverage-unit-item{display:grid;grid-template-columns:minmax(160px,1fr) minmax(56px,auto) minmax(160px,1fr);gap:var(--space-2);align-items:center;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:var(--space-2);color:var(--color-text-secondary)}.coverage-unit-item code{overflow-wrap:anywhere;color:var(--color-text-helper);font-size:11px}.coverage-warning-list{color:var(--color-warning-text);font-size:13px;line-height:1.5}.coverage-status-note,.coverage-empty-detail{margin:0;color:var(--color-text-helper);font-size:13px;line-height:1.5}.coverage-status-note{margin-bottom:var(--space-3)}.multiselect-button.primary{background:var(--color-action-primary-hover);color:var(--color-text-inverse);font-weight:500}.multiselect-button.primary:hover:not(:disabled){background:var(--color-action-primary-active)}.multiselect-button.primary:disabled{background:var(--color-border);cursor:not-allowed;opacity:.7}@media (max-width: 768px){.header-content{flex-direction:column;gap:var(--space-3);text-align:center}.header-brand{justify-content:center;min-width:0;width:100%}.brand-affiliation{justify-content:center}.header-nav{width:100%;justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}.header-nav .nav-tab{flex:0 0 auto}.header-session{justify-content:center;width:100%;max-width:none}.app-main{padding:var(--space-4)}.controls{flex-direction:column;align-items:stretch}.advanced-controls-layout{grid-template-columns:1fr}.visible-analysis-controls-header{flex-direction:column}.reset-filters-button.visible-analysis-reset,.control-group select,.control-group input[type=number]{width:100%}.metrics-summary{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.coverage-header{flex-direction:column}.coverage-refresh-button{width:100%}.coverage-controls{display:flex}.coverage-grain-button{flex:1 1 150px}.coverage-detail-grid,.coverage-unit-item{grid-template-columns:1fr}}@media (max-width: 480px){.app-header{padding:var(--space-3) var(--space-4)}.header-brand{align-items:flex-start;text-align:left}.brand-mark{width:46px;height:46px;padding:5px}.header-title h1{font-size:20px}.header-title .subtitle{font-size:13px}.brand-affiliation{justify-content:flex-start;gap:4px;font-size:10px}.nav-tab{padding:var(--space-2) var(--space-3);font-size:13px}}.treatment-filter-section{border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-surface);overflow:visible;position:relative}.treatment-filter-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:var(--color-bg-muted);border-bottom:1px solid var(--color-border-subtle)}.treatment-filter-title{font-size:12px;font-weight:700;color:var(--color-text-helper);text-transform:uppercase;letter-spacing:.6px}.advanced-filter-toggle{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none}.advanced-filter-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-action-primary-hover);cursor:pointer}.advanced-filter-toggle .toggle-label{font-size:12px;font-weight:500;color:var(--color-text-helper)}.treatment-filter-content{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);overflow:visible}.treatment-filter-content .control-group{margin:0;position:relative}.treatment-filter-content .treatment-multiselect{width:100%;position:relative}.treatment-filter-content .multiselect-button{width:100%}.treatment-filter-content .multiselect-dropdown{z-index:1000}.raw-data-export-panel{border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-surface);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.raw-data-export-toggle{align-self:flex-start}.raw-data-export-content{display:flex;flex-direction:column;gap:var(--space-3)}.raw-export-rep-scope{display:flex;flex-wrap:wrap;gap:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.raw-export-rep-scope legend{font-size:12px;font-weight:700;color:var(--color-text-helper);text-transform:uppercase;letter-spacing:.6px;padding:0 var(--space-1)}.raw-export-rep-scope label,.raw-export-mapping-toggle{display:flex;align-items:center;gap:var(--space-2);font-size:13px;color:var(--color-text-secondary);cursor:pointer}.raw-export-column-list{max-height:220px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md)}.raw-export-row-count{font-size:12px;color:var(--color-text-muted);margin:0}.selected-treatments-dropdown{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-subtle)}.selected-treatments-dropdown summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);cursor:pointer;font-size:13px;font-weight:600;color:var(--color-text-secondary)}.selected-treatments-dropdown summary::-webkit-details-marker{display:none}.selected-treatments-dropdown summary:after{content:"▼";font-size:10px;color:var(--color-text-muted);margin-left:auto}.selected-treatments-dropdown[open] summary:after{content:"▲"}.selected-treatments-dropdown-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 var(--space-2);border-radius:999px;background:var(--color-action-subtle-hover-bg);color:var(--color-action-primary-active);font-size:11px;font-weight:700}.selected-treatments-dropdown-content{padding:0 var(--space-3) var(--space-3);border-top:1px solid var(--color-border-subtle);max-height:220px;overflow-y:auto}.selected-treatments-empty{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:12px}.selected-treatments-list{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.selected-treatments-item{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:var(--space-2);display:flex;flex-direction:column;gap:2px}.selected-treatments-item-label{font-size:12px;font-weight:600;color:var(--color-text-secondary)}.selected-treatments-item-subtext{font-size:11px;color:var(--color-text-muted);line-height:1.35;overflow-wrap:anywhere}.graph-display-section{border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-surface);overflow:visible;position:relative}.graph-display-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:var(--color-bg-muted);border-bottom:1px solid var(--color-border-subtle)}.graph-display-title{font-size:12px;font-weight:700;color:var(--color-text-helper);text-transform:uppercase;letter-spacing:.6px}.graph-display-content{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);overflow:visible}.graph-display-content .control-group{margin:0;position:relative}.graph-display-content .control-group select,.graph-display-content .control-group input[type=number]{width:100%;min-width:0}.replicate-selector{display:flex;flex-direction:column;gap:var(--space-2)}.replicate-selector-label{color:var(--color-text-secondary);font-size:12px;font-weight:700;letter-spacing:.3px}.replicate-selector-options{display:flex;flex-wrap:wrap;gap:var(--space-2)}.replicate-selector-button{min-height:40px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-secondary);font:inherit;font-size:13px;font-weight:600;cursor:pointer;touch-action:manipulation;transition:background .2s ease,border-color .2s ease,color .2s ease}.replicate-selector-button:hover{border-color:var(--color-action-selected-border-strong);background:var(--color-action-subtle-hover-bg);color:var(--color-action-selected-text-strong)}.replicate-selector-button:focus-visible{outline:2px solid var(--color-action-selected-border-strong);outline-offset:2px}.replicate-selector-button.is-selected{border-color:var(--color-action-selected-border-strong);background:var(--color-action-selected-bg);color:var(--color-action-selected-text-strong)}.replicate-filter-note{margin:0;color:var(--color-text-helper);font-size:12px;line-height:1.45}.color-mode-toggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.color-mode-label{font-size:11px;font-weight:500;color:var(--color-text-muted);letter-spacing:.3px}.color-mode-switch{position:relative;display:inline-block;width:32px;height:18px;border-radius:9px;background:var(--color-border);transition:background .2s ease;cursor:pointer;outline:none}.color-mode-switch:focus-visible{box-shadow:0 0 0 2px var(--color-action-selected-border)}.color-mode-switch.active{background:var(--color-action-primary)}.color-mode-switch-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--color-bg-surface);box-shadow:var(--shadow-control-raised);transition:transform .2s ease}.color-mode-switch.active .color-mode-switch-thumb{transform:translate(14px)}.reset-filters-group{margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle)}.reset-filters-button{width:100%;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-helper);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.reset-filters-button:hover{background:var(--color-bg-subtle);border-color:var(--color-text-disabled);color:var(--color-text-secondary)}.reset-filters-button:active{background:var(--color-bg-muted)}.validation-dashboard-page{display:flex;flex-direction:column;gap:var(--space-6)}.validation-header{display:flex;justify-content:space-between;align-items:center}.validation-header h2{font-size:20px;font-weight:700;color:var(--color-text);margin:0}.validation-refresh-button{padding:var(--space-2) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.validation-refresh-button:hover:not(:disabled){background:var(--color-bg-subtle);border-color:var(--color-action-primary);color:var(--color-action-primary-active)}.validation-refresh-button:disabled{opacity:.6;cursor:not-allowed}.validation-cards{display:flex;flex-direction:column;gap:var(--space-4)}.validation-card{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border-left:4px solid var(--color-border);overflow:hidden}.validation-card--pass{border-left-color:var(--color-success)}.validation-card--warning{border-left-color:var(--color-warning)}.validation-card--error{border-left-color:var(--color-error)}.validation-card-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--space-4) var(--space-5);background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;transition:background .15s ease}.validation-card-header:hover{background:var(--color-bg-subtle)}.validation-card-title{display:flex;align-items:center;gap:var(--space-3)}.validation-card-title h3{font-size:16px;font-weight:600;color:var(--color-text);margin:0}.validation-card-title .dataset-id{font-size:13px;color:var(--color-text-muted);font-weight:400}.expand-icon{font-size:11px;color:var(--color-text-disabled);width:16px}.validation-card-meta{display:flex;align-items:center;gap:var(--space-2)}.file-count{font-size:12px;color:var(--color-text-muted);font-weight:500}.meta-chip{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.meta-chip--error{background:var(--color-error-bg);color:var(--color-error-text)}.meta-chip--warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.status-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:700;letter-spacing:.5px}.status-badge--pass{background:var(--color-success-bg);color:var(--color-success-text)}.status-badge--warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.status-badge--error{background:var(--color-error-bg);color:var(--color-error-text)}.validation-card-body{padding:0 var(--space-5) var(--space-5)}.validation-source-section{margin-top:var(--space-5)}.validation-source-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.validation-source-title{font-size:13px;font-weight:700;color:var(--color-text-helper);text-transform:uppercase;letter-spacing:.5px;margin:0}.source-summary{display:inline-flex;align-items:center;gap:var(--space-2);font-size:12px;color:var(--color-text-muted);font-weight:500}.source-summary-chip{display:inline-block;padding:1px 7px;border-radius:10px;font-size:11px;font-weight:600}.source-summary-chip--error{background:var(--color-error-bg);color:var(--color-error-text)}.source-summary-chip--warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.source-summary-chip--pass{background:var(--color-success-bg);color:var(--color-success-text)}.validation-file-table{width:100%;border-collapse:collapse;font-size:13px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden}.validation-file-table th,.validation-file-table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--color-border-subtle)}.validation-file-table th{background:var(--color-bg-muted);font-weight:600;color:var(--color-text-helper);text-transform:uppercase;font-size:11px;letter-spacing:.4px}.validation-num{font-variant-numeric:tabular-nums}.validation-file-row--error{background:var(--color-error-bg)}.validation-file-row--warning{background:var(--color-warning-bg)}.validation-file-row--pass{background:var(--color-bg-surface)}.validation-file-table tbody tr.validation-file-row:hover{filter:brightness(.97)}.validation-file-table tbody tr:last-child td{border-bottom:none}.validation-filename{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;color:var(--color-text-secondary)}.missing-treatments{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;color:var(--color-error);font-weight:500}.no-missing{color:var(--color-text-disabled)}.validation-detail-row{background:var(--color-bg-subtle)}.validation-detail-row:hover{background:var(--color-bg-subtle)!important}.validation-detail-row td{padding:0}.validation-detail-content{padding:var(--space-2) var(--space-4) var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.validation-messages{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.validation-messages li{display:flex;align-items:flex-start;gap:var(--space-2);font-size:12px;line-height:1.5;padding:4px var(--space-3);border-radius:var(--radius-sm)}.validation-messages li:before{flex-shrink:0;font-weight:700;font-size:11px;margin-top:1px}.validation-messages--error li{background:var(--color-error-bg);color:var(--color-error-text)}.validation-messages--error li:before{content:"ERROR";color:var(--color-error)}.validation-messages--warning li{background:var(--color-warning-bg);color:var(--color-warning-text)}.validation-messages--warning li:before{content:"WARN";color:var(--color-warning)}.validation-missing-keys{display:flex;flex-direction:column;gap:var(--space-2)}.validation-missing-keys-toggle{align-self:flex-start;border:1px solid var(--color-border);background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:12px;font-weight:600;border-radius:var(--radius-sm);padding:4px var(--space-2);cursor:pointer}.validation-missing-keys-toggle:hover{background:var(--color-bg-muted)}.validation-missing-keys-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.validation-missing-keys-list li{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:var(--radius-sm);padding:4px var(--space-2);font-size:12px;color:var(--color-warning-text);overflow-wrap:anywhere}.validation-missing-keys-list code{font-family:Monaco,Menlo,Ubuntu Mono,monospace}.validation-empty{font-size:13px;color:var(--color-text-muted);font-style:italic;padding:var(--space-3) 0}.validation-placeholder{background:var(--color-bg-subtle);border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center}.validation-placeholder h3{font-size:16px;font-weight:600;color:var(--color-text-helper);margin:0 0 var(--space-2)}.validation-placeholder p{font-size:14px;color:var(--color-text-muted);margin:0}.downloads-page{display:flex;flex-direction:column;gap:var(--space-6)}.downloads-header{display:flex;justify-content:space-between;align-items:center}.downloads-header h2{font-size:20px;font-weight:700;color:var(--color-text);margin:0}.downloads-refresh-button{padding:var(--space-2) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.downloads-refresh-button:hover:not(:disabled){background:var(--color-bg-subtle);border-color:var(--color-action-primary);color:var(--color-action-primary-active)}.downloads-refresh-button:disabled{opacity:.6;cursor:not-allowed}.downloads-controls{display:flex;gap:var(--space-4);align-items:center}.downloads-label{display:flex;align-items:center;gap:var(--space-2);font-size:14px;font-weight:500;color:var(--color-text-secondary)}.downloads-label select{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);font-size:14px;color:var(--color-text-secondary);min-width:200px}.downloads-summary{font-size:14px;color:var(--color-text-helper);margin:0}.downloads-source-section{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4) var(--space-5)}.downloads-source-title{font-size:15px;font-weight:600;color:var(--color-text-secondary);margin:0 0 var(--space-3)}.downloads-file-table{width:100%;border-collapse:collapse;font-size:13px}.downloads-file-table th,.downloads-file-table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--color-bg-muted)}.downloads-file-table th{font-weight:600;color:var(--color-text-muted);text-transform:uppercase;font-size:11px;letter-spacing:.05em}.downloads-file-table tbody tr:hover{background:var(--color-bg-subtle)}.downloads-file-table tbody tr:last-child td{border-bottom:none}.downloads-filename{font-family:SF Mono,Fira Code,monospace;color:var(--color-text-secondary)}.downloads-size{color:var(--color-text-muted);white-space:nowrap}.downloads-link{padding:0;border:0;background:transparent;color:var(--color-action-primary-hover);font:inherit;text-decoration:none;font-weight:500;cursor:pointer}.downloads-link:hover:not(:disabled){text-decoration:underline;color:var(--color-action-primary-active)}.downloads-link:disabled,.downloads-button:disabled{opacity:.55;cursor:wait}.downloads-combined-section{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4) var(--space-5)}.downloads-combined-description{font-size:13px;color:var(--color-text-muted);margin:0 0 var(--space-4)}.downloads-combined-buttons{display:flex;gap:var(--space-3);flex-wrap:wrap}.downloads-button{display:inline-block;padding:var(--space-2) var(--space-5);border:1px solid var(--color-action-primary-hover);border-radius:var(--radius-md);background:var(--color-action-primary-hover);color:var(--color-text-inverse);font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s ease}.downloads-button:hover:not(:disabled){background:var(--color-action-primary-active);border-color:var(--color-action-primary-active)}.downloads-button--secondary{background:var(--color-bg-surface);color:var(--color-action-primary-hover)}.downloads-button--secondary:hover:not(:disabled){background:var(--color-action-selected-bg);color:var(--color-action-primary-active)}.pagination-controls{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border-subtle);flex-wrap:wrap;gap:var(--space-3)}.pagination-controls-bottom{border-bottom:none;border-top:1px solid var(--color-border-subtle);justify-content:center}.pagination-info{display:flex;align-items:center;gap:var(--space-3)}.pagination-summary{font-size:13px;color:var(--color-text-helper);font-weight:500}.pagination-actions{display:flex;align-items:center;gap:var(--space-4)}.pagination-page-size{display:flex;align-items:center;gap:var(--space-2);font-size:13px;color:var(--color-text-helper);font-weight:500}.pagination-page-size select{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;background:var(--color-bg-surface);color:var(--color-text-secondary);cursor:pointer;min-width:70px}.pagination-page-size select:focus{outline:none;border-color:var(--color-action-primary);box-shadow:0 0 0 2px var(--color-action-subtle-hover-bg)}.pagination-nav{display:flex;align-items:center;gap:var(--space-2)}.pagination-button{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;min-width:32px;display:flex;align-items:center;justify-content:center}.pagination-button:hover:not(:disabled){background:var(--color-action-selected-bg);border-color:var(--color-action-selected-border-strong);color:var(--color-action-primary-active)}.pagination-button:disabled{background:var(--color-bg-muted);color:var(--color-text-disabled);cursor:not-allowed;border-color:var(--color-border-subtle)}.pagination-page-indicator{font-size:13px;color:var(--color-text-helper);font-weight:500;white-space:nowrap}.pagination-page-input{width:50px;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;text-align:center;color:var(--color-text-secondary)}.pagination-page-input:focus{outline:none;border-color:var(--color-action-primary);box-shadow:0 0 0 2px var(--color-action-subtle-hover-bg)}.pagination-page-input::-webkit-outer-spin-button,.pagination-page-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pagination-page-input[type=number]{-moz-appearance:textfield}@media (max-width: 640px){.pagination-controls{flex-direction:column;align-items:stretch}.pagination-actions{justify-content:space-between}}.csv-download-dropdown{position:relative;display:inline-block}.csv-download-menu{position:absolute;top:100%;right:0;z-index:100;min-width:200px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);margin-top:var(--space-1);overflow:hidden}.csv-download-menu-item{display:block;width:100%;padding:var(--space-2) var(--space-3);border:none;background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:13px;text-align:left;cursor:pointer;transition:background .15s ease}.csv-download-menu-item:hover:not(:disabled){background:var(--color-action-selected-bg);color:var(--color-action-primary-active)}.csv-download-menu-item:disabled{color:var(--color-text-disabled);cursor:not-allowed}.csv-download-menu-item+.csv-download-menu-item{border-top:1px solid var(--color-border-subtle)}.csv-download-menu-note{padding:var(--space-2) var(--space-3);font-size:12px;color:var(--color-text-muted);font-style:italic;border-top:1px solid var(--color-border-subtle)}.chat-page{display:flex;flex-direction:column;height:calc(100vh - 120px);min-height:500px;background:var(--color-bg-subtle)}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-6);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0}.chat-header-title{font-size:15px;font-weight:600;color:var(--color-text)}.chat-header-actions{display:flex;align-items:center;gap:var(--space-3)}.chat-new-btn{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--color-text-helper);background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.chat-new-btn:hover:not(:disabled){color:var(--color-text);border-color:var(--color-text-disabled);background:var(--color-bg-subtle)}.chat-new-btn:disabled{opacity:.35;cursor:default}.chat-logout-btn{font-size:13px;color:var(--color-text-disabled);background:none;border:none;padding:var(--space-1) 0;cursor:pointer}.chat-logout-btn:hover{color:var(--color-text-helper)}.chat-messages{flex:1;overflow-y:auto;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}.chat-empty{margin:auto;text-align:center;color:var(--color-text-muted)}.chat-suggestion-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-top:var(--space-4)}.chat-suggestion-chip{font-size:13px;color:var(--color-text-helper);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:20px;padding:var(--space-2) var(--space-4);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.chat-suggestion-chip:hover{border-color:var(--color-action-accent);color:var(--color-action-primary-hover);background:var(--color-action-selected-bg)}.chat-bubble{font-size:14px;line-height:1.65}.chat-bubble.user{align-self:flex-end;max-width:72%;background:var(--color-border-subtle);color:var(--color-text);padding:var(--space-3) var(--space-4);border-radius:18px 18px 4px}.chat-bubble.assistant{align-self:flex-start;max-width:100%;color:var(--color-text)}.chat-typing{color:var(--color-text-disabled);font-style:italic}.chat-error{color:var(--color-error);font-size:13px;text-align:center}.chat-artifact-table{margin-top:var(--space-3);border-top:1px solid var(--color-border-subtle);padding-top:var(--space-2)}.chat-artifact-title{font-size:12px;font-weight:600;color:var(--color-text-helper);margin-bottom:var(--space-1);text-transform:uppercase;letter-spacing:.05em}.chat-artifact-scroll{overflow-x:auto}.chat-artifact-table table{width:100%;border-collapse:collapse;font-size:12px}.chat-artifact-table th{background:var(--color-bg-muted);padding:4px 8px;text-align:left;font-weight:600;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-subtle);white-space:nowrap}.chat-artifact-table td{padding:4px 8px;color:var(--color-text-secondary);border-bottom:1px solid var(--color-bg-muted)}.chat-artifact-table tr:last-child td{border-bottom:none}.chat-artifact-report{margin-top:var(--space-3);padding:var(--space-3);background:var(--color-bg-muted);border-radius:var(--radius-md);font-size:13px;white-space:pre-wrap;color:var(--color-text-secondary)}.chat-input-bar{padding:var(--space-4) var(--space-6);background:var(--color-bg-subtle);flex-shrink:0}.chat-input-wrapper{display:flex;align-items:flex-end;gap:var(--space-2);background:var(--color-bg-surface);border:1.5px solid var(--color-border);border-radius:16px;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s}.chat-input-wrapper:focus-within{border-color:var(--color-action-accent);box-shadow:0 0 0 3px var(--color-action-subtle-hover-bg)}.chat-input{flex:1;resize:none;border:none;background:none;padding:0;font-size:14px;font-family:inherit;color:var(--color-text);outline:none;min-height:24px;max-height:160px;line-height:1.5;overflow-y:auto}.chat-input::placeholder{color:var(--color-text-disabled)}.chat-send-btn{flex-shrink:0;width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--color-action-primary-hover);color:var(--color-text-inverse);border:none;border-radius:50%;cursor:pointer;transition:background .15s,opacity .15s}.chat-send-btn:hover:not(:disabled){background:var(--color-action-primary-active)}.chat-send-btn:disabled{opacity:.35;cursor:default}.chat-stop-btn{flex-shrink:0;width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--color-text);color:var(--color-text-inverse);border:none;border-radius:50%;cursor:pointer;transition:background .15s}.chat-stop-btn:hover{background:var(--color-text)}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-6);background:var(--color-bg-app)}.login-card{background:var(--color-bg-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);padding:var(--space-8);width:100%;max-width:380px;box-shadow:var(--shadow-lg);text-align:center}.login-brand{display:inline-flex;width:70px;height:70px;margin-bottom:var(--space-4);padding:var(--space-2);overflow:hidden;border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);background:var(--color-bg-surface);box-shadow:var(--shadow-control-raised)}.login-brand img{width:100%;height:100%;object-fit:contain;transform:scale(1.35)}.login-title{font-size:22px;font-weight:700;color:var(--color-text);margin-bottom:var(--space-1)}.login-subtitle{font-size:14px;color:var(--color-text-muted);margin-bottom:var(--space-6)}.login-form{display:flex;flex-direction:column;gap:var(--space-4)}.login-field{display:flex;flex-direction:column;gap:var(--space-1)}.login-field label{font-size:13px;font-weight:500;color:var(--color-text-secondary)}.login-field input{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:14px;color:var(--color-text);outline:none}.login-field input:focus{border-color:var(--color-action-primary);box-shadow:0 0 0 2px var(--color-action-subtle-hover-bg)}.login-error{font-size:13px;color:var(--color-error)}.login-btn{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-action-primary-hover);color:var(--color-text-inverse);border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;margin-top:var(--space-2)}.login-btn:hover:not(:disabled){background:var(--color-action-primary-active)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.ef-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.ef-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,2fr);gap:var(--space-4);align-items:start}.ef-empty-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle)}.ef-farm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:420px;overflow-y:auto}.ef-farm-btn{width:100%;text-align:left;background:transparent;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:8px 12px;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:background .15s ease}.ef-farm-btn:hover{background:var(--color-action-selected-bg);border-color:var(--color-action-selected-border-strong)}.ef-farm-btn.active{background:var(--color-action-selected-bg);border-color:var(--color-action-primary)}.ef-farm-name{font-size:14px;font-weight:600;color:var(--color-text)}.ef-farm-id{font-size:11px;color:var(--color-text-muted);font-family:monospace}.ef-table{width:100%;border-collapse:collapse;font-size:13px}.ef-table th{text-align:left;padding:6px 10px;border-bottom:2px solid var(--color-border-subtle);color:var(--color-text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.ef-table td{padding:8px 10px;border-bottom:1px solid var(--color-bg-muted);color:var(--color-text-secondary)}.ef-table tr:last-child td{border-bottom:none}.ef-mono{font-family:monospace;font-size:12px;color:var(--color-text-muted)}.ef-outbound-section{margin:var(--space-4) 0 var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle)}.ef-section-header,.ef-preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.ef-section-header h3,.ef-preview-header h3{margin:0;font-size:15px;font-weight:700;color:var(--color-text)}.ef-section-header p,.ef-preview-meta{margin:4px 0 0;font-size:12px;color:var(--color-text-muted)}.ef-filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:var(--space-3)}.ef-filter-control{display:flex;flex-direction:column;gap:4px;min-width:150px}.ef-filter-control span{font-size:11px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.ef-filter-control select{min-height:36px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:13px;padding:6px 10px}.ef-outbound-scroll,.ef-preview-scroll{overflow-x:auto}.ef-outbound-name{font-weight:700;color:var(--color-text)}.ef-outbound-error{margin-top:3px;font-size:11px;color:var(--color-text-muted)}.ef-outbound-error{max-width:260px;color:var(--color-error-text)}.ef-action-row{display:flex;flex-wrap:wrap;gap:6px;min-width:240px}.ef-action-row .reset-filters-button{width:auto;min-width:120px;text-align:center}.reset-filters-button.disabled{opacity:.5;pointer-events:none;text-decoration:none}.ef-preview-panel{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle)}.ef-preview-columns{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-3)}.ef-preview-columns code{padding:2px 6px;border-radius:var(--radius-sm);background:var(--color-bg-muted);color:var(--color-text-secondary);font-size:11px}.ef-preview-table{min-width:900px}@media (max-width: 900px){.dataset-summary-main{flex-direction:column}.feature-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.dataset-scope-primary,.multi-year-context-fields{grid-template-columns:1fr}.multi-year-setup-status>div{align-items:flex-start;flex-direction:column;gap:2px}.multi-year-setup-label{min-width:0}.multi-year-reset{align-self:stretch}.ef-header,.ef-empty-card{align-items:flex-start;flex-direction:column}.ef-grid{grid-template-columns:1fr}}@media (max-width: 640px){.analysis-workspace{gap:var(--space-3)}.dataset-scope-filters,.dataset-scope-primary,.multi-year-context-fields,.feature-strip{grid-template-columns:1fr}.dataset-summary-header h2{font-size:20px}.feature-local-toolbar{align-items:stretch;flex-direction:column}.feature-local-toolbar-actions{justify-content:stretch}.feature-local-toolbar .sort-controls{flex-basis:auto;grid-template-columns:1fr;min-width:0}.feature-local-toggle{flex:1 1 150px}.feature-local-control{flex:1 1 100%;min-width:0}.replicate-selector-button{flex:1 1 calc(50% - var(--space-2));min-height:44px}.replicate-filter-note{font-size:13px}.significance-detail-panel summary{align-items:flex-start;flex-direction:column}.feature-strip-item,.timepoint-timeline-item{min-height:48px}}.ppb-clouds-page{min-width:0;padding:var(--space-6);border-radius:var(--radius-xl);background:var(--color-bg-surface);box-shadow:var(--shadow-md)}.info-tooltip{position:relative;display:inline-flex;align-items:center;margin-left:4px}.info-tooltip-trigger{display:inline-flex;width:14px;height:14px;align-items:center;justify-content:center;padding:0;border:1px solid var(--color-border-strong);border-radius:50%;background:var(--color-bg-muted);color:var(--color-text-helper);font-size:9px;font-style:italic;font-weight:700;line-height:1;cursor:help}.info-tooltip-trigger:hover,.info-tooltip-trigger:focus-visible{border-color:var(--color-action-primary);color:var(--color-action-primary-active)}.info-tooltip-trigger:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.info-tooltip-bubble{position:absolute;z-index:20;bottom:calc(100% + 8px);left:50%;visibility:hidden;width:max-content;max-width:240px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-header);color:var(--color-text-inverse);font-size:12px;font-weight:400;line-height:1.5;letter-spacing:normal;text-transform:none;opacity:0;transform:translate(-50%,4px);transition:opacity .12s ease,transform .12s ease;pointer-events:none}.info-tooltip-trigger:hover+.info-tooltip-bubble,.info-tooltip-trigger:focus-visible+.info-tooltip-bubble{visibility:visible;opacity:1;transform:translate(-50%)}.ppb-clouds-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-6)}.ppb-clouds-header>div:first-child{max-width:760px}.ppb-clouds-header h2{margin:0 0 var(--space-2);color:var(--color-text);font-size:26px;line-height:1.2}.ppb-clouds-header p:not(.ppb-clouds-eyebrow){margin:0;color:var(--color-text-secondary);font-size:14px;line-height:1.6}.ppb-clouds-eyebrow{margin:0 0 var(--space-2);color:var(--color-action-primary-active);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ppb-clouds-source-list{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-start;gap:var(--space-2)}.ppb-clouds-source-list span{padding:6px 10px;border:1px solid var(--color-action-selected-border);border-radius:var(--radius-md);background:var(--color-action-selected-bg);color:var(--color-action-selected-text-strong);font-size:12px;font-weight:700}.ppb-clouds-layout{display:grid;grid-template-columns:minmax(220px,260px) 1fr;align-items:start;gap:var(--space-6);margin-bottom:var(--space-6)}.ppb-clouds-rail{display:flex;flex-direction:column;gap:var(--space-4);min-width:0;padding:var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-subtle);position:sticky;top:var(--space-4)}.ppb-clouds-rail-label{color:var(--color-text-helper);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.ppb-comparison-filter{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.ppb-comparison-filter-heading{display:flex;flex-direction:column;gap:3px}.ppb-comparison-filter-heading>span:last-child{color:var(--color-text-muted);font-size:11px;line-height:1.4}.ppb-comparison-groups{display:flex;flex-direction:column}.ppb-comparison-vs{width:fit-content;margin:4px auto;padding:1px 7px;border:1px solid var(--color-border-subtle);border-radius:999px;background:var(--color-bg-subtle);color:var(--color-text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.ppb-comparison-group-card{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-surface);box-shadow:var(--shadow-sm)}.ppb-comparison-group-title{display:flex;flex-direction:column;gap:2px}.ppb-comparison-group-title>span{color:var(--color-action-primary-active);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ppb-comparison-group-title strong{color:var(--color-text);font-size:13px}.ppb-comparison-rule{display:flex;flex-wrap:wrap;align-items:center;gap:5px;color:var(--color-text-helper);font-size:11px;font-weight:700}.ppb-comparison-rule-token{padding:4px 6px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-bg-subtle);color:var(--color-text-secondary);font-weight:600}.ppb-member-picker{position:relative;flex:1 1 100%;min-width:0}.ppb-member-picker-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;gap:var(--space-2);padding:7px 9px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-secondary);font:inherit;text-align:left;cursor:pointer}.ppb-member-picker-trigger:hover{border-color:var(--color-action-primary)}.ppb-member-picker-trigger:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:1px}.ppb-member-picker-menu{position:absolute;z-index:30;top:calc(100% + 5px);left:0;width:min(280px,calc(100vw - 48px));padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);box-shadow:var(--shadow-lg)}.ppb-member-picker-menu input{width:100%;min-width:0;margin-bottom:var(--space-2);padding:7px 9px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);color:var(--color-text);background:var(--color-bg-subtle);font-size:12px}.ppb-member-picker-menu input:focus-visible{border-color:var(--color-action-primary);outline:3px solid var(--color-focus-ring)}.ppb-member-picker-options{display:flex;max-height:220px;flex-direction:column;gap:3px;overflow-y:auto}.ppb-member-picker-options button{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;padding:7px 8px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-size:12px;text-align:left;cursor:pointer}.ppb-member-picker-options button:hover,.ppb-member-picker-options button.selected{border-color:var(--color-action-selected-border);background:var(--color-action-selected-bg);color:var(--color-action-selected-text-strong)}.ppb-member-picker-options button>span:last-child{color:var(--color-text-muted);font-size:10px}.ppb-member-picker-empty{padding:var(--space-3);color:var(--color-text-muted);font-size:11px;text-align:center}.ppb-member-chips{display:flex;flex-wrap:wrap;gap:4px}.ppb-member-chips span{padding:3px 6px;border:1px solid var(--color-action-selected-border);border-radius:999px;background:var(--color-action-selected-bg);color:var(--color-action-selected-text-strong);font-size:10px;font-weight:700}.ppb-clouds-main{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.ppb-filter-builder{display:flex;flex-direction:column;gap:var(--space-2)}.ppb-filter-builder-empty{align-items:flex-start}.ppb-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-surface)}.ppb-filter-row>select{flex:1 1 100%;min-width:0}.ppb-filter-row>.treatment-multiselect{flex:1 1 100%;min-width:0}.ppb-filter-row>.treatment-multiselect label{color:var(--color-text-helper);font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.ppb-filter-row-lead{color:var(--color-text-helper);font-size:12px;font-weight:700}.ppb-filter-conjunction{display:inline-flex;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);overflow:hidden}.ppb-filter-conjunction button{padding:2px 8px;border:none;background:var(--color-bg-subtle);color:var(--color-text-muted);font-size:11px;cursor:pointer}.ppb-filter-conjunction button.active{background:var(--color-action-selected-bg);color:var(--color-action-selected-text-strong);font-weight:800}.ppb-filter-remove{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;margin-left:auto;padding:0;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-bg-subtle);color:var(--color-text-muted);font-size:13px;line-height:1;cursor:pointer}.ppb-filter-remove:hover{border-color:var(--color-error-border);background:var(--color-error-bg);color:var(--color-error-text)}.ppb-filter-subgroup{display:flex;flex:1 1 100%;flex-direction:column;gap:var(--space-2);min-width:0;padding:var(--space-2);border:1px dashed var(--color-border-subtle);border-radius:var(--radius-md)}.ppb-filter-add-inline{align-self:flex-start;padding:4px 8px;border:1px dashed var(--color-border-subtle);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-helper);font-size:12px;cursor:pointer}.ppb-filter-add-inline:hover{border-color:var(--color-action-primary);color:var(--color-action-primary-active)}.ppb-filter-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.ppb-filter-add{padding:6px 10px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-subtle);color:var(--color-text-secondary);font-size:12px;font-weight:700;cursor:pointer}.ppb-filter-add:hover{border-color:var(--color-action-primary);color:var(--color-action-primary-active)}.ppb-clouds-secondary{display:flex;flex-direction:column;gap:var(--space-6)}.ppb-clouds-control{min-width:0}.ppb-clouds-control select{width:100%;min-width:0}.ppb-clouds-control select:disabled{cursor:not-allowed;color:var(--color-text-disabled);background:var(--color-bg-muted)}.ppb-clouds-jitter-control{justify-content:flex-start}.ppb-clouds-range-label{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.ppb-clouds-range-label output{min-width:34px;padding:2px 7px;border:1px solid var(--color-action-selected-border);border-radius:var(--radius-sm);background:var(--color-action-selected-bg);color:var(--color-action-selected-text-strong);font-size:12px;font-weight:800;text-align:center}.ppb-clouds-jitter-control input[type=range]{width:100%;margin:3px 0 0;accent-color:var(--color-action-primary);cursor:pointer}.ppb-clouds-jitter-control input[type=range]:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px}.ppb-clouds-control-help{color:var(--color-text-muted);font-size:11px;line-height:1.4}.ppb-clouds-results{display:flex;flex-direction:column;gap:var(--space-6)}.ppb-clouds-results>.warning-message{margin-bottom:0}.ppb-clouds-results>.warning-message h3{margin:0 0 var(--space-2);color:var(--color-warning-text);font-size:14px}.ppb-clouds-results>.warning-message ul{margin:0;padding-left:var(--space-5);overflow-wrap:anywhere;color:var(--color-warning-text);font-size:13px}.ppb-clouds-results>.warning-message li+li{margin-top:var(--space-1)}.ppb-clouds-summary h3,.ppb-clouds-notes h3{margin:0 0 var(--space-3);color:var(--color-text);font-size:16px}.ppb-clouds-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:var(--space-3)}.ppb-clouds-summary-card{display:flex;flex-direction:column;gap:4px;min-width:0;padding:var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-subtle)}.ppb-clouds-summary-label{color:var(--color-text-helper);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.ppb-clouds-summary-value{overflow-wrap:anywhere;color:var(--color-action-primary-active);font-size:19px;line-height:1.3}.ppb-clouds-summary-detail{color:var(--color-text-muted);font-size:12px}.ppb-clouds-chart-card{min-width:0;padding:var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:var(--shadow-sm)}.ppb-clouds-plot-scroll{max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin}.ppb-clouds-plot-scroll:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.ppb-clouds-regression-empty{display:grid;min-height:220px;place-content:center;gap:var(--space-2);padding:var(--space-6);text-align:center}.ppb-clouds-regression-empty h3{margin:0;color:var(--color-text);font-size:17px}.ppb-clouds-regression-empty p{max-width:620px;margin:0;color:var(--color-text-secondary);font-size:14px}.ppb-clouds-regression-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:var(--space-3);margin:var(--space-4) 0 0}.ppb-clouds-regression-stats>div{min-width:0;padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-subtle)}.ppb-clouds-regression-stats dt{margin-bottom:3px;color:var(--color-text-helper);font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.ppb-clouds-regression-stats dd{margin:0;overflow-wrap:anywhere;color:var(--color-text);font-size:14px;font-weight:700}.ppb-clouds-regression-scope{margin:var(--space-3) 0 0;color:var(--color-text-muted);font-size:12px;line-height:1.55}.ppb-clouds-notes{padding:var(--space-4) var(--space-5);border:1px solid var(--color-info-border);border-radius:var(--radius-lg);background:var(--color-info-bg)}.ppb-clouds-notes ul{margin:0;padding-left:var(--space-5);color:var(--color-text-secondary);font-size:13px}@media (max-width: 768px){.ppb-clouds-page{padding:var(--space-4)}.ppb-clouds-header{flex-direction:column;gap:var(--space-3)}.ppb-clouds-layout{grid-template-columns:1fr}.ppb-clouds-rail{position:static}.ppb-clouds-chart-card{padding:var(--space-2)}}@media (max-width: 480px){.ppb-clouds-page{padding:var(--space-3)}.ppb-clouds-header h2{font-size:22px}.ppb-clouds-rail{padding:var(--space-3)}}.dataset-source-builder,.dataset-source-manager{display:grid;gap:var(--space-4);margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-subtle)}.dataset-source-manager{margin-top:var(--space-5);background:var(--color-bg-surface);box-shadow:var(--shadow-sm)}.dataset-source-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.dataset-source-section-header h4{display:flex;align-items:center;gap:var(--space-2);margin:0;color:var(--color-text);font-size:15px}.dataset-source-section-header h4>span{display:inline-grid;min-width:22px;min-height:22px;place-items:center;border-radius:999px;background:var(--color-action-selected-bg);color:var(--color-action-selected-text-strong);font-size:11px}.dataset-source-section-header p{max-width:650px;margin:3px 0 0;color:var(--color-text-muted);font-size:12px;line-height:1.45}.dataset-source-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.dataset-source-add-button,.dataset-source-secondary-button,.dataset-source-save-button,.dataset-source-remove-button{min-height:38px;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-secondary);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.dataset-source-add-button,.dataset-source-save-button{border-color:var(--color-action-primary);background:var(--color-action-primary);color:var(--color-text-inverse)}.dataset-source-add-button:hover:not(:disabled),.dataset-source-save-button:hover:not(:disabled){background:var(--color-action-primary-hover)}.dataset-source-secondary-button:hover:not(:disabled){border-color:var(--color-action-primary);background:var(--color-action-subtle-hover-bg);color:var(--color-action-selected-text-strong)}.dataset-source-add-button:focus-visible,.dataset-source-secondary-button:focus-visible,.dataset-source-save-button:focus-visible,.dataset-source-remove-button:focus-visible{outline:2px solid var(--color-action-selected-border-strong);outline-offset:2px}.dataset-source-add-button:disabled,.dataset-source-secondary-button:disabled,.dataset-source-save-button:disabled{cursor:not-allowed;opacity:.55}.dataset-source-editor-list,.dataset-source-manager-editor{display:grid;gap:var(--space-3)}.dataset-source-editor-card{min-width:0;margin:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-surface)}.dataset-source-editor-card legend{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-2);color:var(--color-text-secondary);font-size:12px;font-weight:800}.dataset-source-editor-card legend code,.dataset-source-summary-card>code{color:var(--color-text-helper);font-size:11px}.dataset-source-primary-badge{padding:2px 7px;border:1px solid var(--color-info-border);border-radius:999px;background:var(--color-info-bg);color:var(--color-info-text);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.dataset-source-editor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:var(--space-3)}.dataset-source-field-help{color:var(--color-text-helper);font-size:11px;line-height:1.4}.dataset-source-repeat-control{display:flex;align-items:center;min-height:72px;padding:8px 10px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-subtle)}.dataset-source-repeat-control label{display:flex;align-items:flex-start;gap:var(--space-2);cursor:pointer}.dataset-source-repeat-control label>span{display:grid;gap:2px}.dataset-source-repeat-control strong{color:var(--color-text-secondary);font-size:12px}.dataset-source-repeat-control small{color:var(--color-text-helper);font-size:11px;line-height:1.35}.dataset-source-remove-button{min-height:32px;margin-top:var(--space-3);padding:5px 9px;border-color:var(--color-error-border);color:var(--color-error-text);font-size:11px}.dataset-source-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:var(--space-3)}.dataset-source-summary-card{display:grid;gap:5px;min-width:0;padding:var(--space-3);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-subtle);color:var(--color-text-muted);font-size:11px}.dataset-source-summary-card>div{display:flex;align-items:center;gap:var(--space-2);min-width:0}.dataset-source-summary-card strong{overflow-wrap:anywhere;color:var(--color-text);font-size:13px}.dataset-source-template-note,.dataset-source-validation-message{margin:0;padding:var(--space-3);border:1px solid var(--color-info-border);border-radius:var(--radius-md);background:var(--color-info-bg);color:var(--color-info-text);font-size:12px;line-height:1.45}.dataset-source-validation-message{border-color:var(--color-error-border);background:var(--color-error-bg);color:var(--color-error-text)}@media (max-width: 700px){.dataset-source-section-header{align-items:stretch;flex-direction:column}.dataset-source-actions,.dataset-source-add-button,.dataset-source-secondary-button,.dataset-source-save-button{width:100%}.dataset-source-actions>button{flex:1 1 160px}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-app);color:var(--color-text);line-height:1.5}#root{min-height:100vh}
