@twentyfourg/chat-kit 1.0.0-beta.2 → 1.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -120,7 +120,10 @@ declare var __VLS_10: {
120
120
  message: ChatEngineMessage;
121
121
  }, __VLS_16: {
122
122
  message: ChatEngineMessage;
123
- }, __VLS_19: {}, __VLS_21: {}, __VLS_33: {};
123
+ }, __VLS_19: {}, __VLS_21: {}, __VLS_33: {
124
+ send: () => void;
125
+ canSend: boolean;
126
+ }, __VLS_36: {};
124
127
  type __VLS_Slots = {} & {
125
128
  message?: (props: typeof __VLS_10) => any;
126
129
  } & {
@@ -132,7 +135,9 @@ type __VLS_Slots = {} & {
132
135
  } & {
133
136
  composer?: (props: typeof __VLS_21) => any;
134
137
  } & {
135
- 'composer-footer'?: (props: typeof __VLS_33) => any;
138
+ send?: (props: typeof __VLS_33) => any;
139
+ } & {
140
+ 'composer-footer'?: (props: typeof __VLS_36) => any;
136
141
  };
137
142
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
138
143
  rated: (message: ChatEngineMessage, value: MessageFeedback | null) => any;
@@ -5,9 +5,15 @@ type __VLS_Props = {
5
5
  /** Offers voice dictation, in browsers with speech recognition. */
6
6
  showMic?: boolean;
7
7
  };
8
- declare var __VLS_45: {};
8
+ declare function submit(): void;
9
+ declare var __VLS_32: {
10
+ send: typeof submit;
11
+ canSend: boolean;
12
+ }, __VLS_47: {};
9
13
  type __VLS_Slots = {} & {
10
- footer?: (props: typeof __VLS_45) => any;
14
+ send?: (props: typeof __VLS_32) => any;
15
+ } & {
16
+ footer?: (props: typeof __VLS_47) => any;
11
17
  };
12
18
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
13
19
  stop: () => any;
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- .icon-button[data-v-ce6d8ce0]{border-radius:var(--r-pill);background:var(--icon-button-state-bg,var(--icon-button-bg));width:40px;height:40px;color:var(--icon-button-state-fg,var(--text-primary));cursor:pointer;border:none;place-items:center;padding:0;display:grid;position:relative}.icon-button[data-v-ce6d8ce0]:disabled{color:var(--text-secondary);cursor:default}.icon-button[data-v-ce6d8ce0]:not(:disabled):hover{background:var(--icon-button-state-bg,var(--icon-button-bg-hover))}.icon-button__label[data-v-ce6d8ce0]{bottom:calc(100% + var(--spacing-1));border-radius:var(--card-radius);background:var(--surface-card);width:max-content;box-shadow:var(--card-shadow);color:var(--text-primary);font-family:var(--font-label);font-size:var(--t-xs);font-weight:var(--fw-bold);text-transform:uppercase;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;padding:15px;line-height:1;transition:opacity .15s;position:absolute;left:50%;transform:translate(-50%)}@media (hover:hover){.icon-button:not(:disabled):hover .icon-button__label[data-v-ce6d8ce0]{opacity:1;visibility:visible}}.input-bar[data-v-2a67b2cf]{gap:var(--spacing-3);padding:var(--spacing-6);flex-direction:column;padding-top:0;display:flex}.input-bar__field[data-v-2a67b2cf]{align-items:center;gap:var(--spacing-5);padding:var(--spacing-6);border:1px solid var(--card-stroke);border-radius:var(--card-radius);background:var(--composer-bg);display:flex}.input-bar__field[data-v-2a67b2cf]:focus-within{border-color:var(--accent)}.input-bar__send[data-v-2a67b2cf]:enabled{--icon-button-state-bg:var(--icon-button-bg-active);--icon-button-state-fg:var(--icon-button-fg-active)}.input-bar__send[data-v-2a67b2cf]:enabled:hover{--icon-button-state-bg:var(--icon-button-bg-active-hover)}.input-bar__textarea[data-v-2a67b2cf]{--composer-line:32px;min-width:0;max-height:100px;min-height:var(--composer-line);resize:none;color:var(--composer-fg);font-family:var(--font-body);font-size:var(--t-base);font-weight:var(--fw-regular);line-height:var(--composer-line);background:0 0;border:none;flex:1;padding:0}.input-bar__textarea[data-v-2a67b2cf]::placeholder{color:var(--composer-placeholder)}.input-bar__textarea[data-v-2a67b2cf]:focus{outline:none}.input-bar__buttons[data-v-2a67b2cf]{align-items:center;gap:var(--spacing-2);flex-shrink:0;display:flex}.input-bar__mic-unsupported[data-v-2a67b2cf]{width:40px;height:40px;color:var(--text-secondary);cursor:help;place-items:center;display:grid;position:relative}.input-bar__mic-unsupported[data-v-2a67b2cf]:after{content:attr(data-tooltip);bottom:calc(100% + var(--spacing-2));width:max-content;max-width:240px;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--card-stroke);border-radius:var(--r-md);background:var(--surface-card);box-shadow:var(--card-shadow);color:var(--text-primary);font-size:var(--t-sm);line-height:var(--lh-sm);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s;position:absolute;right:0}.input-bar__mic-unsupported[data-v-2a67b2cf]:hover:after{opacity:1;visibility:visible}.input-bar__button--listening[data-v-2a67b2cf]{--icon-button-state-bg:var(--icon-button-bg-active);--icon-button-state-fg:var(--icon-button-fg-active);animation:1.6s ease-in-out infinite mic-pulse-2a67b2cf}@keyframes mic-pulse-2a67b2cf{50%{opacity:.65}}.citation-popover[data-v-c713f6b3]{gap:var(--spacing-5);width:min(350px,100%);padding:var(--spacing-6);border:1px solid var(--card-stroke);border-radius:var(--card-radius);background:var(--surface-card);box-shadow:var(--card-shadow);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent;flex-direction:column;display:flex;overflow-y:auto}.citation-popover__source[data-v-c713f6b3]{align-items:flex-start;gap:var(--spacing-2);flex-shrink:0;display:flex}.citation-popover__thumb[data-v-c713f6b3]{width:64px;height:72px;margin-right:var(--spacing-2);border:1px solid var(--card-stroke);border-radius:var(--r-lg);object-fit:cover;object-position:top center;flex-shrink:0;display:block}.citation-popover__badge[data-v-c713f6b3]{border-radius:var(--r-md);background:var(--citation-bg);min-width:20px;height:20px;color:var(--accent-fg);font-family:var(--font-body);font-size:var(--t-xs);font-weight:var(--fw-bold);flex-shrink:0;place-items:center;padding:0 5px;display:grid}.citation-popover__source-text[data-v-c713f6b3]{gap:var(--spacing-1);flex-direction:column;min-width:0;display:flex}.citation-popover__title[data-v-c713f6b3]{color:var(--text-primary);font-family:var(--font-body);font-size:var(--t-sm);font-weight:var(--fw-bold);overflow-wrap:break-word}.citation-popover__page[data-v-c713f6b3]{color:var(--text-helper);font-family:var(--font-body);font-size:var(--t-sm)}.citation-popover__passage-block[data-v-c713f6b3]{gap:var(--spacing-2);flex-direction:column;flex:1;min-height:0;display:flex}.citation-popover__passage-label[data-v-c713f6b3]{color:var(--text-helper);font-family:var(--font-label);font-size:var(--t-xs);font-weight:var(--fw-bold);text-transform:uppercase}.citation-popover__passage[data-v-c713f6b3]{padding-left:var(--spacing-6);border-left:2px solid var(--accent);color:var(--text-primary);font-family:var(--font-body);font-size:var(--t-sm);line-height:var(--lh-body);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent;min-height:0;margin:0;overflow-y:auto}.citation-popover__notice[data-v-c713f6b3]{color:var(--text-helper);font-family:var(--font-body);font-size:var(--t-xs);line-height:var(--lh-body);white-space:pre-wrap}.citation-popover__footer[data-v-c713f6b3]{gap:var(--spacing-4);flex-shrink:0;display:flex}.citation-popover__copy[data-v-c713f6b3],.citation-popover__open[data-v-c713f6b3]{justify-content:center;align-items:center;gap:var(--spacing-2);height:35px;padding:0 var(--spacing-4);border-radius:var(--r-md);font-family:var(--font-ui);font-size:var(--t-sm);font-weight:var(--fw-bold);cursor:pointer;flex:1;display:flex}.citation-popover__copy[data-v-c713f6b3]{border:1px solid var(--card-stroke);color:var(--text-primary);background:0 0}.citation-popover__open[data-v-c713f6b3]{background:var(--accent);color:var(--accent-fg);border:none;text-decoration:none}.feedback[data-v-6aa14982]{justify-content:flex-end;align-items:center;gap:var(--spacing-4);width:100%;display:flex}.feedback__question[data-v-6aa14982]{color:var(--text-helper);font-family:var(--font-label);font-size:var(--t-xs);font-weight:var(--fw-bold);text-transform:uppercase}.feedback__thumbs[data-v-6aa14982]{gap:var(--spacing-4);display:flex}.feedback__thumb[data-v-6aa14982]{color:var(--text-helper);cursor:pointer;background:0 0;border:none;place-items:center;padding:2px;display:grid}.feedback__thumb[data-v-6aa14982]:hover{color:var(--text-primary)}.feedback__thumb.is-active[data-v-6aa14982]{color:var(--accent)}.page-image-modal[data-v-33820e23]{z-index:200;padding:var(--spacing-6);background:var(--overlay-scrim);place-items:center;display:grid;position:fixed;inset:0}.page-image-modal__card[data-v-33820e23]{gap:var(--spacing-4);max-width:min(720px,100%);max-height:100%;padding:var(--spacing-6);border:1px solid var(--card-stroke);border-radius:var(--card-radius);background:var(--surface-card);box-shadow:var(--card-shadow);flex-direction:column;display:flex}.page-image-modal__header[data-v-33820e23]{justify-content:space-between;align-items:flex-start;gap:var(--spacing-4);display:flex}.page-image-modal__title[data-v-33820e23]{color:var(--text-primary);font-family:var(--font-body);font-size:var(--t-sm);font-weight:var(--fw-bold);overflow-wrap:break-word}.page-image-modal__detail[data-v-33820e23]{color:var(--text-helper);font-family:var(--font-body);font-size:var(--t-sm)}.page-image-modal__close[data-v-33820e23]{padding:var(--spacing-1) var(--spacing-3);border:1px solid var(--card-stroke);border-radius:var(--r-md);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--t-sm);font-weight:var(--fw-bold);cursor:pointer;background:0 0}.page-image-modal__close[data-v-33820e23]:hover{background:var(--surface-hover)}.page-image-modal__image[data-v-33820e23]{border:1px solid var(--card-stroke);border-radius:var(--r-lg);object-fit:contain;min-height:0;overflow-y:auto}.source-card[data-v-49b414a6]{gap:var(--spacing-4);padding:var(--spacing-6);border:1px solid var(--card-stroke);border-radius:var(--r-md);background:var(--surface-raised);flex-direction:column;display:flex;position:relative;container:source-card/inline-size}.source-card__front[data-v-49b414a6]{gap:var(--spacing-4);flex-direction:column;width:100%;display:flex}.source-card__details[data-v-49b414a6]{gap:var(--spacing-5);flex-direction:column;display:flex}@container source-card (width>=420px){.source-card__details[data-v-49b414a6]{flex-direction:row;align-items:center}}.source-card__toggle[data-v-49b414a6]{top:var(--spacing-6);right:var(--spacing-6);border-radius:var(--r-sm);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;place-items:center;padding:0;transition:transform .3s;display:grid;position:absolute}.source-card__toggle[data-v-49b414a6]:hover{background:var(--surface-hover);color:var(--text-primary)}.source-card__toggle--open[data-v-49b414a6]{transform:rotate(180deg)}.source-card__cover[data-v-49b414a6]{object-fit:contain;flex-shrink:0;width:150px;height:150px}.source-card__naming[data-v-49b414a6]{align-items:flex-start;gap:var(--spacing-5);flex-direction:column;min-width:0;display:flex}.source-card__heading[data-v-49b414a6]{color:var(--text-helper);font-family:var(--font-label);font-size:var(--t-xs);font-weight:var(--fw-bold);text-transform:uppercase}.source-card__title[data-v-49b414a6]{color:var(--text-primary);font-family:var(--font-display);font-size:var(--t-2xl);font-weight:var(--fw-regular);text-align:start;overflow-wrap:break-word}.source-card__link[data-v-49b414a6]{align-items:center;gap:var(--spacing-1);color:var(--accent);font-family:var(--font-ui);font-size:var(--t-xs);font-weight:var(--fw-bold);align-self:flex-start;display:inline-flex}.source-card__body[data-v-49b414a6]{gap:var(--spacing-4);padding-top:var(--spacing-4);border-top:1px solid var(--card-stroke);flex-direction:column;display:flex}.source-card__reference-heading[data-v-49b414a6]{color:var(--text-helper);font-family:var(--font-label);font-size:var(--t-xs);font-weight:var(--fw-bold);text-transform:uppercase}.source-card__reference[data-v-49b414a6]{gap:var(--spacing-5);text-align:left;flex-direction:column;width:100%;display:flex}@container source-card (width>=420px){.source-card__reference[data-v-49b414a6]{flex-direction:row;align-items:flex-start}}.source-card__page-thumb[data-v-49b414a6]{object-fit:contain;cursor:pointer;flex-shrink:0;width:150px;height:150px}.source-card__reference-text[data-v-49b414a6]{gap:var(--spacing-4);flex-direction:column;width:100%;min-width:0;display:flex}.source-card__page-line[data-v-49b414a6]{color:var(--text-primary);font-family:var(--font-label);font-size:var(--t-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.12px}.source-card__passage[data-v-49b414a6]{color:var(--text-secondary);font-family:var(--font-body);font-size:var(--t-sm);line-height:var(--lh-body);overflow-wrap:break-word}.source-list[data-v-124ee2ae]{gap:var(--spacing-3);flex-direction:column;display:flex}.source-list__intro[data-v-124ee2ae]{color:var(--text-primary);font-family:var(--font-body);font-size:var(--t-sm);font-weight:var(--fw-bold)}.source-list__notice[data-v-124ee2ae]{color:var(--text-helper);font-family:var(--font-body);font-size:var(--t-xs);line-height:var(--lh-body);white-space:pre-wrap}@property --thinking-arc{syntax:"<angle>";inherits:false;initial-value:121deg}.thinking__spinner[data-v-a73d8186]{border-radius:var(--r-pill);background:var(--accent);width:26px;height:26px;-webkit-mask:conic-gradient(from 90deg, transparent 0deg, #000 var(--thinking-arc), transparent calc(var(--thinking-arc) + 1deg)), radial-gradient(farthest-side, transparent calc(100% - 6px), #000 calc(100% - 6px));mask:conic-gradient(from 90deg, transparent 0deg, #000 var(--thinking-arc), transparent calc(var(--thinking-arc) + 1deg)), radial-gradient(farthest-side, transparent calc(100% - 6px), #000 calc(100% - 6px));flex:none;animation:1s linear infinite thinking-spin-a73d8186,1.8s ease-in-out infinite thinking-chase-a73d8186;-webkit-mask-composite:source-in;mask-composite:intersect}@keyframes thinking-spin-a73d8186{to{transform:rotate(1turn)}}@keyframes thinking-chase-a73d8186{0%{--thinking-arc:40deg;animation-timing-function:ease-in-out}40%{--thinking-arc:247deg;animation-timing-function:linear}to{--thinking-arc:40deg}}.thinking__sparkles[data-v-a73d8186]{width:32px;height:32px;color:var(--accent);flex:none;position:relative}.thinking__dots[data-v-a73d8186]{align-items:center;gap:var(--spacing-1);flex:none;display:flex}.thinking__dot[data-v-a73d8186]{border-radius:var(--r-pill);background:var(--accent);width:6px;height:6px;animation:1.2s ease-in-out infinite both thinking-dot-a73d8186}.thinking__dot[data-v-a73d8186]:nth-child(2){animation-delay:.15s}.thinking__dot[data-v-a73d8186]:nth-child(3){animation-delay:.3s}@keyframes thinking-dot-a73d8186{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.thinking__sparkle[data-v-a73d8186]{animation:1.5s linear infinite both thinking-sparkle-a73d8186;position:absolute}.thinking__sparkle[data-v-a73d8186]:first-child{width:18px;height:18px;top:7px;left:6px}.thinking__sparkle[data-v-a73d8186]:nth-child(2){width:11px;height:11px;animation-delay:-.5s;top:1.7px;left:19.3px}.thinking__sparkle[data-v-a73d8186]:nth-child(3){width:8px;height:8px;animation-delay:-1s;top:20.3px;left:3.7px}@keyframes thinking-sparkle-a73d8186{0%{opacity:0;transform:translate(-9px,-9px)scale(0)}35%{opacity:1;transform:translate(-2.7px,-2.7px)scale(1)}65%{opacity:1;transform:translate(2.7px,2.7px)scale(1)}to{opacity:0;transform:translate(9px,9px)scale(0)}}.thinking-process[data-v-3dcefa4f]{gap:var(--spacing-2);flex-direction:column;width:100%;display:flex}.thinking-process__toggle[data-v-3dcefa4f]{color:var(--text-helper);font-family:var(--font-label);font-size:var(--t-xs);font-weight:var(--fw-bold);text-transform:uppercase;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0}.thinking-process__toggle[data-v-3dcefa4f]:hover{color:var(--text-primary)}.thinking-process__body[data-v-3dcefa4f]{max-height:220px;padding:var(--spacing-3) var(--spacing-4);border-radius:var(--r-lg);background:var(--surface-raised);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--t-sm);line-height:var(--lh-body);white-space:pre-wrap;overflow-wrap:break-word;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent;overflow-y:auto}.assistant-message[data-v-466b7413]{gap:var(--spacing-2);flex-direction:column;width:100%;display:flex}.assistant-message__footer[data-v-466b7413]{justify-content:space-between;align-items:center;gap:var(--spacing-4);display:flex}.assistant-message__actions[data-v-466b7413]{align-items:center;gap:var(--spacing-2);flex:none;display:flex}.assistant-message__header[data-v-466b7413]{align-items:center;gap:var(--spacing-4);display:flex}.assistant-message__avatar[data-v-466b7413]{border-radius:var(--r-pill);background:var(--accent);width:32px;height:32px;color:var(--accent-fg);flex-shrink:0;place-items:center;display:grid}.assistant-message__name[data-v-466b7413]{color:var(--text-primary);font-family:var(--font-body);font-size:var(--t-base);font-weight:var(--fw-bold)}.assistant-message__body-wrap[data-v-466b7413]{width:100%}.assistant-message__popover[data-v-466b7413]{z-index:100;position:fixed}.assistant-message__body[data-v-466b7413] .citation-chip{min-width:20px;height:20px;margin-left:var(--spacing-1);border-radius:var(--r-md);background:var(--citation-bg);color:var(--accent-fg);font-size:var(--t-xs);font-weight:var(--fw-bold);vertical-align:text-bottom;cursor:pointer;-webkit-user-select:none;user-select:none;place-items:center;padding:0 5px;display:inline-grid}.assistant-message__body[data-v-466b7413] .citation-chip:not(.citation-chip--pending):hover{opacity:.7}.assistant-message__body[data-v-466b7413] .citation-chip--pending{cursor:default;opacity:.55}.assistant-message__body[data-v-466b7413]{color:var(--text-primary);font-family:var(--font-body);font-size:var(--t-base);font-weight:var(--fw-regular);line-height:var(--lh-body);overflow-wrap:break-word}.assistant-message__body[data-v-466b7413] p,.assistant-message__body[data-v-466b7413] ul,.assistant-message__body[data-v-466b7413] ol,.assistant-message__body[data-v-466b7413] pre,.assistant-message__body[data-v-466b7413] table,.assistant-message__body[data-v-466b7413] blockquote{margin-block:0 var(--spacing-4)}.assistant-message__body[data-v-466b7413] ul,.assistant-message__body[data-v-466b7413] ol{padding-inline-start:var(--spacing-6)}.assistant-message__body[data-v-466b7413] a{color:var(--accent)}.assistant-message__body[data-v-466b7413] .chat-math{max-width:100%;overflow-x:auto}.assistant-message__body[data-v-466b7413] .chat-math--display{margin-block:var(--spacing-4);text-align:center;display:block}.assistant-message__body[data-v-466b7413] code{font-family:var(--font-mono);font-size:var(--t-sm);background:var(--surface-raised);border-radius:var(--r-sm);padding:1px 5px}.assistant-message__body[data-v-466b7413] pre{background:var(--surface-raised);padding:var(--spacing-4);border-radius:var(--r-lg);overflow-x:auto}.assistant-message__body[data-v-466b7413] blockquote{padding:var(--spacing-3) var(--spacing-4);border-left:3px solid var(--accent);border-radius:0 var(--r-md) var(--r-md) 0;background:var(--surface-raised)}.assistant-message__body[data-v-466b7413] blockquote>:last-child{margin-bottom:0}.assistant-message__body[data-v-466b7413] table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.assistant-message__body[data-v-466b7413] th,.assistant-message__body[data-v-466b7413] td{padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--card-stroke);text-align:left;vertical-align:top}.assistant-message__body[data-v-466b7413] th{background:var(--surface-raised);font-weight:var(--fw-bold)}.assistant-message__out-of-scope[data-v-466b7413]{align-self:flex-start;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3);border:1px solid var(--accent);border-radius:var(--r-sm);background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent);font-family:var(--font-body);font-size:var(--t-xs);font-weight:var(--fw-bold);letter-spacing:.6px;text-transform:uppercase;display:flex}.assistant-message__out-of-scope+.assistant-message__body[data-v-466b7413]{margin-top:var(--spacing-2)}.assistant-message__error[data-v-466b7413]{align-items:center;gap:var(--spacing-4);color:var(--warning);font-family:var(--font-body);font-size:var(--t-sm);display:flex}.assistant-message__retry[data-v-466b7413]{padding:var(--spacing-1) var(--spacing-3);border:1px solid var(--card-stroke);border-radius:var(--r-md);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--t-sm);font-weight:var(--fw-bold);cursor:pointer;background:0 0}.assistant-message__retry[data-v-466b7413]:hover{background:var(--surface-hover)}.thinking[data-v-c804834e]{align-items:center;gap:var(--spacing-4);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--t-base);display:flex}.user-message[data-v-2eb946f2]{justify-content:flex-end;width:100%;display:flex}.user-message__bubble[data-v-2eb946f2]{max-width:70%;padding:var(--spacing-4);border-radius:var(--card-radius);background:var(--user-bubble-bg);color:var(--user-bubble-fg);font-family:var(--font-body);font-size:var(--t-base);font-weight:var(--fw-regular);white-space:pre-wrap;overflow-wrap:break-word;line-height:normal}.message-list[data-v-2f494fbc]{gap:var(--spacing-5);min-height:0;padding:var(--spacing-6);scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent;flex-direction:column;flex:1;display:flex;overflow-y:auto}.message-list[data-v-2f494fbc]::-webkit-scrollbar{width:10px}.message-list[data-v-2f494fbc]::-webkit-scrollbar-track{background:0 0}.message-list[data-v-2f494fbc]::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--r-pill);background-clip:padding-box;border:3px solid #0000}.message-list[data-v-2f494fbc]::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:padding-box}.message-list__welcome-eyebrow[data-v-2f494fbc]{color:var(--accent);font-family:var(--font-label);font-size:var(--t-xs);font-weight:var(--fw-bold);text-transform:uppercase;margin-bottom:var(--spacing-3)}.message-list__welcome-heading[data-v-2f494fbc]{color:var(--text-primary);font-family:var(--font-display);font-size:var(--t-2xl);font-weight:var(--fw-bold);letter-spacing:var(--tr-tight);margin-bottom:var(--spacing-3)}.message-list__welcome-body[data-v-2f494fbc]{color:var(--text-primary);font-family:var(--font-body);font-size:var(--t-base);line-height:var(--lh-body)}.message-list__error[data-v-2f494fbc]{align-items:center;gap:var(--spacing-4);color:var(--warning);font-family:var(--font-body);font-size:var(--t-sm);display:flex}.message-list__retry[data-v-2f494fbc]{padding:var(--spacing-1) var(--spacing-3);border:1px solid var(--card-stroke);border-radius:var(--r-md);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--t-sm);font-weight:var(--fw-bold);cursor:pointer;background:0 0}.message-list__retry[data-v-2f494fbc]:hover{background:var(--surface-hover)}.chat[data-v-7ad4b6f4]{flex-direction:column;flex:1;min-height:0;display:flex}
1
+ .icon-button[data-v-ce6d8ce0]{border-radius:var(--r-pill);background:var(--icon-button-state-bg,var(--icon-button-bg));width:40px;height:40px;color:var(--icon-button-state-fg,var(--text-primary));cursor:pointer;border:none;place-items:center;padding:0;display:grid;position:relative}.icon-button[data-v-ce6d8ce0]:disabled{color:var(--text-secondary);cursor:default}.icon-button[data-v-ce6d8ce0]:not(:disabled):hover{background:var(--icon-button-state-bg,var(--icon-button-bg-hover))}.icon-button__label[data-v-ce6d8ce0]{bottom:calc(100% + var(--spacing-1));border-radius:var(--card-radius);background:var(--surface-card);width:max-content;box-shadow:var(--card-shadow);color:var(--text-primary);font-family:var(--font-label);font-size:var(--t-xs);font-weight:var(--fw-bold);text-transform:uppercase;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;padding:15px;line-height:1;transition:opacity .15s;position:absolute;left:50%;transform:translate(-50%)}@media (hover:hover){.icon-button:not(:disabled):hover .icon-button__label[data-v-ce6d8ce0]{opacity:1;visibility:visible}}.input-bar[data-v-4e9c096d]{gap:var(--spacing-3);padding:var(--chat-inset);flex-direction:column;padding-top:0;display:flex}.input-bar__field[data-v-4e9c096d]{align-items:center;gap:var(--spacing-5);padding:var(--composer-padding);border:1px solid var(--card-stroke);border-radius:var(--card-radius);background:var(--composer-bg);display:flex}.input-bar__field[data-v-4e9c096d]:focus-within{border-color:var(--accent)}.input-bar__send[data-v-4e9c096d]:enabled{--icon-button-state-bg:var(--icon-button-bg-active);--icon-button-state-fg:var(--icon-button-fg-active)}.input-bar__send[data-v-4e9c096d]:enabled:hover{--icon-button-state-bg:var(--icon-button-bg-active-hover)}.input-bar__textarea[data-v-4e9c096d]{--composer-line:32px;min-width:0;max-height:100px;min-height:var(--composer-line);resize:none;color:var(--composer-fg);font-family:var(--font-body);font-size:var(--t-base);font-weight:var(--fw-regular);line-height:var(--composer-line);background:0 0;border:none;flex:1;padding:0}.input-bar__textarea[data-v-4e9c096d]::placeholder{color:var(--composer-placeholder)}.input-bar__textarea[data-v-4e9c096d]:focus{outline:none}.input-bar__buttons[data-v-4e9c096d]{align-items:center;gap:var(--spacing-2);flex-shrink:0;display:flex}.input-bar__mic-unsupported[data-v-4e9c096d]{width:40px;height:40px;color:var(--text-secondary);cursor:help;place-items:center;display:grid;position:relative}.input-bar__mic-unsupported[data-v-4e9c096d]:after{content:attr(data-tooltip);bottom:calc(100% + var(--spacing-2));width:max-content;max-width:240px;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--card-stroke);border-radius:var(--r-md);background:var(--surface-card);box-shadow:var(--card-shadow);color:var(--text-primary);font-size:var(--t-sm);line-height:var(--lh-sm);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s;position:absolute;right:0}.input-bar__mic-unsupported[data-v-4e9c096d]:hover:after{opacity:1;visibility:visible}.input-bar__button--listening[data-v-4e9c096d]{--icon-button-state-bg:var(--icon-button-bg-active);--icon-button-state-fg:var(--icon-button-fg-active);animation:1.6s ease-in-out infinite mic-pulse-4e9c096d}@keyframes mic-pulse-4e9c096d{50%{opacity:.65}}.citation-popover[data-v-c713f6b3]{gap:var(--spacing-5);width:min(350px,100%);padding:var(--spacing-6);border:1px solid var(--card-stroke);border-radius:var(--card-radius);background:var(--surface-card);box-shadow:var(--card-shadow);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent;flex-direction:column;display:flex;overflow-y:auto}.citation-popover__source[data-v-c713f6b3]{align-items:flex-start;gap:var(--spacing-2);flex-shrink:0;display:flex}.citation-popover__thumb[data-v-c713f6b3]{width:64px;height:72px;margin-right:var(--spacing-2);border:1px solid var(--card-stroke);border-radius:var(--r-lg);object-fit:cover;object-position:top center;flex-shrink:0;display:block}.citation-popover__badge[data-v-c713f6b3]{border-radius:var(--r-md);background:var(--citation-bg);min-width:20px;height:20px;color:var(--accent-fg);font-family:var(--font-body);font-size:var(--t-xs);font-weight:var(--fw-bold);flex-shrink:0;place-items:center;padding:0 5px;display:grid}.citation-popover__source-text[data-v-c713f6b3]{gap:var(--spacing-1);flex-direction:column;min-width:0;display:flex}.citation-popover__title[data-v-c713f6b3]{color:var(--text-primary);font-family:var(--font-body);font-size:var(--t-sm);font-weight:var(--fw-bold);overflow-wrap:break-word}.citation-popover__page[data-v-c713f6b3]{color:var(--text-helper);font-family:var(--font-body);font-size:var(--t-sm)}.citation-popover__passage-block[data-v-c713f6b3]{gap:var(--spacing-2);flex-direction:column;flex:1;min-height:0;display:flex}.citation-popover__passage-label[data-v-c713f6b3]{color:var(--text-helper);font-family:var(--font-label);font-size:var(--t-xs);font-weight:var(--fw-bold);text-transform:uppercase}.citation-popover__passage[data-v-c713f6b3]{padding-left:var(--spacing-6);border-left:2px solid var(--accent);color:var(--text-primary);font-family:var(--font-body);font-size:var(--t-sm);line-height:var(--lh-body);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent;min-height:0;margin:0;overflow-y:auto}.citation-popover__notice[data-v-c713f6b3]{color:var(--text-helper);font-family:var(--font-body);font-size:var(--t-xs);line-height:var(--lh-body);white-space:pre-wrap}.citation-popover__footer[data-v-c713f6b3]{gap:var(--spacing-4);flex-shrink:0;display:flex}.citation-popover__copy[data-v-c713f6b3],.citation-popover__open[data-v-c713f6b3]{justify-content:center;align-items:center;gap:var(--spacing-2);height:35px;padding:0 var(--spacing-4);border-radius:var(--r-md);font-family:var(--font-ui);font-size:var(--t-sm);font-weight:var(--fw-bold);cursor:pointer;flex:1;display:flex}.citation-popover__copy[data-v-c713f6b3]{border:1px solid var(--card-stroke);color:var(--text-primary);background:0 0}.citation-popover__open[data-v-c713f6b3]{background:var(--accent);color:var(--accent-fg);border:none;text-decoration:none}.feedback[data-v-6aa14982]{justify-content:flex-end;align-items:center;gap:var(--spacing-4);width:100%;display:flex}.feedback__question[data-v-6aa14982]{color:var(--text-helper);font-family:var(--font-label);font-size:var(--t-xs);font-weight:var(--fw-bold);text-transform:uppercase}.feedback__thumbs[data-v-6aa14982]{gap:var(--spacing-4);display:flex}.feedback__thumb[data-v-6aa14982]{color:var(--text-helper);cursor:pointer;background:0 0;border:none;place-items:center;padding:2px;display:grid}.feedback__thumb[data-v-6aa14982]:hover{color:var(--text-primary)}.feedback__thumb.is-active[data-v-6aa14982]{color:var(--accent)}.page-image-modal[data-v-33820e23]{z-index:200;padding:var(--spacing-6);background:var(--overlay-scrim);place-items:center;display:grid;position:fixed;inset:0}.page-image-modal__card[data-v-33820e23]{gap:var(--spacing-4);max-width:min(720px,100%);max-height:100%;padding:var(--spacing-6);border:1px solid var(--card-stroke);border-radius:var(--card-radius);background:var(--surface-card);box-shadow:var(--card-shadow);flex-direction:column;display:flex}.page-image-modal__header[data-v-33820e23]{justify-content:space-between;align-items:flex-start;gap:var(--spacing-4);display:flex}.page-image-modal__title[data-v-33820e23]{color:var(--text-primary);font-family:var(--font-body);font-size:var(--t-sm);font-weight:var(--fw-bold);overflow-wrap:break-word}.page-image-modal__detail[data-v-33820e23]{color:var(--text-helper);font-family:var(--font-body);font-size:var(--t-sm)}.page-image-modal__close[data-v-33820e23]{padding:var(--spacing-1) var(--spacing-3);border:1px solid var(--card-stroke);border-radius:var(--r-md);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--t-sm);font-weight:var(--fw-bold);cursor:pointer;background:0 0}.page-image-modal__close[data-v-33820e23]:hover{background:var(--surface-hover)}.page-image-modal__image[data-v-33820e23]{border:1px solid var(--card-stroke);border-radius:var(--r-lg);object-fit:contain;min-height:0;overflow-y:auto}.source-card[data-v-49b414a6]{gap:var(--spacing-4);padding:var(--spacing-6);border:1px solid var(--card-stroke);border-radius:var(--r-md);background:var(--surface-raised);flex-direction:column;display:flex;position:relative;container:source-card/inline-size}.source-card__front[data-v-49b414a6]{gap:var(--spacing-4);flex-direction:column;width:100%;display:flex}.source-card__details[data-v-49b414a6]{gap:var(--spacing-5);flex-direction:column;display:flex}@container source-card (width>=420px){.source-card__details[data-v-49b414a6]{flex-direction:row;align-items:center}}.source-card__toggle[data-v-49b414a6]{top:var(--spacing-6);right:var(--spacing-6);border-radius:var(--r-sm);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;place-items:center;padding:0;transition:transform .3s;display:grid;position:absolute}.source-card__toggle[data-v-49b414a6]:hover{background:var(--surface-hover);color:var(--text-primary)}.source-card__toggle--open[data-v-49b414a6]{transform:rotate(180deg)}.source-card__cover[data-v-49b414a6]{object-fit:contain;flex-shrink:0;width:150px;height:150px}.source-card__naming[data-v-49b414a6]{align-items:flex-start;gap:var(--spacing-5);flex-direction:column;min-width:0;display:flex}.source-card__heading[data-v-49b414a6]{color:var(--text-helper);font-family:var(--font-label);font-size:var(--t-xs);font-weight:var(--fw-bold);text-transform:uppercase}.source-card__title[data-v-49b414a6]{color:var(--text-primary);font-family:var(--font-display);font-size:var(--t-2xl);font-weight:var(--fw-regular);text-align:start;overflow-wrap:break-word}.source-card__link[data-v-49b414a6]{align-items:center;gap:var(--spacing-1);color:var(--accent);font-family:var(--font-ui);font-size:var(--t-xs);font-weight:var(--fw-bold);align-self:flex-start;display:inline-flex}.source-card__body[data-v-49b414a6]{gap:var(--spacing-4);padding-top:var(--spacing-4);border-top:1px solid var(--card-stroke);flex-direction:column;display:flex}.source-card__reference-heading[data-v-49b414a6]{color:var(--text-helper);font-family:var(--font-label);font-size:var(--t-xs);font-weight:var(--fw-bold);text-transform:uppercase}.source-card__reference[data-v-49b414a6]{gap:var(--spacing-5);text-align:left;flex-direction:column;width:100%;display:flex}@container source-card (width>=420px){.source-card__reference[data-v-49b414a6]{flex-direction:row;align-items:flex-start}}.source-card__page-thumb[data-v-49b414a6]{object-fit:contain;cursor:pointer;flex-shrink:0;width:150px;height:150px}.source-card__reference-text[data-v-49b414a6]{gap:var(--spacing-4);flex-direction:column;width:100%;min-width:0;display:flex}.source-card__page-line[data-v-49b414a6]{color:var(--text-primary);font-family:var(--font-label);font-size:var(--t-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.12px}.source-card__passage[data-v-49b414a6]{color:var(--text-secondary);font-family:var(--font-body);font-size:var(--t-sm);line-height:var(--lh-body);overflow-wrap:break-word}.source-list[data-v-124ee2ae]{gap:var(--spacing-3);flex-direction:column;display:flex}.source-list__intro[data-v-124ee2ae]{color:var(--text-primary);font-family:var(--font-body);font-size:var(--t-sm);font-weight:var(--fw-bold)}.source-list__notice[data-v-124ee2ae]{color:var(--text-helper);font-family:var(--font-body);font-size:var(--t-xs);line-height:var(--lh-body);white-space:pre-wrap}@property --thinking-arc{syntax:"<angle>";inherits:false;initial-value:121deg}.thinking__spinner[data-v-a73d8186]{border-radius:var(--r-pill);background:var(--accent);width:26px;height:26px;-webkit-mask:conic-gradient(from 90deg, transparent 0deg, #000 var(--thinking-arc), transparent calc(var(--thinking-arc) + 1deg)), radial-gradient(farthest-side, transparent calc(100% - 6px), #000 calc(100% - 6px));mask:conic-gradient(from 90deg, transparent 0deg, #000 var(--thinking-arc), transparent calc(var(--thinking-arc) + 1deg)), radial-gradient(farthest-side, transparent calc(100% - 6px), #000 calc(100% - 6px));flex:none;animation:1s linear infinite thinking-spin-a73d8186,1.8s ease-in-out infinite thinking-chase-a73d8186;-webkit-mask-composite:source-in;mask-composite:intersect}@keyframes thinking-spin-a73d8186{to{transform:rotate(1turn)}}@keyframes thinking-chase-a73d8186{0%{--thinking-arc:40deg;animation-timing-function:ease-in-out}40%{--thinking-arc:247deg;animation-timing-function:linear}to{--thinking-arc:40deg}}.thinking__sparkles[data-v-a73d8186]{width:32px;height:32px;color:var(--accent);flex:none;position:relative}.thinking__dots[data-v-a73d8186]{align-items:center;gap:var(--spacing-1);flex:none;display:flex}.thinking__dot[data-v-a73d8186]{border-radius:var(--r-pill);background:var(--accent);width:6px;height:6px;animation:1.2s ease-in-out infinite both thinking-dot-a73d8186}.thinking__dot[data-v-a73d8186]:nth-child(2){animation-delay:.15s}.thinking__dot[data-v-a73d8186]:nth-child(3){animation-delay:.3s}@keyframes thinking-dot-a73d8186{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.thinking__sparkle[data-v-a73d8186]{animation:1.5s linear infinite both thinking-sparkle-a73d8186;position:absolute}.thinking__sparkle[data-v-a73d8186]:first-child{width:18px;height:18px;top:7px;left:6px}.thinking__sparkle[data-v-a73d8186]:nth-child(2){width:11px;height:11px;animation-delay:-.5s;top:1.7px;left:19.3px}.thinking__sparkle[data-v-a73d8186]:nth-child(3){width:8px;height:8px;animation-delay:-1s;top:20.3px;left:3.7px}@keyframes thinking-sparkle-a73d8186{0%{opacity:0;transform:translate(-9px,-9px)scale(0)}35%{opacity:1;transform:translate(-2.7px,-2.7px)scale(1)}65%{opacity:1;transform:translate(2.7px,2.7px)scale(1)}to{opacity:0;transform:translate(9px,9px)scale(0)}}.thinking-process[data-v-3dcefa4f]{gap:var(--spacing-2);flex-direction:column;width:100%;display:flex}.thinking-process__toggle[data-v-3dcefa4f]{color:var(--text-helper);font-family:var(--font-label);font-size:var(--t-xs);font-weight:var(--fw-bold);text-transform:uppercase;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0}.thinking-process__toggle[data-v-3dcefa4f]:hover{color:var(--text-primary)}.thinking-process__body[data-v-3dcefa4f]{max-height:220px;padding:var(--spacing-3) var(--spacing-4);border-radius:var(--r-lg);background:var(--surface-raised);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--t-sm);line-height:var(--lh-body);white-space:pre-wrap;overflow-wrap:break-word;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent;overflow-y:auto}.assistant-message[data-v-466b7413]{gap:var(--spacing-2);flex-direction:column;width:100%;display:flex}.assistant-message__footer[data-v-466b7413]{justify-content:space-between;align-items:center;gap:var(--spacing-4);display:flex}.assistant-message__actions[data-v-466b7413]{align-items:center;gap:var(--spacing-2);flex:none;display:flex}.assistant-message__header[data-v-466b7413]{align-items:center;gap:var(--spacing-4);display:flex}.assistant-message__avatar[data-v-466b7413]{border-radius:var(--r-pill);background:var(--accent);width:32px;height:32px;color:var(--accent-fg);flex-shrink:0;place-items:center;display:grid}.assistant-message__name[data-v-466b7413]{color:var(--text-primary);font-family:var(--font-body);font-size:var(--t-base);font-weight:var(--fw-bold)}.assistant-message__body-wrap[data-v-466b7413]{width:100%}.assistant-message__popover[data-v-466b7413]{z-index:100;position:fixed}.assistant-message__body[data-v-466b7413] .citation-chip{min-width:20px;height:20px;margin-left:var(--spacing-1);border-radius:var(--r-md);background:var(--citation-bg);color:var(--accent-fg);font-size:var(--t-xs);font-weight:var(--fw-bold);vertical-align:text-bottom;cursor:pointer;-webkit-user-select:none;user-select:none;place-items:center;padding:0 5px;display:inline-grid}.assistant-message__body[data-v-466b7413] .citation-chip:not(.citation-chip--pending):hover{opacity:.7}.assistant-message__body[data-v-466b7413] .citation-chip--pending{cursor:default;opacity:.55}.assistant-message__body[data-v-466b7413]{color:var(--text-primary);font-family:var(--font-body);font-size:var(--t-base);font-weight:var(--fw-regular);line-height:var(--lh-body);overflow-wrap:break-word}.assistant-message__body[data-v-466b7413] p,.assistant-message__body[data-v-466b7413] ul,.assistant-message__body[data-v-466b7413] ol,.assistant-message__body[data-v-466b7413] pre,.assistant-message__body[data-v-466b7413] table,.assistant-message__body[data-v-466b7413] blockquote{margin-block:0 var(--spacing-4)}.assistant-message__body[data-v-466b7413] ul,.assistant-message__body[data-v-466b7413] ol{padding-inline-start:var(--spacing-6)}.assistant-message__body[data-v-466b7413] a{color:var(--accent)}.assistant-message__body[data-v-466b7413] .chat-math{max-width:100%;overflow-x:auto}.assistant-message__body[data-v-466b7413] .chat-math--display{margin-block:var(--spacing-4);text-align:center;display:block}.assistant-message__body[data-v-466b7413] code{font-family:var(--font-mono);font-size:var(--t-sm);background:var(--surface-raised);border-radius:var(--r-sm);padding:1px 5px}.assistant-message__body[data-v-466b7413] pre{background:var(--surface-raised);padding:var(--spacing-4);border-radius:var(--r-lg);overflow-x:auto}.assistant-message__body[data-v-466b7413] blockquote{padding:var(--spacing-3) var(--spacing-4);border-left:3px solid var(--accent);border-radius:0 var(--r-md) var(--r-md) 0;background:var(--surface-raised)}.assistant-message__body[data-v-466b7413] blockquote>:last-child{margin-bottom:0}.assistant-message__body[data-v-466b7413] table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.assistant-message__body[data-v-466b7413] th,.assistant-message__body[data-v-466b7413] td{padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--card-stroke);text-align:left;vertical-align:top}.assistant-message__body[data-v-466b7413] th{background:var(--surface-raised);font-weight:var(--fw-bold)}.assistant-message__out-of-scope[data-v-466b7413]{align-self:flex-start;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3);border:1px solid var(--accent);border-radius:var(--r-sm);background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent);font-family:var(--font-body);font-size:var(--t-xs);font-weight:var(--fw-bold);letter-spacing:.6px;text-transform:uppercase;display:flex}.assistant-message__out-of-scope+.assistant-message__body[data-v-466b7413]{margin-top:var(--spacing-2)}.assistant-message__error[data-v-466b7413]{align-items:center;gap:var(--spacing-4);color:var(--warning);font-family:var(--font-body);font-size:var(--t-sm);display:flex}.assistant-message__retry[data-v-466b7413]{padding:var(--spacing-1) var(--spacing-3);border:1px solid var(--card-stroke);border-radius:var(--r-md);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--t-sm);font-weight:var(--fw-bold);cursor:pointer;background:0 0}.assistant-message__retry[data-v-466b7413]:hover{background:var(--surface-hover)}.thinking[data-v-c804834e]{align-items:center;gap:var(--spacing-4);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--t-base);display:flex}.user-message[data-v-2eb946f2]{justify-content:flex-end;width:100%;display:flex}.user-message__bubble[data-v-2eb946f2]{max-width:70%;padding:var(--spacing-4);border-radius:var(--card-radius);background:var(--user-bubble-bg);color:var(--user-bubble-fg);font-family:var(--font-body);font-size:var(--t-base);font-weight:var(--fw-regular);white-space:pre-wrap;overflow-wrap:break-word;line-height:normal}.message-list[data-v-7817c1d9]{gap:var(--spacing-5);min-height:0;padding:var(--chat-inset);scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent;flex-direction:column;flex:1;display:flex;overflow-y:auto}.message-list[data-v-7817c1d9]::-webkit-scrollbar{width:10px}.message-list[data-v-7817c1d9]::-webkit-scrollbar-track{background:0 0}.message-list[data-v-7817c1d9]::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--r-pill);background-clip:padding-box;border:3px solid #0000}.message-list[data-v-7817c1d9]::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:padding-box}.message-list__welcome-eyebrow[data-v-7817c1d9]{color:var(--accent);font-family:var(--font-label);font-size:var(--t-xs);font-weight:var(--fw-bold);text-transform:uppercase;margin-bottom:var(--spacing-3)}.message-list__welcome-heading[data-v-7817c1d9]{color:var(--text-primary);font-family:var(--font-display);font-size:var(--t-2xl);font-weight:var(--fw-bold);letter-spacing:var(--tr-tight);margin-bottom:var(--spacing-3)}.message-list__welcome-body[data-v-7817c1d9]{color:var(--text-primary);font-family:var(--font-body);font-size:var(--t-base);line-height:var(--lh-body)}.message-list__error[data-v-7817c1d9]{align-items:center;gap:var(--spacing-4);color:var(--warning);font-family:var(--font-body);font-size:var(--t-sm);display:flex}.message-list__retry[data-v-7817c1d9]{padding:var(--spacing-1) var(--spacing-3);border:1px solid var(--card-stroke);border-radius:var(--r-md);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--t-sm);font-weight:var(--fw-bold);cursor:pointer;background:0 0}.message-list__retry[data-v-7817c1d9]:hover{background:var(--surface-hover)}.chat[data-v-7ae994a7]{flex-direction:column;flex:1;min-height:0;display:flex}
package/dist/theme.css CHANGED
@@ -95,12 +95,20 @@
95
95
 
96
96
  /* --- The chat's own parts ------------------------------------------- */
97
97
 
98
+ /* The gutter between the chat's edge and its contents. Read by both the
99
+ conversation and the composer, so they stay in line with each other. */
100
+ --chat-inset: var(--spacing-6);
101
+
98
102
  --user-bubble-bg: #eef1f6;
99
103
  --user-bubble-fg: var(--text-primary);
100
104
 
101
105
  --composer-bg: #f4f5f7;
102
106
  --composer-fg: var(--text-primary);
103
107
  --composer-placeholder: rgb(20 22 26 / 60%);
108
+ /* Space between the composer's border and the field inside it. The 40px
109
+ buttons set the height, not the text, so this is added to those: 8px
110
+ here makes a 56px composer plus its border. Raise it for a roomier one. */
111
+ --composer-padding: var(--spacing-2);
104
112
 
105
113
  /* Split from --accent so a chip can be toned down without moving the
106
114
  accent itself. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twentyfourg/chat-kit",
3
- "version": "1.0.0-beta.2",
3
+ "version": "1.0.0-beta.3",
4
4
  "description": "Base Camp chat frontend for Vue 3: the conversation and composer components, a typed client, SSE streaming, sanitized markdown, and a copy and theme contract.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -56,6 +56,7 @@
56
56
  },
57
57
  "devDependencies": {
58
58
  "@semantic-release/changelog": "^6.0.3",
59
+ "@semantic-release/exec": "^7.1.0",
59
60
  "@semantic-release/git": "^10.0.1",
60
61
  "@types/node": "^24.13.3",
61
62
  "@vitejs/plugin-vue": "^6.0.8",