:root{--max-width:1100px;--border-radius:12px;--font-mono:ui-monospace,Menlo,Monaco,"Cascadia Mono","Segoe UI Mono","Roboto Mono","Oxygen Mono","Ubuntu Monospace","Source Code Pro","Fira Mono","Droid Sans Mono","Courier New",monospace;--primary-color:#0070f3;--primary-hover:#0051a2;--secondary-color:#666;--secondary-hover:#444;--success-color:#0070f3;--error-color:#ff0000;--text-color:#333;--border-color:#ddd;--background-color:#fff;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Open Sans,Helvetica Neue;color:#333;color:var(--text-color);line-height:1.6;background-color:#fff;background-color:var(--background-color)}a{color:inherit;-webkit-text-decoration:none;text-decoration:none}.container{max-width:1100px;max-width:var(--max-width);margin:0 auto;padding:0 1rem;padding:0 var(--spacing-md)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-sm{gap:.5rem;gap:var(--spacing-sm)}.gap-md{gap:1rem;gap:var(--spacing-md)}.text-center{text-align:center}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.font-bold{font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md);border-radius:12px;border-radius:var(--border-radius);font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s;border:none;min-width:100px}.btn:active{transform:translateY(1px)}.btn-primary{background-color:#0070f3;background-color:var(--primary-color);color:white}.btn-primary:hover{background-color:#0051a2;background-color:var(--primary-hover)}.btn-secondary{background-color:#666;background-color:var(--secondary-color);color:white}.btn-secondary:hover{background-color:#444;background-color:var(--secondary-hover)}.btn-ghost{background-color:transparent;color:#333;color:var(--text-color);border:1px solid transparent}.btn-ghost:hover{background-color:rgba(0,0,0,.05)}.btn-ghost:active{background-color:rgba(0,0,0,.1)}.btn-sm{padding:.25rem .5rem;padding:var(--spacing-xs) var(--spacing-sm);font-size:.875rem;min-width:80px}.btn-md{padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md);font-size:1rem;min-width:100px}.btn-lg{padding:1rem 1.5rem;padding:var(--spacing-md) var(--spacing-lg);font-size:1.125rem;min-width:120px}.form-group{display:flex;flex-direction:column;gap:.25rem;gap:var(--spacing-xs);margin-bottom:1rem;margin-bottom:var(--spacing-md)}.form-label{font-weight:500;color:#333;color:var(--text-color)}.form-input{padding:.5rem;padding:var(--spacing-sm);border:1px solid #ddd;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius);font-size:1rem;width:100%;transition:border-color .2s,box-shadow .2s}.form-input:focus{outline:none;border-color:#0070f3;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(0,112,243,.1)}.form-group-inline{display:flex;align-items:center;gap:1rem;gap:var(--spacing-md)}.form-group-inline .form-input{flex:1}.step-indicator{gap:1rem;gap:var(--spacing-md);margin:1.5rem 0;margin:var(--spacing-lg) 0}.step,.step-indicator{display:flex;align-items:center}.step{gap:.5rem;gap:var(--spacing-sm)}.step-number{width:24px;height:24px;border-radius:50%;background-color:#666;background-color:var(--secondary-color);color:white;display:flex;align-items:center;justify-content:center;font-size:.875rem}.step.active .step-number{background-color:#0070f3;background-color:var(--primary-color)}.card{background:white;border-radius:12px;border-radius:var(--border-radius);padding:1.5rem;padding:var(--spacing-lg);box-shadow:0 2px 4px rgba(0,0,0,.1)}.loading{display:inline-block;width:24px;height:24px;border-radius:50%;border:3px solid rgba(255,255,255,.3);border-top-color:white;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(1turn)}}.test-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:1.5rem;grid-gap:var(--spacing-lg);gap:1.5rem;gap:var(--spacing-lg);padding:1rem 0;padding:var(--spacing-md) 0}.test-card{background:white;border-radius:12px;border-radius:var(--border-radius);padding:1.5rem;padding:var(--spacing-lg);box-shadow:0 2px 4px rgba(0,0,0,.1);transition:transform .2s,box-shadow .2s;cursor:pointer}.test-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.test-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;margin-bottom:var(--spacing-sm);color:#333;color:var(--text-color)}.test-type{font-size:.875rem;color:#666;color:var(--secondary-color);margin-bottom:1rem;margin-bottom:var(--spacing-md)}.header{padding:1.5rem 0;padding:var(--spacing-lg) 0;text-align:center}.form-section,.header{margin-bottom:2rem;margin-bottom:var(--spacing-xl)}.subsection-title{font-size:1.25rem;font-weight:600;color:#333;color:var(--text-color);margin-bottom:1rem;margin-bottom:var(--spacing-md);padding-bottom:.25rem;padding-bottom:var(--spacing-xs);border-bottom:2px solid #ddd;border-bottom:2px solid var(--border-color)}.form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;margin-top:var(--spacing-lg)}.required-mark{color:#ff0000;color:var(--error-color);margin-left:.25rem;margin-left:var(--spacing-xs)}.analysis-card{background:white;border-radius:12px;border-radius:var(--border-radius);padding:1.5rem;padding:var(--spacing-lg);margin-bottom:1.5rem;margin-bottom:var(--spacing-lg);box-shadow:0 2px 4px rgba(0,0,0,.1)}.analysis-text{margin-bottom:1rem;margin-bottom:var(--spacing-md);line-height:1.6;color:#333;color:var(--text-color)}.analysis-list{list-style:none;margin:1rem 0;margin:var(--spacing-md) 0;padding-left:1.5rem;padding-left:var(--spacing-lg)}.analysis-item{margin-bottom:.5rem;margin-bottom:var(--spacing-sm);position:relative;line-height:1.6}.analysis-item:before{content:"•";position:absolute;left:-1rem;color:#0070f3;color:var(--primary-color)}.followup-list{list-style:none;margin:1.5rem 0;margin:var(--spacing-lg) 0;padding:0}.followup-item{margin-bottom:1rem;margin-bottom:var(--spacing-md);padding:1rem;padding:var(--spacing-md);background:#f5f5f5;border-radius:12px;border-radius:var(--border-radius)}.followup-question{font-weight:500;color:#333;color:var(--text-color)}.followup-question,.question-text{margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}.question-text{color:#666;color:var(--secondary-color)}@media (max-width:768px){.container{padding:0 .5rem;padding:0 var(--spacing-sm)}.btn{width:100%;margin-bottom:.5rem;margin-bottom:var(--spacing-sm)}.form-group-inline{flex-direction:column}.test-grid{grid-template-columns:1fr}}.upload-dropzone{border:2px dashed #888;border-radius:12px;background:#f8fafc;min-height:220px;min-width:320px;padding:2rem;transition:border-color .2s,background .2s;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:1rem}.upload-dropzone.drag-active{border-color:#3b82f6;background:#e0f2fe}.chat-main-container{max-width:900px;width:100%;margin:0 auto;padding:0 1rem}.chat-input-row{display:flex;align-items:center;margin:0 auto 1.5rem}.chat-textarea{width:100%;min-height:64px;max-height:200px;resize:vertical;border-radius:.75rem;border:1.5px solid #e0e0e0;box-shadow:0 2px 8px rgba(0,0,0,.04);padding:1rem 6.5rem 4rem 1.25rem;font-size:1.1rem;background:#fff;outline:none;transition:border-color .2s,box-shadow .2s;font-family:inherit;box-sizing:border-box}.chat-textarea:focus{border-color:#2563eb;box-shadow:0 2px 12px rgba(80,80,255,.08)}.chat-send-btn{border:none;background:#2563eb;color:#fff;border-radius:50%;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;font-size:1.25rem}.chat-send-btn:focus,.chat-send-btn:hover{background:#1746b3}.tall-textarea{min-height:64px!important;border-radius:2rem!important;padding:1rem 1.25rem!important;font-size:1.1rem!important;box-shadow:0 2px 8px rgba(0,0,0,.04)!important;border:1.5px solid #e0e0e0!important}@media (max-width:600px){.chat-main-container{max-width:100%;padding:0 .5rem}.chat-input-row{margin-bottom:1rem}.chat-textarea{font-size:1em;min-height:48px;padding:.75rem 5.25rem 3.25rem .75rem}.chat-send-btn{width:2rem;height:2rem;font-size:1rem;right:.5rem}}.chat-input{width:100%;min-height:48px;border-radius:.75rem;border:1.5px solid #e0e0e0;box-shadow:0 2px 8px rgba(0,0,0,.04);padding:1rem 1.25rem;font-size:1.1rem;background:#fff;outline:none;transition:border-color .2s,box-shadow .2s;font-family:inherit;margin-bottom:.5rem}.chat-input:focus{border-color:#2563eb;box-shadow:0 2px 12px rgba(80,80,255,.08)}@media (max-width:768px){.fixed-login-button{display:none!important}}@media (min-width:769px){.fixed-login-button{display:block!important}}.history-button-container{margin:0;padding:0}.mobile-button-container{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:16px;padding-left:0;width:100%}.chat-main-container{padding-left:0!important}.chat-input-container{display:flex;flex-direction:column;gap:1rem}.chat-input-container,.chat-input-row{position:relative;width:100%}.chat-input-actions{position:absolute;right:1rem;bottom:1rem;gap:.5rem;z-index:10}.chat-file-btn,.chat-file-upload,.chat-input-actions{display:flex;align-items:center}.chat-file-btn{justify-content:center;width:2.5rem;height:2.5rem;border:none;background:transparent;color:#6b7280;border-radius:50%;cursor:pointer;transition:all .2s ease}.chat-file-btn:hover{background:#f3f4f6;color:#374151}.chat-file-btn:disabled{opacity:.5;cursor:not-allowed}.file-list{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem;margin-bottom:.5rem}.file-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.file-count{font-size:.875rem;color:#6b7280;font-weight:500}.clear-all-btn{background:none;border:none;color:#ef4444;font-size:.875rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background .2s ease}.clear-all-btn:hover{background:#fef2f2}.file-items{display:flex;flex-direction:column;gap:.25rem}.file-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:white;border-radius:4px;border:1px solid #e5e7eb}.file-name{flex:1;font-size:.875rem;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-size:.75rem;color:#6b7280}.remove-file-btn{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border:none;background:transparent;color:#ef4444;border-radius:50%;cursor:pointer;transition:background .2s ease}.remove-file-btn:hover{background:#fef2f2}.drag-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.drag-overlay-content{background:white;border:2px dashed #10b981;border-radius:12px;padding:2rem;text-align:center;max-width:400px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.drag-overlay-icon{color:#10b981;margin-bottom:1rem}.drag-overlay-title{font-size:1.125rem;font-weight:600;color:#374151;margin-bottom:.5rem}.drag-overlay-files{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem}.drag-overlay-file{font-size:.875rem;color:#6b7280;background:#f3f4f6;padding:.25rem .5rem;border-radius:4px}.message-files{margin-top:.5rem;display:flex;flex-direction:column;gap:.25rem}.message-file{font-size:.875rem;color:#6b7280;background:#f3f4f6;padding:.25rem .5rem;border-radius:4px;display:inline-block;margin-right:.5rem}.symptom-input-container{display:flex;flex-direction:column;gap:1.5rem;max-width:800px;margin:0 auto;width:100%}.file-upload-section{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;padding:1.5rem;transition:border-color .2s ease}.file-upload-section:hover{border-color:#0070f3}.text-input-section{background:white;border:1px solid #e9ecef;border-radius:12px;padding:1.5rem}.uploaded-files{background:#e8f5e8;border:1px solid #c3e6c3;border-radius:8px;padding:1rem}.uploaded-files h4{color:#2d5a2d;margin-bottom:.5rem}.uploaded-files .text-sm{color:#4a7c4a;background:#f0f8f0;border-radius:4px;padding:.5rem;margin-bottom:.25rem}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}