@keyframes chat-panel-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.chat-icon-btn{border-radius:var(--ui-radius-sm);width:32px;height:32px;color:var(--ui-text-muted);cursor:pointer;transition:background var(--ui-motion-fast) var(--ui-ease), color var(--ui-motion-fast) var(--ui-ease);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.chat-icon-btn:hover{background:var(--ui-surface-subtle);color:var(--ui-text)}.chat-icon-btn:focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}.chat-icon-btn--text{width:auto;padding:0 var(--ui-space-2);font-size:var(--ui-text-xs)}.chat-icon-btn--primary{width:auto;padding:var(--ui-space-1) var(--ui-space-3);background:var(--ui-primary);color:var(--ui-primary-fg);font-size:var(--ui-text-xs)}.chat-icon-btn--primary:hover:not(:disabled){background:var(--ui-primary-hover);color:var(--ui-primary-fg)}.chat-icon-btn:disabled{opacity:.5;cursor:not-allowed}.chat-icon-btn.is-active{background:var(--ui-surface-subtle);color:var(--ui-text)}.chat-header{align-items:center;gap:var(--ui-space-2);padding:var(--ui-space-2) var(--ui-space-3);border-bottom:1px solid var(--ui-border);display:flex}.chat-header__model{flex:1;min-width:0}.chat-header__effort{flex-shrink:0}.chat-header__effort .ui-select-trigger{border-radius:var(--ui-radius-sm);width:32px;height:32px;box-shadow:none;transition:background var(--ui-motion-fast) var(--ui-ease), color var(--ui-motion-fast) var(--ui-ease);border:1px solid #0000;justify-content:center;gap:0;padding:0}.chat-header__effort .ui-select-trigger:hover,.chat-header__effort .ui-select-trigger[aria-expanded=true]{background:var(--ui-surface-subtle);box-shadow:none;border-color:#0000}.chat-header__effort .ui-select-trigger:focus-visible{box-shadow:var(--ui-focus,0 0 0 4px #0071e352);border-color:#0000}.chat-header__effort .ui-select-chevron{display:none}.chat-header__effort--low .ui-select-trigger{background:var(--ui-success-soft)}.chat-header__effort--medium .ui-select-trigger{background:var(--ui-warning-soft)}.chat-header__effort--high .ui-select-trigger{background:var(--ui-danger-soft)}.chat-header__actions{gap:var(--ui-space-1);display:flex}li.ui-select-option.is-disabled[data-value^=__group_]{padding-block:var(--ui-space-1) 2px;font-size:var(--ui-text-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ui-text-muted);cursor:default;opacity:1;font-weight:700}li.ui-select-option.is-disabled[data-value^=__group_]:not(:first-child){margin-top:var(--ui-space-1);border-top:1px solid var(--ui-border);padding-top:var(--ui-space-2)}.chat-error{justify-content:space-between;align-items:center;gap:var(--ui-space-2);margin:var(--ui-space-2) var(--ui-space-3);padding:var(--ui-space-2) var(--ui-space-3);background:var(--ui-danger-soft);color:var(--ui-danger);border-radius:var(--ui-radius-sm);font-size:var(--ui-text-xs);display:flex}.chat-error button{color:inherit;font-size:var(--ui-text-lg);cursor:pointer;background:0 0;border:none;line-height:1}.chat-messages{gap:var(--ui-space-4);padding:var(--ui-space-4) var(--ui-space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-messages__empty{width:100%;color:var(--ui-text-muted);font-size:var(--ui-text-md);text-align:center;flex-direction:column;align-items:center;margin-block:auto;display:flex}.chat-messages__empty .suggestions{align-self:stretch}.chat-messages__hint{color:var(--ui-text-muted);font-size:var(--ui-text-sm)}.chat-msg{gap:var(--ui-space-1);animation:chat-msg-in .32s var(--ui-ease) both;flex-direction:column;display:flex}@keyframes chat-msg-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.chat-msg{animation:none}}.chat-msg--user{align-items:flex-end}.chat-bubble{max-width:88%;padding:var(--ui-space-2) var(--ui-space-3);border-radius:var(--ui-radius-lg);font-size:var(--ui-text-md);white-space:pre-wrap;word-break:break-word;line-height:1.6}.chat-bubble--user{background:var(--ui-brand-soft);color:var(--ui-brand-ink);border-bottom-right-radius:var(--ui-radius-xs)}.chat-response{width:100%;color:var(--ui-text);font-size:var(--ui-text-md);word-break:break-word;line-height:1.65}.chat-cursor{vertical-align:text-bottom;background:var(--ui-brand);border-radius:1px;width:6px;height:1.05em;margin-left:2px;animation:1s steps(2,start) infinite chat-blink;display:inline-block}@keyframes chat-blink{to{opacity:0}}@media (prefers-reduced-motion:reduce){.chat-cursor{animation:none}}.chat-actions{gap:2px;margin-top:2px;display:flex}.chat-action{border-radius:var(--ui-radius-sm);width:28px;height:28px;color:var(--ui-text-muted);cursor:pointer;transition:background var(--ui-motion-fast) var(--ui-ease), color var(--ui-motion-fast) var(--ui-ease);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.chat-action:hover:not(:disabled){background:var(--ui-surface-subtle);color:var(--ui-text)}.chat-action:focus-visible{box-shadow:var(--ui-focus);outline:none}.chat-action:disabled{opacity:.4;cursor:not-allowed}.shimmer-text{background:linear-gradient(90deg, var(--ui-text-muted) 0%, var(--ui-text-muted) 35%, var(--ui-text) 50%, var(--ui-text-muted) 65%, var(--ui-text-muted) 100%);-webkit-text-fill-color:transparent;color:#0000;animation:shimmer-sweep var(--shimmer-duration,2s) linear infinite;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;display:inline-block}@keyframes shimmer-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.shimmer-text{color:var(--ui-text-muted);-webkit-text-fill-color:var(--ui-text-muted);animation:none}}.cot{margin:2px 0}.cot__trigger{max-width:100%;color:var(--ui-text-muted);font:inherit;font-size:var(--ui-text-xs);text-align:left;cursor:pointer;transition:color var(--ui-motion-fast) var(--ui-ease);background:0 0;border:none;align-items:center;gap:.3rem;padding:2px 0;font-weight:600;display:inline-flex}.cot__trigger:hover{color:var(--ui-text)}.cot__trigger:focus-visible{border-radius:var(--ui-radius-xs);box-shadow:var(--ui-focus);outline:none}.cot__caret{color:var(--ui-text-muted);transition:transform var(--ui-motion-fast) var(--ui-ease);flex:none}.cot.is-open .cot__caret{transform:rotate(90deg)}.cot__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cot__steps{margin:.3rem 0 0;padding:0 0 0 .3rem;list-style:none;position:relative}.cot__steps:before{content:"";background:var(--ui-border);width:1.5px;position:absolute;top:.6rem;bottom:.6rem;left:calc(.3rem + 5px)}.cot__step{z-index:1;font-size:var(--ui-text-xs);color:var(--ui-text-muted);gap:.55rem;padding:.18rem 0;display:flex;position:relative}.cot__step--tool{align-items:center}.cot__step--reasoning,.cot__step--narration{align-items:flex-start}.cot__node{border-radius:var(--ui-radius-pill);background:var(--ui-surface);border:1.5px solid var(--ui-border-strong);color:#fff;flex:none;place-items:center;width:12px;height:12px;line-height:0;display:grid}.cot__node svg{display:block}.cot__node--text{background:0 0;border:none;margin-top:.2rem}.cot__node--text:after{content:"";border-radius:var(--ui-radius-pill);background:var(--ui-border-strong);width:6px;height:6px}.cot__step--query.is-done .cot__node{background:var(--ui-chart-accent);border-color:var(--ui-chart-accent)}.cot__step--action.is-done .cot__node{background:var(--ui-brand);border-color:var(--ui-brand)}.cot__step.is-running .cot__node{border-color:var(--ui-brand);background:0 0;border-top-color:#0000;animation:.7s linear infinite chat-spin}.cot__step.is-rejected .cot__node{background:var(--ui-danger);border-color:var(--ui-danger)}.cot__step.is-rejected .cot__tool{color:var(--ui-text-muted);text-decoration:line-through}.cot__tool{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cot__text{min-width:0;color:var(--ui-text-muted);font-size:var(--ui-text-xs);line-height:1.55}@keyframes chat-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.cot__step.is-running .cot__node{animation:none}}.chat-msg__toolbar{gap:var(--ui-space-2);opacity:0;transition:opacity var(--ui-motion-fast) var(--ui-ease);display:flex}.chat-msg:hover .chat-msg__toolbar{opacity:1}.chat-msg__action{color:var(--ui-text-muted);font-size:var(--ui-text-2xs);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;display:inline-flex}.chat-msg__action:hover:not(:disabled){color:var(--ui-text)}.chat-msg__action:disabled{opacity:.4;cursor:not-allowed}.chat-msg__edit{gap:var(--ui-space-2);flex-direction:column;width:100%;display:flex}.chat-msg__edit-area{resize:vertical;width:100%;padding:var(--ui-space-2) var(--ui-space-3);border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-sm);font:inherit;font-size:var(--ui-text-sm);background:var(--ui-surface);color:var(--ui-text)}.chat-msg__edit-actions{justify-content:flex-end;gap:var(--ui-space-2);display:flex}.agent-orb{border-radius:var(--ui-radius-pill);background:radial-gradient(circle at 33% 28%, color-mix(in srgb, var(--ui-brand) 70%, white) 0%, var(--ui-brand) 38%, var(--ui-chart-accent) 100%);box-shadow:0 0 0 4px color-mix(in srgb, var(--ui-brand) 9%, transparent), 0 8px 22px -6px color-mix(in srgb, var(--ui-chart-accent) 50%, transparent);animation:agent-orb-breathe 4s var(--ui-ease) infinite;flex:none;display:inline-block}.agent-orb--sm{width:16px;height:16px;box-shadow:0 0 0 3px color-mix(in srgb, var(--ui-brand) 12%, transparent)}.agent-orb.is-active{animation-duration:1.6s}@keyframes agent-orb-breathe{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.07)}}@media (prefers-reduced-motion:reduce){.agent-orb{animation:none}}.chat-thinking{align-items:center;gap:.5rem;display:flex}.chat-markdown p{margin:0 0 var(--ui-space-2)}.chat-markdown p:last-child{margin-bottom:0}.chat-markdown ul,.chat-markdown ol{margin:0 0 var(--ui-space-2);padding-left:var(--ui-space-5)}.chat-markdown code{background:var(--ui-bg);border-radius:var(--ui-radius-xs);padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}.chat-markdown pre{margin:0 0 var(--ui-space-2);padding:var(--ui-space-2);background:var(--ui-bg);border-radius:var(--ui-radius-xs);overflow:auto}.chat-markdown pre code{background:0 0;padding:0}.chat-markdown table{border-collapse:collapse;width:100%;margin:0 0 var(--ui-space-2);font-size:var(--ui-text-2xs)}.chat-markdown th,.chat-markdown td{padding:var(--ui-space-1) var(--ui-space-2);border:1px solid var(--ui-border);text-align:left}.chat-markdown a{color:var(--ui-brand);text-decoration:underline}.chat-panel__history{padding:var(--ui-space-2) var(--ui-space-3);flex:1;overflow-y:auto}.chat-convos{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.chat-convos__empty,.chat-convo__empty{padding:var(--ui-space-4);color:var(--ui-text-muted);font-size:var(--ui-text-sm);text-align:center}.chat-convo{border-radius:var(--ui-radius-sm);align-items:center;display:flex}.chat-convo:hover,.chat-convo.is-active{background:var(--ui-surface-subtle)}.chat-convo__open{min-width:0;padding:var(--ui-space-2) var(--ui-space-3);color:var(--ui-text);font-size:var(--ui-text-sm);text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:none;flex:1;overflow:hidden}.chat-convo.is-active .chat-convo__open{font-weight:600}.chat-convo__delete{width:28px;height:28px;margin-right:var(--ui-space-1);color:var(--ui-text-muted);cursor:pointer;opacity:0;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.chat-convo:hover .chat-convo__delete{opacity:1}.chat-convo__delete:hover{color:var(--ui-danger)}.chat-input{padding:var(--ui-space-3);border-top:1px solid var(--ui-border)}.chat-notice{padding:var(--ui-space-3);border-top:1px solid var(--ui-border);background:var(--ui-surface-subtle)}.chat-notice__title{margin:0 0 var(--ui-space-1);color:var(--ui-text);font-size:var(--ui-text-xs);font-weight:600}.chat-notice__body{color:var(--ui-text-muted);font-size:var(--ui-text-2xs);margin:0;line-height:1.5}.chat-notice__body code{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:3px;padding:0 2px;font-size:.92em}.chat-input__queue{margin:0 0 var(--ui-space-2);color:var(--ui-text-muted);font-size:var(--ui-text-2xs)}.chat-input__row{display:block;position:relative}.chat-input__area{resize:none;width:100%;max-height:160px;padding:var(--ui-space-2) calc(var(--ui-space-7) + 6px) var(--ui-space-2) var(--ui-space-3);border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-lg);font:inherit;font-size:var(--ui-text-sm);background:var(--ui-surface);color:var(--ui-text);line-height:1.5}.chat-input__area:focus-visible{outline:2px solid var(--ui-focus);outline-offset:1px}.chat-send-btn{border-radius:var(--ui-radius-pill);background:var(--ui-primary);width:32px;height:32px;color:var(--ui-primary-fg);cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--ui-motion-fast) var(--ui-ease), transform var(--ui-motion-fast) var(--ui-ease), background var(--ui-motion-fast) var(--ui-ease);border:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:6px;right:6px;transform:scale(.85)}.chat-send-btn.is-visible{opacity:1;pointer-events:auto;transform:none}.chat-send-btn:hover:not(:disabled){background:var(--ui-primary-hover)}.chat-send-btn:disabled{opacity:0;cursor:not-allowed}.chat-send-btn--stop{background:var(--ui-danger);color:#fff;opacity:1;pointer-events:auto;transform:none}@media (prefers-reduced-motion:reduce){.chat-send-btn{transition:opacity var(--ui-motion-fast) linear;transform:none}.chat-send-btn.is-visible{transform:none}}.chat-dock{z-index:39;pointer-events:none;position:fixed}.chat-dock>*{pointer-events:auto}.chat-dock__backdrop{z-index:0;background:0 0;position:fixed;inset:0}.chat-dock__panel,.chat-dock__bar{z-index:1;position:relative}.chat-dock__panel{border:1px solid var(--ui-border);border-radius:var(--ui-radius-xl);background:color-mix(in srgb, var(--ui-surface) 68%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-direction:column;width:min(680px,100vw - 2rem);max-height:min(60vh,540px);display:flex;overflow:hidden;box-shadow:0 16px 44px #0003}.prompt-input{border:1px solid var(--ui-border);border-radius:var(--ui-radius-xl);background:color-mix(in srgb, var(--ui-surface) 70%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:min(680px,100vw - 2rem);max-width:min(680px,100vw - 2rem);transition:border-color var(--ui-motion-fast) var(--ui-ease), box-shadow var(--ui-motion-fast) var(--ui-ease);flex-direction:column;gap:.5rem;padding:.55rem .65rem;display:flex;box-shadow:0 6px 20px #00000014}.prompt-input:focus-within{border-color:color-mix(in srgb, var(--ui-primary) 45%, var(--ui-border));box-shadow:0 8px 26px #0000001f}.prompt-input.is-disabled{opacity:.75}.prompt-input__queue{color:var(--ui-text-muted);font-size:var(--ui-text-2xs);margin:0;padding:0 .35rem}.prompt-input__textarea{resize:none;field-sizing:content;width:100%;min-height:42px;max-height:220px;font:inherit;font-size:var(--ui-text-md);color:var(--ui-text);background:0 0;border:none;padding:.4rem .5rem .1rem;line-height:1.6;overflow-y:auto}.prompt-input__textarea:focus{outline:none}.prompt-input__textarea::placeholder{color:var(--ui-text-muted)}.prompt-input__textarea:placeholder-shown{white-space:nowrap;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 2rem),#0000 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 2rem),#0000 100%)}.prompt-input__textarea:disabled{color:var(--ui-text-muted);cursor:not-allowed}.prompt-input__footer{justify-content:space-between;align-items:center;gap:.5rem;max-height:2.4rem;display:flex}.prompt-input__tools{align-items:center;gap:.25rem;display:flex}.prompt-input__submit{border-radius:var(--ui-radius-pill);background:var(--ui-primary);width:34px;height:34px;color:var(--ui-primary-fg);cursor:pointer;transition:background var(--ui-motion-fast) var(--ui-ease), opacity var(--ui-motion-fast) var(--ui-ease);border:none;justify-content:center;align-items:center;display:inline-flex}.prompt-input__submit:hover:not(:disabled){background:var(--ui-primary-hover)}.prompt-input__submit:disabled{opacity:.4;cursor:not-allowed}.prompt-input__submit:focus-visible{box-shadow:var(--ui-focus);outline:none}.prompt-input__submit--stop{background:var(--ui-danger);color:#fff}.prompt-input__spin{animation:.8s linear infinite prompt-spin}@keyframes prompt-spin{to{transform:rotate(360deg)}}.canvas-tools{align-items:center;gap:.4rem;display:inline-flex;position:relative}.canvas-tools__trigger-label{line-height:1}.canvas-tools__trigger{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:color-mix(in srgb, var(--ui-surface) 70%, transparent);-webkit-backdrop-filter:saturate(180%)blur(16px);backdrop-filter:saturate(180%)blur(16px);height:30px;color:var(--ui-text);font:inherit;font-size:var(--ui-text-sm);cursor:pointer;transition:background var(--ui-motion-fast) var(--ui-ease), color var(--ui-motion-fast) var(--ui-ease), border-color var(--ui-motion-fast) var(--ui-ease);justify-content:center;align-items:center;gap:.4rem;padding:0 .8rem;font-weight:600;display:inline-flex;position:relative}.canvas-tools__trigger:hover{background:color-mix(in srgb, var(--ui-surface-subtle) 70%, transparent);color:var(--ui-text);border-color:var(--ui-border-strong,var(--ui-border))}.canvas-tools__trigger.is-open{z-index:32;background:var(--ct-glass);-webkit-backdrop-filter:var(--ct-blur);backdrop-filter:var(--ct-blur);color:var(--ui-text);box-shadow:none;border:0;border-radius:14px 14px 0 0;padding:0 calc(.8rem + 1px)}.canvas-tools__trigger.is-open:after{content:"";width:calc(100% + var(--ct-neck));height:calc(var(--ct-drop) + 1px);background:var(--ct-glass);-webkit-backdrop-filter:var(--ct-blur);backdrop-filter:var(--ct-blur);-webkit-mask:radial-gradient(var(--ct-neck) at 100% 0, #0000 0 calc(var(--ct-neck) - .5px), #000 var(--ct-neck));-webkit-mask:radial-gradient(var(--ct-neck) at 100% 0, #0000 0 calc(var(--ct-neck) - .5px), #000 var(--ct-neck));mask:radial-gradient(var(--ct-neck) at 100% 0, #0000 0 calc(var(--ct-neck) - .5px), #000 var(--ct-neck));pointer-events:none;position:absolute;top:100%;left:0}.canvas-tools__trigger:focus-visible{box-shadow:var(--ui-focus);outline:none}.canvas-tools{--ct-drop:calc(.35rem + 10px);--ct-neck:var(--ct-drop);--ct-glass:color-mix(in srgb, var(--ui-surface) 70%, transparent);--ct-blur:blur(12px)}.canvas-tools__menu{top:calc(100% + var(--ct-drop));z-index:31;background:var(--ct-glass);min-width:11rem;-webkit-backdrop-filter:var(--ct-blur);backdrop-filter:var(--ct-blur);transform-origin:0 0;border:none;border-radius:0 16px 16px;flex-direction:column;gap:1px;padding:.4rem .4rem .45rem .5rem;animation:.2s cubic-bezier(.16,1,.3,1) canvas-tools-drop;display:flex;position:absolute;bottom:auto;left:0;box-shadow:0 1px 2px #0000000a,0 18px 40px -12px #00000038}@keyframes canvas-tools-drop{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.canvas-tools__menu.is-closing{animation:.2s cubic-bezier(.16,1,.3,1) forwards canvas-tools-drop-out}@keyframes canvas-tools-drop-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-6px)scale(.97)}}.canvas-tools__mode{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:color-mix(in srgb, var(--ui-surface) 70%, transparent);-webkit-backdrop-filter:saturate(180%)blur(16px);backdrop-filter:saturate(180%)blur(16px);width:30px;height:30px;color:var(--ui-text-muted);cursor:pointer;transition:background var(--ui-motion-fast) var(--ui-ease), color var(--ui-motion-fast) var(--ui-ease), border-color var(--ui-motion-fast) var(--ui-ease);justify-content:center;align-items:center;display:inline-flex}.canvas-tools__mode:hover:not(:disabled){background:color-mix(in srgb, var(--ui-surface-subtle) 70%, transparent);color:var(--ui-text);border-color:var(--ui-border-strong,var(--ui-border))}.canvas-tools__mode.is-active{background:var(--ui-chart-accent);border-color:var(--ui-chart-accent);color:#fff}.canvas-tools__mode:disabled{opacity:.4;cursor:default}.canvas-tools__mode:focus-visible{box-shadow:var(--ui-focus);outline:none}.canvas-tools__item{border-radius:var(--ui-radius-sm);color:var(--ui-text);font:inherit;font-size:var(--ui-text-sm);text-align:left;cursor:pointer;transition:background var(--ui-motion-fast) var(--ui-ease);background:0 0;border:none;align-items:center;gap:.55rem;padding:.45rem .6rem;font-weight:500;display:flex}.canvas-tools__item:hover:not(:disabled),.canvas-tools__item.is-active{background:var(--ui-surface-subtle)}.canvas-tools__item:disabled{opacity:.45;cursor:default}.canvas-tools__item:focus-visible{box-shadow:var(--ui-focus);outline:none}.canvas-tools__item svg{color:var(--ui-text-muted);flex:none}.canvas-tools__sep{background:var(--ui-border);height:1px;margin:.25rem .2rem}.canvas-tools__vdivider{background:var(--ui-border);flex:none;width:1px;height:16px;margin:0 .1rem}.canvas-tools__zoom-pct{font-variant-numeric:tabular-nums;min-width:3rem;font-size:var(--ui-text-sm);width:auto;font-weight:600}.canvas-tools .dash-free-palette{top:calc(100% + var(--ct-drop,9px));bottom:auto;left:0}.chat-header__title{font-size:var(--ui-text-sm);color:var(--ui-text);flex:1;font-weight:600}.prompt-input__actions{align-items:center;gap:.4rem;display:flex}@media (prefers-reduced-motion:reduce){.chat-dock__panel,.canvas-tools__menu,.canvas-tools__menu.is-closing{animation:none}}.chat-conversation{flex:1;min-height:0;display:flex;position:relative}.chat-scroll-btn{border:1px solid var(--ui-border);border-radius:var(--ui-radius-pill);background:var(--ui-surface);width:30px;height:30px;color:var(--ui-text-muted);box-shadow:var(--ui-shadow-lg);cursor:pointer;transition:background var(--ui-motion-fast) var(--ui-ease), color var(--ui-motion-fast) var(--ui-ease);justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:.6rem;left:50%;transform:translate(-50%)}.chat-scroll-btn:hover{background:var(--ui-surface-subtle);color:var(--ui-text)}.chat-scroll-btn:focus-visible{box-shadow:var(--ui-focus);outline:none}.chat-messages__empty-title{margin:0 0 var(--ui-space-3);color:var(--ui-text);font-size:var(--ui-text-lg);font-weight:600}.suggestions{margin-inline:calc(-1 * var(--ui-space-3));padding-inline:var(--ui-space-3);scrollbar-width:none;-ms-overflow-style:none;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-x;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:.4rem;padding-block:4px;display:flex;overflow-x:auto}.suggestions::-webkit-scrollbar{display:none}.suggestions:active{cursor:grabbing}.suggestion{white-space:nowrap;border:1px solid var(--ui-border);border-radius:var(--ui-radius-pill);background:var(--ui-surface);color:var(--ui-text);font:inherit;font-size:var(--ui-text-base);cursor:pointer;flex:none;padding:.45rem .85rem}.suggestion:hover{background:var(--ui-surface-subtle);border-color:color-mix(in srgb, var(--ui-brand) 40%, var(--ui-border))}.suggestion:focus-visible{box-shadow:var(--ui-focus);outline:none}.chat-loader{border:2px solid color-mix(in srgb, var(--ui-text-muted) 35%, transparent);border-top-color:var(--ui-text-muted);border-radius:50%;animation:.7s linear infinite chat-loader-spin;display:inline-block}@keyframes chat-loader-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.chat-loader{animation-duration:1.6s}}.code-block{margin:var(--ui-space-2) 0;position:relative}.code-block__head{z-index:1;position:absolute;top:4px;right:4px}.code-block__copy{border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface);width:26px;height:26px;color:var(--ui-text-muted);cursor:pointer;opacity:0;transition:opacity var(--ui-motion-fast) var(--ui-ease), color var(--ui-motion-fast) var(--ui-ease);justify-content:center;align-items:center;display:inline-flex}.code-block:hover .code-block__copy,.code-block__copy:focus-visible{opacity:1}.code-block__copy:hover{color:var(--ui-text)}.code-block__copy:focus-visible{box-shadow:var(--ui-focus);outline:none}.chat-tool-chip__badge{border-radius:var(--ui-radius-pill);background:var(--ui-surface-subtle);font-size:var(--ui-text-2xs);color:var(--ui-text-muted);align-items:center;gap:.25rem;margin-left:auto;padding:1px 7px;font-weight:600;display:inline-flex}.chat-tool-chip--done .chat-tool-chip__badge{background:var(--ui-success-soft);color:var(--ui-success)}.chat-tool-chip--pending .chat-tool-chip__badge{background:var(--ui-warning-soft);color:var(--ui-warning)}.chat-tool-chip__badge svg{flex:none}.chat-tool-chip__section{margin:var(--ui-space-2) 0 2px;font-size:var(--ui-text-2xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ui-text-muted);font-weight:700}.chat-tool-chip__section:first-child{margin-top:0}.ctx{display:inline-flex;position:relative}.ctx__trigger{border:1px solid var(--ui-border);border-radius:var(--ui-radius-pill);background:var(--ui-surface);color:var(--ui-text-muted);font:inherit;font-size:var(--ui-text-2xs);cursor:pointer;transition:background var(--ui-motion-fast) var(--ui-ease), color var(--ui-motion-fast) var(--ui-ease);align-items:center;gap:.3rem;padding:.15rem .45rem;font-weight:600;display:inline-flex}.ctx__trigger:hover{background:var(--ui-surface-subtle);color:var(--ui-text)}.ctx__trigger:focus-visible{box-shadow:var(--ui-focus);outline:none}.ctx__panel{z-index:33;border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:var(--ui-surface);min-width:12rem;box-shadow:var(--ui-shadow-lg);color:var(--ui-text);font-size:var(--ui-text-xs);animation:chat-panel-in var(--ui-motion-medium) var(--ui-ease);padding:.5rem .6rem;position:absolute;top:calc(100% + .4rem);right:0}.ctx__head{border-bottom:1px solid var(--ui-border);justify-content:space-between;margin-bottom:.4rem;padding-bottom:.35rem;font-weight:600;display:flex}.ctx__row,.ctx__foot{color:var(--ui-text-muted);justify-content:space-between;padding:.12rem 0;display:flex}.ctx__foot{border-top:1px solid var(--ui-border);color:var(--ui-text);margin-top:.35rem;padding-top:.35rem;font-weight:600}@media (prefers-reduced-motion:reduce){.ctx__panel{animation:none}}.chat-dock.chat-dock--drawer{gap:0;align-items:initial;pointer-events:none;width:auto;padding:0;transition:none;display:block;inset:0}.chat-dock--drawer.is-open{z-index:50}.chat-dock--drawer .chat-dock__backdrop{position:fixed;inset:0}.chat-dock--drawer .chat-dock__panel{border-radius:var(--ui-radius-xl);transform-origin:50%;opacity:0;max-width:none;max-height:none;transition:opacity var(--ui-motion-medium,.18s) var(--ui-ease,ease), transform var(--ui-motion-medium,.18s) var(--ui-ease,ease);will-change:transform;animation:none;position:fixed;transform:scale(.96)}.chat-dock--drawer.is-open .chat-dock__panel{opacity:1;transform:scale(1)}.chat-dock--drawer:not(.is-open) .chat-dock__panel{pointer-events:none}.chat-dock--drawer .chat-messages,.chat-dock--drawer .chat-panel__history{min-height:0}.chat-dock--drawer .chat-dock__bar{padding:var(--ui-space-3,.75rem);border-top:1px solid var(--ui-border)}.chat-dock--drawer .prompt-input{width:100%;max-width:100%}.chat-dock__drag{cursor:grab;touch-action:none}body.chat-dock--dragging,body.chat-dock--dragging *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}body.chat-dock--dragging .chat-dock--drawer .chat-dock__panel{transition:none}.chat-dock__resize{z-index:2;touch-action:none;position:absolute}.chat-dock__resize--n{cursor:ns-resize;height:6px;top:0;left:0;right:0}.chat-dock__resize--s{cursor:ns-resize;height:6px;bottom:0;left:0;right:0}.chat-dock__resize--e{cursor:ew-resize;width:6px;top:0;bottom:0;right:0}.chat-dock__resize--w{cursor:ew-resize;width:6px;top:0;bottom:0;left:0}.chat-dock__resize--ne{cursor:nesw-resize;width:14px;height:14px;top:0;right:0}.chat-dock__resize--nw{cursor:nwse-resize;width:14px;height:14px;top:0;left:0}.chat-dock__resize--se{cursor:nwse-resize;width:14px;height:14px;bottom:0;right:0}.chat-dock__resize--sw{cursor:nesw-resize;width:14px;height:14px;bottom:0;left:0}@media (width<=767px){.chat-dock--drawer .chat-dock__resize{display:none}}@media (prefers-reduced-motion:reduce){.chat-dock--drawer .chat-dock__panel{transition:none;transform:none}.chat-dock--drawer:not(.is-open) .chat-dock__panel{visibility:hidden}}
