:root{--rad-colors-brand-primary: #4a7cff;--rad-colors-brand-primary-hover: #3a68e0;--rad-colors-brand-secondary: #743fff;--rad-colors-brand-gradient: linear-gradient(135deg, #4a7cff 0%, #743fff 100%);--rad-colors-backgrounds-core-gradient: linear-gradient(135deg, #4a7cff 0%, #743fff 100%);--rad-colors-brand-illumina: #0073E6;--rad-colors-success: #18a558;--rad-colors-success-light: #d4edda;--rad-colors-success-dark: #155724;--rad-colors-danger: #dc3545;--rad-colors-danger-hover: #c82333;--rad-colors-danger-light: #f8d7da;--rad-colors-danger-dark: #721c24;--rad-colors-warning: #e6a817;--rad-colors-warning-light: #fff3cd;--rad-colors-warning-dark: #856404;--rad-colors-info: #4a7cff;--rad-colors-info-light: #e6f0ff;--rad-colors-gray-50: #fafbfc;--rad-colors-gray-100: #f0f1f4;--rad-colors-gray-200: #e0e1e6;--rad-colors-gray-300: #c1c0c2;--rad-colors-gray-400: #9ca3af;--rad-colors-gray-500: #6b7280;--rad-colors-gray-600: #595959;--rad-colors-gray-700: #404040;--rad-colors-gray-800: #1a1a2e;--rad-colors-gray-900: #0f0f1a;--rad-colors-surface-primary: #ffffff;--rad-colors-surface-secondary: var(--rad-colors-gray-50);--rad-colors-surface-elevated: #ffffff;--rad-colors-surface-overlay: rgba(0, 0, 0, .4);--rad-colors-text-primary: var(--rad-colors-gray-800);--rad-colors-text-secondary: var(--rad-colors-gray-600);--rad-colors-text-tertiary: var(--rad-colors-gray-500);--rad-colors-text-inverse: #ffffff;--rad-colors-text-inverse-muted: rgba(255, 255, 255, .8);--rad-colors-text-inverse-subtle: rgba(255, 255, 255, .4);--rad-colors-text-link: var(--rad-colors-brand-primary);--rad-colors-border-default: var(--rad-colors-gray-200);--rad-colors-border-strong: var(--rad-colors-gray-300);--rad-colors-border-focus: var(--rad-colors-brand-primary);--rad-colors-border-inverse: rgba(255, 255, 255, .3);--rad-colors-background-inverse-hover: rgba(255, 255, 255, .15);--rad-font-family: "Inter", Arial, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--rad-font-sizes-display: 3.5rem;--rad-font-sizes-headline: 3rem;--rad-font-sizes-title: 2rem;--rad-font-sizes-section: 1.5rem;--rad-font-sizes-navigation: 1.125rem;--rad-font-sizes-form-input: 1rem;--rad-font-sizes-form-label: 1rem;--rad-font-sizes-body: .875rem;--rad-font-sizes-label: .75rem;--rad-font-weights-light: 300;--rad-font-weights-regular: 400;--rad-font-weights-medium: 500;--rad-font-weights-semi-bold: 600;--rad-line-height-tight: 1.25;--rad-line-height-normal: 1.5;--rad-line-height-relaxed: 1.75;--rad-spacing-xx-small: .125rem;--rad-spacing-x-small: .25rem;--rad-spacing-small: .5rem;--rad-spacing-medium: 1rem;--rad-spacing-large: 1.5rem;--rad-spacing-x-large: 2rem;--rad-spacing-xx-large: 3rem;--rad-spacing-display-small: 3.5rem;--rad-spacing-display-medium: 5rem;--rad-spacing-display-large: 6rem;--rad-radii-hard: 0;--rad-radii-rounded: .25rem;--rad-radii-soft: .5rem;--rad-radii-button: 3.125rem;--rad-radii-circle: 3.125rem;--rad-shadows-small: 0 1px 2px rgba(0, 0, 0, .05);--rad-shadows-medium: 0 2px 8px rgba(0, 0, 0, .08);--rad-shadows-large: 0 8px 24px rgba(0, 0, 0, .12);--rad-shadows-extra-large: 0 16px 48px rgba(0, 0, 0, .2);--rad-shadows-card-default: 0 1px 3px rgba(0, 0, 0, .06);--rad-shadows-card-hover: 0 4px 12px rgba(0, 0, 0, .1);--rad-shadows-dropdown-menu: 0 4px 16px rgba(0, 0, 0, .12);--rad-shadows-modal: 0 16px 48px rgba(0, 0, 0, .2);--rad-shadows-popover: 0 4px 16px rgba(0, 0, 0, .12);--rad-shadows-local-navigation: 0 2px 4px rgba(0, 0, 0, .06);--rad-shadows-focus: 0 0 0 3px rgba(74, 124, 255, .3);--rad-transition-fast: .15s ease;--rad-transition-normal: .2s ease;--rad-transition-slow: .3s ease;--rad-viz-viridis-1: #440154;--rad-viz-viridis-2: #482777;--rad-viz-viridis-3: #3f4a8a;--rad-viz-viridis-4: #31688e;--rad-viz-viridis-5: #26838f;--rad-viz-viridis-6: #1f9d8a;--rad-viz-viridis-7: #6cce5a;--rad-viz-viridis-8: #b6de2b;--rad-viz-viridis-9: #fee825;--rad-viz-cat-1: #4a7cff;--rad-viz-cat-2: #743fff;--rad-viz-cat-3: #18a558;--rad-viz-cat-4: #e6a817;--rad-viz-cat-5: #dc3545;--rad-viz-cat-6: #0073E6;--rad-viz-cat-7: #8b5cf6;--rad-viz-cat-8: #ec4899;--rad-viz-cat-9: #14b8a6;--rad-brand-primary: var(--rad-colors-brand-primary);--rad-brand-primary-hover: var(--rad-colors-brand-primary-hover);--rad-brand-secondary: var(--rad-colors-brand-secondary);--rad-brand-gradient: var(--rad-colors-brand-gradient);--rad-brand-illumina: var(--rad-colors-brand-illumina);--rad-color-success: var(--rad-colors-success);--rad-color-success-light: var(--rad-colors-success-light);--rad-color-success-dark: var(--rad-colors-success-dark);--rad-color-danger: var(--rad-colors-danger);--rad-color-danger-hover: var(--rad-colors-danger-hover);--rad-color-danger-light: var(--rad-colors-danger-light);--rad-color-danger-dark: var(--rad-colors-danger-dark);--rad-color-warning: var(--rad-colors-warning);--rad-color-warning-light: var(--rad-colors-warning-light);--rad-color-warning-dark: var(--rad-colors-warning-dark);--rad-color-info: var(--rad-colors-info);--rad-color-info-light: var(--rad-colors-info-light);--rad-gray-50: var(--rad-colors-gray-50);--rad-gray-100: var(--rad-colors-gray-100);--rad-gray-200: var(--rad-colors-gray-200);--rad-gray-300: var(--rad-colors-gray-300);--rad-gray-400: var(--rad-colors-gray-400);--rad-gray-500: var(--rad-colors-gray-500);--rad-gray-600: var(--rad-colors-gray-600);--rad-gray-700: var(--rad-colors-gray-700);--rad-gray-800: var(--rad-colors-gray-800);--rad-gray-900: var(--rad-colors-gray-900);--rad-surface-primary: var(--rad-colors-surface-primary);--rad-surface-secondary: var(--rad-colors-surface-secondary);--rad-surface-elevated: var(--rad-colors-surface-elevated);--rad-surface-overlay: var(--rad-colors-surface-overlay);--rad-text-primary: var(--rad-colors-text-primary);--rad-text-secondary: var(--rad-colors-text-secondary);--rad-text-tertiary: var(--rad-colors-text-tertiary);--rad-text-inverse: var(--rad-colors-text-inverse);--rad-text-link: var(--rad-colors-text-link);--rad-border-default: var(--rad-colors-border-default);--rad-border-strong: var(--rad-colors-border-strong);--rad-border-focus: var(--rad-colors-border-focus);--rad-font-size-xs: .6875rem;--rad-font-size-sm: var(--rad-font-sizes-label);--rad-font-size-base: var(--rad-font-sizes-body);--rad-font-size-md: var(--rad-font-sizes-form-input);--rad-font-size-lg: var(--rad-font-sizes-navigation);--rad-font-size-xl: var(--rad-font-sizes-section);--rad-font-size-2xl: var(--rad-font-sizes-title);--rad-font-size-3xl: var(--rad-font-sizes-headline);--rad-font-weight-light: var(--rad-font-weights-light);--rad-font-weight-regular: var(--rad-font-weights-regular);--rad-font-weight-medium: var(--rad-font-weights-medium);--rad-font-weight-semibold: var(--rad-font-weights-semi-bold);--rad-font-weight-bold: 700;--rad-space-1: var(--rad-spacing-x-small);--rad-space-2: var(--rad-spacing-small);--rad-space-3: .75rem;--rad-space-4: var(--rad-spacing-medium);--rad-space-5: 1.25rem;--rad-space-6: var(--rad-spacing-large);--rad-space-8: var(--rad-spacing-x-large);--rad-space-10: 2.5rem;--rad-space-12: var(--rad-spacing-xx-large);--rad-space-16: 4rem;--rad-radius-sm: var(--rad-radii-rounded);--rad-radius-md: var(--rad-radii-soft);--rad-radius-lg: .75rem;--rad-radius-pill: var(--rad-radii-button);--rad-shadow-sm: var(--rad-shadows-small);--rad-shadow-md: var(--rad-shadows-medium);--rad-shadow-lg: var(--rad-shadows-large);--rad-shadow-card: var(--rad-shadows-card-default);--rad-shadow-card-hover: var(--rad-shadows-card-hover);--rad-shadow-modal: var(--rad-shadows-modal);--rad-shadow-dropdown: var(--rad-shadows-dropdown-menu);--rad-shadow-focus: var(--rad-shadows-focus)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--rad-font-family);background:var(--rad-surface-secondary);color:var(--rad-text-primary);font-size:var(--rad-font-size-base);line-height:var(--rad-line-height-normal)}.loading{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--rad-text-tertiary)}.app-header{background:var(--rad-brand-gradient);border-bottom:none;padding:var(--rad-space-3) var(--rad-space-6);display:flex;align-items:center;justify-content:space-between;color:var(--rad-text-inverse)}.study-context{display:flex;align-items:center;gap:var(--rad-space-2);font-size:var(--rad-font-size-sm);color:var(--rad-colors-text-inverse-muted)}.study-context .sep{color:var(--rad-colors-text-inverse-subtle)}.tabs{display:flex;gap:var(--rad-space-1)}.tabs button{background:none;border:none;padding:var(--rad-space-2) var(--rad-space-4);border-radius:var(--rad-radius-md);font-size:var(--rad-font-size-sm);font-weight:var(--rad-font-weight-medium);cursor:pointer;color:var(--rad-text-tertiary);transition:all var(--rad-transition-fast)}.tabs button.active{background:var(--rad-color-info-light);color:var(--rad-brand-primary)}.tabs button:hover{background:var(--rad-gray-100)}.tabs button:focus-visible{outline:2px solid var(--rad-border-focus);outline-offset:2px}.app-main{padding:var(--rad-space-6);max-width:1200px;margin:0 auto}.sample-groups{display:flex;gap:var(--rad-space-3);margin-bottom:var(--rad-space-6)}.sample-group-chip{background:var(--rad-surface-primary);padding:var(--rad-space-3) var(--rad-space-4);border-radius:var(--rad-radius-md);display:flex;flex-direction:column;gap:var(--rad-spacing-xx-small);font-size:var(--rad-font-size-sm);box-shadow:var(--rad-shadow-card)}.sample-group-chip span{color:var(--rad-text-tertiary);font-size:var(--rad-font-size-sm)}.sample-group-chip:focus-visible{outline:2px solid var(--rad-brand-primary);outline-offset:2px}.card{background:var(--rad-surface-primary);border-radius:var(--rad-radius-md);padding:var(--rad-space-5);box-shadow:var(--rad-shadow-card);margin-bottom:var(--rad-space-4);transition:box-shadow var(--rad-transition-normal)}.card:hover{box-shadow:var(--rad-shadow-card-hover)}.btn{display:inline-flex;align-items:center;gap:var(--rad-space-2);padding:var(--rad-space-2) var(--rad-space-4);border-radius:var(--rad-radius-md);font-size:var(--rad-font-size-sm);font-weight:var(--rad-font-weight-medium);cursor:pointer;border:1px solid var(--rad-border-default);background:var(--rad-surface-primary);color:var(--rad-text-primary);transition:all var(--rad-transition-fast)}.btn:hover{background:var(--rad-gray-100)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--rad-border-focus);outline-offset:2px}.btn-primary{background:var(--rad-brand-primary);color:var(--rad-text-inverse);border-color:var(--rad-brand-primary);border-radius:var(--rad-radius-pill)}.btn-primary:hover{background:var(--rad-colors-brand-primary-hover)}.btn-primary:disabled{background:var(--rad-brand-primary)}.btn-primary:focus-visible{outline:2px solid var(--rad-brand-primary);outline-offset:2px}.btn-secondary{background:transparent;color:var(--rad-brand-primary);border:1px solid var(--rad-brand-primary)}.btn-secondary:hover{background:var(--rad-color-info-light)}.btn-ghost{background:transparent;border:none;color:var(--rad-text-tertiary)}.btn-ghost:hover{background:var(--rad-gray-100);color:var(--rad-text-primary)}.btn-danger:hover{background:var(--rad-colors-danger-hover)}.btn-sm{padding:var(--rad-space-1) var(--rad-space-2);font-size:var(--rad-font-size-xs);gap:var(--rad-space-1);border-radius:var(--rad-radius-sm)}.btn-sm svg{width:14px;height:14px}.btn-loading{opacity:.6;cursor:wait;pointer-events:none}.btn-row{display:flex;gap:var(--rad-space-2);margin-top:var(--rad-space-4)}.export-row{display:flex;gap:var(--rad-space-2);margin-top:var(--rad-space-2);justify-content:flex-end}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:var(--rad-space-3) var(--rad-space-3);border-bottom:1px solid var(--rad-gray-100);font-size:var(--rad-font-size-sm)}th{color:var(--rad-text-tertiary);font-weight:var(--rad-font-weight-medium);font-size:var(--rad-font-size-sm);text-transform:uppercase;letter-spacing:.05em}tr:hover td{background:var(--rad-surface-secondary)}tr{cursor:pointer}tr:focus-visible{outline:2px solid var(--rad-brand-primary);outline-offset:-2px}.badge{display:inline-block;padding:var(--rad-spacing-xx-small) var(--rad-space-2);border-radius:var(--rad-radius-lg);font-size:var(--rad-font-size-xs);font-weight:var(--rad-font-weight-semibold);text-transform:uppercase}.badge-trained{background:var(--rad-color-success-light);color:var(--rad-color-success-dark)}.badge-training{background:var(--rad-color-warning-light);color:var(--rad-color-warning-dark)}.badge-failed{background:var(--rad-color-danger-light);color:var(--rad-color-danger-dark)}.wizard-panel{background:var(--rad-surface-elevated);border-radius:var(--rad-radius-lg);max-width:640px;width:calc(100vw - 2rem);max-height:calc(100vh - 80px);overflow-y:auto;padding:var(--rad-space-8);box-shadow:var(--rad-shadow-modal)}.wizard-panel h2{font-size:var(--rad-font-size-lg);margin-bottom:var(--rad-space-5)}.step-indicator{font-size:var(--rad-font-size-sm);color:var(--rad-text-tertiary);margin-bottom:var(--rad-space-4)}.engine-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--rad-space-4)}.engine-fieldset{border:none;padding:0;margin:0}.engine-fieldset legend{font-size:var(--rad-font-size-md);font-weight:var(--rad-font-weight-semibold);margin-bottom:var(--rad-space-3);color:var(--rad-text-primary)}.engine-card{border:2px solid var(--rad-border-default);border-radius:var(--rad-radius-md);padding:var(--rad-space-5);cursor:pointer;transition:border-color var(--rad-transition-fast)}.engine-card:hover{border-color:var(--rad-brand-primary)}.engine-card:has(.sr-only:focus-visible){outline:2px solid var(--rad-brand-primary);outline-offset:2px}.engine-card.selected{border-color:var(--rad-brand-primary);background:var(--rad-color-info-light)}.engine-card h4{margin-bottom:var(--rad-space-2);font-size:var(--rad-font-size-base)}.engine-card p{font-size:var(--rad-font-size-sm);color:var(--rad-text-tertiary);line-height:var(--rad-line-height-normal)}.class-filter-wrapper{margin-bottom:var(--rad-space-3)}.class-filter-input{width:100%;padding:var(--rad-space-2) var(--rad-space-3);border:1px solid var(--rad-border-default);border-radius:var(--rad-radius-sm);font-size:var(--rad-font-size-sm);margin-bottom:var(--rad-space-1)}.class-filter-input:focus{outline:none;border-color:var(--rad-border-focus);box-shadow:var(--rad-shadow-focus)}.class-filter-count{font-size:var(--rad-font-size-xs);color:var(--rad-text-tertiary)}.form-field{margin-bottom:var(--rad-space-2)}.form-help-text{display:block;font-size:var(--rad-font-size-xs);color:var(--rad-text-tertiary);margin-top:var(--rad-space-1);font-weight:var(--rad-font-weight-regular)}.review-dl{display:grid;grid-template-columns:auto 1fr;gap:var(--rad-space-1) var(--rad-space-4)}.review-dl dt{font-weight:var(--rad-font-weight-semibold);color:var(--rad-text-secondary);font-size:var(--rad-font-size-sm)}.review-dl dd{margin:0;font-size:var(--rad-font-size-sm)}.wizard-exit-confirm{text-align:center;padding:var(--rad-space-6)}.wizard-exit-confirm p{margin-bottom:var(--rad-space-4);font-size:var(--rad-font-size-base)}.btn-danger{background:var(--rad-color-danger);color:var(--rad-text-inverse);border-color:var(--rad-color-danger)}.btn-danger:hover{background:var(--rad-color-danger-dark)}.gpu-notice{background:var(--rad-color-warning-light);border:1px solid var(--rad-color-warning);border-radius:var(--rad-radius-md);padding:var(--rad-space-3) var(--rad-space-4);font-size:var(--rad-font-size-sm);margin-top:var(--rad-space-3)}label{display:block;font-size:var(--rad-font-size-sm);font-weight:var(--rad-font-weight-medium);margin-bottom:var(--rad-space-1);margin-top:var(--rad-space-3)}input,select{width:100%;padding:var(--rad-space-2) var(--rad-space-3);border:1px solid var(--rad-border-default);border-radius:var(--rad-radius-md);font-size:var(--rad-font-size-base);transition:border-color var(--rad-transition-fast),box-shadow var(--rad-transition-fast)}input:focus,select:focus{outline:none;border-color:var(--rad-border-focus);box-shadow:var(--rad-shadow-focus)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--rad-brand-primary);outline-offset:2px}a:focus-visible{outline:2px solid var(--rad-brand-primary);outline-offset:2px}.char-count{font-size:var(--rad-font-size-sm);color:var(--rad-text-tertiary);text-align:right;margin-top:var(--rad-space-1)}.progress-bar{width:100%;height:6px;background:var(--rad-gray-100);border-radius:var(--rad-radii-rounded);overflow:hidden}.progress-bar-fill{height:100%;background:var(--rad-brand-primary);transition:width var(--rad-transition-slow)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--rad-space-3);margin:var(--rad-space-4) 0}.metric-card{text-align:center;padding:var(--rad-space-4);background:var(--rad-surface-secondary);border-radius:var(--rad-radius-md)}.metric-card .value{font-size:var(--rad-font-size-xl);font-weight:var(--rad-font-weight-bold);color:var(--rad-brand-primary)}.metric-card .label{font-size:var(--rad-font-size-sm);color:var(--rad-text-tertiary);margin-top:var(--rad-space-1)}.detail-row{display:flex;gap:var(--rad-space-6);margin-top:var(--rad-space-4)}.detail-row>div{flex:1}.confusion-table{width:auto}.confusion-table td{text-align:center;min-width:60px}.confusion-table .diag{font-weight:var(--rad-font-weight-bold);background:var(--rad-color-success-light)}.hierarchy-tree{background:var(--rad-surface-secondary, #f8fafc);border-radius:var(--rad-radius-md, 8px);padding:var(--rad-space-4, 16px);margin-top:var(--rad-space-4, 16px)}.hierarchy-tree h4{margin:0 0 var(--rad-space-3, 12px) 0;font-size:var(--rad-font-size-md, 14px);display:flex;align-items:center}.hierarchy-bars{display:flex;flex-direction:column;gap:var(--rad-space-2, 8px)}.hierarchy-level-header{display:flex;align-items:baseline;gap:var(--rad-space-2, 8px);margin-bottom:2px;font-size:var(--rad-font-size-sm, 13px)}.hierarchy-level-name{text-transform:uppercase;font-weight:600;color:var(--rad-text-tertiary, #6b7280);min-width:64px;font-size:11px;letter-spacing:.04em}.hierarchy-level-prediction{flex:1;font-weight:500;color:var(--rad-text-primary, #111)}.hierarchy-level-conf{font-weight:700;font-variant-numeric:tabular-nums}.hierarchy-bar-track{height:8px;background:var(--rad-gray-100, #e5e7eb);border-radius:4px;overflow:hidden}.hierarchy-bar-fill{height:100%;border-radius:4px;transition:width .4s ease}.hierarchy-partial-credit{display:flex;justify-content:space-between;align-items:center;margin-top:var(--rad-space-3, 12px);padding-top:var(--rad-space-2, 8px);border-top:1px solid var(--rad-gray-100, #e5e7eb);font-size:var(--rad-font-size-sm, 13px);color:var(--rad-text-secondary, #4b5563)}.hierarchy-checks{font-size:12px}.hierarchy-leaf{margin-top:var(--rad-space-2, 8px);font-size:var(--rad-font-size-sm, 13px);color:var(--rad-text-secondary, #4b5563)}.manifest-section{background:var(--rad-surface-secondary, #f8fafc);border-radius:var(--rad-radius-md, 8px);padding:var(--rad-space-3, 12px);margin-top:var(--rad-space-3, 12px)}.manifest-section h4{margin:0 0 var(--rad-space-2, 8px) 0;font-size:var(--rad-font-size-sm, 13px);display:flex;align-items:center;gap:6px}.manifest-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:12px;color:var(--rad-text-secondary, #4b5563)}.manifest-row .manifest-label{font-weight:500}.manifest-row .manifest-value{font-family:monospace;font-size:11px;color:var(--rad-text-tertiary, #6b7280)}.manifest-hash{display:inline-flex;align-items:center;gap:4px}.manifest-hash button{background:none;border:1px solid var(--rad-gray-200, #d1d5db);border-radius:3px;padding:1px 6px;font-size:10px;cursor:pointer;color:var(--rad-text-tertiary, #6b7280)}.manifest-hash button:hover{background:var(--rad-gray-100, #e5e7eb)}.manifest-note{font-size:11px;color:var(--rad-text-tertiary, #6b7280);margin-top:var(--rad-space-2, 8px);font-style:italic;border-top:1px solid var(--rad-gray-100, #e5e7eb);padding-top:var(--rad-space-2, 8px)}.dialog-native{border:none;background:transparent;padding:0;max-width:none;max-height:none;overflow:visible}.dialog-native::backdrop{background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-native .dialog-panel{background:var(--rad-surface-elevated);border-radius:var(--rad-radius-lg);max-width:500px;width:calc(100vw - 2rem);padding:var(--rad-spacing-large);max-height:calc(100vh - 80px);overflow-y:auto;box-shadow:var(--rad-shadow-modal)}.dialog--wide .dialog-panel{max-width:700px}.dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--rad-space-4)}.dialog-header h3{font-size:var(--rad-font-size-lg);font-weight:var(--rad-font-weight-semibold)}.dialog-close-x{padding:var(--rad-space-1);border-radius:var(--rad-radius-sm);flex-shrink:0}.dialog-actions{display:flex;gap:var(--rad-space-2);margin-top:var(--rad-space-4);justify-content:flex-end}.picker{position:relative}.picker select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.ref-option:focus-visible{outline:2px solid var(--rad-brand-primary);outline-offset:2px}.format-card:focus-visible,.format-card:has(input:focus-visible){outline:2px solid var(--rad-brand-primary);outline-offset:2px}.format-fieldset{border:none;padding:0;margin:0}.format-fieldset legend{font-weight:var(--rad-font-weight-semibold);margin-bottom:var(--rad-space-2)}.user-info{display:flex;align-items:center;gap:var(--rad-space-3);margin-left:var(--rad-space-6)}.user-info span{font-size:var(--rad-font-size-sm);color:var(--rad-colors-text-inverse-muted)}.logout-btn{padding:var(--rad-space-1) var(--rad-space-3);font-size:var(--rad-font-size-sm);border:1px solid var(--rad-colors-border-inverse);border-radius:var(--rad-radius-sm);background:transparent;cursor:pointer;color:var(--rad-text-inverse);transition:all var(--rad-transition-fast)}.logout-btn:hover{background:var(--rad-colors-background-inverse-hover)}.logout-btn:focus-visible{outline:2px solid var(--rad-brand-primary);outline-offset:2px}.header-brand{display:flex;align-items:center;gap:var(--rad-space-2)}.illumina-logo{font-family:var(--rad-font-family);font-size:var(--rad-font-size-lg);font-weight:var(--rad-font-weight-bold);letter-spacing:.05em;text-transform:lowercase}.app-name{font-size:var(--rad-font-size-base);font-weight:var(--rad-font-weight-medium);opacity:.85;padding-left:var(--rad-space-2);border-left:1px solid var(--rad-colors-border-inverse)}.skip-to-content{position:absolute;top:-9999px;left:var(--rad-space-4);z-index:999;padding:var(--rad-space-2) var(--rad-space-4);background:var(--rad-brand-primary);color:var(--rad-text-inverse);border-radius:var(--rad-radius-md);font-size:var(--rad-font-size-sm);text-decoration:none}.skip-to-content:focus{top:var(--rad-space-2)}.illumina-footer{text-align:center;padding:var(--rad-space-4) var(--rad-space-6);font-size:var(--rad-font-size-sm);color:var(--rad-text-tertiary);border-top:1px solid var(--rad-border-default);background:var(--rad-surface-primary);margin-top:auto}.illumina-footer strong{color:var(--rad-brand-illumina)}.comparison-badge{display:inline-block;padding:var(--rad-space-2) var(--rad-space-4);border-radius:var(--rad-radius-pill);font-size:var(--rad-font-size-sm);font-weight:var(--rad-font-weight-semibold);background:var(--rad-color-success-light);color:var(--rad-color-success-dark);margin-top:var(--rad-space-3)}.confidence-gauge{width:100%;height:8px;background:var(--rad-gray-200);border-radius:var(--rad-radius-sm);margin-top:var(--rad-space-2);overflow:hidden}.batch-results-table{width:100%;border-collapse:collapse;margin-top:var(--rad-space-3);font-size:var(--rad-font-size-sm)}.batch-results-table th{background:var(--rad-surface-secondary);position:sticky;top:0}.batch-results-table td,.batch-results-table th{padding:var(--rad-space-2) var(--rad-space-3);border-bottom:1px solid var(--rad-gray-100);text-align:left}.empty-state{text-align:center;padding:var(--rad-space-12) var(--rad-space-6);color:var(--rad-text-tertiary);font-size:var(--rad-font-size-base)}.empty-state h3{font-size:var(--rad-font-size-md);margin-bottom:var(--rad-space-2);color:var(--rad-text-primary)}.empty-state p{font-size:var(--rad-font-size-sm);margin-bottom:var(--rad-space-4)}.confusion-table th.cm-label{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.confusion-table td{transition:background-color var(--rad-transition-fast)}.confusion-scroll{max-height:400px;max-width:100%;overflow:auto}.comparison-view{display:grid;grid-template-columns:1fr 1fr;gap:var(--rad-space-6);margin-top:var(--rad-space-4)}.compare-column{background:var(--rad-surface-secondary);padding:var(--rad-space-4);border-radius:var(--rad-radius-md)}.status-resolved{color:var(--rad-color-success-dark);background:var(--rad-color-success-light);padding:var(--rad-spacing-xx-small) var(--rad-space-2);border-radius:var(--rad-radius-lg);font-size:var(--rad-font-size-xs)}.status-review{color:var(--rad-color-warning-dark);background:var(--rad-color-warning-light);padding:var(--rad-spacing-xx-small) var(--rad-space-2);border-radius:var(--rad-radius-lg);font-size:var(--rad-font-size-xs)}.registry-filters{display:flex;gap:var(--rad-space-3);margin-bottom:var(--rad-space-4)}.registry-filters input,.registry-filters select{flex:1}.calibration-chart{margin-top:var(--rad-space-3);position:relative}.viz-tooltip{position:absolute;pointer-events:none;transform:translate(-50%,-110%);background:var(--rad-surface-primary);color:var(--rad-text-primary);border:1px solid var(--rad-border-default);border-radius:var(--rad-radius-sm);box-shadow:var(--rad-shadow-card);padding:var(--rad-spacing-x-small) var(--rad-spacing-small);font-size:var(--rad-font-sizes-label);line-height:var(--rad-line-height-normal);white-space:nowrap;z-index:10}.umap-loading{height:200px;display:flex;align-items:center;justify-content:center;color:var(--rad-colors-gray-400);font-size:var(--rad-font-sizes-body)}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;padding:var(--rad-space-8);text-align:center}.error-boundary h1{color:var(--rad-color-danger);font-size:var(--rad-font-size-lg);margin-bottom:var(--rad-space-3)}.error-boundary-details{background:var(--rad-surface-secondary);border-radius:var(--rad-radius-md);padding:var(--rad-space-3) var(--rad-space-4);font-size:var(--rad-font-size-sm);color:var(--rad-text-secondary);max-width:480px;overflow-x:auto;margin-bottom:var(--rad-space-4)}.error-boundary button{margin-top:var(--rad-space-4)}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-layout-main{flex:1}.registry-title{font-size:var(--rad-font-size-md);margin-bottom:var(--rad-space-4)}.registry-toolbar{display:flex;gap:var(--rad-space-3);margin-bottom:var(--rad-space-4)}.registry-search{flex:1;max-width:320px}.registry-engine-select{width:180px}.registry-empty-row{text-align:center;color:var(--rad-text-tertiary);padding:var(--rad-space-6)}.registry-detail{margin-top:var(--rad-space-4)}.registry-detail-title{font-size:var(--rad-font-size-base)}.registry-detail-meta{color:var(--rad-text-tertiary);font-size:var(--rad-font-size-sm);margin-top:var(--rad-space-1)}.scoring-card{padding:var(--rad-space-6);max-width:720px}.scoring-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--rad-space-5)}.scoring-pickers{display:flex;gap:var(--rad-space-4);margin-bottom:var(--rad-space-5)}.scoring-picker-col{flex:1;position:relative}.scoring-picker-label{display:block;margin-bottom:var(--rad-space-1);font-weight:var(--rad-font-weight-semibold)}.scoring-picker-trigger{display:flex;align-items:center;padding:var(--rad-space-2) var(--rad-space-3);border:1px solid var(--rad-border-default);border-radius:var(--rad-radius-md);cursor:pointer;background:var(--rad-surface-primary);-webkit-user-select:none;user-select:none}.scoring-picker-trigger:focus-visible{outline:2px solid var(--rad-brand-primary);outline-offset:2px}.scoring-picker-arrow{margin-left:auto}.scoring-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--rad-surface-primary);border:1px solid var(--rad-border-default);border-radius:var(--rad-radius-md);margin-top:var(--rad-spacing-xx-small);z-index:10;max-height:240px;overflow-y:auto;box-shadow:var(--rad-shadow-dropdown)}.scoring-option{display:flex;justify-content:space-between;padding:var(--rad-space-2) var(--rad-space-3);cursor:pointer}.scoring-option:hover{background:var(--rad-surface-secondary)}.scoring-option:focus-visible{outline:2px solid var(--rad-brand-primary);outline-offset:-2px}.scoring-option-meta{color:var(--rad-text-tertiary);font-size:var(--rad-font-size-xs)}.scoring-option[aria-selected=true]{font-weight:var(--rad-font-weight-semibold)}.scoring-option-active{background:var(--rad-color-info-light)}.scoring-bridging-notice{display:flex;align-items:flex-start;gap:var(--rad-space-2);padding:var(--rad-space-3);margin-bottom:var(--rad-space-4);background:var(--rad-color-warning-light);border:1px solid var(--rad-color-warning);border-radius:var(--rad-radius-md)}.scoring-mismatch-error{padding:var(--rad-space-3);margin-bottom:var(--rad-space-4);background:var(--rad-color-danger-light);border:1px solid var(--rad-color-danger);border-radius:var(--rad-radius-md)}.scoring-run-btn{margin-bottom:var(--rad-space-5)}.scoring-error{color:var(--rad-color-danger);margin-bottom:var(--rad-space-3)}.scoring-result-card{padding:var(--rad-space-4)}.scoring-result-title{margin-bottom:var(--rad-space-3)}.scoring-metric-label{font-size:var(--rad-font-size-xs);color:var(--rad-text-tertiary)}.scoring-metric-value{font-size:var(--rad-font-size-xl);font-weight:var(--rad-font-weight-bold)}.scoring-probe-gene{color:var(--rad-brand-primary)}.scoring-probe-weight{color:var(--rad-text-tertiary)}.scoring-probes-section{margin-top:var(--rad-space-4)}.scoring-probes-heading{margin-bottom:var(--rad-space-2)}.scoring-probes-list{margin:0;padding-left:var(--rad-space-5)}.scoring-probes-table{width:100%;font-size:var(--rad-font-size-sm);border-collapse:collapse}.scoring-probes-table th{text-align:left;padding:var(--rad-space-1) var(--rad-space-2);border-bottom:2px solid var(--rad-border-default);font-weight:var(--rad-font-weight-semibold);font-size:var(--rad-font-size-xs);color:var(--rad-text-tertiary)}.scoring-probes-table td{padding:var(--rad-space-1) var(--rad-space-2);border-bottom:1px solid var(--rad-border-default)}.scoring-probe-intersection{font-size:var(--rad-font-size-xs);color:var(--rad-text-tertiary);margin-top:var(--rad-space-2)}.scoring-batch-classifier{margin-bottom:var(--rad-space-4);position:relative}.scoring-batch-filter-bar{display:flex;align-items:center;gap:var(--rad-space-3);margin-bottom:var(--rad-space-3)}.scoring-batch-filter-input{flex:1;max-width:300px;padding:var(--rad-space-2) var(--rad-space-3);border:1px solid var(--rad-border-default);border-radius:var(--rad-radius-md);font-size:var(--rad-font-size-sm);background:var(--rad-surface-primary)}.scoring-batch-filter-input:focus-visible{outline:2px solid var(--rad-brand-primary);outline-offset:2px}.scoring-batch-filter-count{font-size:var(--rad-font-size-xs);color:var(--rad-text-tertiary)}.scoring-batch-toolbar{display:flex;align-items:center;gap:var(--rad-space-3);margin-bottom:var(--rad-space-3)}.scoring-batch-count{font-size:var(--rad-font-size-sm);color:var(--rad-text-tertiary)}.scoring-batch-list{max-height:200px;overflow-y:auto;border:1px solid var(--rad-border-default);border-radius:var(--rad-radius-md);margin-bottom:var(--rad-space-4)}.scoring-batch-sample{display:flex;align-items:center;gap:var(--rad-space-2);padding:var(--rad-space-1) var(--rad-space-3);cursor:pointer}.scoring-batch-sample-platform{color:var(--rad-text-tertiary);font-size:var(--rad-font-size-xs);margin-left:auto}.scoring-threshold-group{margin-bottom:var(--rad-space-4)}.scoring-threshold-label{display:block;font-weight:var(--rad-font-weight-semibold);margin-bottom:var(--rad-space-1)}.scoring-threshold-row{display:flex;align-items:center;gap:var(--rad-space-3)}.scoring-threshold-input{flex:1}.scoring-threshold-value{font-size:var(--rad-font-size-sm);font-weight:var(--rad-font-weight-semibold);min-width:3ch;text-align:right}.scoring-batch-run-btn{margin-bottom:var(--rad-space-4)}.scoring-batch-summary-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--rad-space-2)}.scoring-batch-summary-text{font-size:var(--rad-font-size-sm);color:var(--rad-text-tertiary)}.scoring-batch-scroll{max-height:400px;overflow:auto}.dashboard-back-btn{margin-bottom:var(--rad-space-3)}.dashboard-embedding{margin-top:var(--rad-space-4)}.dashboard-validation-note{font-size:var(--rad-font-size-xs);color:var(--rad-text-tertiary)}.dashboard-per-class{margin-top:var(--rad-space-3)}.dashboard-per-class-table{width:100%;font-size:var(--rad-font-size-xs)}.dashboard-wizard-class-label{display:flex;align-items:center;gap:var(--rad-space-2);padding:var(--rad-space-2) 0;cursor:pointer}.dashboard-class-balance{margin-top:var(--rad-space-4);display:flex;height:24px;border-radius:var(--rad-radius-sm);overflow:hidden}.dashboard-algorithm-section{margin-top:var(--rad-space-4)}.dashboard-gpu-notice{margin-top:var(--rad-space-4);padding:var(--rad-space-3);background:var(--rad-color-warning-light);border:1px solid var(--rad-color-warning);border-radius:var(--rad-radius-md)}.dashboard-training-estimate{margin-top:var(--rad-space-4);font-size:var(--rad-font-size-base);font-weight:var(--rad-font-weight-semibold)}.dashboard-export-sidecar{font-size:var(--rad-font-size-xs);color:var(--rad-text-tertiary);margin-top:var(--rad-space-2)}.dashboard-checkbox-col{width:40px}.dashboard-compare-dialog{width:700px}.dashboard-compare-table{width:100%;font-size:var(--rad-font-size-sm);margin-top:var(--rad-space-4)}.dashboard-compare-th-left{text-align:left}.dashboard-compare-td-right{text-align:right}.dashboard-roc-overlay{margin-top:var(--rad-space-5)}.dashboard-roc-title{font-size:var(--rad-font-size-base);margin-bottom:var(--rad-space-2)}.dashboard-cm-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--rad-space-4);margin-top:var(--rad-space-5)}.dashboard-cm-label{font-size:var(--rad-font-size-xs);margin-bottom:var(--rad-space-1)}.comparison-cm-callout{grid-column:1 / -1;background:var(--rad-surface-secondary);border:1px solid var(--rad-border-default);border-radius:var(--rad-radius-md);padding:var(--rad-space-3) var(--rad-space-4)}.comparison-cm-note{font-size:var(--rad-font-size-xs);color:var(--rad-text-secondary);margin:0}.comparison-cm-oof-note{font-size:var(--rad-font-size-xs);color:var(--rad-text-tertiary);margin:var(--rad-space-1) 0 0;font-style:italic}.dashboard-compare-actions{margin-top:var(--rad-space-4)}.dashboard-probe-gene{color:var(--rad-brand-primary)}.dashboard-probe-weight,.dashboard-probe-loading{color:var(--rad-text-tertiary)}.dashboard-color-swatch{width:12px;height:12px;border-radius:var(--rad-radius-sm);display:inline-block}.dashboard-balance-segment{display:flex;align-items:center;justify-content:center;color:var(--rad-text-inverse);font-size:var(--rad-font-size-xs);font-weight:var(--rad-font-weight-semibold)}.dashboard-roc-svg{width:100%;max-width:240px;height:auto}.scoring-confidence-gauge{margin-top:var(--rad-space-2)}.scoring-confidence-fill{height:100%;border-radius:var(--rad-radius-sm)}.scoring-batch-minibar{width:60px;height:4px;background:var(--rad-gray-200);border-radius:var(--rad-spacing-xx-small);margin-top:var(--rad-spacing-xx-small);overflow:hidden}.scoring-batch-minibar-fill{height:100%;border-radius:var(--rad-spacing-xx-small)}.wizard-steps-bar{display:flex;gap:var(--rad-space-2);margin-top:var(--rad-space-2)}.wizard-step-dot{width:32px;height:4px;border-radius:var(--rad-spacing-xx-small);background:var(--rad-gray-200);transition:background var(--rad-transition-normal)}.wizard-step-dot.completed{background:var(--rad-brand-primary)}.wizard-step-dot.active{background:var(--rad-brand-illumina)}.progress-indeterminate{width:100%;height:6px;background:var(--rad-gray-100);border-radius:var(--rad-radii-rounded);overflow:hidden;position:relative}.progress-indeterminate:after{content:"";position:absolute;top:0;left:-40%;width:40%;height:100%;background:var(--rad-brand-primary);border-radius:var(--rad-radii-rounded);animation:indeterminate 1.5s ease-in-out infinite}@keyframes indeterminate{0%{left:-40%}to{left:100%}}.skeleton-list{display:flex;flex-direction:column;gap:var(--rad-space-3)}.skeleton-row{height:48px;border-radius:var(--rad-radius-md);background:linear-gradient(90deg,var(--rad-gray-100) 25%,var(--rad-gray-50) 50%,var(--rad-gray-100) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1024px){.app-main{padding:var(--rad-space-4)}.metric-grid{grid-template-columns:repeat(2,1fr)}.comparison-view,.engine-cards{grid-template-columns:1fr}.detail-row{flex-direction:column}}@media(max-width:768px){.app-header{flex-direction:column;gap:var(--rad-space-2);padding:var(--rad-space-2) var(--rad-space-4)}.tabs{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.user-info{margin-left:0;width:100%;justify-content:flex-end}.sample-groups{flex-wrap:wrap}.wizard-panel{width:calc(100% - var(--rad-spacing-x-large));max-width:640px;margin:var(--rad-spacing-medium) auto}.dialog-native .dialog-panel{width:calc(100% - var(--rad-spacing-x-large));max-width:500px}.metric-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.app-main{padding:var(--rad-space-3);max-width:100%}.metric-grid{grid-template-columns:1fr}.btn-row{flex-direction:column}.btn-row .btn{width:100%;justify-content:center}.wizard-panel,.dialog-native .dialog-panel{padding:var(--rad-space-4)}.sample-group-chip{flex:1;min-width:120px}.registry-filters{flex-direction:column}.table-scroll-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(var(--rad-space-3) * -1);padding:0 var(--rad-space-3)}}@media(max-width:744px){.scoring-pickers{flex-direction:column}.dashboard-cm-grid,.comparison-view{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.breadcrumb ol{display:flex;align-items:center;gap:var(--rad-space-1);list-style:none;padding:0;margin:0 0 var(--rad-space-3) 0;font-size:var(--rad-font-size-sm)}.breadcrumb li{display:flex;align-items:center;gap:var(--rad-space-1);color:var(--rad-text-tertiary)}.breadcrumb li+li:before{content:"›";color:var(--rad-text-tertiary);margin-right:var(--rad-space-1)}.breadcrumb a{color:var(--rad-brand-primary);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb [aria-current=page]{color:var(--rad-text-primary);font-weight:var(--rad-font-weight-medium)}.skeleton-card{height:72px}.skeleton{background:linear-gradient(90deg,var(--rad-gray-100) 25%,var(--rad-gray-50) 50%,var(--rad-gray-100) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--rad-radius-md)}.toast-container{position:fixed;top:var(--rad-spacing-large);right:var(--rad-spacing-large);display:flex;flex-direction:column;gap:var(--rad-space-2);z-index:200;pointer-events:none}.toast{display:flex;align-items:center;gap:var(--rad-space-2);padding:var(--rad-space-3) var(--rad-space-4);border-radius:var(--rad-radii-soft);font-size:var(--rad-font-sizes-body);font-weight:var(--rad-font-weights-medium);color:var(--rad-text-primary);background:var(--rad-surface-elevated);box-shadow:var(--rad-shadows-large);border-left:4px solid transparent;pointer-events:auto;animation:toast-slide-in .3s ease-out;min-width:280px;max-width:420px}.toast-message{flex:1}.toast-icon{flex-shrink:0}.toast-dismiss{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:var(--rad-spacing-xx-small);border-radius:var(--rad-radius-sm);border:none;background:transparent;color:var(--rad-text-tertiary);cursor:pointer}.toast-dismiss:hover{color:var(--rad-text-primary);background:var(--rad-gray-100)}.toast-success{border-left-color:var(--rad-colors-success)}.toast-success .toast-icon{color:var(--rad-colors-success)}.toast-error{border-left-color:var(--rad-colors-danger)}.toast-error .toast-icon{color:var(--rad-colors-danger)}.toast-info{border-left-color:var(--rad-colors-info)}.toast-info .toast-icon{color:var(--rad-colors-info)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fade-in-up .3s ease-out both}.metric-card{transition:box-shadow var(--rad-transition-normal),transform var(--rad-transition-normal)}.metric-card:hover{box-shadow:var(--rad-shadows-card-hover);transform:scale(1.02)}.registry-subtabs{display:flex;gap:var(--rad-space-1);border-bottom:1px solid var(--rad-border-default);margin-bottom:var(--rad-space-4)}.registry-subtab{background:none;border:none;padding:var(--rad-space-2) var(--rad-space-4);font-family:inherit;font-size:var(--rad-font-size-sm);font-weight:var(--rad-font-weight-medium);color:var(--rad-text-tertiary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--rad-transition-fast),border-color var(--rad-transition-fast);display:inline-flex;align-items:center;gap:var(--rad-space-2)}.registry-subtab:hover{color:var(--rad-brand-primary)}.registry-subtab:focus-visible{outline:2px solid var(--rad-border-focus);outline-offset:2px}.registry-subtab-active{color:var(--rad-brand-primary);border-bottom-color:var(--rad-brand-primary)}.registry-subtab-count{display:inline-block;min-width:1.5em;padding:0 var(--rad-space-2);border-radius:var(--rad-radius-lg);background:var(--rad-color-info-light);color:var(--rad-brand-primary);font-size:var(--rad-font-size-xs);font-weight:var(--rad-font-weight-semibold);text-align:center}.registry-subtab-active .registry-subtab-count{background:var(--rad-brand-primary);color:var(--rad-text-inverse)}.failure-gallery-seed-banner{background:var(--rad-color-warning-light);border:1px solid var(--rad-color-warning);color:var(--rad-color-warning-dark);padding:var(--rad-space-3) var(--rad-space-4);border-radius:var(--rad-radius-md);font-size:var(--rad-font-size-sm);margin-bottom:var(--rad-space-4)}.failure-gallery-intro{color:var(--rad-text-secondary);font-size:var(--rad-font-size-sm);margin-bottom:var(--rad-space-4);max-width:720px}.failure-gallery-loading,.failure-gallery-error{padding:var(--rad-space-4);color:var(--rad-text-tertiary);font-size:var(--rad-font-size-sm)}.failure-gallery-error{color:var(--rad-color-danger-dark)}.failure-gallery-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--rad-space-4)}.failure-gallery-card{background:var(--rad-surface-primary);border:1px solid var(--rad-border-default);border-left:4px solid var(--rad-color-danger);border-radius:var(--rad-radius-md);padding:var(--rad-space-4) var(--rad-space-5);box-shadow:var(--rad-shadow-card)}.failure-gallery-card-reversed{border-left-color:var(--rad-color-warning)}.failure-gallery-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--rad-space-3);margin-bottom:var(--rad-space-2);flex-wrap:wrap}.failure-gallery-card-title{font-size:var(--rad-font-size-base);font-weight:var(--rad-font-weight-semibold);margin:0}.failure-gallery-category-badge{display:inline-block;padding:var(--rad-spacing-xx-small) var(--rad-space-2);border-radius:var(--rad-radius-lg);background:var(--rad-color-danger-light);color:var(--rad-color-danger-dark);font-size:var(--rad-font-size-xs);font-weight:var(--rad-font-weight-semibold);text-transform:uppercase;letter-spacing:.04em}.failure-gallery-card-reversed .failure-gallery-category-badge{background:var(--rad-color-warning-light);color:var(--rad-color-warning-dark)}.failure-gallery-card-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--rad-space-3);margin:var(--rad-space-3) 0}.failure-gallery-card-meta dt{font-size:var(--rad-font-size-xs);color:var(--rad-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--rad-space-1)}.failure-gallery-card-meta dd{font-size:var(--rad-font-size-sm);color:var(--rad-text-primary);margin:0}.failure-gallery-reviewer-role{color:var(--rad-text-tertiary)}.failure-gallery-reason{font-size:var(--rad-font-size-sm);color:var(--rad-text-primary);line-height:var(--rad-line-height-normal);margin-top:var(--rad-space-2)}.failure-gallery-successor{margin-top:var(--rad-space-3);font-size:var(--rad-font-size-sm)}.failure-gallery-successor a{color:var(--rad-brand-primary);text-decoration:underline}.failure-gallery-reversed-note{color:var(--rad-text-tertiary)}.failure-gallery-card-status-note{margin-top:var(--rad-space-3);padding-top:var(--rad-space-2);border-top:1px dashed var(--rad-border-default);font-size:var(--rad-font-size-xs);color:var(--rad-text-tertiary);line-height:var(--rad-line-height-normal)}.failure-gallery-card-status-pill{display:inline-block;padding:0 var(--rad-space-2);border-radius:var(--rad-radius-sm);background:var(--rad-color-warning-light);color:var(--rad-color-warning-dark);font-size:var(--rad-font-size-xs);font-weight:var(--rad-font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;margin-right:var(--rad-space-1)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--rad-brand-gradient);font-family:var(--rad-font-family)}.login-card{background:var(--rad-surface-elevated);border-radius:var(--rad-radius-lg);padding:var(--rad-space-12) var(--rad-space-10);text-align:center;box-shadow:var(--rad-shadow-modal);max-width:400px;width:100%}.login-logo{margin-bottom:var(--rad-space-5)}.login-card h1{font-size:var(--rad-font-size-2xl);font-weight:var(--rad-font-weight-bold);color:var(--rad-text-primary);margin-bottom:var(--rad-space-2);line-height:var(--rad-line-height-tight)}.login-card h2{font-size:var(--rad-font-size-md);font-weight:var(--rad-font-weight-medium);color:var(--rad-text-secondary);margin-bottom:var(--rad-space-8);line-height:var(--rad-line-height-normal)}.login-subtitle{font-size:var(--rad-font-size-base);color:var(--rad-text-secondary);margin-bottom:var(--rad-space-8);line-height:var(--rad-line-height-normal)}.login-form-btn{width:100%;padding:var(--rad-space-3) var(--rad-space-6);font-size:var(--rad-font-size-md);margin-bottom:var(--rad-space-4)}.login-hint{font-size:var(--rad-font-size-sm);color:var(--rad-text-tertiary)}.auth-callback{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--rad-surface-secondary);font-family:var(--rad-font-family)}.auth-callback-card{background:var(--rad-surface-elevated);border-radius:var(--rad-radius-lg);padding:var(--rad-space-10);text-align:center;box-shadow:var(--rad-shadow-lg);max-width:420px;width:100%}.auth-callback-card h1{font-size:var(--rad-font-size-xl);font-weight:var(--rad-font-weight-bold);color:var(--rad-color-danger);margin-bottom:var(--rad-space-3)}.auth-error-message{color:var(--rad-text-secondary);font-size:var(--rad-font-size-base);margin-bottom:var(--rad-space-6);line-height:var(--rad-line-height-normal)}.auth-back-btn{margin-top:var(--rad-space-2)}.auth-loading-text{color:var(--rad-text-tertiary);font-size:var(--rad-font-size-base);margin-top:var(--rad-space-4)}.auth-spinner{width:100%;max-width:200px;margin:0 auto var(--rad-space-4)}
