*{font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;font-variant-ligatures:common-ligatures;font-kerning:auto}@supports (-webkit-touch-callout: none){*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;-webkit-text-size-adjust:100%;-webkit-font-feature-settings:"kern" 1,"liga" 1;font-variant-ligatures:common-ligatures;font-kerning:auto}.message,.chat-input,.chat-header-title,.chat-suggestions .chip{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-variant-ligatures:common-ligatures;font-synthesis:weight style;font-family:var(--font-primary)!important}body,.chat-container{-webkit-text-stroke:.01em transparent;font-synthesis:weight style;font-family:var(--font-primary)}.chat-input{font-size:max(16px,1rem)}.message.user,.message.bot{font-weight:var(--font-weight-medium)!important;-webkit-font-smoothing:antialiased}}:root{--font-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Noto Sans", "Helvetica Neue", "Arial", "Liberation Sans", "DejaVu Sans", sans-serif;--font-display: "SF Mono", "Monaco", "Inconsolata", "Roboto Mono", "Noto Mono", "Droid Sans Mono", "Courier New", "DejaVu Sans Mono", "Liberation Mono", monospace;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700}:root{--glass-base-opacity: .02;--glass-base-blur: 32px;--glass-base-saturation: 175%;--glass-base-brightness: 108%;--glass-base-contrast: 112%;--border-base-opacity: .04;--shadow-base-blur: 16px;--shadow-base-spread: .08;--liquid-glass-primary: linear-gradient(135deg, rgba(255, 255, 255, calc(var(--glass-base-opacity) * 1.5)) 0%, rgba(255, 255, 255, calc(var(--glass-base-opacity) * .5)) 15%, rgba(255, 255, 255, calc(var(--glass-base-opacity) * .25)) 35%, rgba(255, 255, 255, calc(var(--glass-base-opacity) * .5)) 65%, rgba(255, 255, 255, var(--glass-base-opacity)) 85%, rgba(255, 255, 255, calc(var(--glass-base-opacity) * 2)) 100% );--liquid-glass-secondary: linear-gradient(135deg, rgba(255, 255, 255, var(--glass-base-opacity)) 0%, rgba(255, 255, 255, calc(var(--glass-base-opacity) * .5)) 50%, rgba(255, 255, 255, calc(var(--glass-base-opacity) * 1.5)) 100% );--liquid-glass-tertiary: linear-gradient(135deg, rgba(255, 255, 255, var(--glass-base-opacity)) 0%, rgba(255, 255, 255, calc(var(--glass-base-opacity) * .5)) 50%, rgba(255, 255, 255, calc(var(--glass-base-opacity) * 1.5)) 100% );--liquid-border-primary: rgba(255, 255, 255, calc(var(--border-base-opacity) * 1.5));--liquid-border-secondary: rgba(255, 255, 255, var(--border-base-opacity));--liquid-border-accent: rgba(255, 255, 255, calc(var(--border-base-opacity) * 2));--liquid-shadow-primary: 0 1px 0 rgba(255, 255, 255, .4) inset, 0 calc(var(--shadow-base-blur) * 3) calc(var(--shadow-base-blur) * 3) rgba(31, 38, 135, .18), 0 calc(var(--shadow-base-blur) * 1.5) calc(var(--shadow-base-blur) * 6) rgba(0, 0, 0, .12), 0 calc(var(--shadow-base-blur) * 3) calc(var(--shadow-base-blur) * 7.5) rgba(0, 0, 0, var(--shadow-base-spread)), inset 0 -1px 0 rgba(0, 0, 0, .05);--liquid-shadow-secondary: 0 1px 0 rgba(255, 255, 255, .35) inset, 0 calc(var(--shadow-base-blur) * .5) calc(var(--shadow-base-blur) * 2) rgba(31, 38, 135, .15), 0 var(--shadow-base-blur) calc(var(--shadow-base-blur) * 4) rgba(0, 0, 0, .1), inset 0 -1px 0 rgba(0, 0, 0, .04);--liquid-backdrop-ultra: blur(calc(var(--glass-base-blur) * 1.875)) saturate(calc(var(--glass-base-saturation) + 25%)) brightness(calc(var(--glass-base-brightness) + 7%)) contrast(calc(var(--glass-base-contrast) + 13%)) hue-rotate(2deg);--liquid-backdrop-primary: blur(calc(var(--glass-base-blur) * 1.4)) saturate(calc(var(--glass-base-saturation) + 15%)) brightness(calc(var(--glass-base-brightness) + 4%)) contrast(calc(var(--glass-base-contrast) + 6%)) hue-rotate(1deg);--liquid-backdrop-secondary: blur(var(--glass-base-blur)) saturate(var(--glass-base-saturation)) brightness(var(--glass-base-brightness)) contrast(var(--glass-base-contrast));--liquid-backdrop-subtle: blur(calc(var(--glass-base-blur) * .75)) saturate(calc(var(--glass-base-saturation) - 15%)) brightness(calc(var(--glass-base-brightness) - 3%)) contrast(var(--glass-base-contrast));--liquid-backdrop-enhanced: blur(calc(var(--glass-base-blur) * 1.3)) saturate(calc(var(--glass-base-saturation) + 10%)) brightness(calc(var(--glass-base-brightness) + 2%)) contrast(calc(var(--glass-base-contrast) + 3%));--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);--keyboard-inset-height: env(keyboard-inset-height, 0px);--full-viewport-height: calc(100dvh + var(--safe-area-inset-top) + var(--safe-area-inset-bottom));--full-viewport-width: calc(100dvw + var(--safe-area-inset-left) + var(--safe-area-inset-right));--ease-smooth: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--duration-fast: .15s;--duration-normal: .3s;--duration-slow: .6s;--bubble-text: rgba(30, 20, 20, .95);--bubble-text-shadow-1: rgba(255, 255, 255, .5);--bubble-text-shadow-2: rgba(255, 255, 255, .3);--bubble-user-bg: linear-gradient(135deg, rgba(255, 255, 255, calc(var(--glass-base-opacity) * 11)) 0%, rgba(255, 255, 255, calc(var(--glass-base-opacity) * 7)) 100%);--bubble-user-border: rgba(255, 255, 255, calc(var(--border-base-opacity) * 7));--bubble-bot-bg: linear-gradient(135deg, rgba(255, 255, 255, calc(var(--glass-base-opacity) * 9)) 0%, rgba(255, 255, 255, calc(var(--glass-base-opacity) * 6)) 100%);--bubble-bot-border: rgba(255, 255, 255, calc(var(--border-base-opacity) * 6))}@media (prefers-color-scheme: dark){:root,:root[data-force-dark=true],:root[data-theme=dark]{--glass-base-opacity: .08;--border-base-opacity: .08;--shadow-base-spread: .35;--liquid-glass-primary: linear-gradient(135deg, rgba(20, 20, 24, calc(var(--glass-base-opacity) * 4.4)) 0%, rgba(18, 18, 22, calc(var(--glass-base-opacity) * 3)) 35%, rgba(16, 16, 20, calc(var(--glass-base-opacity) * 2.75)) 100% );--liquid-glass-secondary: linear-gradient(135deg, rgba(24, 24, 28, calc(var(--glass-base-opacity) * 4.4)) 0%, rgba(20, 20, 24, calc(var(--glass-base-opacity) * 2.75)) 100% );--liquid-glass-tertiary: linear-gradient(135deg, rgba(28, 28, 32, calc(var(--glass-base-opacity) * 4.4)) 0%, rgba(24, 24, 28, calc(var(--glass-base-opacity) * 2.75)) 100% );--liquid-border-primary: rgba(255, 255, 255, calc(var(--border-base-opacity) * 1.25));--liquid-border-secondary: rgba(255, 255, 255, var(--border-base-opacity));--liquid-border-accent: rgba(255, 255, 255, calc(var(--border-base-opacity) * 1.75));--liquid-shadow-primary: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 calc(var(--shadow-base-blur) * 1) calc(var(--shadow-base-blur) * 3) rgba(0, 0, 0, .45), 0 calc(var(--shadow-base-blur) * 2) calc(var(--shadow-base-blur) * 6) rgba(0, 0, 0, var(--shadow-base-spread)), inset 0 -1px 0 rgba(0, 0, 0, .5);--liquid-shadow-secondary: 0 1px 0 rgba(255, 255, 255, .05) inset, 0 calc(var(--shadow-base-blur) * .5) calc(var(--shadow-base-blur) * 1.5) rgba(0, 0, 0, var(--shadow-base-spread)), inset 0 -1px 0 rgba(0, 0, 0, .4);--liquid-backdrop-ultra: blur(calc(var(--glass-base-blur) * 1.875)) saturate(180%) brightness(90%) contrast(120%);--liquid-backdrop-primary: blur(calc(var(--glass-base-blur) * 1.4)) saturate(170%) brightness(88%) contrast(115%);--liquid-backdrop-secondary: blur(var(--glass-base-blur)) saturate(160%) brightness(86%) contrast(110%);--liquid-backdrop-subtle: blur(calc(var(--glass-base-blur) * .75)) saturate(150%) brightness(84%) contrast(108%);--liquid-backdrop-enhanced: blur(calc(var(--glass-base-blur) * 1.3)) saturate(165%) brightness(87%) contrast(112%);--bubble-text: rgba(245, 245, 248, .92);--bubble-text-shadow-1: rgba(0, 0, 0, .65);--bubble-text-shadow-2: rgba(0, 0, 0, .45);--bubble-user-bg: linear-gradient(135deg, rgba(255, 255, 255, calc(var(--glass-base-opacity) * 1.25)) 0%, rgba(255, 255, 255, calc(var(--glass-base-opacity) * .75)) 100%);--bubble-user-border: rgba(255, 255, 255, calc(var(--border-base-opacity) * 2));--bubble-bot-bg: linear-gradient(135deg, rgba(255, 255, 255, var(--glass-base-opacity)) 0%, rgba(255, 255, 255, calc(var(--glass-base-opacity) * .625)) 100%);--bubble-bot-border: rgba(255, 255, 255, calc(var(--border-base-opacity) * 1.75))}body{background:#141416;color:var(--bubble-text)}.chat-header-title{color:#f0f0f5eb;text-shadow:0 1px 2px rgba(0,0,0,.6),0 0 1px rgba(0,0,0,.45)}.chat-send svg{stroke:#8ec7ff}.chat-container{background:linear-gradient(145deg,#1e1e23b3,#16161b99,#1a1a1fa6);border:2px solid rgba(255,255,255,.15);box-shadow:0 16px 48px #000c,0 32px 96px #0009,inset 0 4px 8px #ffffff1a,inset 0 -4px 12px #00000080,0 8px 40px #5bb6f833;backdrop-filter:blur(35px) saturate(160%) brightness(85%) contrast(115%);-webkit-backdrop-filter:blur(35px) saturate(160%) brightness(85%) contrast(115%)}.chat-container.visible{box-shadow:0 20px 60px #000000e6,0 40px 120px #000000b3,inset 0 6px 12px #ffffff26,inset 0 -6px 16px #0009,0 10px 50px #5bb6f84d;backdrop-filter:blur(40px) saturate(170%) brightness(88%) contrast(118%);-webkit-backdrop-filter:blur(40px) saturate(170%) brightness(88%) contrast(118%)}.chat-container:before{background:linear-gradient(145deg,#ffffff1f,#ffffff0f,#ffffff05,#0000000d,#00000026,#00000040);opacity:.7}.chat-container:after{background:linear-gradient(165deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.03) 15%,transparent 30%,transparent 70%,rgba(0,0,0,.1) 85%,rgba(0,0,0,.2) 100%);opacity:.6}}:root[data-theme=light]{--glass-base-opacity: .02;--border-base-opacity: .04;--shadow-base-spread: .08;--bubble-text: rgba(30, 20, 20, .95);--bubble-text-shadow-1: rgba(255, 255, 255, .5);--bubble-text-shadow-2: rgba(255, 255, 255, .3)}:root[data-theme=light] body{background:#edcfcf;color:var(--bubble-text)}:root[data-theme=light] .chat-input{color:#190f0ff2!important;font-family:var(--font-primary)!important;font-weight:var(--font-weight-medium)!important;text-shadow:0 1px 1px rgba(255,255,255,.6);-webkit-font-smoothing:antialiased}:root[data-theme=light] .chat-input::placeholder{color:#190f0fbf!important;font-family:var(--font-primary)!important;font-weight:var(--font-weight-normal)!important;text-shadow:0 1px 1px rgba(255,255,255,.5)}@supports (height: 100dvh){:root{--viewport-height: 100dvh;--chat-container-height: 100dvh}body{height:100dvh;width:100dvw;margin:0;padding:0;contain:layout style paint;will-change:auto}#threejs-renderer-container,.threejs-renderer{width:100dvw!important;height:100dvh!important}}@supports (height: 100svh){:root{--chat-container-height: calc(100svh - var(--keyboard-inset-height))}@media (max-width: 768px){.chat-container{height:calc(100svh - var(--keyboard-inset-height) - var(--safe-area-inset-bottom));max-height:calc(100svh - var(--keyboard-inset-height) - var(--safe-area-inset-bottom))}}}#threejs-renderer-container,#threejs-container,canvas[data-engine="three.js"],.threejs-renderer{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;width:100dvw!important;height:100dvh!important;top:calc(-1*env(safe-area-inset-top,0px))!important;left:calc(-1*env(safe-area-inset-left,0px))!important;width:calc(100vw + env(safe-area-inset-left,0px) + env(safe-area-inset-right,0px))!important;height:calc(100vh + env(safe-area-inset-top,0px) + env(safe-area-inset-bottom,0px))!important;z-index:1!important;pointer-events:auto!important;margin:0!important;padding:0!important;border:none!important;outline:none!important;background:transparent!important;overflow:hidden!important;user-select:none!important;touch-action:pan-x pan-y!important;-webkit-user-select:none!important;-webkit-touch-callout:none!important;will-change:transform!important;transform:translateZ(0)!important;backface-visibility:hidden!important;-webkit-transform:translateZ(0)!important;-webkit-backface-visibility:hidden!important}canvas[data-engine="three.js"]{display:block!important;position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;pointer-events:auto!important;touch-action:pan-x pan-y!important;cursor:grab!important}canvas[data-engine="three.js"]:active{cursor:grabbing!important}#app,.app-container,main{min-height:var(--full-viewport-height);width:var(--full-viewport-width);margin:0;padding:0;position:relative;background-attachment:fixed;background-size:cover;background-position:center;z-index:0}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}body{background:#edcfcf;text-align:center;font-size:.8rem;font-weight:var(--font-weight-light);font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;margin:0!important;padding:0!important;border:none;outline:none;min-height:100vh;width:100vw;height:100vh;min-height:100dvh;height:100dvh;width:100dvw;position:relative;z-index:0;overflow:hidden;will-change:auto;backface-visibility:hidden}.chat-hint-pill{position:fixed!important;bottom:calc(92px + var(--safe-area-inset-bottom))!important;right:calc(20px + var(--safe-area-inset-right))!important;left:auto!important;z-index:1004!important;padding:6px 10px!important;border-radius:14px!important;font-size:.85rem!important;color:#302424eb!important;background:var(--liquid-glass-tertiary)!important;border:1px solid var(--liquid-border-secondary)!important;backdrop-filter:var(--liquid-backdrop-secondary)!important;-webkit-backdrop-filter:var(--liquid-backdrop-secondary)!important;box-shadow:var(--liquid-shadow-secondary)!important;transition:opacity var(--duration-normal) var(--ease-smooth)!important;pointer-events:auto!important;will-change:opacity!important;-webkit-user-select:none!important;user-select:none!important;touch-action:manipulation!important}:root[data-theme=dark] .chat-hint-pill{color:var(--bubble-text)}#chat-icon{position:fixed!important;bottom:calc(20px + env(safe-area-inset-bottom,0px))!important;right:calc(20px + env(safe-area-inset-right,0px))!important;left:auto!important;width:60px!important;height:60px!important;z-index:1002!important;cursor:pointer!important;pointer-events:auto!important;-webkit-user-select:none!important;user-select:none!important;touch-action:manipulation!important;isolation:isolate!important;will-change:transform!important;backface-visibility:hidden!important;border-radius:8px!important;transition:transform .2s ease!important}#chat-icon:hover{transform:scale(1.05)!important}#chat-icon:active{transform:scale(.95)!important}#chat-icon img{width:100%!important;height:100%!important;display:block!important;border-radius:8px!important;pointer-events:none!important;-webkit-user-select:none!important;user-select:none!important;-webkit-user-drag:none!important}@media (max-width: 768px){#chat-icon{bottom:calc(20px + env(safe-area-inset-bottom,0px))!important;right:calc(20px + env(safe-area-inset-right,0px))!important;left:auto!important}}.chat-container{position:fixed!important;bottom:calc(90px + env(safe-area-inset-bottom,0px))!important;right:calc(20px + var(--safe-area-inset-right))!important;left:auto!important;transform:translateZ(0)!important;z-index:1003!important;width:clamp(320px,28vw,420px)!important;height:clamp(480px,70vh,600px)!important;top:auto!important;margin:0!important;pointer-events:auto!important;background:linear-gradient(145deg,#ffffff40,#ffffff26,#fff3);border-radius:40px;border:2px solid rgba(255,255,255,.35);background-clip:padding-box;box-shadow:0 16px 48px #1f26874d,0 32px 96px #00000040,inset 0 4px 8px #ffffff80,inset 0 -4px 12px #00000026,0 8px 32px #0003;display:flex;flex-direction:column;overflow:hidden;z-index:1003;font-family:var(--font-primary);font-weight:var(--font-weight-normal);font-feature-settings:"kern" 1,"liga" 1,"calt" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;opacity:0;filter:blur(8px);transition:opacity var(--duration-slow) var(--ease-smooth),filter var(--duration-slow) var(--ease-smooth),box-shadow .5s var(--ease-smooth);display:none;transform:translateZ(0);will-change:transform,opacity;backdrop-filter:blur(40px) saturate(180%) brightness(110%) contrast(115%);-webkit-backdrop-filter:blur(40px) saturate(180%) brightness(110%) contrast(115%);letter-spacing:.01em;margin:0;container-type:inline-size}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes typingPulse{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1.2)}}@keyframes inputFocusGlow{0%{box-shadow:0 1px #fff6 inset,0 0 #5bb6f800}to{box-shadow:0 1px #ffffff80 inset,0 0 0 3px #5bb6f826,0 4px 20px #5bb6f81a}}@keyframes buttonPress{0%{transform:translateY(50%) scale(1)}50%{transform:translateY(50%) scale(.95)}to{transform:translateY(50%) scale(1.05)}}.chat-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:36px;padding:2px;background:linear-gradient(145deg,#ffffff4d,#ffffff26,#ffffff0d,#00000005,#00000014,#00000026);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:xor;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;pointer-events:none;opacity:.8;animation:neumorphicBorderBreathe 6s ease-in-out infinite}@keyframes neumorphicBorderBreathe{0%,to{opacity:.8;filter:blur(0px)}50%{opacity:.9;filter:blur(.5px)}}@keyframes liquidGlassBorderFlow{0%,to{background:linear-gradient(135deg,#ffffff26,#ffffff14 15%,#ffffff0a 35%,#ffffff0f,#ffffff0a 65%,#ffffff14 85%,#ffffff26)}25%{background:linear-gradient(165deg,#ffffff1f,#ffffff0f,#ffffff08 40%,#ffffff0a,#ffffff08 60%,#ffffff0f,#ffffff1f)}50%{background:linear-gradient(195deg,#ffffff24,#ffffff12 25%,#ffffff08 45%,#ffffff0d,#ffffff08 55%,#ffffff12 75%,#ffffff24)}75%{background:linear-gradient(225deg,#ffffff21,#ffffff0f 30%,#ffffff08 45%,#ffffff0d,#ffffff08 55%,#ffffff0f 70%,#ffffff21)}}.chat-container:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:33px;background:linear-gradient(165deg,rgba(255,255,255,.2) 0%,rgba(255,255,255,.08) 15%,transparent 30%,transparent 70%,rgba(0,0,0,.03) 85%,rgba(0,0,0,.06) 100%);pointer-events:none;opacity:.7;animation:neumorphicInnerShift 8s ease-in-out infinite}@keyframes neumorphicInnerShift{0%,to{background:linear-gradient(165deg,rgba(255,255,255,.2) 0%,rgba(255,255,255,.08) 15%,transparent 30%,transparent 70%,rgba(0,0,0,.03) 85%,rgba(0,0,0,.06) 100%)}50%{background:linear-gradient(175deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,.1) 18%,transparent 35%,transparent 65%,rgba(0,0,0,.04) 82%,rgba(0,0,0,.08) 100%)}}@keyframes liquidRefractionFlow{0%,to{background:linear-gradient(125deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.04) 15%,transparent 25%,transparent 40%,rgba(255,255,255,.06) 50%,transparent 60%,transparent 75%,rgba(255,255,255,.04) 85%,rgba(255,255,255,.12) 100%)}33%{background:linear-gradient(145deg,rgba(255,255,255,.1) 0%,rgba(255,255,255,.06) 20%,transparent 30%,rgba(255,255,255,.04) 45%,transparent 55%,rgba(255,255,255,.08) 70%,transparent 80%,rgba(255,255,255,.1) 100%)}66%{background:linear-gradient(165deg,rgba(255,255,255,.08) 0%,transparent 20%,rgba(255,255,255,.05) 35%,transparent 50%,rgba(255,255,255,.07) 65%,transparent 80%,rgba(255,255,255,.08) 100%)}}.chat-container.visible{opacity:1;filter:blur(0);display:flex;box-shadow:0 20px 60px #1f268759,0 40px 120px #0000004d,inset 0 6px 12px #fff9,inset 0 -6px 16px #0003,0 10px 40px #00000040;backdrop-filter:blur(45px) saturate(190%) brightness(112%) contrast(118%);-webkit-backdrop-filter:blur(45px) saturate(190%) brightness(112%) contrast(118%)}@media (max-width: 480px){.chat-container{width:min(360px,calc(100vw - var(--safe-area-inset-left) - var(--safe-area-inset-right) - 20px))!important;height:min(500px,calc(100vh - 110px - var(--safe-area-inset-top) - var(--safe-area-inset-bottom)))!important;border-radius:24px;position:fixed!important;left:50%!important;transform:translate(-50%) translateZ(0)!important;right:auto!important;bottom:calc(85px + var(--safe-area-inset-bottom))!important;top:auto!important;margin:0!important}.chat-messages{padding:50px 12px 90px;gap:14px}.message{font-size:.95rem;padding:10px 14px;max-width:min(88%,280px)}.chat-input-shell{padding:10px 14px;gap:10px}.chat-input{font-size:.95rem}.chat-send{width:38px;height:38px}}@media (min-width: 768px){.chat-container{width:clamp(360px,30vw,450px)!important;height:clamp(480px,68vh,600px)!important;left:auto!important;right:calc(24px + var(--safe-area-inset-right))!important;transform:translateZ(0)!important}.message{font-size:1.05rem;padding:14px 18px;max-width:min(80%,360px)}.chat-input-shell{padding:14px 20px}.chat-input{font-size:1.05rem}.chat-send{width:46px;height:46px}}@media (min-width: 1024px){.chat-container{width:clamp(380px,26vw,460px)!important;height:clamp(500px,65vh,620px)!important;right:calc(28px + var(--safe-area-inset-right))!important;left:auto!important;transform:translateZ(0)!important}}@media (max-height: 600px){.chat-container{height:450px;border-radius:20px;position:fixed!important;bottom:calc(90px + var(--safe-area-inset-bottom))!important;left:50%!important;transform:translate(-50%) translateZ(0)!important;right:auto!important}.chat-header{min-height:36px;padding:8px 16px 8px 12px}.chat-messages{padding:44px 12px 84px;gap:12px}}@media (max-height: 500px) and (max-width: 768px){.chat-container{height:400px;width:350px;position:fixed!important;bottom:calc(85px + var(--safe-area-inset-bottom))!important;left:50%!important;transform:translate(-50%) translateZ(0)!important;right:auto!important}}@media (max-height: 400px){.chat-container{height:350px;width:320px;position:fixed!important;bottom:calc(85px + var(--safe-area-inset-bottom))!important;left:50%!important;transform:translate(-50%) translateZ(0)!important;right:auto!important}.chat-header{min-height:28px;padding:1px 8px 1px 6px}.chat-messages{padding:35px 6px 70px;gap:10px}.chat-input-shell{padding:8px 12px;gap:8px}.chat-input{font-size:.9rem}.chat-send{width:34px;height:34px}.message{font-size:.9rem;padding:5px 8px}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.chat-container:not(.visible)+.chat-icon{animation:pulse 2s infinite}.chat-header{position:absolute;top:0;left:0;right:0;background:var(--liquid-glass-secondary);border-radius:32px 32px 0 0;border-bottom:none;padding:2px 20px 2px 14px;display:flex;align-items:center;justify-content:space-between;min-height:42px;border-bottom:1px solid var(--liquid-border-secondary);backdrop-filter:var(--liquid-backdrop-primary);-webkit-backdrop-filter:var(--liquid-backdrop-primary);box-shadow:var(--liquid-shadow-secondary);z-index:2;font-family:var(--font-display);font-weight:var(--font-weight-normal);animation:liquidHeaderFloat 10s ease-in-out infinite}@keyframes liquidHeaderFloat{0%,to{-webkit-backdrop-filter:blur(35px) saturate(190%) brightness(115%) contrast(110%);backdrop-filter:blur(35px) saturate(190%) brightness(115%) contrast(110%);box-shadow:0 1px #ffffff4d inset,0 4px 12px #00000014,0 8px 24px #0000000d}50%{-webkit-backdrop-filter:blur(37px) saturate(195%) brightness(117%) contrast(115%);backdrop-filter:blur(37px) saturate(195%) brightness(117%) contrast(115%);box-shadow:0 1px #ffffff59 inset,0 5px 15px #0000001a,0 10px 30px #0000000f}}.header-dot{width:15px;height:15px;background:#ff5f57;border-radius:50%;margin-right:0;border:1.5px solid rgba(0,0,0,.18);cursor:pointer;transition:transform .2s ease;-webkit-font-smoothing:antialiased;backface-visibility:hidden}.header-dot:hover{transform:scale(1.1)}.header-dot:active{transform:scale(.95)}.chat-header-title{flex:1;text-align:center;color:#3c2828cc;font-size:1.35rem;font-weight:var(--font-weight-semibold);letter-spacing:.01em;margin-right:0;font-family:var(--font-display);text-shadow:0 1px 3px rgba(255,255,255,.9),0 0 1px rgba(255,255,255,.7),0 2px 4px rgba(0,0,0,.1);text-decoration:none;position:relative;display:inline-block;transition:all .3s ease}.theme-toggle{width:28px;height:28px;margin-left:8px;border-radius:10px;border:1px solid var(--liquid-border-secondary);background:var(--liquid-glass-tertiary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px #ffffff59 inset,0 4px 12px #00000014;transition:transform var(--duration-fast) var(--ease-smooth),box-shadow var(--duration-fast) var(--ease-smooth)}.theme-toggle:hover{transform:scale(1.05)}.theme-toggle:active{transform:scale(.95)}.theme-toggle:focus-visible{outline:2px solid rgba(91,182,248,.5);outline-offset:2px}.chat-header-title:before{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;color:#fff;text-shadow:1px 1px #00000042;overflow:hidden;transition:all .3s ease;clip-path:polygon(0 0,0 0,0 50%,0 50%)}.chat-header-title:hover:before{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);background:linear-gradient(45deg,#000,#000);-webkit-background-clip:text;background-clip:text;color:transparent}.chat-header-title:hover{opacity:.8}.chat-messages{flex:1;overflow-y:auto;margin:56px 12px 95px;padding:20px;display:flex;flex-direction:column;gap:18px;border-radius:18px;background:var(--liquid-glass-secondary);border:1px solid var(--liquid-border-secondary);backdrop-filter:var(--liquid-backdrop-ultra);-webkit-backdrop-filter:var(--liquid-backdrop-ultra);box-shadow:0 1px #ffffff59 inset,0 8px 24px #0000000f}.chat-suggestions{position:absolute;left:16px;right:16px;bottom:calc(var(--chat-input-height, 64px) + 6px);display:flex;flex-wrap:nowrap;gap:8px;justify-content:flex-start;z-index:5;padding:10px 12px;background:var(--liquid-glass-secondary);border:1px solid var(--liquid-border-accent);border-radius:20px;backdrop-filter:var(--liquid-backdrop-ultra);-webkit-backdrop-filter:var(--liquid-backdrop-ultra);box-shadow:0 2px 8px #1f26871f,0 8px 24px #00000014,inset 0 1px #ffffff40,inset 0 -1px #0000000d;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;transition:transform var(--duration-normal) var(--ease-smooth),opacity var(--duration-normal) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-smooth);transform:translateY(0);opacity:1}.chat-suggestions::-webkit-scrollbar{display:none}.chat-suggestions[hidden]{display:none}.chat-suggestions.hiding{transform:translateY(60px);opacity:0;pointer-events:none}.chat-suggestions .chip{border:2px solid rgba(255,255,255,.25);background:linear-gradient(145deg,#ffffff59,#ffffff40,#ffffff4d);color:var(--bubble-text)!important;font-family:var(--font-primary);font-weight:var(--font-weight-semibold);padding:10px 18px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;border-radius:999px;font-size:.9rem;cursor:pointer;box-shadow:0 4px 10px #1f268726,0 8px 20px #0000001a,inset 0 2px 4px #fff6,inset 0 -2px 6px #0000001a;transition:transform var(--duration-fast) var(--ease-smooth),background var(--duration-fast) var(--ease-smooth),box-shadow var(--duration-fast) var(--ease-smooth);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);flex-shrink:0;white-space:nowrap;min-width:fit-content}.chat-suggestions .chip:hover{transform:translateY(-3px) scale(1.05);background:linear-gradient(145deg,#ffffff73,#ffffff59,#fff6);box-shadow:0 8px 16px #1f268733,0 12px 32px #00000026,inset 0 3px 6px #ffffff80,inset 0 -3px 8px #00000026,0 0 20px #5bb6f81a}.chat-suggestions .chip:active{transform:translateY(0) scale(.96);box-shadow:0 2px 4px #1f26871a,0 4px 8px #00000014,inset 0 3px 8px #0003,inset 0 1px 4px #00000026}.chat-input-container{position:absolute;bottom:0;left:0;right:0;transform:translateZ(0);will-change:transform;isolation:isolate;display:flex;justify-content:center;align-items:center;padding:16px 20px 20px;background:linear-gradient(145deg,#ffffff38,#ffffff1f 45%,#ffffff29);border-top:1px solid var(--liquid-border-accent);box-shadow:0 -2px 18px #1f26871a,0 -6px 32px #00000014,inset 0 1px #ffffff59;backdrop-filter:var(--liquid-backdrop-ultra);-webkit-backdrop-filter:var(--liquid-backdrop-ultra)}.chat-input-shell{position:relative;width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:32px;background:linear-gradient(145deg,#ffffff47,#ffffff2e 45%,#ffffff3d);border:1.5px solid rgba(255,255,255,.45);box-shadow:0 10px 32px #1f268726,0 18px 46px #0000001f,inset 0 2px 4px #fff9,inset 0 -2px 6px #0000001f;backdrop-filter:var(--liquid-backdrop-enhanced);-webkit-backdrop-filter:var(--liquid-backdrop-enhanced);transition:box-shadow var(--duration-normal) var(--ease-smooth),border-color var(--duration-normal) var(--ease-smooth),transform var(--duration-normal) var(--ease-smooth)}.chat-input-shell:focus-within{border-color:#5bb6f880;box-shadow:0 12px 36px #5bb6f82e,0 22px 58px #0003,inset 0 2px 6px #ffffffa6,inset 0 -3px 8px #5bb6f840;transform:translateY(-1px)}.chat-input{flex:1 1 auto;border:none;background:transparent;padding:0;min-height:36px;color:#190f0ff2;font-size:1rem;font-weight:var(--font-weight-medium);font-family:var(--font-primary);line-height:1.4;text-shadow:0 1px 1px rgba(255,255,255,.55);caret-color:#5bb6f8;transition:color var(--duration-fast) var(--ease-smooth)}.chat-input:focus{outline:none}.chat-input::placeholder{color:#190f0fad;font-weight:var(--font-weight-medium);text-shadow:0 1px 1px rgba(255,255,255,.5);transition:opacity var(--duration-fast) var(--ease-smooth)}.chat-input:focus::placeholder{opacity:.6}@media (prefers-color-scheme: dark){.chat-input{color:#f5f5f8f2!important;text-shadow:0 1px 2px rgba(0,0,0,.75),0 0 1px rgba(0,0,0,.5);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-variant-numeric:tabular-nums}.chat-input::placeholder{color:#f5f5f8a6!important;text-shadow:0 1px 2px rgba(0,0,0,.6),0 0 1px rgba(0,0,0,.4)}}:root[data-force-dark=true] .chat-input,:root[data-theme=dark] .chat-input{color:#f5f5f8f2!important;text-shadow:0 1px 2px rgba(0,0,0,.75),0 0 1px rgba(0,0,0,.5)}:root[data-force-dark=true] .chat-input::placeholder,:root[data-theme=dark] .chat-input::placeholder{color:#f5f5f8a6!important;text-shadow:0 1px 2px rgba(0,0,0,.6),0 0 1px rgba(0,0,0,.4)}.chat-send{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;margin-left:auto;padding:0;border:1.6px solid rgba(91,182,248,.4);background:linear-gradient(145deg,#5bb6f852,#5bb6f82e 60%,#5bb6f842);color:#5bb6f8;box-shadow:0 12px 26px #5bb6f840,0 18px 44px #0000002e,inset 0 3px 6px #ffffff73,inset 0 -3px 8px #0000002e;transition:transform var(--duration-fast) var(--ease-smooth),box-shadow var(--duration-fast) var(--ease-smooth),border-color var(--duration-fast) var(--ease-smooth);z-index:1010;pointer-events:all;isolation:isolate}.chat-send:hover{transform:translateY(-1px) scale(1.04);box-shadow:0 16px 36px #5bb6f84d,0 24px 56px #00000038,inset 0 4px 8px #ffffff80,inset 0 -3px 10px #5bb6f859}.chat-send:active{transform:translateY(1px) scale(.96);box-shadow:0 8px 22px #5bb6f838,0 16px 40px #00000029,inset 0 3px 10px #00000040,inset 0 -2px 6px #ffffff59;border-color:#5bb6f88c}.chat-send:focus-visible{outline:none;border-color:#5bb6f8bf;box-shadow:0 0 0 3px #5bb6f840,0 16px 36px #5bb6f84d,inset 0 4px 8px #ffffff8c}.chat-messages::-webkit-scrollbar{width:7px}.chat-messages::-webkit-scrollbar-track{background:#ffffff0d}.chat-messages::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#ffffff47}.chat-messages{margin-bottom:calc(var(--chat-input-height, 64px) + 21px)}.chat-container.has-suggestions .chat-messages{margin-bottom:calc(var(--chat-input-height, 64px) + 63px + 15px)}.message{max-width:min(85%,340px);padding:12px 16px;border-radius:16px;word-wrap:break-word;line-height:1.5;font-size:1rem;font-weight:500;font-family:var(--font-primary);font-feature-settings:"kern" 1,"liga" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:var(--liquid-glass-tertiary);border:1px solid var(--liquid-border-secondary);backdrop-filter:blur(28px) saturate(190%) brightness(112%);-webkit-backdrop-filter:blur(28px) saturate(190%) brightness(112%);color:var(--bubble-text);text-shadow:0 1px 1px var(--bubble-text-shadow-1);box-shadow:0 2px 8px #1f268714,0 4px 16px #0000000f,inset 0 .5px #ffffff1f;animation:messageSlideIn .3s ease-out;transition:transform var(--duration-fast) var(--ease-smooth),box-shadow var(--duration-fast) var(--ease-smooth);cursor:default;-webkit-user-select:text;user-select:text;will-change:transform;backface-visibility:hidden}.message:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1f26871f,0 8px 24px #00000014,inset 0 .5px #ffffff26}.message.user{align-self:flex-end;background:var(--bubble-user-bg);border-radius:16px 16px 8px;border-color:var(--bubble-user-border);backdrop-filter:blur(30px) saturate(195%) brightness(114%);-webkit-backdrop-filter:blur(30px) saturate(195%) brightness(114%)}.message.user:hover{box-shadow:0 6px 20px #edcfcf33,0 12px 40px #dcb4b426,inset 0 1px #ffffff59}.message.bot{align-self:flex-start;background:var(--bubble-bot-bg);border-radius:16px 16px 16px 8px;border-color:var(--bubble-bot-border);backdrop-filter:blur(28px) saturate(185%) brightness(110%);-webkit-backdrop-filter:blur(28px) saturate(185%) brightness(110%)}.message.bot:hover{box-shadow:0 6px 20px #b48c8c2e,0 12px 40px #a078781f,inset 0 1px #ffffff4d}@supports (height: 100dvh){.chat-container:has(.chat-input:focus){height:calc(100dvh - var(--keyboard-inset-height) - var(--safe-area-inset-bottom) - 40px);transition:height .3s cubic-bezier(.4,0,.2,1)}#threejs-renderer-container,#threejs-container,canvas[data-engine="three.js"],.threejs-renderer{position:fixed!important;top:var(--threejs-top, calc(-1 * var(--safe-area-inset-top)))!important;left:var(--threejs-left, calc(-1 * var(--safe-area-inset-left)))!important;width:var(--full-viewport-width, 100dvw)!important;height:var(--full-viewport-height, 100dvh)!important;z-index:1!important;pointer-events:auto!important}}@media (max-width: 768px){.chat-container{position:fixed!important;bottom:calc(85px + var(--safe-area-inset-bottom))!important;left:50%!important;transform:translate(-50%) translateZ(0)!important;right:auto!important;top:auto!important;margin:0!important;max-height:calc(100dvh - 105px - var(--safe-area-inset-top) - var(--safe-area-inset-bottom) - var(--keyboard-inset-height))!important;width:calc(100vw - var(--safe-area-inset-left) - var(--safe-area-inset-right) - 30px)!important;max-width:380px!important}.chat-input:focus{scroll-margin-bottom:calc(20px + var(--safe-area-inset-bottom));font-size:max(16px,1rem)}body{background-attachment:fixed;background-size:cover}}.chat-input:focus{position:relative}@media (hover: none) and (pointer: coarse){.chat-container{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.chat-messages{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.chat-input{min-height:44px;touch-action:manipulation}.chat-send{min-width:44px;min-height:44px;touch-action:manipulation}}@media (orientation: landscape) and (max-height: 500px){.chat-container{height:calc(100svh - var(--safe-area-inset-bottom) - 10px)!important;max-height:calc(100svh - var(--safe-area-inset-bottom) - 10px)!important;position:fixed!important;bottom:calc(85px + var(--safe-area-inset-bottom))!important;left:50%!important;transform:translate(-50%) translateZ(0)!important;right:auto!important;top:auto!important;margin:0!important}.chat-messages{padding:45px 8px 85px}#threejs-container,canvas{width:100vw;height:100vh;top:0;left:0}.chat-hint-pill{right:calc(20px + var(--safe-area-inset-right));left:auto;bottom:calc(92px + var(--safe-area-inset-bottom));z-index:1004}body{background-size:cover;background-attachment:fixed;background-position:center}}@supports (-webkit-touch-callout: none){.chat-container{height:calc(var(--chat-container-height, 100dvh) - var(--safe-area-inset-bottom) - 120px)!important;position:fixed!important;bottom:calc(85px + var(--safe-area-inset-bottom))!important;left:50%!important;transform:translate(-50%) translateZ(0)!important;right:auto!important}@media (max-height: 500px){.chat-container{height:calc(100vh - var(--keyboard-inset-height) - var(--safe-area-inset-bottom) - 40px)}}.chat-input-container{padding-bottom:calc(8px + var(--safe-area-inset-bottom))}#threejs-container,canvas{top:calc(-1 * var(--safe-area-inset-top));left:calc(-1 * var(--safe-area-inset-left));right:calc(-1 * var(--safe-area-inset-right));bottom:calc(-1 * var(--safe-area-inset-bottom));width:100vw;height:100vh;position:fixed;z-index:-1}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.chat-send-loader{display:none;align-items:center;justify-content:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;font-size:1.3em;color:#5bb6f8;letter-spacing:1px}.chat-send .dot{display:inline-block;animation:typingPulse 1.4s ease-in-out infinite;font-weight:700;font-size:1.1em;opacity:.6;margin:0 1px;vertical-align:middle;color:#5bb6f8}.chat-send .dot:nth-child(1){animation-delay:0s}.chat-send .dot:nth-child(2){animation-delay:.2s}.chat-send .dot:nth-child(3){animation-delay:.4s}.typing-indicator{display:flex;align-items:center;padding:12px 16px;margin:8px 0;background:var(--glass-bg-secondary);border-radius:20px 20px 20px 8px;border:1px solid var(--glass-border);backdrop-filter:blur(20px) saturate(180%) brightness(105%);-webkit-backdrop-filter:blur(20px) saturate(180%) brightness(105%);max-width:80px;align-self:flex-start;animation:messageSlideIn var(--duration-slow) var(--ease-smooth)}.typing-indicator .dot{width:6px;height:6px;border-radius:50%;background:#ffffffb3;margin:0 2px;animation:typingPulse 1.4s ease-in-out infinite}.typing-indicator .dot:nth-child(1){animation-delay:0s}.typing-indicator .dot:nth-child(2){animation-delay:.2s}.typing-indicator .dot:nth-child(3){animation-delay:.4s}.chat-send.loading{pointer-events:none;background:var(--glass-bg-secondary);border-color:#5bb6f84d;box-shadow:0 1px #ffffff4d inset,0 2px 8px #5bb6f81a,0 4px 16px #0000000d}.chat-send.loading svg{opacity:0;transform:scale(.8);transition:all var(--duration-normal) var(--ease-smooth)}.chat-send.loading .chat-send-loader{display:flex!important}@media (max-width: 768px){.chat-container[role=dialog]{position:fixed!important;bottom:calc(85px + var(--safe-area-inset-bottom))!important;left:50%!important;transform:translate(-50%) translateZ(0)!important;right:auto!important;z-index:1003!important;top:auto!important}.chat-container.visible[role=dialog]{left:50%!important;transform:translate(-50%) translateZ(0)!important;right:auto!important;bottom:calc(85px + var(--safe-area-inset-bottom))!important}}
