body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{background:#fff;color:#111827;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.app,body{min-height:100vh}.app{display:flex;flex-direction:column}.header{background:#fff;border-bottom:1px solid #e5e7eb;padding:16px 32px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{grid-gap:24px;align-items:center;display:grid;gap:24px;grid-template-columns:1fr auto 1fr;margin:0 auto;max-width:1600px}.header-left{align-items:center;display:flex;gap:16px}.home-button{background:#0000;border:none;border-radius:6px;cursor:pointer;padding:8px;transition:background .2s}.home-button:hover{background:#f3f4f6}.header-title{color:#111827;font-size:18px;font-weight:600}.nav{align-items:center;display:flex;gap:24px;justify-self:end}.nav a{color:#6b7280;font-size:14px;text-decoration:none;transition:color .2s}.nav a:hover{color:#111827}.user-avatar{background:#f3f4f6;border-radius:50%;color:#374151;font-size:12px;font-weight:500;height:32px;justify-content:center;width:32px}.progress-bar,.user-avatar{align-items:center;display:flex}.progress-bar{gap:8px;justify-self:center}.step-circle{align-items:center;border-radius:50%;display:flex;font-size:12px;font-weight:600;height:28px;justify-content:center;transition:all .2s;width:28px}.step-circle.completed{background:#22c55e;color:#fff}.step-circle.active{background:#3b82f6;color:#fff}.step-circle.pending{background:#fff;border:2px solid #e5e7eb;color:#9ca3af}.step-line{background:#e5e7eb;height:2px;transition:background .2s;width:40px}.step-line.completed{background:#22c55e}.landing-screen{display:flex;flex-direction:column;min-height:100vh}.hero-section,.main-container{display:flex;flex:1 1}.hero-section{align-items:center;background:#fafafa;justify-content:center;padding:32px}.hero-content{max-width:600px;text-align:center}.logo-container{gap:12px;margin-bottom:32px}.logo,.logo-container{align-items:center;display:flex;justify-content:center}.logo{background:linear-gradient(135deg,#3b82f6,#9333ea);border-radius:12px;color:#fff;height:48px;width:48px}.logo-text{color:#111827;font-size:24px;font-weight:600}.hero-title{color:#111827;font-size:40px;font-weight:300;line-height:1.2;margin-bottom:16px}.hero-description{color:#6b7280;font-size:18px;line-height:1.6;margin-bottom:32px}.cta-panel{background:linear-gradient(180deg,#f9fafb,#fff);border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px #0000000d;margin-bottom:32px;padding:32px}.cta-button{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:18px;font-weight:500;gap:12px;justify-content:center;padding:16px 32px;transition:all .2s;width:100%}.cta-button:hover{background:#2563eb;transform:scale(1.02)}.cta-subtext{color:#6b7280;font-size:14px;margin-top:16px;text-align:center}.feature-pills{display:flex;gap:16px;justify-content:center}.pill{align-items:center;border-radius:20px;display:flex;font-size:14px;gap:8px;padding:8px 16px}.pill.blue{background:#eff6ff;color:#1d4ed8}.pill.green{background:#f0fdf4;color:#15803d}.pill.purple{background:#faf5ff;color:#7e22ce}.sidebar{background:#fff;border-left:1px solid #e5e7eb;overflow-y:auto;padding:24px;width:400px}.sidebar-title{color:#111827;font-size:14px;font-weight:600;letter-spacing:.05em;margin-bottom:20px;text-transform:uppercase}.experiments-container{display:flex;flex-direction:column;gap:12px}.experiment-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;padding:16px;transition:all .2s}.experiment-card.expanded,.experiment-card:hover{border-color:#d1d5db;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.experiment-header{align-items:flex-start;display:flex;justify-content:space-between}.experiment-info{flex:1 1}.experiment-title{color:#111827;font-size:14px;font-weight:600;margin-bottom:4px}.experiment-time{color:#6b7280;font-size:12px}.status-badge{align-items:center;border:1px solid;border-radius:6px;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:4px 8px}.status-badge.status-running{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.status-badge.status-analyzed{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.status-badge.status-draft{background:#f9fafb;border-color:#e5e7eb;color:#4b5563}.expanded-details{animation:fadeIn .2s;border-top:1px solid #f3f4f6;margin-top:12px;padding-top:12px}.detail-row{align-items:flex-start;color:#4b5563;display:flex;font-size:12px;margin-bottom:8px}.detail-label{font-weight:500;margin-right:8px;min-width:50px}.assay-tags{display:flex;flex-wrap:wrap;gap:4px}.assay-tag{background:#f3f4f6;border-radius:4px;color:#374151;font-size:11px;padding:2px 8px}.progress-container{margin-top:8px}.progress-header{color:#6b7280;display:flex;font-size:12px;justify-content:space-between;margin-bottom:4px}.experiment-progress-bar{background:#e5e7eb;border-radius:2px;height:4px;overflow:hidden;width:100%}.progress-fill{background:#3b82f6;height:100%;transition:width .3s}.chat-screen{display:flex;flex-direction:column;min-height:100vh}.chat-container,.chat-panel{display:flex;flex:1 1}.chat-panel{background:#fafafa;flex-direction:column}.chat-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:20px}.chat-header h2{font-size:18px;font-weight:600;margin-bottom:4px}.chat-header p{color:#6b7280;font-size:14px}.messages-container{display:flex;flex:1 1;flex-direction:column;gap:16px;overflow-y:auto;padding:24px}.message{animation:slideIn .3s;display:flex;gap:12px;max-width:70%}.message.ai{align-self:flex-start}.message.user{align-self:flex-end;flex-direction:row-reverse}.message-avatar{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:12px;font-weight:600;height:32px;justify-content:center;width:32px}.message.ai .message-avatar{background:linear-gradient(135deg,#3b82f6,#9333ea);color:#fff}.message.user .message-avatar{background:#e5e7eb;color:#374151}.message-content{background:#fff;border-radius:12px;box-shadow:0 1px 2px #0000000d;padding:12px 16px}.message.user .message-content{background:#3b82f6;color:#fff}.quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.quick-action{background:#eff6ff;border:1px solid #bfdbfe;border-radius:16px;color:#1d4ed8;cursor:pointer;font-size:13px;padding:6px 12px;transition:all .2s}.quick-action:hover{background:#dbeafe;transform:scale(1.05)}.input-container{align-items:center;background:#fff;border-top:1px solid #e5e7eb;display:flex;gap:12px;padding:16px}.message-input{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex:1 1;font-size:14px;outline:none;padding:12px 16px;transition:all .2s}.message-input:focus{background:#fff;border-color:#3b82f6}.send-button{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:10px;transition:all .2s}.send-button:hover{background:#2563eb}.preview-panel{background:#fff;border-left:1px solid #e5e7eb;display:flex;flex-direction:column;padding:24px;width:400px}.preview-panel h3{font-size:16px;font-weight:600;margin-bottom:20px}.protocol-card{animation:fadeIn .3s;margin-bottom:16px}.protocol-icon{align-items:center;border-radius:4px;display:inline-flex;height:24px;justify-content:center;margin-right:8px;width:24px}.protocol-icon.chip{background:#eff6ff;color:#3b82f6}.protocol-icon.cells{background:#f0fdf4;color:#22c55e}.protocol-icon.assays{background:#faf5ff;color:#9333ea}.protocol-label{color:#6b7280;display:block;font-size:12px;font-weight:600;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.protocol-value{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#111827;font-size:14px;padding:10px 12px}.protocol-tag{background:#fff;border:1px solid #e5e7eb;border-radius:4px;display:inline-block;font-size:13px;margin:2px;padding:4px 10px}.btn-generate{background:linear-gradient(135deg,#3b82f6,#9333ea);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-top:auto;padding:12px;transition:all .2s}.btn-generate:hover{box-shadow:0 4px 12px #3b82f64d;transform:scale(1.02)}.protocol-screen{display:flex;flex-direction:column;min-height:100vh}.protocol-container{display:flex;flex:1 1;gap:24px;padding:24px}.timeline-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex:1 1;padding:24px}.timeline-panel h2{font-size:18px;font-weight:600;margin-bottom:24px}.timeline{padding-left:40px;position:relative}.timeline:before{background:#e5e7eb;bottom:0;content:"";left:16px;position:absolute;top:0;width:2px}.phase-card{cursor:move;margin-bottom:24px;position:relative}.phase-indicator{background:#fff;border:3px solid #3b82f6;border-radius:50%;height:16px;left:-32px;position:absolute;top:8px;width:16px}.phase-card.seeding .phase-indicator{border-color:#22c55e}.phase-card.perfusion .phase-indicator{border-color:#f59e0b}.phase-card.treatment .phase-indicator{border-color:#ef4444}.phase-card.recovery .phase-indicator{border-color:#8b5cf6}.phase-content{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.phase-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}.phase-title{color:#111827;font-size:14px;font-weight:600}.phase-day{background:#fff;border-radius:10px;color:#6b7280;font-size:12px;padding:2px 8px}.phase-description{color:#6b7280;font-size:13px;line-height:1.5;margin-bottom:12px}.phase-tasks{display:flex;flex-direction:column;gap:6px}.task{align-items:center;color:#4b5563;display:flex;font-size:13px;gap:8px}.task-checkbox{cursor:pointer;height:14px;width:14px}.parameters-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow-y:auto;padding:24px;width:400px}.parameters-panel h2{font-size:18px;font-weight:600;margin-bottom:24px}.parameter-section{margin-bottom:20px}.parameter-section label{color:#374151;display:block;font-size:13px;font-weight:600;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.parameter-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:14px;outline:none;padding:10px 12px;transition:all .2s;width:100%}.parameter-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.flow-inputs{align-items:center;display:flex;gap:8px}.flow-inputs input{flex:1 1}.flow-inputs span{color:#6b7280;font-size:14px}.schedule-builder{display:flex;flex-direction:column;gap:8px}.bottom-actions{background:#fff;border-top:1px solid #e5e7eb;justify-content:space-between;padding:16px 32px}.bottom-actions,.json-toggle{align-items:center;display:flex}.json-toggle{color:#6b7280;font-size:14px;gap:8px}.toggle-switch{background:#d1d5db;border-radius:10px;cursor:pointer;height:20px;position:relative;transition:background .2s;width:40px}.toggle-switch.active{background:#3b82f6}.toggle-switch:after{background:#fff;border-radius:50%;content:"";height:16px;left:2px;position:absolute;top:2px;transition:transform .2s;width:16px}.toggle-switch.active:after{transform:translateX(20px)}.action-buttons{display:flex;gap:12px}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:10px 20px;transition:all .2s}.btn-secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.btn-secondary:hover{background:#f9fafb}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb}.json-view{background:#1f2937;border-radius:8px;bottom:60px;box-shadow:0 10px 40px #0000004d;color:#f3f4f6;font-family:Monaco,Courier New,monospace;font-size:12px;max-height:400px;overflow-y:auto;padding:16px;position:fixed;right:24px;width:400px;z-index:1000}.json-view pre{margin:0;white-space:pre-wrap}.upload-screen{display:flex;flex-direction:column;min-height:100vh}.upload-container{display:flex;flex:1 1;gap:24px;margin:0 auto;max-width:1400px;padding:32px;width:100%}.upload-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex:1 1;padding:32px}.upload-header{margin-bottom:32px;text-align:center}.upload-header h1{font-size:24px;font-weight:600;margin-bottom:8px}.upload-header p{color:#6b7280;font-size:16px}.dropzone{background:#fafafa;border:2px dashed #d1d5db;border-radius:12px;cursor:pointer;padding:48px;text-align:center;transition:all .3s}.dropzone:hover{background:#eff6ff;border-color:#3b82f6}.dropzone.dragover{background:#dbeafe;border-color:#3b82f6;transform:scale(1.02)}.dropzone p{color:#374151;font-size:16px;margin-top:12px}.upload-hint{color:#6b7280;font-size:14px;margin-top:8px}.file-types{display:flex;gap:32px;justify-content:center;margin-top:24px}.file-type{align-items:center;border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:16px;transition:all .2s}.file-type:hover{background:#f3f4f6}.file-type.teer{color:#3b82f6}.file-type.imaging{color:#22c55e}.file-type.omics{color:#9333ea}.file-type span{font-size:13px;font-weight:600}.file-type small{color:#9ca3af;font-size:11px}.files-section{margin-top:32px}.files-section h2{font-size:16px;font-weight:600;margin-bottom:16px}.files-table{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;width:100%}.files-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.05em;padding:12px 16px;text-align:left;text-transform:uppercase}.files-table td{background:#fff;border-bottom:1px solid #f3f4f6;font-size:14px;padding:16px}.file-name{align-items:center;display:flex;gap:12px}.file-title{color:#111827;font-weight:500}.file-size{color:#6b7280;font-size:12px}.status-badge.valid{background:#f0fdf4;color:#15803d}.status-badge.processing{background:#fef3c7;color:#a16207}.btn-remove{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.btn-remove:hover{background:#fee2e2;border-color:#ef4444;color:#dc2626}.upload-actions{align-items:center;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:space-between;margin-top:32px;padding-top:24px}.expected-data{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px}.expected-data h3{font-size:16px;font-weight:600;margin-bottom:16px}.expected-list{display:flex;flex-direction:column;gap:12px}.expected-item{align-items:flex-start;background:#f9fafb;border-radius:8px;display:flex;gap:12px;padding:12px}.expected-check{align-items:center;border:2px solid #d1d5db;border-radius:50%;display:flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.expected-check.complete{background:#22c55e;border-color:#22c55e;color:#fff;font-size:12px}.expected-label{color:#111827;font-size:14px;font-weight:500;margin-bottom:4px}.expected-description{color:#6b7280;font-size:12px}.analysis-screen{display:flex;flex-direction:column;min-height:100vh}.tabs-container{background:#fff;border-bottom:1px solid #e5e7eb;padding:0 32px}.tabs{display:flex;gap:32px}.tab{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;padding:16px 4px;transition:all .2s}.tab:hover{color:#374151}.tab.active{border-bottom-color:#3b82f6;color:#3b82f6}.analysis-content{flex:1 1;margin:0 auto;max-width:1400px;padding:32px;width:100%}.metrics-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:32px}.metric-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.metric-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.metric-label{color:#6b7280;font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.metric-icon{align-items:center;border-radius:8px;display:flex;height:32px;justify-content:center;width:32px}.metric-icon.negative{background:#fee2e2;color:#dc2626}.metric-icon.positive{background:#f0fdf4;color:#22c55e}.metric-icon.neutral{background:#fef3c7;color:#f59e0b}.metric-value{color:#111827;font-size:32px;font-weight:700;margin-bottom:8px}.metric-change{color:#6b7280;font-size:13px}.metric-change.positive{color:#15803d}.metric-change.negative{color:#dc2626}.chart-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;padding:24px}.chart-container h2{font-size:16px;font-weight:600;margin-bottom:20px}.chart-controls{display:flex;gap:8px;margin-bottom:16px}.chart-control{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;font-size:13px;padding:6px 12px;transition:all .2s}.chart-control:hover{background:#e5e7eb}.chart-control.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.chart-area{align-items:center;background:linear-gradient(180deg,#3b82f61a,#3b82f600);border-radius:8px;display:flex;height:300px;justify-content:center}.chart-placeholder{color:#9ca3af;text-align:center}.imaging-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:24px}.image-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.image-preview{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-direction:column;height:200px;justify-content:center}.image-info{padding:16px}.image-metrics{color:#6b7280;display:flex;font-size:13px;justify-content:space-between}.summary-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:32px}.ai-badge{align-items:center;background:linear-gradient(135deg,#3b82f6,#9333ea);border-radius:12px;color:#fff;display:inline-flex;font-size:12px;font-weight:600;gap:6px;margin-bottom:16px;padding:6px 12px}.summary-panel h2{font-size:20px;font-weight:600;margin-bottom:20px}.summary-content{color:#374151;line-height:1.8}.summary-content p{margin-bottom:16px}.key-findings{background:#eff6ff;border-left:4px solid #3b82f6;border-radius:4px;margin-top:24px;padding:20px}.key-findings h3{color:#1d4ed8;font-size:14px;font-weight:600;letter-spacing:.05em;margin-bottom:12px;text-transform:uppercase}.key-findings ul{list-style:none}.key-findings li{font-size:14px;margin-bottom:8px;padding-left:24px;position:relative}.key-findings li:before{color:#3b82f6;content:"→";font-weight:700;left:0;position:absolute}.analysis-actions{align-items:center;background:#fff;border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:space-between;padding:16px 32px}.report-screen{background:#f3f4f6;display:flex;flex-direction:column;min-height:100vh}.report-container{background:#fff;box-shadow:0 4px 6px #00000012;margin:40px auto;max-width:850px}.report-page{padding:60px}.cover-page{flex-direction:column;min-height:600px;text-align:center}.cover-logo,.cover-page{align-items:center;display:flex;justify-content:center}.cover-logo{background:linear-gradient(135deg,#3b82f6,#9333ea);border-radius:16px;color:#fff;height:80px;margin-bottom:32px;width:80px}.cover-page h1{color:#111827;font-size:36px;font-weight:300;margin-bottom:16px}.cover-subtitle{color:#6b7280;font-size:20px;margin-bottom:48px}.cover-metadata{grid-gap:24px;background:#f9fafb;border-radius:12px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr);margin-top:48px;padding:32px;text-align:left}.metadata-item{display:flex;flex-direction:column}.metadata-label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.05em;margin-bottom:4px;text-transform:uppercase}.metadata-value{color:#111827;font-size:14px}.content-page section{margin-bottom:48px}.content-page h2{color:#111827;font-size:24px;font-weight:600;margin-bottom:20px}.content-page p{color:#374151;line-height:1.8;margin-bottom:16px}.key-results{background:#eff6ff;border-left:4px solid #3b82f6;border-radius:4px;margin:24px 0;padding:20px}.key-results h3{color:#1d4ed8;font-size:14px;font-weight:600;letter-spacing:.05em;margin-bottom:12px;text-transform:uppercase}.key-results ul{list-style:none}.key-results li{font-size:14px;margin-bottom:8px;padding-left:24px;position:relative}.key-results li:before{color:#22c55e;content:"✓";font-weight:700;left:0;position:absolute}.export-bar{background:#fff;border-top:1px solid #e5e7eb;bottom:0;box-shadow:0 -4px 6px #0000000d;padding:16px 32px;position:-webkit-sticky;position:sticky}.export-options{align-items:center;display:flex;justify-content:space-between}.export-options>span{color:#6b7280;font-size:14px;margin-right:16px}.format-buttons{display:flex;flex:1 1;gap:8px}.format-btn{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;font-size:13px;padding:6px 12px;transition:all .2s}.format-btn:hover{background:#e5e7eb}.format-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.export-actions{display:flex;gap:12px}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
/*# sourceMappingURL=main.1b8506cf.css.map*/