@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500&display=swap";.message-bubble{max-width:85%;padding:var(--spacing-lg);border-radius:var(--border-radius-lg);margin-bottom:var(--spacing-md);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.message-bubble:hover{box-shadow:var(--shadow-md)}.message-bubble.user{align-self:flex-end;background-color:var(--message-user);color:var(--message-user-text);margin-left:auto;border-bottom-right-radius:var(--border-radius-sm)}.message-bubble.assistant{align-self:flex-start;background-color:var(--message-assistant);color:var(--message-assistant-text);border:1px solid var(--message-assistant-border);border-bottom-left-radius:var(--border-radius-sm)}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);font-size:.8125rem}.message-role{font-weight:600;display:flex;align-items:center;gap:var(--spacing-xs)}.message-bubble.user .message-role,.message-bubble.user .message-time{color:#ffffffe6}.message-bubble.assistant .message-role,.message-bubble.assistant .message-time{color:var(--text-secondary)}.message-time{font-size:.75rem;opacity:.8}.message-content{line-height:1.6;word-wrap:break-word;font-size:1rem}.message-content p{margin:0 0 var(--spacing-sm)}.message-content p:last-child{margin-bottom:0}.message-content h1,.message-content h2,.message-content h3,.message-content h4{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm);font-weight:600;line-height:1.3}.message-content h1{font-size:1.5rem;color:var(--primary);border-bottom:1px solid var(--divider);padding-bottom:var(--spacing-xs)}.message-content h2{font-size:1.25rem;color:var(--primary)}.message-content h3{font-size:1.125rem;color:var(--text-primary)}.message-content h4{font-size:1rem;color:var(--text-primary)}.message-content ul,.message-content ol{margin-left:var(--spacing-lg);margin-top:var(--spacing-sm);margin-bottom:var(--spacing-md);padding-left:0}.message-content li{margin-bottom:var(--spacing-xs);line-height:1.5}.message-content li:last-child{margin-bottom:0}.message-content strong{font-weight:600;color:var(--text-primary)}.message-content .dosage-highlight{color:var(--info);font-weight:600;background-color:#0065ff1a;padding:.125rem .25rem;border-radius:var(--border-radius-sm)}.message-content a{color:var(--primary);text-decoration:underline;transition:color .2s ease}.message-content a:hover{color:var(--primary-light)}.message-content blockquote{border-left:4px solid var(--blockquote-border);padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-md) 0;background-color:var(--background-subtle);border-radius:var(--border-radius-sm);color:var(--text-secondary)}.message-content table{border-collapse:collapse;width:100%;margin:var(--spacing-md) 0;border-radius:var(--border-radius-sm);overflow:hidden}.message-content th,.message-content td{border:1px solid var(--divider);padding:var(--spacing-sm);text-align:left}.message-content th{background-color:var(--table-header);font-weight:600;color:var(--text-primary)}.message-content tr:nth-child(2n){background-color:var(--background-subtle)}.message-content code{font-family:var(--font-family-code);font-size:.9em}.message-content pre{margin:var(--spacing-md) 0;border-radius:var(--border-radius-md);overflow-x:auto}.message-content hr{border:0;height:1px;background-color:var(--divider);margin:var(--spacing-md) 0}.streaming-indicator{display:inline-flex;gap:var(--spacing-xs);margin-left:var(--spacing-sm);align-items:center}.streaming-indicator .dot{width:6px;height:6px;background-color:var(--primary);border-radius:50%;animation:pulse 1.4s infinite ease-in-out}.message-bubble.user .streaming-indicator .dot{background-color:#fff}.streaming-indicator .dot:nth-child(1){animation-delay:-.32s}.streaming-indicator .dot:nth-child(2){animation-delay:-.16s}.citation{background-color:var(--citation-background);border-left:4px solid var(--primary);padding:var(--spacing-md);margin:var(--spacing-md) 0;border-radius:var(--border-radius-md);font-style:italic}.citation-quote{font-size:1rem;line-height:1.6;margin-bottom:var(--spacing-sm);color:var(--text-primary)}.citation-source{font-size:.875rem;color:var(--text-secondary);display:flex;flex-wrap:wrap;gap:.25rem}.citation-book{color:var(--primary)}.study-reference{background-color:var(--study-reference-background);border-left:4px solid var(--secondary);padding:var(--spacing-md);margin:var(--spacing-md) 0;border-radius:var(--border-radius-md)}.study-reference-header{margin-bottom:var(--spacing-sm);font-size:1rem;line-height:1.5}.study-name{color:var(--secondary-dark)}.study-authors{color:var(--text-secondary)}.study-conclusion{font-size:.9375rem;line-height:1.6;margin-top:var(--spacing-sm);color:var(--text-primary)}.treatment-protocol{background-color:var(--background-paper);border:1px solid var(--divider);border-radius:var(--border-radius-md);padding:var(--spacing-md);margin:var(--spacing-md) 0;box-shadow:var(--shadow-sm)}.treatment-protocol-header{margin-bottom:var(--spacing-md);border-bottom:1px solid var(--divider);padding-bottom:var(--spacing-sm)}.protocol-title{font-size:1.125rem;font-weight:600;color:var(--primary);margin:0 0 var(--spacing-xs)}.protocol-indication{font-size:.875rem;color:var(--text-secondary);font-style:italic}.protocol-details{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.protocol-label{font-weight:600;color:var(--text-primary)}.protocol-regimen{font-size:1rem}.protocol-dosage{padding:var(--spacing-sm);border-radius:var(--border-radius-sm);font-weight:500}.protocol-considerations{margin-top:var(--spacing-md);border-top:1px solid var(--divider);padding-top:var(--spacing-sm)}.protocol-considerations ul{margin-top:var(--spacing-xs);padding-left:var(--spacing-lg)}.protocol-considerations li{margin-bottom:var(--spacing-xs);line-height:1.5}.dosage-info{background-color:var(--dosage-info-background);border-left:4px solid var(--info);padding:var(--spacing-md);margin:var(--spacing-md) 0;border-radius:var(--border-radius-md)}.dosage-header{margin-bottom:var(--spacing-sm)}.medication-name{font-size:1.0625rem;color:var(--info)}.dosage-details{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.dosage-label{font-weight:600;color:var(--text-primary)}.dosage-adjustments{margin-top:var(--spacing-sm);border-top:1px solid rgba(0,101,255,.2);padding-top:var(--spacing-sm)}.dosage-adjustments ul{margin-top:var(--spacing-xs);padding-left:var(--spacing-lg)}.dosage-adjustments li{margin-bottom:var(--spacing-xs);line-height:1.5}.clinical-warning{background-color:var(--clinical-warning-background);border-left:4px solid var(--warning);padding:var(--spacing-md);margin:var(--spacing-md) 0;border-radius:var(--border-radius-md)}.warning-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.warning-icon{font-size:1.25rem}.warning-title{font-size:1.0625rem;color:var(--text-primary)}.warning-description{margin-bottom:var(--spacing-md);line-height:1.6}.warning-recommendations{margin-top:var(--spacing-sm);border-top:1px solid rgba(255,153,31,.3);padding-top:var(--spacing-sm)}.warning-recommendations ul{margin-top:var(--spacing-xs);padding-left:var(--spacing-lg)}.warning-recommendations li{margin-bottom:var(--spacing-xs);line-height:1.5}.warning-high{border-left-color:var(--error);background-color:#de350b1a}.warning-medium{border-left-color:var(--warning);background-color:#ff991f1a}.warning-low{border-left-color:var(--info);background-color:#0065ff1a}.chat-interface{display:flex;flex-direction:column;height:100%;background-color:var(--background-paper);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;position:relative}.chat-header{display:flex;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--background-subtle);border-bottom:1px solid var(--divider)}.chat-header-logo{width:32px;height:32px;margin-right:var(--spacing-md);display:flex;align-items:center;justify-content:center;background-color:var(--primary);color:#fff;border-radius:50%;font-weight:700;font-size:16px}.chat-header-title{flex:1}.chat-header-title h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.chat-header-title p{font-size:.75rem;color:var(--text-secondary);margin:0}.chat-header-actions{display:flex;gap:var(--spacing-sm)}.messages-container{flex:1;overflow-y:auto;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md);background-color:var(--background-default)}.welcome-message{text-align:center;max-width:700px;margin:var(--spacing-xl) auto;padding:var(--spacing-xl);background:linear-gradient(135deg,var(--background-paper) 0%,var(--background-subtle) 100%);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--divider)}.welcome-message h2{color:var(--primary);margin-bottom:var(--spacing-md);font-size:1.5rem;font-weight:600}.welcome-message p{color:var(--text-secondary);margin-bottom:var(--spacing-lg);font-size:1rem;line-height:1.5}.welcome-logo{margin-bottom:var(--spacing-lg);display:flex;align-items:center;justify-content:center}.welcome-logo-icon{width:64px;height:64px;background-color:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;border-radius:16px;font-size:32px;font-weight:700;margin-bottom:var(--spacing-md)}.example-queries{text-align:left;margin-top:var(--spacing-lg);background-color:var(--background-paper);padding:var(--spacing-md);border-radius:var(--border-radius-md);border:1px solid var(--divider)}.example-queries p{font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.example-queries ul{list-style:none;padding:0;margin:0}.example-queries li{margin-bottom:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--background-subtle);border-radius:var(--border-radius-md);cursor:pointer;transition:all .2s ease;border:1px solid var(--divider)}.example-queries li:hover{background-color:var(--primary-light);color:#fff;border-color:var(--primary)}.example-queries li:last-child{margin-bottom:0}.error-message{background-color:#de350b1a;color:var(--error);padding:var(--spacing-md);border-radius:var(--border-radius-md);border-left:4px solid var(--error);margin:0 auto;max-width:700px;font-size:.875rem;display:flex;align-items:center;gap:var(--spacing-sm)}.error-message strong{font-weight:600}.input-form{border-top:1px solid var(--divider);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--background-paper)}.input-container{position:relative;border-radius:var(--border-radius-lg);background-color:var(--background-paper);border:1px solid var(--divider);transition:border-color .2s,box-shadow .2s;box-shadow:var(--shadow-sm)}.input-container:focus-within{border-color:var(--primary);box-shadow:var(--shadow-md)}.input-field{width:100%;padding:var(--spacing-md) var(--spacing-lg);border:none;border-radius:var(--border-radius-lg);font-size:1rem;font-family:var(--font-family);resize:none;background-color:transparent;color:var(--text-primary)}.input-field:focus{outline:none}.input-field:disabled{background-color:var(--background-subtle);cursor:not-allowed}.input-field::placeholder{color:var(--text-disabled)}.input-actions{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-sm)}.input-tips{font-size:.75rem;color:var(--text-secondary)}.button-group{display:flex;gap:var(--spacing-sm)}.button{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--border-radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:var(--spacing-xs);font-family:var(--font-family)}.button-icon{font-size:1rem}.button-send{background-color:var(--primary);color:#fff}.button-send:hover:not(:disabled){background-color:var(--primary-dark)}.button-send:disabled{background-color:var(--text-disabled);cursor:not-allowed}.button-stop{background-color:var(--error);color:#fff}.button-stop:hover{background-color:var(--error-dark)}.button-secondary:hover{background-color:var(--divider)}.app{display:flex;flex-direction:column;height:100vh;max-width:1400px;margin:0 auto;background-color:var(--background-default)}.app-header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;padding:var(--spacing-md) var(--spacing-lg);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:space-between}.header-content{display:flex;align-items:center}.header-logo{width:48px;height:48px;background-color:#fff;border-radius:var(--border-radius-lg);display:flex;align-items:center;justify-content:center;margin-right:var(--spacing-md);font-size:24px;font-weight:700;color:var(--primary);box-shadow:var(--shadow-sm)}.header-text h1{font-size:1.5rem;font-weight:600;margin:0}.header-text p{font-size:.875rem;opacity:.9;margin:0}.header-actions{display:flex;gap:var(--spacing-md)}.app-main{flex:1;overflow:hidden;padding:var(--spacing-lg);display:flex;flex-direction:column}.app-footer{background-color:var(--background-paper);border-top:1px solid var(--divider);padding:var(--spacing-md) var(--spacing-lg);text-align:center;font-size:.8125rem;color:var(--text-secondary);display:flex;justify-content:space-between;align-items:center}.footer-links{display:flex;gap:var(--spacing-md)}.footer-link{color:var(--text-secondary);text-decoration:none;transition:color .2s ease}.footer-link:hover{color:var(--primary);text-decoration:underline}@media (max-width: 768px){.app-header{padding:var(--spacing-sm) var(--spacing-md)}.header-logo{width:40px;height:40px;font-size:20px}.header-text h1{font-size:1.25rem}.app-main{padding:var(--spacing-md)}.app-footer{flex-direction:column;gap:var(--spacing-sm)}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #0052cc;--primary-light: #4c9aff;--primary-dark: #003d99;--secondary: #00875a;--secondary-light: #57b894;--secondary-dark: #005c3d;--success: #00875a;--error: #de350b;--warning: #ff991f;--info: #0065ff;--text-primary: #172b4d;--text-secondary: #6b778c;--text-disabled: #a5adba;--background-default: #f4f5f7;--background-paper: #ffffff;--background-subtle: #fafbfc;--divider: #dfe1e6;--message-user: #0052cc;--message-assistant: #ffffff;--message-user-text: #ffffff;--message-assistant-text: #172b4d;--message-user-border: #0052cc;--message-assistant-border: #dfe1e6;--code-background: #f4f5f7;--blockquote-border: #0052cc;--citation-background: #e6effc;--study-reference-background: #e3fcef;--clinical-warning-background: #fff0b3;--dosage-info-background: #deebff;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-family-code: "Fira Code", "Courier New", monospace;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--shadow-sm: 0 1px 2px 0 rgba(9, 30, 66, .13);--shadow-md: 0 3px 5px 0 rgba(9, 30, 66, .2);--shadow-lg: 0 8px 16px 0 rgba(9, 30, 66, .25);--shadow-xl: 0 12px 24px 0 rgba(9, 30, 66, .3);--border-radius-sm: .25rem;--border-radius-md: .5rem;--border-radius-lg: .75rem;--border-radius-xl: 1rem}body{font-family:var(--font-family);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background-default);color:var(--text-primary)}code{font-family:var(--font-family-code);background-color:var(--code-background);padding:.25rem .5rem;border-radius:var(--border-radius-sm);font-size:.9em}pre{background-color:var(--code-background);padding:var(--spacing-md);border-radius:var(--border-radius-md);overflow-x:auto;margin:var(--spacing-sm) 0;border:1px solid var(--divider)}pre code{background-color:transparent;padding:0;border:none}a{color:var(--primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--primary-light);text-decoration:underline}.citation{background-color:var(--citation-background);border-left:3px solid var(--primary);padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-sm) 0;border-radius:var(--border-radius-sm);font-style:italic}.study-reference{background-color:var(--study-reference-background);border-left:3px solid var(--secondary);padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-sm) 0;border-radius:var(--border-radius-sm)}.clinical-warning{background-color:var(--clinical-warning-background);border-left:3px solid var(--warning);padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-sm) 0;border-radius:var(--border-radius-sm)}.dosage-info{background-color:var(--dosage-info-background);border-left:3px solid var(--info);padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-sm) 0;border-radius:var(--border-radius-sm);font-weight:500}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--background-default)}::-webkit-scrollbar-thumb{background:var(--divider);border-radius:var(--border-radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--text-disabled)}button,.button{font-family:var(--font-family);font-weight:500;border:none;border-radius:var(--border-radius-md);padding:.625rem 1.25rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.button-primary{background-color:var(--primary);color:#fff}.button-primary:hover:not(:disabled){background-color:var(--primary-dark)}.button-secondary{background-color:var(--background-subtle);color:var(--text-primary);border:1px solid var(--divider)}.button-secondary:hover:not(:disabled){background-color:var(--background-default)}button:disabled,.button:disabled{opacity:.6;cursor:not-allowed}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:fadeIn .3s ease-in}.slide-in{animation:slideIn .3s ease-out}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-light{font-weight:300}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}
