:root{--bg-gradient: linear-gradient(180deg, #fdfeff 0%, #f6f8fa 100%);--panel-frosted-glass: rgba(255, 255, 255, .6);--accent-calm-blue: #2563eb;--accent-healthy-green: #05f5a3;--accent-heart-red: #e11d48;--text-primary: #111827;--text-secondary: #4b5563;--border-subtle: rgba(0, 0, 0, .08);--shadow-soft: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-medium: 0 10px 15px -3px rgba(0, 0, 0, .07), 0 4px 6px -4px rgba(0, 0, 0, .07);--shadow-lifted: 0 20px 25px -5px rgba(29, 99, 235, .1), 0 8px 10px -6px rgba(29, 99, 235, .1);--animation-curve-elegant: cubic-bezier(.645, .045, .355, 1);--animation-curve-spring: cubic-bezier(.34, 1.56, .64, 1);--medical-teal: #4ec7c2;--medical-teal-dark: #37a09d;--slate-900: #0f172a;--slate-600: #475569;--slate-200: #e2e8f0}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg-gradient);color:var(--text-primary);margin:0;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.logo-container{display:flex;align-items:center;gap:.75rem;text-decoration:none}.logo-container:hover{transform:scale(1.03);transition:transform .3s var(--animation-curve-elegant)}.logo-image{height:7rem;width:auto;margin-left:-1rem}.logo-text{font-size:2.5rem;font-weight:800;color:var(--medical-teal);letter-spacing:-.05em;margin-top:1rem}.logo-subtitle{font-size:.875rem;color:var(--slate-600);margin-top:-.5rem}.demo-button-wrapper{display:flex;justify-content:center}.demo-button{display:inline-block;text-decoration:none;background:var(--accent-calm-blue);color:#fff;border:none;border-radius:12px;padding:.9rem 2.2rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .4s var(--animation-curve-spring);box-shadow:var(--shadow-medium)}.demo-button:hover{transform:scale(1.05) translateY(-2px);box-shadow:var(--shadow-lifted);background:linear-gradient(45deg,var(--accent-calm-blue),#3b82f6)}#about-page{padding:2rem;max-width:1100px;margin:0 auto}.about-header{display:flex;justify-content:center;align-items:center;padding-bottom:6rem}.about-section{text-align:center;margin-bottom:8rem;opacity:0;transform:translateY(40px);transition:opacity 1s var(--animation-curve-elegant),transform 1s var(--animation-curve-elegant)}.about-section.visible{opacity:1;transform:translateY(0)}.hero-title{font-size:clamp(3rem,6vw,5rem);font-weight:800;margin-bottom:1.5rem;letter-spacing:-.03em;background:linear-gradient(45deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-subtitle{font-size:1.3rem;color:var(--text-secondary);max-width:1000px;margin:0 auto 3rem;line-height:1.8}.heartbeat-container{width:100%;height:250px;position:relative;margin:2rem 0 5rem;background-image:linear-gradient(rgba(0,0,0,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.03) 1px,transparent 1px);background-size:40px 40px;border-radius:24px;border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:#fff}.heartbeat-container .heart,.heartbeat-container .heart:before,.heartbeat-container .heart:after{background-color:var(--medical-teal)}.heartbeat-container .heart{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-45deg);width:40px;height:40px;filter:drop-shadow(0 0 8px rgba(78,199,194,.7));animation:beat 1.5s ease-in-out infinite}.heartbeat-container .heart:before,.heartbeat-container .heart:after{content:"";position:absolute;width:40px;height:40px;border-radius:50%}.heartbeat-container .heart:before{top:-20px;left:0}.heartbeat-container .heart:after{top:0;left:20px}.heartbeat-container .heartbeat-line{width:100%;height:100%;position:absolute;top:0;left:0;background-image:url('data:image/svg+xml;utf8,<svg width="220" height="200" viewBox="0 0 220 200" xmlns="http://www.w3.org/2000/svg"><path d="M-10 100 L70 100 L80 85 L90 100 L95 115 L105 40 L115 125 L120 100 L230 100" stroke="%234EC7C2" stroke-width="4" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>');background-repeat:repeat-x;filter:drop-shadow(0 0 8px rgba(78,199,194,.6));animation:scroll-left 1.5s linear infinite}@keyframes scroll-left{0%{background-position-x:0}to{background-position-x:-220px}}@keyframes beat{0%,to{transform:translate(-50%,-50%) rotate(-45deg) scale(1)}50%{transform:translate(-50%,-50%) rotate(-45deg) scale(1.1)}}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem;margin-top:4rem}.feature-card{background:var(--panel-frosted-glass);border:1px solid var(--border-subtle);border-radius:20px;padding:2rem;text-align:left;box-shadow:var(--shadow-soft);transition:transform .4s var(--animation-curve-elegant),box-shadow .4s var(--animation-curve-elegant);position:relative}.feature-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-medium)}.animated-border{border-color:var(--slate-200);animation:pulse-border 2.5s infinite}@keyframes pulse-border{0%{border-color:var(--slate-200);box-shadow:var(--shadow-soft)}50%{border-color:var(--medical-teal);box-shadow:0 0 15px #4ec7c280}to{border-color:var(--slate-200);box-shadow:var(--shadow-soft)}}.feature-card .icon{display:inline-block;background:linear-gradient(135deg,var(--accent-calm-blue),var(--accent-healthy-green));padding:.8rem;border-radius:12px;margin-bottom:1.5rem}.feature-card .icon svg{stroke:#fff}.feature-card h3{font-size:1.25rem;margin-bottom:.5rem}.feature-card p{color:var(--text-secondary);line-height:1.7;margin:0}.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:3rem;justify-items:center}.team-card-container{position:relative;width:100%;max-width:300px;height:350px}.team-card{position:relative;width:100%;height:100%;border-radius:20px;background-color:#fff;border:1px solid var(--slate-200);box-shadow:0 10px 30px #00000014;overflow:hidden;transition:transform .6s cubic-bezier(.25,.46,.45,.94),box-shadow .6s cubic-bezier(.25,.46,.45,.94);display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.5rem;box-sizing:border-box}.team-card:before{content:"";position:absolute;inset:-2px;border-radius:22px;padding:2px;background:linear-gradient(45deg,#ffffff1a,#4ec7c2,#ffffff1a);background-size:400% 400%;z-index:-1;opacity:0;transition:opacity .4s ease}.team-card-container:hover .team-card:before{opacity:.7;animation:border-blink 4s linear infinite}@keyframes border-blink{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.team-card-container:hover .team-card{transform:translateY(-5px);box-shadow:0 15px 40px #00000026}.card-image-content{width:160px;height:160px;border-radius:50%;overflow:hidden;margin-bottom:1rem;border:4px solid #fff;box-shadow:0 4px 15px #0000001a;flex-shrink:0}.card-image{width:100%;height:100%;object-fit:cover;display:block}.card-info{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .6s ease}.card-front-content{position:absolute;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .5s ease;padding:0 1rem}.card-name{font-size:1.5rem;font-weight:600;color:#1e293b;margin-bottom:.25rem}.card-title{font-size:1rem;color:#475569;font-weight:400}.card-back-content{position:absolute;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 1rem;opacity:0;transition:opacity .5s ease}.card-bio{font-size:1rem;line-height:1.6;color:#475569;text-align:center;font-weight:500}.team-card-container:hover .card-front-content{opacity:0}.team-card-container:hover .card-back-content{opacity:1}.app-container{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100vw}.hidden{opacity:0;transform:scale(.98);pointer-events:none;position:absolute}.upload-portal{width:100%;max-width:500px;padding:2rem;text-align:center;display:flex;flex-direction:column;align-items:center}.upload-portal p{color:var(--text-secondary);margin-top:2rem;margin-bottom:2rem}.upload-area{width:100%;box-sizing:border-box;text-align:center;padding:2rem;border:1px dashed var(--border-subtle);border-radius:16px;cursor:pointer;transition:all .3s ease}.upload-area:hover,.upload-area.dragover{border-color:var(--medical-teal);background:#4ec7c20d}.button{background:var(--accent-calm-blue);color:#fff;border:none;border-radius:12px;padding:.9rem 2.2rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .4s var(--animation-curve-spring);box-shadow:var(--shadow-medium)}.button:hover{transform:scale(1.05) translateY(-2px);box-shadow:var(--shadow-lifted)}.app-layout{display:grid;grid-template-columns:380px 1fr;height:80vh;padding:1rem;gap:1rem;box-sizing:border-box}.glass-panel{background:var(--panel-frosted-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:24px;border:1px solid var(--border-subtle);display:flex;flex-direction:column;box-shadow:var(--shadow-medium);position:relative;overflow:hidden}.glass-panel:before{content:"";position:absolute;top:0;left:-85%;width:50%;height:100%;background:linear-gradient(to right,#fff0,#ffffff40,#fff0);transform:skew(-25deg);z-index:1;transition:left .8s cubic-bezier(.23,1,.32,1)}.glass-panel:hover:before{left:135%}.panel-header{padding:1.5rem;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-subtle);z-index:2;position:relative}.panel-body{flex-grow:1;overflow-y:auto;padding:1.5rem;z-index:2;position:relative}.panel-footer{padding:1rem;margin:0 1rem 1rem;flex-shrink:0;z-index:2;position:relative}.source-pill{display:flex;align-items:center;justify-content:space-between;background:#00000005;padding:.85rem 1rem;border-radius:12px;font-size:.95rem;margin-bottom:.75rem;border:1px solid var(--border-subtle)}#chat-window{display:flex;flex-direction:column;gap:.75rem}.chat-message{display:flex;animation:popIn .4s cubic-bezier(.25,.8,.25,1) forwards;opacity:0}@keyframes popIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.message-bubble{padding:.25rem;border-radius:20px;max-width:85%;line-height:1.7;box-shadow:0 1px 2px #00000008,0 4px 8px #0000000d}.user-message{justify-content:flex-end}.user-message .message-bubble{background:var(--accent-calm-blue);color:#fff;border-bottom-right-radius:6px}.bot-message{justify-content:flex-start}.bot-message .message-bubble{background:#fff;color:var(--text-primary);border-bottom-left-radius:6px;border:1px solid rgba(0,0,0,.05)}.bot-message.typing .message-bubble:after{content:"...";display:inline-block;animation:typing-dots 1s infinite}@keyframes typing-dots{0%,20%{content:"."}40%,60%{content:".."}80%,to{content:"..."}}.input-wrapper{display:flex;align-items:center;background:#fff;border:1px solid var(--border-subtle);border-radius:16px;padding:.25rem .5rem .25rem 1.5rem;transition:box-shadow .3s ease}.input-wrapper:focus-within{box-shadow:0 0 0 3px #4ec7c24d}textarea#question-input{flex-grow:1;border:none;outline:none;padding:.75rem 0;background:transparent;font-size:1.1rem;resize:none;color:var(--text-primary)}.pdf-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:999}.pdf-modal{width:min(1000px,90vw);height:min(90vh,1000px);background:#fff;border:1px solid var(--border-subtle);border-radius:16px;box-shadow:var(--shadow-lifted);display:flex;flex-direction:column;overflow:hidden}.pdf-modal-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-subtle)}.pdf-modal-title{font-weight:600;font-size:.95rem;color:var(--slate-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-modal-actions{display:flex;gap:.5rem;align-items:center}.pdf-action-btn{border:1px solid var(--border-subtle);background:#fff;border-radius:10px;padding:.5rem .8rem;font-size:.9rem;cursor:pointer}.pdf-action-btn:hover{background:#0000000a}.pdf-frame{flex:1;width:100%;height:100%;border:0}.source-pill a{text-decoration:none;color:inherit}.source-pill a:hover{text-decoration:underline}textarea#question-input::placeholder{color:var(--text-secondary);opacity:.7}.site-footer{width:100%;text-align:center;padding:2rem 0;font-size:.875rem;color:var(--slate-600)}.suggestions-row{display:flex;flex-wrap:wrap;gap:.75rem;padding:0 1rem .75rem;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}.suggestions-row::-webkit-scrollbar{display:none}.suggestion-chip{white-space:nowrap;border-radius:999px;padding:.6rem 1rem;border:1px solid var(--border-subtle, #e0e0e0);background:#fffc;box-shadow:0 2px 5px #00000014;font-size:.9rem;color:var(--text-primary, #333);cursor:pointer;transition:all .2s ease-in-out;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.suggestion-chip:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001f;background:#fff}.upload-area{border:2px dashed var(--border-subtle);border-radius:12px;padding:28px;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;background:#fff9}.upload-area:hover{border-color:var(--accent-calm-blue)}.upload-area.drag-active{background:#4ec7c214;border-color:var(--medical-teal);box-shadow:0 0 0 4px #4ec7c226}#send-button{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:50%;transition:background-color .2s ease,transform .3s var(--animation-curve-spring)}#send-button:hover:not(:disabled){background-color:#0000000d;transform:scale(1.1)}@media (max-width: 768px){.app-layout{grid-template-columns:1fr;height:auto;padding:.5rem}.glass-panel{min-height:50vh}.app-container{min-height:auto}}
