:root{--color-primary: #4188EF;--color-primary-hover: color-mix(in srgb, var(--color-primary) 80%, black);--color-secondary: #f6f8fa;--color-bg: #fff;--color-border: #e5e7eb;--color-border-light: #f7f7fa;--color-danger: #d32f2f;--color-text: #323338;--color-text-light: #26334b;--color-text-muted: #979CA1;--space-xs: 2px;--space-sm: 4px;--space-md: 8px;--space-lg: 12px;--space-xl: 16px;--space-2xl: 24px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-pill: 16px;--font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;--font-size-xs: .65rem;--font-size-sm: 1rem;font-family:var(--font-family);line-height:1.5;font-weight:400;color-scheme:light;color:var(--color-text);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{box-sizing:border-box;display:flex;flex-direction:column}a{font-weight:500;color:var(--color-primary);text-decoration:inherit}a:hover{color:var(--color-primary-hover)}body{margin:0;padding:0;color:var(--color-text);font-family:var(--font-family);scrollbar-width:thin;scrollbar-color:var(--color-border) var(--color-bg);box-sizing:border-box;background:transparent}h1{font-size:3.2em;line-height:1.1;color:var(--color-primary)}button{border-radius:var(--radius-md);border:1px solid var(--color-primary);padding:var(--space-sm) var(--space-xl);font-size:var(--font-size-sm);font-weight:500;font-family:var(--font-family);background-color:var(--color-primary);color:#fff;cursor:pointer;transition:background .15s,border-color .15s,color .15s}button:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff}button:focus,button:focus-visible{outline:none}button:disabled{opacity:.5;cursor:not-allowed}.icon-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:0;background:transparent;border:1px solid var(--color-border);cursor:pointer;padding:0;transition:background-color .15s,border-color .15s;gap:4px;line-height:1}.icon-btn svg{width:1.1em;height:1.1em;color:var(--color-primary);transition:color .15s}.icon-btn.send-btn{background-color:var(--color-primary);border-color:var(--color-primary);border-radius:0;border-left:none}.icon-btn.send-btn:hover{background-color:var(--color-primary-hover)}.icon-btn.send-btn svg{color:#fff}.icon-btn.photo-btn{background-color:var(--color-bg);color:var(--color-primary);border-radius:0;border-right:none}.icon-btn.photo-btn:hover svg{color:#fff}.animated-ellipsis span{font-size:2.5em;margin-right:2px;animation:blink 1s infinite;opacity:.75}.animated-ellipsis span:nth-child(2){animation-delay:.33s}.animated-ellipsis span:nth-child(3){animation-delay:.66s}@keyframes blink{0%{opacity:.2}20%{opacity:1}to{opacity:.2}}.chat-wrapper{font-family:var(--font-family);min-width:280px;max-width:600px;height:100%;display:flex;flex-direction:column;box-sizing:border-box;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border-radius:var(--radius-lg);background:var(--color-bg);overflow:hidden}.chat-header{background:var(--color-primary);padding:var(--space-md) var(--space-xl);display:flex;justify-content:space-between;align-items:center;border-radius:var(--radius-lg) var(--radius-lg) 0 0;flex-shrink:0}.chat-header-title{color:#fff;font-weight:500;font-size:.9rem}.chat-header-actions{display:flex;align-items:center;gap:var(--space-sm)}.chat-info-btn,.chat-minimize-btn{background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s,border-color .15s;padding:0}.chat-info-btn{opacity:.8;border:none}.chat-info-btn:hover{background:#ffffff1a;border:none;opacity:1}.chat-minimize-btn:hover{background:#ffffff1a;border-color:#ffffff80}.chat-minimize-btn svg{color:#fff}.chat-scroll{padding:var(--space-lg);border:1px solid var(--color-border)!important;border-radius:0;border-top:0!important;background:var(--color-bg);flex-grow:1;overflow-y:auto;text-align:left;scrollbar-width:thin;scrollbar-color:var(--color-border) var(--color-bg);border-bottom:0!important}.chat-message{margin-bottom:var(--space-lg);display:flex;position:relative;width:100%}.chat-message.ai{justify-content:flex-start;width:90%;align-self:flex-start}.chat-message.user{justify-content:flex-end;width:80%;align-self:flex-end;margin-left:auto}.chat-message .chat-tool-use{position:absolute;top:0;left:var(--space-xl);z-index:2;font-style:italic;font-size:var(--font-size-xs)}.chat-message .chat-tool-use .chat-tool-error{color:var(--color-danger)}.chat-bubble{max-width:100%;padding:var(--space-sm) var(--space-xl);border-radius:var(--radius-xl);position:relative;line-height:1.4;background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border-light);word-break:break-word}.chat-message.user .chat-bubble{background:color-mix(in srgb,var(--color-primary) 10%,#fff 90%);border:1px solid color-mix(in srgb,var(--color-primary) 40%,#fff 60%);border-bottom-right-radius:var(--radius-sm);border:none}.chat-message.ai .chat-bubble{background:var(--color-secondary);color:var(--color-text-light);border-bottom-left-radius:var(--radius-sm);border:none}.chat-image img{max-width:100%;border-radius:var(--radius-lg);margin:var(--space-xs) 0;display:block}.chat-author{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;opacity:.7;margin-bottom:var(--space-xs);font-weight:600;color:var(--color-primary)}.chat-streaming-state{opacity:.6}.chat-error{color:var(--color-danger);margin-top:var(--space-md)}.chat-input-row{display:flex;gap:0;align-items:stretch}.chat-text-input{flex:1;padding:0 10px;border:1px solid var(--color-border);border-left:none;border-right:none;border-radius:0;font:inherit;background:var(--color-bg);color:var(--color-text-light);outline:none}.chat-text-input:focus{outline:none}.chat-meta{display:block;margin-top:var(--space-md);color:var(--color-text-muted)}.starter-buttons{margin:var(--space-2xl) 0 var(--space-sm);display:flex;flex-wrap:wrap;gap:var(--space-xl);justify-content:center}.starter-btn{background:var(--color-primary);border:1px solid var(--color-primary);color:#fff;border-radius:var(--radius-pill);padding:var(--space-sm) var(--space-xl);font:inherit;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.starter-btn:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff}.starter-btn:disabled{opacity:.5;cursor:not-allowed}.book-unit-btn{display:flex;justify-content:center;align-items:center;margin-top:2em;border-radius:var(--radius-md);border:1px solid var(--color-primary);padding:var(--space-md) var(--space-xl);font-size:var(--font-size-sm);font-weight:500;font-family:var(--font-family);background-color:var(--color-secondary);color:var(--color-primary);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.book-unit-btn:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.footer{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;margin-top:var(--space-md)}.footer a{color:var(--color-text-muted)}.dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-xl);box-sizing:border-box}.dialog-content{background:var(--color-bg);border-radius:var(--radius-lg);max-width:500px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 25px #0003;animation:dialogFadeIn .2s ease-out}@keyframes dialogFadeIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.dialog-header{padding:var(--space-xl);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.dialog-header h3{margin:0;color:var(--color-text);font-size:1.1rem;font-weight:600}.dialog-close-btn{background:transparent;border:none;color:var(--color-text-muted);width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s,color .15s;padding:0}.dialog-close-btn:hover{background:var(--color-secondary);color:var(--color-text)}.dialog-body{padding:var(--space-xl)}.dialog-body p{margin:0 0 var(--space-lg) 0;color:var(--color-text);line-height:1.5}.dialog-body p:last-child{margin-bottom:0}.dialog-body ul{margin:0 0 var(--space-lg) 0;padding-left:var(--space-xl);color:var(--color-text)}.dialog-body li{margin-bottom:var(--space-sm);line-height:1.5}.dialog-footer{padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--color-border);background:var(--color-secondary)}.dialog-footer p{margin:0;font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.4;text-align:center}.dialog-footer a{color:var(--color-text-muted);text-decoration:underline}.dialog-footer a:hover{color:var(--color-primary)}.grecaptcha-badge{visibility:hidden!important}.widget-container{position:fixed;bottom:calc(var(--space-xl) + 8px);left:calc(var(--space-xl) + 8px);z-index:1000;transform-origin:bottom left;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.widget-container.bottom-right{transform-origin:bottom right}body.iframe-embedded .widget-container{position:relative;inset:0 auto auto;margin:8px}body.iframe-embedded,body.iframe-embedded.expanded{overflow:hidden}.widget-minimize-button{width:220px;height:64px;border-radius:var(--radius-lg);background:var(--color-primary);border:none;color:#fff;cursor:pointer;display:flex;flex-direction:row;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026,0 2px 6px #0000001a;font-family:var(--font-family);gap:var(--space-md);padding:0 var(--space-xl)}.widget-minimize-button:hover{background:var(--color-primary-hover);box-shadow:0 6px 16px #0003,0 3px 8px #00000026}.widget-minimize-button svg{width:24px;height:24px;stroke-width:2;flex-shrink:0}.widget-minimize-text-container{display:flex;flex-direction:column;align-items:flex-start;gap:1px;flex:1;max-width:calc(100% - 32px)}.widget-minimize-text{font-size:.85rem;font-weight:600;white-space:nowrap;letter-spacing:.01em;line-height:1.2}.widget-minimize-subtext{font-size:.65rem;font-weight:400;white-space:nowrap;opacity:.85;line-height:1.1;letter-spacing:.005em;overflow:hidden;text-overflow:ellipsis;max-width:100%}.widget-minimize-subtext.transitioning{opacity:.3}.widget-container.minimized{width:auto;height:auto;transform:scale(1);opacity:1}.widget-container.expanded{width:400px;max-width:calc(100vw - var(--space-2xl));height:600px;max-height:calc(100vh - var(--space-2xl));transform:scale(1);opacity:1;left:var(--space-xl);right:auto;animation:widgetZoomIn .3s cubic-bezier(.34,1.56,.64,1)}.widget-container.minimizing{width:400px;max-width:calc(100vw - var(--space-2xl));height:600px;max-height:calc(100vh - var(--space-2xl));left:var(--space-xl);right:auto;animation:widgetZoomOut .25s cubic-bezier(.36,0,.66,-.56)}@keyframes widgetZoomIn{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes widgetZoomOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.4)}}@media (max-width: 480px){.widget-container.expanded{width:calc(100vw - 16px);left:8px;bottom:8px;max-width:none}.widget-container{left:8px;bottom:8px}.widget-container.expanded .chat-wrapper{min-width:100%;max-width:100%}}.widget-container.expanded .chat-wrapper{transform-origin:bottom left}.widget-container.bottom-right.expanded .chat-wrapper{transform-origin:bottom right}.widget-container.expanded .chat-wrapper{width:100%;height:100%;margin:0;max-height:none}
