:root[data-hub-theme=light],[data-hub-theme=light]{--hub-bg:0 0% 100%;--hub-surface:0 0% 97%;--hub-surface-hover:0 0% 94%;--hub-elevated:0 0% 100%;--hub-input-bg:0 0% 100%;--hub-text:0 0% 13%;--hub-text-secondary:0 0% 42%;--hub-text-tertiary:0 0% 60%;--hub-text-on-accent:0 0% 100%;--hub-border:0 0% 90%;--hub-border-light:0 0% 94%;--hub-border-focus:0 0% 70%;--hub-accent:160 84% 39%;--hub-accent-hover:160 84% 35%;--hub-accent-light:160 60% 95%;--hub-success:142 71% 45%;--hub-warning:38 92% 50%;--hub-error:0 84% 60%;--hub-info:217 91% 60%;--hub-user-bubble:220 13% 91%;--hub-assistant-bubble:0 0% 100%;--hub-code-bg:220 13% 18%;--hub-sidebar-bg:0 0% 97%;--hub-shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--hub-shadow-md:0 4px 6px -1px rgba(0,0,0,.07),0 2px 4px -2px rgba(0,0,0,.05);--hub-shadow-lg:0 10px 15px -3px rgba(0,0,0,.08),0 4px 6px -4px rgba(0,0,0,.05);--hub-shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.05);--hub-scrollbar-bg:transparent;--hub-scrollbar-thumb:0 0% 85%;--hub-scrollbar-thumb-hover:0 0% 75%}:root[data-hub-theme=dark],[data-hub-theme=dark]{--hub-bg:0 0% 8%;--hub-surface:0 0% 12%;--hub-surface-hover:0 0% 16%;--hub-elevated:0 0% 14%;--hub-input-bg:0 0% 16%;--hub-text:0 0% 93%;--hub-text-secondary:0 0% 65%;--hub-text-tertiary:0 0% 45%;--hub-text-on-accent:0 0% 100%;--hub-border:0 0% 20%;--hub-border-light:0 0% 16%;--hub-border-focus:0 0% 40%;--hub-accent:160 84% 39%;--hub-accent-hover:160 84% 45%;--hub-accent-light:160 50% 15%;--hub-success:142 71% 45%;--hub-warning:38 92% 50%;--hub-error:0 84% 60%;--hub-info:217 91% 60%;--hub-user-bubble:220 13% 26%;--hub-assistant-bubble:0 0% 12%;--hub-code-bg:220 13% 18%;--hub-sidebar-bg:0 0% 10%;--hub-shadow-sm:0 1px 2px 0 rgba(0,0,0,.3);--hub-shadow-md:0 4px 6px -1px rgba(0,0,0,.4),0 2px 4px -2px rgba(0,0,0,.3);--hub-shadow-lg:0 10px 15px -3px rgba(0,0,0,.5),0 4px 6px -4px rgba(0,0,0,.4);--hub-shadow-xl:0 20px 25px -5px rgba(0,0,0,.6),0 8px 10px -6px rgba(0,0,0,.5);--hub-scrollbar-bg:transparent;--hub-scrollbar-thumb:0 0% 30%;--hub-scrollbar-thumb-hover:0 0% 40%}:root{--hub-rail-width:68px;--hub-sidebar-width:260px;--hub-sidebar-width-collapsed:0px;--hub-header-height:56px;--hub-input-height:52px;--hub-input-height-mobile:48px;--hub-breakpoint-sm:640px;--hub-breakpoint-md:768px;--hub-breakpoint-lg:1024px;--hub-breakpoint-xl:1280px;--hub-transition-fast:150ms;--hub-transition-normal:200ms;--hub-transition-slow:300ms;--hub-ease:cubic-bezier(0.4,0,0.2,1);--hub-ease-out:cubic-bezier(0,0,0.2,1);--hub-ease-spring:cubic-bezier(0.34,1.56,0.64,1);--hub-radius-sm:6px;--hub-radius-md:8px;--hub-radius-lg:12px;--hub-radius-xl:16px;--hub-radius-2xl:24px;--hub-radius-full:9999px;--hub-space-1:4px;--hub-space-2:8px;--hub-space-3:12px;--hub-space-4:16px;--hub-space-5:20px;--hub-space-6:24px;--hub-space-8:32px;--hub-space-10:40px;--hub-space-12:48px;--hub-font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--hub-font-mono:"SF Mono",SFMono-Regular,ui-monospace,Menlo,Monaco,"Cascadia Mono",monospace;--hub-text-xs:12px;--hub-text-sm:13px;--hub-text-base:15px;--hub-text-lg:17px;--hub-text-xl:20px;--hub-text-2xl:24px;--hub-z-base:0;--hub-z-sidebar:40;--hub-z-header:50;--hub-z-modal-backdrop:60;--hub-z-modal:70;--hub-z-popover:80;--hub-z-toast:90}.hub-root{font-family:var(--hub-font-sans);font-size:var(--hub-text-base);line-height:1.5;color:hsl(var(--hub-text));background:hsl(var(--hub-bg));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;touch-action:manipulation;overscroll-behavior:none;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}@media (display-mode:standalone){.hub-root{overscroll-behavior-y:contain}body{position:fixed;width:100%;height:100%}}@supports (-webkit-touch-callout:none){.hub-root{min-height:-webkit-fill-available}}.hub-scrollbar{scrollbar-width:thin;scrollbar-color:hsl(var(--hub-scrollbar-thumb)) var(--hub-scrollbar-bg)}.hub-scrollbar::-webkit-scrollbar{width:8px;height:8px}.hub-scrollbar::-webkit-scrollbar-track{background:var(--hub-scrollbar-bg)}.hub-scrollbar::-webkit-scrollbar-thumb{background:hsl(var(--hub-scrollbar-thumb));border-radius:4px}.hub-scrollbar::-webkit-scrollbar-thumb:hover{background:hsl(var(--hub-scrollbar-thumb-hover))}.hub-surface{background:hsl(var(--hub-surface))}.hub-elevated{background:hsl(var(--hub-elevated));box-shadow:var(--hub-shadow-md)}.hub-border{border:1px solid hsl(var(--hub-border))}.hub-border-light{border:1px solid hsl(var(--hub-border-light))}.hub-touch-target{min-height:44px;min-width:44px}.hub-pressable{transition:transform .1s ease,opacity .1s ease;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hub-pressable:active{transform:scale(.97);opacity:.8}.hub-tap-feedback{position:relative;overflow:hidden}.hub-tap-feedback:after{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity .15s ease;pointer-events:none}.hub-tap-feedback:active:after{opacity:.08}.hub-bottom-nav-item{position:relative;transition:color .15s ease}.hub-bottom-nav-item:before{content:"";position:absolute;inset:4px;border-radius:12px;background:currentColor;opacity:0;transform:scale(.9);transition:opacity .15s ease,transform .15s ease}.hub-bottom-nav-item:active:before{opacity:.08;transform:scale(1)}@keyframes hub-fade-in{0%{opacity:0}to{opacity:1}}@keyframes hub-slide-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes hub-slide-in-left{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}@keyframes hub-pulse-dot{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.hub-animate-fade-in{animation:hub-fade-in var(--hub-transition-normal) var(--hub-ease) forwards}.hub-animate-slide-up{animation:hub-slide-up var(--hub-transition-normal) var(--hub-ease-out) forwards}.hub-animate-slide-in-left{animation:hub-slide-in-left var(--hub-transition-normal) var(--hub-ease-out) forwards}.hub-typing-dot{animation:hub-pulse-dot 1.4s ease-in-out infinite}.hub-typing-dot:nth-child(2){animation-delay:.2s}.hub-typing-dot:nth-child(3){animation-delay:.4s}@media (prefers-reduced-motion:reduce){.hub-animate-fade-in,.hub-animate-slide-in-left,.hub-animate-slide-up,.hub-typing-dot{animation:none;opacity:1;transform:none}}.chat-markdown{line-height:1.6}.chat-markdown .chat-p{margin-bottom:1em}.chat-markdown .chat-p:last-child{margin-bottom:0}.chat-markdown .chat-h1{font-size:1.25rem;font-weight:600;margin-top:1.5em;margin-bottom:.5em}.chat-markdown .chat-h2{font-size:1.125rem;font-weight:600;margin-top:1.25em;margin-bottom:.5em}.chat-markdown .chat-h3{font-size:1rem;font-weight:600;margin-top:1em;margin-bottom:.5em}.chat-markdown .chat-ol,.chat-markdown .chat-ul{margin-bottom:1em;padding-left:1.5em}.chat-markdown .chat-li{margin-bottom:.25em}.chat-markdown .chat-li-unordered{list-style-type:disc}.chat-markdown .chat-li-ordered{list-style-type:decimal}.chat-markdown .chat-link{color:hsl(var(--hub-accent));text-decoration:underline;text-underline-offset:2px}.chat-markdown .chat-link:hover{text-decoration-thickness:2px}.chat-markdown .chat-inline-code{background:hsl(var(--hub-code-bg));padding:.125em .375em;border-radius:4px;font-family:var(--hub-font-mono);font-size:.875em}.chat-markdown .chat-code-block{background:hsl(var(--hub-code-bg));padding:1em;border-radius:8px;overflow-x:auto;margin-bottom:1em}.chat-markdown .chat-code-block code{font-family:var(--hub-font-mono);font-size:.875em;line-height:1.5}.chat-markdown .chat-hr{border:none;border-top:1px solid hsl(var(--hub-border));margin:1.5em 0}.chat-markdown strong{font-weight:600}.chat-markdown em{font-style:italic}