.glass-panel{background:var(--glass-bg);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-highlight);transition:all .2s cubic-bezier(.4,0,.2,1)}.glass-panel:hover{background:var(--glass-bg-hover);box-shadow:var(--glass-shadow-hover),inset 0 1px 0 var(--glass-highlight)}.glass-interactive{cursor:pointer}.glass-interactive:hover{transform:translateY(-2px)}.glass-interactive:active{transform:translateY(0)}.gradient-text-amber{background:var(--gradient-amber);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-text-magenta{background:var(--gradient-magenta);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-text-cyan{background:var(--gradient-cyan);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-text-purple{background:var(--gradient-purple);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-text-rainbow{background:var(--gradient-rainbow);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-border-purple{position:relative;border:1px solid transparent;background:linear-gradient(var(--glass-bg),var(--glass-bg)) padding-box,var(--gradient-purple) border-box}.gradient-border-amber{position:relative;border:1px solid transparent;background:linear-gradient(var(--glass-bg),var(--glass-bg)) padding-box,var(--gradient-amber) border-box}.gradient-border-magenta{position:relative;border:1px solid transparent;background:linear-gradient(var(--glass-bg),var(--glass-bg)) padding-box,var(--gradient-magenta) border-box}.gradient-border-cyan{position:relative;border:1px solid transparent;background:linear-gradient(var(--glass-bg),var(--glass-bg)) padding-box,var(--gradient-cyan) border-box}.chat-bubble-user{border-radius:20px 20px 4px 20px}.chat-bubble-assistant{border-radius:20px 20px 20px 4px}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}:root{--popup-bg:hsl(var(--background)/0.95);--popup-blur:blur(12px);--popup-border:hsl(var(--border));--popup-shadow:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--popup-content-z:50;--overlay-bg:hsl(0 0% 0%/0.8);--overlay-blur:blur(2px);--overlay-z-index:40;--animation-duration-fast:150ms;--animation-duration-normal:200ms;--animation-duration-slow:300ms;--animation-easing-standard:cubic-bezier(0.4,0.0,0.2,1);--animation-easing-emphasized:cubic-bezier(0.2,0.0,0,1);--spacing-popup-padding:1rem;--spacing-dialog-padding:1.5rem;--spacing-dropdown-padding:0.25rem;--radius-popup:0.5rem;--radius-dialog:0.75rem;--radius-dropdown:0.375rem}.dark{--popup-bg:hsl(var(--background)/0.95);--overlay-bg:hsl(0 0% 0%/0.6)}.gdd-layout{background:var(--page-bg)}.gdd-panel{background:var(--glass-bg);backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2)}.gdd-resize-handle{width:12px;background:transparent;transition:background .2s ease;cursor:col-resize;touch-action:none;z-index:10}.gdd-resize-handle:hover,.gdd-resize-handle[data-resize-handle-state=drag],.gdd-resize-handle[data-resize-handle-state=hover]{background:hsl(var(--brand-purple)/.15)}.gdd-resize-line{width:1px;height:100%;background:linear-gradient(180deg,transparent 0,var(--glass-border) 10%,var(--glass-border) 90%,transparent 100%);transition:all .2s ease}.gdd-resize-handle:hover .gdd-resize-line,.gdd-resize-handle[data-resize-handle-state=drag] .gdd-resize-line,.gdd-resize-handle[data-resize-handle-state=hover] .gdd-resize-line{width:2px;background:linear-gradient(180deg,transparent 0,hsl(var(--brand-purple)) 10%,hsl(var(--brand-purple)) 90%,transparent 100%)}.gdd-resize-gizmo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:16px;height:40px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s ease;box-shadow:0 2px 8px rgba(0,0,0,.1)}.gdd-resize-handle:hover .gdd-resize-gizmo,.gdd-resize-handle[data-resize-handle-state=drag] .gdd-resize-gizmo,.gdd-resize-handle[data-resize-handle-state=hover] .gdd-resize-gizmo{opacity:1}.gdd-resize-handle[data-resize-handle-state=drag] .gdd-resize-gizmo{background:linear-gradient(135deg,hsl(var(--brand-purple)/.2) 0,hsl(var(--brand-magenta)/.2) 100%);border-color:hsl(var(--brand-purple))}.gdd-resize-gizmo-dots{display:flex;flex-direction:column;gap:4px}.gdd-resize-gizmo-dots span{width:4px;height:4px;border-radius:50%;background:hsl(var(--brand-purple));opacity:.5;transition:opacity .2s ease}.gdd-resize-handle:hover .gdd-resize-gizmo-dots span,.gdd-resize-handle[data-resize-handle-state=drag] .gdd-resize-gizmo-dots span,.gdd-resize-handle[data-resize-handle-state=hover] .gdd-resize-gizmo-dots span{opacity:1}.gdd-panel-content{height:100%;overflow:hidden}.gdd-chat-header{border-bottom:1px solid var(--glass-border)}.gdd-chat-header,.gdd-chat-input-area{background:var(--glass-bg);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3)}.gdd-chat-input-area{border-top:1px solid var(--glass-border)}.gdd-chat-dragging{background:hsl(var(--brand-purple)/.08)}.dark .gdd-chat-dragging{background:hsl(var(--brand-purple)/.15)}.gdd-chat-drag-overlay{background:hsl(var(--brand-purple)/.08);border:2px dashed hsl(var(--brand-purple));border-radius:1rem}.dark .gdd-chat-drag-overlay{background:hsl(var(--brand-purple)/.15)}.gdd-chat-image-preview{position:relative;width:4rem;height:4rem;border-radius:.5rem;overflow:hidden;border:1px solid var(--glass-border)}.gdd-chat-image-remove{position:absolute;top:-.25rem;right:-.25rem;width:1.25rem;height:1.25rem;border-radius:50%;background:linear-gradient(135deg,hsl(var(--status-error)) 0,hsl(var(--status-error)/.8) 100%);color:white;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;cursor:pointer}.gdd-chat-image-preview:hover .gdd-chat-image-remove{opacity:1}.gdd-chat-row-user{background:linear-gradient(135deg,rgba(139,92,246,.08),rgba(200,80,192,.08))}.chat-bubble-user{background:var(--gradient-magenta);color:white;padding:.75rem 1rem;border-radius:1.25rem 1.25rem .25rem 1.25rem;box-shadow:0 4px 12px rgba(255,107,157,.25)}.chat-bubble-assistant{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);color:var(--foreground);padding:.75rem 1rem;border-radius:1.25rem 1.25rem 1.25rem .25rem}.chat-bubble-system{background:rgba(255,149,0,.1);border:1px solid rgba(255,149,0,.2);padding:.75rem 1rem;border-radius:1rem;font-size:.875rem}.chat-bubble-cursor{display:inline-block;width:.5rem;height:1rem;margin-left:.25rem;background:var(--gradient-magenta);border-radius:.125rem;animation:chat-cursor-blink 1s ease-in-out infinite}@keyframes chat-cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.dark .chat-bubble-user{box-shadow:0 4px 16px rgba(255,107,157,.3)}.dark .chat-bubble-assistant{box-shadow:0 4px 16px rgba(0,0,0,.2)}.dark .gdd-chat-row-user{background:linear-gradient(135deg,rgba(139,92,246,.15),rgba(200,80,192,.15))}.gdd-chat-avatar-user{background:linear-gradient(135deg,var(--brand-purple) 0,var(--brand-magenta) 100%);color:white}.gdd-chat-avatar-assistant{background:linear-gradient(135deg,var(--brand-cyan) 0,var(--brand-cyan-light) 100%);color:white}.gdd-chat-avatar-system{background:linear-gradient(135deg,var(--brand-amber) 0,var(--brand-amber-light) 100%);color:white}.gdd-chat-streaming-cursor{display:inline-block;width:.5rem;height:1rem;margin-left:.25rem;background:linear-gradient(135deg,var(--brand-purple) 0,var(--brand-magenta) 100%);border-radius:.125rem;animation:gdd-cursor-blink 1s ease-in-out infinite}@keyframes gdd-cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.gdd-draft-bar{background:linear-gradient(135deg,rgba(255,149,0,.1),rgba(255,204,0,.1));border-bottom:1px solid rgba(255,149,0,.2);backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2)}.dark .gdd-draft-bar{background:linear-gradient(135deg,rgba(255,149,0,.15),rgba(255,204,0,.08));border-bottom:1px solid rgba(255,149,0,.25)}.gdd-files-header,.gdd-files-panel{background:var(--glass-bg)}.gdd-files-header{backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);border-bottom:1px solid var(--glass-border)}.gdd-files-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:.75rem;padding:.75rem;transition:all .2s ease;cursor:pointer}.gdd-files-card:hover{background:var(--glass-bg-hover);transform:translateY(-1px);box-shadow:var(--glass-shadow)}.gdd-preview-content{color:hsl(var(--foreground))}.gdd-preview-content :where(h1,h2,h3,h4,h5,h6){color:hsl(var(--foreground))}.gdd-preview-content :where(code){background:hsl(var(--brand-purple)/.15);padding:.125rem .5rem;border-radius:.375rem;font-size:.875em}.gdd-preview-content :where(pre){background:hsl(var(--foreground)/.05);border-radius:.75rem;padding:1rem;border:1px solid var(--glass-border)}.dark .gdd-preview-content :where(pre){background:hsl(var(--foreground)/.1)}.dashboard-header{background:var(--glass-bg);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);border-bottom:1px solid var(--glass-border);box-shadow:0 1px 3px rgba(0,0,0,.05)}.dashboard-header-logo{display:flex;align-items:center;gap:.75rem;padding:.375rem .625rem;border-radius:.625rem;transition:all .2s ease}.dashboard-header-logo:hover{background:hsl(var(--foreground)/.04)}.dark .dashboard-header-logo:hover{background:hsl(var(--foreground)/.06)}.dashboard-header-logo-text{font-size:1.25rem;font-weight:600;letter-spacing:-.02em}@keyframes header-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.dashboard-header-logo-img{animation:header-float 4s ease-in-out infinite}.dashboard-header-nav-pills{background:var(--glass-bg);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);border:1px solid var(--glass-border);border-radius:.75rem;padding:.375rem;display:flex;gap:.25rem;box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-highlight)}.dashboard-header-nav-pill{padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground));transition:all .2s ease}.dashboard-header-nav-pill:hover{color:hsl(var(--foreground));background:hsl(var(--foreground)/.04)}.dark .dashboard-header-nav-pill:hover{background:hsl(var(--foreground)/.06)}.dashboard-header-nav-pill-active{box-shadow:0 1px 3px rgba(0,0,0,.1);border:1px solid var(--glass-border)}.dashboard-header-nav-pill-active,.dashboard-header-nav-pill-active:hover{background:hsl(var(--background));color:hsl(var(--foreground))}.dashboard-header-theme-toggle{background:var(--glass-bg);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);border:1px solid var(--glass-border);border-radius:.75rem;padding:.625rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;cursor:pointer;box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-highlight)}.dashboard-header-theme-toggle:hover{background:var(--glass-bg-hover);transform:translateY(-2px);box-shadow:var(--glass-shadow-hover),inset 0 1px 0 var(--glass-highlight)}.dashboard-header-theme-toggle svg{width:1.25rem;height:1.25rem}.dashboard-header-user-wrapper{display:flex;align-items:center}.stack-handler-header{border-bottom:1px solid var(--glass-border)}.stack-handler-back-btn,.stack-handler-header{background:var(--glass-bg);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-highlight)}.stack-handler-back-btn{border:1px solid var(--glass-border);transition:all .2s ease;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.75rem;font-size:.875rem;font-weight:500}.stack-handler-back-btn:hover{background:var(--glass-bg-hover);transform:translateY(-2px);box-shadow:var(--glass-shadow-hover),inset 0 1px 0 var(--glass-highlight)}.stack-handler-logo{animation:header-float 4s ease-in-out infinite}.gdd-diff-view{border:1px solid var(--glass-border);border-radius:.75rem;overflow:hidden}.gdd-diff-header,.gdd-diff-view{background:var(--glass-bg)}.gdd-diff-column-header.gdd-diff-old{background:rgba(239,68,68,.05)}.gdd-diff-column-header.gdd-diff-old span{color:rgb(239,68,68)}.gdd-diff-column-header.gdd-diff-new{background:rgba(34,197,94,.05)}.gdd-diff-column-header.gdd-diff-new span{color:rgb(34,197,94)}.gdd-diff-content{background:hsl(var(--background))}.gdd-diff-line{white-space:pre-wrap;word-break:break-word}.gdd-diff-line-removed{background:rgba(239,68,68,.1)}.gdd-diff-line-added{background:rgba(34,197,94,.1)}.gdd-diff-line-empty,.gdd-diff-line-unchanged{background:transparent}.gdd-diff-text-removed{color:rgb(248,113,113)}.gdd-diff-text-added{color:rgb(74,222,128)}.gdd-diff-text-unchanged{color:hsl(var(--muted-foreground))}.gdd-diff-footer{background:var(--glass-bg)}.gdd-diff-stat-added{color:rgb(34,197,94)}.gdd-diff-stat-removed{color:rgb(239,68,68)}.dark .gdd-diff-column-header.gdd-diff-old{background:rgba(239,68,68,.08)}.dark .gdd-diff-column-header.gdd-diff-new{background:rgba(34,197,94,.08)}.dark .gdd-diff-line-removed{background:rgba(239,68,68,.15)}.dark .gdd-diff-line-added{background:rgba(34,197,94,.15)}.stack-scope{--stack-radius:0.75rem}.stack-scope [class*=sidebar],.stack-scope nav{background:var(--glass-bg)!important;backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3)}.stack-scope button:not([class*=stack-handler]){transition:all .2s ease}.stack-scope button:not([class*=stack-handler]):hover{transform:translateY(-1px)}.stack-scope [class*=card],.stack-scope [class*=panel]{border-radius:.75rem}.stack-scope [class*=divider],.stack-scope [class*=separator],.stack-scope hr{border-color:var(--glass-border)!important;opacity:.6}.stack-scope input,.stack-scope select,.stack-scope textarea{border-radius:.5rem!important;transition:all .2s ease}.stack-scope input:focus,.stack-scope select:focus,.stack-scope textarea:focus{box-shadow:0 0 0 2px hsl(var(--brand-purple)/.2)}.stack-scope table{border-radius:.75rem;overflow:hidden}.stack-scope th{background:var(--glass-bg)!important}.stack-scope tr{transition:background .15s ease}.stack-scope tbody tr:hover{background:hsl(var(--brand-purple)/.04)!important}.stack-scope [class*=avatar]{box-shadow:0 0 0 2px var(--glass-border)}@media (prefers-contrast:high){:root{--popup-bg:hsl(var(--background));--popup-blur:none;--popup-border:hsl(var(--foreground))}.glass-panel{backdrop-filter:none;-webkit-backdrop-filter:none;background:hsl(var(--background));border:2px solid hsl(var(--foreground))}}@media (prefers-reduced-motion:reduce){:root{--animation-duration-fast:0ms;--animation-duration-normal:0ms;--animation-duration-slow:0ms;--popup-blur:none;--overlay-blur:none}.glass-interactive,.glass-panel{transition:none}.glass-interactive:hover{transform:none}}.popup-base{position:fixed;z-index:var(--popup-content-z);background:var(--popup-bg);backdrop-filter:var(--popup-blur);border:1px solid var(--popup-border);box-shadow:var(--popup-shadow);border-radius:var(--radius-popup)}.overlay-base{position:fixed;inset:0;z-index:var(--overlay-z-index);background:var(--overlay-bg);backdrop-filter:var(--overlay-blur)}.popup-animations{&[data-state=open]{animation:popup-in var(--animation-duration-normal) var(--animation-easing-emphasized)}&[data-state=closed]{animation:popup-out var(--animation-duration-fast) var(--animation-easing-standard)}}.popup-radix-animations[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.popup-radix-animations[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;--tw-exit-opacity:0}.popup-radix-animations[data-state=open]{--tw-enter-opacity:0}.popup-radix-animations[data-state=closed]{--tw-exit-scale:.95}.popup-radix-animations[data-state=open]{--tw-enter-scale:.95}.popup-radix-animations[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.popup-radix-animations[data-side=left]{--tw-enter-translate-x:0.5rem}.popup-radix-animations[data-side=right]{--tw-enter-translate-x:-0.5rem}.popup-radix-animations[data-side=top]{--tw-enter-translate-y:0.5rem}.popup-radix-animations{animation-duration:var(--animation-duration-normal);animation-timing-function:var(--animation-easing-emphasized)}.center-positioned{top:50%;left:50%;transform:translate(-50%,-50%)}.dialog-popup,.responsive-width{width:100%;max-width:calc(100vw - 2rem)}.dialog-popup{position:fixed;z-index:var(--popup-content-z);background:var(--popup-bg);backdrop-filter:var(--popup-blur);border:1px solid var(--popup-border);box-shadow:var(--popup-shadow);border-radius:var(--radius-popup);top:50%;left:50%;transform:translate(-50%,-50%);padding:var(--spacing-dialog-padding);border-radius:var(--radius-dialog);gap:1rem;display:grid}.dialog-popup[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.dialog-popup[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;--tw-exit-opacity:0}.dialog-popup[data-state=open]{--tw-enter-opacity:0}.dialog-popup[data-state=closed]{--tw-exit-scale:.95}.dialog-popup[data-state=open]{--tw-enter-scale:.95}.dialog-popup{animation-duration:var(--animation-duration-normal);animation-timing-function:var(--animation-easing-emphasized)}.dropdown-popup{border:1px solid var(--popup-border);border-radius:var(--radius-popup);padding:var(--spacing-dropdown-padding);border-radius:var(--radius-dropdown);min-width:8rem;max-height:24rem;overflow:hidden}.contextmenu-popup,.dropdown-popup{position:fixed;z-index:var(--popup-content-z);background:var(--popup-bg);backdrop-filter:var(--popup-blur);box-shadow:var(--popup-shadow)}.contextmenu-popup{border:1px solid var(--popup-border);border-radius:var(--radius-popup);padding:var(--spacing-popup-padding);min-width:10rem}@keyframes popup-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes popup-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.popup-focus-management{&:focus{outline:2px solid hsl(var(--ring));outline-offset:2px}}.popup-scroll{overflow-y:auto;scrollbar-width:thin;scrollbar-color:hsl(var(--muted)) transparent}.popup-scroll::-webkit-scrollbar{width:6px}.popup-scroll::-webkit-scrollbar-track{background:transparent}.popup-scroll::-webkit-scrollbar-thumb{background:hsl(var(--muted));border-radius:3px}.popup-scroll::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground))}:root{--agent-bg-primary:#f8fafc;--agent-bg-secondary:#f1f5f9;--agent-bg-code:#0f172a;--agent-border:#e2e8f0;--agent-text:#0f172a;--agent-text-muted:#64748b;--agent-accent:#3b82f6;--agent-success:#22c55e;--agent-error:#ef4444;--agent-warning:#f59e0b}.dark{--agent-bg-primary:#0f172a;--agent-bg-secondary:#1e293b;--agent-bg-code:#020617;--agent-border:#334155;--agent-text:#f1f5f9;--agent-text-muted:#94a3b8}.gdd-code-block{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.875rem;line-height:1.5}.gdd-code-block pre{margin:0;padding:0;background:transparent!important}.gdd-code-block code{background:transparent!important}.gdd-code-block code,.gdd-terminal-output{white-space:pre-wrap;word-break:break-word}.gdd-terminal-output{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.75rem;line-height:1.4}.gdd-reasoning-block{border-left:3px solid #f59e0b;background:linear-gradient(90deg,rgb(245 158 11/10),transparent)}.gdd-tool-call{border-left:3px solid #3b82f6;background:linear-gradient(90deg,rgb(59 130 246/10),transparent)}.gdd-progress-step{transition:all .2s ease-in-out}.gdd-progress-step:hover{transform:translateY(-1px)}.gdd-message-row{transition:background-color .2s ease-in-out}.gdd-message-row:hover{background-color:var(--agent-bg-secondary)}.gdd-chat-scroll::-webkit-scrollbar{width:8px}.gdd-chat-scroll::-webkit-scrollbar-track{background:transparent}.gdd-chat-scroll::-webkit-scrollbar-thumb{background:var(--agent-border);border-radius:4px}.gdd-chat-scroll::-webkit-scrollbar-thumb:hover{background:var(--agent-text-muted)}@keyframes agent-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes agent-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.agent-animate-pulse{animation:agent-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.agent-animate-spin{animation:agent-spin 1s linear infinite}.gdd-status-running{color:#60a5fa}.gdd-status-success{color:#22c55e}.gdd-status-error{color:#ef4444}.gdd-status-pending{color:#94a3b8}.gdd-input-area{backdrop-filter:blur(8px);background-color:rgba(255,255,255,.9)}.dark .gdd-input-area{background-color:rgba(15,23,42,.9)}.gdd-bubble-user{background:linear-gradient(135deg,#3b82f6,#2563eb);color:white;border-radius:1rem 1rem .25rem 1rem}.gdd-bubble-assistant{background:var(--agent-bg-secondary);color:var(--agent-text);border-radius:1rem 1rem 1rem .25rem}.gdd-image-preview{position:relative;overflow:hidden;border-radius:.5rem;transition:transform .2s ease-in-out}.gdd-image-preview:hover{transform:scale(1.02)}.gdd-markdown{line-height:1.625}.gdd-markdown h1,.gdd-markdown h2,.gdd-markdown h3{margin-top:1.5rem;margin-bottom:.75rem;font-weight:600}.gdd-markdown p{margin-bottom:.75rem}.gdd-markdown ol,.gdd-markdown ul{padding-left:1.5rem;margin-bottom:.75rem}.gdd-markdown li{margin-bottom:.25rem}.gdd-markdown code:not(pre code){background:var(--agent-bg-secondary);padding:.125rem .375rem;border-radius:.25rem;font-size:.875em}.gdd-markdown blockquote{border-left:3px solid var(--agent-border);padding-left:1rem;color:var(--agent-text-muted);font-style:italic}.gdd-markdown table{width:100%;border-collapse:collapse;margin-bottom:1rem}.gdd-markdown td,.gdd-markdown th{border:1px solid var(--agent-border);padding:.5rem .75rem;text-align:left}.gdd-markdown th{background:var(--agent-bg-secondary);font-weight:600}.gdd-code-block .color-preview,.shiki .color-preview{position:relative;padding-left:1.1em;display:inline}.gdd-code-block .color-preview:before,.shiki .color-preview:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:.7em;height:.7em;border-radius:50%;background-color:var(--preview-color,transparent);border:1px solid rgba(255,255,255,.4);box-shadow:0 0 0 1px rgba(0,0,0,.15),inset 0 1px 2px rgba(255,255,255,.1)}.react-flow{direction:ltr;--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:rgba(255,255,255,0.5);--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:rgba(240,240,240,0.6);--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:rgba(240,240,240,0.25);--xy-node-boxshadow-hover-default:0 1px 4px 1px rgba(0,0,0,0.08);--xy-node-boxshadow-selected-default:0 0 0 0.5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:rgba(0,89,220,0.08);--xy-selection-border-default:1px dotted rgba(0,89,220,0.8);--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px rgba(0,0,0,0.08);--xy-edge-label-background-color-default:#ffffff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:rgba(150,150,150,0.25);--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:rgba(60,60,60,0.6);--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:rgba(240,240,240,0.25);--xy-node-boxshadow-hover-default:0 1px 4px 1px rgba(255,255,255,0.08);--xy-node-boxshadow-selected-default:0 0 0 0.5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:rgba(200,200,220,0.08);--xy-selection-border-default:1px dotted rgba(200,200,220,0.8);--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px rgba(0,0,0,0.08);--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path,.react-flow__edge.selected .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.bottom.center,.react-flow__panel.top.center{left:50%;transform:translateX(-15px) translateX(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{pointer-events:none}.react-flow__edgelabel-renderer,.react-flow__viewport-portal{position:absolute;width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__minimap{background:var(
    --xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default))
  )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(
      --xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default))
    );stroke:var(
      --xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default))
    );stroke-width:var(
      --xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default))
    )}.react-flow__minimap-node{fill:var(
      --xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default))
    );stroke:var(
      --xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default))
    );stroke-width:var(
      --xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default))
    )}.react-flow__background-pattern.dots{fill:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default))
    )}.react-flow__background-pattern.lines{stroke:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default))
    )}.react-flow__background-pattern.cross{stroke:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default))
    )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border-bottom:1px solid var(
        --xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default))
      );color:var(
      --xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default))
    );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{padding:10px;border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default))}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(
        --xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default))
      );color:var(
        --xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default))
      )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(
        --xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default))
      )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}