:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17211f;background:#edf2f0;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{width:100%;min-width:320px;height:100%;margin:0}button,input,textarea{font:inherit}button{color:inherit}:focus:not(:focus-visible){outline:none}@media(hover:none)and (pointer:coarse){:where(button,a,[role=button]){-webkit-touch-callout:none}button:not(:disabled):active,[role=button]:active{filter:brightness(.94)}}:focus-visible{outline:3px solid rgba(18,112,101,.22);outline-offset:2px}.app-shell{display:grid;grid-template-columns:288px minmax(0,1fr);width:100%;height:100dvh;overflow:hidden;background:#f8faf9;transition:grid-template-columns .18s ease}.app-shell.is-sidebar-collapsed{grid-template-columns:68px minmax(0,1fr)}.history-sidebar{z-index:20;display:flex;min-width:0;flex-direction:column;padding:16px 12px;overflow:hidden;color:#263632;border-right:1px solid #d9e3e0;background:#f0f5f3;transition:padding .18s ease}.history-header,.history-title,.chat-header,.scope-label,.new-chat-button,.history-select,.message-row,.error-banner{display:flex;align-items:center}.history-header{justify-content:space-between;min-height:40px;margin-bottom:14px;padding:0 2px 0 8px}.history-title{gap:9px;color:#304b45;font-size:14px;font-weight:700}.history-title svg{color:#127065}.desktop-only{display:inline-grid}.icon-button{display:inline-grid;width:38px;height:38px;padding:0;place-items:center;border:0;border-radius:6px;background:transparent;cursor:pointer}.icon-button:hover{background:#e0ebe8}.sidebar-collapse-button{color:#526963}.new-chat-button{width:100%;min-height:44px;justify-content:flex-start;gap:10px;padding:0 13px;color:#0e5f56;font-size:13px;font-weight:650;border:1px solid #bdd8d1;border-radius:6px;background:#e2f1ed;cursor:pointer;transition:background .12s ease,border-color .12s ease}.new-chat-button:hover{border-color:#8ebdb2;background:#d3eae4}.new-chat-button:disabled,.history-select:disabled,.history-delete:disabled{cursor:not-allowed;opacity:.55}.history-body{display:flex;min-height:0;flex:1;flex-direction:column}.history-section-label{padding:20px 10px 8px;color:#74827f;font-size:11px;font-weight:650}.history-list{min-height:0;padding-right:2px;overflow-y:auto;scrollbar-color:#b1c4bf transparent}.history-empty{margin:32px 8px;color:#7c8d89;font-size:13px;text-align:center}.history-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 34px;min-height:60px;margin-bottom:3px;border:1px solid transparent;border-radius:6px;transition:background .12s ease,border-color .12s ease}.history-item:hover{background:#e5eeeb}.history-item.is-active{border-color:#c2dbd5;background:#dcebe7}.history-select,.history-delete{min-width:0;padding:0;color:inherit;border:0;background:transparent;cursor:pointer}.history-select{gap:9px;padding:8px 3px 8px 8px;text-align:left}.history-item-icon{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;color:#55736c;border:1px solid #d0dfdb;border-radius:6px;background:#f8fbfa}.history-item.is-active .history-item-icon{color:#0d6d62;border-color:#a9cfc6;background:#edf7f4}.history-item-copy{display:block;min-width:0}.history-select strong,.history-select small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-select strong{margin-bottom:4px;font-size:13px;font-weight:650}.history-select small{color:#7b8b87;font-size:11px}.history-delete{display:grid;width:30px;height:30px;margin:auto 4px auto 0;place-items:center;color:#657a75;border-radius:5px;opacity:0}.history-item:hover .history-delete,.history-item.is-active .history-delete,.history-delete:focus-visible{opacity:1}.history-delete:hover{color:#fff;background:#a14c4c}@media(min-width:761px){.history-sidebar.is-collapsed{padding-right:10px;padding-left:10px}.history-sidebar.is-collapsed .history-header{justify-content:center;padding:0}.history-sidebar.is-collapsed .history-title,.history-sidebar.is-collapsed .history-body,.history-sidebar.is-collapsed .new-chat-button span{display:none}.history-sidebar.is-collapsed .new-chat-button{width:44px;padding:0;justify-content:center;align-self:center}}.chat-shell{display:grid;min-width:0;height:100dvh;grid-template-rows:72px minmax(0,1fr) auto;background:#f8faf9}.chat-header{display:grid;grid-template-columns:88px minmax(0,1fr) 88px;align-items:center;z-index:5;min-width:0;padding:0 28px;border-bottom:1px solid #dce5e2;background:#fffffff5}.brand-mark,.assistant-avatar,.message-avatar{display:grid;flex:0 0 auto;place-items:center;color:#fff;background:#127065}.brand-mark{width:36px;height:36px;border-radius:8px}.chat-heading{min-width:0;margin-left:0}.chat-header-leading{display:flex;align-items:center;gap:6px}.auto-speech-toggle{justify-self:end;width:40px;height:40px;border-radius:50%}.auto-speech-toggle.is-enabled{color:#127065;background:#eaf4ef}.playback-notice{padding:6px 12px;color:#687c75;font-size:12px;text-align:center}.chat-heading strong,.chat-heading span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-heading strong{font-size:15px}.chat-heading span{margin-top:3px;color:#74827f;font-size:12px}.scope-label{flex:0 0 auto;gap:6px;margin-left:auto;padding:6px 9px;color:#47615c;font-size:12px;border:1px solid #d4e2de;border-radius:999px;background:#f3f7f6}.history-trigger,.new-conversation-trigger,.mobile-only{display:none}.new-conversation-trigger{display:inline-grid;width:40px;height:40px;place-items:center;border:0;border-radius:10px;color:#26332f;background:transparent}.history-trigger:hover:not(:disabled),.new-conversation-trigger:hover:not(:disabled){background:#eaf4ef}.new-conversation-trigger:disabled{opacity:.45}.message-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain}.welcome-block,.messages{width:min(780px,calc(100% - 40px));margin:0 auto}.welcome-block{display:flex;min-height:100%;flex-direction:column;align-items:center;justify-content:center;padding:42px 0;text-align:center}.assistant-avatar{width:50px;height:50px;border-radius:10px;box-shadow:0 8px 22px #1270652e}.welcome-block h1{margin:20px 0 8px;font-size:24px;line-height:1.35;letter-spacing:0}.welcome-block>p{margin:0;color:#64736f;font-size:14px;line-height:1.7}.suggestion-list{display:grid;width:min(590px,100%);margin-top:28px;gap:10px}.suggestion-list button{min-height:48px;padding:11px 16px;color:#29423d;line-height:1.5;text-align:left;border:1px solid #d7e2df;border-radius:7px;background:#fff;cursor:pointer;transition:border-color .12s ease,background .12s ease}.suggestion-list button:hover{border-color:#72aa9e;background:#f3f8f6}.messages{padding:28px 0 18px}.message-row{align-items:flex-start;margin-bottom:24px}.message-row.user{justify-content:flex-end}.message-content{min-width:0;max-width:min(682px,88%)}.message-content.has-attachments{width:min(650px,82%)}.message-content>p,.message-body,.typing,.user-message-bubble{margin:0;padding:13px 15px;color:#24312e;line-height:1.75;overflow-wrap:anywhere;white-space:pre-wrap;border:1px solid #dfe7e5;border-radius:7px;background:#fff;box-shadow:0 2px 8px #2037310a}.message-body>:first-child{margin-top:0}.message-body{white-space:normal}.message-body>:last-child{margin-bottom:0}.message-body p{margin:0 0 8px}.message-body h1,.message-body h2,.message-body h3{margin:14px 0 6px;font-size:15px;line-height:1.5;letter-spacing:0}.message-body ul,.message-body ol{margin:6px 0 10px;padding-left:24px}.message-body li{margin:3px 0}.message-body li>p{margin-bottom:4px}.message-body hr{margin:14px 0;border:0;border-top:1px solid #d8e2df}.message-body a{color:#0d6d62;text-decoration-thickness:1px;text-underline-offset:3px}.message-body blockquote{margin:10px 0;padding:2px 0 2px 12px;color:#536964;border-left:3px solid #9fc9bf}.message-body code{padding:2px 4px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9em;border-radius:4px;background:#eef4f2}.user-message-bubble{color:#143c36;border-color:#b9ddd4;background:#dff3ed}.user-message-bubble>p{margin:0}.message-images{display:grid;width:100%;max-width:360px;margin-bottom:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.message-images.count-1{max-width:240px;grid-template-columns:minmax(0,240px)}.message-images a,.message-image-loading,.message-image-failed{display:block;width:100%;overflow:hidden;aspect-ratio:4 / 3;border-radius:5px;background:#d4e3df}.message-images img{display:block;width:100%;height:100%;object-fit:cover}.message-image-loading{background:linear-gradient(90deg,#dce9e5 25%,#edf4f2,#dce9e5 75%);background-size:200% 100%;animation:image-loading 1.2s linear infinite}.message-image-failed{display:grid;place-items:center;color:#687d78}@keyframes image-loading{to{background-position:-200% 0}}.message-content>p.is-streaming,.message-body.is-streaming{border-color:#bcd8d1}.message-status{display:block;margin:7px 3px 0;color:#9b5d3d;font-size:11px}.typing{display:flex;width:62px;height:46px;align-items:center;justify-content:center;gap:5px}.typing i{width:6px;height:6px;border-radius:50%;background:#6c8580;animation:typing-bounce 1.1s infinite ease-in-out}.typing i:nth-child(2){animation-delay:.14s}.typing i:nth-child(3){animation-delay:.28s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.55}30%{transform:translateY(-4px);opacity:1}}.composer-area{padding:10px 24px 15px;border-top:1px solid #e0e8e5;background:#fff}.composer,.error-banner,.medical-notice{width:min(780px,100%);margin-right:auto;margin-left:auto}.error-banner{gap:8px;margin-bottom:8px;padding:9px 12px;color:#7c2f2f;font-size:13px;border:1px solid #edc7c7;border-radius:6px;background:#fff4f4}.composer{padding:7px;border:1px solid #bfceca;border-radius:8px;background:#fff;box-shadow:0 4px 18px #1c373012}.composer-row{display:grid;grid-template-columns:42px 42px minmax(0,1fr) 42px 42px;align-items:end;gap:6px}.composer-row.is-expanded{grid-template-areas:"editor editor editor editor editor" "media camera spacer mode submit";row-gap:2px}.composer-row.is-expanded textarea{grid-area:editor}.composer-row.is-expanded .media-picker{grid-area:media}.composer-row.is-expanded .desktop-camera-button{grid-area:camera}.composer-row.is-expanded .composer-mode-switch{grid-area:mode}.composer-row.is-expanded .send-button{grid-area:submit}.media-picker,.composer-mode-switch{position:relative;align-self:end}.composer-row.is-voice-mode:not(.is-sending){grid-template-columns:42px 42px minmax(0,1fr) 42px}.desktop-camera-button{display:inline-flex}.composer-tool-button{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;padding:0;color:#526963;border:0;border-radius:6px;background:transparent;cursor:pointer;white-space:nowrap}.composer-tool-button:hover:not(:disabled):not(.is-disabled){color:#0d6d62;background:#eaf3f0}.composer-tool-button.is-active{color:#0d6d62;background:#dfeeea}.composer-tool-button:disabled,.composer-tool-button.is-disabled{cursor:not-allowed;opacity:.38;pointer-events:none}.selected-images{display:flex;min-width:0;align-items:center;gap:7px;padding:3px 3px 9px;overflow-x:auto}.selected-image{position:relative;width:62px;height:62px;flex:0 0 62px}.selected-image img{display:block;width:100%;height:100%;object-fit:cover;border:1px solid #c8d8d4;border-radius:5px}.selected-image button{position:absolute;top:-5px;right:-5px;display:grid;width:22px;height:22px;padding:0;place-items:center;color:#fff;border:2px solid #fff;border-radius:50%;background:#415853;cursor:pointer}.media-retention-note{min-width:150px;color:#687873;font-size:11px;line-height:1.45}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.composer:focus-within{border-color:#478f83;box-shadow:0 0 0 3px #1270651a}.composer textarea{width:100%;min-height:42px;max-height:124px;padding:10px 8px;overflow-y:hidden;resize:none;color:#1e2a27;line-height:1.5;border:0;outline:0;background:transparent}.composer textarea::placeholder{color:#899691}.hold-to-talk{display:flex;width:100%;min-width:0;min-height:42px;align-items:center;justify-content:center;gap:8px;padding:8px 12px;color:#29433e;font-weight:600;border:1px solid #d9e4e1;border-radius:6px;background:#f4f8f7;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.hold-to-talk:hover:not(:disabled){color:#0d6d62;border-color:#9bc8be;background:#edf6f3}.hold-to-talk.is-recording,.hold-to-talk.is-recording:hover:not(:disabled){color:#fff;border-color:#127065;background:#127065}.hold-to-talk.is-cancelling,.hold-to-talk.is-cancelling:hover:not(:disabled){border-color:#a84d4d;background:#a84d4d}.hold-to-talk:disabled{cursor:not-allowed;opacity:.65}.recording-dot{width:9px;height:9px;border-radius:50%;background:#fff;animation:recording-pulse 1s ease-in-out infinite}.voice-activity{margin:0 0 12px;padding:16px 20px;color:#126c60;border:1px solid #d5e7e0;border-radius:14px;background:#f0f8f4}.voice-activity-title{display:flex;justify-content:space-between;align-items:center;font-size:14px}.voice-activity-title span{font-variant-numeric:tabular-nums}.voice-activity p{margin:7px 0 0;font-size:12px;color:#617c72;text-align:center}.voice-waveform{height:38px;display:flex;align-items:center;justify-content:center;gap:5px;margin-top:8px}.voice-waveform i{display:block;width:4px;border-radius:4px;background:currentColor;transition:height 90ms ease}.voice-activity.is-cancelling{color:#a84444;background:#fff3f2;border-color:#f0cfcc}.voice-activity.is-cancelling p{color:#a84444}.voice-activity.is-transcribing .voice-waveform i{height:12px!important;animation:voice-recognizing .95s ease-in-out infinite alternate}@keyframes voice-recognizing{0%{transform:scaleY(.45);opacity:.5}to{transform:scaleY(2);opacity:1}}@media(prefers-reduced-motion:reduce){.voice-waveform i{animation:none!important;transition:none}}.spin{animation:spin .9s linear infinite}@keyframes recording-pulse{50%{opacity:.45;transform:scale(.72)}}@keyframes spin{to{transform:rotate(360deg)}}.send-button{display:grid;width:42px;height:42px;place-items:center;align-self:end;color:#fff;border:0;border-radius:7px;background:#127065;cursor:pointer}.send-button:hover:not(:disabled){background:#0d5e55}.stop-button,.stop-button:hover:not(:disabled){color:#fff;background:#3f5752}.send-button:disabled{color:#8da19c;background:#e1e8e6;cursor:not-allowed}.medical-notice{margin-top:8px;margin-bottom:0;color:#7b8985;font-size:11px;line-height:1.45;text-align:center}.camera-overlay{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;padding:24px;place-items:center;background:#11211e7a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.camera-dialog{display:flex;width:min(560px,100%);max-height:min(720px,calc(100dvh - 48px));flex-direction:column;overflow:hidden;border:1px solid #d7e3df;border-radius:14px;background:#fff;box-shadow:0 24px 70px #0e2d2747}.camera-header{display:flex;min-height:58px;align-items:center;justify-content:space-between;padding:0 16px 0 20px;color:#213a34;border-bottom:1px solid #e1eae7}.camera-header strong{font-size:16px;font-weight:700}.camera-viewport{position:relative;display:grid;width:100%;aspect-ratio:4 / 3;max-height:calc(100dvh - 190px);place-items:center;overflow:hidden;background:#172522}.camera-viewport video{display:block;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.camera-status,.camera-error{position:absolute;margin:0;color:#f4faf8;font-size:13px;text-align:center}.camera-status{padding:10px 14px;border-radius:999px;background:#122521b3}.camera-error{width:min(360px,calc(100% - 36px));padding:12px 14px;line-height:1.6;border:1px solid rgba(255,210,210,.3);border-radius:8px;background:#662424d1}.camera-actions{display:flex;min-height:74px;align-items:center;justify-content:flex-end;gap:10px;padding:14px 16px;border-top:1px solid #e1eae7;background:#fff}.camera-secondary-button,.camera-primary-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:7px;padding:0 15px;font-size:13px;font-weight:650;border-radius:7px;cursor:pointer;transition:background .12s ease,border-color .12s ease,opacity .12s ease}.camera-secondary-button{color:#36534c;border:1px solid #cbdcd7;background:#f7faf9}.camera-secondary-button:hover:not(:disabled){border-color:#9dc5bb;background:#edf6f3}.camera-primary-button{color:#fff;border:1px solid #127065;background:#127065}.camera-primary-button:hover:not(:disabled){border-color:#0d5e55;background:#0d5e55}.camera-secondary-button:disabled,.camera-primary-button:disabled{cursor:not-allowed;opacity:.45}.mobile-history-dismiss{display:none}@media(max-width:760px){.app-shell{display:block;position:relative;--mobile-history-width: min(86vw, 320px)}.history-sidebar{position:absolute;inset:0 auto 0 0;width:var(--mobile-history-width);transform:translate3d(-100%,0,0);transition:transform .24s cubic-bezier(.22,1,.36,1);box-shadow:none;will-change:transform}.chat-shell{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;transform:translateZ(0);transition:transform .24s cubic-bezier(.22,1,.36,1);will-change:transform}.mobile-history-dismiss{position:absolute;z-index:25;top:0;right:0;bottom:0;left:0;display:block;padding:0;border:0;background:#11211e2e;opacity:0;pointer-events:none;transform:translateZ(0);transition:opacity .24s cubic-bezier(.22,1,.36,1),transform .24s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}.app-shell.is-history-open .history-sidebar{transform:translateZ(0)}.app-shell.is-history-open .chat-shell{transform:translate3d(var(--mobile-history-width),0,0)}.app-shell.is-history-open .mobile-history-dismiss{opacity:1;pointer-events:auto;transform:translate3d(var(--mobile-history-width),0,0)}.app-shell.is-history-dragging .history-sidebar{transform:translate3d(calc(var(--mobile-history-offset) - 100%),0,0);transition:none}.app-shell.is-history-dragging .chat-shell{transform:translate3d(var(--mobile-history-offset),0,0);transition:none}.app-shell.is-history-dragging .mobile-history-dismiss{opacity:var(--mobile-history-progress);pointer-events:none;transform:translate3d(var(--mobile-history-offset),0,0);transition:none}.chat-shell{grid-template-rows:60px minmax(0,1fr) auto}.chat-header{padding:0 14px}.history-trigger,.new-conversation-trigger,.mobile-only{display:inline-grid}.desktop-only{display:none}.chat-shell{touch-action:pan-y}.chat-heading{margin-left:0}.chat-heading strong{font-size:14px}.scope-label{padding:5px 7px}.scope-label svg{display:none}.welcome-block,.messages{width:calc(100% - 28px)}.welcome-block{justify-content:flex-start;padding-top:54px}.welcome-block h1{font-size:20px}.message-content{max-width:calc(100% - 12px)}.message-content.has-attachments{width:calc(100% - 42px)}.composer-area{padding:8px 10px calc(9px + env(safe-area-inset-bottom))}.composer-row{grid-template-columns:38px minmax(0,1fr) 38px 42px;gap:3px}.composer-row.is-expanded{grid-template-areas:"editor editor editor editor" "media spacer mode submit";row-gap:2px}.composer-row.is-voice-mode:not(.is-sending){grid-template-columns:38px minmax(0,1fr) 38px}.desktop-camera-button{display:none}.composer textarea{max-height:104px;padding-right:5px;padding-left:7px}.composer-tool-button{width:38px;height:42px}.medical-notice{font-size:10px}.camera-overlay{padding:12px}.camera-dialog{width:100%;max-height:calc(100dvh - 24px);border-radius:12px}.camera-actions{min-height:68px;padding:12px}.camera-secondary-button,.camera-primary-button{flex:1;padding:0 10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
