*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d1b2e;--bg-card: #152238;--bg-nav: #0a1520;--text: #ffffff;--text-body: #b8c9e4;--text-muted: #5a7a9f;--accent: #7eb8f7;--accent-bright: #a8d4ff;--border: rgba(126, 184, 247, .15);--border-light: rgba(126, 184, 247, .1);--border-strong: rgba(126, 184, 247, .3);--font-serif: "Playfair Display", Georgia, serif;--font-sans: "DM Sans", -apple-system, sans-serif;--ease: .2s ease}html{font-size:16px;scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text-body);font-family:var(--font-sans);font-weight:400;line-height:1.7;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#7eb8f726;border-radius:2px}::selection{background:#7eb8f740;color:var(--text)}button{font-family:var(--font-sans);cursor:pointer;border:none;background:none}input,textarea{font-family:var(--font-sans);outline:none}.dashboard{min-height:100vh;background:var(--bg);display:flex;flex-direction:column}.dash-nav{position:sticky;top:0;z-index:20;background:var(--bg-nav);border-bottom:1px solid var(--border-light);padding:16px 32px;display:flex;align-items:center;gap:16px}.dash-nav-logo{font-family:var(--font-serif);font-size:22px;font-weight:700;color:var(--text);letter-spacing:-.02em}.dash-nav-tag{font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--text-muted)}.hero{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px 24px 60px;animation:heroFadeIn .8s ease both}@keyframes heroFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-eyebrow{font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:28px}.hero-title{font-family:var(--font-serif);font-size:clamp(36px,6vw,56px);font-weight:700;line-height:1.12;color:var(--text);letter-spacing:-.01em;margin-bottom:24px;max-width:700px}.hero-title em{font-style:italic;color:var(--accent)}.hero-sub{font-size:17px;color:var(--text-muted);max-width:440px;line-height:1.7;font-weight:400}.stats-bar{display:flex;align-items:center;justify-content:center;padding:28px 24px;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);animation:statsFadeIn .8s ease .2s both}@keyframes statsFadeIn{0%{opacity:0}to{opacity:1}}.stat{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 40px}.stat-number{font-size:20px;font-weight:600;color:var(--text)}.stat-label{font-size:12px;font-weight:400;color:var(--text-body);letter-spacing:.5px}.stat-divider{width:1px;height:36px;background:#7eb8f733;flex-shrink:0}.marquee-strip{background:var(--bg-nav);overflow:hidden;padding:14px 0;white-space:nowrap}.marquee-track{display:flex;width:max-content;animation:marqueeScroll 35s linear infinite}.marquee-strip:hover .marquee-track{animation-play-state:paused}.marquee-content{font-size:14px;font-weight:500;color:var(--accent);letter-spacing:.5px;flex-shrink:0}@keyframes marqueeScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.physicians-section{padding:60px 0 40px}.section-heading{font-family:var(--font-serif);font-size:clamp(28px,5vw,40px);font-weight:700;color:var(--text);margin-bottom:40px;text-align:center;padding:0 24px}.section-heading em{font-style:italic;color:var(--accent)}.carousel-3d-wrap{position:relative;max-width:1100px;margin:0 auto;padding:0 60px}.carousel-3d-stage{position:relative;height:640px;padding:40px 0;perspective:1200px;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none}.carousel-3d-stage:active{cursor:grabbing}.card-3d{position:absolute;width:400px;background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:48px;display:flex;flex-direction:column;gap:12px;cursor:pointer;transition:transform .5s cubic-bezier(.25,.46,.45,.94),opacity .5s cubic-bezier(.25,.46,.45,.94);will-change:transform,opacity;transform-style:preserve-3d}.card-3d-active{cursor:pointer}.card-3d-active:hover{border-color:#7eb8f766;box-shadow:0 12px 48px #7eb8f71f}.card-emoji-circle{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;border:1px solid;margin-bottom:4px}.card-emoji{font-size:32px}.card-specialty{font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--accent)}.card-name{font-family:var(--font-serif);font-size:28px;font-weight:600;color:var(--text)}.card-tagline{font-size:15px;font-style:italic;color:var(--text-body);line-height:1.5}.card-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.card-chip{font-size:12px;padding:6px 14px;border-radius:8px;background:#7eb8f71a;border:1px solid rgba(126,184,247,.3);color:var(--text-body);font-weight:400}.card-divider{width:100%;height:1px;background:var(--border);margin-top:8px}.card-cta{font-size:15px;font-weight:500;font-family:var(--font-sans);color:var(--accent);margin-top:8px;padding:10px 24px;border-radius:10px;border:1px solid var(--accent);background:transparent;cursor:pointer;align-self:flex-start;transition:background var(--ease),color var(--ease)}.card-cta:hover{background:var(--accent);color:var(--bg)}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:var(--bg-nav);border:1px solid var(--border);color:var(--accent);font-size:18px;display:flex;align-items:center;justify-content:center;z-index:15;transition:background var(--ease),border-color var(--ease)}.carousel-arrow:hover{background:var(--bg-card);border-color:var(--accent)}.carousel-arrow-left{left:0}.carousel-arrow-right{right:0}.carousel-dots{display:flex;justify-content:center;gap:10px;padding:16px 0 8px}.carousel-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);transition:background var(--ease),transform var(--ease)}.carousel-dot.active{background:var(--accent);transform:scale(1.3)}.dashboard-footer{text-align:center;padding:40px 24px;border-top:1px solid var(--border-light);margin-top:auto}.footer-text{font-size:12px;color:var(--text-muted);max-width:480px;margin:0 auto;line-height:1.7}@media (max-width: 768px){.carousel-3d-stage{height:580px;padding:32px 0}.card-3d{width:320px;padding:32px}.card-name{font-size:22px}.card-emoji-circle{width:52px;height:52px;border-radius:12px}.card-emoji{font-size:26px}}@media (max-width: 600px){.dash-nav{padding:14px 20px}.dash-nav-tag{display:none}.hero{padding:60px 24px 40px}.stats-bar{flex-wrap:wrap;gap:16px}.stat{padding:0 16px}.stat-number{font-size:16px}.stat-label{font-size:11px}.stat-divider{height:24px}.carousel-3d-wrap{padding:0 16px}.carousel-3d-stage{height:540px;padding:28px 0}.card-3d{width:280px;padding:28px}.card-name{font-size:20px}.carousel-arrow{width:36px;height:36px;font-size:14px}.physicians-section{padding:40px 0 32px}}.msg-row{display:flex;flex-direction:column;animation:msgSlideUp .3s ease both}@keyframes msgSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.msg-row.msg-user{align-items:flex-end}.msg-row.msg-assistant{align-items:flex-start}.msg-agent-name{font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:6px}.msg-bubble{max-width:85%;font-size:15px;line-height:1.7;position:relative}.msg-row.msg-user .msg-bubble{background:var(--bg-nav);border:1px solid var(--border);border-radius:18px 18px 4px;padding:14px 18px;color:var(--text)}.msg-row.msg-assistant .msg-bubble{background:var(--bg-card);border:1px solid rgba(126,184,247,.12);border-radius:4px 18px 18px;padding:14px 18px;color:var(--text-body)}.msg-bubble.streaming:after{content:"▋";display:inline-block;animation:blink 1s step-end infinite;color:var(--accent);margin-left:2px;font-size:13px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.msg-bubble.msg-error{border-color:#e639464d;background:#e639460f}.msg-text{white-space:pre-wrap;word-break:break-word}.msg-text p{margin:0 0 10px}.msg-text p:last-child{margin-bottom:0}.msg-section-header{display:block;font-weight:600;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin:16px 0 6px;padding-bottom:6px;border-bottom:1px solid var(--border)}.msg-section-header:first-child{margin-top:0}.msg-list{list-style:none;padding:0;margin:8px 0}.msg-list li{display:flex;gap:10px;margin-bottom:6px;font-size:15px;line-height:1.6}.msg-list-ordered{counter-reset:item}.msg-list-ordered li:before{content:counter(item);counter-increment:item;color:var(--accent);font-size:12px;font-weight:600;min-width:16px;flex-shrink:0;margin-top:2px}.msg-list-bullet li:before{content:"·";font-size:20px;line-height:1;color:var(--accent);flex-shrink:0}.msg-inline-code{background:#7eb8f71a;padding:1px 6px;border-radius:4px;font-family:SF Mono,Fira Code,monospace;font-size:13px;color:var(--accent-bright)}.msg-sources{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.source-chip{font-size:11px;padding:3px 10px;border-radius:4px;background:#7eb8f714;border:1px solid var(--border);color:var(--text-muted);font-weight:500}.msg-time{margin-top:6px;font-size:11px;color:var(--text-muted)}.handoff-banner{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px 24px;display:flex;align-items:flex-start;gap:16px;animation:bannerSlide .3s ease both}@keyframes bannerSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.handoff-icons{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-top:2px}.handoff-avatar{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.handoff-arrow{font-size:13px;color:var(--text-muted)}.handoff-content{flex:1;min-width:0}.handoff-label{font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:4px}.handoff-title{font-family:var(--font-serif);font-size:15px;font-weight:600;color:var(--text);margin-bottom:8px}.handoff-summary{font-size:13px;color:var(--text-body);line-height:1.6;padding-left:12px;border-left:2px solid var(--border-strong)}.emergency-banner{position:sticky;top:0;z-index:20;background:var(--bg-nav);border-bottom:1px solid rgba(230,57,70,.3);padding:14px 24px;display:flex;align-items:center;gap:14px;animation:bannerSlide .3s ease both}.emergency-icon{font-size:18px;flex-shrink:0}.emergency-text{flex:1}.emergency-title{font-size:13px;font-weight:600;color:#e63946;letter-spacing:.02em;margin-bottom:2px}.emergency-sub{font-size:13px;color:var(--text-body);line-height:1.5}.emergency-911{font-size:11px;font-weight:600;letter-spacing:3px;color:#e63946;flex-shrink:0}.emergency-dismiss{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--text-muted);flex-shrink:0;transition:color var(--ease)}.emergency-dismiss:hover{color:var(--text)}.chat-view{display:flex;flex-direction:column;height:100vh;background:var(--bg);position:relative}.chat-header{position:sticky;top:0;z-index:10;background:var(--bg-nav);border-bottom:1px solid var(--border-light);padding:16px 24px;display:flex;align-items:center;gap:16px}.chat-back{color:#d4a843;font-size:18px;padding:4px;transition:color var(--ease)}.chat-back:hover{color:#e6be5a}.chat-header-center{flex:1;display:flex;align-items:baseline;gap:12px}.chat-header-name{font-family:var(--font-serif);font-size:20px;font-weight:600;color:var(--text)}.chat-header-label{font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--text-muted)}.chat-header-action{font-size:13px;color:var(--text-muted);transition:color var(--ease)}.chat-header-action:hover{color:var(--text)}.chat-messages{flex:1;overflow-y:auto;padding:40px 0 24px}.chat-messages-inner{max-width:680px;margin:0 auto;padding:0 24px;display:flex;flex-direction:column;gap:32px}.chat-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:80px 24px 48px;gap:8px}.chat-empty-title{font-family:var(--font-serif);font-size:36px;font-weight:700;color:var(--text)}.chat-empty-label{font-size:11px;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:16px}.chat-empty-sub{font-size:15px;color:var(--text-body);max-width:400px;line-height:1.7;margin-bottom:40px}.chat-starters{display:flex;flex-direction:column;gap:0;width:100%;max-width:520px;border-top:1px solid var(--border)}.chat-starter{padding:16px 0;text-align:left;font-size:14px;color:var(--text-body);border-bottom:1px solid var(--border);transition:color var(--ease);line-height:1.5}.chat-starter:hover{color:var(--text)}.typing-indicator{padding-left:0}.typing-dots{display:flex;gap:6px;padding:8px 0}.typing-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:dotFade 1.4s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes dotFade{0%,80%,to{opacity:.3}40%{opacity:1}}.quick-replies{display:flex;flex-wrap:wrap;gap:10px;animation:qrFadeIn .2s ease both;animation-delay:.2s;opacity:0}@keyframes qrFadeIn{0%{opacity:0}to{opacity:1}}.quick-reply-pill{min-height:44px;padding:10px 20px;border-radius:20px;background:transparent;border:1px solid var(--accent);color:var(--accent);font-size:14px;font-weight:400;font-family:var(--font-sans);line-height:1.35;cursor:pointer;transition:background var(--ease),color var(--ease)}.quick-reply-pill:hover{background:var(--accent);color:var(--bg)}@media (max-width: 600px){.quick-reply-pill{white-space:normal;text-align:left}}.chat-input-wrap{position:sticky;bottom:0;z-index:10;background:var(--bg-nav);border-top:1px solid var(--border-light);padding:16px 24px 28px}.chat-input-inner{max-width:680px;margin:0 auto;display:flex;align-items:flex-end;gap:12px}.chat-textarea{flex:1;background:#ffffff0d;border:1px solid rgba(126,184,247,.2);border-radius:12px;color:var(--text);font-size:15px;line-height:1.6;resize:none;max-height:160px;min-height:44px;overflow-y:auto;padding:10px 16px;transition:border-color var(--ease)}.chat-textarea:focus{border-color:var(--accent)}.chat-textarea::placeholder{color:var(--text-muted)}.chat-send{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;background:var(--accent);color:var(--bg);flex-shrink:0;transition:background var(--ease)}.chat-send:disabled{opacity:.3;cursor:not-allowed}.chat-send:not(:disabled):hover{background:var(--accent-bright)}
