Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
11945 lines
295 KiB
CSS
11945 lines
295 KiB
CSS
@source "../..";
|
||
|
||
/* Restored agent activity renderer styles from the TSH desktop source during the GUI migration. */
|
||
|
||
.workspace-agents-status-panel__detail-tool-code,
|
||
.workspace-agents-status-panel__detail-tool-terminal,
|
||
.workspace-agents-status-panel__detail-tool-diff,
|
||
.workspace-agents-status-panel__detail-tool-result-list {
|
||
box-shadow: none;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-terminal code,
|
||
.workspace-agents-status-panel__detail-tool-code code,
|
||
.workspace-agents-status-panel__detail-tool-diff pre {
|
||
font-variant-ligatures: none;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-code,
|
||
.workspace-agents-status-panel__detail-tool-code pre,
|
||
.workspace-agents-status-panel__detail-tool-code code {
|
||
font-family: "Droid Sans Mono", var(--tsh-font-mono);
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-terminal
|
||
[data-agent-terminal-command="true"],
|
||
.workspace-agents-status-panel__detail-tool-terminal pre,
|
||
.workspace-agents-status-panel__detail-tool-terminal code {
|
||
font-family: "Droid Sans Mono", var(--tsh-font-mono);
|
||
}
|
||
|
||
.workspace-agents-status-panel
|
||
.workspace-agents-status-panel__detail-tool-terminal {
|
||
box-shadow: none;
|
||
border-color: var(--line-2, var(--tutti-line-2));
|
||
background: var(--background-panel);
|
||
}
|
||
|
||
.workspace-agents-status-panel
|
||
.workspace-agents-status-panel__detail-tool-terminal
|
||
[data-agent-terminal-command-row="true"] {
|
||
border-color: var(--line-2, var(--tutti-line-2));
|
||
background: var(--transparency-block);
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-result-list a {
|
||
text-decoration: none;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-result-list a:hover {
|
||
background: color-mix(
|
||
in srgb,
|
||
var(--background-panel) 70%,
|
||
var(--accent) 30%
|
||
);
|
||
}
|
||
|
||
.tsh-zoomable-image {
|
||
position: relative;
|
||
display: inline-block;
|
||
max-width: 100%;
|
||
vertical-align: top;
|
||
}
|
||
|
||
.tsh-zoomable-image--block {
|
||
display: block;
|
||
}
|
||
|
||
.tsh-zoomable-image__trigger {
|
||
position: absolute;
|
||
inset: 0;
|
||
z-index: 1;
|
||
border: 0;
|
||
background: transparent;
|
||
color: transparent;
|
||
cursor: zoom-in;
|
||
-webkit-app-region: no-drag;
|
||
}
|
||
|
||
.tsh-zoom-dialog[data-rmiz-modal] {
|
||
position: fixed;
|
||
inset: 0;
|
||
z-index: var(--z-dialog);
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
padding: 24px;
|
||
-webkit-app-region: no-drag;
|
||
}
|
||
|
||
.tsh-zoom-dialog [data-rmiz-modal-overlay] {
|
||
position: absolute;
|
||
inset: 0;
|
||
}
|
||
|
||
.tsh-zoom-dialog [data-rmiz-modal-content] {
|
||
position: relative;
|
||
z-index: 100300;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
max-width: calc(100vw - 48px);
|
||
max-height: calc(100vh - 48px);
|
||
-webkit-app-region: no-drag;
|
||
}
|
||
|
||
.tsh-zoom-dialog [data-rmiz-modal-overlay="visible"] {
|
||
background: rgb(0 0 0 / 60%);
|
||
backdrop-filter: blur(18px) saturate(1.02);
|
||
}
|
||
|
||
.tsh-zoom-dialog [data-rmiz-modal-overlay="hidden"] {
|
||
background: rgb(0 0 0 / 0%);
|
||
}
|
||
|
||
.tsh-zoom-dialog[data-closing="true"] {
|
||
animation: tsh-zoom-dialog-close 180ms ease-out forwards;
|
||
}
|
||
|
||
@keyframes tsh-zoom-dialog-close {
|
||
to {
|
||
opacity: 0;
|
||
}
|
||
}
|
||
|
||
@media (prefers-reduced-motion: reduce) {
|
||
.tsh-zoom-dialog[data-closing="true"] {
|
||
animation-duration: 1ms;
|
||
}
|
||
}
|
||
|
||
.tsh-zoom-dialog__toolbar-actions {
|
||
position: fixed;
|
||
top: max(20px, calc(var(--cove-titlebar-reserve, 0px) + 10px));
|
||
right: 20px;
|
||
inset-inline-end: 20px;
|
||
z-index: 100301;
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 6px;
|
||
-webkit-app-region: no-drag;
|
||
}
|
||
|
||
/*
|
||
* The image preview is portaled to document.body, so it cannot inherit the
|
||
* workbench header's scoped Windows titlebar inset. Reuse the same native
|
||
* caption-button geometry for the portal controls; otherwise the close and
|
||
* zoom buttons sit underneath the minimize/maximize/close buttons.
|
||
*/
|
||
body[data-tutti-titlebar-overlay="true"] {
|
||
--tutti-titlebar-controls-inset: calc(
|
||
100vw - env(titlebar-area-width, calc(100vw - 138px)) + 10px
|
||
);
|
||
}
|
||
|
||
body[data-tutti-titlebar-overlay="true"] .tsh-zoom-dialog__toolbar-actions {
|
||
right: calc(20px + var(--tutti-titlebar-controls-inset));
|
||
inset-inline-end: calc(20px + var(--tutti-titlebar-controls-inset));
|
||
}
|
||
|
||
.tsh-zoom-dialog__image {
|
||
display: block;
|
||
max-width: calc(100vw - 48px);
|
||
max-height: calc(100vh - 48px);
|
||
object-fit: contain;
|
||
transform-origin: center center;
|
||
cursor: zoom-out;
|
||
}
|
||
|
||
.tsh-zoom-dialog__zoom-controls {
|
||
position: fixed;
|
||
top: max(20px, calc(var(--cove-titlebar-reserve, 0px) + 10px));
|
||
right: 168px;
|
||
z-index: 100301;
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 2px;
|
||
height: 32px;
|
||
padding: 0 2px;
|
||
border-radius: 999px;
|
||
background: var(--background-fronted);
|
||
box-shadow:
|
||
0 18px 40px color-mix(in srgb, black 26%, transparent),
|
||
0 0 0 1px color-mix(in srgb, white 12%, transparent);
|
||
color: var(--text-primary);
|
||
-webkit-app-region: no-drag;
|
||
}
|
||
|
||
body[data-tutti-titlebar-overlay="true"] .tsh-zoom-dialog__zoom-controls {
|
||
right: calc(168px + var(--tutti-titlebar-controls-inset));
|
||
}
|
||
|
||
.tsh-zoom-dialog:not([data-tsh-image-actions="true"])
|
||
.tsh-zoom-dialog__zoom-controls {
|
||
right: 72px;
|
||
}
|
||
|
||
body[data-tutti-titlebar-overlay="true"]
|
||
.tsh-zoom-dialog:not([data-tsh-image-actions="true"])
|
||
.tsh-zoom-dialog__zoom-controls {
|
||
right: calc(72px + var(--tutti-titlebar-controls-inset));
|
||
}
|
||
|
||
.tsh-image-context-menu {
|
||
position: fixed;
|
||
z-index: 100302;
|
||
min-width: 148px;
|
||
overflow: hidden;
|
||
border: 1px solid var(--line-2);
|
||
border-radius: 8px;
|
||
background: var(--background-fronted);
|
||
box-shadow: 0 18px 40px color-mix(in srgb, black 26%, transparent);
|
||
color: var(--text-primary);
|
||
padding: 4px;
|
||
-webkit-app-region: no-drag;
|
||
}
|
||
|
||
.tsh-zoom-dialog__zoom-controls button,
|
||
.tsh-image-context-menu button {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 8px;
|
||
border: 0;
|
||
border-radius: 6px;
|
||
background: transparent;
|
||
color: inherit;
|
||
cursor: pointer;
|
||
font: inherit;
|
||
font-size: 13px;
|
||
line-height: 20px;
|
||
}
|
||
|
||
.tsh-zoom-dialog__zoom-controls button {
|
||
justify-content: center;
|
||
width: 28px;
|
||
height: 28px;
|
||
padding: 0;
|
||
border-radius: 999px;
|
||
}
|
||
|
||
.tsh-zoom-dialog__zoom-controls button:disabled {
|
||
cursor: default;
|
||
opacity: 0.45;
|
||
}
|
||
|
||
.tsh-zoom-dialog__zoom-controls span {
|
||
min-width: 44px;
|
||
padding: 0 4px;
|
||
text-align: center;
|
||
font-size: 12px;
|
||
line-height: 28px;
|
||
color: var(--text-primary);
|
||
font-variant-numeric: tabular-nums;
|
||
}
|
||
|
||
.tsh-zoom-dialog__icon-button {
|
||
justify-content: center;
|
||
width: 32px;
|
||
height: 32px;
|
||
border-radius: 999px;
|
||
background: var(--background-fronted);
|
||
box-shadow:
|
||
0 18px 40px color-mix(in srgb, black 26%, transparent),
|
||
0 0 0 1px color-mix(in srgb, white 12%, transparent);
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
.tsh-image-context-menu button {
|
||
width: 100%;
|
||
padding: 7px 10px;
|
||
}
|
||
|
||
.tsh-zoom-dialog__icon-button:hover {
|
||
background: color-mix(in srgb, var(--background-panel) 82%, white 12%);
|
||
}
|
||
|
||
.tsh-image-context-menu button:hover {
|
||
background: var(--transparency-hover);
|
||
}
|
||
|
||
.tsh-zoom-dialog__zoom-controls button:not(:disabled):hover {
|
||
background: color-mix(in srgb, var(--background-panel) 86%, black 8%);
|
||
}
|
||
|
||
.agent-markdown-mermaid {
|
||
position: relative;
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
min-width: 0;
|
||
margin: 8px 0;
|
||
overflow: hidden;
|
||
border: 1px solid var(--line-2);
|
||
border-radius: 8px;
|
||
background: var(--background-panel);
|
||
}
|
||
|
||
.agent-markdown-mermaid__preview {
|
||
width: 100%;
|
||
min-width: 0;
|
||
overflow-x: auto;
|
||
padding: 16px;
|
||
outline: none;
|
||
cursor: zoom-in;
|
||
}
|
||
|
||
.agent-markdown-mermaid__preview:focus-visible {
|
||
box-shadow: inset 0 0 0 2px
|
||
color-mix(in srgb, var(--tutti-purple) 72%, transparent);
|
||
}
|
||
|
||
.agent-markdown-mermaid__preview-spacer {
|
||
min-height: 180px;
|
||
}
|
||
|
||
.agent-markdown-mermaid__svg {
|
||
display: flex;
|
||
min-width: min-content;
|
||
align-items: center;
|
||
justify-content: center;
|
||
}
|
||
|
||
.agent-markdown-mermaid__svg > svg {
|
||
display: block;
|
||
max-width: none;
|
||
height: auto;
|
||
}
|
||
|
||
.agent-markdown-mermaid__copy {
|
||
position: absolute;
|
||
top: 8px;
|
||
right: 8px;
|
||
z-index: 2;
|
||
display: inline-flex;
|
||
width: 24px;
|
||
height: 24px;
|
||
align-items: center;
|
||
justify-content: center;
|
||
border: 0;
|
||
border-radius: 5px;
|
||
background: color-mix(
|
||
in srgb,
|
||
var(--background-fronted, var(--background-panel)) 88%,
|
||
transparent
|
||
);
|
||
color: var(--text-tertiary);
|
||
cursor: pointer;
|
||
opacity: 0;
|
||
transition:
|
||
opacity 120ms ease-out,
|
||
color 120ms ease-out,
|
||
background 120ms ease-out;
|
||
}
|
||
|
||
.agent-markdown-mermaid:hover .agent-markdown-mermaid__copy,
|
||
.agent-markdown-mermaid__copy:focus-visible {
|
||
opacity: 1;
|
||
}
|
||
|
||
.agent-markdown-mermaid__copy:hover {
|
||
background: var(--transparency-hover);
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
.agent-markdown-mermaid--loading {
|
||
min-height: 180px;
|
||
padding: 18px;
|
||
}
|
||
|
||
.agent-markdown-mermaid__placeholder {
|
||
position: relative;
|
||
min-height: 142px;
|
||
overflow: hidden;
|
||
border-radius: 6px;
|
||
background: var(--transparency-block);
|
||
}
|
||
|
||
.agent-markdown-mermaid__placeholder::after {
|
||
position: absolute;
|
||
inset: 0;
|
||
background: linear-gradient(
|
||
105deg,
|
||
transparent 24%,
|
||
color-mix(in srgb, var(--text-primary) 7%, transparent) 42%,
|
||
transparent 60%
|
||
);
|
||
content: "";
|
||
animation: agent-markdown-mermaid-shimmer 1.25s ease-in-out infinite;
|
||
transform: translateX(-100%);
|
||
}
|
||
|
||
.agent-markdown-mermaid__placeholder-node,
|
||
.agent-markdown-mermaid__placeholder-edge {
|
||
position: absolute;
|
||
display: block;
|
||
background: color-mix(in srgb, var(--text-primary) 12%, transparent);
|
||
}
|
||
|
||
.agent-markdown-mermaid__placeholder-node {
|
||
width: 92px;
|
||
height: 34px;
|
||
border-radius: 6px;
|
||
}
|
||
|
||
.agent-markdown-mermaid__placeholder-node--start {
|
||
top: 20px;
|
||
left: calc(18% - 46px);
|
||
}
|
||
|
||
.agent-markdown-mermaid__placeholder-node--middle {
|
||
top: 88px;
|
||
left: calc(50% - 46px);
|
||
}
|
||
|
||
.agent-markdown-mermaid__placeholder-node--end {
|
||
top: 20px;
|
||
left: calc(82% - 46px);
|
||
}
|
||
|
||
.agent-markdown-mermaid__placeholder-edge {
|
||
top: 70px;
|
||
width: 25%;
|
||
height: 2px;
|
||
transform-origin: left center;
|
||
}
|
||
|
||
.agent-markdown-mermaid__placeholder-edge--first {
|
||
left: 22%;
|
||
transform: rotate(10deg);
|
||
}
|
||
|
||
.agent-markdown-mermaid__placeholder-edge--second {
|
||
left: 55%;
|
||
transform: rotate(-10deg);
|
||
}
|
||
|
||
@keyframes agent-markdown-mermaid-shimmer {
|
||
to {
|
||
transform: translateX(100%);
|
||
}
|
||
}
|
||
|
||
.agent-markdown-mermaid--failed {
|
||
display: flex;
|
||
min-height: 96px;
|
||
align-items: center;
|
||
justify-content: center;
|
||
gap: 12px;
|
||
padding: 18px;
|
||
color: var(--text-secondary);
|
||
}
|
||
|
||
.agent-markdown-mermaid__failure-copy {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
gap: 5px;
|
||
border: 1px solid var(--line-2);
|
||
border-radius: 6px;
|
||
padding: 5px 8px;
|
||
background: var(--transparency-block);
|
||
color: var(--text-primary);
|
||
cursor: pointer;
|
||
font-size: 11px;
|
||
line-height: 16px;
|
||
}
|
||
|
||
.agent-markdown-mermaid__failure-copy:hover {
|
||
background: var(--transparency-hover);
|
||
}
|
||
|
||
.agent-mermaid-viewer {
|
||
position: fixed;
|
||
inset: 0;
|
||
z-index: var(--z-dialog);
|
||
overflow: hidden;
|
||
-webkit-app-region: no-drag;
|
||
}
|
||
|
||
.agent-mermaid-viewer__backdrop {
|
||
position: absolute;
|
||
inset: 0;
|
||
background: rgb(0 0 0 / 60%);
|
||
backdrop-filter: blur(18px) saturate(1.02);
|
||
}
|
||
|
||
.agent-mermaid-viewer__stage {
|
||
position: absolute;
|
||
inset: 48px;
|
||
z-index: 100300;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
overflow: hidden;
|
||
outline: none;
|
||
cursor: default;
|
||
touch-action: none;
|
||
user-select: none;
|
||
}
|
||
|
||
.agent-mermaid-viewer[data-agent-mermaid-space-pressed="true"]
|
||
.agent-mermaid-viewer__stage {
|
||
cursor: grab;
|
||
}
|
||
|
||
.agent-mermaid-viewer[data-agent-mermaid-dragging="true"]
|
||
.agent-mermaid-viewer__stage {
|
||
cursor: grabbing;
|
||
}
|
||
|
||
.agent-mermaid-viewer__canvas {
|
||
width: 100%;
|
||
height: 100%;
|
||
transform-origin: center center;
|
||
will-change: transform;
|
||
}
|
||
|
||
.agent-mermaid-viewer__canvas .agent-markdown-mermaid__svg {
|
||
width: 100%;
|
||
height: 100%;
|
||
min-width: 0;
|
||
}
|
||
|
||
.agent-mermaid-viewer__canvas .agent-markdown-mermaid__svg > svg {
|
||
width: 100% !important;
|
||
height: 100% !important;
|
||
max-width: none !important;
|
||
}
|
||
|
||
.agent-mermaid-viewer__zoom-controls {
|
||
right: 72px;
|
||
}
|
||
|
||
.agent-mermaid-viewer__hint {
|
||
position: fixed;
|
||
bottom: 20px;
|
||
left: 50%;
|
||
z-index: 100301;
|
||
padding: 6px 10px;
|
||
border-radius: 999px;
|
||
background: var(--background-fronted);
|
||
box-shadow: 0 10px 28px color-mix(in srgb, black 24%, transparent);
|
||
color: var(--text-secondary);
|
||
font-size: 12px;
|
||
line-height: 18px;
|
||
pointer-events: none;
|
||
transform: translateX(-50%);
|
||
}
|
||
|
||
@media (prefers-reduced-motion: reduce) {
|
||
.agent-markdown-mermaid__placeholder::after {
|
||
animation: none;
|
||
}
|
||
}
|
||
|
||
.workspace-agents-status-panel {
|
||
--workspace-agents-status-panel-chrome-gap: 8px;
|
||
--workspace-room-top-bar-safe-area: 52px;
|
||
--workspace-desktop-bottom-bar-height: 64px;
|
||
--workspace-agents-status-panel-width-user: 360px;
|
||
position: absolute;
|
||
left: var(--workspace-agents-status-panel-chrome-gap);
|
||
top: calc(
|
||
var(--workspace-room-top-bar-safe-area) +
|
||
var(--workspace-agents-status-panel-chrome-gap)
|
||
);
|
||
bottom: calc(
|
||
var(--workspace-desktop-bottom-bar-height) +
|
||
var(--workspace-agents-status-panel-chrome-gap)
|
||
);
|
||
z-index: 9;
|
||
box-sizing: border-box;
|
||
display: flex;
|
||
flex-direction: column;
|
||
width: min(
|
||
var(--workspace-agents-status-panel-width-user),
|
||
calc(100% - (2 * var(--workspace-agents-status-panel-chrome-gap)))
|
||
);
|
||
min-width: min(
|
||
280px,
|
||
calc(100% - (2 * var(--workspace-agents-status-panel-chrome-gap)))
|
||
);
|
||
height: auto;
|
||
min-height: 0;
|
||
max-height: none;
|
||
overflow: hidden;
|
||
border: 1px solid var(--node-window-border);
|
||
border-radius: 12px;
|
||
color: var(--text-primary);
|
||
background: var(--background-panel);
|
||
box-shadow: var(--window-drop-shadow);
|
||
backdrop-filter: none;
|
||
transform-origin: bottom left;
|
||
-webkit-app-region: no-drag;
|
||
}
|
||
|
||
.workspace-agents-status-panel[data-layer="raised"] {
|
||
z-index: var(--z-toast, 100300);
|
||
}
|
||
|
||
[data-testid="workspace-agent-message-center"],
|
||
[data-testid="workspace-agent-message-center"] * {
|
||
-webkit-app-region: no-drag;
|
||
}
|
||
|
||
[data-testid="workspace-agent-message-center"] {
|
||
--agent-gui-package-accent: var(--accent-codex);
|
||
--agent-gui-package-accent-strong: var(--accent-codex);
|
||
--agent-gui-package-success: var(--state-success);
|
||
--agent-gui-package-warning: var(--state-warning);
|
||
--agent-gui-package-danger: var(--state-danger);
|
||
--agent-gui-accent: var(--agent-gui-package-accent);
|
||
--agent-gui-accent-strong: var(--agent-gui-package-accent-strong);
|
||
--agent-gui-mention-app-color: var(--tutti-purple);
|
||
--agent-gui-success: var(--agent-gui-package-success);
|
||
--agent-gui-warning: var(--agent-gui-package-warning);
|
||
--agent-gui-danger: var(--agent-gui-package-danger);
|
||
box-sizing: border-box;
|
||
display: flex;
|
||
flex-direction: column;
|
||
min-height: 0;
|
||
width: min(440px, calc(100vw - 16px));
|
||
max-width: none;
|
||
overflow: hidden;
|
||
border-top: 0;
|
||
border-right: 0;
|
||
border-bottom: 0;
|
||
border-radius: 0;
|
||
background: var(--background-panel);
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
[data-testid="workspace-agent-message-center"][data-presentation="embedded"] {
|
||
width: 100%;
|
||
}
|
||
|
||
[data-testid="workspace-agent-message-center"]
|
||
.workspace-agent-message-center__copy-text,
|
||
[data-testid="workspace-agent-message-center"]
|
||
.workspace-agent-message-center__copy-text
|
||
* {
|
||
-webkit-user-select: text;
|
||
user-select: text;
|
||
}
|
||
|
||
[data-testid="workspace-agent-message-center"]
|
||
.workspace-agent-message-center__copy-text
|
||
a,
|
||
[data-testid="workspace-agent-message-center"]
|
||
.workspace-agent-message-center__copy-text
|
||
button {
|
||
cursor: pointer;
|
||
}
|
||
|
||
.workspace-agent-message-center__card {
|
||
box-sizing: border-box;
|
||
display: flex;
|
||
flex-direction: column;
|
||
min-width: 0;
|
||
gap: 10px;
|
||
border: 1px solid var(--line-2);
|
||
border-radius: 8px;
|
||
background: var(--background-fronted);
|
||
padding: 14px;
|
||
color: var(--text-primary);
|
||
outline: 0 solid transparent;
|
||
outline-offset: 2px;
|
||
transition:
|
||
background-color 140ms ease,
|
||
border-color 140ms ease,
|
||
outline-color 140ms ease;
|
||
}
|
||
|
||
.workspace-agent-message-center__card[data-waiting="true"] {
|
||
border-color: var(--tutti-purple-border);
|
||
background: var(--tutti-purple-bg);
|
||
}
|
||
|
||
.workspace-agent-message-center__card[data-highlighted="true"] {
|
||
outline-width: 2px;
|
||
outline-color: var(--accent);
|
||
}
|
||
|
||
.workspace-agent-message-center__status {
|
||
display: inline-flex;
|
||
flex: 0 0 auto;
|
||
align-items: center;
|
||
gap: 6px;
|
||
color: var(--text-secondary);
|
||
font-size: 11px;
|
||
font-weight: 600;
|
||
line-height: 16px;
|
||
}
|
||
|
||
.workspace-agent-message-center__footer {
|
||
display: flex;
|
||
min-width: 0;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
gap: 8px;
|
||
}
|
||
|
||
.workspace-agent-message-center__provider {
|
||
display: inline-flex;
|
||
min-width: 0;
|
||
max-width: 100%;
|
||
align-items: center;
|
||
gap: 6px;
|
||
}
|
||
|
||
.workspace-agent-message-center__provider-icon {
|
||
width: 20px;
|
||
height: 20px;
|
||
flex: 0 0 20px;
|
||
box-sizing: border-box;
|
||
overflow: hidden;
|
||
border: 1px solid var(--line-1, var(--nexight-line-1));
|
||
border-radius: 50%;
|
||
object-fit: cover;
|
||
}
|
||
|
||
.workspace-agent-message-center__provider-name {
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
color: var(--text-secondary);
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.workspace-agent-message-center__open-chat-button {
|
||
display: inline-flex;
|
||
visibility: hidden;
|
||
align-items: center;
|
||
gap: 6px;
|
||
width: auto;
|
||
height: auto;
|
||
min-height: 0;
|
||
border: 0;
|
||
background: transparent;
|
||
background-color: transparent;
|
||
padding: 0;
|
||
color: var(--accent-codex);
|
||
box-shadow: none;
|
||
opacity: 0;
|
||
transition:
|
||
color 140ms ease,
|
||
opacity 140ms ease,
|
||
visibility 140ms ease;
|
||
}
|
||
|
||
.workspace-agent-message-center__open-chat-button svg {
|
||
width: 15px;
|
||
height: 15px;
|
||
flex: 0 0 auto;
|
||
color: currentColor;
|
||
}
|
||
|
||
.workspace-agent-message-center__card:hover
|
||
.workspace-agent-message-center__open-chat-button,
|
||
.workspace-agent-message-center__card:focus-within
|
||
.workspace-agent-message-center__open-chat-button {
|
||
visibility: visible;
|
||
opacity: 1;
|
||
}
|
||
|
||
.workspace-agent-message-center__open-chat-button:hover,
|
||
.workspace-agent-message-center__open-chat-button:focus-visible,
|
||
.workspace-agent-message-center__open-chat-button:active {
|
||
background: transparent;
|
||
background-color: transparent;
|
||
color: var(--accent-codex);
|
||
}
|
||
|
||
.workspace-agent-message-center__project-info-button {
|
||
display: inline-flex;
|
||
visibility: hidden;
|
||
width: 20px;
|
||
min-width: 20px;
|
||
height: 20px;
|
||
min-height: 20px;
|
||
flex: 0 0 20px;
|
||
align-items: center;
|
||
justify-content: center;
|
||
border: 0;
|
||
border-radius: 4px;
|
||
background: transparent;
|
||
color: var(--text-secondary);
|
||
opacity: 0;
|
||
transition:
|
||
background-color 140ms ease,
|
||
color 140ms ease,
|
||
opacity 140ms ease,
|
||
visibility 140ms ease;
|
||
}
|
||
|
||
.workspace-agent-message-center__card:hover
|
||
.workspace-agent-message-center__project-info-button,
|
||
.workspace-agent-message-center__card:focus-within
|
||
.workspace-agent-message-center__project-info-button {
|
||
visibility: visible;
|
||
opacity: 1;
|
||
}
|
||
|
||
.workspace-agent-message-center__project-info-button:hover,
|
||
.workspace-agent-message-center__project-info-button:focus-visible {
|
||
background: var(--transparency-hover);
|
||
color: var(--text-primary);
|
||
outline: none;
|
||
}
|
||
|
||
.workspace-agent-message-center__summary--overflowing {
|
||
-webkit-mask-image: linear-gradient(
|
||
to bottom,
|
||
#000 0,
|
||
#000 calc(100% - 32px),
|
||
transparent 100%
|
||
);
|
||
mask-image: linear-gradient(
|
||
to bottom,
|
||
#000 0,
|
||
#000 calc(100% - 32px),
|
||
transparent 100%
|
||
);
|
||
}
|
||
|
||
.workspace-agent-message-center__stack-rest {
|
||
display: grid;
|
||
grid-template-rows: 1fr;
|
||
}
|
||
|
||
.workspace-agent-message-center__stack-rest--opening {
|
||
animation: workspace-agent-message-center-stack-grow 340ms
|
||
cubic-bezier(0.22, 1, 0.36, 1) both;
|
||
}
|
||
|
||
.workspace-agent-message-center__stack-rest--closing {
|
||
pointer-events: none;
|
||
animation: workspace-agent-message-center-stack-shrink 260ms
|
||
cubic-bezier(0.45, 0.05, 0.55, 0.95) both;
|
||
}
|
||
|
||
@keyframes workspace-agent-message-center-stack-grow {
|
||
from {
|
||
grid-template-rows: 0fr;
|
||
opacity: 0;
|
||
}
|
||
to {
|
||
grid-template-rows: 1fr;
|
||
opacity: 1;
|
||
}
|
||
}
|
||
|
||
@keyframes workspace-agent-message-center-stack-shrink {
|
||
from {
|
||
grid-template-rows: 1fr;
|
||
opacity: 1;
|
||
}
|
||
to {
|
||
grid-template-rows: 0fr;
|
||
opacity: 0;
|
||
}
|
||
}
|
||
|
||
@media (prefers-reduced-motion: reduce) {
|
||
.workspace-agent-message-center__stack-rest--opening {
|
||
animation: none;
|
||
}
|
||
|
||
.workspace-agent-message-center__stack-rest--closing {
|
||
grid-template-rows: 0fr;
|
||
opacity: 0;
|
||
animation: none;
|
||
}
|
||
}
|
||
|
||
@media (prefers-reduced-motion: reduce) {
|
||
.t-modal {
|
||
transition: none !important;
|
||
}
|
||
|
||
.t-modal-backdrop {
|
||
transition: none !important;
|
||
}
|
||
|
||
.t-dropdown {
|
||
transition: none !important;
|
||
}
|
||
|
||
.t-modal-backdrop::before {
|
||
animation: none !important;
|
||
transition: none !important;
|
||
}
|
||
|
||
.agent-gui-chrome__card--warning,
|
||
.agent-gui-chrome__card--danger,
|
||
.agent-gui-chrome__card--success,
|
||
.agent-gui-chrome__card--muted,
|
||
.agent-gui-chrome__card--connecting {
|
||
animation: none !important;
|
||
transition: none !important;
|
||
}
|
||
}
|
||
|
||
.workspace-agents-status-panel__titlebar {
|
||
display: flex;
|
||
flex: 0 0 48px;
|
||
gap: 8px;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
box-sizing: border-box;
|
||
min-height: 48px;
|
||
padding: 0 8px 0 16px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__titlebar--detail {
|
||
padding-left: 8px;
|
||
}
|
||
|
||
aside.workspace-agents-status-panel
|
||
.workspace-agents-status-panel__titlebar
|
||
button.workspace-agents-status-panel__header-icon-btn {
|
||
color: var(--text-secondary) !important;
|
||
}
|
||
|
||
aside.workspace-agents-status-panel
|
||
.workspace-agents-status-panel__titlebar
|
||
button.workspace-agents-status-panel__header-icon-btn:hover,
|
||
aside.workspace-agents-status-panel
|
||
.workspace-agents-status-panel__titlebar
|
||
button.workspace-agents-status-panel__header-icon-btn:active {
|
||
color: var(--secondary-foreground) !important;
|
||
}
|
||
|
||
.workspace-agents-status-panel__title {
|
||
flex: 1 1 auto;
|
||
min-width: 0;
|
||
margin: 0;
|
||
color: var(--text-primary);
|
||
font-family: var(--tsh-font-display);
|
||
font-size: 15px;
|
||
font-weight: 600;
|
||
font-synthesis: none;
|
||
line-height: 1.3;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-titlebar-main {
|
||
display: flex;
|
||
flex: 1 1 auto;
|
||
gap: 6px;
|
||
align-items: center;
|
||
min-width: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-heading {
|
||
display: flex;
|
||
flex: 1 1 auto;
|
||
gap: 8px;
|
||
align-items: center;
|
||
min-width: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-heading
|
||
.workspace-agents-status-panel__status {
|
||
padding-right: 6px;
|
||
padding-left: 6px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-title {
|
||
flex: 0 1 auto;
|
||
min-width: 0;
|
||
margin: 0;
|
||
overflow: hidden;
|
||
color: var(--text-primary);
|
||
font-family: var(--tsh-font-display);
|
||
font-size: 15px;
|
||
font-weight: 600;
|
||
font-synthesis: none;
|
||
line-height: 1.3;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-title
|
||
[data-workspace-agent-markdown-shell="true"],
|
||
.workspace-agents-status-panel__detail-title
|
||
[data-workspace-agent-markdown="true"] {
|
||
display: inline;
|
||
width: auto;
|
||
min-width: 0;
|
||
max-width: 100%;
|
||
overflow: visible;
|
||
font: inherit;
|
||
line-height: inherit;
|
||
vertical-align: baseline;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-title .tsh-agent-object-token {
|
||
max-width: 100%;
|
||
font-size: inherit;
|
||
font-weight: inherit;
|
||
line-height: inherit;
|
||
}
|
||
|
||
.workspace-agents-status-panel__avatar {
|
||
display: inline-grid;
|
||
box-sizing: border-box;
|
||
flex: 0 0 24px;
|
||
place-items: center;
|
||
width: 24px;
|
||
height: 24px;
|
||
overflow: hidden;
|
||
border: 1px solid var(--line-1, var(--nexight-line-1));
|
||
border-radius: 50%;
|
||
color: var(--text-secondary);
|
||
font-size: 10px;
|
||
font-weight: 600;
|
||
line-height: 1;
|
||
background: var(--transparency-block);
|
||
}
|
||
|
||
.workspace-agents-status-panel__avatar-img {
|
||
display: block;
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
height: 100%;
|
||
max-width: none;
|
||
border-radius: inherit;
|
||
object-fit: cover;
|
||
}
|
||
|
||
.workspace-agents-status-panel__avatar-img--user-placeholder {
|
||
background-color: var(--muted);
|
||
}
|
||
|
||
.workspace-agents-status-panel__content-shell {
|
||
position: relative;
|
||
display: flex;
|
||
flex: 1 1 auto;
|
||
flex-direction: column;
|
||
gap: 16px;
|
||
box-sizing: border-box;
|
||
min-width: 0;
|
||
min-height: 0;
|
||
padding: 4px 16px 16px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__content-shell--detail {
|
||
gap: 0;
|
||
padding: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__viewport {
|
||
position: relative;
|
||
display: flex;
|
||
flex: 1 1 auto;
|
||
min-width: 0;
|
||
min-height: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__content {
|
||
width: 100%;
|
||
display: flex;
|
||
flex: 1 1 auto;
|
||
flex-direction: column;
|
||
gap: 16px;
|
||
box-sizing: border-box;
|
||
min-width: 0;
|
||
min-height: 0;
|
||
overflow-x: hidden;
|
||
overflow-y: auto;
|
||
scrollbar-width: none;
|
||
}
|
||
|
||
.workspace-agents-status-panel__content--detail {
|
||
gap: 0;
|
||
padding-inline: 28px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__content--detail-overlay {
|
||
position: relative;
|
||
flex: 1 1 auto;
|
||
min-height: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-overlay-shell {
|
||
position: absolute;
|
||
inset: 0;
|
||
z-index: 1;
|
||
display: flex;
|
||
flex-direction: column;
|
||
min-width: 0;
|
||
min-height: 0;
|
||
background: transparent;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-action-bar {
|
||
display: flex;
|
||
flex: 0 0 auto;
|
||
justify-content: flex-end;
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
min-width: 0;
|
||
padding: 12px 24px 16px;
|
||
border-top: 1px solid color-mix(in srgb, var(--line-2) 52%, transparent);
|
||
background: var(--background-panel);
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-action-button {
|
||
max-width: 100%;
|
||
}
|
||
|
||
.workspace-agents-status-panel__conversation-timeline {
|
||
--agent-conversation-text: var(--text-primary);
|
||
--agent-conversation-user-text: var(--text-primary);
|
||
--agent-conversation-user-bg: var(--transparency-block);
|
||
--agent-conversation-user-max-width: calc(100% - 32px);
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
scrollbar-width: none;
|
||
}
|
||
|
||
.workspace-agents-status-panel__conversation-timeline::-webkit-scrollbar {
|
||
display: none;
|
||
width: 0;
|
||
height: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__content--list-hidden {
|
||
visibility: hidden;
|
||
pointer-events: none;
|
||
}
|
||
|
||
.workspace-agents-status-panel__list {
|
||
display: flex;
|
||
flex: 1 1 auto;
|
||
flex-direction: column;
|
||
gap: 8px;
|
||
min-height: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__content::-webkit-scrollbar {
|
||
display: none;
|
||
width: 0;
|
||
height: 0;
|
||
}
|
||
|
||
.tsh-custom-scrollbar {
|
||
position: absolute;
|
||
right: 8px;
|
||
width: 4px;
|
||
cursor: pointer;
|
||
opacity: 0;
|
||
pointer-events: auto;
|
||
transition: opacity 160ms ease-in-out;
|
||
}
|
||
|
||
.workspace-agents-status-panel__scrollbar {
|
||
top: 52px;
|
||
bottom: 16px;
|
||
}
|
||
|
||
.tsh-custom-scroll-area:hover .tsh-custom-scrollbar[data-scrollable="true"],
|
||
.tsh-custom-scroll-area:focus-within
|
||
.tsh-custom-scrollbar[data-scrollable="true"] {
|
||
opacity: 1;
|
||
}
|
||
|
||
.workspace-agents-status-panel:hover
|
||
.workspace-agents-status-panel__scrollbar[data-scrollable="true"] {
|
||
opacity: 1;
|
||
}
|
||
|
||
.tsh-custom-scrollbar__thumb {
|
||
width: 4px;
|
||
min-height: 24px;
|
||
border-radius: 999px;
|
||
background: var(--transparency-block);
|
||
cursor: grab;
|
||
transition: background-color 160ms ease-in-out;
|
||
}
|
||
|
||
.workspace-agents-status-panel__scrollbar-thumb {
|
||
width: 4px;
|
||
min-height: 24px;
|
||
border-radius: 999px;
|
||
background: var(--transparency-block);
|
||
cursor: grab;
|
||
transition: background-color 160ms ease-in-out;
|
||
}
|
||
|
||
.tsh-custom-scrollbar:hover .tsh-custom-scrollbar__thumb,
|
||
.workspace-agents-status-panel__scrollbar:hover
|
||
.workspace-agents-status-panel__scrollbar-thumb {
|
||
background: var(--transparency-hover);
|
||
}
|
||
|
||
.tsh-custom-scrollbar[data-dragging="true"],
|
||
.workspace-agents-status-panel__scrollbar[data-dragging="true"] {
|
||
opacity: 1;
|
||
}
|
||
|
||
.tsh-custom-scrollbar[data-dragging="true"] .tsh-custom-scrollbar__thumb,
|
||
.workspace-agents-status-panel__scrollbar[data-dragging="true"]
|
||
.workspace-agents-status-panel__scrollbar-thumb {
|
||
background: var(--transparency-hover);
|
||
cursor: grabbing;
|
||
will-change: transform;
|
||
}
|
||
|
||
.agent-tool-scroll-area__scrollbar {
|
||
position: absolute;
|
||
top: 8px;
|
||
right: 8px;
|
||
bottom: 8px;
|
||
width: 4px;
|
||
cursor: pointer;
|
||
opacity: 0;
|
||
pointer-events: auto;
|
||
transition: opacity 160ms ease-in-out;
|
||
}
|
||
|
||
.agent-tool-scroll-area:hover
|
||
.agent-tool-scroll-area__scrollbar[data-scrollable="true"] {
|
||
opacity: 1;
|
||
}
|
||
|
||
.agent-tool-scroll-area__scrollbar:hover
|
||
.workspace-agents-status-panel__scrollbar-thumb {
|
||
background: var(--transparency-hover);
|
||
}
|
||
|
||
.agent-tool-scroll-area__scrollbar[data-dragging="true"] {
|
||
opacity: 1;
|
||
}
|
||
|
||
.agent-tool-scroll-area__scrollbar[data-dragging="true"]
|
||
.workspace-agents-status-panel__scrollbar-thumb {
|
||
background: var(--transparency-hover);
|
||
cursor: grabbing;
|
||
}
|
||
|
||
.agent-tool-diff__viewport,
|
||
.agent-tool-diff__line {
|
||
background: var(--background-fronted, var(--background-panel));
|
||
}
|
||
|
||
.workspace-agents-status-panel__resize-handle {
|
||
position: absolute;
|
||
top: 48px;
|
||
right: 0;
|
||
bottom: 16px;
|
||
z-index: 1;
|
||
width: 6px;
|
||
touch-action: none;
|
||
cursor: col-resize;
|
||
background: transparent;
|
||
}
|
||
|
||
.workspace-agents-status-panel__resize-handle::after {
|
||
position: absolute;
|
||
top: 0;
|
||
right: 0;
|
||
bottom: 0;
|
||
width: 2px;
|
||
pointer-events: none;
|
||
content: "";
|
||
border-radius: 0 1px 1px 0;
|
||
opacity: 0;
|
||
background: color-mix(in srgb, var(--accent) 55%, transparent);
|
||
transition: opacity 140ms ease;
|
||
}
|
||
|
||
.workspace-agents-status-panel__resize-handle:hover::after,
|
||
.workspace-agents-status-panel__resize-handle:focus-visible::after {
|
||
opacity: 1;
|
||
}
|
||
|
||
.workspace-agents-status-panel__resize-handle:focus-visible {
|
||
outline: 1px solid var(--tutti-d-border-signal-focus);
|
||
outline-offset: -1px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__skeleton-list {
|
||
display: flex;
|
||
flex: 1 1 auto;
|
||
flex-direction: column;
|
||
gap: 12px;
|
||
min-height: 0;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.workspace-agents-status-panel__skeleton-card {
|
||
display: flex;
|
||
flex: 0 0 auto;
|
||
flex-direction: column;
|
||
gap: 10px;
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
min-width: 0;
|
||
padding: 12px;
|
||
border: 1px solid var(--line-2, var(--nexight-line-2));
|
||
border-radius: 8px;
|
||
background: var(--background-fronted);
|
||
}
|
||
|
||
.workspace-agents-status-panel__skeleton-head {
|
||
display: flex;
|
||
gap: 8px;
|
||
align-items: center;
|
||
min-width: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__skeleton-avatar,
|
||
.workspace-agents-status-panel__skeleton-line {
|
||
position: relative;
|
||
overflow: hidden;
|
||
background: color-mix(in srgb, var(--text-tertiary) 8%, transparent);
|
||
}
|
||
|
||
.workspace-agents-status-panel__skeleton-avatar::after,
|
||
.workspace-agents-status-panel__skeleton-line::after {
|
||
position: absolute;
|
||
inset: 0;
|
||
content: "";
|
||
background: linear-gradient(
|
||
90deg,
|
||
transparent 0%,
|
||
color-mix(in srgb, var(--text-tertiary) 8%, transparent) 45%,
|
||
transparent 90%
|
||
);
|
||
animation: workspace-agents-status-panel-skeleton 1.2s ease-in-out infinite;
|
||
}
|
||
|
||
.workspace-agents-status-panel__skeleton-avatar {
|
||
flex: 0 0 24px;
|
||
width: 24px;
|
||
height: 24px;
|
||
border-radius: 50%;
|
||
}
|
||
|
||
.workspace-agents-status-panel__skeleton-line {
|
||
display: block;
|
||
height: 12px;
|
||
border-radius: 4px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__skeleton-line--name {
|
||
width: 118px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__skeleton-line--tag {
|
||
width: 46px;
|
||
margin-left: auto;
|
||
}
|
||
|
||
.workspace-agents-status-panel__skeleton-line--title {
|
||
width: 82%;
|
||
height: 18px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__skeleton-line--summary {
|
||
width: 100%;
|
||
height: 38px;
|
||
border-radius: 4px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity {
|
||
display: flex;
|
||
flex: 0 0 auto;
|
||
flex-direction: column;
|
||
gap: 8px;
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
min-width: 0;
|
||
padding: 12px;
|
||
border: 1px solid var(--line-2, var(--nexight-line-2));
|
||
border-radius: 8px;
|
||
background: var(--background-fronted);
|
||
cursor: pointer;
|
||
outline: none;
|
||
transition:
|
||
background-color 200ms ease-in-out,
|
||
border-color 200ms ease-in-out,
|
||
box-shadow 200ms ease-in-out;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity:focus-visible {
|
||
box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 26%, transparent);
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity:hover {
|
||
border-color: var(--line-2, var(--nexight-line-2));
|
||
background: var(--transparency-block);
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity--working,
|
||
.workspace-agents-status-panel__activity--waiting,
|
||
.workspace-agents-status-panel__activity--idle,
|
||
.workspace-agents-status-panel__activity--done,
|
||
.workspace-agents-status-panel__activity--failed {
|
||
border-color: var(--line-2, var(--nexight-line-2));
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity--targeted {
|
||
box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 18%, transparent);
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-head {
|
||
display: flex;
|
||
gap: 8px;
|
||
align-items: center;
|
||
min-width: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-avatar-stack {
|
||
display: inline-flex;
|
||
flex: 0 0 44px;
|
||
align-items: center;
|
||
width: 44px;
|
||
height: 24px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-agent-avatar {
|
||
margin-left: -4px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-user-avatar {
|
||
z-index: 1;
|
||
background: var(--background-1);
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-identity {
|
||
display: flex;
|
||
flex: 1 1 auto;
|
||
gap: 8px;
|
||
align-items: center;
|
||
min-width: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-identity-names {
|
||
display: flex;
|
||
flex: 1 1 auto;
|
||
align-items: center;
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
color: var(--text-secondary);
|
||
font-size: 13px;
|
||
font-weight: 600;
|
||
line-height: 1.35;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-user-name {
|
||
flex: 0 1 auto;
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-name-sep {
|
||
flex-shrink: 0;
|
||
margin: 0 4px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-agent-name {
|
||
flex-shrink: 0;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.workspace-agents-status-panel__status {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
flex: 0 0 auto;
|
||
box-sizing: border-box;
|
||
height: 20px;
|
||
min-width: 0;
|
||
padding: 0 8px;
|
||
border: 0;
|
||
border-radius: 4px;
|
||
color: var(--tsh-ui-pill-neutral-fg);
|
||
font-size: 11px;
|
||
font-weight: 600;
|
||
line-height: 1;
|
||
white-space: nowrap;
|
||
background: var(--tsh-ui-pill-neutral-bg);
|
||
}
|
||
|
||
.workspace-agents-status-panel__status--working,
|
||
.workspace-agents-status-panel__status[data-status="working"] {
|
||
color: var(--tsh-ui-pill-success-fg);
|
||
background: var(--tsh-ui-pill-success-bg);
|
||
}
|
||
|
||
.workspace-agents-status-panel__status--failed,
|
||
.workspace-agents-status-panel__status[data-status="failed"] {
|
||
color: var(--state-danger);
|
||
background: color-mix(in srgb, var(--state-danger) 12%, transparent);
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-title {
|
||
display: -webkit-box;
|
||
min-width: 0;
|
||
margin: 4px 0;
|
||
overflow: hidden;
|
||
color: var(--text-primary);
|
||
font-size: 13px;
|
||
font-weight: 600;
|
||
line-height: 1.4;
|
||
-webkit-box-orient: vertical;
|
||
-webkit-line-clamp: 2;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-summary {
|
||
min-width: 0;
|
||
margin: 0;
|
||
padding: 12px;
|
||
border-radius: 6px;
|
||
color: var(--text-secondary);
|
||
font-size: 13px;
|
||
line-height: 1.5;
|
||
background: var(--transparency-block);
|
||
overflow-wrap: anywhere;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-summary-messages {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 10px;
|
||
min-width: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-summary-messages
|
||
.workspace-agents-status-panel__activity-summary-text
|
||
+ .workspace-agents-status-panel__activity-summary-text {
|
||
padding-top: 10px;
|
||
border-top: 1px solid
|
||
color-mix(in srgb, var(--line-2, var(--nexight-line-2)) 72%, transparent);
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-summary-loading {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 8px;
|
||
width: 100%;
|
||
min-height: 52px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-summary-text {
|
||
margin: 0;
|
||
min-width: 0;
|
||
color: var(--text-secondary);
|
||
font-size: 13px;
|
||
line-height: 1.5;
|
||
overflow-wrap: anywhere;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-summary
|
||
.workspace-agents-status-panel__activity-summary-text[data-workspace-agent-markdown="true"] {
|
||
display: block;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-summary-text--image {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
gap: 6px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-summary
|
||
.workspace-agents-status-panel__activity-summary-text
|
||
p {
|
||
margin: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-summary strong {
|
||
color: var(--text-primary);
|
||
font-weight: 600;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-summary
|
||
.workspace-agents-status-panel__detail-markdown-shell {
|
||
min-width: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-summary
|
||
.workspace-agents-status-panel__detail-markdown
|
||
code {
|
||
display: inline-block;
|
||
max-width: 100%;
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
padding: 0;
|
||
border-radius: 0;
|
||
color: var(--text-secondary);
|
||
font-family: inherit;
|
||
font-size: inherit;
|
||
line-height: inherit;
|
||
text-overflow: ellipsis;
|
||
vertical-align: bottom;
|
||
white-space: nowrap;
|
||
background: transparent;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-summary
|
||
.workspace-agents-status-panel__detail-markdown
|
||
pre,
|
||
.workspace-agents-status-panel__activity-summary
|
||
.workspace-agents-status-panel__detail-markdown
|
||
pre
|
||
code {
|
||
box-sizing: border-box !important;
|
||
display: block !important;
|
||
max-width: 100% !important;
|
||
min-width: 0 !important;
|
||
overflow: hidden !important;
|
||
overflow-wrap: normal !important;
|
||
text-overflow: ellipsis !important;
|
||
white-space: nowrap !important;
|
||
word-break: normal !important;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-summary
|
||
.workspace-agents-status-panel__detail-markdown
|
||
a,
|
||
.workspace-agents-status-panel__activity-summary
|
||
.workspace-agents-status-panel__detail-markdown
|
||
code
|
||
a {
|
||
color: var(--tutti-purple);
|
||
font-weight: 600;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-files {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
gap: 6px;
|
||
min-width: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-file {
|
||
display: flex;
|
||
flex: 1 1 100%;
|
||
gap: 4px;
|
||
align-items: center;
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
height: 32px;
|
||
min-width: 0;
|
||
padding: 0 8px;
|
||
border: 0;
|
||
border-radius: 6px;
|
||
color: var(--accent);
|
||
font-size: 13px;
|
||
font-weight: 600;
|
||
line-height: 1.3;
|
||
background: color-mix(in srgb, var(--accent) 12%, transparent);
|
||
font-family: inherit;
|
||
text-align: left;
|
||
transition: background-color 160ms ease-in-out;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-file--clickable {
|
||
cursor: pointer;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-file--clickable:hover,
|
||
.workspace-agents-status-panel__activity-file--clickable:focus-visible {
|
||
background: color-mix(in srgb, var(--accent) 18%, transparent);
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-file svg {
|
||
flex: 0 0 auto;
|
||
width: 14px;
|
||
height: 14px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-file span {
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.workspace-agents-status-panel__empty {
|
||
display: flex;
|
||
flex: 1 1 auto;
|
||
align-items: center;
|
||
justify-content: center;
|
||
min-height: 0;
|
||
padding: 34px 18px;
|
||
color: var(--text-tertiary);
|
||
font-size: 13px;
|
||
line-height: 1.4;
|
||
text-align: center;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-empty {
|
||
position: absolute;
|
||
inset: 0;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
min-width: 0;
|
||
padding: 34px 18px;
|
||
color: var(--text-tertiary);
|
||
font-size: 13px;
|
||
line-height: 1.4;
|
||
text-align: center;
|
||
overflow-wrap: anywhere;
|
||
}
|
||
|
||
.workspace-agents-status-panel__notice {
|
||
position: absolute;
|
||
top: 4px;
|
||
right: 16px;
|
||
left: 16px;
|
||
z-index: 2;
|
||
box-sizing: border-box;
|
||
pointer-events: none;
|
||
border: 1px solid color-mix(in srgb, var(--label-orange) 34%, transparent);
|
||
border-radius: 8px;
|
||
background: color-mix(
|
||
in srgb,
|
||
var(--background-fronted) 86%,
|
||
var(--label-orange) 14%
|
||
);
|
||
padding: 8px 10px;
|
||
color: var(--label-orange);
|
||
font-size: 13px;
|
||
line-height: 1.35;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail {
|
||
--agent-conversation-text: var(--text-primary);
|
||
--agent-conversation-user-text: var(--text-primary);
|
||
--agent-conversation-user-bg: var(--transparency-block);
|
||
display: flex;
|
||
flex: 1 1 auto;
|
||
flex-direction: column;
|
||
gap: 16px;
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
min-width: 0;
|
||
min-height: 0;
|
||
padding-bottom: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail::after {
|
||
display: block;
|
||
flex: 0 0 auto;
|
||
flex-shrink: 0;
|
||
width: 100%;
|
||
height: 32px;
|
||
min-height: 32px;
|
||
pointer-events: none;
|
||
content: "";
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-section,
|
||
.workspace-agents-status-panel__detail-thinking-section,
|
||
.workspace-agents-status-panel__detail-turn-summary {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 4px;
|
||
align-items: flex-start;
|
||
width: 100%;
|
||
min-width: 0;
|
||
max-width: min(860px, 100%);
|
||
padding: 4px 0 0;
|
||
border: 0;
|
||
border-radius: 0;
|
||
background: transparent;
|
||
box-shadow: none;
|
||
}
|
||
|
||
.agent-gui-node__timeline .workspace-agents-status-panel__detail-turn-summary {
|
||
max-width: 100%;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-turn-summary {
|
||
--agent-turn-summary-border: color-mix(
|
||
in srgb,
|
||
var(--line-1) 58%,
|
||
transparent
|
||
);
|
||
--agent-turn-summary-row-border: color-mix(
|
||
in srgb,
|
||
var(--line-1) 46%,
|
||
transparent
|
||
);
|
||
--agent-turn-summary-surface: color-mix(
|
||
in srgb,
|
||
var(--background-fronted) 96%,
|
||
var(--background-panel) 4%
|
||
);
|
||
--agent-turn-summary-hover: color-mix(
|
||
in srgb,
|
||
var(--transparency-block) 58%,
|
||
transparent
|
||
);
|
||
--agent-turn-summary-path: color-mix(
|
||
in srgb,
|
||
var(--text-secondary) 78%,
|
||
transparent
|
||
);
|
||
--agent-turn-summary-toggle: color-mix(
|
||
in srgb,
|
||
var(--text-secondary) 88%,
|
||
transparent
|
||
);
|
||
}
|
||
|
||
.agent-turn-summary-card {
|
||
border: 1px solid var(--agent-turn-summary-border);
|
||
background: var(--agent-turn-summary-surface);
|
||
box-shadow: inset 0 1px 0
|
||
color-mix(in srgb, var(--background-fronted) 82%, transparent);
|
||
}
|
||
|
||
.agent-turn-summary-card__list,
|
||
.agent-turn-summary-card__overflow-list,
|
||
.agent-turn-summary-card__preview {
|
||
border-top: 1px solid var(--agent-turn-summary-row-border);
|
||
}
|
||
|
||
.agent-turn-summary-card__file {
|
||
border-top: 1px solid var(--agent-turn-summary-row-border);
|
||
}
|
||
|
||
.agent-turn-summary-card__file:first-child {
|
||
border-top: 0;
|
||
}
|
||
|
||
.agent-turn-summary-card__file-row:hover {
|
||
background: var(--agent-turn-summary-hover);
|
||
}
|
||
|
||
.agent-turn-summary-card__path {
|
||
color: var(--agent-turn-summary-path);
|
||
}
|
||
|
||
.agent-turn-summary-card__path-directory,
|
||
.agent-turn-summary-card__path-file {
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
}
|
||
|
||
.agent-turn-summary-card__path-directory {
|
||
flex: 0 1 auto;
|
||
}
|
||
|
||
.agent-turn-summary-card__path-file {
|
||
flex: 0 0 auto;
|
||
max-width: 100%;
|
||
}
|
||
|
||
.agent-path-tail-label {
|
||
display: flex;
|
||
min-width: 0;
|
||
max-width: 100%;
|
||
overflow: hidden;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-path-tail-label__directory,
|
||
.agent-path-tail-label__file {
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
}
|
||
|
||
.agent-path-tail-label__directory {
|
||
flex: 0 1 auto;
|
||
}
|
||
|
||
.agent-path-tail-label__file {
|
||
flex: 0 0 auto;
|
||
max-width: 100%;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-turn-summary
|
||
.workspace-agents-status-panel__detail-tool-diff-added {
|
||
color: var(--state-success);
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-turn-summary
|
||
.workspace-agents-status-panel__detail-tool-diff-removed {
|
||
color: var(--state-danger);
|
||
}
|
||
|
||
.agent-turn-summary-card__toggle-more {
|
||
color: var(--agent-turn-summary-toggle);
|
||
}
|
||
|
||
.agent-turn-summary-card__toggle-more:hover {
|
||
background: var(--agent-turn-summary-hover);
|
||
color: var(--text-secondary);
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-section {
|
||
position: relative;
|
||
gap: 16px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-section[data-tool-group-expanded="true"]
|
||
.workspace-agents-status-panel__detail-tool-count-icon,
|
||
.workspace-agents-status-panel__detail-tool-section[data-tool-group-expanded="true"]
|
||
.workspace-agents-status-panel__detail-tool-row-icon,
|
||
.workspace-agents-status-panel__detail-tool-section[data-tool-group-expanded="true"]
|
||
.workspace-agents-status-panel__detail-tool-list-item
|
||
.tsh-inline-scanlight-icon {
|
||
border-radius: 999px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-count {
|
||
position: relative;
|
||
display: inline-flex;
|
||
gap: 6px;
|
||
align-items: center;
|
||
width: fit-content;
|
||
max-width: 100%;
|
||
min-width: 0;
|
||
padding: 0;
|
||
border: 0;
|
||
color: var(--text-secondary);
|
||
font-family: var(--tsh-font-ui);
|
||
font-size: 13px;
|
||
font-weight: 400;
|
||
line-height: 1.3;
|
||
text-align: left;
|
||
background: transparent;
|
||
cursor: pointer;
|
||
transition:
|
||
color 150ms ease,
|
||
opacity 150ms ease;
|
||
appearance: none;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-section[data-tool-group-expanded="true"]
|
||
.workspace-agents-status-panel__detail-tool-count::after {
|
||
position: absolute;
|
||
top: 24px;
|
||
left: 7.5px;
|
||
width: 1px;
|
||
height: 4px;
|
||
background: var(--line-1);
|
||
content: "";
|
||
pointer-events: none;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-count:hover {
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-count span {
|
||
min-width: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-count-label {
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-count-primary {
|
||
font-weight: 600;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-count svg {
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-count-icon {
|
||
position: relative;
|
||
z-index: 1;
|
||
opacity: 0.72;
|
||
transition: opacity 150ms ease;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-count:hover
|
||
.workspace-agents-status-panel__detail-tool-count-icon,
|
||
.workspace-agents-status-panel__detail-tool-count:focus-visible
|
||
.workspace-agents-status-panel__detail-tool-count-icon {
|
||
opacity: 1;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-count-chevron {
|
||
color: var(--text-tertiary);
|
||
opacity: 0;
|
||
transition: opacity 150ms ease;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-count:hover
|
||
.workspace-agents-status-panel__detail-tool-count-chevron,
|
||
.workspace-agents-status-panel__detail-tool-count:focus-visible
|
||
.workspace-agents-status-panel__detail-tool-count-chevron {
|
||
opacity: 1;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-count--summary {
|
||
justify-content: space-between;
|
||
width: 100%;
|
||
gap: 12px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-list {
|
||
position: relative;
|
||
z-index: 1;
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 16px;
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
min-width: 0;
|
||
padding: 0;
|
||
border-radius: 0;
|
||
background: transparent;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-list-item {
|
||
position: relative;
|
||
min-width: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-list-item:not(:last-child)::after {
|
||
position: absolute;
|
||
top: 24px;
|
||
left: 7.5px;
|
||
width: 1px;
|
||
height: max(4px, calc(100% - 16px));
|
||
background: var(--line-1);
|
||
content: "";
|
||
pointer-events: none;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-section[data-tool-group-expanded="true"]
|
||
.workspace-agents-status-panel__detail-tool-list-item
|
||
.agent-collapsible-reveal {
|
||
box-sizing: border-box;
|
||
padding-left: 24px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-row {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 7px;
|
||
width: 100%;
|
||
min-width: 0;
|
||
color: var(--text-secondary);
|
||
font-size: 13px;
|
||
line-height: 1.3;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-row-head {
|
||
display: inline-flex;
|
||
gap: 0;
|
||
align-items: center;
|
||
width: fit-content;
|
||
max-width: 100%;
|
||
min-width: 0;
|
||
padding: 2px 0;
|
||
color: var(--text-secondary);
|
||
font-family: var(--tsh-font-ui);
|
||
font-size: 13px;
|
||
font-weight: 400;
|
||
line-height: 1.3;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-row-head--button {
|
||
padding: 0;
|
||
border: 0;
|
||
color: inherit;
|
||
font: inherit;
|
||
text-align: left;
|
||
background: transparent;
|
||
cursor: pointer;
|
||
transition:
|
||
color 150ms ease,
|
||
opacity 150ms ease;
|
||
appearance: none;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-row-head--button:hover {
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-row-head svg {
|
||
flex: 0 0 auto;
|
||
opacity: 0.78;
|
||
transition: opacity 150ms ease;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-row-head--button:hover
|
||
.workspace-agents-status-panel__detail-tool-row-icon
|
||
svg,
|
||
.workspace-agents-status-panel__detail-tool-row-head--button:focus-visible
|
||
.workspace-agents-status-panel__detail-tool-row-icon
|
||
svg {
|
||
opacity: 1;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-row-header-content {
|
||
display: inline-flex;
|
||
gap: 6px;
|
||
align-items: center;
|
||
width: fit-content;
|
||
max-width: 100%;
|
||
min-width: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-row-header-content[data-active="true"] {
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-row-icon {
|
||
position: relative;
|
||
z-index: 1;
|
||
display: inline-flex;
|
||
flex: 0 0 auto;
|
||
align-items: center;
|
||
justify-content: center;
|
||
width: 16px;
|
||
height: 16px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-row-text {
|
||
display: inline-flex;
|
||
flex: 1 1 auto;
|
||
gap: 8px;
|
||
align-items: center;
|
||
min-width: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-row-title {
|
||
flex: 0 1 auto;
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
font-family: var(--tsh-font-ui);
|
||
font-size: 13px;
|
||
font-weight: 600;
|
||
line-height: 1.3;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-status {
|
||
flex: 0 0 auto;
|
||
color: currentColor;
|
||
font-size: 13px;
|
||
font-weight: 400;
|
||
line-height: 1.3;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-diff-stats {
|
||
display: inline-flex;
|
||
flex: 0 0 auto;
|
||
gap: 4px;
|
||
align-items: center;
|
||
color: var(--text-tertiary);
|
||
font-size: 13px;
|
||
line-height: 1.3;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-diff-added {
|
||
color: var(--state-success);
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-diff-removed {
|
||
color: var(--state-danger);
|
||
}
|
||
|
||
.tsh-inline-scanlight-line
|
||
.workspace-agents-status-panel__detail-tool-diff-added,
|
||
.tsh-inline-scanlight-line
|
||
.workspace-agents-status-panel__detail-tool-diff-removed {
|
||
background: none;
|
||
-webkit-text-fill-color: currentColor;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-row-summary {
|
||
flex: 1 1 auto;
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
color: var(--text-tertiary);
|
||
font-size: 13px;
|
||
font-weight: 400;
|
||
line-height: 1.3;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
/* Compact tool-call rows when nested inside a details block (e.g. task STEPS) */
|
||
.workspace-agents-status-panel__detail-tool-body
|
||
.workspace-agents-status-panel__detail-tool-row-title,
|
||
.workspace-agents-status-panel__detail-tool-body
|
||
.workspace-agents-status-panel__detail-tool-status,
|
||
.workspace-agents-status-panel__detail-tool-body
|
||
.workspace-agents-status-panel__detail-tool-diff-stats,
|
||
.workspace-agents-status-panel__detail-tool-body
|
||
.workspace-agents-status-panel__detail-tool-row-summary {
|
||
font-size: 11px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-body
|
||
.workspace-agents-status-panel__detail-tool-row-icon {
|
||
width: 14px;
|
||
height: 14px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-body
|
||
.workspace-agents-status-panel__detail-tool-row-icon
|
||
svg {
|
||
width: 14px;
|
||
height: 14px;
|
||
}
|
||
|
||
/* Looser vertical rhythm for the nested step rows so they don't feel cramped */
|
||
.workspace-agents-status-panel__detail-tool-body
|
||
.workspace-agents-status-panel__detail-tool-stack {
|
||
gap: 12px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-row-head
|
||
.workspace-agents-status-panel__detail-tool-row-chevron {
|
||
flex: 0 0 auto;
|
||
color: var(--text-tertiary);
|
||
opacity: 0;
|
||
transition: opacity 150ms ease;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-row-head--button:hover
|
||
.workspace-agents-status-panel__detail-tool-row-chevron,
|
||
.workspace-agents-status-panel__detail-tool-row-head--button:focus-visible
|
||
.workspace-agents-status-panel__detail-tool-row-chevron {
|
||
opacity: 1;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-summary {
|
||
width: 100%;
|
||
min-width: 0;
|
||
margin: 6px 0 0;
|
||
padding: 0 0 0 20px;
|
||
color: currentColor;
|
||
font-family: var(--tsh-font-ui);
|
||
font-size: 11px;
|
||
font-weight: 400;
|
||
line-height: 1.45;
|
||
opacity: 0.9;
|
||
white-space: pre-wrap;
|
||
overflow-wrap: anywhere;
|
||
}
|
||
|
||
.agent-collapsible-reveal {
|
||
contain: layout paint;
|
||
width: 100%;
|
||
min-width: 0;
|
||
opacity: 0;
|
||
overflow: clip;
|
||
transform: translateY(-2px);
|
||
transition:
|
||
height 220ms ease,
|
||
opacity 160ms ease,
|
||
transform 180ms ease;
|
||
}
|
||
|
||
.agent-collapsible-reveal[data-expanded="true"] {
|
||
opacity: 1;
|
||
transform: translateY(0);
|
||
}
|
||
|
||
.agent-collapsible-reveal__inner {
|
||
min-width: 0;
|
||
min-height: 0;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-body {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 16px;
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
min-width: 0;
|
||
margin-top: 8px;
|
||
padding: 10px 12px;
|
||
border-radius: 6px;
|
||
background: var(--transparency-block);
|
||
font-size: 11px;
|
||
line-height: 1.45;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-body--flat {
|
||
gap: 8px;
|
||
margin-top: 4px;
|
||
padding: 0;
|
||
border: 1px solid var(--hairline-strong);
|
||
border-radius: 6px;
|
||
overflow: hidden;
|
||
background: transparent;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-body--plain {
|
||
gap: 8px;
|
||
margin-top: 4px;
|
||
padding: 0;
|
||
border: 0;
|
||
border-radius: 0;
|
||
background: transparent;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-code--flat,
|
||
.workspace-agents-status-panel__detail-tool-diff--flat,
|
||
.workspace-agents-status-panel__detail-tool-monaco--flat {
|
||
box-shadow: none;
|
||
border: 0;
|
||
border-radius: 0;
|
||
background: transparent;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-section-block,
|
||
.workspace-agents-status-panel__detail-tool-stack {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 7px;
|
||
width: 100%;
|
||
min-width: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-stack-item {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 5px;
|
||
min-width: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-section-title {
|
||
color: var(--text-secondary);
|
||
font-size: 11px;
|
||
font-weight: 400;
|
||
line-height: 1.35;
|
||
text-transform: uppercase;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-answer,
|
||
.workspace-agents-status-panel__detail-tool-question {
|
||
min-width: 0;
|
||
color: var(--text-secondary);
|
||
font-size: 11px;
|
||
line-height: 1.45;
|
||
overflow-wrap: anywhere;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-answer--muted {
|
||
color: var(--text-tertiary);
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-subagents {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 8px;
|
||
width: 100%;
|
||
min-width: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-subagent-card {
|
||
min-width: 0;
|
||
border: 1px solid color-mix(in srgb, var(--text-tertiary) 24%, transparent);
|
||
border-radius: 6px;
|
||
background: color-mix(in srgb, var(--text-tertiary) 5%, transparent);
|
||
overflow: hidden;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-subagent-header {
|
||
display: grid;
|
||
grid-template-columns: 12px 8px minmax(0, 1fr) auto;
|
||
align-items: center;
|
||
gap: 7px;
|
||
min-width: 0;
|
||
padding: 8px 9px;
|
||
cursor: pointer;
|
||
list-style: none;
|
||
font-size: 11px;
|
||
line-height: 1.45;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-subagent-header::-webkit-details-marker {
|
||
display: none;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-subagent-chevron {
|
||
width: 6px;
|
||
height: 6px;
|
||
border-right: 1.5px solid var(--text-tertiary);
|
||
border-bottom: 1.5px solid var(--text-tertiary);
|
||
transform: rotate(-45deg);
|
||
transition: transform 120ms ease;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-subagent-card[open]
|
||
.workspace-agents-status-panel__detail-subagent-chevron {
|
||
transform: rotate(45deg);
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-subagent-status {
|
||
flex: none;
|
||
align-self: center;
|
||
width: 7px;
|
||
height: 7px;
|
||
border-radius: 50%;
|
||
background: var(--text-tertiary);
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-subagent-status--running {
|
||
background: var(--state-success, #22c55e);
|
||
animation: workspace-agents-subagent-pulse 1.6s ease-in-out infinite;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-subagent-status--completed {
|
||
background: var(--state-success, #22c55e);
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-subagent-status--failed {
|
||
background: var(--state-danger);
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-subagent-status--canceled {
|
||
background: var(--text-tertiary);
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-subagent-title {
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
color: var(--text-primary);
|
||
font-weight: 650;
|
||
white-space: nowrap;
|
||
text-overflow: ellipsis;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-subagent-meta {
|
||
flex: none;
|
||
color: var(--text-tertiary);
|
||
font-weight: 600;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-subagent-body {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 7px;
|
||
min-width: 0;
|
||
padding: 0 9px 9px 27px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-subagent-activity {
|
||
min-width: 0;
|
||
color: var(--text-tertiary);
|
||
font-size: 11px;
|
||
line-height: 1.45;
|
||
overflow-wrap: anywhere;
|
||
}
|
||
|
||
@keyframes workspace-agents-subagent-pulse {
|
||
0%,
|
||
100% {
|
||
opacity: 1;
|
||
}
|
||
|
||
50% {
|
||
opacity: 0.35;
|
||
}
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-bullets {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 5px;
|
||
margin: 0;
|
||
padding-left: 18px;
|
||
color: var(--text-secondary);
|
||
font-size: 11px;
|
||
line-height: 1.45;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-markdown {
|
||
width: 100%;
|
||
min-width: 0;
|
||
font-size: 11px;
|
||
line-height: 1.45;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-turn-summary-title {
|
||
color: var(--text-secondary);
|
||
font-size: 11px;
|
||
font-weight: 400;
|
||
line-height: 1.35;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-processing {
|
||
width: 100%;
|
||
min-width: 0;
|
||
padding: 0;
|
||
border: 0;
|
||
color: var(--text-primary);
|
||
font-family: var(--tsh-font-ui);
|
||
font-size: 13px;
|
||
line-height: 1.3;
|
||
background: transparent;
|
||
box-shadow: none;
|
||
}
|
||
|
||
.group\/thinking-disclosure[data-active="true"] {
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
.tsh-inline-scanlight-line,
|
||
.tsh-inline-scanlight-group .tsh-inline-scanlight-text,
|
||
.tsh-inline-scanlight-text--standalone {
|
||
background: linear-gradient(
|
||
90deg,
|
||
currentColor 0%,
|
||
currentColor 36%,
|
||
color-mix(in srgb, currentColor 32%, white) 50%,
|
||
currentColor 64%,
|
||
currentColor 100%
|
||
);
|
||
background-size: 260% 100%;
|
||
background-position: 130% 0;
|
||
-webkit-background-clip: text;
|
||
background-clip: text;
|
||
-webkit-text-fill-color: transparent;
|
||
animation: tsh-inline-scanlight-text-sweep 1.85s ease-in-out infinite;
|
||
}
|
||
|
||
.tsh-inline-scanlight-line {
|
||
display: inline-flex;
|
||
gap: inherit;
|
||
align-items: center;
|
||
min-width: 0;
|
||
}
|
||
|
||
.tsh-inline-loading-ellipsis {
|
||
display: inline-flex;
|
||
flex: 0 0 auto;
|
||
gap: 0.13em;
|
||
align-items: center;
|
||
margin-left: 0;
|
||
color: currentColor;
|
||
background: none;
|
||
-webkit-text-fill-color: currentColor;
|
||
}
|
||
|
||
.tsh-inline-loading-label {
|
||
margin-right: 4px;
|
||
}
|
||
|
||
.tsh-inline-loading-ellipsis span {
|
||
display: block;
|
||
width: 0.18em;
|
||
height: 0.18em;
|
||
border-radius: 999px;
|
||
background: currentColor;
|
||
opacity: 0.28;
|
||
transform: translateY(0.08em) scale(0.82);
|
||
animation: tsh-inline-loading-dot 1.2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
|
||
}
|
||
|
||
.tsh-inline-loading-ellipsis span:nth-child(2) {
|
||
animation-delay: 150ms;
|
||
}
|
||
|
||
.tsh-inline-loading-ellipsis span:nth-child(3) {
|
||
animation-delay: 300ms;
|
||
}
|
||
|
||
.tsh-inline-loading-ellipsis--entry-timing span {
|
||
animation: tsh-inline-loading-dot 1.05s ease-in-out infinite;
|
||
}
|
||
|
||
.tsh-inline-loading-ellipsis--entry-timing span:nth-child(2) {
|
||
animation-delay: 140ms;
|
||
}
|
||
|
||
.tsh-inline-loading-ellipsis--entry-timing span:nth-child(3) {
|
||
animation-delay: 280ms;
|
||
}
|
||
|
||
.tsh-inline-scanlight-group .tsh-inline-scanlight-text--status {
|
||
animation-delay: 260ms;
|
||
}
|
||
|
||
.tsh-inline-scanlight-group
|
||
.workspace-agents-status-panel__detail-tool-row-title,
|
||
.tsh-inline-scanlight-group .font-semibold.tsh-inline-scanlight-text {
|
||
animation-delay: 90ms;
|
||
}
|
||
|
||
@media (prefers-reduced-motion: reduce) {
|
||
.tsh-inline-scanlight-line,
|
||
.tsh-inline-scanlight-group .tsh-inline-scanlight-text,
|
||
.tsh-inline-scanlight-text--standalone {
|
||
animation: none;
|
||
background: none;
|
||
-webkit-text-fill-color: currentColor;
|
||
}
|
||
|
||
.tsh-inline-loading-ellipsis span {
|
||
opacity: 0.72;
|
||
transform: none;
|
||
animation: none;
|
||
}
|
||
}
|
||
|
||
@keyframes workspace-agents-status-panel-skeleton {
|
||
0% {
|
||
transform: translateX(-100%);
|
||
}
|
||
|
||
100% {
|
||
transform: translateX(100%);
|
||
}
|
||
}
|
||
|
||
@keyframes workspace-agents-status-panel-working-shimmer {
|
||
0% {
|
||
transform: translateX(0) skewX(-18deg);
|
||
}
|
||
|
||
100% {
|
||
transform: translateX(330%) skewX(-18deg);
|
||
}
|
||
}
|
||
|
||
@keyframes tsh-inline-scanlight-text-sweep {
|
||
0% {
|
||
background-position: 130% 0;
|
||
}
|
||
|
||
42% {
|
||
background-position: 48% 0;
|
||
}
|
||
|
||
100% {
|
||
background-position: -42% 0;
|
||
}
|
||
}
|
||
|
||
@keyframes tsh-inline-loading-dot {
|
||
0%,
|
||
72%,
|
||
100% {
|
||
opacity: 0.28;
|
||
transform: translateY(0.08em) scale(0.82);
|
||
}
|
||
|
||
28% {
|
||
opacity: 0.95;
|
||
transform: translateY(-0.04em) scale(1);
|
||
}
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-scroll-region {
|
||
scrollbar-width: thin !important;
|
||
-ms-overflow-style: auto !important;
|
||
scrollbar-color: transparent transparent;
|
||
scrollbar-gutter: auto;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-scroll-region:hover {
|
||
scrollbar-color: var(--transparency-hover) transparent;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-scroll-region::-webkit-scrollbar {
|
||
display: block !important;
|
||
width: 4px !important;
|
||
height: 4px !important;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-scroll-region::-webkit-scrollbar-track,
|
||
.workspace-agents-status-panel__detail-scroll-region::-webkit-scrollbar-corner {
|
||
background: transparent;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-scroll-region::-webkit-scrollbar-thumb {
|
||
border-radius: 999px;
|
||
background: transparent;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-scroll-region:hover::-webkit-scrollbar-thumb {
|
||
background: var(--transparency-hover);
|
||
}
|
||
|
||
.agent-tool-scroll-area .workspace-agents-status-panel__detail-scroll-region {
|
||
scrollbar-width: none !important;
|
||
-ms-overflow-style: none !important;
|
||
}
|
||
|
||
.agent-tool-scroll-area
|
||
.workspace-agents-status-panel__detail-scroll-region::-webkit-scrollbar {
|
||
display: none !important;
|
||
width: 0 !important;
|
||
height: 0 !important;
|
||
}
|
||
|
||
.agent-gui-node__mention-palette-scroll-region {
|
||
scrollbar-width: none !important;
|
||
-ms-overflow-style: none !important;
|
||
scrollbar-gutter: auto;
|
||
}
|
||
|
||
.agent-gui-node__mention-palette-scroll-region::-webkit-scrollbar {
|
||
display: none !important;
|
||
width: 0 !important;
|
||
height: 0 !important;
|
||
}
|
||
|
||
.agent-gui-node__mention-palette-scrollbar {
|
||
position: absolute;
|
||
top: 4px;
|
||
right: 4px;
|
||
bottom: 4px;
|
||
width: 4px;
|
||
cursor: pointer;
|
||
opacity: 0;
|
||
pointer-events: auto;
|
||
transition: opacity 160ms ease-in-out;
|
||
}
|
||
|
||
.agent-gui-node__mention-palette {
|
||
container-type: inline-size;
|
||
}
|
||
|
||
.tsh-underline-tabs.agent-gui-node__mention-palette-tabs {
|
||
height: 41px;
|
||
padding: 8px 16px 0;
|
||
}
|
||
|
||
.agent-gui-node__mention-palette-header {
|
||
padding: 8px 0 0;
|
||
}
|
||
|
||
.agent-gui-node__mention-palette-footer {
|
||
min-height: 36px;
|
||
border-top: 1px solid var(--line-2, var(--tutti-line-2));
|
||
background: var(--background-fronted, var(--background-panel));
|
||
}
|
||
|
||
.agent-gui-node__mention-palette-hint {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: flex-end;
|
||
gap: 8px;
|
||
width: 100%;
|
||
height: 36px;
|
||
padding: 0 16px 1px;
|
||
color: var(--agent-gui-text-secondary, var(--text-secondary));
|
||
font-size: 13px;
|
||
font-weight: 500;
|
||
line-height: 20px;
|
||
pointer-events: auto;
|
||
}
|
||
|
||
.agent-gui-node__mention-palette-hint-item {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
gap: 5px;
|
||
font-size: 13px;
|
||
line-height: 20px;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-node__mention-palette-hint-item > span:last-child {
|
||
font-size: 11px;
|
||
}
|
||
|
||
.agent-gui-node__mention-palette-hint-button,
|
||
.agent-gui-node__mention-palette-shortcut-button {
|
||
appearance: none;
|
||
border: 0;
|
||
font: inherit;
|
||
font-size: 13px;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.agent-gui-node__mention-palette-hint-button {
|
||
padding: 0;
|
||
background: transparent;
|
||
color: inherit;
|
||
}
|
||
|
||
.agent-gui-node__mention-palette-shortcut {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
height: 20px;
|
||
min-width: 20px;
|
||
border: 1px solid var(--line-2, var(--tutti-line-2));
|
||
border-radius: 4px;
|
||
background: color-mix(in srgb, var(--transparency-block) 72%, transparent);
|
||
color: var(--agent-gui-text-secondary, var(--text-secondary));
|
||
font-size: 11px;
|
||
font-weight: 600;
|
||
line-height: 1;
|
||
padding: 4px 6px;
|
||
}
|
||
|
||
.agent-gui-node__mention-palette-hint-button:hover
|
||
.agent-gui-node__mention-palette-shortcut,
|
||
.agent-gui-node__mention-palette-hint-button:focus-visible
|
||
.agent-gui-node__mention-palette-shortcut,
|
||
.agent-gui-node__mention-palette-shortcut-button:hover,
|
||
.agent-gui-node__mention-palette-shortcut-button:focus-visible {
|
||
background: var(--transparency-block);
|
||
}
|
||
|
||
.agent-gui-node__mention-palette-hint-button:focus-visible,
|
||
.agent-gui-node__mention-palette-shortcut-button:focus-visible {
|
||
outline: 2px solid var(--line-1);
|
||
outline-offset: 2px;
|
||
}
|
||
|
||
.agent-gui-node__mention-palette-shortcut--arrow {
|
||
width: 20px;
|
||
min-width: 20px;
|
||
font-size: 11px;
|
||
line-height: 1;
|
||
padding: 0;
|
||
}
|
||
|
||
.agent-gui-node__mention-palette-shortcut-group {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
gap: 5px;
|
||
}
|
||
|
||
.agent-gui-node__mention-palette-hint-separator {
|
||
color: var(--line-2, var(--tutti-line-2));
|
||
}
|
||
|
||
.agent-gui-node__mention-palette:hover
|
||
.agent-gui-node__mention-palette-scrollbar[data-scrollable="true"] {
|
||
opacity: 1;
|
||
}
|
||
|
||
.agent-gui-node__mention-palette {
|
||
--agent-mention-file-icon-size: 16px;
|
||
}
|
||
|
||
@container (max-width: 520px) {
|
||
.agent-gui-node__mention-palette .rich-text-at-mention-palette__shell {
|
||
overflow: visible;
|
||
}
|
||
|
||
.agent-gui-node__mention-palette-hint {
|
||
gap: 4px;
|
||
padding-inline: 8px;
|
||
}
|
||
|
||
.agent-gui-node__mention-palette-hint-item {
|
||
position: relative;
|
||
}
|
||
|
||
.agent-gui-node__mention-palette-hint-item > span:last-child {
|
||
display: none;
|
||
}
|
||
|
||
.agent-gui-node__mention-palette-hint-item::after {
|
||
position: absolute;
|
||
bottom: calc(100% + 6px);
|
||
left: 50%;
|
||
z-index: 20;
|
||
width: max-content;
|
||
max-width: min(240px, calc(100cqw - 16px));
|
||
padding: 5px 8px;
|
||
border: 1px solid var(--line-2, var(--tutti-line-2));
|
||
border-radius: 6px;
|
||
background: var(--background-fronted, var(--background-panel));
|
||
box-shadow: 0 6px 18px rgb(0 0 0 / 18%);
|
||
color: var(--text-primary);
|
||
content: attr(data-tooltip);
|
||
font-size: 11px;
|
||
font-weight: 500;
|
||
line-height: 16px;
|
||
opacity: 0;
|
||
pointer-events: none;
|
||
transform: translateX(-50%) translateY(2px);
|
||
transition:
|
||
opacity 120ms ease,
|
||
transform 120ms ease;
|
||
white-space: normal;
|
||
}
|
||
|
||
.agent-gui-node__mention-palette-hint-item:hover::after,
|
||
.agent-gui-node__mention-palette-hint-item:focus-within::after {
|
||
opacity: 1;
|
||
transform: translateX(-50%) translateY(0);
|
||
}
|
||
|
||
.agent-gui-node__mention-palette-hint-item:last-child::after {
|
||
right: 0;
|
||
left: auto;
|
||
transform: translateY(2px);
|
||
}
|
||
|
||
.agent-gui-node__mention-palette-hint-item:last-child:hover::after,
|
||
.agent-gui-node__mention-palette-hint-item:last-child:focus-within::after {
|
||
transform: translateY(0);
|
||
}
|
||
}
|
||
|
||
.agent-gui-node__mention-palette .rich-text-at-mention-palette__row-button,
|
||
.agent-gui-node__mention-palette .rich-text-at-mention-palette__expand-button {
|
||
min-height: 28px;
|
||
padding-top: 4px;
|
||
padding-bottom: 4px;
|
||
padding-right: 4px;
|
||
}
|
||
|
||
.agent-gui-node__mention-palette
|
||
.rich-text-at-mention-palette__empty-state-inner {
|
||
width: min(100%, 52ch);
|
||
}
|
||
|
||
.agent-gui-node__mention-file-thumb {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
width: var(--agent-mention-file-icon-size, 16px);
|
||
height: var(--agent-mention-file-icon-size, 16px);
|
||
flex: 0 0 var(--agent-mention-file-icon-size, 16px);
|
||
overflow: hidden;
|
||
border-radius: 4px;
|
||
background-color: var(--bg-block, var(--block));
|
||
vertical-align: middle;
|
||
}
|
||
|
||
.agent-gui-node__mention-file-thumb img {
|
||
display: block;
|
||
width: 100%;
|
||
height: 100%;
|
||
object-fit: cover;
|
||
}
|
||
|
||
.agent-gui-node__mention-file-icon {
|
||
width: var(--agent-mention-file-icon-size, 16px);
|
||
height: var(--agent-mention-file-icon-size, 16px);
|
||
flex: 0 0 var(--agent-mention-file-icon-size, 16px);
|
||
background-color: var(--folder);
|
||
mask-repeat: no-repeat;
|
||
mask-position: center;
|
||
mask-size: var(--agent-mention-file-icon-size, 16px)
|
||
var(--agent-mention-file-icon-size, 16px);
|
||
-webkit-mask-repeat: no-repeat;
|
||
-webkit-mask-position: center;
|
||
-webkit-mask-size: var(--agent-mention-file-icon-size, 16px)
|
||
var(--agent-mention-file-icon-size, 16px);
|
||
}
|
||
|
||
[data-agent-file-mention="true"][data-agent-mention-kind="file"][data-agent-file-visual-kind="folder"]
|
||
.agent-gui-node__mention-file-icon {
|
||
mask-image: url("./assets/icons/folder-filled.svg");
|
||
-webkit-mask-image: url("./assets/icons/folder-filled.svg");
|
||
}
|
||
|
||
[data-agent-file-mention="true"][data-agent-mention-kind="file"][data-agent-file-visual-kind="markdown"]
|
||
.agent-gui-node__mention-file-icon {
|
||
mask-image: url("./assets/icons/product-filled.svg");
|
||
-webkit-mask-image: url("./assets/icons/product-filled.svg");
|
||
}
|
||
|
||
[data-agent-file-mention="true"][data-agent-mention-kind="file"][data-agent-file-visual-kind="code"]
|
||
.agent-gui-node__mention-file-icon {
|
||
mask-image: url("./assets/icons/code-filled.svg");
|
||
-webkit-mask-image: url("./assets/icons/code-filled.svg");
|
||
}
|
||
|
||
[data-agent-file-mention="true"][data-agent-mention-kind="file"][data-agent-file-visual-kind="image"]
|
||
.agent-gui-node__mention-file-icon {
|
||
mask-image: url("./assets/icons/image-filled.svg");
|
||
-webkit-mask-image: url("./assets/icons/image-filled.svg");
|
||
}
|
||
|
||
[data-agent-file-mention="true"][data-agent-mention-kind="file"][data-agent-file-visual-kind="video"]
|
||
.agent-gui-node__mention-file-icon {
|
||
mask-image: url("./assets/icons/video-filled.svg");
|
||
-webkit-mask-image: url("./assets/icons/video-filled.svg");
|
||
}
|
||
|
||
[data-agent-file-mention="true"][data-agent-mention-kind="file"][data-agent-file-visual-kind="document"]
|
||
.agent-gui-node__mention-file-icon {
|
||
mask-image: url("./assets/icons/doc-filled.svg");
|
||
-webkit-mask-image: url("./assets/icons/doc-filled.svg");
|
||
}
|
||
|
||
[data-agent-file-mention="true"][data-agent-mention-kind="file"][data-agent-file-visual-kind="back"]
|
||
.agent-gui-node__mention-file-icon.rich-text-at-mention-file-icon--glyph {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
background-color: transparent;
|
||
mask-image: none;
|
||
-webkit-mask-image: none;
|
||
color: currentColor;
|
||
}
|
||
|
||
.agent-gui-chrome__session-chrome {
|
||
display: grid;
|
||
justify-self: stretch;
|
||
width: auto;
|
||
gap: 0;
|
||
margin: 0 8px;
|
||
padding: 0;
|
||
background: transparent;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-body > .agent-gui-chrome__session-chrome {
|
||
justify-self: center;
|
||
width: min(760px, 100%);
|
||
margin: 0 auto;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-body
|
||
> .agent-gui-chrome__session-chrome
|
||
> .agent-gui-chrome__card {
|
||
margin-right: 12px;
|
||
margin-left: 12px;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-body
|
||
> .agent-gui-chrome__session-chrome
|
||
+ .agent-gui-node__composer-hero {
|
||
margin-top: calc(var(--agent-gui-empty-hero-gap, 24px) * -1);
|
||
}
|
||
|
||
.agent-gui-chrome__session-chrome:has(+ .agent-gui-chrome__session-chrome) {
|
||
margin-right: 16px;
|
||
margin-left: 16px;
|
||
}
|
||
|
||
.agent-gui-node__composer-input-group > .agent-gui-chrome__session-chrome {
|
||
position: relative;
|
||
z-index: 3;
|
||
min-width: 0;
|
||
margin-right: 8px;
|
||
margin-left: 8px;
|
||
}
|
||
|
||
.agent-gui-node__composer-input-group-hero > .agent-gui-chrome__session-chrome {
|
||
margin-right: 24px;
|
||
margin-left: 24px;
|
||
}
|
||
|
||
.agent-gui-node__bottom-dock > .agent-gui-chrome__session-chrome {
|
||
margin-right: 24px;
|
||
margin-left: 24px;
|
||
}
|
||
|
||
.agent-gui-node__bottom-dock
|
||
> .agent-gui-chrome__session-chrome:has(+ .agent-gui-chrome__session-chrome) {
|
||
margin-right: 36px;
|
||
margin-left: 36px;
|
||
}
|
||
|
||
.agent-gui-node__bottom-dock
|
||
> .agent-gui-chrome__session-chrome:has(
|
||
+ .agent-gui-node__composer
|
||
.agent-gui-node__composer-input-group
|
||
> .agent-gui-chrome__session-chrome
|
||
) {
|
||
margin-right: 36px;
|
||
margin-left: 36px;
|
||
}
|
||
|
||
.agent-gui-node__bottom-dock
|
||
> .agent-gui-chrome__session-chrome:has(
|
||
+ .agent-gui-node__composer
|
||
.agent-gui-node__composer-input-group
|
||
> .agent-gui-chrome__session-chrome
|
||
)
|
||
+ .agent-gui-node__composer
|
||
.agent-gui-node__composer-input-group
|
||
> .agent-gui-chrome__session-chrome {
|
||
margin-right: 24px;
|
||
margin-left: 24px;
|
||
}
|
||
|
||
.agent-gui-chrome__card {
|
||
display: grid;
|
||
gap: 8px;
|
||
border: 1px solid var(--agent-gui-border-subtle, var(--line-2));
|
||
border-radius: 12px;
|
||
padding: 12px;
|
||
background: var(--agent-gui-surface-strong, var(--background-panel));
|
||
}
|
||
|
||
.agent-gui-chrome__card--warning,
|
||
.agent-gui-chrome__card--danger,
|
||
.agent-gui-chrome__card--success,
|
||
.agent-gui-chrome__card--muted,
|
||
.agent-gui-chrome__card--connecting {
|
||
--agent-gui-chrome-card-spring: cubic-bezier(0.22, 1.18, 0.36, 1);
|
||
|
||
animation: agent-gui-chrome-card-enter 260ms
|
||
var(--agent-gui-chrome-card-spring);
|
||
box-sizing: border-box;
|
||
height: auto;
|
||
min-height: 36px;
|
||
overflow: hidden;
|
||
transform: translateY(0) scaleY(1);
|
||
transform-origin: bottom center;
|
||
transition:
|
||
border-radius 220ms cubic-bezier(0.16, 1, 0.3, 1),
|
||
transform 280ms var(--agent-gui-chrome-card-spring);
|
||
}
|
||
|
||
@keyframes agent-gui-chrome-card-enter {
|
||
from {
|
||
opacity: 0;
|
||
transform: translateY(6px) scaleY(0.96);
|
||
}
|
||
}
|
||
|
||
.agent-gui-chrome__card--warning {
|
||
border-color: color-mix(
|
||
in srgb,
|
||
var(--agent-gui-warning, var(--cove-label-orange)) 36%,
|
||
transparent
|
||
);
|
||
border-bottom: 0;
|
||
border-bottom-right-radius: 0;
|
||
border-bottom-left-radius: 0;
|
||
background: color-mix(
|
||
in srgb,
|
||
var(--agent-gui-warning, var(--cove-label-orange)) 10%,
|
||
var(--background-fronted)
|
||
);
|
||
grid-template-columns: minmax(0, 1fr) auto;
|
||
align-items: center;
|
||
min-height: 36px;
|
||
padding: 6px 16px;
|
||
cursor: default;
|
||
}
|
||
|
||
.agent-gui-chrome__card--warning .agent-gui-chrome__icon,
|
||
.agent-gui-chrome__card--warning .agent-gui-chrome__message {
|
||
color: var(--agent-gui-warning, var(--cove-label-orange));
|
||
}
|
||
|
||
.agent-gui-chrome__card--warning .agent-gui-chrome__actions button,
|
||
.agent-gui-chrome__card--warning .agent-gui-chrome__danger-ghost-button {
|
||
color: var(--agent-gui-warning, var(--cove-label-orange));
|
||
}
|
||
|
||
.agent-gui-chrome__card--warning
|
||
.agent-gui-chrome__actions
|
||
button:hover:not(:disabled),
|
||
.agent-gui-chrome__card--warning
|
||
.agent-gui-chrome__danger-ghost-button:hover:not(:disabled) {
|
||
background: color-mix(
|
||
in srgb,
|
||
var(--agent-gui-warning, var(--cove-label-orange)) 14%,
|
||
transparent
|
||
);
|
||
}
|
||
|
||
.agent-gui-chrome__card--action {
|
||
border-color: color-mix(
|
||
in srgb,
|
||
var(--accent) 24%,
|
||
var(--agent-gui-border-subtle, var(--line-2))
|
||
);
|
||
background: color-mix(
|
||
in srgb,
|
||
var(--accent) 8%,
|
||
var(--agent-gui-surface, var(--background-panel))
|
||
);
|
||
}
|
||
|
||
.agent-gui-chrome__card--muted {
|
||
border-bottom: 0;
|
||
border-top-left-radius: 8px;
|
||
border-top-right-radius: 8px;
|
||
border-bottom-right-radius: 0;
|
||
border-bottom-left-radius: 0;
|
||
align-items: center;
|
||
min-height: 36px;
|
||
padding: 6px 16px;
|
||
background: var(--transparency-block);
|
||
cursor: default;
|
||
}
|
||
|
||
.agent-gui-chrome__card--connecting {
|
||
border-color: var(--agent-gui-border-subtle, var(--line-2));
|
||
border-bottom: 0;
|
||
border-top-left-radius: 8px;
|
||
border-top-right-radius: 8px;
|
||
border-bottom-right-radius: 0;
|
||
border-bottom-left-radius: 0;
|
||
color: var(--agent-gui-text-primary, var(--text-primary));
|
||
align-items: center;
|
||
min-height: 36px;
|
||
padding: 6px 16px;
|
||
cursor: default;
|
||
background: var(--agent-gui-surface-strong, var(--background-fronted));
|
||
}
|
||
|
||
.agent-gui-chrome__card--connecting .agent-gui-chrome__message {
|
||
display: inline-flex;
|
||
min-width: 0;
|
||
align-items: center;
|
||
color: var(--agent-gui-text-primary, var(--text-primary));
|
||
}
|
||
|
||
.agent-gui-chrome__card--connecting .agent-gui-chrome__icon {
|
||
color: var(--agent-gui-text-primary, var(--text-primary));
|
||
}
|
||
|
||
.agent-gui-chrome__card--danger {
|
||
border-color: color-mix(
|
||
in srgb,
|
||
var(--status-danger, var(--state-danger)) 28%,
|
||
transparent
|
||
);
|
||
border-bottom: 0;
|
||
border-top-left-radius: 8px;
|
||
border-top-right-radius: 8px;
|
||
border-bottom-right-radius: 0;
|
||
border-bottom-left-radius: 0;
|
||
background: color-mix(
|
||
in srgb,
|
||
var(--status-danger, var(--state-danger)) 10%,
|
||
var(--background-fronted)
|
||
);
|
||
grid-template-columns: minmax(0, 1fr) auto;
|
||
align-items: center;
|
||
min-height: 36px;
|
||
padding: 6px 16px;
|
||
cursor: default;
|
||
}
|
||
|
||
.agent-gui-chrome__card[data-has-inline-actions="true"] {
|
||
padding-right: 4px;
|
||
}
|
||
|
||
.agent-gui-chrome__card--danger .agent-gui-chrome__icon,
|
||
.agent-gui-chrome__card--danger .agent-gui-chrome__message {
|
||
color: var(--status-danger, var(--state-danger));
|
||
}
|
||
|
||
.agent-gui-chrome__danger-ghost-button {
|
||
background: transparent;
|
||
color: var(--status-danger, var(--state-danger));
|
||
font-size: 13px;
|
||
font-weight: 400;
|
||
}
|
||
|
||
.agent-gui-chrome__danger-ghost-button:hover:not(:disabled) {
|
||
background: var(--on-danger-hover);
|
||
color: var(--status-danger-hover, var(--state-danger-hover));
|
||
}
|
||
|
||
.agent-gui-chrome__card--success {
|
||
/* --state-success alone reads ~2:1 against the light-theme card wash;
|
||
mixing toward --text-primary keeps the hue while adapting the contrast
|
||
in both themes (45% keeps 13px text past the 4.5:1 target). Borders and
|
||
backgrounds stay on the raw token. */
|
||
--agent-gui-chrome-success-foreground: color-mix(
|
||
in srgb,
|
||
var(--state-success) 45%,
|
||
var(--text-primary)
|
||
);
|
||
|
||
border-color: color-mix(in srgb, var(--state-success) 28%, transparent);
|
||
border-bottom: 0;
|
||
border-top-left-radius: 8px;
|
||
border-top-right-radius: 8px;
|
||
border-bottom-right-radius: 0;
|
||
border-bottom-left-radius: 0;
|
||
background: color-mix(
|
||
in srgb,
|
||
var(--state-success) 10%,
|
||
var(--background-fronted)
|
||
);
|
||
grid-template-columns: minmax(0, 1fr) auto;
|
||
align-items: center;
|
||
min-height: 36px;
|
||
padding: 6px 16px;
|
||
cursor: default;
|
||
}
|
||
|
||
.agent-gui-chrome__card--success .agent-gui-chrome__icon,
|
||
.agent-gui-chrome__card--success .agent-gui-chrome__message {
|
||
color: var(--agent-gui-chrome-success-foreground, var(--state-success));
|
||
}
|
||
|
||
.agent-gui-chrome__success-ghost-button {
|
||
background: transparent;
|
||
color: var(--agent-gui-chrome-success-foreground, var(--state-success));
|
||
font-size: 13px;
|
||
font-weight: 400;
|
||
}
|
||
|
||
.agent-gui-chrome__success-ghost-button:hover:not(:disabled) {
|
||
background: color-mix(in srgb, var(--state-success) 14%, transparent);
|
||
}
|
||
|
||
.agent-gui-chrome__success-ghost-button:focus-visible {
|
||
border-color: var(--state-success);
|
||
color: var(--agent-gui-chrome-success-foreground, var(--state-success));
|
||
box-shadow: 0 0 0 2px
|
||
color-mix(in srgb, var(--state-success) 25%, transparent);
|
||
}
|
||
|
||
.agent-gui-chrome__danger-ghost-button:focus-visible {
|
||
border-color: var(--status-danger, var(--state-danger));
|
||
color: var(--status-danger, var(--state-danger));
|
||
box-shadow: 0 0 0 2px
|
||
color-mix(
|
||
in srgb,
|
||
var(--status-danger, var(--state-danger)) 25%,
|
||
transparent
|
||
);
|
||
}
|
||
|
||
.agent-gui-chrome__icon {
|
||
display: inline-flex;
|
||
flex: 0 0 auto;
|
||
align-items: center;
|
||
justify-content: center;
|
||
width: 16px;
|
||
height: 16px;
|
||
color: currentColor;
|
||
}
|
||
|
||
.agent-gui-chrome__title {
|
||
color: var(--agent-gui-text-secondary, var(--text-secondary));
|
||
font-size: 13px;
|
||
line-height: 20px;
|
||
font-weight: 600;
|
||
}
|
||
|
||
.agent-gui-chrome__message {
|
||
margin: 0;
|
||
flex: 1 1 auto;
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
color: var(--agent-gui-text-secondary, var(--text-secondary));
|
||
font-size: 13px;
|
||
line-height: 20px;
|
||
}
|
||
|
||
.agent-gui-chrome__card--warning
|
||
.agent-gui-chrome__message:not(.agent-gui-chrome__notice-message),
|
||
.agent-gui-chrome__card--danger
|
||
.agent-gui-chrome__message:not(.agent-gui-chrome__notice-message),
|
||
.agent-gui-chrome__card--success
|
||
.agent-gui-chrome__message:not(.agent-gui-chrome__notice-message),
|
||
.agent-gui-chrome__card--muted
|
||
.agent-gui-chrome__message:not(.agent-gui-chrome__notice-message),
|
||
.agent-gui-chrome__card--connecting
|
||
.agent-gui-chrome__message:not(.agent-gui-chrome__notice-message) {
|
||
display: -webkit-box;
|
||
overflow: hidden;
|
||
text-overflow: clip;
|
||
white-space: normal;
|
||
-webkit-box-orient: vertical;
|
||
-webkit-line-clamp: 2;
|
||
}
|
||
|
||
.agent-gui-chrome__message-tooltip {
|
||
max-width: min(560px, calc(100vw - 32px));
|
||
max-height: min(40vh, 260px);
|
||
overflow: auto;
|
||
overflow-wrap: anywhere;
|
||
text-align: left;
|
||
white-space: pre-wrap;
|
||
}
|
||
|
||
.agent-gui-chrome__notice-message {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 10px;
|
||
}
|
||
|
||
.agent-gui-chrome__notice-title {
|
||
flex: 0 0 auto;
|
||
color: currentColor;
|
||
font-weight: 400;
|
||
}
|
||
|
||
.agent-gui-chrome__notice-description {
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
color: currentColor;
|
||
font-weight: 400;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-chrome__goal-hint {
|
||
flex: 0 0 auto;
|
||
white-space: nowrap;
|
||
font-size: 11px;
|
||
font-weight: 400;
|
||
line-height: 16px;
|
||
color: var(--agent-gui-text-tertiary, var(--text-tertiary));
|
||
opacity: 0.8;
|
||
}
|
||
|
||
.agent-gui-chrome__goal-actions {
|
||
display: flex;
|
||
flex: 0 0 auto;
|
||
align-items: center;
|
||
gap: 4px;
|
||
}
|
||
|
||
.agent-gui-chrome__goal-actions button {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
gap: 4px;
|
||
min-height: 22px;
|
||
padding: 2px 8px;
|
||
border: 0;
|
||
border-radius: 6px;
|
||
background: transparent;
|
||
font-size: 11px;
|
||
font-weight: 500;
|
||
line-height: 16px;
|
||
color: var(--agent-gui-text-secondary, var(--text-secondary));
|
||
cursor: pointer;
|
||
}
|
||
|
||
.agent-gui-chrome__goal-actions button:hover {
|
||
background: color-mix(
|
||
in srgb,
|
||
var(--agent-gui-text-primary, var(--text-primary)) 8%,
|
||
transparent
|
||
);
|
||
color: var(--agent-gui-text-primary, var(--text-primary));
|
||
}
|
||
|
||
/* Tutti workflow intensity button: tint icon + tier label + value by tier.
|
||
Needs the extra attribute hook to outrank the goal-actions button rule. */
|
||
.agent-gui-chrome__goal-actions button[data-agent-tutti-tier="cost"] {
|
||
color: var(--state-success);
|
||
}
|
||
|
||
.agent-gui-chrome__goal-actions button[data-agent-tutti-tier="balance"] {
|
||
color: var(--accent-codex);
|
||
}
|
||
|
||
.agent-gui-chrome__goal-actions button[data-agent-tutti-tier="powerful"] {
|
||
color: var(--tutti-purple);
|
||
}
|
||
|
||
/* The Tutti intensity chip is a non-button-like indicator: keep it flat on
|
||
hover instead of picking up the goal-actions button hover background. */
|
||
.agent-gui-chrome__goal-actions button[data-agent-tutti-tier]:hover {
|
||
background: transparent;
|
||
}
|
||
|
||
.agent-gui-chrome__composer-disclosure {
|
||
display: grid;
|
||
min-width: 0;
|
||
}
|
||
|
||
.agent-gui-chrome__composer-disclosure-panel {
|
||
box-sizing: border-box;
|
||
max-height: min(52vh, 520px);
|
||
overflow: auto;
|
||
/* The translateY below fuses the panel with its own banner by painting
|
||
over the banner's top edge; the matching negative margin keeps the
|
||
panel flush with any card stacked above it instead of leaving a gap. */
|
||
margin-top: -12px;
|
||
border: 1px solid var(--agent-gui-border-subtle, var(--line-2));
|
||
border-bottom: 0;
|
||
border-radius: 12px 12px 0 0;
|
||
padding: 12px;
|
||
background: var(--agent-gui-surface-strong, var(--background-panel));
|
||
pointer-events: auto;
|
||
transform: translateY(12px);
|
||
}
|
||
|
||
/* Tutti workflow plan-review surfaces: --background-fronted base with an 8%
|
||
tutti-purple wash. Geometry (fused panel/banner overlap, radii, borders)
|
||
stays identical to the generic disclosure card. */
|
||
.agent-gui-chrome__tutti-workflow-panel {
|
||
padding: 8px;
|
||
background: color-mix(
|
||
in srgb,
|
||
var(--tutti-purple) 8%,
|
||
var(--background-fronted)
|
||
);
|
||
}
|
||
|
||
.agent-gui-chrome__tutti-workflow-banner {
|
||
background: color-mix(
|
||
in srgb,
|
||
var(--tutti-purple) 8%,
|
||
var(--background-fronted)
|
||
);
|
||
}
|
||
|
||
.agent-gui-chrome__composer-disclosure[data-expanded="true"]
|
||
.agent-gui-chrome__composer-disclosure-banner {
|
||
border-top-left-radius: 0;
|
||
border-top-right-radius: 0;
|
||
}
|
||
|
||
.agent-gui-chrome__composer-disclosure-banner {
|
||
grid-template-columns: minmax(0, 1fr) auto;
|
||
gap: 4px;
|
||
}
|
||
|
||
.agent-gui-chrome__composer-disclosure-trigger {
|
||
display: flex;
|
||
min-width: 0;
|
||
align-items: center;
|
||
gap: 8px;
|
||
border: 0;
|
||
padding: 0;
|
||
background: transparent;
|
||
color: var(--agent-gui-text-secondary, var(--text-secondary));
|
||
text-align: left;
|
||
cursor: pointer;
|
||
}
|
||
|
||
.agent-gui-chrome__composer-disclosure-trigger:focus-visible {
|
||
border-radius: 6px;
|
||
outline: 2px solid color-mix(in srgb, var(--tutti-purple) 62%, transparent);
|
||
outline-offset: 2px;
|
||
}
|
||
|
||
.agent-gui-chrome__composer-disclosure-chevron {
|
||
width: 14px;
|
||
height: 14px;
|
||
flex: 0 0 auto;
|
||
transition: transform 160ms ease;
|
||
}
|
||
|
||
.agent-gui-chrome__composer-disclosure-chevron--expanded {
|
||
transform: rotate(180deg);
|
||
}
|
||
|
||
@media (prefers-reduced-motion: reduce) {
|
||
.agent-gui-chrome__composer-disclosure-chevron {
|
||
transition: none;
|
||
}
|
||
}
|
||
|
||
.agent-gui-chrome__goal-edit-input {
|
||
min-width: 0;
|
||
flex: 1 1 auto;
|
||
border: 0;
|
||
border-radius: 6px;
|
||
padding: 2px 6px;
|
||
background: color-mix(
|
||
in srgb,
|
||
var(--agent-gui-text-primary, var(--text-primary)) 6%,
|
||
transparent
|
||
);
|
||
font-size: 12px;
|
||
line-height: 18px;
|
||
color: var(--agent-gui-text-primary, var(--text-primary));
|
||
outline: none;
|
||
}
|
||
|
||
.agent-gui-chrome__message-slot {
|
||
display: flex;
|
||
min-width: 0;
|
||
flex: 1 1 auto;
|
||
align-items: center;
|
||
gap: 8px;
|
||
}
|
||
|
||
.agent-gui-chrome__inline-actions {
|
||
display: flex;
|
||
flex: 0 0 auto;
|
||
align-items: center;
|
||
gap: 8px;
|
||
}
|
||
|
||
.agent-gui-chrome__inline-actions button {
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.agent-gui-chrome__actions,
|
||
.agent-gui-chrome__meta-row {
|
||
display: flex;
|
||
min-width: 0;
|
||
flex-wrap: nowrap;
|
||
gap: 8px;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
}
|
||
|
||
.agent-gui-chrome__actions button {
|
||
min-height: 30px;
|
||
border: 1px solid var(--agent-gui-border, var(--cove-border));
|
||
border-radius: 6px;
|
||
background: var(--agent-gui-surface-muted, var(--transparency-block));
|
||
color: var(--text-primary);
|
||
font: inherit;
|
||
font-size: 13px;
|
||
font-weight: 600;
|
||
padding: 4px 12px;
|
||
transition:
|
||
border-color 140ms ease,
|
||
background-color 140ms ease,
|
||
color 140ms ease;
|
||
}
|
||
|
||
.agent-gui-chrome__actions button:hover:not(:disabled) {
|
||
border-color: color-mix(
|
||
in srgb,
|
||
var(--accent) 44%,
|
||
var(--agent-gui-border, var(--cove-border))
|
||
);
|
||
background: var(--agent-gui-surface-hover, var(--transparency-block));
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
.agent-gui-chrome__actions button:disabled {
|
||
cursor: not-allowed;
|
||
opacity: 0.55;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-prompt {
|
||
padding: 0 clamp(20px, 4vw, 52px) 14px;
|
||
background: transparent;
|
||
font-family: var(
|
||
--tsh-font-ui,
|
||
var(--font-ui, var(--font-sans-system, sans-serif))
|
||
);
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-prompt--embedded {
|
||
padding: 0;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-prompt-card {
|
||
display: grid;
|
||
gap: 12px;
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
min-width: 0;
|
||
max-width: 100%;
|
||
border: 1px solid var(--line-2, var(--tutti-line-2));
|
||
border-radius: 12px;
|
||
background: var(--background-fronted);
|
||
padding: 12px 16px 16px;
|
||
box-shadow: 0 8px 24px
|
||
color-mix(in srgb, var(--tutti-p-shadow-node) 16%, transparent);
|
||
transform-origin: bottom center;
|
||
animation: agent-gui-interactive-prompt-enter 190ms
|
||
cubic-bezier(0.16, 1, 0.3, 1) both;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-prompt-card.agent-gui-edge-glow {
|
||
--agent-gui-star-border-radius: 12px;
|
||
}
|
||
|
||
[data-testid="workspace-agent-message-center"]
|
||
.agent-gui-conversation__interactive-prompt--embedded
|
||
.agent-gui-conversation__interactive-prompt-card {
|
||
box-sizing: border-box;
|
||
min-width: 0;
|
||
max-width: 100%;
|
||
border: 0;
|
||
border-radius: 12px;
|
||
padding: 12px;
|
||
box-shadow: none;
|
||
}
|
||
|
||
[data-testid="workspace-agent-message-center"]
|
||
.agent-gui-conversation__interactive-prompt--embedded,
|
||
[data-testid="workspace-agent-message-center"]
|
||
.agent-gui-conversation__interactive-prompt-options,
|
||
[data-testid="workspace-agent-message-center"]
|
||
.agent-gui-conversation__interactive-option-display,
|
||
[data-testid="workspace-agent-message-center"]
|
||
.agent-gui-conversation__interactive-option-button {
|
||
box-sizing: border-box;
|
||
min-width: 0;
|
||
max-width: 100%;
|
||
}
|
||
|
||
[data-testid="workspace-agent-message-center"]
|
||
.agent-gui-conversation__interactive-prompt-question,
|
||
[data-testid="workspace-agent-message-center"]
|
||
.agent-gui-conversation__interactive-option-title,
|
||
[data-testid="workspace-agent-message-center"]
|
||
.agent-gui-conversation__interactive-option-description {
|
||
min-width: 0;
|
||
max-width: 100%;
|
||
overflow-wrap: anywhere;
|
||
}
|
||
|
||
[data-testid="workspace-agent-message-center"]
|
||
.agent-gui-conversation__interactive-option-command-description {
|
||
min-width: 0;
|
||
max-width: 100%;
|
||
overflow-wrap: anywhere;
|
||
}
|
||
|
||
@media (prefers-reduced-motion: reduce) {
|
||
.agent-gui-conversation__interactive-prompt-card {
|
||
animation: none;
|
||
}
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-prompt-header {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
gap: 12px;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-prompt-lead-content {
|
||
display: grid;
|
||
gap: 4px;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-prompt-lead {
|
||
color: var(--text-primary);
|
||
font-size: 15px;
|
||
font-weight: 500;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-prompt-meta {
|
||
color: var(--text-tertiary);
|
||
font-size: 13px;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-prompt-question {
|
||
color: var(--text-secondary);
|
||
font-size: 13px;
|
||
line-height: 1.5;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-prompt-options {
|
||
display: grid;
|
||
gap: 8px;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-option-button {
|
||
display: flex;
|
||
align-items: center;
|
||
box-sizing: border-box;
|
||
gap: 12px;
|
||
width: 100%;
|
||
min-width: 0;
|
||
border: 0;
|
||
border-radius: 8px;
|
||
background: var(--transparency-block);
|
||
color: var(--text-primary);
|
||
font-family: inherit;
|
||
font-size: 13px;
|
||
font-weight: 500;
|
||
line-height: 1.3;
|
||
outline: none;
|
||
padding: 8px 8px 8px 12px;
|
||
text-align: left;
|
||
transition:
|
||
background-color 150ms ease,
|
||
box-shadow 150ms ease,
|
||
color 150ms ease;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-option-button:hover:not(:disabled),
|
||
.agent-gui-conversation__interactive-option-button[data-active="true"] {
|
||
background: var(--transparency-hover);
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-option-button[data-active="true"] {
|
||
box-shadow: inset 0 0 0 1px
|
||
color-mix(in srgb, var(--text-primary) 24%, transparent);
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-option-button:focus-visible {
|
||
outline: 2px solid var(--border-focus);
|
||
outline-offset: 2px;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-option-display {
|
||
display: grid;
|
||
gap: 3px;
|
||
justify-items: start;
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
min-width: 0;
|
||
max-width: 100%;
|
||
overflow: hidden;
|
||
border: 1px solid var(--line-2);
|
||
border-radius: 8px;
|
||
background: transparent;
|
||
color: var(--text-primary);
|
||
font-size: 13px;
|
||
font-weight: 500;
|
||
line-height: 1.3;
|
||
padding: 12px;
|
||
text-align: left;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-option-button:disabled {
|
||
cursor: not-allowed;
|
||
background: var(--transparency-block);
|
||
color: var(--text-disabled);
|
||
opacity: 0.48;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-option-button:disabled
|
||
.agent-gui-conversation__interactive-option-title,
|
||
.agent-gui-conversation__interactive-option-button:disabled
|
||
.agent-gui-conversation__interactive-option-description,
|
||
.agent-gui-conversation__interactive-option-button:disabled
|
||
.agent-gui-conversation__interactive-option-shortcut {
|
||
color: var(--text-disabled);
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-option-button:disabled
|
||
.agent-gui-conversation__interactive-option-shortcut {
|
||
background: color-mix(in srgb, var(--transparency-block) 54%, transparent);
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-option-title {
|
||
display: -webkit-box;
|
||
max-width: 100%;
|
||
overflow: hidden;
|
||
font-size: 13px;
|
||
font-weight: 500;
|
||
line-height: 1.3;
|
||
overflow-wrap: anywhere;
|
||
-webkit-box-orient: vertical;
|
||
-webkit-line-clamp: 2;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-option-content {
|
||
display: grid;
|
||
flex: 1 1 auto;
|
||
gap: 3px;
|
||
justify-items: start;
|
||
max-width: 100%;
|
||
min-width: 0;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-option-description {
|
||
max-width: 100%;
|
||
color: var(--text-tertiary);
|
||
font-size: 11px;
|
||
font-weight: 400;
|
||
line-height: 1.3;
|
||
overflow-wrap: anywhere;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-option-command-description {
|
||
display: -webkit-box;
|
||
max-height: calc(1.3em * 4);
|
||
overflow: hidden;
|
||
font-family: var(
|
||
--tsh-font-mono,
|
||
var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace)
|
||
);
|
||
-webkit-box-orient: vertical;
|
||
-webkit-line-clamp: 4;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-option-command-tooltip {
|
||
max-width: min(640px, calc(100vw - 32px));
|
||
white-space: pre-wrap;
|
||
overflow-wrap: anywhere;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-option-shortcut {
|
||
flex: none;
|
||
margin-inline-start: auto;
|
||
font-weight: 500;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-option-spinner {
|
||
flex: none;
|
||
color: currentColor;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-feedback-composer {
|
||
position: relative;
|
||
display: block;
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
min-width: 0;
|
||
min-height: 80px;
|
||
overflow: hidden;
|
||
border: 1px solid var(--line-2);
|
||
border-radius: 7px;
|
||
background: var(--background-fronted);
|
||
padding-bottom: 44px;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-prompt-textarea {
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
min-height: 72px;
|
||
border: 1px solid var(--line-2);
|
||
border-radius: 8px;
|
||
background: var(--background-fronted);
|
||
color: var(--text-primary);
|
||
font: inherit;
|
||
font-size: 13px;
|
||
line-height: 1.5;
|
||
padding: 12px;
|
||
resize: vertical;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-feedback-composer
|
||
.agent-gui-conversation__interactive-prompt-textarea {
|
||
display: block;
|
||
box-sizing: border-box;
|
||
min-width: 0;
|
||
min-height: 36px;
|
||
max-height: 132px;
|
||
overflow-y: auto;
|
||
border: 0;
|
||
border-radius: 0;
|
||
background: transparent;
|
||
color: var(--text-primary);
|
||
font-size: 13px;
|
||
line-height: 1.45;
|
||
padding: 9px 10px;
|
||
resize: vertical;
|
||
scrollbar-width: thin;
|
||
scrollbar-color: var(--transparency-hover) transparent;
|
||
scrollbar-gutter: stable;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-feedback-composer
|
||
.agent-gui-conversation__interactive-prompt-textarea::placeholder {
|
||
color: var(--text-placeholder);
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-feedback-composer
|
||
.agent-gui-conversation__interactive-prompt-textarea::-webkit-scrollbar {
|
||
display: block;
|
||
width: 4px;
|
||
height: 4px;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-feedback-composer
|
||
.agent-gui-conversation__interactive-prompt-textarea::-webkit-scrollbar-track,
|
||
.agent-gui-conversation__interactive-feedback-composer
|
||
.agent-gui-conversation__interactive-prompt-textarea::-webkit-scrollbar-corner {
|
||
background: transparent;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-feedback-composer
|
||
.agent-gui-conversation__interactive-prompt-textarea::-webkit-scrollbar-thumb {
|
||
border-radius: 999px;
|
||
background: var(--transparency-hover);
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-feedback-send-button {
|
||
position: absolute;
|
||
right: 12px;
|
||
bottom: 12px;
|
||
display: grid;
|
||
place-items: center;
|
||
width: 28px;
|
||
min-width: 28px;
|
||
height: 28px;
|
||
min-height: 28px;
|
||
border: 0;
|
||
border-radius: 999px;
|
||
background: var(--text-primary);
|
||
color: var(--text-inverted);
|
||
font-family: inherit;
|
||
padding: 0;
|
||
transition:
|
||
transform 140ms ease,
|
||
background-color 140ms ease,
|
||
color 140ms ease;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-feedback-send-button:hover:not(:disabled) {
|
||
transform: translateY(-1px);
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-feedback-send-button:disabled {
|
||
background: var(--text-disabled);
|
||
color: var(--white-stationary);
|
||
cursor: not-allowed;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-feedback-send-button svg {
|
||
width: 22px;
|
||
height: 22px;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-prompt-footer {
|
||
display: grid;
|
||
gap: 10px;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-prompt-actions {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
justify-content: flex-end;
|
||
gap: 8px;
|
||
}
|
||
|
||
.agent-gui-conversation__interactive-prompt-card.agent-gui-conversation__interactive-prompt-collapsed {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
gap: 12px;
|
||
padding-block: 10px;
|
||
}
|
||
|
||
.agent-gui-conversation__user-message-flow,
|
||
.agent-gui-conversation__assistant-message-flow {
|
||
display: grid;
|
||
width: 100%;
|
||
min-width: 0;
|
||
}
|
||
|
||
.agent-gui-conversation__user-message-flow {
|
||
row-gap: 14px;
|
||
justify-items: end;
|
||
}
|
||
|
||
.agent-gui-conversation__participant-message-layout {
|
||
display: grid;
|
||
width: 100%;
|
||
min-width: 0;
|
||
}
|
||
|
||
.agent-gui-conversation__participant-message-header {
|
||
display: flex;
|
||
max-width: 100%;
|
||
min-width: 0;
|
||
align-items: center;
|
||
column-gap: 8px;
|
||
}
|
||
|
||
/* The participant header sits directly above the thinking/tool-call info and
|
||
the message content, so it uses a tighter gap than the default 24px flow
|
||
spacing. */
|
||
.agent-gui-conversation__assistant-message-flow
|
||
> .agent-gui-conversation__participant-message-header
|
||
+ * {
|
||
margin-top: 8px;
|
||
}
|
||
|
||
/* Content below the header aligns with the participant name: assistant
|
||
content insets to the name's left edge, user content to the name's right
|
||
edge (28px avatar + 8px gap). The header is pulled back over the padding so
|
||
it stays flush with the flow edge. */
|
||
.agent-gui-conversation__assistant-message-flow[data-agent-message-flow-participant="true"] {
|
||
padding-left: 36px;
|
||
}
|
||
|
||
.agent-gui-conversation__assistant-message-flow[data-agent-message-flow-participant="true"]
|
||
> .agent-gui-conversation__participant-message-header {
|
||
margin-left: -36px;
|
||
}
|
||
|
||
.agent-gui-conversation__user-message-flow[data-agent-message-flow-participant="true"] {
|
||
padding-right: 36px;
|
||
}
|
||
|
||
.agent-gui-conversation__user-message-flow[data-agent-message-flow-participant="true"]
|
||
> .agent-gui-conversation__participant-message-header {
|
||
margin-right: -36px;
|
||
}
|
||
|
||
/*
|
||
* Participant headers render once per visible turn. Later assistant-owned
|
||
* transcript rows are siblings of that header row, so carry the same
|
||
* avatar-and-gap inset onto their content without changing host row padding.
|
||
*/
|
||
.agent-gui-transcript-row[data-agent-transcript-row-participant-content="assistant"]
|
||
> * {
|
||
box-sizing: border-box;
|
||
padding-left: 36px;
|
||
}
|
||
|
||
.agent-gui-conversation__participant-name {
|
||
overflow: hidden;
|
||
font-size: 13px;
|
||
font-weight: 500;
|
||
line-height: 18px;
|
||
color: var(--text-secondary);
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
/* Hairline ring + crisp circular edge for participant avatars. The ring is
|
||
painted on the avatar root (paint, anti-aliased on composited layers); the
|
||
radial-gradient mask on the surface keeps the clipped image edge smooth in
|
||
virtualized/composited lists where border-radius clipping is not
|
||
anti-aliased. */
|
||
.agent-gui-conversation__participant-avatar {
|
||
border-radius: 50%;
|
||
box-shadow: 0 0 0 0.5px var(--line-2);
|
||
}
|
||
|
||
.agent-gui-conversation__participant-avatar [data-slot="avatar-surface"] {
|
||
-webkit-mask-image: radial-gradient(
|
||
circle closest-side,
|
||
#000 calc(100% - 1px),
|
||
transparent
|
||
);
|
||
mask-image: radial-gradient(
|
||
circle closest-side,
|
||
#000 calc(100% - 1px),
|
||
transparent
|
||
);
|
||
}
|
||
|
||
.agent-gui-conversation__participant-message-content {
|
||
display: grid;
|
||
width: 100%;
|
||
min-width: 0;
|
||
}
|
||
|
||
.agent-gui-conversation__participant-message-layout[data-agent-message-speaker="user"]
|
||
> .agent-gui-conversation__participant-message-content {
|
||
row-gap: 14px;
|
||
justify-items: end;
|
||
}
|
||
|
||
.agent-gui-conversation__message-group {
|
||
position: relative;
|
||
display: grid;
|
||
width: 100%;
|
||
min-width: 0;
|
||
}
|
||
|
||
.agent-gui-conversation__message-group::after {
|
||
position: absolute;
|
||
top: 100%;
|
||
right: 0;
|
||
left: 0;
|
||
height: 26px;
|
||
content: "";
|
||
}
|
||
|
||
.agent-gui-conversation__message-group[data-agent-message-footer="true"] {
|
||
margin-bottom: 26px;
|
||
}
|
||
|
||
.agent-gui-conversation__message-footer {
|
||
position: absolute;
|
||
top: calc(100% + 4px);
|
||
z-index: 1;
|
||
display: flex;
|
||
gap: 6px;
|
||
align-items: center;
|
||
opacity: 0;
|
||
pointer-events: none;
|
||
transform: translateY(-2px);
|
||
transition:
|
||
opacity 120ms ease,
|
||
transform 120ms ease;
|
||
}
|
||
|
||
.agent-gui-conversation__message-timestamp {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
height: 22px;
|
||
font-size: 11px;
|
||
line-height: 22px;
|
||
color: var(
|
||
--text-secondary,
|
||
color-mix(in srgb, var(--text-primary) 60%, transparent)
|
||
);
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-conversation__message-copy-button {
|
||
position: static;
|
||
width: 22px;
|
||
min-width: 22px;
|
||
height: 22px;
|
||
min-height: 22px;
|
||
border-radius: 5px;
|
||
border-color: transparent;
|
||
background: transparent;
|
||
box-shadow: none;
|
||
opacity: 0;
|
||
pointer-events: none;
|
||
transform: translateY(-2px);
|
||
transition:
|
||
opacity 120ms ease,
|
||
transform 120ms ease;
|
||
}
|
||
|
||
.agent-gui-conversation__message-copy-button[data-pending="true"] {
|
||
opacity: 1;
|
||
pointer-events: auto;
|
||
transform: translateY(0);
|
||
}
|
||
|
||
.agent-gui-conversation__message-footer
|
||
> .agent-gui-conversation__message-copy-button
|
||
+ .agent-gui-conversation__message-copy-button {
|
||
margin-left: -8px;
|
||
}
|
||
|
||
.agent-gui-conversation__message-group[data-agent-message-speaker="user"]
|
||
> .agent-gui-conversation__message-footer {
|
||
right: 0;
|
||
}
|
||
|
||
.agent-gui-conversation__message-group[data-agent-message-speaker="assistant"]
|
||
> .agent-gui-conversation__message-footer {
|
||
left: 0;
|
||
}
|
||
|
||
.agent-gui-conversation__message-group:hover
|
||
> .agent-gui-conversation__message-footer,
|
||
.agent-gui-conversation__message-group:focus-within
|
||
> .agent-gui-conversation__message-footer {
|
||
opacity: 1;
|
||
pointer-events: auto;
|
||
transform: translateY(0);
|
||
}
|
||
|
||
.agent-gui-conversation__message-group:hover
|
||
> .agent-gui-conversation__message-footer
|
||
> .agent-gui-conversation__message-copy-button,
|
||
.agent-gui-conversation__message-group:focus-within
|
||
> .agent-gui-conversation__message-footer
|
||
> .agent-gui-conversation__message-copy-button {
|
||
opacity: 1;
|
||
pointer-events: auto;
|
||
transform: translateY(0);
|
||
}
|
||
|
||
.agent-gui-conversation__message-copy-button[data-copied="true"] {
|
||
color: var(--state-success, #22c55e);
|
||
}
|
||
|
||
.agent-gui-conversation__user-message-flow
|
||
> .agent-gui-conversation__message-group {
|
||
justify-items: end;
|
||
}
|
||
|
||
.agent-gui-conversation__user-image-grid {
|
||
display: grid;
|
||
gap: 8px;
|
||
justify-self: end;
|
||
}
|
||
|
||
.agent-gui-conversation__user-image-thumbnail {
|
||
position: relative;
|
||
box-sizing: border-box;
|
||
height: 80px;
|
||
max-height: 80px;
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
border: 1px solid var(--line-2);
|
||
border-radius: 8px;
|
||
}
|
||
|
||
.agent-gui-conversation__user-image-thumbnail > .tsh-zoomable-image {
|
||
width: 100%;
|
||
height: 100%;
|
||
}
|
||
|
||
.agent-gui-conversation__user-image-thumbnail > .tsh-zoomable-image > img {
|
||
width: 100%;
|
||
height: 100%;
|
||
object-fit: contain;
|
||
}
|
||
|
||
.agent-gui-conversation__user-image-thumbnail[data-image-state="loading"]
|
||
> .tsh-zoomable-image {
|
||
opacity: 0;
|
||
pointer-events: none;
|
||
}
|
||
|
||
.agent-gui-conversation__user-image-thumbnail[data-image-state="loading"]
|
||
> .tsh-zoomable-image
|
||
> .tsh-zoomable-image__trigger {
|
||
visibility: hidden;
|
||
}
|
||
|
||
.agent-gui-conversation__assistant-message-flow {
|
||
gap: 0;
|
||
}
|
||
|
||
.agent-gui-conversation__assistant-message-flow > * + * {
|
||
margin-top: 24px;
|
||
}
|
||
|
||
.agent-gui-conversation__assistant-message-flow
|
||
> :is(
|
||
.workspace-agents-status-panel__detail-thinking-disclosure,
|
||
.workspace-agents-status-panel__detail-tool-section,
|
||
.workspace-agents-status-panel__detail-tool-row
|
||
)
|
||
+ :is(
|
||
.workspace-agents-status-panel__detail-thinking-disclosure,
|
||
.workspace-agents-status-panel__detail-tool-section,
|
||
.workspace-agents-status-panel__detail-tool-row
|
||
) {
|
||
margin-top: 8px;
|
||
}
|
||
|
||
.agent-gui-node__timeline
|
||
> .agent-gui-conversation__assistant-message-flow[data-agent-message-flow-thinking-last="true"]
|
||
+ :is(
|
||
.workspace-agents-status-panel__detail-tool-section,
|
||
.workspace-agents-status-panel__detail-tool-row
|
||
),
|
||
.agent-gui-node__timeline
|
||
> :is(
|
||
.workspace-agents-status-panel__detail-tool-section,
|
||
.workspace-agents-status-panel__detail-tool-row
|
||
)
|
||
+ .agent-gui-conversation__assistant-message-flow[data-agent-message-flow-thinking-first="true"],
|
||
.agent-gui-node__timeline
|
||
> :is(
|
||
.workspace-agents-status-panel__detail-tool-section,
|
||
.workspace-agents-status-panel__detail-tool-row
|
||
)
|
||
+ :is(
|
||
.workspace-agents-status-panel__detail-tool-section,
|
||
.workspace-agents-status-panel__detail-tool-row
|
||
) {
|
||
margin-top: -8px;
|
||
}
|
||
|
||
.agent-gui-node__timeline
|
||
> .agent-gui-transcript-row[data-agent-transcript-row-thinking-last="true"]
|
||
+ .agent-gui-transcript-row[data-agent-transcript-row-kind="tool-group"],
|
||
.agent-gui-node__timeline
|
||
> .agent-gui-transcript-row[data-agent-transcript-row-kind="tool-group"]
|
||
+ .agent-gui-transcript-row[data-agent-transcript-row-thinking-first="true"],
|
||
.agent-gui-node__timeline
|
||
> .agent-gui-transcript-row[data-agent-transcript-row-kind="tool-group"]
|
||
+ .agent-gui-transcript-row[data-agent-transcript-row-kind="tool-group"] {
|
||
margin-top: -8px;
|
||
}
|
||
|
||
.agent-gui-node__timeline
|
||
> .agent-gui-transcript-row[data-agent-transcript-row-speaker="assistant"]
|
||
+ .agent-gui-transcript-row[data-agent-transcript-row-kind="tool-group"],
|
||
.agent-gui-node__timeline
|
||
> .agent-gui-transcript-row[data-agent-transcript-row-kind="tool-group"]
|
||
+ .agent-gui-transcript-row[data-agent-transcript-row-speaker="assistant"] {
|
||
margin-top: -12px;
|
||
}
|
||
|
||
.agent-gui-conversation__user-message-bubble {
|
||
align-self: flex-end;
|
||
}
|
||
|
||
.agent-gui-conversation__assistant-markdown {
|
||
max-width: min(880px, 100%);
|
||
padding: 0;
|
||
border: 0;
|
||
border-radius: 0;
|
||
background: transparent;
|
||
box-shadow: none;
|
||
color: var(--agent-conversation-text, var(--text-primary));
|
||
font-size: 13px;
|
||
line-height: 1.72;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-user-message.agent-gui-conversation__user-message-bubble {
|
||
box-sizing: border-box;
|
||
display: inline-block;
|
||
justify-self: end;
|
||
width: fit-content;
|
||
min-width: 0;
|
||
max-width: var(--agent-conversation-user-max-width, min(540px, 72%));
|
||
overflow: visible;
|
||
padding: 8px 12px;
|
||
border-radius: 8px;
|
||
background: var(--agent-conversation-user-bg, var(--transparency-block));
|
||
color: var(--agent-conversation-user-text, var(--text-primary));
|
||
font-size: 13px;
|
||
line-height: 24px;
|
||
box-shadow: none;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-user-message.agent-gui-conversation__user-message-bubble.agent-gui-conversation__user-message-editor {
|
||
display: grid;
|
||
width: calc(100% - 32px);
|
||
min-width: 0;
|
||
max-width: calc(100% - 32px);
|
||
gap: 8px;
|
||
padding: 10px 12px 8px;
|
||
border-radius: 16px;
|
||
}
|
||
|
||
.agent-gui-conversation__user-message-editor:focus-within {
|
||
outline: 1px solid var(--tsh-shell-accent);
|
||
outline-offset: 1px;
|
||
}
|
||
|
||
.agent-gui-conversation__user-message-editor-textarea {
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
min-height: 48px;
|
||
max-height: 192px;
|
||
padding: 0;
|
||
resize: none;
|
||
border: 0;
|
||
outline: 0;
|
||
background: transparent;
|
||
color: var(--text-primary);
|
||
font: inherit;
|
||
line-height: 1.55;
|
||
}
|
||
|
||
.agent-gui-conversation__user-message-editor-textarea:disabled {
|
||
color: var(--text-secondary);
|
||
cursor: not-allowed;
|
||
}
|
||
|
||
.agent-gui-conversation__user-message-editor-actions {
|
||
display: flex;
|
||
width: 100%;
|
||
gap: 4px;
|
||
justify-content: flex-end;
|
||
align-items: center;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-user-message.agent-gui-conversation__user-message-editor
|
||
> .agent-gui-conversation__user-message-editor-actions {
|
||
display: flex;
|
||
width: 100%;
|
||
justify-content: flex-end;
|
||
}
|
||
|
||
.agent-gui-conversation__user-message-editor-actions > [data-slot="button"] {
|
||
border-radius: 10px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-user-message[data-agent-mention-only="true"].agent-gui-conversation__user-message-bubble {
|
||
max-width: min(100%, calc(var(--agent-mention-max-width, 16rem) + 24px));
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-user-message .tsh-agent-object-token {
|
||
font-size: inherit;
|
||
overflow: visible;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-user-message
|
||
.agent-rich-text-mention-node {
|
||
/* Avoid a percentage max-width feeding the mention's untruncated intrinsic
|
||
width back into the fit-content message bubble. The nested pill still
|
||
shrinks against this wrapper when the available line is narrower. */
|
||
max-width: var(--agent-mention-max-width, 16rem);
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-user-message
|
||
.tsh-agent-object-token--file {
|
||
--agent-mention-file-icon-size: 16px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-user-message > div,
|
||
.workspace-agents-status-panel__detail-user-message > [contenteditable="false"],
|
||
.workspace-agents-status-panel__detail-user-message .ProseMirror {
|
||
display: inline-block;
|
||
width: fit-content;
|
||
min-width: 0;
|
||
max-width: 100%;
|
||
vertical-align: top;
|
||
font-size: inherit;
|
||
line-height: inherit;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-user-message.agent-gui-conversation__user-message-bubble
|
||
p {
|
||
width: fit-content;
|
||
max-width: 100%;
|
||
margin: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-user-message.agent-gui-conversation__user-message-bubble
|
||
p
|
||
+ p {
|
||
margin-top: 16px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-markdown-shell {
|
||
width: 100%;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-markdown.agent-gui-conversation__assistant-markdown {
|
||
padding: 0;
|
||
border: 0;
|
||
border-radius: 0;
|
||
background: transparent;
|
||
box-shadow: none;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-markdown.agent-gui-conversation__assistant-markdown
|
||
p {
|
||
margin: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-markdown.agent-gui-conversation__assistant-markdown
|
||
p
|
||
+ p {
|
||
margin-top: 16px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-markdown.agent-gui-conversation__assistant-markdown
|
||
hr {
|
||
height: 1px;
|
||
margin: 14px 0;
|
||
border: 0;
|
||
background: var(--line-2, var(--tutti-line-2));
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-markdown.agent-gui-conversation__assistant-markdown
|
||
pre,
|
||
.workspace-agents-status-panel__detail-markdown.agent-gui-conversation__assistant-markdown
|
||
pre
|
||
code {
|
||
font-family: "Droid Sans Mono", var(--tsh-font-mono);
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-markdown p:last-child,
|
||
.workspace-agents-status-panel__detail-markdown ul:last-child,
|
||
.workspace-agents-status-panel__detail-markdown ol:last-child,
|
||
.workspace-agents-status-panel__detail-markdown pre:last-child {
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-thinking-section,
|
||
.workspace-agents-status-panel__detail-turn-summary,
|
||
.workspace-agents-status-panel__detail-tool-section {
|
||
max-width: min(860px, 100%);
|
||
padding: 4px 0 0;
|
||
border: 0;
|
||
border-radius: 0;
|
||
background: transparent;
|
||
box-shadow: none;
|
||
}
|
||
|
||
.tsh-agent-object-token {
|
||
min-width: 0;
|
||
/* 超出最大展示宽度时截断为省略号(标签 __main 已有 ellipsis);hover 经原生 title 看完整文本。 */
|
||
max-width: min(100%, var(--agent-mention-max-width, 16rem));
|
||
text-decoration: none;
|
||
}
|
||
|
||
.tsh-agent-object-token__main {
|
||
flex: 1 1 auto;
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.tsh-agent-object-token--file {
|
||
position: relative;
|
||
top: 3px;
|
||
display: inline-flex;
|
||
align-items: center;
|
||
box-sizing: border-box;
|
||
gap: 4px;
|
||
padding: 2px 4px;
|
||
border: 1px solid transparent;
|
||
border-radius: 4px;
|
||
background: transparent;
|
||
color: var(--folder);
|
||
font-size: 13px;
|
||
font-weight: 600;
|
||
line-height: 20px;
|
||
vertical-align: middle;
|
||
}
|
||
|
||
.tsh-agent-object-token--file .tsh-agent-object-token__icon {
|
||
width: var(--agent-mention-file-icon-size, 16px);
|
||
height: var(--agent-mention-file-icon-size, 16px);
|
||
flex: 0 0 var(--agent-mention-file-icon-size, 16px);
|
||
background-color: currentColor;
|
||
mask-repeat: no-repeat;
|
||
mask-position: center;
|
||
mask-size: var(--agent-mention-file-icon-size, 16px)
|
||
var(--agent-mention-file-icon-size, 16px);
|
||
-webkit-mask-repeat: no-repeat;
|
||
-webkit-mask-position: center;
|
||
-webkit-mask-size: var(--agent-mention-file-icon-size, 16px)
|
||
var(--agent-mention-file-icon-size, 16px);
|
||
mask-image: url("./assets/icons/product-filled.svg");
|
||
-webkit-mask-image: url("./assets/icons/product-filled.svg");
|
||
}
|
||
|
||
.tsh-agent-object-token--entity {
|
||
position: relative;
|
||
top: -2px;
|
||
display: inline-flex;
|
||
align-items: center;
|
||
gap: 6px;
|
||
max-width: 100%;
|
||
min-height: 20px;
|
||
padding: 0;
|
||
background: transparent;
|
||
color: var(--text-primary);
|
||
font-size: 13px;
|
||
font-weight: 600;
|
||
line-height: inherit;
|
||
vertical-align: middle;
|
||
}
|
||
|
||
[data-agent-mention-only="true"] .tsh-agent-object-token--file,
|
||
[data-agent-mention-only="true"] .tsh-agent-object-token--entity {
|
||
top: 0;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-user-message
|
||
[data-agent-file-mention="true"][data-agent-mention-kind="file"].tsh-agent-object-token--file {
|
||
top: -2px;
|
||
line-height: 20px;
|
||
vertical-align: middle;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-user-message
|
||
[data-agent-file-mention="true"][data-agent-mention-kind="workspace-app"].tsh-agent-object-token--entity {
|
||
top: -2px;
|
||
min-height: 24px;
|
||
line-height: 24px;
|
||
vertical-align: middle;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-user-message
|
||
[data-agent-file-mention="true"][data-agent-mention-kind="workspace-app"]
|
||
.tsh-agent-object-token__main {
|
||
overflow: visible;
|
||
}
|
||
|
||
.tsh-agent-object-token__kind {
|
||
box-sizing: border-box;
|
||
display: inline-flex;
|
||
flex: 0 0 auto;
|
||
min-width: 0;
|
||
align-items: center;
|
||
justify-content: center;
|
||
overflow: visible;
|
||
white-space: nowrap;
|
||
height: 16px;
|
||
padding: 0 4px;
|
||
border-radius: 4px;
|
||
font-size: 11px;
|
||
font-weight: 600;
|
||
letter-spacing: 0;
|
||
line-height: 16px;
|
||
}
|
||
|
||
[data-agent-mention-kind="task"].tsh-agent-object-token--entity
|
||
.tsh-agent-object-token__kind {
|
||
flex-basis: 18px;
|
||
width: 18px;
|
||
height: 18px;
|
||
padding: 0;
|
||
background: transparent;
|
||
color: var(--label-purple);
|
||
}
|
||
|
||
[data-agent-mention-kind="task"].tsh-agent-object-token--entity {
|
||
gap: 4px;
|
||
color: var(--label-purple);
|
||
}
|
||
|
||
[data-agent-mention-kind="task"].tsh-agent-object-token--entity
|
||
.tsh-agent-object-token__kind-icon {
|
||
display: block;
|
||
flex: 0 0 16px;
|
||
width: 16px;
|
||
height: 16px;
|
||
background-color: currentColor;
|
||
mask-image: url("./assets/icons/issue-filled.svg");
|
||
mask-repeat: no-repeat;
|
||
mask-position: center;
|
||
mask-size: 16px 16px;
|
||
-webkit-mask-image: url("./assets/icons/issue-filled.svg");
|
||
-webkit-mask-repeat: no-repeat;
|
||
-webkit-mask-position: center;
|
||
-webkit-mask-size: 16px 16px;
|
||
}
|
||
|
||
[data-agent-mention-kind="workspace-issue"].tsh-agent-object-token--entity
|
||
.tsh-agent-object-token__kind {
|
||
flex-basis: 18px;
|
||
width: 18px;
|
||
height: 18px;
|
||
padding: 0;
|
||
background: transparent;
|
||
color: var(--label-purple);
|
||
}
|
||
|
||
[data-agent-mention-kind="workspace-issue"].tsh-agent-object-token--entity {
|
||
gap: 4px;
|
||
color: var(--label-purple);
|
||
}
|
||
|
||
[data-agent-mention-kind="workspace-issue"].tsh-agent-object-token--entity
|
||
.tsh-agent-object-token__kind-icon {
|
||
display: block;
|
||
flex: 0 0 16px;
|
||
width: 16px;
|
||
height: 16px;
|
||
background-color: currentColor;
|
||
mask-image: url("./assets/icons/issue-filled.svg");
|
||
mask-repeat: no-repeat;
|
||
mask-position: center;
|
||
mask-size: 16px 16px;
|
||
-webkit-mask-image: url("./assets/icons/issue-filled.svg");
|
||
-webkit-mask-repeat: no-repeat;
|
||
-webkit-mask-position: center;
|
||
-webkit-mask-size: 16px 16px;
|
||
}
|
||
|
||
[data-agent-mention-kind="session"].tsh-agent-object-token--entity
|
||
.tsh-agent-object-token__kind {
|
||
flex-basis: 18px;
|
||
width: 18px;
|
||
height: 18px;
|
||
padding: 0;
|
||
background: transparent;
|
||
color: var(--room-issue-running, var(--tsh-ui-pill-success-fg));
|
||
}
|
||
|
||
[data-agent-mention-kind="session"].tsh-agent-object-token--entity {
|
||
gap: 4px;
|
||
color: var(--room-issue-running, var(--tsh-ui-pill-success-fg));
|
||
}
|
||
|
||
[data-agent-mention-kind="session"].tsh-agent-object-token--entity
|
||
.tsh-agent-object-token__kind-icon {
|
||
display: block;
|
||
flex: 0 0 16px;
|
||
width: 16px;
|
||
height: 16px;
|
||
background-color: currentColor;
|
||
mask-image: url("./assets/icons/agent-sessions-filled.svg");
|
||
mask-repeat: no-repeat;
|
||
mask-position: center;
|
||
mask-size: 16px 16px;
|
||
-webkit-mask-image: url("./assets/icons/agent-sessions-filled.svg");
|
||
-webkit-mask-repeat: no-repeat;
|
||
-webkit-mask-position: center;
|
||
-webkit-mask-size: 16px 16px;
|
||
}
|
||
|
||
[data-agent-mention-kind="workspace-app"].tsh-agent-object-token--entity,
|
||
[data-agent-mention-kind="workspace-reference"][data-agent-reference-source="app"].tsh-agent-object-token--entity {
|
||
color: var(--agent-gui-mention-app-color, var(--tutti-purple));
|
||
}
|
||
|
||
[data-agent-mention-kind="skill"].tsh-agent-object-token--entity,
|
||
[data-agent-mention-kind="capability"].tsh-agent-object-token--entity {
|
||
top: -1px;
|
||
gap: 0;
|
||
padding: 0 4px 0 0;
|
||
background: transparent;
|
||
color: var(--tutti-purple);
|
||
}
|
||
|
||
[data-agent-mention-kind="skill"].tsh-agent-object-token--entity
|
||
.tsh-agent-object-token__main,
|
||
[data-agent-mention-kind="capability"].tsh-agent-object-token--entity
|
||
.tsh-agent-object-token__main {
|
||
padding: 0 6px;
|
||
border-radius: 6px;
|
||
background: transparent;
|
||
}
|
||
|
||
[data-agent-mention-kind="skill"].tsh-agent-object-token--entity.ProseMirror-selectednode
|
||
.tsh-agent-object-token__main,
|
||
[data-agent-mention-kind="capability"].tsh-agent-object-token--entity.ProseMirror-selectednode
|
||
.tsh-agent-object-token__main {
|
||
background: color-mix(in srgb, var(--tutti-purple) 20%, transparent);
|
||
}
|
||
|
||
[data-agent-mention-kind="skill"].tsh-agent-object-token--entity
|
||
.tsh-agent-object-token__kind,
|
||
[data-agent-mention-kind="capability"].tsh-agent-object-token--entity
|
||
.tsh-agent-object-token__kind {
|
||
display: none;
|
||
}
|
||
|
||
[data-agent-mention-kind="workspace-app"]
|
||
[data-agent-mention-app-icon="true"]
|
||
.tsh-agent-object-token__kind-icon,
|
||
[data-agent-mention-kind="workspace-reference"][data-agent-reference-source="app"]
|
||
[data-agent-mention-app-icon="true"]
|
||
.tsh-agent-object-token__kind-icon {
|
||
display: block;
|
||
width: 16px;
|
||
height: 16px;
|
||
flex: 0 0 16px;
|
||
background-color: currentColor;
|
||
mask-image: url("./assets/icons/product-filled.svg");
|
||
mask-repeat: no-repeat;
|
||
mask-position: center;
|
||
mask-size: 16px 16px;
|
||
-webkit-mask-image: url("./assets/icons/product-filled.svg");
|
||
-webkit-mask-repeat: no-repeat;
|
||
-webkit-mask-position: center;
|
||
-webkit-mask-size: 16px 16px;
|
||
}
|
||
|
||
.agent-gui-node__composer-textarea .agent-rich-text-mention-node {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
top: 1px;
|
||
height: 24px;
|
||
min-height: 24px;
|
||
line-height: 24px;
|
||
vertical-align: middle;
|
||
}
|
||
|
||
.agent-gui-node__composer-textarea
|
||
.agent-rich-text-mention-node[data-agent-custom-mention="true"] {
|
||
top: 0;
|
||
height: auto;
|
||
min-height: 0;
|
||
line-height: inherit;
|
||
}
|
||
|
||
.agent-gui-node__composer-textarea
|
||
.agent-rich-text-mention-node[data-agent-file-mention="true"].tsh-agent-object-token,
|
||
.agent-gui-node__composer-textarea
|
||
.agent-rich-text-mention-node
|
||
[data-slot="mention-pill"] {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
cursor: pointer;
|
||
top: 0;
|
||
height: 24px;
|
||
min-height: 24px;
|
||
padding-top: 0;
|
||
padding-right: 4px;
|
||
padding-bottom: 0;
|
||
padding-left: 4px;
|
||
border-radius: 4px;
|
||
line-height: 24px;
|
||
transform: translateY(1px);
|
||
transition: background-color 140ms ease-in-out;
|
||
vertical-align: middle;
|
||
}
|
||
|
||
.agent-gui-node__composer-textarea
|
||
.agent-rich-text-mention-node
|
||
[data-slot="mention-pill"] {
|
||
height: 24px;
|
||
}
|
||
|
||
.agent-gui-node__composer-textarea
|
||
[data-agent-mention-kind="skill"].tsh-agent-object-token--entity,
|
||
.agent-gui-node__composer-textarea
|
||
[data-agent-mention-kind="capability"].tsh-agent-object-token--entity {
|
||
top: 1px;
|
||
height: 24px;
|
||
min-height: 24px;
|
||
box-sizing: border-box;
|
||
line-height: 24px;
|
||
vertical-align: middle;
|
||
}
|
||
|
||
.agent-gui-node__composer-textarea
|
||
[data-agent-mention-kind="skill"].tsh-agent-object-token--entity
|
||
.tsh-agent-object-token__main,
|
||
.agent-gui-node__composer-textarea
|
||
[data-agent-mention-kind="capability"].tsh-agent-object-token--entity
|
||
.tsh-agent-object-token__main {
|
||
height: 24px;
|
||
box-sizing: border-box;
|
||
border-radius: 4px;
|
||
font-size: 13px;
|
||
line-height: 24px;
|
||
transform: translateY(-2px);
|
||
}
|
||
|
||
.agent-gui-node__composer-textarea
|
||
[data-agent-file-mention="true"].tsh-agent-object-token:hover {
|
||
background: color-mix(in srgb, currentColor 16%, transparent);
|
||
}
|
||
|
||
.agent-gui-conversation__assistant-markdown
|
||
[data-agent-file-mention="true"].tsh-agent-object-token,
|
||
.workspace-agents-status-panel__detail-user-message
|
||
[data-agent-file-mention="true"].tsh-agent-object-token {
|
||
cursor: pointer;
|
||
font-size: 13px;
|
||
}
|
||
|
||
.agent-gui-conversation__assistant-markdown
|
||
[data-agent-file-mention="true"].tsh-agent-object-token
|
||
.tsh-agent-object-token__main,
|
||
.workspace-agents-status-panel__detail-user-message
|
||
[data-agent-file-mention="true"].tsh-agent-object-token
|
||
.tsh-agent-object-token__main {
|
||
font-size: 13px;
|
||
}
|
||
|
||
.agent-gui-conversation__assistant-markdown
|
||
[data-agent-file-mention="true"].tsh-agent-object-token:hover,
|
||
.workspace-agents-status-panel__detail-user-message
|
||
[data-agent-file-mention="true"].tsh-agent-object-token:hover {
|
||
background: color-mix(in srgb, currentColor 16%, transparent);
|
||
}
|
||
|
||
[data-agent-file-mention="true"][data-agent-mention-kind="file"].tsh-agent-object-token--file {
|
||
color: var(--folder);
|
||
}
|
||
|
||
[data-agent-file-mention="true"][data-agent-mention-kind="file"][data-upload-error="true"].tsh-agent-object-token--file {
|
||
border-color: color-mix(in srgb, var(--state-danger) 42%, transparent);
|
||
background: color-mix(in srgb, var(--state-danger) 8%, transparent);
|
||
color: var(--state-danger);
|
||
}
|
||
|
||
[data-agent-file-mention="true"][data-agent-mention-kind="file"][data-agent-file-entry-kind="directory"]
|
||
.tsh-agent-object-token__icon {
|
||
mask-image: url("./assets/icons/folder-filled.svg");
|
||
-webkit-mask-image: url("./assets/icons/folder-filled.svg");
|
||
}
|
||
|
||
[data-agent-file-mention="true"][data-agent-mention-kind="file"][data-agent-file-visual-kind="markdown"]
|
||
.tsh-agent-object-token__icon {
|
||
mask-image: url("./assets/icons/product-filled.svg");
|
||
-webkit-mask-image: url("./assets/icons/product-filled.svg");
|
||
}
|
||
|
||
[data-agent-file-mention="true"][data-agent-mention-kind="file"][data-agent-file-visual-kind="code"]
|
||
.tsh-agent-object-token__icon {
|
||
mask-image: url("./assets/icons/code-filled.svg");
|
||
-webkit-mask-image: url("./assets/icons/code-filled.svg");
|
||
}
|
||
|
||
[data-agent-file-mention="true"][data-agent-mention-kind="file"][data-agent-file-visual-kind="image"]
|
||
.tsh-agent-object-token__icon {
|
||
mask-image: url("./assets/icons/image-filled.svg");
|
||
-webkit-mask-image: url("./assets/icons/image-filled.svg");
|
||
}
|
||
|
||
[data-agent-file-mention="true"][data-agent-mention-kind="file"][data-agent-file-visual-kind="video"]
|
||
.tsh-agent-object-token__icon {
|
||
mask-image: url("./assets/icons/video-filled.svg");
|
||
-webkit-mask-image: url("./assets/icons/video-filled.svg");
|
||
}
|
||
|
||
[data-agent-file-mention="true"][data-agent-mention-kind="file"][data-agent-file-visual-kind="document"]
|
||
.tsh-agent-object-token__icon,
|
||
[data-agent-file-mention="true"][data-agent-mention-kind="file"][data-agent-file-visual-kind="binary"]
|
||
.tsh-agent-object-token__icon,
|
||
[data-agent-file-mention="true"][data-agent-mention-kind="file"]:not(
|
||
[data-agent-file-entry-kind="directory"]
|
||
):not([data-agent-file-visual-kind])
|
||
.tsh-agent-object-token__icon {
|
||
mask-image: url("./assets/icons/doc-filled.svg");
|
||
-webkit-mask-image: url("./assets/icons/doc-filled.svg");
|
||
}
|
||
|
||
.agent-gui-node__composer-textarea
|
||
[data-agent-file-mention="true"].tsh-agent-object-token--file {
|
||
vertical-align: middle;
|
||
}
|
||
|
||
.agent-gui-node__shell,
|
||
.agent-gui-node__side-surface {
|
||
--agent-mention-file-icon-size: 16px;
|
||
--agent-gui-text-primary: var(--text-primary);
|
||
--agent-gui-text-secondary: var(--text-secondary);
|
||
--agent-gui-text-tertiary: var(--text-tertiary);
|
||
--agent-gui-surface: transparent;
|
||
--agent-gui-surface-strong: var(--node-surface);
|
||
--agent-gui-surface-raised: var(--background-fronted);
|
||
--agent-gui-surface-muted: var(--transparency-block);
|
||
--agent-gui-surface-hover: var(--transparency-block);
|
||
--agent-gui-border: var(--cove-border);
|
||
--agent-gui-border-subtle: var(--line-2);
|
||
--agent-gui-package-accent: var(--accent-codex);
|
||
--agent-gui-package-accent-strong: var(--accent-codex);
|
||
--agent-gui-package-accent-bg: color-mix(
|
||
in srgb,
|
||
var(--agent-gui-surface-raised) 88%,
|
||
var(--agent-gui-package-accent) 12%
|
||
);
|
||
--agent-gui-package-border-focus: var(--accent-codex-border);
|
||
--agent-gui-package-success: var(--state-success);
|
||
--agent-gui-package-warning: var(--state-warning);
|
||
--agent-gui-package-danger: var(--state-danger);
|
||
--agent-gui-accent: var(--agent-gui-package-accent);
|
||
--agent-gui-accent-strong: var(--agent-gui-package-accent-strong);
|
||
--agent-gui-accent-bg: var(--agent-gui-package-accent-bg);
|
||
--agent-gui-border-focus: var(--agent-gui-package-border-focus);
|
||
--agent-gui-mention-app-color: var(--tutti-purple);
|
||
--agent-gui-success: var(--agent-gui-package-success);
|
||
--agent-gui-warning: var(--agent-gui-package-warning);
|
||
--agent-gui-danger: var(--agent-gui-package-danger);
|
||
--agent-conversation-text: var(--text-primary);
|
||
--agent-conversation-user-text: var(--text-primary);
|
||
--agent-conversation-user-bg: var(--agent-gui-surface-muted);
|
||
--agent-gui-session-flow-background: var(
|
||
--background-session-flow,
|
||
rgb(252 253 255)
|
||
);
|
||
--agent-gui-session-sidepanel-background: var(
|
||
--background-session-sidepanel,
|
||
rgb(244 245 247)
|
||
);
|
||
--agent-gui-detail-padding-x: 48px;
|
||
color: var(--agent-gui-text-primary);
|
||
}
|
||
|
||
.agent-gui-node__shell {
|
||
width: 100%;
|
||
height: 100%;
|
||
container: agent-gui-node / inline-size;
|
||
background: transparent;
|
||
}
|
||
|
||
:root[data-theme="dark"]
|
||
:is(.agent-gui-node__shell, .agent-gui-node__side-surface) {
|
||
--agent-gui-session-flow-background: var(
|
||
--background-session-flow,
|
||
rgb(24 24 24)
|
||
);
|
||
--agent-gui-session-sidepanel-background: var(
|
||
--background-session-sidepanel,
|
||
rgb(42 42 43)
|
||
);
|
||
}
|
||
|
||
@media (prefers-color-scheme: dark) {
|
||
:root:not([data-theme="light"])
|
||
:is(.agent-gui-node__shell, .agent-gui-node__side-surface) {
|
||
--agent-gui-session-flow-background: var(
|
||
--background-session-flow,
|
||
rgb(24 24 24)
|
||
);
|
||
--agent-gui-session-sidepanel-background: var(
|
||
--background-session-sidepanel,
|
||
rgb(42 42 43)
|
||
);
|
||
}
|
||
}
|
||
|
||
.agent-gui-node__body {
|
||
width: 100%;
|
||
height: 100%;
|
||
min-width: 0;
|
||
min-height: 0;
|
||
padding: 0;
|
||
}
|
||
|
||
.agent-gui-node__layout {
|
||
--agent-gui-provider-rail-width: 0px;
|
||
|
||
position: relative;
|
||
display: grid;
|
||
grid-template-rows: minmax(0, 1fr);
|
||
width: 100%;
|
||
height: 100%;
|
||
min-height: 0;
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
background: var(--agent-gui-session-sidepanel-background);
|
||
transition: grid-template-columns 180ms cubic-bezier(0.22, 1, 0.36, 1);
|
||
}
|
||
|
||
.agent-gui-node__layout[data-rail-resizing="true"] {
|
||
transition: none;
|
||
}
|
||
|
||
.workbench-window[data-window-header-layout="overlay"] {
|
||
--agent-gui-workbench-header-height: 44px;
|
||
|
||
grid-template-rows: minmax(0, 1fr);
|
||
}
|
||
|
||
.workbench-window[data-window-header-layout="overlay"]
|
||
.workbench-window__header {
|
||
position: absolute !important;
|
||
top: 0 !important;
|
||
right: 0 !important;
|
||
left: 0 !important;
|
||
z-index: 30;
|
||
width: 100% !important;
|
||
height: var(--agent-gui-workbench-header-height);
|
||
min-height: var(--agent-gui-workbench-header-height);
|
||
padding: 0;
|
||
overflow: visible;
|
||
border-bottom: 0;
|
||
background: transparent;
|
||
cursor: default;
|
||
pointer-events: none !important;
|
||
user-select: auto;
|
||
}
|
||
|
||
.workbench-window[data-agent-gui-standalone-window="true"]
|
||
.workbench-window__header {
|
||
cursor: grab !important;
|
||
}
|
||
|
||
.workbench-window[data-agent-gui-standalone-window="true"]
|
||
.workbench-window__header:active {
|
||
cursor: grabbing !important;
|
||
}
|
||
|
||
.workbench-window[data-window-header-layout="overlay"]
|
||
.workbench-window__header {
|
||
z-index: calc(var(--z-panel) + 1);
|
||
}
|
||
|
||
.workbench-window[data-window-header-layout="overlay"] .workbench-window__body {
|
||
grid-row: 1;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.workbench-window[data-agent-gui-standalone-window="true"]
|
||
.workbench-window__body {
|
||
display: flex;
|
||
width: 100%;
|
||
height: 100%;
|
||
min-width: 0;
|
||
min-height: 0;
|
||
}
|
||
|
||
.workbench-window[data-agent-gui-standalone-window="true"] {
|
||
width: 100vw;
|
||
height: 100vh;
|
||
max-width: 100vw;
|
||
max-height: 100vh;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.workbench-window[data-agent-gui-standalone-window="true"]
|
||
.workspace-node-window,
|
||
.workbench-window[data-agent-gui-standalone-window="true"]
|
||
[data-workspace-node-window-root="true"],
|
||
.workbench-window[data-agent-gui-standalone-window="true"]
|
||
[data-workspace-node-window-body="true"],
|
||
.workbench-window[data-agent-gui-standalone-window="true"]
|
||
.agent-gui-node__shell,
|
||
.workbench-window[data-agent-gui-standalone-window="true"]
|
||
.agent-gui-node__body,
|
||
.workbench-window[data-agent-gui-standalone-window="true"]
|
||
.agent-gui-node__layout {
|
||
width: 100%;
|
||
height: 100%;
|
||
min-width: 0;
|
||
min-height: 0;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.workbench-window[data-agent-gui-standalone-window="true"]
|
||
.agent-gui-node__provider-rail-panel,
|
||
.workbench-window[data-agent-gui-standalone-window="true"]
|
||
.agent-gui-node__rail,
|
||
.workbench-window[data-agent-gui-standalone-window="true"]
|
||
.agent-gui-node__detail-panel,
|
||
.workbench-window[data-agent-gui-standalone-window="true"]
|
||
.agent-gui-node__detail {
|
||
min-height: 0;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.workbench-window[data-agent-gui-standalone-window="true"]
|
||
.agent-gui-node__rail-toolbar {
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.workbench-window[data-agent-gui-standalone-window="true"]
|
||
.agent-gui-node__conversation-list,
|
||
.workbench-window[data-agent-gui-standalone-window="true"]
|
||
.agent-gui-node__timeline {
|
||
min-height: 0;
|
||
overflow-y: auto;
|
||
overscroll-behavior: contain;
|
||
}
|
||
|
||
.workbench-window[data-window-header-layout="overlay"]
|
||
.agent-gui-node__provider-rail-panel {
|
||
padding-top: var(--agent-gui-workbench-header-height);
|
||
}
|
||
|
||
/* The provider rail nests the workbench-header offset on the panel and the 2px
|
||
breathing room on the inner rail, so the "All" tile sits at header + 2px. The
|
||
toolbar has no such wrapper, so fold the same 2px into its offset to keep the
|
||
search field top aligned with the provider tiles. */
|
||
.workbench-window[data-window-header-layout="overlay"]
|
||
.agent-gui-node__rail-toolbar {
|
||
padding-top: calc(var(--agent-gui-workbench-header-height) + 2px);
|
||
}
|
||
|
||
.workbench-window[data-window-header-layout="overlay"]
|
||
.agent-gui-node__detail-panel {
|
||
position: relative;
|
||
}
|
||
|
||
.workbench-window[data-window-header-layout="overlay"] .agent-gui-node__detail {
|
||
padding-top: var(--agent-gui-workbench-header-height);
|
||
}
|
||
|
||
.workbench-window[data-window-header-layout="overlay"]
|
||
.agent-gui-node__timeline-with-composer {
|
||
padding-top: 20px;
|
||
}
|
||
|
||
.agent-gui-workbench-dock-icon {
|
||
box-sizing: border-box;
|
||
display: grid;
|
||
width: 44px;
|
||
height: 44px;
|
||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||
gap: 2px;
|
||
padding: 3px;
|
||
border: 1px solid var(--agent-gui-workbench-dock-icon-border, var(--line-1));
|
||
border-radius: 8px;
|
||
background: var(
|
||
--agent-gui-workbench-dock-icon-bg,
|
||
var(--transparency-block)
|
||
);
|
||
}
|
||
|
||
.agent-gui-workbench-dock-icon__tile {
|
||
display: block;
|
||
overflow: hidden;
|
||
min-width: 0;
|
||
min-height: 0;
|
||
border-radius: 6px;
|
||
background: transparent;
|
||
}
|
||
|
||
.agent-gui-workbench-dock-icon__tile > img {
|
||
display: block;
|
||
width: 100%;
|
||
height: 100%;
|
||
object-fit: contain;
|
||
object-position: center;
|
||
}
|
||
|
||
.agent-gui-workbench-dock-icon--single {
|
||
display: block;
|
||
padding: 0;
|
||
border: 0;
|
||
background: transparent;
|
||
}
|
||
|
||
.agent-gui-workbench-dock-icon--single > img {
|
||
display: block;
|
||
width: 100%;
|
||
height: 100%;
|
||
object-fit: contain;
|
||
}
|
||
|
||
.agent-gui-workbench-header {
|
||
--agent-gui-workbench-header-rail-width: 280px;
|
||
--agent-gui-workbench-header-padding-x: 16px;
|
||
--agent-gui-workbench-header-primary-gap: 12px;
|
||
--agent-gui-workbench-header-traffic-light-hit-area-size: 20px;
|
||
--agent-gui-workbench-header-traffic-light-gap: 8px;
|
||
--agent-gui-workbench-header-traffic-light-size: 12px;
|
||
--agent-gui-workbench-header-title-max-width: calc(100% - 32px);
|
||
--agent-gui-workbench-header-text: var(--text-primary);
|
||
--agent-gui-workbench-header-muted: var(--text-secondary);
|
||
position: relative;
|
||
display: grid;
|
||
width: 100%;
|
||
height: var(--agent-gui-workbench-header-height, 44px);
|
||
min-height: var(--agent-gui-workbench-header-height, 44px);
|
||
grid-template-columns:
|
||
minmax(0, var(--agent-gui-workbench-header-rail-width))
|
||
minmax(0, 1fr);
|
||
align-items: center;
|
||
background: transparent;
|
||
color: var(--agent-gui-workbench-header-text);
|
||
cursor: grab;
|
||
pointer-events: auto;
|
||
transition: grid-template-columns 180ms cubic-bezier(0.22, 1, 0.36, 1);
|
||
user-select: none;
|
||
}
|
||
|
||
/*
|
||
* Windows keeps the native caption buttons, but Electron overlays them on the
|
||
* app-owned header when titleBarStyle is hidden. Match that overlay's height
|
||
* and reserve its right-side hit area so Agent content never sits underneath
|
||
* the native minimize/maximize/close buttons.
|
||
*/
|
||
.agent-gui-workbench-header[data-tutti-titlebar-overlay="true"] {
|
||
--agent-gui-workbench-header-height: 52px;
|
||
--tutti-titlebar-controls-inset: calc(
|
||
100vw - env(titlebar-area-width, calc(100vw - 138px)) + 10px
|
||
);
|
||
box-sizing: border-box;
|
||
padding-right: var(--tutti-titlebar-controls-inset);
|
||
}
|
||
|
||
.agent-gui-workbench-header[data-tutti-titlebar-overlay="true"]
|
||
.agent-gui-workbench-header__traffic-lights {
|
||
visibility: hidden;
|
||
pointer-events: none;
|
||
}
|
||
|
||
.agent-gui-workbench-header:active {
|
||
cursor: grabbing;
|
||
}
|
||
|
||
.agent-gui-workbench-header[data-agent-gui-workbench-header-collapsed="true"] {
|
||
grid-template-columns: minmax(0, 0px) minmax(0, 1fr);
|
||
}
|
||
|
||
.agent-gui-workbench-header__primary {
|
||
display: flex;
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
height: 100%;
|
||
min-width: 0;
|
||
align-items: center;
|
||
gap: var(--agent-gui-workbench-header-primary-gap);
|
||
padding: 0 var(--agent-gui-workbench-header-padding-x);
|
||
background: var(--agent-gui-session-sidepanel-background);
|
||
pointer-events: auto;
|
||
}
|
||
|
||
.agent-gui-workbench-header[data-agent-gui-workbench-header-collapsed="true"]
|
||
.agent-gui-workbench-header__primary {
|
||
grid-column: 1 / -1;
|
||
width: 100%;
|
||
background: transparent;
|
||
}
|
||
|
||
/*
|
||
* Tool-sidebar actions belong to the single Agent window header regardless of
|
||
* whether that header is owned by the native window or an embedding host.
|
||
* Collapsing the conversation rail must not pull them into the 720px content
|
||
* cap. Let the primary row span the host header and keep the same trailing
|
||
* inset as the expanded detail row.
|
||
*
|
||
* The tool actions are absolutely positioned against the window's right edge,
|
||
* so they no longer occupy space in the flex row. In the collapsed primary row
|
||
* the title is preceded by the traffic lights and header chrome buttons, which
|
||
* means a max-width on the title alone cannot stop its right edge from sliding
|
||
* under those actions. Reserve the actions' width plus the normal inset as
|
||
* trailing padding on the row itself so the title flex-grows and truncates
|
||
* before it can reach them, regardless of what precedes it.
|
||
*/
|
||
.agent-gui-workbench-header[data-agent-gui-workbench-header-tool-sidebar="true"][data-agent-gui-workbench-header-collapsed="true"]
|
||
.agent-gui-workbench-header__primary {
|
||
width: 100%;
|
||
padding-inline-end: calc(
|
||
var(--agent-gui-tool-sidebar-layout-width, 0px) +
|
||
var(--agent-gui-workbench-header-padding-x)
|
||
);
|
||
}
|
||
|
||
.agent-gui-workbench-header[data-agent-gui-workbench-header-tool-sidebar="true"]
|
||
.agent-gui-workbench-header__secondary-accessory {
|
||
padding-right: 0;
|
||
}
|
||
|
||
/* Keep the tool header on the same right edge as its body panel.
|
||
The body panel is right-anchored independently of the Agent header's rail
|
||
grid; leaving this accessory in the grid makes its left edge drift when the
|
||
panel expands to the available width. */
|
||
.agent-gui-workbench-header[data-agent-gui-workbench-header-tool-sidebar="true"]
|
||
.agent-gui-workbench-header__secondary-accessory:has(
|
||
[data-agent-tool-sidebar-header="true"]
|
||
) {
|
||
position: absolute;
|
||
top: 0;
|
||
right: 0;
|
||
margin-left: 0;
|
||
}
|
||
|
||
/*
|
||
* The tool-sidebar actions are removed from the flex flow above. On Windows
|
||
* the native caption buttons occupy the right edge of the same overlay. Keep
|
||
* the tool header anchored to the same edge as its body panel, then reserve
|
||
* the caption-button hit area inside that header so its controls stay clear
|
||
* without shifting the header border into the Agent surface.
|
||
*/
|
||
.agent-gui-workbench-header[data-tutti-titlebar-overlay="true"]
|
||
[data-agent-tool-sidebar-header="true"] {
|
||
box-sizing: border-box;
|
||
padding-right: calc(
|
||
var(--tutti-titlebar-controls-inset) +
|
||
var(--agent-gui-workbench-header-padding-x)
|
||
);
|
||
}
|
||
|
||
/*
|
||
* The detached-window button pushes the detail controls to the far edge while
|
||
* the conversation rail is expanded. Once the rail collapses, every primary
|
||
* control and the session title share one full-width row, so keep that group
|
||
* anchored immediately after the traffic lights. Secondary tool actions retain
|
||
* their own right alignment across the full header width.
|
||
*/
|
||
.agent-gui-workbench-header[data-agent-gui-workbench-header-collapsed="true"]
|
||
.agent-gui-workbench-header__detached-window {
|
||
margin-left: 0;
|
||
}
|
||
|
||
.agent-gui-workbench-header__traffic-lights {
|
||
display: inline-flex;
|
||
flex: 0 0 auto;
|
||
align-items: center;
|
||
gap: var(--agent-gui-workbench-header-traffic-light-gap);
|
||
margin-right: 0;
|
||
}
|
||
|
||
.agent-gui-workbench-header[data-agent-gui-standalone-window-header="true"] {
|
||
cursor: grab !important;
|
||
-webkit-app-region: drag;
|
||
}
|
||
|
||
.agent-gui-workbench-header[data-agent-gui-standalone-window-header="true"]:active {
|
||
cursor: grabbing !important;
|
||
}
|
||
|
||
.agent-gui-workbench-header[data-agent-gui-standalone-window-header="true"]
|
||
.agent-gui-workbench-header__primary {
|
||
cursor: grab !important;
|
||
-webkit-app-region: drag;
|
||
}
|
||
|
||
.agent-gui-workbench-header[data-agent-gui-standalone-window-header="true"]
|
||
.agent-gui-workbench-header__primary:active {
|
||
cursor: grabbing !important;
|
||
}
|
||
|
||
.agent-gui-workbench-header__traffic-light {
|
||
position: relative;
|
||
display: inline-flex;
|
||
width: var(--agent-gui-workbench-header-traffic-light-hit-area-size);
|
||
height: var(--agent-gui-workbench-header-traffic-light-hit-area-size);
|
||
flex: 0 0 auto;
|
||
margin: calc(
|
||
(
|
||
var(--agent-gui-workbench-header-traffic-light-size) -
|
||
var(--agent-gui-workbench-header-traffic-light-hit-area-size)
|
||
) /
|
||
2
|
||
);
|
||
padding: 0;
|
||
border: 0;
|
||
border-radius: 999px;
|
||
background: transparent;
|
||
cursor: pointer;
|
||
opacity: 0.78;
|
||
transition: opacity 160ms ease;
|
||
}
|
||
|
||
.agent-gui-workbench-header__traffic-light::before {
|
||
position: absolute;
|
||
inset: calc(
|
||
(
|
||
var(--agent-gui-workbench-header-traffic-light-hit-area-size) -
|
||
var(--agent-gui-workbench-header-traffic-light-size)
|
||
) /
|
||
2
|
||
);
|
||
border-radius: inherit;
|
||
background-color: color-mix(in srgb, var(--text-tertiary) 72%, transparent);
|
||
content: "";
|
||
transition: background-color 160ms ease;
|
||
}
|
||
|
||
.agent-gui-workbench-header__traffic-light-icon {
|
||
position: absolute;
|
||
z-index: 1;
|
||
inset: 5px;
|
||
width: 10px;
|
||
height: 10px;
|
||
color: color-mix(in srgb, #000 68%, transparent);
|
||
opacity: 0;
|
||
pointer-events: none;
|
||
transition: opacity 120ms ease;
|
||
}
|
||
|
||
.agent-gui-workbench-header__traffic-lights:hover
|
||
.agent-gui-workbench-header__traffic-light,
|
||
.agent-gui-workbench-header__traffic-lights:focus-within
|
||
.agent-gui-workbench-header__traffic-light {
|
||
opacity: 1;
|
||
}
|
||
|
||
.agent-gui-workbench-header__traffic-light:focus-visible {
|
||
outline: none;
|
||
}
|
||
|
||
.agent-gui-workbench-header__traffic-lights:hover
|
||
.agent-gui-workbench-header__traffic-light-icon,
|
||
.agent-gui-workbench-header__traffic-lights:focus-within
|
||
.agent-gui-workbench-header__traffic-light-icon {
|
||
opacity: 1;
|
||
}
|
||
|
||
.agent-gui-workbench-header__traffic-lights:hover
|
||
.agent-gui-workbench-header__traffic-light[data-agent-gui-workbench-traffic-light="close"]::before,
|
||
.agent-gui-workbench-header__traffic-lights:focus-within
|
||
.agent-gui-workbench-header__traffic-light[data-agent-gui-workbench-traffic-light="close"]::before {
|
||
background-color: #ff5f57;
|
||
}
|
||
|
||
.agent-gui-workbench-header__traffic-lights:hover
|
||
.agent-gui-workbench-header__traffic-light[data-agent-gui-workbench-traffic-light="minimize"]::before,
|
||
.agent-gui-workbench-header__traffic-lights:focus-within
|
||
.agent-gui-workbench-header__traffic-light[data-agent-gui-workbench-traffic-light="minimize"]::before {
|
||
background-color: #ffbd2e;
|
||
}
|
||
|
||
.agent-gui-workbench-header__traffic-lights:hover
|
||
.agent-gui-workbench-header__traffic-light[data-agent-gui-workbench-traffic-light="maximize"]::before,
|
||
.agent-gui-workbench-header__traffic-lights:focus-within
|
||
.agent-gui-workbench-header__traffic-light[data-agent-gui-workbench-traffic-light="maximize"]::before {
|
||
background-color: #28c840;
|
||
}
|
||
|
||
.agent-gui-workbench-header__agent-brand {
|
||
display: inline-flex;
|
||
flex: 0 0 auto;
|
||
align-items: center;
|
||
gap: 8px;
|
||
}
|
||
|
||
.agent-gui-workbench-header__primary-accessory {
|
||
display: inline-flex;
|
||
min-width: 0;
|
||
flex: 0 0 auto;
|
||
align-items: center;
|
||
-webkit-app-region: no-drag;
|
||
}
|
||
|
||
.agent-gui-workbench-header__detail {
|
||
display: flex;
|
||
width: 100%;
|
||
height: 100%;
|
||
min-width: 0;
|
||
align-items: center;
|
||
}
|
||
|
||
.agent-gui-workbench-header__secondary-accessory {
|
||
display: inline-flex;
|
||
min-width: 0;
|
||
flex: 0 0 auto;
|
||
align-items: center;
|
||
margin-left: auto;
|
||
padding-right: var(--agent-gui-workbench-header-padding-x);
|
||
pointer-events: auto;
|
||
-webkit-app-region: no-drag;
|
||
}
|
||
|
||
/* The collapsed primary row already supplies the header's right inset. Avoid
|
||
stacking the accessory inset when actions move out of the detail column. */
|
||
.agent-gui-workbench-header[data-agent-gui-workbench-header-collapsed="true"]
|
||
.agent-gui-workbench-header__secondary-accessory {
|
||
padding-right: 0;
|
||
}
|
||
|
||
.agent-gui-workbench-header__agent-name,
|
||
.agent-gui-workbench-header__session-title,
|
||
.agent-gui-workbench-header__detail-title {
|
||
box-sizing: border-box;
|
||
min-width: 0;
|
||
color: var(--agent-gui-workbench-header-text);
|
||
font-size: 15px;
|
||
font-weight: 700;
|
||
line-height: 20px;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-workbench-header__title-text {
|
||
min-width: 0;
|
||
max-width: 100%;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
/* Mention typography and icons use the same 24px row as the plain title, so
|
||
the whole rich title can share the Agent icon's vertical center directly. */
|
||
.agent-gui-workbench-header__rich-title {
|
||
display: block;
|
||
width: max-content;
|
||
min-width: 0;
|
||
max-width: calc(100% - 36px);
|
||
height: 24px;
|
||
flex: 0 1 auto;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.agent-gui-workbench-header__rich-title > div,
|
||
.agent-gui-workbench-header__rich-title .ProseMirror {
|
||
display: block;
|
||
width: 100%;
|
||
min-width: 0;
|
||
height: 24px;
|
||
margin: 0;
|
||
overflow: visible;
|
||
}
|
||
|
||
.agent-gui-workbench-header__rich-title p {
|
||
display: flex;
|
||
width: max-content;
|
||
min-width: 100%;
|
||
max-width: none;
|
||
height: 24px;
|
||
align-items: center;
|
||
margin: 0;
|
||
overflow: visible;
|
||
overflow-wrap: normal;
|
||
line-height: 24px;
|
||
white-space: nowrap;
|
||
word-break: normal;
|
||
}
|
||
|
||
.agent-gui-workbench-header__rich-title .agent-rich-text-mention-node,
|
||
.agent-gui-workbench-header__rich-title .tsh-agent-object-token--file,
|
||
.agent-gui-workbench-header__rich-title .tsh-agent-object-token--entity,
|
||
.agent-gui-workbench-header__rich-title [data-slot="mention-pill"] {
|
||
top: 0;
|
||
align-items: center;
|
||
transform: none;
|
||
vertical-align: middle;
|
||
}
|
||
|
||
.agent-gui-workbench-header__rich-title
|
||
.agent-rich-text-mention-node[data-agent-custom-mention="true"] {
|
||
display: inline-flex;
|
||
max-width: min(100%, var(--agent-mention-max-width, 20rem));
|
||
height: 24px;
|
||
align-items: center;
|
||
margin-right: 4px;
|
||
transform: translateY(-1.5px);
|
||
vertical-align: middle;
|
||
}
|
||
|
||
.agent-gui-workbench-header__rich-title .tsh-agent-object-token--file {
|
||
height: 24px;
|
||
min-height: 24px;
|
||
padding-top: 0;
|
||
padding-bottom: 0;
|
||
line-height: 24px;
|
||
}
|
||
|
||
.agent-gui-workbench-header__rich-title
|
||
.tsh-agent-object-token--file
|
||
.tsh-agent-object-token__main {
|
||
transform: translateY(-1.25px);
|
||
}
|
||
|
||
.agent-gui-workbench-header__agent-name {
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.agent-gui-workbench-header__session-title {
|
||
display: flex;
|
||
flex: 0 1 auto;
|
||
max-width: min(100%, var(--agent-gui-workbench-header-title-max-width));
|
||
margin-left: 4px;
|
||
align-items: center;
|
||
gap: 8px;
|
||
}
|
||
|
||
.agent-gui-workbench-header__session-icon {
|
||
width: 20px;
|
||
height: 20px;
|
||
flex: 0 0 auto;
|
||
border-radius: 5px;
|
||
}
|
||
|
||
.agent-gui-workbench-header__session-icon-info-trigger {
|
||
display: inline-flex;
|
||
flex: 0 0 auto;
|
||
align-items: center;
|
||
border-radius: 5px;
|
||
pointer-events: auto;
|
||
-webkit-app-region: no-drag;
|
||
}
|
||
|
||
.agent-gui-workbench-header__session-icon-info-trigger:focus-visible {
|
||
outline: auto;
|
||
}
|
||
|
||
.agent-gui-workbench-header__session-icon--pending {
|
||
background: var(--transparency-block);
|
||
animation: agent-gui-workbench-header-icon-pending 1.2s ease-in-out infinite;
|
||
}
|
||
|
||
@keyframes agent-gui-workbench-header-icon-pending {
|
||
0%,
|
||
100% {
|
||
opacity: 0.6;
|
||
}
|
||
50% {
|
||
opacity: 1;
|
||
}
|
||
}
|
||
|
||
.agent-gui-workbench-header__detail-title {
|
||
display: flex;
|
||
height: 100%;
|
||
flex: 0 1 auto;
|
||
max-width: min(100%, var(--agent-gui-workbench-header-title-max-width));
|
||
min-width: 0;
|
||
align-items: center;
|
||
gap: 8px;
|
||
padding: 0 20px;
|
||
pointer-events: none;
|
||
}
|
||
|
||
.agent-gui-workbench-header__session-title:has(
|
||
.agent-gui-workbench-header__session-menu-trigger
|
||
)
|
||
> .agent-gui-workbench-header__title-text,
|
||
.agent-gui-workbench-header__detail-title:has(
|
||
.agent-gui-workbench-header__session-menu-trigger
|
||
)
|
||
> .agent-gui-workbench-header__title-text {
|
||
max-width: calc(100% - 36px);
|
||
}
|
||
|
||
.agent-gui-workbench-header__session-menu-trigger {
|
||
pointer-events: auto;
|
||
}
|
||
|
||
.agent-gui-workbench-header[data-agent-gui-workbench-header-tool-sidebar="true"]
|
||
.agent-gui-workbench-header__session-title,
|
||
.agent-gui-workbench-header[data-agent-gui-workbench-header-tool-sidebar="true"]
|
||
.agent-gui-workbench-header__detail-title {
|
||
box-sizing: border-box;
|
||
width: auto;
|
||
max-width: calc(
|
||
100% - var(--agent-gui-tool-sidebar-layout-width, 0px) - 16px
|
||
);
|
||
flex: 1 1 0;
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
}
|
||
|
||
/*
|
||
* In the collapsed primary row the trailing reserve is supplied by the row's
|
||
* own padding-inline-end (it has to account for the leading traffic lights and
|
||
* chrome buttons that a title-level max-width cannot see). Relax the shared
|
||
* max-width here so the reservation is not counted twice, which would strand
|
||
* the title far short of the actions.
|
||
*/
|
||
.agent-gui-workbench-header[data-agent-gui-workbench-header-tool-sidebar="true"][data-agent-gui-workbench-header-collapsed="true"]
|
||
.agent-gui-workbench-header__session-title {
|
||
max-width: 100%;
|
||
}
|
||
|
||
.agent-gui-workbench-header[data-agent-gui-standalone-window-header="true"]
|
||
.agent-gui-workbench-header__agent-brand,
|
||
.agent-gui-workbench-header[data-agent-gui-standalone-window-header="true"]
|
||
.agent-gui-workbench-header__session-title,
|
||
.agent-gui-workbench-header[data-agent-gui-standalone-window-header="true"]
|
||
.agent-gui-workbench-header__detail-title {
|
||
cursor: grab !important;
|
||
-webkit-app-region: drag;
|
||
}
|
||
|
||
.agent-gui-workbench-header[data-agent-gui-standalone-window-header="true"]
|
||
.agent-gui-workbench-header__agent-brand:active,
|
||
.agent-gui-workbench-header[data-agent-gui-standalone-window-header="true"]
|
||
.agent-gui-workbench-header__session-title:active,
|
||
.agent-gui-workbench-header[data-agent-gui-standalone-window-header="true"]
|
||
.agent-gui-workbench-header__detail-title:active {
|
||
cursor: grabbing !important;
|
||
}
|
||
|
||
.agent-gui-workbench-header__icon-button {
|
||
display: inline-flex !important;
|
||
width: 28px !important;
|
||
height: 28px !important;
|
||
min-width: 28px !important;
|
||
min-height: 28px !important;
|
||
flex: 0 0 auto;
|
||
align-items: center;
|
||
justify-content: center;
|
||
padding: 0 !important;
|
||
border: 0 !important;
|
||
border-radius: 6px !important;
|
||
background: transparent !important;
|
||
color: var(--agent-gui-workbench-header-muted) !important;
|
||
cursor: pointer;
|
||
/* Header chrome icon buttons must not animate: no hover fade, no
|
||
press-down motion inherited from the ui-system Button base. */
|
||
transition: none !important;
|
||
}
|
||
|
||
.agent-gui-workbench-header__icon-button:active {
|
||
transform: none !important;
|
||
}
|
||
|
||
.agent-gui-workbench-header[data-agent-gui-standalone-window-header="true"]
|
||
.agent-gui-workbench-header__traffic-lights,
|
||
.agent-gui-workbench-header[data-agent-gui-standalone-window-header="true"]
|
||
.agent-gui-workbench-header__traffic-light,
|
||
.agent-gui-workbench-header[data-agent-gui-standalone-window-header="true"]
|
||
.agent-gui-workbench-header__icon-button {
|
||
cursor: pointer !important;
|
||
-webkit-app-region: no-drag;
|
||
}
|
||
|
||
.agent-gui-workbench-header__icon-button:hover,
|
||
.agent-gui-workbench-header__icon-button:focus-visible {
|
||
background: color-mix(
|
||
in srgb,
|
||
var(--text-primary) 8%,
|
||
transparent
|
||
) !important;
|
||
color: var(--agent-gui-workbench-header-text) !important;
|
||
}
|
||
|
||
.agent-gui-workbench-header__rail-toggle {
|
||
margin-left: auto;
|
||
}
|
||
|
||
.agent-gui-workbench-header__detached-window {
|
||
margin-left: auto;
|
||
}
|
||
|
||
.agent-gui-workbench-header__detached-window
|
||
+ .agent-gui-workbench-header__rail-toggle {
|
||
/* The primary row gap is 12px; keep this icon pair at a net 8px. */
|
||
margin-left: -4px;
|
||
}
|
||
|
||
.agent-gui-workbench-header[data-agent-gui-workbench-header-body-error="true"]
|
||
.agent-gui-workbench-header__rail-toggle {
|
||
display: none !important;
|
||
}
|
||
|
||
.agent-gui-workbench-header[data-agent-gui-workbench-header-collapsed="true"]
|
||
.agent-gui-workbench-header__rail-toggle {
|
||
margin-left: 0;
|
||
}
|
||
|
||
.agent-gui-workbench-header__icon {
|
||
width: 18px;
|
||
height: 18px;
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
.agent-gui-node__rail-panel {
|
||
position: relative;
|
||
z-index: 2;
|
||
min-width: 0;
|
||
min-height: 0;
|
||
height: 100%;
|
||
border-right: 0;
|
||
overflow: visible;
|
||
isolation: isolate;
|
||
}
|
||
|
||
.agent-gui-node__rail-panel--collapsed {
|
||
overflow: hidden;
|
||
pointer-events: none;
|
||
}
|
||
|
||
.agent-gui-node__rail-resize-handle {
|
||
position: absolute;
|
||
top: 0;
|
||
bottom: 0;
|
||
left: calc(
|
||
var(--agent-gui-provider-rail-width, 0px) +
|
||
var(--agent-gui-conversation-rail-width) - 6px
|
||
);
|
||
z-index: 20;
|
||
width: 12px;
|
||
min-width: 12px;
|
||
cursor: col-resize;
|
||
touch-action: none;
|
||
opacity: 1;
|
||
transition:
|
||
left 180ms cubic-bezier(0.22, 1, 0.36, 1),
|
||
opacity 120ms ease;
|
||
}
|
||
|
||
.agent-gui-node__rail-resize-handle[data-resizing="true"] {
|
||
transition: none;
|
||
}
|
||
|
||
.agent-gui-node__rail-resize-handle--collapsed {
|
||
left: calc(var(--agent-gui-provider-rail-width, 0px) - 6px);
|
||
opacity: 0;
|
||
}
|
||
|
||
.agent-gui-node__rail-resize-handle::after {
|
||
content: "";
|
||
position: absolute;
|
||
top: 0;
|
||
bottom: 0;
|
||
left: 50%;
|
||
width: 1px;
|
||
transform: translateX(-50%);
|
||
background: transparent;
|
||
transition:
|
||
background-color 150ms ease,
|
||
width 150ms ease;
|
||
}
|
||
|
||
.agent-gui-node__rail-resize-handle:hover::after,
|
||
.agent-gui-node__rail-resize-handle:focus-visible::after,
|
||
.agent-gui-node__rail-resize-handle[data-resizing="true"]::after {
|
||
width: 2px;
|
||
background: color-mix(in srgb, var(--border-focus) 40%, transparent);
|
||
}
|
||
|
||
.agent-gui-node__detail-panel {
|
||
position: relative;
|
||
display: flex;
|
||
height: 100%;
|
||
min-width: 0;
|
||
min-height: 0;
|
||
flex-direction: column;
|
||
overflow: hidden;
|
||
border-radius: 16px;
|
||
background: var(--agent-gui-session-flow-background);
|
||
}
|
||
|
||
.agent-gui-node__detail-panel > .agent-gui-node__detail {
|
||
min-height: 0;
|
||
border-radius: inherit;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.agent-gui-node__composer-file-drop-overlay {
|
||
position: absolute;
|
||
inset: 0;
|
||
z-index: 40;
|
||
display: grid;
|
||
place-items: center;
|
||
padding: 24px;
|
||
border-radius: inherit;
|
||
border: 2px dashed color-mix(in srgb, var(--tutti-purple) 70%, transparent);
|
||
background: color-mix(
|
||
in srgb,
|
||
var(--tutti-purple) 12%,
|
||
var(--agent-gui-session-flow-background)
|
||
);
|
||
opacity: 0;
|
||
pointer-events: none;
|
||
transition: opacity 150ms ease-out;
|
||
}
|
||
|
||
.agent-gui-node__composer-file-drop-overlay--active {
|
||
opacity: 1;
|
||
}
|
||
|
||
.agent-gui-node__composer-file-drop-overlay-card {
|
||
color: var(--text-primary);
|
||
font-size: 15px;
|
||
font-weight: 500;
|
||
line-height: 1.4;
|
||
text-align: center;
|
||
}
|
||
|
||
.agent-gui-node__rail {
|
||
position: relative;
|
||
display: flex;
|
||
flex-direction: column;
|
||
width: var(
|
||
--agent-gui-conversation-rail-content-width,
|
||
var(--agent-gui-conversation-rail-width)
|
||
);
|
||
min-width: var(
|
||
--agent-gui-conversation-rail-content-width,
|
||
var(--agent-gui-conversation-rail-width)
|
||
);
|
||
height: 100%;
|
||
min-height: 0;
|
||
background: var(--agent-gui-session-sidepanel-background);
|
||
box-shadow: none;
|
||
opacity: 1;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-panel {
|
||
position: relative;
|
||
z-index: 3;
|
||
display: flex;
|
||
width: var(--agent-gui-provider-rail-width, 52px);
|
||
min-width: 0;
|
||
min-height: 0;
|
||
flex-direction: column;
|
||
align-items: center;
|
||
background: var(--agent-gui-session-sidepanel-background);
|
||
overflow: hidden;
|
||
transition: width 180ms cubic-bezier(0.22, 1, 0.36, 1);
|
||
-webkit-app-region: no-drag;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-panel::after {
|
||
content: "";
|
||
pointer-events: none;
|
||
position: absolute;
|
||
top: 0;
|
||
right: 0;
|
||
bottom: 0;
|
||
width: 1px;
|
||
background: linear-gradient(
|
||
180deg,
|
||
transparent 0,
|
||
var(--line-1) 24px,
|
||
var(--line-1) calc(100% - 24px),
|
||
transparent 100%
|
||
);
|
||
}
|
||
|
||
.workbench-window[data-window-header-layout="overlay"]
|
||
.agent-gui-node__provider-rail-panel::after {
|
||
top: var(--agent-gui-workbench-header-height);
|
||
}
|
||
|
||
.agent-gui-node__rail > * {
|
||
transition:
|
||
opacity 120ms ease,
|
||
filter 120ms ease;
|
||
transition-delay: 40ms;
|
||
}
|
||
|
||
.agent-gui-node__rail::after {
|
||
content: "";
|
||
pointer-events: none;
|
||
position: absolute;
|
||
inset: 0;
|
||
z-index: 1;
|
||
background: color-mix(
|
||
in srgb,
|
||
var(--agent-gui-session-sidepanel-background) 88%,
|
||
transparent
|
||
);
|
||
opacity: 0;
|
||
transition: opacity 120ms ease;
|
||
}
|
||
|
||
.agent-gui-node__rail-panel--collapsed .agent-gui-node__rail {
|
||
box-shadow: none;
|
||
}
|
||
|
||
.agent-gui-node__rail-panel--collapsed .agent-gui-node__rail > * {
|
||
filter: blur(1px);
|
||
opacity: 0;
|
||
transition-delay: 0ms;
|
||
}
|
||
|
||
.agent-gui-node__rail-panel--collapsed .agent-gui-node__rail::after {
|
||
opacity: 1;
|
||
transition-delay: 0ms;
|
||
}
|
||
|
||
@media (prefers-reduced-motion: reduce) {
|
||
.agent-gui-node__layout,
|
||
.agent-gui-workbench-header,
|
||
.agent-gui-node__rail-resize-handle,
|
||
.agent-gui-node__provider-rail-panel,
|
||
.agent-gui-node__rail > *,
|
||
.agent-gui-node__rail::after {
|
||
transition: none;
|
||
}
|
||
|
||
.agent-gui-node__rail-panel--collapsed .agent-gui-node__rail > * {
|
||
filter: none;
|
||
}
|
||
}
|
||
|
||
.agent-gui-node__rail-toolbar {
|
||
--agent-gui-rail-control-radius: 6px;
|
||
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 10px;
|
||
min-width: 0;
|
||
padding: 2px 12px 16px 12px;
|
||
}
|
||
|
||
.agent-gui-node__activity-toggle-button {
|
||
position: relative;
|
||
flex: 0 0 32px;
|
||
width: 32px;
|
||
min-width: 32px;
|
||
height: 32px;
|
||
min-height: 32px;
|
||
border-radius: var(--agent-gui-rail-control-radius);
|
||
background: transparent;
|
||
color: var(--text-secondary);
|
||
}
|
||
|
||
.agent-gui-node__activity-toggle-button:hover,
|
||
.agent-gui-node__activity-toggle-button:focus-visible {
|
||
background: var(--transparency-hover);
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
.agent-gui-node__activity-toggle-button[data-active="true"] {
|
||
background: color-mix(in srgb, var(--agent-gui-accent) 12%, transparent);
|
||
color: var(--agent-gui-accent-strong);
|
||
}
|
||
|
||
.agent-gui-node__activity-toggle-button svg {
|
||
width: 18px;
|
||
height: 18px;
|
||
}
|
||
|
||
.agent-gui-node__activity-toggle-dot {
|
||
position: absolute;
|
||
top: 5px;
|
||
right: 5px;
|
||
width: 6px;
|
||
height: 6px;
|
||
border: 1px solid var(--agent-gui-session-sidepanel-background);
|
||
border-radius: 999px;
|
||
background: var(--agent-gui-accent);
|
||
}
|
||
|
||
.agent-gui-node__project-rail-header {
|
||
display: flex;
|
||
flex: 0 0 auto;
|
||
min-width: 0;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
gap: 6px;
|
||
min-height: 26px;
|
||
margin-bottom: 8px;
|
||
padding: 0 6px 0 10px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section + .agent-gui-node__project-rail-header {
|
||
margin-top: 24px;
|
||
}
|
||
|
||
.agent-gui-node__project-rail-title {
|
||
display: inline-flex;
|
||
min-width: 0;
|
||
align-items: center;
|
||
gap: 6px;
|
||
overflow: hidden;
|
||
color: var(--text-secondary);
|
||
font-size: 13px;
|
||
font-weight: 400;
|
||
line-height: 18px;
|
||
}
|
||
|
||
.agent-gui-node__project-rail-title > span {
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-node__project-rail-add-project {
|
||
position: relative;
|
||
display: inline-flex;
|
||
flex: 0 0 auto;
|
||
width: 24px;
|
||
height: 24px;
|
||
align-items: center;
|
||
justify-content: center;
|
||
opacity: 0;
|
||
pointer-events: none;
|
||
transition:
|
||
opacity 140ms ease,
|
||
color 140ms ease;
|
||
}
|
||
|
||
.agent-gui-node__project-rail-header:hover
|
||
.agent-gui-node__project-rail-add-project,
|
||
.agent-gui-node__project-rail-header:focus-within
|
||
.agent-gui-node__project-rail-add-project {
|
||
opacity: 1;
|
||
pointer-events: auto;
|
||
}
|
||
|
||
.agent-gui-node__project-rail-add-project-trigger {
|
||
width: 24px;
|
||
min-width: 24px;
|
||
height: 24px;
|
||
min-height: 24px;
|
||
max-width: 24px;
|
||
border: 0;
|
||
border-radius: 7px;
|
||
background: transparent;
|
||
padding: 0;
|
||
color: var(--text-secondary);
|
||
}
|
||
|
||
.agent-gui-node__project-rail-add-project-trigger > span {
|
||
display: none;
|
||
}
|
||
|
||
.agent-gui-node__project-rail-add-project-trigger > svg {
|
||
display: none;
|
||
}
|
||
|
||
.agent-gui-node__project-rail-add-project-trigger:hover:not(:disabled),
|
||
.agent-gui-node__project-rail-add-project-trigger:focus-visible {
|
||
background: var(--transparency-block-hover);
|
||
color: var(--text-primary);
|
||
outline: none;
|
||
}
|
||
|
||
.agent-gui-node__project-rail-add-project-icon {
|
||
position: absolute;
|
||
inset: 50% auto auto 50%;
|
||
width: 14px;
|
||
height: 14px;
|
||
color: var(--text-secondary);
|
||
pointer-events: none;
|
||
transform: translate(-50%, -50%);
|
||
}
|
||
|
||
.agent-gui-node__project-rail-add-project-trigger:hover:not(:disabled)
|
||
+ .agent-gui-node__project-rail-add-project-icon,
|
||
.agent-gui-node__project-rail-add-project-trigger:focus-visible
|
||
+ .agent-gui-node__project-rail-add-project-icon {
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
.room-issue-node__search-field {
|
||
position: relative;
|
||
flex: 1 1 auto;
|
||
min-width: 0;
|
||
}
|
||
|
||
.room-issue-node__search-input {
|
||
flex: 1 1 auto;
|
||
width: 100%;
|
||
min-width: 0;
|
||
box-sizing: border-box;
|
||
height: 32px !important;
|
||
min-height: 32px;
|
||
max-height: 32px;
|
||
border: 0 !important;
|
||
border-radius: var(--agent-gui-rail-control-radius) !important;
|
||
padding-left: 12px;
|
||
padding-right: 36px;
|
||
font-size: 13px !important;
|
||
line-height: 18px;
|
||
appearance: none;
|
||
}
|
||
|
||
.room-issue-node__search-input:hover,
|
||
.room-issue-node__search-input:focus,
|
||
.room-issue-node__search-input:focus-visible {
|
||
background: var(--transparency-hover);
|
||
}
|
||
|
||
.room-issue-node__search-field[data-has-value="false"]
|
||
.room-issue-node__search-input {
|
||
padding-right: 12px;
|
||
}
|
||
|
||
.room-issue-node__search-input::-webkit-search-cancel-button,
|
||
.room-issue-node__search-input::-webkit-search-decoration {
|
||
appearance: none;
|
||
}
|
||
|
||
.room-issue-node__search-clear-button {
|
||
position: absolute;
|
||
top: 50%;
|
||
right: 4px;
|
||
display: inline-flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
width: 24px;
|
||
min-width: 24px;
|
||
height: 24px;
|
||
min-height: 24px;
|
||
padding: 0;
|
||
border: 0;
|
||
border-radius: 6px;
|
||
background: transparent;
|
||
color: var(--text-tertiary);
|
||
cursor: pointer;
|
||
appearance: none;
|
||
transform: translateY(-50%);
|
||
}
|
||
|
||
.room-issue-node__search-clear-button:hover,
|
||
.room-issue-node__search-clear-button:focus-visible {
|
||
color: var(--text-secondary);
|
||
background: var(--transparency-block-hover);
|
||
outline: none;
|
||
}
|
||
|
||
.room-issue-node__search-clear-button svg {
|
||
width: 14px;
|
||
height: 14px;
|
||
}
|
||
|
||
.agent-gui-node__rail-toolbar .room-issue-node__search-field,
|
||
.agent-gui-node__rail-toolbar .room-issue-node__search-input {
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.agent-gui-node__rail-toolbar .room-issue-node__search-input {
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-node__rail-toolbar .room-issue-node__search-input::placeholder {
|
||
text-overflow: ellipsis;
|
||
}
|
||
|
||
.agent-gui-node__new-conversation-icon-button {
|
||
flex: 0 0 auto;
|
||
width: auto;
|
||
min-width: max-content;
|
||
box-sizing: border-box;
|
||
height: 32px;
|
||
min-height: 32px;
|
||
max-height: 32px;
|
||
border: 0 !important;
|
||
border-radius: var(--agent-gui-rail-control-radius) !important;
|
||
font-size: 13px;
|
||
gap: 8px;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-node__new-conversation-icon-button svg {
|
||
width: 14px;
|
||
height: 14px;
|
||
flex-shrink: 0;
|
||
}
|
||
|
||
.agent-gui-node__window-agent-info {
|
||
color: var(--text-secondary);
|
||
}
|
||
|
||
.agent-gui-node__composer-send-button {
|
||
width: 28px;
|
||
min-width: 28px;
|
||
height: 28px;
|
||
min-height: 28px;
|
||
border: 1px solid var(--text-primary);
|
||
border-radius: 999px;
|
||
background: var(--text-primary);
|
||
color: var(--text-inverted);
|
||
transition:
|
||
border-color 140ms ease,
|
||
background-color 140ms ease,
|
||
color 140ms ease;
|
||
}
|
||
|
||
.agent-gui-node__composer-send-button:disabled {
|
||
cursor: not-allowed;
|
||
opacity: 0.55;
|
||
}
|
||
|
||
.agent-gui-node__composer-send-button svg {
|
||
width: 18px;
|
||
height: 18px;
|
||
}
|
||
|
||
/* Plan-review decision copy: the send button widens into a labeled pill
|
||
("Accept plan" / "Request changes") while the empty-send override is on. */
|
||
.agent-gui-node__composer-send-button[data-plan-review-label="true"] {
|
||
display: inline-flex;
|
||
width: auto;
|
||
min-width: 28px;
|
||
max-width: 220px;
|
||
align-items: center;
|
||
justify-content: center;
|
||
gap: 6px;
|
||
padding: 0 10px 0 12px;
|
||
font-size: 12px;
|
||
font-weight: 500;
|
||
line-height: 1;
|
||
}
|
||
|
||
.agent-gui-node__composer-reference-trigger {
|
||
min-width: 36px;
|
||
min-height: 36px;
|
||
padding: 0;
|
||
}
|
||
|
||
.agent-gui-node__composer-reference-trigger svg:first-child {
|
||
width: 14px;
|
||
height: 14px;
|
||
}
|
||
|
||
.agent-gui-node__gateway-status {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 8px;
|
||
margin: 0 18px 12px;
|
||
padding: 0 14px;
|
||
min-height: 38px;
|
||
border: 1px solid var(--agent-gui-border-subtle);
|
||
border-radius: 8px;
|
||
background: var(--agent-gui-surface-muted);
|
||
color: var(--agent-gui-text-secondary);
|
||
font-size: 13px;
|
||
line-height: 20px;
|
||
font-weight: 600;
|
||
}
|
||
|
||
.agent-gui-node__gateway-status[data-state="starting"] {
|
||
border-color: color-mix(
|
||
in srgb,
|
||
var(--agent-gui-accent) 24%,
|
||
var(--agent-gui-border-subtle)
|
||
);
|
||
color: var(--agent-gui-accent-strong);
|
||
}
|
||
|
||
.agent-gui-node__gateway-status[data-state="failed"] {
|
||
align-items: flex-start;
|
||
flex-direction: column;
|
||
min-height: 0;
|
||
padding-top: 10px;
|
||
padding-bottom: 10px;
|
||
border-color: color-mix(
|
||
in srgb,
|
||
var(--agent-gui-danger) 24%,
|
||
var(--agent-gui-border-subtle)
|
||
);
|
||
color: var(--agent-gui-danger);
|
||
}
|
||
|
||
.agent-gui-node__gateway-retry-button {
|
||
width: fit-content;
|
||
border: 1px solid
|
||
color-mix(in srgb, var(--agent-gui-danger) 24%, var(--agent-gui-border));
|
||
border-radius: 6px;
|
||
background: var(--agent-gui-surface-muted);
|
||
padding: 6px 10px;
|
||
color: var(--agent-gui-danger);
|
||
font: inherit;
|
||
font-size: 13px;
|
||
font-weight: 600;
|
||
}
|
||
|
||
.agent-gui-node__gateway-retry-button:hover {
|
||
background: color-mix(in srgb, var(--agent-gui-danger) 8%, transparent);
|
||
border-color: color-mix(
|
||
in srgb,
|
||
var(--agent-gui-danger) 44%,
|
||
var(--agent-gui-border)
|
||
);
|
||
}
|
||
|
||
.agent-gui-node__conversation-list {
|
||
display: flex;
|
||
flex-direction: column;
|
||
flex: 1 1 auto;
|
||
min-width: 0;
|
||
max-width: 100%;
|
||
min-height: 0;
|
||
overflow-x: hidden;
|
||
overflow-y: auto;
|
||
/* The native overlay scrollbar does not reserve a gutter on macOS, so the
|
||
right inset must match the left side explicitly. */
|
||
padding: 0 12px 18px 12px;
|
||
}
|
||
|
||
.agent-gui-node__activity-heading {
|
||
flex: 0 0 auto;
|
||
min-width: 0;
|
||
margin: 14px 0 0;
|
||
padding: 4px 10px 6px;
|
||
color: var(--text-secondary);
|
||
font-size: 13px;
|
||
font-weight: 500;
|
||
line-height: 18px;
|
||
}
|
||
|
||
.agent-gui-node__activity-heading[data-first="true"] {
|
||
margin-top: 0;
|
||
}
|
||
|
||
.agent-gui-node__activity-empty {
|
||
min-width: 0;
|
||
padding: 8px 10px 10px;
|
||
color: var(--text-tertiary);
|
||
font-size: 12px;
|
||
line-height: 18px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section {
|
||
position: relative;
|
||
display: grid;
|
||
min-width: 0;
|
||
max-width: 100%;
|
||
}
|
||
|
||
.agent-gui-node__pinned-project-rail-header {
|
||
min-width: 0;
|
||
padding: 4px 10px;
|
||
color: var(--text-secondary);
|
||
font-size: 13px;
|
||
font-weight: 400;
|
||
line-height: 18px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section[data-project-dragging="true"] {
|
||
opacity: 0.42;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section[data-project-drop-indicator]::before {
|
||
position: absolute;
|
||
right: 6px;
|
||
left: 6px;
|
||
z-index: 4;
|
||
height: 2px;
|
||
border-radius: 999px;
|
||
background: var(--agent-gui-accent);
|
||
content: "";
|
||
pointer-events: none;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section[data-project-drop-indicator="before"]::before {
|
||
top: -1px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section[data-project-drop-indicator="after"]::before {
|
||
bottom: -1px;
|
||
}
|
||
|
||
.agent-gui-node__project-drag-image {
|
||
position: fixed;
|
||
top: -1000px;
|
||
left: -1000px;
|
||
display: flex;
|
||
max-width: 220px;
|
||
align-items: center;
|
||
gap: 7px;
|
||
border: 1px solid var(--border-subtle);
|
||
border-radius: 7px;
|
||
background: var(--agent-gui-surface-raised);
|
||
box-shadow: var(--shadow-elevated);
|
||
color: var(--text-primary);
|
||
padding: 7px 10px;
|
||
font-size: 12px;
|
||
pointer-events: none;
|
||
}
|
||
|
||
.agent-gui-node__project-drag-image > span:last-child {
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section + .agent-gui-node__conversation-section {
|
||
margin-top: 12px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section[data-kind="project"]
|
||
+ .agent-gui-node__conversation-section[data-kind="project"] {
|
||
margin-top: 2px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section[data-kind="pinned"]
|
||
+ .agent-gui-node__conversation-section[data-kind="conversations"],
|
||
.agent-gui-node__conversation-section[data-kind="project"]
|
||
+ .agent-gui-node__conversation-section[data-kind="conversations"] {
|
||
margin-top: 24px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section-header {
|
||
display: flex;
|
||
min-width: 0;
|
||
max-width: 100%;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
gap: 6px;
|
||
border-radius: 6px;
|
||
background-color: transparent;
|
||
padding: 4px 6px 4px 10px;
|
||
transition: background-color 140ms ease;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section[data-kind="project"]
|
||
> .agent-gui-node__conversation-section-header:hover {
|
||
background-color: var(--agent-gui-surface-hover);
|
||
}
|
||
|
||
.agent-gui-node__conversation-section-toggle {
|
||
position: relative;
|
||
display: inline-flex;
|
||
flex: 1 1 auto;
|
||
min-width: 0;
|
||
max-width: 100%;
|
||
align-items: center;
|
||
gap: 0;
|
||
border: 0;
|
||
border-radius: 6px;
|
||
background: transparent;
|
||
color: inherit;
|
||
padding: 2px 0;
|
||
text-align: left;
|
||
}
|
||
|
||
button.agent-gui-node__conversation-section-toggle {
|
||
cursor: pointer;
|
||
}
|
||
|
||
button.agent-gui-node__conversation-section-toggle:hover {
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
.agent-gui-node__conversation-section-chevron {
|
||
position: absolute;
|
||
left: 0;
|
||
width: 12px;
|
||
height: 12px;
|
||
flex: 0 0 auto;
|
||
color: var(--text-tertiary);
|
||
opacity: 0;
|
||
pointer-events: none;
|
||
transition:
|
||
color 140ms ease,
|
||
opacity 140ms ease,
|
||
transform 140ms ease;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section[data-kind="project"]
|
||
> .agent-gui-node__conversation-section-header:hover
|
||
.agent-gui-node__conversation-section-chevron {
|
||
opacity: 1;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section-toggle[aria-expanded="true"]
|
||
.agent-gui-node__conversation-section-chevron {
|
||
transform: rotate(90deg);
|
||
}
|
||
|
||
button.agent-gui-node__conversation-section-toggle:hover
|
||
.agent-gui-node__conversation-section-chevron {
|
||
color: var(--text-secondary);
|
||
}
|
||
|
||
.agent-gui-node__conversation-section-label {
|
||
display: inline-flex;
|
||
flex: 1 1 auto;
|
||
min-width: 0;
|
||
max-width: 100%;
|
||
align-items: center;
|
||
gap: 6px;
|
||
overflow: hidden;
|
||
color: var(--text-secondary);
|
||
font-size: 13px;
|
||
line-height: 18px;
|
||
font-weight: 400;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section-label > span {
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section-label-icon {
|
||
width: 12px;
|
||
height: 12px;
|
||
flex: 0 0 auto;
|
||
transition: opacity 140ms ease;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section[data-kind="project"]
|
||
> .agent-gui-node__conversation-section-header:hover
|
||
.agent-gui-node__conversation-section-label-icon {
|
||
opacity: 0;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section-actions {
|
||
position: relative;
|
||
z-index: 1;
|
||
display: inline-flex;
|
||
flex: none;
|
||
align-items: center;
|
||
gap: 4px;
|
||
min-width: 44px;
|
||
pointer-events: auto;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section[data-kind="conversations"]
|
||
.agent-gui-node__conversation-section-actions {
|
||
min-width: 0;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section-action-tooltip-wrap {
|
||
display: inline-flex;
|
||
flex: none;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section-action-tooltip {
|
||
max-width: 180px;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section-more-button {
|
||
flex: none;
|
||
opacity: 0;
|
||
pointer-events: none;
|
||
transition:
|
||
opacity 140ms ease,
|
||
color 140ms ease;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section-more-button svg {
|
||
width: 14px;
|
||
height: 14px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section:hover
|
||
.agent-gui-node__conversation-section-more-button,
|
||
.agent-gui-node__conversation-section:focus-within
|
||
.agent-gui-node__conversation-section-more-button,
|
||
.agent-gui-node__conversation-section-more-button[aria-expanded="true"] {
|
||
opacity: 1;
|
||
pointer-events: auto;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section-items {
|
||
display: grid;
|
||
min-width: 0;
|
||
max-width: 100%;
|
||
grid-template-rows: 1fr;
|
||
opacity: 1;
|
||
visibility: visible;
|
||
transition:
|
||
grid-template-rows 180ms ease,
|
||
opacity 140ms ease,
|
||
visibility 0s linear 0s;
|
||
padding-left: 14px;
|
||
padding-top: 8px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section[data-kind="project"]
|
||
.agent-gui-node__conversation-section-items {
|
||
padding-left: 0;
|
||
padding-top: 4px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section[data-kind="pinned"]
|
||
.agent-gui-node__conversation-section-items {
|
||
padding-left: 0;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section[data-kind="conversations"]
|
||
.agent-gui-node__conversation-section-items {
|
||
padding-left: 0;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section[data-collapsed="true"]
|
||
.agent-gui-node__conversation-section-items {
|
||
grid-template-rows: 0fr;
|
||
opacity: 0;
|
||
pointer-events: none;
|
||
visibility: hidden;
|
||
transition:
|
||
grid-template-rows 180ms ease,
|
||
opacity 120ms ease,
|
||
visibility 0s linear 180ms;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section-items-inner {
|
||
display: grid;
|
||
min-height: 0;
|
||
min-width: 0;
|
||
max-width: 100%;
|
||
gap: 4px;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section[data-kind="project"]
|
||
.agent-gui-node__conversation-section-items-inner {
|
||
gap: 2px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section-pagination {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
gap: 6px;
|
||
align-items: center;
|
||
min-width: 0;
|
||
margin-bottom: 12px;
|
||
padding: 2px 6px 0 22px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section-pagination-button {
|
||
min-width: 0;
|
||
border: 0;
|
||
border-radius: 4px;
|
||
background: transparent;
|
||
color: var(--text-tertiary);
|
||
cursor: pointer;
|
||
font: inherit;
|
||
font-size: 12px;
|
||
line-height: 18px;
|
||
padding: 1px 4px;
|
||
text-align: left;
|
||
transition:
|
||
background-color 140ms ease,
|
||
color 140ms ease;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section-pagination-button:hover,
|
||
.agent-gui-node__conversation-section-pagination-button:focus-visible {
|
||
background-color: var(--agent-gui-surface-hover);
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
@media (prefers-reduced-motion: reduce) {
|
||
.agent-gui-node__conversation-section-items {
|
||
transition: none;
|
||
}
|
||
}
|
||
|
||
.agent-gui-node__conversation-section-empty {
|
||
min-width: 0;
|
||
padding: 7px 12px 7px 26px;
|
||
color: var(--text-tertiary);
|
||
font-size: 13px;
|
||
line-height: 18px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-list-skeleton {
|
||
display: grid;
|
||
gap: 10px;
|
||
padding: 2px 0;
|
||
}
|
||
|
||
.agent-gui-node__conversation-list-skeleton-row {
|
||
position: relative;
|
||
display: grid;
|
||
grid-template-columns: 16px minmax(0, 1fr);
|
||
grid-template-rows: repeat(2, 10px);
|
||
column-gap: 10px;
|
||
row-gap: 8px;
|
||
align-items: center;
|
||
min-height: 46px;
|
||
overflow: hidden;
|
||
border-radius: 8px;
|
||
background: color-mix(in srgb, var(--transparency-block) 54%, transparent);
|
||
padding: 10px 12px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-list-skeleton-row::after {
|
||
content: "";
|
||
position: absolute;
|
||
inset: 0;
|
||
transform: translateX(-100%);
|
||
background: linear-gradient(
|
||
100deg,
|
||
transparent 0%,
|
||
color-mix(in srgb, var(--background-fronted) 48%, transparent) 46%,
|
||
transparent 82%
|
||
);
|
||
animation: agent-gui-conversation-list-skeleton-shimmer 1.18s ease-in-out
|
||
infinite;
|
||
}
|
||
|
||
.agent-gui-node__conversation-list-skeleton-spine,
|
||
.agent-gui-node__conversation-list-skeleton-rib {
|
||
position: relative;
|
||
z-index: 1;
|
||
display: block;
|
||
border-radius: 999px;
|
||
background: color-mix(
|
||
in srgb,
|
||
var(--agent-gui-text-tertiary) 18%,
|
||
transparent
|
||
);
|
||
}
|
||
|
||
.agent-gui-node__conversation-list-skeleton-spine {
|
||
grid-row: 1 / -1;
|
||
width: 3px;
|
||
height: 26px;
|
||
justify-self: center;
|
||
}
|
||
|
||
.agent-gui-node__conversation-list-skeleton-rib {
|
||
height: 12px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-list-skeleton-rib-primary {
|
||
width: 78%;
|
||
}
|
||
|
||
.agent-gui-node__conversation-list-skeleton-rib-secondary {
|
||
width: 52%;
|
||
opacity: 0.72;
|
||
}
|
||
|
||
.agent-gui-node__conversation-list-skeleton-row[data-size="long"]
|
||
.agent-gui-node__conversation-list-skeleton-rib-primary {
|
||
width: 88%;
|
||
}
|
||
|
||
.agent-gui-node__conversation-list-skeleton-row[data-size="medium"]
|
||
.agent-gui-node__conversation-list-skeleton-rib-primary {
|
||
width: 72%;
|
||
}
|
||
|
||
.agent-gui-node__conversation-list-skeleton-row[data-size="short"]
|
||
.agent-gui-node__conversation-list-skeleton-rib-primary {
|
||
width: 58%;
|
||
}
|
||
|
||
.agent-gui-node__conversation-list-skeleton-row[data-size="long"]
|
||
.agent-gui-node__conversation-list-skeleton-rib-secondary {
|
||
width: 60%;
|
||
}
|
||
|
||
.agent-gui-node__conversation-list-skeleton-row[data-size="medium"]
|
||
.agent-gui-node__conversation-list-skeleton-rib-secondary {
|
||
width: 48%;
|
||
}
|
||
|
||
.agent-gui-node__conversation-list-skeleton-row[data-size="short"]
|
||
.agent-gui-node__conversation-list-skeleton-rib-secondary {
|
||
width: 38%;
|
||
}
|
||
|
||
.agent-gui-node__conversation-item {
|
||
--agent-gui-conversation-actions-width: 72px;
|
||
--agent-gui-conversation-actions-inset: 4px;
|
||
--agent-gui-conversation-actions-gap: 8px;
|
||
|
||
position: relative;
|
||
display: block;
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
max-width: 100%;
|
||
height: 32px;
|
||
min-height: 32px;
|
||
border: 1px solid transparent;
|
||
border-radius: 6px;
|
||
background-color: transparent;
|
||
color: var(--agent-gui-text-primary);
|
||
overflow: hidden;
|
||
padding: 0;
|
||
text-align: left;
|
||
transition:
|
||
background-color 140ms ease,
|
||
border-color 140ms ease;
|
||
}
|
||
|
||
.agent-gui-node__conversation-item[data-presentation="activity"] {
|
||
height: auto;
|
||
min-height: 56px;
|
||
margin-bottom: 4px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-item[data-presentation="activity"]
|
||
.agent-gui-node__conversation-select {
|
||
align-items: start;
|
||
min-height: 56px;
|
||
padding-top: 8px;
|
||
padding-bottom: 8px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-activity-text {
|
||
display: flex;
|
||
min-width: 0;
|
||
flex-direction: column;
|
||
gap: 2px;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.agent-gui-node__conversation-activity-project-label {
|
||
display: block;
|
||
flex: 0 1 auto;
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
color: var(--text-tertiary);
|
||
font-size: 12px;
|
||
line-height: 18px;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-node__conversation-activity-secondary {
|
||
display: flex;
|
||
align-items: flex-start;
|
||
min-width: 0;
|
||
max-height: 34px;
|
||
overflow: hidden;
|
||
color: var(--text-tertiary);
|
||
font-size: 12px;
|
||
line-height: 17px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-activity-secondary > span {
|
||
display: -webkit-box;
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
-webkit-box-orient: vertical;
|
||
-webkit-line-clamp: 2;
|
||
}
|
||
|
||
.agent-gui-node__conversation-activity-secondary-icon {
|
||
display: block;
|
||
flex: 0 0 12px;
|
||
width: 12px;
|
||
height: 12px;
|
||
margin: 2px 4px 0 0;
|
||
}
|
||
|
||
.agent-gui-node__conversation-item[data-presentation="activity"]
|
||
.agent-gui-node__conversation-actions {
|
||
top: 4px;
|
||
transform: none;
|
||
}
|
||
|
||
.agent-gui-node__conversation-item:has(
|
||
.agent-gui-node__conversation-open-window-button
|
||
) {
|
||
--agent-gui-conversation-actions-width: 96px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-item:focus-within,
|
||
.agent-gui-node__conversation-item:hover,
|
||
.agent-gui-node__conversation-item[data-state="open"],
|
||
.agent-gui-node__conversation-item:has(
|
||
.agent-gui-node__conversation-actions [data-state="open"]
|
||
) {
|
||
background-color: var(--agent-gui-surface-hover);
|
||
}
|
||
|
||
.agent-gui-node__conversation-item[data-active="true"] {
|
||
border-color: var(--line-1);
|
||
background-color: var(--background-fronted);
|
||
}
|
||
|
||
.agent-gui-node__conversation-select {
|
||
display: grid;
|
||
box-sizing: border-box;
|
||
grid-template-columns: minmax(0, 1fr) auto;
|
||
gap: var(--agent-gui-conversation-actions-gap);
|
||
align-items: center;
|
||
width: 100%;
|
||
max-width: 100%;
|
||
height: 100%;
|
||
min-width: 0;
|
||
border: 0;
|
||
background: transparent;
|
||
color: inherit;
|
||
overflow: hidden;
|
||
padding: 0 8px 0 12px;
|
||
text-align: left;
|
||
transition: padding-right 140ms ease;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section[data-kind="project"]
|
||
.agent-gui-node__conversation-select {
|
||
padding-left: 26px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section[data-kind="pinned"]
|
||
.agent-gui-node__conversation-select {
|
||
padding-left: 26px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-section[data-kind="conversations"]
|
||
.agent-gui-node__conversation-select {
|
||
padding-left: 26px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-item:hover .agent-gui-node__conversation-select,
|
||
.agent-gui-node__conversation-item[data-state="open"]
|
||
.agent-gui-node__conversation-select,
|
||
.agent-gui-node__conversation-item:has(
|
||
.agent-gui-node__conversation-actions [data-state="open"]
|
||
)
|
||
.agent-gui-node__conversation-select,
|
||
.agent-gui-node__conversation-item:has(
|
||
.agent-gui-node__conversation-actions:focus-within
|
||
)
|
||
.agent-gui-node__conversation-select {
|
||
grid-template-columns: minmax(0, 1fr) 0;
|
||
padding-right: calc(
|
||
var(--agent-gui-conversation-actions-width) +
|
||
var(--agent-gui-conversation-actions-inset)
|
||
);
|
||
}
|
||
|
||
.agent-gui-node__conversation-item[data-pending-delete="true"]
|
||
.agent-gui-node__conversation-select {
|
||
grid-template-columns: minmax(0, 1fr) 0;
|
||
padding-right: min(96px, calc(100% - 24px));
|
||
}
|
||
|
||
.agent-gui-node__conversation-meta {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
justify-content: flex-end;
|
||
min-width: 28px;
|
||
gap: 4px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-meta[data-kind="loading"],
|
||
.agent-gui-node__conversation-meta[data-kind="waiting"],
|
||
.agent-gui-node__conversation-meta[data-kind="failed"],
|
||
.agent-gui-node__conversation-meta[data-kind="unread-complete"] {
|
||
width: 28px;
|
||
min-width: 28px;
|
||
justify-content: center;
|
||
}
|
||
|
||
.agent-gui-node__conversation-meta[data-worktree="true"] {
|
||
width: auto;
|
||
min-width: max-content;
|
||
}
|
||
|
||
.agent-gui-node__conversation-meta[data-kind="time"] {
|
||
margin-right: 6px;
|
||
min-width: max-content;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-node__conversation-actions {
|
||
position: absolute;
|
||
top: 50%;
|
||
right: var(--agent-gui-conversation-actions-inset);
|
||
z-index: 1;
|
||
display: inline-flex;
|
||
align-items: center;
|
||
justify-content: flex-start;
|
||
gap: 0;
|
||
box-sizing: border-box;
|
||
min-width: var(--agent-gui-conversation-actions-width);
|
||
max-width: calc(100% - 20px);
|
||
opacity: 0;
|
||
transform: translateY(-50%);
|
||
}
|
||
|
||
.agent-gui-node__conversation-more-button {
|
||
background: transparent;
|
||
color: var(--text-tertiary);
|
||
}
|
||
|
||
.agent-gui-node__conversation-more-button svg {
|
||
width: 16px;
|
||
height: 16px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-more-button:not(:disabled):hover,
|
||
.agent-gui-node__conversation-more-button:not(:disabled):focus-visible {
|
||
background: var(--transparency-hover);
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
.agent-gui-node__conversation-delete-button,
|
||
.agent-gui-node__conversation-open-window-button,
|
||
.agent-gui-node__conversation-pin-button {
|
||
background: transparent;
|
||
background-color: transparent;
|
||
color: var(--text-tertiary);
|
||
}
|
||
|
||
.agent-gui-node__conversation-pin-button svg,
|
||
.agent-gui-node__conversation-open-window-button svg,
|
||
.agent-gui-node__conversation-delete-button svg {
|
||
width: 14px;
|
||
height: 14px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-item:hover .agent-gui-node__conversation-actions,
|
||
.agent-gui-node__conversation-item[data-state="open"]
|
||
.agent-gui-node__conversation-actions,
|
||
.agent-gui-node__conversation-actions:focus-within,
|
||
.agent-gui-node__conversation-actions:has([data-state="open"]) {
|
||
opacity: 1;
|
||
/* Only in the visible state: fading in on hover stays smooth while
|
||
leaving the row swaps back to the meta icon instantly, with no
|
||
lingering cross-fade overlapping the two. */
|
||
transition: opacity 140ms ease;
|
||
}
|
||
|
||
.agent-gui-node__conversation-item[data-pinned="true"]
|
||
.agent-gui-node__conversation-pin-button {
|
||
color: var(--agent-gui-accent);
|
||
}
|
||
|
||
.agent-gui-node__conversation-item[data-pending-delete="true"]
|
||
.agent-gui-node__conversation-actions {
|
||
opacity: 1;
|
||
}
|
||
|
||
.agent-gui-node__conversation-item[data-pending-delete="true"]
|
||
.agent-gui-node__conversation-delete-button {
|
||
width: auto;
|
||
min-width: 76px;
|
||
background: transparent;
|
||
color: var(--agent-gui-danger, var(--state-danger));
|
||
padding: 0 10px;
|
||
opacity: 1;
|
||
}
|
||
|
||
.agent-gui-node__conversation-delete-confirm-text {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
height: 100%;
|
||
font-size: 11px;
|
||
font-weight: 600;
|
||
line-height: 1;
|
||
}
|
||
|
||
.agent-gui-node__conversation-item[data-pending-delete="true"]
|
||
.agent-gui-node__conversation-meta,
|
||
.agent-gui-node__conversation-item:hover .agent-gui-node__conversation-meta,
|
||
.agent-gui-node__conversation-item[data-state="open"]
|
||
.agent-gui-node__conversation-meta,
|
||
.agent-gui-node__conversation-item:has(
|
||
.agent-gui-node__conversation-actions:focus-within
|
||
)
|
||
.agent-gui-node__conversation-meta,
|
||
.agent-gui-node__conversation-item:has(
|
||
.agent-gui-node__conversation-actions [data-state="open"]
|
||
)
|
||
.agent-gui-node__conversation-meta {
|
||
width: 0;
|
||
min-width: 0;
|
||
margin-right: 0;
|
||
overflow: hidden;
|
||
opacity: 0;
|
||
}
|
||
|
||
.agent-gui-node__conversation-title-row {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
min-width: 0;
|
||
max-width: 100%;
|
||
gap: 6px;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.agent-gui-node__conversation-provider-icon {
|
||
flex: 0 0 14px;
|
||
width: 14px;
|
||
height: 14px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-provider-image {
|
||
display: block;
|
||
object-fit: contain;
|
||
}
|
||
|
||
.agent-gui-node__conversation-provider-mask-icon {
|
||
display: inline-block;
|
||
color: var(--text-tertiary);
|
||
background-color: currentColor;
|
||
mask-position: center;
|
||
mask-repeat: no-repeat;
|
||
mask-size: contain;
|
||
-webkit-mask-position: center;
|
||
-webkit-mask-repeat: no-repeat;
|
||
-webkit-mask-size: contain;
|
||
}
|
||
|
||
.agent-gui-node__conversation-title-mention-icon {
|
||
display: inline-flex;
|
||
width: 14px;
|
||
height: 14px;
|
||
flex: 0 0 14px;
|
||
align-items: center;
|
||
justify-content: center;
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
.agent-gui-node__conversation-title-mention-icon > svg {
|
||
width: 14px;
|
||
height: 14px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-actions
|
||
> button.agent-gui-node__conversation-open-window-button:not(:disabled):hover,
|
||
.agent-gui-node__conversation-actions
|
||
> button.agent-gui-node__conversation-open-window-button:not(
|
||
:disabled
|
||
):focus-visible,
|
||
.agent-gui-node__conversation-actions
|
||
> button.agent-gui-node__conversation-open-window-button:not(
|
||
:disabled
|
||
):active {
|
||
background: transparent;
|
||
background-color: transparent;
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
.agent-gui-node__conversation-actions
|
||
> button.agent-gui-node__conversation-open-window-button:not(:disabled):hover
|
||
svg,
|
||
.agent-gui-node__conversation-actions
|
||
> button.agent-gui-node__conversation-open-window-button:not(
|
||
:disabled
|
||
):focus-visible
|
||
svg,
|
||
.agent-gui-node__conversation-actions
|
||
> button.agent-gui-node__conversation-open-window-button:not(:disabled):active
|
||
svg {
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
.agent-gui-node__conversation-actions
|
||
> button.agent-gui-node__conversation-pin-button:not(:disabled):hover,
|
||
.agent-gui-node__conversation-actions
|
||
> button.agent-gui-node__conversation-pin-button:not(:disabled):focus-visible,
|
||
.agent-gui-node__conversation-actions
|
||
> button.agent-gui-node__conversation-pin-button:not(:disabled):active {
|
||
background: transparent;
|
||
background-color: transparent;
|
||
color: var(--agent-gui-accent);
|
||
}
|
||
|
||
.agent-gui-node__conversation-actions
|
||
> button.agent-gui-node__conversation-pin-button:not(:disabled):hover
|
||
svg,
|
||
.agent-gui-node__conversation-actions
|
||
> button.agent-gui-node__conversation-pin-button:not(:disabled):focus-visible
|
||
svg,
|
||
.agent-gui-node__conversation-actions
|
||
> button.agent-gui-node__conversation-pin-button:not(:disabled):active
|
||
svg {
|
||
color: var(--agent-gui-accent);
|
||
fill: currentColor;
|
||
}
|
||
|
||
.agent-gui-node__conversation-actions
|
||
> button.agent-gui-node__conversation-delete-button:not(:disabled):hover,
|
||
.agent-gui-node__conversation-actions
|
||
> button.agent-gui-node__conversation-delete-button:not(
|
||
:disabled
|
||
):focus-visible,
|
||
.agent-gui-node__conversation-actions
|
||
> button.agent-gui-node__conversation-delete-button:not(:disabled):active {
|
||
background: transparent;
|
||
background-color: transparent;
|
||
color: var(--agent-gui-danger, var(--state-danger));
|
||
}
|
||
|
||
.agent-gui-node__conversation-actions
|
||
> button.agent-gui-node__conversation-delete-button:not(:disabled):hover
|
||
svg,
|
||
.agent-gui-node__conversation-actions
|
||
> button.agent-gui-node__conversation-delete-button:not(
|
||
:disabled
|
||
):focus-visible
|
||
svg,
|
||
.agent-gui-node__conversation-actions
|
||
> button.agent-gui-node__conversation-delete-button:not(:disabled):active
|
||
svg {
|
||
color: var(--agent-gui-danger, var(--state-danger));
|
||
fill: currentColor;
|
||
}
|
||
|
||
.agent-gui-node__conversation-delete-button:disabled,
|
||
.agent-gui-node__conversation-open-window-button:disabled,
|
||
.agent-gui-node__conversation-pin-button:disabled {
|
||
cursor: not-allowed;
|
||
opacity: 0.4;
|
||
}
|
||
|
||
.agent-gui-node__conversation-title {
|
||
display: block;
|
||
flex: 1 1 auto;
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
color: var(--text-primary);
|
||
font-size: 13px;
|
||
line-height: 18px;
|
||
font-weight: 400;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-node__conversation-title
|
||
[data-workspace-agent-markdown-shell="true"],
|
||
.agent-gui-node__conversation-title [data-workspace-agent-markdown="true"] {
|
||
display: block;
|
||
height: 18px;
|
||
line-height: inherit;
|
||
min-width: 0;
|
||
max-width: 100%;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-node__conversation-time {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
flex: none;
|
||
color: var(--text-tertiary);
|
||
font-size: 11px;
|
||
font-weight: 400;
|
||
line-height: 18px;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-node__conversation-status-glyph {
|
||
display: block;
|
||
flex: none;
|
||
width: 14px;
|
||
height: 14px;
|
||
transform-origin: center;
|
||
}
|
||
|
||
.agent-gui-node__conversation-worktree-glyph {
|
||
display: block;
|
||
flex: none;
|
||
width: 15px;
|
||
height: 15px;
|
||
color: var(--text-tertiary);
|
||
}
|
||
|
||
.agent-gui-node__conversation-meta[data-kind="loading"] {
|
||
color: var(--agent-gui-text-tertiary);
|
||
}
|
||
|
||
.agent-gui-node__conversation-meta[data-kind="failed"] {
|
||
width: 28px;
|
||
height: 28px;
|
||
min-width: 28px;
|
||
justify-content: center;
|
||
color: var(--state-danger);
|
||
}
|
||
|
||
.agent-gui-node__conversation-meta[data-kind="waiting"] {
|
||
width: 28px;
|
||
height: 28px;
|
||
min-width: 28px;
|
||
justify-content: center;
|
||
color: var(--color-amber-500);
|
||
}
|
||
|
||
.agent-gui-node__conversation-meta[data-kind="waiting"]
|
||
.agent-gui-node__conversation-status-glyph,
|
||
.agent-gui-node__conversation-meta[data-kind="failed"]
|
||
.agent-gui-node__conversation-status-glyph {
|
||
width: 16px;
|
||
height: 16px;
|
||
}
|
||
|
||
.agent-gui-node__conversation-meta[data-kind="failed"]
|
||
.agent-gui-node__conversation-status-glyph {
|
||
color: var(--state-danger);
|
||
}
|
||
|
||
.agent-gui-node__conversation-unread-lamp {
|
||
width: 6px;
|
||
height: 6px;
|
||
border-radius: 999px;
|
||
background: var(--agent-gui-accent);
|
||
}
|
||
|
||
@keyframes agent-gui-conversation-spin {
|
||
from {
|
||
transform: rotate(0deg);
|
||
}
|
||
|
||
to {
|
||
transform: rotate(360deg);
|
||
}
|
||
}
|
||
|
||
@keyframes agent-gui-conversation-list-skeleton-shimmer {
|
||
100% {
|
||
transform: translateX(100%);
|
||
}
|
||
}
|
||
|
||
@keyframes agent-gui-interactive-prompt-enter {
|
||
from {
|
||
opacity: 0;
|
||
transform: translateY(10px);
|
||
}
|
||
|
||
to {
|
||
opacity: 1;
|
||
transform: translateY(0);
|
||
}
|
||
}
|
||
|
||
.agent-gui-node__detail {
|
||
position: relative;
|
||
display: flex;
|
||
flex: 1 1 auto;
|
||
flex-direction: column;
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
min-width: 0;
|
||
min-height: 0;
|
||
background: inherit;
|
||
}
|
||
|
||
.agent-gui-node__detail-workbench {
|
||
display: flex;
|
||
flex: 1 1 auto;
|
||
width: 100%;
|
||
min-width: 0;
|
||
min-height: 0;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.agent-gui-node__detail-primary {
|
||
display: flex;
|
||
flex: 1 1 auto;
|
||
flex-direction: column;
|
||
min-width: 0;
|
||
min-height: 0;
|
||
background: inherit;
|
||
}
|
||
|
||
.agent-gui-node__side-pane {
|
||
position: relative;
|
||
display: flex;
|
||
flex: 0 0 var(--agent-gui-side-pane-width, 440px);
|
||
flex-direction: column;
|
||
width: var(--agent-gui-side-pane-width, 440px);
|
||
min-width: 360px;
|
||
max-width: 600px;
|
||
min-height: 0;
|
||
overflow: hidden;
|
||
border-left: 1px solid var(--line-1, var(--tutti-line-1));
|
||
background: var(--agent-gui-session-sidepanel-background);
|
||
}
|
||
|
||
.agent-gui-node__side-surface {
|
||
display: flex;
|
||
flex: 1 1 auto;
|
||
flex-direction: column;
|
||
width: 100%;
|
||
min-width: 0;
|
||
min-height: 0;
|
||
overflow: hidden;
|
||
background: var(--agent-gui-session-sidepanel-background);
|
||
}
|
||
|
||
.agent-gui-node__side-resize-handle {
|
||
position: absolute;
|
||
top: 0;
|
||
bottom: 0;
|
||
left: -4px;
|
||
z-index: 8;
|
||
width: 8px;
|
||
cursor: col-resize;
|
||
touch-action: none;
|
||
}
|
||
|
||
.agent-gui-node__side-resize-handle::after {
|
||
position: absolute;
|
||
top: 0;
|
||
bottom: 0;
|
||
left: 3px;
|
||
width: 2px;
|
||
background: transparent;
|
||
content: "";
|
||
transition: background 120ms ease;
|
||
}
|
||
|
||
.agent-gui-node__side-resize-handle:hover::after,
|
||
.agent-gui-node__side-resize-handle:focus-visible::after {
|
||
background: var(--tutti-purple);
|
||
}
|
||
|
||
.agent-gui-node__side-resize-handle:focus-visible {
|
||
outline: none;
|
||
}
|
||
|
||
.agent-gui-node__side-close-button {
|
||
display: inline-grid;
|
||
flex: 0 0 auto;
|
||
place-items: center;
|
||
width: 30px;
|
||
height: 30px;
|
||
padding: 0;
|
||
border: 0;
|
||
border-radius: 8px;
|
||
background: transparent;
|
||
color: var(--text-secondary, var(--tutti-text-secondary));
|
||
cursor: pointer;
|
||
}
|
||
|
||
.agent-gui-node__side-header {
|
||
display: flex;
|
||
flex: 0 0 44px;
|
||
align-items: center;
|
||
justify-content: flex-end;
|
||
padding: 6px 10px 4px;
|
||
}
|
||
|
||
.agent-gui-node__side-close-button:hover {
|
||
background: var(--transparency-block, var(--tutti-surface-2));
|
||
color: var(--text-primary, var(--tutti-text-primary));
|
||
}
|
||
|
||
.agent-gui-node__side-close-button:focus-visible {
|
||
outline: 2px solid var(--tutti-purple);
|
||
outline-offset: 1px;
|
||
}
|
||
|
||
.agent-gui-node__side-timeline-frame {
|
||
display: flex;
|
||
flex: 1 1 auto;
|
||
min-height: 0;
|
||
}
|
||
|
||
.agent-gui-node__side-timeline {
|
||
display: grid;
|
||
align-content: start;
|
||
min-height: 0;
|
||
padding: 8px 18px 112px;
|
||
scroll-padding-bottom: 112px;
|
||
}
|
||
|
||
.agent-gui-node__side-empty-state {
|
||
display: flex;
|
||
min-height: 100%;
|
||
flex-direction: column;
|
||
align-items: center;
|
||
justify-content: center;
|
||
padding: 56px 20px;
|
||
color: var(--text-secondary, var(--tutti-text-secondary));
|
||
text-align: center;
|
||
}
|
||
|
||
.agent-gui-node__side-empty-state-icon {
|
||
margin-bottom: 18px;
|
||
color: var(--text-secondary, var(--tutti-text-secondary));
|
||
}
|
||
|
||
.agent-gui-node__side-empty-state-title {
|
||
color: var(--text-primary, var(--tutti-text-primary));
|
||
font-size: 17px;
|
||
font-weight: 600;
|
||
line-height: 24px;
|
||
}
|
||
|
||
.agent-gui-node__side-empty-state-description {
|
||
max-width: 360px;
|
||
margin: 8px 0 0;
|
||
font-size: 14px;
|
||
line-height: 22px;
|
||
}
|
||
|
||
.agent-gui-node__side-error {
|
||
margin: 0 12px 12px;
|
||
color: var(--destructive, var(--tutti-destructive));
|
||
font-size: 13px;
|
||
line-height: 20px;
|
||
}
|
||
|
||
.agent-gui-node__side-composer {
|
||
position: sticky;
|
||
bottom: 0;
|
||
z-index: 4;
|
||
flex: 0 0 auto;
|
||
background: linear-gradient(
|
||
to bottom,
|
||
transparent,
|
||
var(--agent-gui-session-sidepanel-background) 18px
|
||
);
|
||
}
|
||
|
||
.agent-gui-node__side-composer > .agent-gui-node__composer {
|
||
padding-right: 10px;
|
||
padding-left: 10px;
|
||
}
|
||
|
||
/* Dock Composer defaults to the main conversation-flow surface. Side is an
|
||
adapter host for the shared Composer, so keep the dock padding and footer on
|
||
the tool-sidebar surface without changing the shared input-card surface. */
|
||
.agent-gui-node__side-composer > .agent-gui-node__composer[data-layout="dock"],
|
||
.agent-gui-node__side-composer
|
||
> .agent-gui-node__composer[data-layout="dock"]
|
||
.agent-gui-node__composer-footer {
|
||
background: var(--agent-gui-session-sidepanel-background);
|
||
}
|
||
|
||
@media (max-width: 860px) {
|
||
.agent-gui-node__detail-workbench:has(.agent-gui-node__side-pane)
|
||
> .agent-gui-node__detail-primary {
|
||
display: none;
|
||
}
|
||
|
||
.agent-gui-node__side-pane {
|
||
flex-basis: 100%;
|
||
width: 100%;
|
||
min-width: 0;
|
||
max-width: none;
|
||
border-left: 0;
|
||
}
|
||
|
||
.agent-gui-node__side-resize-handle {
|
||
display: none;
|
||
}
|
||
}
|
||
|
||
.agent-gui-node__timeline {
|
||
--agent-gui-message-locator-inline-offset: var(--agent-gui-detail-padding-x);
|
||
|
||
position: relative;
|
||
display: grid;
|
||
flex: 1 1 auto;
|
||
align-content: start;
|
||
gap: 24px;
|
||
min-height: 0;
|
||
overflow: auto;
|
||
padding: 32px var(--agent-gui-detail-padding-x)
|
||
calc(24px + var(--agent-gui-bottom-dock-safe-area, 0px));
|
||
scroll-padding-bottom: calc(
|
||
24px + var(--agent-gui-bottom-dock-safe-area, 0px)
|
||
);
|
||
background: transparent;
|
||
}
|
||
|
||
.agent-gui-transcript-row {
|
||
display: grid;
|
||
width: 100%;
|
||
min-width: 0;
|
||
transform-origin: top center;
|
||
}
|
||
|
||
.agent-gui-message-locator {
|
||
--agent-message-locator-dot-size: 6px;
|
||
--agent-message-locator-hit-size: 36px;
|
||
--agent-message-locator-center-offset: 18px;
|
||
--agent-message-locator-inline-shift: 8px;
|
||
--agent-message-locator-scrollbar-gap: 8px;
|
||
--agent-message-locator-visible-height: 100vh;
|
||
--agent-message-locator-visible-top-offset: 0px;
|
||
--agent-message-locator-viewport-height: var(--agent-message-locator-height);
|
||
|
||
position: sticky;
|
||
top: max(
|
||
0px,
|
||
calc(
|
||
var(--agent-message-locator-visible-top-offset) +
|
||
(
|
||
(
|
||
var(--agent-message-locator-visible-height) -
|
||
var(--agent-message-locator-viewport-height)
|
||
) /
|
||
2
|
||
)
|
||
)
|
||
);
|
||
right: 0;
|
||
z-index: 7;
|
||
justify-self: stretch;
|
||
width: calc(100% + var(--agent-gui-message-locator-inline-offset));
|
||
height: var(--agent-message-locator-viewport-height);
|
||
margin-right: calc(-1 * var(--agent-gui-message-locator-inline-offset));
|
||
margin-bottom: calc(-1 * var(--agent-message-locator-viewport-height));
|
||
pointer-events: none;
|
||
}
|
||
|
||
.agent-gui-message-locator__viewport {
|
||
position: absolute;
|
||
top: 0;
|
||
right: calc(
|
||
var(--agent-message-locator-scrollbar-gap) +
|
||
var(--agent-message-locator-center-offset) -
|
||
var(--agent-message-locator-hit-size) / 2 -
|
||
var(--agent-message-locator-inline-shift)
|
||
);
|
||
width: var(--agent-message-locator-hit-size);
|
||
height: 100%;
|
||
overflow-x: hidden;
|
||
overflow-y: auto;
|
||
overscroll-behavior: contain;
|
||
pointer-events: auto;
|
||
scrollbar-width: none;
|
||
cursor: pointer;
|
||
z-index: 1;
|
||
}
|
||
|
||
.agent-gui-message-locator__viewport::-webkit-scrollbar {
|
||
display: none;
|
||
}
|
||
|
||
.agent-gui-message-locator__content {
|
||
position: relative;
|
||
min-height: 100%;
|
||
height: var(--agent-message-locator-height);
|
||
}
|
||
|
||
.agent-gui-message-locator__track-segment {
|
||
position: absolute;
|
||
top: var(--agent-message-locator-segment-position);
|
||
left: calc(var(--agent-message-locator-hit-size) / 2);
|
||
width: 1px;
|
||
height: 8px;
|
||
transform: translate(-50%, -50%);
|
||
background: var(--line-1, var(--nexight-line-1));
|
||
}
|
||
|
||
.agent-gui-message-locator__tick {
|
||
position: absolute;
|
||
top: var(--agent-message-locator-position);
|
||
left: 0;
|
||
display: grid;
|
||
width: var(--agent-message-locator-hit-size);
|
||
height: var(--agent-message-locator-hit-size);
|
||
padding: 0;
|
||
border: 0;
|
||
place-items: center;
|
||
background: transparent;
|
||
color: inherit;
|
||
transform: translateY(-50%);
|
||
cursor: pointer;
|
||
pointer-events: auto;
|
||
touch-action: manipulation;
|
||
-webkit-appearance: none;
|
||
appearance: none;
|
||
}
|
||
|
||
.agent-gui-message-locator__dot {
|
||
box-sizing: border-box;
|
||
width: var(--agent-message-locator-dot-size);
|
||
height: var(--agent-message-locator-dot-size);
|
||
border: 0 solid transparent;
|
||
border-radius: 999px;
|
||
background: color-mix(
|
||
in srgb,
|
||
var(--text-tertiary, var(--tutti-text-tertiary)) 62%,
|
||
transparent
|
||
);
|
||
transition:
|
||
background 140ms ease,
|
||
border-color 140ms ease,
|
||
transform 140ms ease;
|
||
}
|
||
|
||
.agent-gui-message-locator__tick:hover .agent-gui-message-locator__dot,
|
||
.agent-gui-message-locator__tick:focus-visible .agent-gui-message-locator__dot,
|
||
.agent-gui-message-locator__tick[data-selected="true"]
|
||
.agent-gui-message-locator__dot {
|
||
transform: scale(1.6667);
|
||
}
|
||
|
||
.agent-gui-message-locator__tick[data-selected="true"]
|
||
.agent-gui-message-locator__dot {
|
||
border-width: 2px;
|
||
border-color: var(--text-secondary, var(--tutti-text-secondary));
|
||
background: transparent;
|
||
}
|
||
|
||
.agent-gui-message-locator__tick:hover .agent-gui-message-locator__dot,
|
||
.agent-gui-message-locator__tick:focus-visible .agent-gui-message-locator__dot {
|
||
border-width: 2px;
|
||
border-color: var(--text-primary, var(--tutti-text-primary));
|
||
background: transparent;
|
||
}
|
||
|
||
.agent-gui-message-locator__tick[data-unread-agent-response="true"]
|
||
.agent-gui-message-locator__dot {
|
||
background: var(--tutti-purple);
|
||
}
|
||
|
||
.agent-gui-message-locator__tick[data-unread-agent-response="true"]:hover
|
||
.agent-gui-message-locator__dot,
|
||
.agent-gui-message-locator__tick[data-unread-agent-response="true"]:focus-visible
|
||
.agent-gui-message-locator__dot {
|
||
border-width: 2px;
|
||
border-color: var(--tutti-purple);
|
||
background: transparent;
|
||
}
|
||
|
||
.agent-gui-message-locator__panel {
|
||
position: absolute;
|
||
top: 50%;
|
||
right: calc(22px + var(--agent-message-locator-scrollbar-gap));
|
||
display: grid;
|
||
width: min(360px, calc(100vw - 112px));
|
||
max-width: max-content;
|
||
max-height: calc(var(--agent-message-locator-visible-height) - 32px);
|
||
gap: 12px;
|
||
overflow-y: auto;
|
||
padding: 16px;
|
||
border: 1px solid
|
||
color-mix(in srgb, var(--line-2, var(--tutti-line-2)) 72%, transparent);
|
||
border-radius: 8px;
|
||
background: var(
|
||
--background-fronted,
|
||
var(--surface-1, var(--tutti-surface-1))
|
||
);
|
||
box-shadow: var(--shadow-panel);
|
||
color: var(--text-primary, var(--tutti-text-primary));
|
||
opacity: 0;
|
||
transform: translateY(-50%) translateX(4px);
|
||
transition:
|
||
opacity 140ms ease,
|
||
transform 140ms ease;
|
||
pointer-events: none;
|
||
}
|
||
|
||
.agent-gui-message-locator__panel[data-open="true"] {
|
||
opacity: 1;
|
||
transform: translateY(-50%) translateX(0);
|
||
pointer-events: auto;
|
||
}
|
||
|
||
.agent-gui-message-locator__panel-item {
|
||
display: block;
|
||
min-width: 0;
|
||
max-width: 100%;
|
||
padding: 0;
|
||
border: 0;
|
||
border-radius: 6px;
|
||
background: transparent;
|
||
color: var(--text-tertiary, var(--tutti-text-tertiary));
|
||
text-align: left;
|
||
cursor: pointer;
|
||
transition: color 160ms ease;
|
||
}
|
||
|
||
.agent-gui-message-locator__panel-item:hover,
|
||
.agent-gui-message-locator__panel-item:focus-visible {
|
||
background: color-mix(
|
||
in srgb,
|
||
var(--surface-2, var(--tutti-surface-2)) 86%,
|
||
transparent
|
||
);
|
||
outline: none;
|
||
}
|
||
|
||
.agent-gui-message-locator__panel-item[data-active="true"] {
|
||
color: var(--text-primary, var(--tutti-text-primary));
|
||
}
|
||
|
||
@media (prefers-reduced-motion: reduce) {
|
||
.agent-gui-message-locator__panel,
|
||
.agent-gui-message-locator__panel-item {
|
||
transition: none;
|
||
}
|
||
}
|
||
|
||
.agent-gui-message-locator__panel-item-text {
|
||
display: block;
|
||
overflow: hidden;
|
||
max-width: 100%;
|
||
text-align: left;
|
||
font-size: 13px;
|
||
font-weight: 520;
|
||
line-height: 1.35;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-transcript-virtual {
|
||
position: relative;
|
||
width: 100%;
|
||
min-width: 0;
|
||
contain: layout;
|
||
overflow-anchor: none;
|
||
}
|
||
|
||
.agent-gui-transcript-virtual-item {
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
display: grid;
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
min-width: 0;
|
||
padding-bottom: 16px;
|
||
will-change: transform;
|
||
}
|
||
|
||
.agent-gui-transcript-virtual-item
|
||
> .agent-gui-transcript-row
|
||
+ .agent-gui-transcript-row,
|
||
.agent-gui-transcript-virtual-item
|
||
> [data-testid="agent-transcript-turn-divider"]
|
||
+ .agent-gui-transcript-row {
|
||
margin-top: 16px;
|
||
}
|
||
|
||
.agent-gui-transcript-row[data-agent-transcript-row-enter="true"] {
|
||
animation: agent-gui-transcript-row-enter 180ms cubic-bezier(0.16, 1, 0.3, 1)
|
||
both;
|
||
}
|
||
|
||
@keyframes agent-gui-transcript-row-enter {
|
||
from {
|
||
opacity: 0;
|
||
}
|
||
|
||
to {
|
||
opacity: 1;
|
||
}
|
||
}
|
||
|
||
@media (prefers-reduced-motion: reduce) {
|
||
.agent-gui-transcript-row[data-agent-transcript-row-enter="true"] {
|
||
animation: none;
|
||
}
|
||
}
|
||
|
||
.workspace-agents-status-panel__conversation-timeline.agent-gui-node__timeline {
|
||
--agent-gui-message-locator-inline-offset: 28px;
|
||
|
||
padding-right: 28px;
|
||
padding-left: 28px;
|
||
}
|
||
|
||
.agent-gui-node__timeline-with-composer {
|
||
padding-top: 24px;
|
||
padding-bottom: calc(120px + var(--agent-gui-bottom-dock-safe-area, 0px));
|
||
scroll-padding-bottom: calc(
|
||
120px + var(--agent-gui-bottom-dock-safe-area, 0px)
|
||
);
|
||
}
|
||
|
||
.agent-gui-node__timeline-with-composer.agent-gui-node__timeline--scrolled-from-top {
|
||
-webkit-mask-image: linear-gradient(
|
||
180deg,
|
||
transparent 0,
|
||
rgb(0 0 0 / 0.18) 10px,
|
||
rgb(0 0 0 / 0.62) 26px,
|
||
black 44px
|
||
);
|
||
mask-image: linear-gradient(
|
||
180deg,
|
||
transparent 0,
|
||
rgb(0 0 0 / 0.18) 10px,
|
||
rgb(0 0 0 / 0.62) 26px,
|
||
black 44px
|
||
);
|
||
}
|
||
|
||
.agent-gui-node__timeline-unavailable-chat-empty {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
padding-bottom: 24px;
|
||
scroll-padding-bottom: 24px;
|
||
}
|
||
|
||
.agent-gui-node__timeline-centered {
|
||
display: flex;
|
||
align-items: stretch;
|
||
justify-content: center;
|
||
}
|
||
|
||
.agent-gui-node__transcript-skeleton {
|
||
display: grid;
|
||
gap: 20px;
|
||
width: 100%;
|
||
min-width: 0;
|
||
}
|
||
|
||
.agent-gui-node__transcript-skeleton-row {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 9px;
|
||
width: min(72%, 560px);
|
||
min-width: 0;
|
||
}
|
||
|
||
.agent-gui-node__transcript-skeleton-row-user {
|
||
justify-self: end;
|
||
align-items: flex-end;
|
||
width: min(48%, 360px);
|
||
}
|
||
|
||
.agent-gui-node__transcript-skeleton-row-assistant {
|
||
justify-self: start;
|
||
align-items: flex-start;
|
||
}
|
||
|
||
.agent-gui-node__transcript-skeleton-line,
|
||
.agent-gui-node__transcript-skeleton-bubble {
|
||
position: relative;
|
||
display: block;
|
||
overflow: hidden;
|
||
height: 16px;
|
||
border-radius: 4px;
|
||
background: var(--transparency-block);
|
||
}
|
||
|
||
.agent-gui-node__transcript-skeleton-line::after,
|
||
.agent-gui-node__transcript-skeleton-bubble::after {
|
||
content: "";
|
||
position: absolute;
|
||
inset: 0;
|
||
transform: translateX(-100%);
|
||
background: linear-gradient(
|
||
90deg,
|
||
transparent 0%,
|
||
color-mix(in srgb, var(--background-fronted) 42%, transparent) 50%,
|
||
transparent 100%
|
||
);
|
||
animation: agent-gui-transcript-skeleton-shimmer 1.2s ease-in-out infinite;
|
||
}
|
||
|
||
.agent-gui-node__transcript-skeleton-line-long {
|
||
width: 100%;
|
||
}
|
||
|
||
.agent-gui-node__transcript-skeleton-line-medium {
|
||
width: 72%;
|
||
}
|
||
|
||
.agent-gui-node__transcript-skeleton-line-short {
|
||
width: 46%;
|
||
}
|
||
|
||
@keyframes agent-gui-transcript-skeleton-shimmer {
|
||
100% {
|
||
transform: translateX(100%);
|
||
}
|
||
}
|
||
|
||
@media (prefers-reduced-motion: reduce) {
|
||
.agent-gui-node__conversation-list-skeleton-row::after,
|
||
.agent-gui-node__transcript-skeleton-line::after,
|
||
.agent-gui-node__transcript-skeleton-bubble::after {
|
||
animation: none;
|
||
}
|
||
}
|
||
|
||
.agent-gui-node__bottom-dock {
|
||
position: sticky;
|
||
bottom: 0;
|
||
z-index: 4;
|
||
display: grid;
|
||
align-self: stretch;
|
||
box-sizing: border-box;
|
||
gap: 0;
|
||
margin-right: auto;
|
||
margin-left: auto;
|
||
width: 100%;
|
||
margin-top: auto;
|
||
padding-top: 0;
|
||
background: transparent;
|
||
border-top: 0;
|
||
pointer-events: none;
|
||
}
|
||
|
||
.agent-gui-node__bottom-dock > .agent-gui-node__composer {
|
||
padding-right: 12px;
|
||
padding-left: 12px;
|
||
pointer-events: none;
|
||
}
|
||
|
||
.agent-gui-node__bottom-dock-scroll-to-bottom {
|
||
position: absolute;
|
||
bottom: calc(
|
||
100% + var(--agent-gui-bottom-dock-floating-safe-area, 0px) + 8px
|
||
);
|
||
left: 50%;
|
||
z-index: 6;
|
||
display: inline-grid;
|
||
place-items: center;
|
||
width: 34px;
|
||
height: 34px;
|
||
margin: 0;
|
||
padding: 0;
|
||
border: 1px solid
|
||
color-mix(in srgb, var(--line-2, var(--tutti-line-2)) 72%, transparent);
|
||
border-radius: 999px;
|
||
background: var(--background-fronted, var(--tutti-surface-1));
|
||
box-shadow: 0 10px 26px rgb(0 0 0 / 10%);
|
||
color: var(--text-secondary, var(--tutti-text-secondary));
|
||
pointer-events: auto;
|
||
cursor: pointer;
|
||
transform: translateX(-50%);
|
||
transition:
|
||
background 140ms ease,
|
||
color 140ms ease,
|
||
transform 140ms ease;
|
||
}
|
||
|
||
.agent-gui-node__bottom-dock-scroll-to-bottom:hover {
|
||
background: var(--background-fronted, var(--tutti-surface-1));
|
||
color: var(--text-primary, var(--tutti-text-primary));
|
||
transform: translateX(-50%) translateY(-1px);
|
||
}
|
||
|
||
.agent-gui-node__bottom-dock-scroll-to-bottom:focus-visible {
|
||
border-color: color-mix(
|
||
in srgb,
|
||
var(--text-secondary, var(--tutti-text-secondary)) 46%,
|
||
transparent
|
||
);
|
||
background: var(--background-fronted, var(--tutti-surface-1));
|
||
color: var(--text-primary, var(--tutti-text-primary));
|
||
outline: none;
|
||
transform: translateX(-50%) translateY(-1px);
|
||
}
|
||
|
||
.agent-gui-node__bottom-dock-scroll-to-bottom:active {
|
||
transform: translateX(-50%);
|
||
}
|
||
|
||
@media (prefers-reduced-motion: reduce) {
|
||
.agent-gui-node__bottom-dock-scroll-to-bottom {
|
||
transition: none;
|
||
}
|
||
}
|
||
|
||
.agent-gui-node__bottom-dock > .agent-gui-chrome__session-chrome,
|
||
.agent-gui-node__bottom-dock-prompt,
|
||
.agent-gui-node__bottom-dock
|
||
> .agent-gui-node__composer
|
||
.agent-gui-node__composer-floating-prompt,
|
||
.agent-gui-node__bottom-dock
|
||
> .agent-gui-node__composer
|
||
.agent-gui-node__composer-input-shell {
|
||
pointer-events: auto;
|
||
}
|
||
|
||
.agent-gui-node__bottom-dock-prompt {
|
||
position: relative;
|
||
z-index: 5;
|
||
margin: 0 12px 8px;
|
||
}
|
||
|
||
.agent-gui-node__empty,
|
||
.agent-gui-node__empty-state {
|
||
color: var(--agent-gui-text-secondary);
|
||
font-size: 13px;
|
||
line-height: 20px;
|
||
}
|
||
|
||
.agent-gui-node__empty-state {
|
||
display: flex;
|
||
flex: 1 1 auto;
|
||
align-items: center;
|
||
justify-content: center;
|
||
min-height: 0;
|
||
margin: 0;
|
||
padding: 16px 14px;
|
||
color: var(--text-secondary);
|
||
text-align: center;
|
||
}
|
||
|
||
.agent-gui-node__conversation-rail-load-error {
|
||
display: flex;
|
||
flex: 1 1 auto;
|
||
min-height: 0;
|
||
min-width: 0;
|
||
flex-direction: column;
|
||
align-items: center;
|
||
justify-content: center;
|
||
gap: 10px;
|
||
padding: 16px 14px;
|
||
color: var(--text-secondary);
|
||
font-size: 13px;
|
||
line-height: 20px;
|
||
text-align: center;
|
||
}
|
||
|
||
.agent-gui-node__conversation-rail-load-error-icon {
|
||
width: 20px;
|
||
height: 20px;
|
||
color: var(--text-secondary);
|
||
}
|
||
|
||
.agent-gui-node__unavailable-chat-empty {
|
||
display: flex;
|
||
flex-direction: column;
|
||
align-items: center;
|
||
justify-content: center;
|
||
min-width: 0;
|
||
padding: 24px;
|
||
color: var(--agent-gui-text-tertiary, var(--text-tertiary));
|
||
text-align: center;
|
||
}
|
||
|
||
.agent-gui-node__unavailable-chat-empty-icon {
|
||
width: 25px;
|
||
height: 25px;
|
||
flex: none;
|
||
color: var(--text-tertiary);
|
||
}
|
||
|
||
.agent-gui-node__unavailable-chat-empty-text {
|
||
margin-top: 10px;
|
||
color: var(--text-tertiary);
|
||
font-size: 13px;
|
||
font-weight: 500;
|
||
line-height: 20px;
|
||
}
|
||
|
||
.agent-gui-node__timeline-row {
|
||
display: flex;
|
||
width: 100%;
|
||
min-width: 0;
|
||
}
|
||
|
||
.agent-gui-node__timeline-row[data-kind="user"] {
|
||
justify-content: flex-end;
|
||
}
|
||
|
||
.agent-gui-node__timeline-row[data-kind="assistant"],
|
||
.agent-gui-node__timeline-row[data-kind="tool"] {
|
||
justify-content: flex-start;
|
||
}
|
||
|
||
.agent-gui-node__timeline-row[data-kind="system"] {
|
||
justify-content: center;
|
||
}
|
||
|
||
.agent-gui-node__layout [data-slot="status-dot"],
|
||
[data-testid="workspace-agent-message-center"] [data-slot="status-dot"] {
|
||
--agent-gui-status-dot-color: var(
|
||
--agent-gui-text-tertiary,
|
||
var(--text-tertiary)
|
||
);
|
||
display: inline-flex;
|
||
flex: 0 0 auto;
|
||
border-radius: 999px;
|
||
background: var(--agent-gui-status-dot-color);
|
||
}
|
||
|
||
.agent-gui-node__layout [data-slot="status-dot"][data-size="xs"],
|
||
[data-testid="workspace-agent-message-center"]
|
||
[data-slot="status-dot"][data-size="xs"] {
|
||
width: 6px;
|
||
height: 6px;
|
||
}
|
||
|
||
.agent-gui-node__layout [data-slot="status-dot"][data-size="sm"],
|
||
[data-testid="workspace-agent-message-center"]
|
||
[data-slot="status-dot"][data-size="sm"] {
|
||
width: 8px;
|
||
height: 8px;
|
||
}
|
||
|
||
.agent-gui-node__layout [data-slot="status-dot"][data-size="md"],
|
||
[data-testid="workspace-agent-message-center"]
|
||
[data-slot="status-dot"][data-size="md"] {
|
||
width: 10px;
|
||
height: 10px;
|
||
}
|
||
|
||
.agent-gui-node__layout [data-slot="status-dot"][data-tone="neutral"],
|
||
[data-testid="workspace-agent-message-center"]
|
||
[data-slot="status-dot"][data-tone="neutral"] {
|
||
--agent-gui-status-dot-color: var(
|
||
--agent-gui-text-tertiary,
|
||
var(--text-tertiary)
|
||
);
|
||
}
|
||
|
||
.agent-gui-node__layout [data-slot="status-dot"][data-tone="green"],
|
||
[data-testid="workspace-agent-message-center"]
|
||
[data-slot="status-dot"][data-tone="green"] {
|
||
--agent-gui-status-dot-color: var(--state-success);
|
||
}
|
||
|
||
.agent-gui-node__layout [data-slot="status-dot"][data-tone="blue"],
|
||
[data-testid="workspace-agent-message-center"]
|
||
[data-slot="status-dot"][data-tone="blue"] {
|
||
--agent-gui-status-dot-color: var(--status-running);
|
||
}
|
||
|
||
.agent-gui-node__layout [data-slot="status-dot"][data-tone="amber"],
|
||
[data-testid="workspace-agent-message-center"]
|
||
[data-slot="status-dot"][data-tone="amber"] {
|
||
--agent-gui-status-dot-color: var(--state-warning);
|
||
}
|
||
|
||
.agent-gui-node__layout [data-slot="status-dot"][data-tone="red"],
|
||
[data-testid="workspace-agent-message-center"]
|
||
[data-slot="status-dot"][data-tone="red"] {
|
||
--agent-gui-status-dot-color: var(--state-danger);
|
||
}
|
||
|
||
.agent-gui-node__layout [data-slot="status-dot"][data-pulse="true"],
|
||
[data-testid="workspace-agent-message-center"]
|
||
[data-slot="status-dot"][data-pulse="true"] {
|
||
animation: agent-gui-status-dot-pulse 1.8s ease-in-out infinite;
|
||
}
|
||
|
||
@keyframes agent-gui-status-dot-pulse {
|
||
0%,
|
||
100% {
|
||
opacity: 1;
|
||
box-shadow: 0 0 0 0
|
||
color-mix(in srgb, var(--agent-gui-status-dot-color) 36%, transparent);
|
||
}
|
||
|
||
50% {
|
||
opacity: 0.45;
|
||
box-shadow: 0 0 0 4px
|
||
color-mix(in srgb, var(--agent-gui-status-dot-color) 18%, transparent);
|
||
}
|
||
}
|
||
|
||
@media (prefers-reduced-motion: reduce) {
|
||
.agent-gui-node__layout [data-slot="status-dot"][data-pulse="true"],
|
||
[data-testid="workspace-agent-message-center"]
|
||
[data-slot="status-dot"][data-pulse="true"] {
|
||
animation: none;
|
||
}
|
||
}
|
||
|
||
.agent-gui-node__message-bubble {
|
||
max-width: 100%;
|
||
min-width: 0;
|
||
color: var(--text-primary);
|
||
font-size: 13px;
|
||
line-height: 20px;
|
||
}
|
||
|
||
.agent-gui-node__timeline-row[data-kind="user"]
|
||
.agent-gui-node__message-bubble {
|
||
max-width: min(620px, 86%);
|
||
border-radius: 8px;
|
||
background: var(--transparency-block);
|
||
padding: 10px 14px;
|
||
}
|
||
|
||
.agent-gui-node__timeline-row[data-kind="assistant"]
|
||
.agent-gui-node__message-bubble {
|
||
width: 100%;
|
||
max-width: 860px;
|
||
padding: 2px 0;
|
||
}
|
||
|
||
.agent-gui-node__timeline-row[data-kind="tool"]
|
||
.agent-gui-node__message-bubble {
|
||
width: 100%;
|
||
max-width: 860px;
|
||
border-left: 2px solid var(--agent-gui-border-subtle);
|
||
padding: 2px 0 2px 10px;
|
||
color: var(--text-primary);
|
||
font-size: 13px;
|
||
line-height: 20px;
|
||
}
|
||
|
||
.agent-gui-node__timeline-row[data-kind="system"]
|
||
.agent-gui-node__message-bubble {
|
||
max-width: min(520px, 90%);
|
||
border-radius: 8px;
|
||
background: var(--agent-gui-surface-muted);
|
||
padding: 6px 10px;
|
||
color: var(--text-secondary);
|
||
font-size: 13px;
|
||
line-height: 18px;
|
||
text-align: center;
|
||
}
|
||
|
||
.agent-gui-node__timeline-row p {
|
||
margin: 0;
|
||
white-space: pre-wrap;
|
||
overflow-wrap: anywhere;
|
||
}
|
||
|
||
.agent-gui-node__row-meta {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: flex-start;
|
||
gap: 8px;
|
||
margin-bottom: 4px;
|
||
color: var(--agent-gui-text-secondary);
|
||
font-size: 11px;
|
||
line-height: 18px;
|
||
}
|
||
|
||
.agent-gui-node__timeline-row[data-kind="user"] .agent-gui-node__row-meta,
|
||
.agent-gui-node__timeline-row[data-kind="system"] .agent-gui-node__row-meta {
|
||
display: none;
|
||
}
|
||
|
||
.agent-gui-node__timeline-row[data-kind="assistant"] .agent-gui-node__row-meta,
|
||
.agent-gui-node__timeline-row[data-kind="tool"] .agent-gui-node__row-meta {
|
||
color: var(--agent-gui-text-tertiary);
|
||
}
|
||
|
||
.agent-gui-node__timeline-row[data-kind="tool"] .agent-gui-node__row-meta {
|
||
margin-bottom: 3px;
|
||
font-weight: 400;
|
||
}
|
||
|
||
.agent-gui-node__composer {
|
||
position: sticky;
|
||
bottom: 0;
|
||
z-index: 4;
|
||
margin-top: 0;
|
||
padding: 0 12px 12px;
|
||
background: transparent;
|
||
}
|
||
|
||
.agent-gui-node__composer-hero {
|
||
width: min(760px, 100%);
|
||
min-width: 320px;
|
||
margin: 0 auto;
|
||
}
|
||
|
||
.agent-gui-node__composer-input-group {
|
||
display: grid;
|
||
min-width: 0;
|
||
}
|
||
|
||
.agent-gui-node__slash-status-panel {
|
||
width: 100%;
|
||
min-width: 0;
|
||
padding: 10px 12px;
|
||
color: var(--agent-gui-text-primary);
|
||
font-size: 11px;
|
||
}
|
||
|
||
.agent-gui-node__slash-status-limit {
|
||
display: grid;
|
||
grid-template-columns: minmax(24px, 1fr) max-content;
|
||
align-items: center;
|
||
gap: 12px;
|
||
min-width: 0;
|
||
}
|
||
|
||
.agent-gui-node__slash-status-limit-meter {
|
||
position: relative;
|
||
display: block;
|
||
width: 100%;
|
||
height: 6px;
|
||
overflow: hidden;
|
||
border-radius: 0;
|
||
background: color-mix(
|
||
in srgb,
|
||
var(--agent-gui-text-primary) 10%,
|
||
transparent
|
||
);
|
||
}
|
||
|
||
.agent-gui-node__slash-status-limit-value {
|
||
min-width: 0;
|
||
text-align: right;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-node__slash-status-limit-meter-fill {
|
||
position: absolute;
|
||
inset: 0 auto 0 0;
|
||
min-width: 2px;
|
||
border-radius: 0;
|
||
background: var(--agent-gui-text-primary);
|
||
}
|
||
|
||
.agent-gui-node__composer-input-group-hero {
|
||
padding: 2px;
|
||
border: 1px solid var(--agent-gui-border-focus);
|
||
border-radius: 16px;
|
||
background: var(--agent-gui-accent-bg);
|
||
}
|
||
|
||
/* In dock layout a growing draft overhangs upward past the composer's top
|
||
edge (the dock only reserves the collapsed input height in flow), so the
|
||
floating panels anchored at bottom: 100% must be lifted by that overhang
|
||
(--agent-gui-composer-input-overflow) or the grown input covers them. */
|
||
.agent-gui-node__composer-floating-prompt {
|
||
position: absolute;
|
||
right: 12px;
|
||
bottom: calc(100% + 8px + var(--agent-gui-composer-input-overflow, 0px));
|
||
left: 12px;
|
||
z-index: 5;
|
||
}
|
||
|
||
.agent-gui-node__composer-floating-prompt--queued {
|
||
z-index: 1;
|
||
right: 24px;
|
||
bottom: calc(100% + var(--agent-gui-composer-input-overflow, 0px));
|
||
left: 24px;
|
||
}
|
||
|
||
.agent-gui-node__composer-input-shell {
|
||
display: grid;
|
||
gap: 10px;
|
||
position: relative;
|
||
isolation: isolate;
|
||
z-index: 2;
|
||
min-width: 0;
|
||
padding: 8px;
|
||
border: 1px solid var(--agent-gui-border-subtle);
|
||
border-radius: 12px;
|
||
background: var(--agent-gui-surface-raised);
|
||
box-shadow: 0 8px 24px rgb(0 0 0 / 4%);
|
||
transition: box-shadow 140ms ease;
|
||
}
|
||
|
||
.agent-gui-node__composer-hero-prompt-input-area {
|
||
box-sizing: border-box;
|
||
width: calc(100% - 8px);
|
||
margin-inline: 4px;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="dock"] {
|
||
/* Opaque backdrop for the footer strip: the timeline can slide beneath the
|
||
dock, and a transparent footer would show message rows behind the
|
||
toolbar controls. */
|
||
background: var(--agent-gui-session-flow-background);
|
||
}
|
||
|
||
/* Compact host surfaces are not conversation timelines. Keep attachments and
|
||
growing text in normal flow so they cannot overhang unrelated host chrome. */
|
||
.agent-gui-node__composer[data-layout="embedded"] {
|
||
position: relative;
|
||
bottom: auto;
|
||
z-index: 1;
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
margin: 0;
|
||
padding: 0;
|
||
background: transparent;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="embedded"]
|
||
.agent-gui-node__composer-input-shell {
|
||
gap: 8px;
|
||
}
|
||
|
||
.agent-gui-node__shell[data-quick-composer-input-surface="borderless"]
|
||
.agent-gui-node__composer-input-shell,
|
||
.agent-gui-node__shell[data-quick-composer-input-surface="borderless"]
|
||
.agent-gui-node__composer-input-shell:hover,
|
||
.agent-gui-node__shell[data-quick-composer-input-surface="borderless"]
|
||
.agent-gui-node__composer-input-shell:focus-within {
|
||
border-color: transparent;
|
||
box-shadow: none;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="embedded"]
|
||
.agent-gui-node__composer-prompt-input-area {
|
||
display: grid;
|
||
min-width: 0;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="embedded"]
|
||
.agent-gui-node__composer-prompt-input-line {
|
||
display: grid;
|
||
grid-template-columns: minmax(0, 1fr) auto;
|
||
align-items: end;
|
||
gap: 8px;
|
||
min-width: 0;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="embedded"]
|
||
.agent-gui-node__composer-textarea {
|
||
min-height: 46px;
|
||
max-height: 96px;
|
||
overflow-y: auto;
|
||
}
|
||
|
||
/* Full-height launch surfaces explicitly assign the available block size.
|
||
Keep that contract opt-in so compact embedded composers continue sizing to
|
||
their content. */
|
||
.agent-gui-node__composer[data-layout="embedded"][data-fill-available-height="true"] {
|
||
display: flex;
|
||
height: 100%;
|
||
min-height: 0;
|
||
flex-direction: column;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="embedded"][data-fill-available-height="true"]
|
||
.agent-gui-node__composer-input-group {
|
||
display: flex;
|
||
min-height: 0;
|
||
flex: 1 1 auto;
|
||
flex-direction: column;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="embedded"][data-fill-available-height="true"]
|
||
.agent-gui-node__composer-input-shell {
|
||
grid-template-rows: minmax(0, 1fr) auto;
|
||
width: 100%;
|
||
height: 100%;
|
||
min-height: 0;
|
||
flex: 1 1 auto;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="embedded"][data-fill-available-height="true"]
|
||
.agent-gui-node__composer-prompt-input-area {
|
||
display: flex;
|
||
height: 100%;
|
||
min-height: 0;
|
||
flex-direction: column;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="embedded"][data-fill-available-height="true"]
|
||
.agent-gui-node__composer-prompt-input-line {
|
||
align-items: stretch;
|
||
height: 100%;
|
||
min-height: 0;
|
||
flex: 1 1 auto;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="embedded"][data-fill-available-height="true"]
|
||
.agent-gui-node__rich-text-editor-surface,
|
||
.agent-gui-node__composer[data-layout="embedded"][data-fill-available-height="true"]
|
||
.agent-gui-node__rich-text-editor-content {
|
||
height: 100%;
|
||
min-height: 0;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="embedded"][data-fill-available-height="true"]
|
||
.agent-gui-node__composer-textarea {
|
||
height: 100%;
|
||
min-height: 0;
|
||
max-height: none;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="dock"]
|
||
.agent-gui-node__composer-input-shell {
|
||
/* Reserve only the collapsed input height (56px, keep in sync with
|
||
DOCK_COMPOSER_INPUT_MIN_HEIGHT) in the layout flow. A growing draft
|
||
(long paste, attachments) expands the text box upward over the
|
||
conversation instead of enlarging the dock and pushing the message
|
||
stream up. */
|
||
grid-template-rows: 56px auto;
|
||
gap: 6px;
|
||
padding: 0;
|
||
border: 0;
|
||
background: transparent;
|
||
box-shadow: none;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="dock"]
|
||
.agent-gui-node__composer-prompt-input-area {
|
||
display: grid;
|
||
/* Keep the input shadow above the following footer row. Both rows otherwise
|
||
share z-index: 1, so the later-painted footer visually clips the shadow. */
|
||
z-index: 2;
|
||
grid-template-rows: minmax(0, 1fr);
|
||
box-sizing: border-box;
|
||
height: var(--agent-gui-composer-input-height, 56px);
|
||
min-height: 56px;
|
||
max-height: var(--agent-gui-composer-input-max-height, 110px);
|
||
align-items: end;
|
||
align-self: end;
|
||
contain: layout;
|
||
overflow: hidden;
|
||
padding: 0 12px;
|
||
border: 1px solid var(--line-2);
|
||
border-radius: 10px;
|
||
background: var(--agent-gui-surface-raised);
|
||
box-shadow: 0 8px 24px rgb(0 0 0 / 4%);
|
||
transition:
|
||
height 160ms ease,
|
||
border-color 140ms ease,
|
||
box-shadow 140ms ease;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="dock"]
|
||
.agent-gui-node__composer-prompt-input-area:focus-within,
|
||
.agent-gui-node__composer[data-layout="dock"]
|
||
.agent-gui-node__composer-prompt-input-area:hover {
|
||
border-color: var(--line-2);
|
||
box-shadow: 0 8px 24px rgb(0 0 0 / 6%);
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="dock"]
|
||
.agent-gui-node__composer-prompt-input-area[data-has-draft-attachments="true"] {
|
||
grid-template-rows:
|
||
minmax(0, var(--agent-gui-composer-attachment-height, 0px))
|
||
minmax(40px, 1fr);
|
||
align-items: end;
|
||
padding: 12px;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="dock"]
|
||
[data-testid="agent-gui-composer-attachment-drafts"] {
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="dock"]
|
||
.agent-gui-node__composer-prompt-input-area[data-has-draft-images="true"]
|
||
[data-testid="agent-gui-composer-image-drafts"] {
|
||
min-height: 0;
|
||
margin-bottom: 0;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="dock"]
|
||
.agent-gui-node__composer-prompt-input-area[data-has-draft-images="true"]
|
||
[data-testid="agent-gui-composer-image-draft"] {
|
||
max-height: 56px;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="dock"]
|
||
.agent-gui-node__composer-prompt-input-line {
|
||
display: grid;
|
||
grid-template-columns: minmax(0, 1fr) auto;
|
||
align-items: center;
|
||
box-sizing: border-box;
|
||
gap: 8px;
|
||
height: calc(var(--agent-gui-composer-text-height, 56px) - 2px);
|
||
min-height: 54px;
|
||
max-height: 118px;
|
||
min-width: 0;
|
||
padding: 0 0 12px;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="dock"]
|
||
.agent-gui-node__composer-prompt-input-area[data-has-draft-attachments="true"]
|
||
.agent-gui-node__composer-prompt-input-line {
|
||
min-height: 40px;
|
||
height: calc(var(--agent-gui-composer-text-height, 56px) - 2px);
|
||
max-height: 118px;
|
||
padding: 4px 0 0;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="dock"]
|
||
.agent-gui-node__composer-send-button,
|
||
.agent-gui-node__composer[data-layout="dock"]
|
||
.agent-gui-node__composer-stop-button {
|
||
align-self: end;
|
||
}
|
||
|
||
.agent-gui-node__composer-input-shell > * {
|
||
position: relative;
|
||
z-index: 1;
|
||
}
|
||
|
||
.agent-gui-edge-glow,
|
||
.agent-gui-node__composer-input-group[data-edge-glow="true"] {
|
||
--agent-gui-star-border-size: 2px;
|
||
--agent-gui-star-border-duration: 5.8s;
|
||
--agent-gui-star-border-color: rgb(248 250 252 / 90%);
|
||
--agent-gui-star-border-mid-color: color-mix(
|
||
in srgb,
|
||
var(--accent-codex) 68%,
|
||
transparent
|
||
);
|
||
--agent-gui-star-border-core-stop: 42%;
|
||
--agent-gui-star-border-fade-stop: 72%;
|
||
--agent-gui-star-border-length: clamp(88px, 18%, 160px);
|
||
--agent-gui-star-border-radius: 16px;
|
||
--agent-gui-star-border-shadow: drop-shadow(
|
||
0 0 8px color-mix(in srgb, var(--accent-codex) 58%, transparent)
|
||
);
|
||
position: relative;
|
||
isolation: isolate;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.agent-gui-edge-glow > * {
|
||
position: relative;
|
||
z-index: 1;
|
||
}
|
||
|
||
.agent-gui-node__composer-input-group[data-edge-glow="true"] {
|
||
overflow: hidden;
|
||
}
|
||
|
||
html[data-theme="light"] .agent-gui-edge-glow,
|
||
html[data-theme="light"]
|
||
.agent-gui-node__composer-input-group[data-edge-glow="true"] {
|
||
--agent-gui-star-border-color: color-mix(
|
||
in srgb,
|
||
var(--accent-codex) 90%,
|
||
transparent
|
||
);
|
||
--agent-gui-star-border-mid-color: color-mix(
|
||
in srgb,
|
||
var(--accent-codex) 50%,
|
||
transparent
|
||
);
|
||
--agent-gui-star-border-core-stop: 24%;
|
||
--agent-gui-star-border-fade-stop: 58%;
|
||
}
|
||
|
||
.agent-gui-edge-glow::before,
|
||
.agent-gui-edge-glow::after,
|
||
.agent-gui-node__composer-input-group[data-edge-glow="true"]::before,
|
||
.agent-gui-node__composer-input-group[data-edge-glow="true"]::after {
|
||
content: "";
|
||
position: absolute;
|
||
top: calc(var(--agent-gui-star-border-size) / -2);
|
||
left: 0;
|
||
z-index: 0;
|
||
width: var(--agent-gui-star-border-length);
|
||
height: var(--agent-gui-star-border-size);
|
||
border-radius: 999px;
|
||
background: radial-gradient(
|
||
circle,
|
||
var(--agent-gui-star-border-color) 0,
|
||
var(--agent-gui-star-border-mid-color)
|
||
var(--agent-gui-star-border-core-stop),
|
||
transparent var(--agent-gui-star-border-fade-stop)
|
||
);
|
||
filter: var(--agent-gui-star-border-shadow);
|
||
offset-anchor: 50% 50%;
|
||
offset-path: inset(
|
||
calc(var(--agent-gui-star-border-size) / 2) round
|
||
var(--agent-gui-star-border-radius)
|
||
);
|
||
offset-rotate: auto;
|
||
pointer-events: none;
|
||
}
|
||
|
||
.agent-gui-edge-glow::before,
|
||
.agent-gui-node__composer-input-group[data-edge-glow="true"]::before {
|
||
animation: agent-gui-star-border-path var(--agent-gui-star-border-duration)
|
||
linear infinite;
|
||
}
|
||
|
||
.agent-gui-edge-glow::after,
|
||
.agent-gui-node__composer-input-group[data-edge-glow="true"]::after {
|
||
animation: agent-gui-star-border-path var(--agent-gui-star-border-duration)
|
||
linear infinite;
|
||
animation-delay: calc(var(--agent-gui-star-border-duration) / -2);
|
||
}
|
||
|
||
.workspace-agent-decision-toast__edge-glow.agent-gui-edge-glow {
|
||
--agent-gui-star-border-size: 1px;
|
||
--agent-gui-star-border-color: color-mix(
|
||
in srgb,
|
||
var(--tutti-purple) 62%,
|
||
transparent
|
||
);
|
||
--agent-gui-star-border-mid-color: color-mix(
|
||
in srgb,
|
||
var(--tutti-purple) 28%,
|
||
transparent
|
||
);
|
||
--agent-gui-star-border-core-stop: 18%;
|
||
--agent-gui-star-border-fade-stop: 48%;
|
||
--agent-gui-star-border-length: clamp(180px, 58%, 280px);
|
||
--agent-gui-star-border-radius: 12px;
|
||
--agent-gui-star-border-shadow: drop-shadow(
|
||
0 0 3px color-mix(in srgb, var(--tutti-purple) 30%, transparent)
|
||
);
|
||
}
|
||
|
||
.workspace-agent-decision-toast[data-sonner-toast] {
|
||
--decision-toast-collapse-duration: 320ms;
|
||
--decision-toast-collapse-easing: cubic-bezier(0.22, 1, 0.36, 1);
|
||
--decision-toast-content-fade-duration: 160ms;
|
||
min-height: 0;
|
||
overflow: visible;
|
||
border: 0;
|
||
border-radius: 12px;
|
||
background: transparent;
|
||
padding: 0;
|
||
transform: translateX(calc(100% + 24px)) !important;
|
||
transition:
|
||
transform 360ms var(--decision-toast-collapse-easing),
|
||
opacity 240ms ease,
|
||
width var(--decision-toast-collapse-duration)
|
||
var(--decision-toast-collapse-easing),
|
||
right var(--decision-toast-collapse-duration)
|
||
var(--decision-toast-collapse-easing),
|
||
min-height var(--decision-toast-collapse-duration)
|
||
var(--decision-toast-collapse-easing),
|
||
height var(--decision-toast-collapse-duration)
|
||
var(--decision-toast-collapse-easing),
|
||
max-height var(--decision-toast-collapse-duration)
|
||
var(--decision-toast-collapse-easing),
|
||
padding var(--decision-toast-collapse-duration)
|
||
var(--decision-toast-collapse-easing),
|
||
border-top-width 0ms linear,
|
||
border-radius 120ms ease,
|
||
box-shadow 200ms !important;
|
||
}
|
||
|
||
.workspace-agent-decision-toast[data-sonner-toast][data-mounted="true"] {
|
||
transform: var(--y) translateX(0) !important;
|
||
}
|
||
|
||
.workspace-agent-decision-toast__prompt
|
||
.agent-gui-conversation__interactive-prompt-card {
|
||
border: 0;
|
||
padding: 12px;
|
||
box-shadow: none;
|
||
}
|
||
|
||
.workspace-agent-decision-toast__outcome-card {
|
||
border: 1px solid var(--line-1);
|
||
border-radius: 8px;
|
||
background: var(--background-fronted);
|
||
padding: 10px;
|
||
}
|
||
|
||
.workspace-agent-decision-toast__outcome-card:hover {
|
||
border-color: var(--line-2);
|
||
}
|
||
|
||
.workspace-agent-decision-toast[data-sonner-toast][data-expanded="false"][data-front="false"] {
|
||
--decision-toast-collapsed-offset: 0px;
|
||
--decision-toast-collapsed-scale: 0.94;
|
||
--y: translateY(
|
||
calc(var(--front-toast-height) + var(--decision-toast-collapsed-offset))
|
||
);
|
||
width: calc(var(--width) * var(--decision-toast-collapsed-scale));
|
||
min-height: 0 !important;
|
||
height: 10px !important;
|
||
max-height: 10px !important;
|
||
padding: 0 !important;
|
||
overflow: hidden !important;
|
||
border: 1px solid var(--line-2);
|
||
border-top-width: 0;
|
||
border-radius: 0 0 8px 8px;
|
||
background: var(--background-fronted);
|
||
box-shadow: 0 8px 24px
|
||
color-mix(in srgb, var(--shadow-elevated) 72%, transparent);
|
||
pointer-events: auto;
|
||
right: calc(
|
||
(var(--width) - (var(--width) * var(--decision-toast-collapsed-scale))) / 2
|
||
) !important;
|
||
transition:
|
||
transform var(--decision-toast-collapse-duration)
|
||
var(--decision-toast-collapse-easing),
|
||
opacity 240ms ease,
|
||
width var(--decision-toast-collapse-duration)
|
||
var(--decision-toast-collapse-easing),
|
||
right var(--decision-toast-collapse-duration)
|
||
var(--decision-toast-collapse-easing),
|
||
min-height var(--decision-toast-collapse-duration)
|
||
var(--decision-toast-collapse-easing),
|
||
height var(--decision-toast-collapse-duration)
|
||
var(--decision-toast-collapse-easing),
|
||
max-height var(--decision-toast-collapse-duration)
|
||
var(--decision-toast-collapse-easing),
|
||
padding var(--decision-toast-collapse-duration)
|
||
var(--decision-toast-collapse-easing),
|
||
border-top-width 0ms linear,
|
||
border-radius 0ms linear,
|
||
box-shadow 200ms !important;
|
||
}
|
||
|
||
.workspace-agent-decision-toast[data-sonner-toast][data-expanded="false"][data-front="false"]
|
||
> [data-content],
|
||
.workspace-agent-decision-toast[data-sonner-toast][data-expanded="false"][data-front="false"]
|
||
> [data-content]
|
||
> [data-title],
|
||
.workspace-agent-decision-toast[data-sonner-toast][data-expanded="false"][data-front="false"]
|
||
> [data-content]
|
||
article {
|
||
min-height: 0 !important;
|
||
height: 10px !important;
|
||
max-height: 10px !important;
|
||
overflow: hidden !important;
|
||
}
|
||
|
||
.workspace-agent-decision-toast[data-sonner-toast][data-expanded="false"][data-front="false"]
|
||
> [data-content]
|
||
article {
|
||
margin: 0 !important;
|
||
padding: 0 !important;
|
||
border: 0 !important;
|
||
background: transparent !important;
|
||
box-shadow: none !important;
|
||
}
|
||
|
||
.workspace-agent-decision-toast[data-sonner-toast][data-expanded="false"][data-front="false"][data-index="2"] {
|
||
--decision-toast-collapsed-offset: 8px;
|
||
--decision-toast-collapsed-scale: 0.88;
|
||
}
|
||
|
||
.workspace-agent-decision-toast[data-sonner-toast][data-expanded="false"][data-front="false"][data-index="3"] {
|
||
--decision-toast-collapsed-offset: 16px;
|
||
--decision-toast-collapsed-scale: 0.82;
|
||
}
|
||
|
||
.workspace-agent-decision-toast__edge-glow,
|
||
.workspace-agent-decision-toast__close,
|
||
.workspace-agent-decision-toast__content {
|
||
transition: opacity var(--decision-toast-content-fade-duration) ease;
|
||
}
|
||
|
||
.workspace-agent-decision-toast[data-sonner-toast][data-expanded="false"][data-front="false"]
|
||
.workspace-agent-decision-toast__edge-glow,
|
||
.workspace-agent-decision-toast[data-sonner-toast][data-expanded="false"][data-front="false"]
|
||
.workspace-agent-decision-toast__close,
|
||
.workspace-agent-decision-toast[data-sonner-toast][data-expanded="false"][data-front="false"]
|
||
.workspace-agent-decision-toast__content {
|
||
opacity: 0 !important;
|
||
pointer-events: none !important;
|
||
}
|
||
|
||
.workspace-agent-decision-toast[data-sonner-toast][data-expanded="true"][data-front="false"]
|
||
.workspace-agent-decision-toast__close,
|
||
.workspace-agent-decision-toast[data-sonner-toast][data-expanded="true"][data-front="false"]
|
||
.workspace-agent-decision-toast__content {
|
||
opacity: 0;
|
||
animation: workspace-agent-decision-toast-content-fade-in 180ms ease 300ms
|
||
forwards;
|
||
}
|
||
|
||
.workspace-agent-decision-toast[data-sonner-toast][data-removed="true"][data-swipe-out="false"] {
|
||
opacity: 0 !important;
|
||
transform: translateX(calc(100% + 24px)) !important;
|
||
}
|
||
|
||
@keyframes workspace-agent-decision-toast-content-fade-in {
|
||
from {
|
||
opacity: 0;
|
||
}
|
||
|
||
to {
|
||
opacity: 1;
|
||
}
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity.agent-gui-edge-glow {
|
||
--agent-gui-star-border-radius: 8px;
|
||
border-color: var(--border-focus);
|
||
}
|
||
|
||
[data-message-center-item-id].agent-gui-edge-glow,
|
||
html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
|
||
--agent-gui-star-border-color: var(--tutti-purple);
|
||
--agent-gui-star-border-mid-color: color-mix(
|
||
in srgb,
|
||
var(--tutti-purple) 48%,
|
||
transparent
|
||
);
|
||
--agent-gui-star-border-radius: 8px;
|
||
--agent-gui-star-border-shadow: drop-shadow(
|
||
0 0 6px color-mix(in srgb, var(--tutti-purple) 58%, transparent)
|
||
);
|
||
overflow: hidden;
|
||
}
|
||
|
||
.agent-gui-node__composer-controls-row {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
gap: 8px;
|
||
align-items: center;
|
||
}
|
||
|
||
.agent-gui-node__composer-select {
|
||
min-height: 30px;
|
||
border: 1px solid var(--agent-gui-border-subtle);
|
||
border-radius: 6px;
|
||
background: var(--agent-gui-surface-muted);
|
||
color: var(--agent-gui-text-primary);
|
||
font-size: 13px;
|
||
padding: 0 10px;
|
||
}
|
||
|
||
.agent-gui-node__composer-toggle {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
gap: 6px;
|
||
min-height: 30px;
|
||
border-radius: 6px;
|
||
background: var(--agent-gui-surface-muted);
|
||
padding: 0 10px;
|
||
font-size: 13px;
|
||
color: var(--agent-gui-text-primary);
|
||
cursor: pointer;
|
||
transition:
|
||
opacity 120ms ease,
|
||
background 120ms ease;
|
||
}
|
||
|
||
.agent-gui-node__composer-toggle:hover:not(:disabled) {
|
||
background: var(--agent-gui-surface-strong, var(--agent-gui-surface-muted));
|
||
}
|
||
|
||
/* Off state: dim the control so the on/off choice reads at a glance. */
|
||
.agent-gui-node__composer-toggle[aria-pressed="false"] {
|
||
opacity: 0.4;
|
||
}
|
||
|
||
.agent-gui-node__composer-toggle:disabled {
|
||
cursor: default;
|
||
opacity: 0.5;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-list {
|
||
display: grid;
|
||
width: 100%;
|
||
min-width: 0;
|
||
gap: 0;
|
||
max-height: 36px;
|
||
overflow: hidden;
|
||
overscroll-behavior: contain;
|
||
padding-right: 2px;
|
||
transition: max-height 180ms cubic-bezier(0.16, 1, 0.3, 1);
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-panel {
|
||
display: grid;
|
||
min-width: 0;
|
||
gap: 4px;
|
||
position: relative;
|
||
z-index: 1;
|
||
margin-bottom: -1px;
|
||
padding: 10px 16px 12px;
|
||
border: 1px solid var(--agent-gui-border-subtle, var(--line-2));
|
||
border-bottom: 0;
|
||
border-radius: 12px 12px 0 0;
|
||
background: var(--background-panel);
|
||
box-shadow: none;
|
||
cursor: default;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-panel[data-expandable="true"] {
|
||
cursor: pointer;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-panel[data-expanded="true"]
|
||
.agent-gui-node__composer-queued-prompt-list {
|
||
max-height: var(--agent-gui-queued-prompt-expanded-height, 280px);
|
||
overflow-y: auto;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-header {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: flex-start;
|
||
gap: 4px;
|
||
min-height: 20px;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-expand-cue {
|
||
display: block;
|
||
flex: 0 0 auto;
|
||
color: var(--agent-gui-accent-strong);
|
||
opacity: 0;
|
||
transition:
|
||
opacity 120ms ease,
|
||
transform 120ms ease;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-panel:hover
|
||
.agent-gui-node__composer-queued-prompt-expand-cue,
|
||
.agent-gui-node__composer-queued-prompt-panel:focus-visible
|
||
.agent-gui-node__composer-queued-prompt-expand-cue,
|
||
.agent-gui-node__composer-queued-prompt-panel:focus-within
|
||
.agent-gui-node__composer-queued-prompt-expand-cue,
|
||
.agent-gui-node__composer-queued-prompt-panel[data-expanded="true"]
|
||
.agent-gui-node__composer-queued-prompt-expand-cue {
|
||
opacity: 1;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-panel[data-expanded="true"]
|
||
.agent-gui-node__composer-queued-prompt-expand-cue {
|
||
transform: rotate(90deg);
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-card {
|
||
display: contents;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-row {
|
||
display: grid;
|
||
box-sizing: border-box;
|
||
width: 100%;
|
||
min-width: 0;
|
||
grid-template-columns: minmax(0, 1fr) auto;
|
||
gap: 8px;
|
||
align-items: center;
|
||
padding: 2px 0;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-row[data-draining="true"] {
|
||
opacity: 0.58;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-main {
|
||
display: block;
|
||
width: 100%;
|
||
min-width: 0;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-body {
|
||
display: flex;
|
||
width: 100%;
|
||
align-items: center;
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
gap: 6px;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-images {
|
||
display: inline-flex;
|
||
flex: 0 0 auto;
|
||
align-items: center;
|
||
gap: 4px;
|
||
min-width: 0;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-image {
|
||
display: block;
|
||
width: 28px;
|
||
height: 28px;
|
||
flex: 0 0 auto;
|
||
border: 1px solid var(--agent-gui-border-subtle, var(--line-2));
|
||
border-radius: 4px;
|
||
object-fit: cover;
|
||
background: var(--agent-gui-surface-muted);
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-label {
|
||
min-width: 0;
|
||
font-size: 13px;
|
||
font-weight: 600;
|
||
color: var(--agent-gui-accent-strong);
|
||
line-height: 20px;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-panel[data-queue-status="paused_by_user"]
|
||
.agent-gui-node__composer-queued-prompt-label {
|
||
overflow-wrap: anywhere;
|
||
white-space: normal;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-count {
|
||
margin-left: 4px;
|
||
color: var(--agent-gui-accent-strong);
|
||
font-size: 13px;
|
||
font-weight: 600;
|
||
line-height: 20px;
|
||
font-variant-numeric: tabular-nums;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-text {
|
||
position: relative;
|
||
width: 0;
|
||
max-width: 100%;
|
||
flex: 1 1 0;
|
||
min-width: 0;
|
||
margin: 0;
|
||
color: var(--agent-gui-text-secondary, var(--text-secondary));
|
||
font-size: 13px;
|
||
line-height: 28px;
|
||
overflow: hidden;
|
||
text-overflow: clip;
|
||
word-break: break-word;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-text[data-overflowing="true"]::after {
|
||
content: "…";
|
||
position: absolute;
|
||
top: 0;
|
||
right: 0;
|
||
width: 28px;
|
||
height: 28px;
|
||
background: linear-gradient(90deg, transparent, var(--background-panel) 52%);
|
||
color: var(--agent-gui-text-secondary, var(--text-secondary));
|
||
line-height: 28px;
|
||
text-align: right;
|
||
pointer-events: none;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-markdown {
|
||
display: block;
|
||
width: 100%;
|
||
min-width: 0;
|
||
max-width: 100%;
|
||
color: inherit;
|
||
font-size: inherit;
|
||
line-height: inherit;
|
||
overflow: hidden;
|
||
text-overflow: clip;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-markdown
|
||
[data-workspace-agent-markdown-shell="true"] {
|
||
display: block;
|
||
width: 100%;
|
||
min-width: 0;
|
||
max-width: 100%;
|
||
overflow: hidden;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-markdown
|
||
[data-workspace-agent-markdown="true"] {
|
||
display: block;
|
||
overflow: hidden;
|
||
text-overflow: clip;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
/* Queued rows are single-line previews. Flatten every markdown block
|
||
(lists, code blocks, quotes, headings) to plain inline text — including
|
||
their box styling from the markdown renderer — so the row's nowrap +
|
||
overflow: hidden + "…" overlay can truncate instead of the blocks
|
||
stacking extra lines. Scoped under the text wrapper to outrank the
|
||
renderer's own [&_ol]/[&_pre]-style utilities. */
|
||
.agent-gui-node__composer-queued-prompt-text
|
||
.agent-gui-node__composer-queued-prompt-markdown
|
||
:is(p, ul, ol, li, blockquote, pre, h1, h2, h3, h4, h5, h6) {
|
||
display: inline;
|
||
margin: 0;
|
||
padding: 0;
|
||
border: 0;
|
||
background: transparent;
|
||
font-size: inherit;
|
||
font-weight: inherit;
|
||
line-height: inherit;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-text
|
||
.agent-gui-node__composer-queued-prompt-markdown
|
||
pre
|
||
code {
|
||
white-space: nowrap;
|
||
}
|
||
|
||
/* Standalone media, tables, rules, and explicit line breaks cannot collapse
|
||
into one text line — drop them from the preview entirely. MentionPill owns
|
||
its nested image icon, which remains part of the inline mention preview. */
|
||
.agent-gui-node__composer-queued-prompt-text
|
||
.agent-gui-node__composer-queued-prompt-markdown
|
||
:is(img, video, table, hr, br, input):not([data-slot="mention-pill"] *) {
|
||
display: none;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-markdown
|
||
[data-agent-file-mention="true"] {
|
||
width: max-content;
|
||
max-width: min(100%, var(--agent-mention-max-width, 16rem));
|
||
color: inherit;
|
||
vertical-align: middle;
|
||
}
|
||
|
||
/* Entity mentions wrap the shared MentionPill in an interactive link. Keep
|
||
that link layout-only so the pill remains the single owner of its visual
|
||
box; otherwise the wrapper's padding and offset create a second pill around
|
||
it and push adjacent queued mentions apart. */
|
||
.agent-gui-node__composer-queued-prompt-markdown
|
||
[data-agent-file-mention="true"].tsh-agent-object-token--entity {
|
||
color: inherit;
|
||
top: 0;
|
||
gap: 0;
|
||
max-width: min(100%, var(--agent-mention-max-width, 16rem));
|
||
min-height: 0;
|
||
padding: 0;
|
||
border: 0;
|
||
border-radius: 0;
|
||
line-height: inherit;
|
||
transition: none;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-markdown
|
||
[data-agent-file-mention="true"].tsh-agent-object-token--file,
|
||
.agent-gui-node__composer-queued-prompt-markdown
|
||
[data-agent-file-mention="true"].tsh-agent-object-token--entity
|
||
> [data-slot="mention-pill"] {
|
||
top: 0;
|
||
vertical-align: middle;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-markdown
|
||
[data-agent-file-mention="true"].tsh-agent-object-token:hover {
|
||
border-color: transparent;
|
||
background: transparent;
|
||
text-decoration: none;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-markdown
|
||
[data-agent-mention-kind="workspace-app"].tsh-agent-object-token--entity {
|
||
color: inherit;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-markdown
|
||
[data-agent-file-mention="true"]
|
||
.tsh-agent-object-token__kind,
|
||
.agent-gui-node__composer-queued-prompt-markdown
|
||
[data-agent-file-mention="true"]
|
||
[data-agent-mention-app-icon="true"] {
|
||
color: inherit;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-markdown
|
||
[data-agent-mention-kind="workspace-app"]
|
||
[data-agent-mention-app-icon="true"]
|
||
.tsh-agent-object-token__kind-icon {
|
||
display: block;
|
||
width: 16px;
|
||
height: 16px;
|
||
background-color: currentColor;
|
||
mask-image: url("./assets/icons/product-filled.svg");
|
||
mask-repeat: no-repeat;
|
||
mask-position: center;
|
||
mask-size: 16px 16px;
|
||
-webkit-mask-image: url("./assets/icons/product-filled.svg");
|
||
-webkit-mask-repeat: no-repeat;
|
||
-webkit-mask-position: center;
|
||
-webkit-mask-size: 16px 16px;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-panel[data-expanded="true"]
|
||
.agent-gui-node__composer-queued-prompt-text {
|
||
overflow: hidden;
|
||
text-overflow: clip;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-panel[data-expanded="true"]
|
||
.agent-gui-node__composer-queued-prompt-markdown,
|
||
.agent-gui-node__composer-queued-prompt-panel[data-expanded="true"]
|
||
.agent-gui-node__composer-queued-prompt-markdown
|
||
[data-workspace-agent-markdown-shell="true"],
|
||
.agent-gui-node__composer-queued-prompt-panel[data-expanded="true"]
|
||
.agent-gui-node__composer-queued-prompt-markdown
|
||
[data-workspace-agent-markdown="true"] {
|
||
overflow: hidden;
|
||
text-overflow: clip;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-actions {
|
||
display: inline-flex;
|
||
justify-self: end;
|
||
flex: 0 0 auto;
|
||
align-items: center;
|
||
gap: 4px;
|
||
}
|
||
|
||
.agent-gui-node__composer-queued-prompt-actions button {
|
||
color: var(--text-secondary);
|
||
}
|
||
|
||
.agent-gui-node__composer-prompt-input-area textarea,
|
||
.agent-gui-node__composer-textarea {
|
||
--agent-gui-composer-text-line-height: 24px;
|
||
--agent-gui-composer-text-max-visible-lines: 3.5;
|
||
/* prettier-ignore */
|
||
--agent-gui-composer-text-viewport-height: calc(var(--agent-gui-composer-text-line-height) * var(--agent-gui-composer-text-max-visible-lines));
|
||
|
||
width: 100%;
|
||
min-width: 0;
|
||
min-height: 46px;
|
||
max-height: var(--agent-gui-composer-text-viewport-height);
|
||
overflow-y: auto;
|
||
border: 0;
|
||
background: transparent;
|
||
color: var(--agent-gui-text-primary);
|
||
font: inherit;
|
||
font-size: 13px;
|
||
line-height: var(--agent-gui-composer-text-line-height);
|
||
outline: 0;
|
||
padding: 0;
|
||
resize: none;
|
||
scrollbar-width: thin;
|
||
scrollbar-color: var(--transparency-hover) transparent;
|
||
scrollbar-gutter: stable;
|
||
-ms-overflow-style: auto;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="dock"]
|
||
.agent-gui-node__composer-prompt-input-area
|
||
textarea,
|
||
.agent-gui-node__composer[data-layout="dock"]
|
||
.agent-gui-node__composer-textarea {
|
||
display: block;
|
||
height: auto;
|
||
min-height: 24px;
|
||
max-height: var(--agent-gui-composer-text-viewport-height);
|
||
overflow-x: hidden;
|
||
overflow-y: auto;
|
||
overflow-wrap: anywhere;
|
||
padding-top: 12px;
|
||
scrollbar-gutter: stable;
|
||
/* Keep the scrollbar persistently visible (not hover/focus-only) once the
|
||
draft overflows the visible viewport: a long pasted/dictated block of
|
||
text must never look like a single visible line with no affordance that
|
||
more content exists below (see: Feishu recvo2ITCPrpcA). */
|
||
scrollbar-width: thin;
|
||
white-space: pre-wrap;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="dock"]
|
||
.agent-gui-node__composer-prompt-input-area[data-has-draft-attachments="true"]
|
||
textarea,
|
||
.agent-gui-node__composer[data-layout="dock"]
|
||
.agent-gui-node__composer-prompt-input-area[data-has-draft-attachments="true"]
|
||
.agent-gui-node__composer-textarea {
|
||
max-height: var(--agent-gui-composer-text-viewport-height);
|
||
padding-top: 0;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="dock"]
|
||
.agent-gui-node__composer-prompt-input-area
|
||
textarea::-webkit-scrollbar,
|
||
.agent-gui-node__composer[data-layout="dock"]
|
||
.agent-gui-node__composer-textarea::-webkit-scrollbar {
|
||
display: block;
|
||
width: 4px;
|
||
height: 4px;
|
||
}
|
||
|
||
.agent-gui-node__composer-prompt-input-area textarea::-webkit-scrollbar,
|
||
.agent-gui-node__composer-textarea::-webkit-scrollbar {
|
||
display: block;
|
||
width: 4px;
|
||
height: 4px;
|
||
}
|
||
|
||
.agent-gui-node__composer-prompt-input-area textarea::-webkit-scrollbar-track,
|
||
.agent-gui-node__composer-prompt-input-area textarea::-webkit-scrollbar-corner,
|
||
.agent-gui-node__composer-textarea::-webkit-scrollbar-track,
|
||
.agent-gui-node__composer-textarea::-webkit-scrollbar-corner {
|
||
background: transparent;
|
||
}
|
||
|
||
.agent-gui-node__composer-prompt-input-area textarea::-webkit-scrollbar-thumb,
|
||
.agent-gui-node__composer-textarea::-webkit-scrollbar-thumb {
|
||
border-radius: 999px;
|
||
background: var(--transparency-hover);
|
||
}
|
||
|
||
.agent-gui-node__composer-input-shell[data-input-disabled="true"],
|
||
.agent-gui-node__composer-textarea[aria-disabled="true"] {
|
||
cursor: not-allowed;
|
||
}
|
||
|
||
.agent-gui-node__composer-textarea.ProseMirror {
|
||
border: 0;
|
||
outline: 0;
|
||
box-shadow: none;
|
||
}
|
||
|
||
.agent-gui-node__composer-textarea.ProseMirror:focus,
|
||
.agent-gui-node__composer-textarea.ProseMirror-focused {
|
||
border: 0;
|
||
outline: 0;
|
||
box-shadow: none;
|
||
}
|
||
|
||
.agent-gui-node__composer-textarea p {
|
||
margin: 0;
|
||
font-size: 13px;
|
||
line-height: 24px;
|
||
min-height: 0;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="dock"]
|
||
.agent-gui-node__composer-textarea
|
||
p {
|
||
display: block;
|
||
width: auto;
|
||
min-width: 0;
|
||
min-height: 0;
|
||
overflow: visible;
|
||
overflow-wrap: anywhere;
|
||
text-overflow: clip;
|
||
white-space: pre-wrap;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="dock"]
|
||
.agent-gui-node__composer-textarea
|
||
.agent-rich-text-placeholder-node:first-child {
|
||
position: relative;
|
||
display: block;
|
||
width: 100%;
|
||
min-height: 24px;
|
||
}
|
||
|
||
.agent-gui-node__composer-textarea
|
||
p:empty:not(.agent-rich-text-placeholder-node) {
|
||
min-height: 0;
|
||
line-height: 0;
|
||
}
|
||
|
||
.agent-gui-node__composer-textarea
|
||
p:not(.agent-rich-text-placeholder-node):not(:empty) {
|
||
position: relative;
|
||
top: 0;
|
||
line-height: var(--agent-gui-composer-text-line-height);
|
||
}
|
||
|
||
.agent-gui-node__composer-textarea
|
||
p:not(.agent-rich-text-placeholder-node):not(:empty)
|
||
.agent-rich-text-mention-node {
|
||
transform: translateY(-2px);
|
||
}
|
||
|
||
.agent-gui-node__composer-textarea
|
||
.agent-rich-text-placeholder-node:first-child::before {
|
||
content: attr(data-agent-rich-text-placeholder);
|
||
float: left;
|
||
height: 0;
|
||
color: var(--agent-gui-text-tertiary);
|
||
font-size: 13px;
|
||
line-height: 24px;
|
||
pointer-events: none;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="dock"]
|
||
.agent-gui-node__composer-textarea
|
||
.agent-rich-text-placeholder-node:first-child::before {
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
display: block;
|
||
float: none;
|
||
height: 24px;
|
||
line-height: 24px;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-node__composer-prompt-input-area textarea::placeholder,
|
||
.agent-gui-node__composer-textarea::placeholder {
|
||
color: var(--agent-gui-text-tertiary);
|
||
line-height: 24px;
|
||
}
|
||
|
||
.agent-gui-node__composer-input-shell:focus-within,
|
||
.agent-gui-node__composer-input-shell:hover {
|
||
box-shadow: 0 8px 24px rgb(0 0 0 / 6%);
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="dock"]
|
||
.agent-gui-node__composer-input-shell:focus-within,
|
||
.agent-gui-node__composer[data-layout="dock"]
|
||
.agent-gui-node__composer-input-shell:hover {
|
||
box-shadow: none;
|
||
}
|
||
|
||
.agent-gui-node__composer-input-shell:focus-within {
|
||
border-color: var(--agent-gui-border-subtle);
|
||
}
|
||
|
||
.agent-gui-node__composer-input-shell-hero {
|
||
border-color: transparent;
|
||
border-radius: 14px;
|
||
box-shadow: none;
|
||
}
|
||
|
||
.agent-gui-node__composer-input-shell-hero:hover,
|
||
.agent-gui-node__composer-input-shell-hero:focus-within {
|
||
border-color: transparent;
|
||
box-shadow: none;
|
||
}
|
||
|
||
.agent-gui-node__composer-project-row[data-project-missing="true"] {
|
||
display: none;
|
||
}
|
||
|
||
.agent-gui-node__composer-project-row {
|
||
display: flex;
|
||
flex-wrap: nowrap;
|
||
min-width: 0;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
gap: 8px;
|
||
padding: 2px 8px;
|
||
}
|
||
|
||
.agent-gui-node__composer-input-group-hero
|
||
.agent-gui-node__composer-project-row {
|
||
padding: 2px 8px;
|
||
}
|
||
|
||
.agent-gui-node__composer-project-controls {
|
||
display: grid;
|
||
grid-template-columns: fit-content(240px);
|
||
flex: 0 1 auto;
|
||
min-width: 0;
|
||
max-width: 100%;
|
||
align-items: center;
|
||
gap: 0;
|
||
}
|
||
|
||
.agent-gui-node__composer-project-controls:has(
|
||
[data-testid="agent-gui-session-launch-mode"]
|
||
) {
|
||
grid-template-columns: fit-content(240px) max-content;
|
||
}
|
||
|
||
.agent-gui-node__composer-project-trigger {
|
||
flex: 1 1 auto;
|
||
min-width: 0;
|
||
max-width: 240px;
|
||
}
|
||
|
||
.agent-gui-node__composer-project-controls
|
||
[data-testid="agent-gui-session-launch-mode"] {
|
||
flex: 0 0 auto;
|
||
max-width: none;
|
||
}
|
||
|
||
.agent-gui-node__composer-provider-select {
|
||
flex: 0 1 auto;
|
||
min-width: 0;
|
||
}
|
||
|
||
.agent-gui-node__composer-handoff-trigger {
|
||
padding-left: 6px;
|
||
}
|
||
|
||
.agent-gui-node__composer-handoff-icon {
|
||
position: relative;
|
||
display: inline-flex;
|
||
width: 18px;
|
||
height: 18px;
|
||
flex: 0 0 18px;
|
||
align-items: center;
|
||
justify-content: center;
|
||
color: var(--text-secondary);
|
||
contain: layout paint;
|
||
}
|
||
|
||
.agent-gui-node__composer-handoff-icon[data-playing="true"] {
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
.agent-gui-node__composer-handoff-icon[data-disabled="true"] {
|
||
color: var(--agent-gui-text-tertiary);
|
||
}
|
||
|
||
.agent-gui-node__composer-handoff-icon-static,
|
||
.agent-gui-node__composer-handoff-icon-animated {
|
||
width: 18px;
|
||
height: 18px;
|
||
display: block;
|
||
}
|
||
|
||
.agent-gui-node__composer-handoff-icon-static {
|
||
background-color: currentColor;
|
||
opacity: 1;
|
||
}
|
||
|
||
.agent-gui-node__composer-handoff-icon:has(
|
||
.agent-gui-node__composer-handoff-icon-animated[data-active="true"]
|
||
)
|
||
.agent-gui-node__composer-handoff-icon-static {
|
||
opacity: 0;
|
||
}
|
||
|
||
.agent-gui-node__composer-handoff-icon-animated {
|
||
position: absolute;
|
||
inset: 0;
|
||
/* Match the APNG's padded 44px canvas to the static icon's visual size. */
|
||
transform: scale(1.3);
|
||
filter: var(--agent-gui-handoff-animation-filter, none);
|
||
opacity: 0;
|
||
pointer-events: none;
|
||
}
|
||
|
||
.agent-gui-node__composer-handoff-icon-animated[data-active="true"] {
|
||
transform: translateZ(0) scale(1.3);
|
||
opacity: 1;
|
||
backface-visibility: hidden;
|
||
will-change: opacity, transform;
|
||
}
|
||
|
||
.agent-gui-node__composer-tutti-mode-icon {
|
||
position: relative;
|
||
display: inline-flex;
|
||
width: 16px;
|
||
height: 16px;
|
||
flex: 0 0 16px;
|
||
align-items: center;
|
||
justify-content: center;
|
||
/* Inherit color from the chip label so the mark tracks every state:
|
||
text-secondary at rest, text-primary on hover, tutti-purple when armed. */
|
||
contain: layout paint;
|
||
}
|
||
|
||
.agent-gui-node__composer-tutti-mode-icon-static,
|
||
.agent-gui-node__composer-tutti-mode-icon-animated {
|
||
width: 16px;
|
||
height: 16px;
|
||
display: block;
|
||
}
|
||
|
||
.agent-gui-node__composer-tutti-mode-icon-static {
|
||
background-color: currentColor;
|
||
opacity: 1;
|
||
}
|
||
|
||
.agent-gui-node__composer-tutti-mode-icon:has(
|
||
.agent-gui-node__composer-tutti-mode-icon-animated[data-active="true"]
|
||
)
|
||
.agent-gui-node__composer-tutti-mode-icon-static {
|
||
opacity: 0;
|
||
}
|
||
|
||
.agent-gui-node__composer-tutti-mode-icon-animated {
|
||
position: absolute;
|
||
inset: 0;
|
||
/* Match the 16px static mark exactly; the APNG canvas already pads the
|
||
snapping hand and bursting stars, so no enlargement is applied. */
|
||
opacity: 0;
|
||
pointer-events: none;
|
||
}
|
||
|
||
.agent-gui-node__composer-tutti-mode-icon-animated[data-active="true"] {
|
||
transform: translateZ(0);
|
||
opacity: 1;
|
||
backface-visibility: hidden;
|
||
will-change: opacity, transform;
|
||
}
|
||
|
||
@media (prefers-reduced-motion: reduce) {
|
||
.agent-gui-node__composer-tutti-mode-icon-animated {
|
||
display: none;
|
||
}
|
||
|
||
.agent-gui-node__composer-tutti-mode-icon-static {
|
||
opacity: 1 !important;
|
||
}
|
||
}
|
||
|
||
.agent-gui-node__composer-handoff-icon[data-disabled="true"]
|
||
.agent-gui-node__composer-handoff-icon-animated {
|
||
opacity: 0;
|
||
}
|
||
|
||
@media (prefers-reduced-motion: reduce) {
|
||
.agent-gui-node__composer-handoff-icon-animated {
|
||
display: none;
|
||
}
|
||
|
||
.agent-gui-node__composer-handoff-icon-static {
|
||
opacity: 1 !important;
|
||
}
|
||
}
|
||
|
||
:root[data-theme="dark"] .agent-gui-node__composer-handoff-icon-animated {
|
||
--agent-gui-handoff-animation-filter: brightness(0) invert(1);
|
||
}
|
||
|
||
@media (prefers-color-scheme: dark) {
|
||
:root:not([data-theme="light"])
|
||
.agent-gui-node__composer-handoff-icon-animated {
|
||
--agent-gui-handoff-animation-filter: brightness(0) invert(1);
|
||
}
|
||
}
|
||
|
||
.agent-gui-node__composer-handoff-menu-content [data-slot="select-item"] {
|
||
padding-right: 0.5rem;
|
||
}
|
||
|
||
.agent-gui-node__composer-handoff-menu-content
|
||
[data-slot="select-item"]
|
||
> span:first-child {
|
||
display: none;
|
||
}
|
||
|
||
.agent-gui-node__composer-prompt-tips {
|
||
display: flex;
|
||
flex: 1 1 0;
|
||
min-width: 0;
|
||
overflow: hidden;
|
||
align-items: center;
|
||
justify-content: flex-end;
|
||
}
|
||
|
||
.agent-gui-node__composer-prompt-tip {
|
||
--agent-gui-prompt-tip-count: 1;
|
||
--agent-gui-prompt-tip-cycle-duration: 5200ms;
|
||
display: block;
|
||
box-sizing: border-box;
|
||
width: min(620px, 100%);
|
||
max-width: 100%;
|
||
min-width: 0;
|
||
height: 18px;
|
||
overflow: hidden;
|
||
color: var(--agent-gui-text-tertiary);
|
||
font-size: 11px;
|
||
line-height: 18px;
|
||
text-align: right;
|
||
}
|
||
|
||
.agent-gui-node__composer-prompt-tip-track {
|
||
display: block;
|
||
min-width: 0;
|
||
animation: agent-gui-node-prompt-tip-in 180ms ease backwards;
|
||
}
|
||
|
||
.agent-gui-node__composer-prompt-tip[data-rotating="true"]
|
||
.agent-gui-node__composer-prompt-tip-track {
|
||
animation: agent-gui-node-prompt-tip-track
|
||
var(--agent-gui-prompt-tip-cycle-duration)
|
||
steps(var(--agent-gui-prompt-tip-count)) infinite;
|
||
will-change: transform;
|
||
}
|
||
|
||
.agent-gui-node__layout[data-agent-gui-active="false"]
|
||
.agent-gui-node__composer-prompt-tip-track,
|
||
.agent-gui-node__layout[data-agent-gui-active="false"]
|
||
.agent-gui-node__composer-prompt-tip-item {
|
||
animation: none;
|
||
will-change: auto;
|
||
}
|
||
|
||
.agent-gui-node__composer-prompt-tip-item {
|
||
display: block;
|
||
min-width: 0;
|
||
height: 18px;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-node__composer-prompt-tip[data-rotating="true"]
|
||
.agent-gui-node__composer-prompt-tip-item {
|
||
animation: agent-gui-node-prompt-tip-cycle 5200ms
|
||
cubic-bezier(0.22, 1, 0.36, 1) infinite;
|
||
}
|
||
|
||
.agent-gui-node__composer-prompt-tip-prefix {
|
||
color: var(--agent-gui-text-tertiary);
|
||
font-weight: 500;
|
||
}
|
||
|
||
.agent-gui-node__composer-prompt-tip-label {
|
||
color: var(--agent-gui-text-tertiary);
|
||
font-weight: 400;
|
||
}
|
||
|
||
.agent-gui-node__composer-prompt-tip-text {
|
||
color: var(--agent-gui-text-tertiary);
|
||
font-weight: 450;
|
||
}
|
||
|
||
.agent-gui-node__composer-prompt-tip-tooltip {
|
||
max-width: min(560px, calc(100vw - 32px));
|
||
overflow-wrap: anywhere;
|
||
text-align: left;
|
||
white-space: normal;
|
||
}
|
||
|
||
@keyframes agent-gui-node-prompt-tip-in {
|
||
from {
|
||
opacity: 0;
|
||
transform: translateY(2px);
|
||
}
|
||
|
||
to {
|
||
opacity: 1;
|
||
transform: translateY(0);
|
||
}
|
||
}
|
||
|
||
@keyframes agent-gui-node-prompt-tip-track {
|
||
to {
|
||
transform: translateY(calc(var(--agent-gui-prompt-tip-count) * -18px));
|
||
}
|
||
}
|
||
|
||
@keyframes agent-gui-node-prompt-tip-cycle {
|
||
0% {
|
||
opacity: 0;
|
||
transform: translateY(6px);
|
||
}
|
||
|
||
4%,
|
||
92% {
|
||
opacity: 1;
|
||
transform: translateY(0);
|
||
}
|
||
|
||
100% {
|
||
opacity: 0;
|
||
transform: translateY(-6px);
|
||
}
|
||
}
|
||
|
||
@media (prefers-reduced-motion: reduce) {
|
||
.agent-gui-node__composer-prompt-tip-track,
|
||
.agent-gui-node__composer-prompt-tip-item,
|
||
.agent-gui-node__composer-prompt-tip[data-rotating="true"]
|
||
.agent-gui-node__composer-prompt-tip-track,
|
||
.agent-gui-node__composer-prompt-tip[data-rotating="true"]
|
||
.agent-gui-node__composer-prompt-tip-item {
|
||
animation: none;
|
||
}
|
||
}
|
||
|
||
.agent-gui-node__composer-footer {
|
||
display: flex;
|
||
width: 100%;
|
||
min-width: 0;
|
||
justify-self: stretch;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
column-gap: 12px;
|
||
row-gap: 4px;
|
||
flex-wrap: wrap;
|
||
padding-top: 0;
|
||
}
|
||
|
||
.agent-gui-node__composer[data-layout="dock"] .agent-gui-node__composer-footer {
|
||
position: relative;
|
||
/* The base rule's width: 100% keeps the parent's content width, so the
|
||
negative margins only shift the row left instead of widening it: the
|
||
right edge falls 24px short of the composer edge and strands the model
|
||
dropdown far from the send button above. width: auto lets
|
||
justify-self: stretch + the negative margins span the full row. */
|
||
width: auto;
|
||
margin: 0 -12px -12px;
|
||
padding: 0 14px 12px;
|
||
background: var(--agent-gui-session-flow-background);
|
||
}
|
||
|
||
.agent-gui-node__composer-footer-left,
|
||
.agent-gui-node__composer-footer-right {
|
||
display: inline-flex;
|
||
min-width: 0;
|
||
align-items: center;
|
||
gap: 10px;
|
||
}
|
||
|
||
.agent-gui-node__composer-footer-left {
|
||
gap: 8px;
|
||
}
|
||
|
||
.agent-gui-node__composer-footer-accessory {
|
||
display: flex;
|
||
flex: 0 0 100%;
|
||
min-width: 0;
|
||
flex-wrap: wrap;
|
||
align-items: center;
|
||
gap: 4px;
|
||
}
|
||
|
||
.agent-gui-node__composer-footer-accessory:empty {
|
||
display: none;
|
||
}
|
||
|
||
.agent-gui-node__composer-footer-right {
|
||
flex: 1 1 auto;
|
||
gap: 2px;
|
||
margin-left: auto;
|
||
justify-content: flex-end;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.agent-gui-node__composer-footer-right
|
||
.agent-gui-node__composer-menu-trigger
|
||
> svg {
|
||
width: 16px;
|
||
height: 16px;
|
||
flex: 0 0 16px;
|
||
margin-left: 0;
|
||
}
|
||
|
||
.agent-gui-node__composer-menu-trigger {
|
||
display: inline-flex;
|
||
min-width: 0;
|
||
min-height: 28px;
|
||
max-width: min(100%, 240px);
|
||
align-items: center;
|
||
gap: 2px;
|
||
border: 0;
|
||
border-radius: 6px;
|
||
background: transparent;
|
||
padding: 0 8px;
|
||
color: var(--agent-gui-text-secondary);
|
||
font-size: 13px;
|
||
font-weight: 400;
|
||
line-height: 1.2;
|
||
}
|
||
|
||
/* Plan-task assignment rows space items with the row gap instead of each
|
||
trigger's own horizontal padding. */
|
||
.tutti-plan-task-assignment-row .agent-gui-node__composer-menu-trigger {
|
||
padding-right: 0;
|
||
padding-left: 0;
|
||
}
|
||
|
||
.agent-gui-node__composer-menu-item > span:last-child {
|
||
min-width: 0;
|
||
flex: 1 1 auto;
|
||
overflow: hidden;
|
||
}
|
||
|
||
.agent-gui-node__composer-menu-item > span:last-child > span {
|
||
width: 100%;
|
||
min-width: 0;
|
||
}
|
||
|
||
.agent-gui-node__composer-menu-trigger[data-agent-plan-mode-badge="true"],
|
||
.agent-gui-node__composer-menu-trigger[data-agent-plan-mode-badge="true"]:hover:not(
|
||
:disabled
|
||
) {
|
||
color: var(--state-warning);
|
||
}
|
||
|
||
.agent-gui-node__composer-menu-trigger[data-agent-goal-badge="true"],
|
||
.agent-gui-node__composer-menu-trigger[data-agent-goal-badge="true"]:hover:not(
|
||
:disabled
|
||
) {
|
||
color: var(--tutti-purple);
|
||
}
|
||
|
||
/* Active Tutti Mode chip: icon (bg-current) and label both go tutti-purple. */
|
||
.agent-gui-node__composer-menu-trigger[data-agent-tutti-mode-active="true"],
|
||
.agent-gui-node__composer-menu-trigger[data-agent-tutti-mode-active="true"]:hover:not(
|
||
:disabled
|
||
) {
|
||
color: var(--tutti-purple);
|
||
}
|
||
.agent-gui-node__composer-menu-trigger:hover:not(:disabled) {
|
||
color: var(--agent-gui-text-primary);
|
||
}
|
||
|
||
.agent-gui-node__composer-menu-trigger[data-agent-model-reasoning-trigger="true"] {
|
||
flex: 0 1 auto;
|
||
width: auto;
|
||
min-width: 0;
|
||
max-width: min(100%, 180px);
|
||
overflow: hidden;
|
||
}
|
||
|
||
.agent-gui-node__composer-menu-trigger[data-agent-model-reasoning-trigger="true"]:hover:not(
|
||
:disabled
|
||
) {
|
||
color: var(--agent-gui-text-secondary);
|
||
}
|
||
|
||
.agent-gui-node__composer-menu-trigger[data-agent-model-reasoning-trigger="true"]
|
||
> span:first-child {
|
||
flex: 0 1 auto;
|
||
}
|
||
|
||
.agent-gui-node__composer-menu-trigger[data-agent-model-reasoning-trigger="true"]
|
||
> svg {
|
||
transition: transform 200ms ease;
|
||
}
|
||
|
||
.agent-gui-node__composer-menu-trigger[data-agent-model-reasoning-trigger="true"][data-state="open"]
|
||
> svg {
|
||
transform: rotate(180deg);
|
||
}
|
||
|
||
.agent-gui-node__composer-menu-trigger[data-permission-tone="accent"],
|
||
.agent-gui-node__composer-menu-trigger[data-permission-tone="accent"]:hover:not(
|
||
:disabled
|
||
),
|
||
.agent-gui-node__composer-menu-trigger[data-permission-tone="accent"] > span,
|
||
.agent-gui-node__composer-menu-trigger[data-permission-tone="accent"] > svg {
|
||
color: var(--tutti-purple);
|
||
}
|
||
|
||
.agent-gui-node__composer-menu-trigger[data-permission-tone="success"],
|
||
.agent-gui-node__composer-menu-trigger[data-permission-tone="success"]:hover:not(
|
||
:disabled
|
||
),
|
||
.agent-gui-node__composer-menu-trigger[data-permission-tone="success"] > span,
|
||
.agent-gui-node__composer-menu-trigger[data-permission-tone="success"] > svg {
|
||
color: var(--agent-gui-success);
|
||
}
|
||
|
||
.agent-gui-node__composer-menu-trigger[data-permission-tone="warning"],
|
||
.agent-gui-node__composer-menu-trigger[data-permission-tone="warning"]:hover:not(
|
||
:disabled
|
||
),
|
||
.agent-gui-node__composer-menu-trigger[data-permission-tone="warning"] > span,
|
||
.agent-gui-node__composer-menu-trigger[data-permission-tone="warning"] > svg {
|
||
color: var(--agent-gui-warning) !important;
|
||
}
|
||
|
||
.agent-gui-node__composer-menu-trigger:focus,
|
||
.agent-gui-node__composer-menu-trigger:focus-visible {
|
||
outline: none;
|
||
box-shadow: none;
|
||
}
|
||
|
||
.agent-gui-node__composer-menu-trigger:disabled {
|
||
cursor: not-allowed;
|
||
color: var(--agent-gui-text-tertiary);
|
||
opacity: 0.6;
|
||
}
|
||
|
||
.agent-gui-node__composer-menu-trigger:disabled:hover {
|
||
cursor: not-allowed;
|
||
color: var(--agent-gui-text-tertiary);
|
||
}
|
||
|
||
.agent-gui-node__composer-menu-content {
|
||
--accent: var(--tutti-purple);
|
||
--agent-gui-text-primary: var(--text-primary);
|
||
--agent-gui-text-secondary: var(--text-secondary);
|
||
--agent-gui-text-tertiary: var(--text-tertiary);
|
||
--agent-gui-surface-raised: var(--background-fronted);
|
||
--agent-gui-border-subtle: var(--line-2);
|
||
--agent-gui-package-accent: var(--tutti-purple);
|
||
--agent-gui-package-accent-strong: var(--tutti-purple);
|
||
--agent-gui-package-success: var(--state-success);
|
||
--agent-gui-package-warning: var(--state-warning);
|
||
--agent-gui-package-danger: var(--state-danger);
|
||
--agent-gui-accent: var(--agent-gui-package-accent);
|
||
--agent-gui-accent-strong: var(--agent-gui-package-accent-strong);
|
||
--agent-gui-success: var(--agent-gui-package-success);
|
||
--agent-gui-warning: var(--agent-gui-package-warning);
|
||
--agent-gui-danger: var(--agent-gui-package-danger);
|
||
border: 1px solid var(--agent-gui-border-subtle);
|
||
border-radius: 8px;
|
||
padding: 4px;
|
||
background: var(--agent-gui-surface-raised);
|
||
color: var(--agent-gui-text-primary);
|
||
max-height: min(
|
||
360px,
|
||
var(--radix-dropdown-menu-content-available-height, 360px)
|
||
);
|
||
overflow-y: auto;
|
||
overscroll-behavior: contain;
|
||
}
|
||
|
||
.agent-gui-node__composer-menu-content
|
||
[data-workspace-user-project-action-separator="true"] {
|
||
margin-inline: 12px;
|
||
background: var(--agent-gui-border-subtle, var(--line-2));
|
||
}
|
||
|
||
.agent-gui-node__composer-menu-label {
|
||
padding: 4px 10px 2px;
|
||
color: var(--agent-gui-text-secondary);
|
||
font-size: 11px;
|
||
line-height: 14px;
|
||
font-weight: 600;
|
||
}
|
||
|
||
.agent-gui-node__composer-menu-item {
|
||
min-height: 28px;
|
||
border-radius: 6px;
|
||
padding-block: 4px;
|
||
padding-inline: 10px 28px;
|
||
color: var(--agent-gui-text-primary);
|
||
font-size: 13px;
|
||
line-height: 1.2;
|
||
}
|
||
|
||
.agent-gui-node__composer-menu-item[data-disabled] {
|
||
cursor: not-allowed;
|
||
color: var(--text-disabled);
|
||
opacity: 0.5;
|
||
}
|
||
|
||
.agent-gui-node__composer-menu-content[data-agent-composer-settings-layout="model-primary"]
|
||
.agent-gui-node__composer-menu-item,
|
||
.agent-gui-node__composer-menu-content[data-agent-composer-settings-layout="model-submenu"]
|
||
.agent-gui-node__composer-menu-item {
|
||
padding-inline: 8px 10px;
|
||
}
|
||
|
||
.agent-gui-node__composer-menu-item-meta {
|
||
min-width: 0;
|
||
flex: 1;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-node__composer-chip {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
min-height: 28px;
|
||
border-radius: 6px;
|
||
padding: 0 12px;
|
||
background: color-mix(in srgb, var(--agent-gui-success) 10%, transparent);
|
||
color: var(--agent-gui-success);
|
||
font-size: 13px;
|
||
font-weight: 600;
|
||
}
|
||
|
||
.agent-gui-node__composer-send-button {
|
||
display: grid;
|
||
flex: 0 0 28px;
|
||
place-items: center;
|
||
width: 28px;
|
||
min-width: 28px;
|
||
height: 28px;
|
||
min-height: 28px;
|
||
border: 0;
|
||
border-radius: 999px;
|
||
background: var(--text-primary);
|
||
color: var(--text-inverted);
|
||
padding: 0;
|
||
transition:
|
||
transform 140ms ease,
|
||
background-color 140ms ease,
|
||
color 140ms ease;
|
||
}
|
||
|
||
.agent-gui-node__composer-send-button:hover:not(:disabled) {
|
||
transform: translateY(-1px);
|
||
background: var(--text-primary);
|
||
color: var(--text-inverted);
|
||
}
|
||
|
||
.agent-gui-node__composer-send-button:disabled {
|
||
background: var(--text-disabled);
|
||
color: var(--white-stationary);
|
||
box-shadow: none;
|
||
}
|
||
|
||
.agent-gui-node__composer-send-button[data-state="loading"],
|
||
.agent-gui-node__composer-send-button[data-state="stopping"] {
|
||
border: 0;
|
||
background: var(--transparency-block);
|
||
color: var(--text-primary);
|
||
box-shadow: none;
|
||
}
|
||
|
||
.agent-gui-node__composer-send-button[data-state="interrupt"] {
|
||
background: rgb(24 24 27);
|
||
color: #ffffff;
|
||
}
|
||
|
||
.agent-gui-node__composer-send-button[data-state="interrupt"]:hover:not(
|
||
:disabled
|
||
) {
|
||
background: rgb(9 9 11);
|
||
}
|
||
|
||
.agent-gui-node__provider-rail {
|
||
display: flex;
|
||
width: 52px;
|
||
min-width: 0;
|
||
min-height: 0;
|
||
flex: 1 1 auto;
|
||
flex-direction: column;
|
||
align-items: center;
|
||
padding: 2px 0 16px;
|
||
overflow-x: hidden;
|
||
overflow-y: auto;
|
||
mask-image: linear-gradient(
|
||
to bottom,
|
||
#000 0,
|
||
#000 calc(100% - 24px),
|
||
transparent 100%
|
||
);
|
||
-webkit-mask-image: linear-gradient(
|
||
to bottom,
|
||
#000 0,
|
||
#000 calc(100% - 24px),
|
||
transparent 100%
|
||
);
|
||
-webkit-app-region: no-drag;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-footer {
|
||
display: flex;
|
||
width: 52px;
|
||
min-width: 0;
|
||
flex: 0 0 auto;
|
||
flex-direction: column;
|
||
align-items: center;
|
||
justify-content: center;
|
||
gap: 8px;
|
||
padding: 0;
|
||
-webkit-app-region: no-drag;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-config-footer {
|
||
padding-bottom: 4px;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-config-footer:last-child {
|
||
padding-bottom: 12px;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-sidebar-footer {
|
||
padding-bottom: 0;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-sidebar-footer:last-child {
|
||
padding-bottom: 12px;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-sidebar-footer
|
||
+ .agent-gui-node__provider-rail-config-footer {
|
||
margin-top: 8px;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-config-button {
|
||
display: grid;
|
||
width: 32px;
|
||
height: 32px;
|
||
place-items: center;
|
||
border: 0;
|
||
border-radius: 6px;
|
||
background: transparent;
|
||
color: var(--text-secondary);
|
||
padding: 0;
|
||
transition:
|
||
background 120ms ease,
|
||
color 120ms ease;
|
||
-webkit-app-region: no-drag;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-config-button:hover:not(:disabled),
|
||
.agent-gui-node__provider-rail-config-button[data-state="open"] {
|
||
background: var(--transparency-hover);
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-config-button:focus-visible {
|
||
outline: none;
|
||
box-shadow: 0 0 0 2px var(--border-focus);
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-config-button:disabled {
|
||
color: var(--text-tertiary);
|
||
cursor: not-allowed;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-tile {
|
||
position: relative;
|
||
display: grid;
|
||
width: 52px;
|
||
min-width: 0;
|
||
grid-template-rows: 32px;
|
||
gap: 0;
|
||
place-items: center;
|
||
border: 0;
|
||
background: transparent;
|
||
color: var(--text-tertiary);
|
||
padding: 0;
|
||
font-size: 10px;
|
||
font-weight: 600;
|
||
line-height: 14px;
|
||
text-align: center;
|
||
transition:
|
||
color 120ms ease,
|
||
margin 140ms ease,
|
||
opacity 140ms ease;
|
||
-webkit-app-region: no-drag;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-tile[draggable="true"] {
|
||
cursor: grab;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-tile[draggable="true"]:active {
|
||
cursor: grabbing;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-tile + .agent-gui-node__provider-rail-tile {
|
||
margin-top: 12px;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-tile-label {
|
||
max-width: 100%;
|
||
margin-top: 4px;
|
||
overflow: hidden;
|
||
white-space: nowrap;
|
||
text-overflow: ellipsis;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-tile:has(
|
||
+ .agent-gui-node__provider-rail-separator
|
||
) {
|
||
padding-bottom: 0;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-tile:hover:not(:disabled) {
|
||
color: var(--text-secondary);
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-tile:disabled {
|
||
cursor: not-allowed;
|
||
opacity: 0.3;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-tile[data-dragging="true"] {
|
||
opacity: 0.42;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-tile[data-drag-over="before"] {
|
||
margin-top: 24px;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-tile[data-drag-over="after"] {
|
||
margin-bottom: 12px;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-tile[data-drag-over="before"]::before,
|
||
.agent-gui-node__provider-rail-tile[data-drag-over="after"]::after {
|
||
content: "";
|
||
position: absolute;
|
||
left: 12px;
|
||
right: 12px;
|
||
height: 2px;
|
||
border-radius: 999px;
|
||
background: var(--brand-primary, var(--tutti-purple));
|
||
pointer-events: none;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-tile[data-drag-over="before"]::before {
|
||
top: -13px;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-tile[data-drag-over="after"]::after {
|
||
bottom: -13px;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-separator {
|
||
display: block;
|
||
width: 28px;
|
||
height: 1px;
|
||
flex: 0 0 auto;
|
||
margin-block: 12px;
|
||
background: var(--line-2);
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-tile[data-loading="true"] {
|
||
cursor: progress;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-avatar {
|
||
--agent-gui-avatar-badge-offset: -4px;
|
||
--agent-gui-avatar-badge-size: 16px;
|
||
|
||
position: relative;
|
||
box-sizing: border-box;
|
||
display: grid;
|
||
width: 32px;
|
||
height: 32px;
|
||
place-items: center;
|
||
overflow: visible;
|
||
border: 2px solid transparent;
|
||
border-radius: 8px;
|
||
background: transparent;
|
||
color: var(--text-tertiary);
|
||
transition:
|
||
border-color 140ms ease,
|
||
outline-color 140ms ease,
|
||
background-color 140ms ease,
|
||
color 140ms ease,
|
||
opacity 140ms ease,
|
||
transform 140ms ease;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-tile:not([data-selected="true"])
|
||
.agent-gui-node__provider-rail-avatar {
|
||
opacity: 1;
|
||
}
|
||
|
||
/* "Beta" tag straddling the selected icon's stroke: its centerline sits on
|
||
the avatar's outer edge (the stroke is centered there with a -1px
|
||
outline offset), horizontally centered on the icon. */
|
||
.agent-gui-node__provider-rail-beta-badge {
|
||
position: absolute;
|
||
top: 100%;
|
||
left: 50%;
|
||
transform: translate(-50%, -50%);
|
||
z-index: 2;
|
||
width: 26px;
|
||
height: auto;
|
||
pointer-events: none;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-tile:hover:not(:disabled)
|
||
.agent-gui-node__provider-rail-avatar {
|
||
background: var(--fill-secondary);
|
||
color: var(--text-secondary);
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-tile[data-selected="true"] {
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
/* Selected stroke floats 1px outside the 28px icon container: a 2px outline
|
||
centered on the avatar's outer edge (-1px offset) leaves exactly 1px of
|
||
transparent gap between the container and the stroke's inner edge. */
|
||
.agent-gui-node__provider-rail-tile[data-selected="true"]
|
||
.agent-gui-node__provider-rail-avatar {
|
||
border-color: transparent;
|
||
background: color-mix(in srgb, var(--background-fronted) 80%, white);
|
||
outline: 2px solid var(--brand-primary, var(--tutti-purple));
|
||
outline-offset: -1px;
|
||
color: var(--brand-primary, var(--tutti-purple));
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-avatar-icon {
|
||
width: 18px;
|
||
height: 18px;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-avatar-image {
|
||
width: 28px;
|
||
height: 28px;
|
||
border-radius: 6px;
|
||
object-fit: contain;
|
||
}
|
||
|
||
.agent-gui-node__agent-avatar {
|
||
position: relative;
|
||
}
|
||
|
||
.agent-gui-node__agent-avatar-image {
|
||
display: block;
|
||
width: 100%;
|
||
height: 100%;
|
||
object-fit: contain;
|
||
}
|
||
|
||
.agent-gui-node__agent-avatar-badge {
|
||
position: absolute;
|
||
right: var(--agent-gui-avatar-badge-offset, -4px);
|
||
bottom: var(--agent-gui-avatar-badge-offset, -4px);
|
||
box-sizing: border-box;
|
||
display: grid;
|
||
width: var(--agent-gui-avatar-badge-size, 16px);
|
||
height: var(--agent-gui-avatar-badge-size, 16px);
|
||
place-items: center;
|
||
overflow: hidden;
|
||
border: 1px solid var(--background-fronted);
|
||
border-radius: 999px;
|
||
background: var(--background-fronted);
|
||
pointer-events: none;
|
||
font-size: 9px;
|
||
line-height: 1;
|
||
}
|
||
|
||
.agent-gui-node__agent-avatar-badge-image {
|
||
width: 100%;
|
||
height: 100%;
|
||
object-fit: cover;
|
||
}
|
||
|
||
.agent-gui-node__provider-rail-tile[data-loading="true"]
|
||
.agent-gui-node__provider-rail-avatar {
|
||
background: linear-gradient(
|
||
90deg,
|
||
var(--fill-tertiary),
|
||
var(--fill-secondary),
|
||
var(--fill-tertiary)
|
||
);
|
||
background-size: 200% 100%;
|
||
animation: agent-gui-provider-target-loading 1.2s ease-in-out infinite;
|
||
}
|
||
|
||
.agent-gui-provider-manager-tile[data-dragging="true"] {
|
||
opacity: 0.45;
|
||
}
|
||
|
||
.agent-gui-provider-manager-drop-zone {
|
||
transition:
|
||
background-color 140ms ease,
|
||
box-shadow 140ms ease;
|
||
}
|
||
|
||
.agent-gui-provider-manager-drop-zone[data-drop-active="true"] {
|
||
background: color-mix(
|
||
in srgb,
|
||
var(--brand-primary, var(--tutti-purple)) 7%,
|
||
transparent
|
||
);
|
||
box-shadow: inset 0 0 0 1px
|
||
color-mix(
|
||
in srgb,
|
||
var(--brand-primary, var(--tutti-purple)) 42%,
|
||
transparent
|
||
);
|
||
}
|
||
|
||
.agent-gui-provider-manager-drop-zone[data-drop-blocked="true"] {
|
||
background: color-mix(in srgb, var(--state-danger) 6%, transparent);
|
||
box-shadow: inset 0 0 0 1px
|
||
color-mix(in srgb, var(--state-danger) 28%, transparent);
|
||
}
|
||
|
||
.agent-gui-provider-manager-tile
|
||
> :not(.agent-gui-provider-manager-drop-indicator) {
|
||
transition: translate 140ms ease;
|
||
}
|
||
|
||
.agent-gui-provider-manager-tile[data-drag-over="before"]
|
||
> :not(.agent-gui-provider-manager-drop-indicator) {
|
||
translate: 8px 0;
|
||
}
|
||
|
||
.agent-gui-provider-manager-tile[data-drag-over="after"]
|
||
> :not(.agent-gui-provider-manager-drop-indicator) {
|
||
translate: -8px 0;
|
||
}
|
||
|
||
.agent-gui-provider-manager-drop-indicator {
|
||
position: absolute;
|
||
top: 4px;
|
||
bottom: 4px;
|
||
width: 2px;
|
||
border-radius: 999px;
|
||
background: var(--brand-primary, var(--tutti-purple));
|
||
pointer-events: none;
|
||
}
|
||
|
||
.agent-gui-provider-manager-drop-indicator[data-position="before"] {
|
||
left: -9px;
|
||
}
|
||
|
||
.agent-gui-provider-manager-drop-indicator[data-position="after"] {
|
||
right: -9px;
|
||
}
|
||
|
||
.agent-gui-provider-manager-tile[data-long-press="true"] {
|
||
animation: agent-gui-provider-manager-long-press 550ms linear;
|
||
}
|
||
|
||
.agent-gui-provider-manager-tile[data-editing="true"] {
|
||
transform-origin: 50% 42%;
|
||
animation: agent-gui-provider-manager-wiggle 180ms ease-in-out infinite
|
||
alternate;
|
||
}
|
||
|
||
.agent-gui-provider-manager-tile[data-editing="true"]:nth-child(2n) {
|
||
animation-delay: -90ms;
|
||
animation-direction: alternate-reverse;
|
||
}
|
||
|
||
.agent-gui-provider-manager-tile[data-editing="true"][data-drag-active="true"] {
|
||
animation: none;
|
||
}
|
||
|
||
@keyframes agent-gui-provider-manager-wiggle {
|
||
0% {
|
||
transform: rotate(-1.2deg) translateY(0);
|
||
}
|
||
|
||
100% {
|
||
transform: rotate(1.2deg) translateY(-0.5px);
|
||
}
|
||
}
|
||
|
||
@keyframes agent-gui-provider-manager-long-press {
|
||
from {
|
||
scale: 1;
|
||
}
|
||
|
||
to {
|
||
scale: 1;
|
||
}
|
||
}
|
||
|
||
@media (prefers-reduced-motion: reduce) {
|
||
.agent-gui-provider-manager-tile[data-editing="true"] {
|
||
animation: none;
|
||
}
|
||
}
|
||
|
||
@keyframes agent-gui-provider-target-loading {
|
||
0% {
|
||
background-position: 100% 0;
|
||
}
|
||
|
||
100% {
|
||
background-position: -100% 0;
|
||
}
|
||
}
|
||
|
||
.agent-gui-node__empty-hero {
|
||
/* Center one shared frame instead of each state's intrinsic content height.
|
||
Wrapped titles, composer controls, and readiness actions then grow down. */
|
||
--agent-gui-empty-hero-anchor-block-size: 398px;
|
||
|
||
display: flex;
|
||
width: 100%;
|
||
min-height: 100%;
|
||
align-items: center;
|
||
justify-content: center;
|
||
padding: 24px clamp(32px, 4vw, 48px) 40px;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-body {
|
||
--agent-gui-empty-hero-gap: 24px;
|
||
|
||
display: grid;
|
||
width: min(820px, 100%);
|
||
min-width: 0;
|
||
block-size: var(--agent-gui-empty-hero-anchor-block-size);
|
||
align-content: start;
|
||
gap: var(--agent-gui-empty-hero-gap);
|
||
justify-items: center;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-icon-slot {
|
||
display: grid;
|
||
width: 54px;
|
||
height: 54px;
|
||
place-items: center;
|
||
}
|
||
|
||
/* The coverflow carousel needs a wider, taller stage than the single-icon
|
||
slot; keep it centered in the hero column. */
|
||
.agent-gui-node__empty-hero-icon-slot:has(
|
||
> .agent-gui-node__empty-hero-carousel
|
||
),
|
||
.agent-gui-node__empty-hero-icon-slot[data-carousel-placeholder="true"] {
|
||
width: min(400px, 100%);
|
||
min-width: 320px;
|
||
height: 112px;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-carousel-stage {
|
||
position: relative;
|
||
top: -24px;
|
||
width: 100%;
|
||
min-height: 100%;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-carousel-layer {
|
||
position: absolute;
|
||
z-index: 1;
|
||
|
||
--agent-gui-hero-carousel-scale: 0.8;
|
||
|
||
/* The stage measures the body's placeholder slot and pins the layer to it;
|
||
the calc()/50% fallbacks remain only as the first-paint estimate. */
|
||
top: var(--agent-gui-hero-carousel-slot-top, calc(50% - 210px));
|
||
left: var(--agent-gui-hero-carousel-slot-left, 50%);
|
||
width: round(nearest, min(400px, calc(100% - 64px)), 1px);
|
||
min-width: 320px;
|
||
transform: translateX(-50%) scale(var(--agent-gui-hero-carousel-scale));
|
||
transform-origin: center center;
|
||
}
|
||
|
||
@media (max-height: 639px) {
|
||
.agent-gui-node__empty-hero-carousel-layer {
|
||
--agent-gui-hero-carousel-scale: 0.64;
|
||
top: calc(
|
||
var(--agent-gui-hero-carousel-slot-top, calc(50% - 210px)) - 16px
|
||
);
|
||
}
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-carousel-placeholder {
|
||
width: min(400px, 100%);
|
||
min-width: 320px;
|
||
height: 112px;
|
||
flex: 0 0 auto;
|
||
}
|
||
|
||
/* Keep the overlayed carousel interactive while the ready/gated body below it
|
||
changes independently. */
|
||
.agent-gui-node__empty-hero-carousel-layer
|
||
> .agent-gui-node__empty-hero-carousel {
|
||
pointer-events: auto;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-icon-effect {
|
||
--agent-gui-avatar-badge-offset: -5px;
|
||
--agent-gui-avatar-badge-size: 18px;
|
||
|
||
display: block;
|
||
width: 48px;
|
||
height: 48px;
|
||
object-fit: contain;
|
||
animation: agent-gui-empty-hero-enter 260ms cubic-bezier(0.16, 1, 0.3, 1) 40ms
|
||
backwards;
|
||
}
|
||
|
||
/* Empty-hero agent carousel ("All" tab): a three.js ring of same-sized agent
|
||
records (see agentGuiHeroCarouselScene.ts). Records farther around the ring
|
||
genuinely shrink and fade with perspective; visuals live on the canvas,
|
||
while visually-hidden buttons keep the switcher reachable by keyboard,
|
||
screen readers, and DOM tests. */
|
||
.agent-gui-node__empty-hero-carousel {
|
||
position: relative;
|
||
width: 100%;
|
||
height: 112px;
|
||
outline: none;
|
||
touch-action: pan-y;
|
||
animation: agent-gui-empty-hero-enter 260ms cubic-bezier(0.16, 1, 0.3, 1) 40ms
|
||
backwards;
|
||
}
|
||
|
||
/* Reference VinylPlayer structure, scaled from 440px to the 112px hero slot. */
|
||
.agent-gui-vinyl-player {
|
||
position: absolute;
|
||
top: 50%;
|
||
left: 50%;
|
||
z-index: 2;
|
||
width: 440px;
|
||
height: 440px;
|
||
overflow: visible;
|
||
border-radius: 40px;
|
||
background: transparent;
|
||
pointer-events: none;
|
||
transform: translate(-50%, -50%) scale(0.25);
|
||
transform-origin: center;
|
||
}
|
||
|
||
.agent-gui-vinyl-player__chassis {
|
||
position: absolute;
|
||
top: 12px;
|
||
left: 0;
|
||
z-index: 0;
|
||
width: 440px;
|
||
height: 416px;
|
||
object-fit: fill;
|
||
pointer-events: none;
|
||
}
|
||
|
||
/* "Beta" wordmark SVG tucked into the turntable's bottom-right corner, tilted
|
||
30° to the left. The player renders at 0.25 (root) × 0.8 (hero layer) = 0.2
|
||
on screen, so the artwork is counter-scaled to net a readable on-screen size;
|
||
position lengths stay in the 440px local space (× 0.2 on screen). */
|
||
.agent-gui-vinyl-player__beta {
|
||
position: absolute;
|
||
top: 380px;
|
||
left: 372px;
|
||
z-index: 3;
|
||
width: 113px;
|
||
height: auto;
|
||
pointer-events: none;
|
||
transform: translate(-50%, -50%) rotate(-30deg) scale(1.9);
|
||
transform-origin: center;
|
||
animation: agent-gui-vinyl-player-beta-slap 420ms
|
||
cubic-bezier(0.34, 1.56, 0.64, 1) both;
|
||
}
|
||
|
||
/* Sticker "slap": drops in oversized and transparent, then snaps down to size
|
||
with a slight overshoot so it lands like a decal being pressed on. Keep the
|
||
translate/rotate in every keyframe since transform is a single property. */
|
||
@keyframes agent-gui-vinyl-player-beta-slap {
|
||
0% {
|
||
opacity: 0;
|
||
transform: translate(-50%, -50%) rotate(-30deg) scale(4.2);
|
||
}
|
||
|
||
60% {
|
||
opacity: 1;
|
||
transform: translate(-50%, -50%) rotate(-30deg) scale(1.7);
|
||
}
|
||
|
||
100% {
|
||
opacity: 1;
|
||
transform: translate(-50%, -50%) rotate(-30deg) scale(1.9);
|
||
}
|
||
}
|
||
|
||
.agent-gui-vinyl-player__indicator {
|
||
position: absolute;
|
||
top: 32px;
|
||
left: 32px;
|
||
display: grid;
|
||
width: 26px;
|
||
height: 26px;
|
||
place-items: center;
|
||
border: 1px solid #c0c2c4;
|
||
border-radius: 50%;
|
||
background: #9ea0a3;
|
||
box-shadow:
|
||
0 2px 4px rgb(0 0 0 / 10%),
|
||
inset 0 1px 2px rgb(255 255 255 / 80%);
|
||
display: none;
|
||
}
|
||
|
||
.agent-gui-vinyl-player__indicator-light {
|
||
display: flex;
|
||
width: 20px;
|
||
height: 20px;
|
||
align-items: center;
|
||
justify-content: center;
|
||
gap: 2px;
|
||
border: 1px solid #384a3c;
|
||
border-radius: 50%;
|
||
background: #4b6652;
|
||
box-shadow: inset 0 2px 6px rgb(0 0 0 / 40%);
|
||
}
|
||
|
||
.agent-gui-vinyl-player__indicator-light--playing {
|
||
border-color: #86f0a6;
|
||
background: #5edb84;
|
||
box-shadow:
|
||
0 0 12px rgb(74 222 128 / 70%),
|
||
inset 0 1px 4px rgb(255 255 255 / 60%);
|
||
}
|
||
|
||
.agent-gui-vinyl-player__indicator-light > span {
|
||
width: 1px;
|
||
height: 8px;
|
||
background: rgb(255 255 255 / 80%);
|
||
}
|
||
|
||
.agent-gui-vinyl-player__platter {
|
||
position: absolute;
|
||
top: 29px;
|
||
left: 24px;
|
||
display: grid;
|
||
width: 370px;
|
||
height: 370px;
|
||
place-items: center;
|
||
border-radius: 50%;
|
||
background: transparent;
|
||
box-shadow: none;
|
||
}
|
||
|
||
.agent-gui-vinyl-player__platter-inner {
|
||
display: grid;
|
||
width: 340px;
|
||
height: 340px;
|
||
place-items: center;
|
||
border-radius: 50%;
|
||
background: transparent;
|
||
box-shadow: none;
|
||
}
|
||
|
||
.agent-gui-vinyl-player__record {
|
||
position: relative;
|
||
display: grid;
|
||
width: 326px;
|
||
height: 326px;
|
||
place-items: center;
|
||
overflow: hidden;
|
||
border-radius: 50%;
|
||
background:
|
||
repeating-radial-gradient(
|
||
circle at center,
|
||
rgb(255 255 255 / 9%) 0 2px,
|
||
rgb(0 0 0 / 0%) 2px 8px
|
||
),
|
||
#111;
|
||
box-shadow: 0 4px 15px rgb(0 0 0 / 60%);
|
||
animation: agent-gui-vinyl-player-record-spin 4s linear infinite paused;
|
||
}
|
||
|
||
.agent-gui-vinyl-player__record--playing {
|
||
animation-play-state: running;
|
||
}
|
||
|
||
@keyframes agent-gui-vinyl-player-record-spin {
|
||
to {
|
||
transform: rotate(360deg);
|
||
}
|
||
}
|
||
|
||
@media (prefers-reduced-motion: reduce) {
|
||
.agent-gui-vinyl-player__record {
|
||
animation: none;
|
||
}
|
||
}
|
||
|
||
.agent-gui-vinyl-player__groove,
|
||
.agent-gui-vinyl-player__reflection,
|
||
.agent-gui-vinyl-player__label,
|
||
.agent-gui-vinyl-player__hole {
|
||
position: absolute;
|
||
border-radius: 50%;
|
||
}
|
||
|
||
.agent-gui-vinyl-player__groove {
|
||
border: 2px solid rgb(255 255 255 / 12%);
|
||
}
|
||
|
||
.agent-gui-vinyl-player__reflection {
|
||
inset: 0;
|
||
background: conic-gradient(
|
||
from 0deg,
|
||
transparent 0deg,
|
||
rgb(255 255 255 / 15%) 45deg,
|
||
transparent 90deg,
|
||
transparent 180deg,
|
||
rgb(255 255 255 / 15%) 225deg,
|
||
transparent 270deg
|
||
);
|
||
mix-blend-mode: screen;
|
||
opacity: 0.35;
|
||
}
|
||
|
||
.agent-gui-vinyl-player__label {
|
||
display: grid;
|
||
width: 144px;
|
||
height: 144px;
|
||
place-items: center;
|
||
overflow: hidden;
|
||
background: #2a2a2a;
|
||
box-shadow: inset 0 0 12px rgb(0 0 0 / 60%);
|
||
}
|
||
|
||
.agent-gui-vinyl-player__label > img {
|
||
width: 100%;
|
||
height: 100%;
|
||
object-fit: cover;
|
||
}
|
||
|
||
.agent-gui-vinyl-player__tonearm {
|
||
position: absolute;
|
||
top: -20px;
|
||
right: 14px;
|
||
z-index: 4;
|
||
width: 140px;
|
||
height: 400px;
|
||
object-fit: contain;
|
||
pointer-events: none;
|
||
transform: rotate(15deg);
|
||
transform-origin: 50% 8%;
|
||
}
|
||
|
||
.agent-gui-vinyl-player__hole {
|
||
width: 12px;
|
||
height: 12px;
|
||
border: 0.5px solid #717171;
|
||
background: #e0e2e5;
|
||
box-shadow: inset 0 1px 4px rgb(0 0 0 / 80%);
|
||
}
|
||
|
||
.agent-gui-vinyl-player__power-control {
|
||
position: absolute;
|
||
bottom: 32px;
|
||
left: 32px;
|
||
display: none;
|
||
flex-direction: column;
|
||
align-items: center;
|
||
gap: 8px;
|
||
}
|
||
|
||
.agent-gui-vinyl-player__lever {
|
||
display: block;
|
||
width: 16px;
|
||
height: 44px;
|
||
border: 1px solid #111;
|
||
border-radius: 10px;
|
||
background: linear-gradient(90deg, #1a1a1a, #3a3a3a, #1a1a1a);
|
||
box-shadow: 4px 2px 8px rgb(0 0 0 / 40%);
|
||
transform-origin: bottom;
|
||
}
|
||
|
||
.agent-gui-vinyl-player__power-label {
|
||
color: #3f4144;
|
||
font-size: 10px;
|
||
font-weight: 700;
|
||
}
|
||
|
||
.agent-gui-vinyl-player__tone-control {
|
||
position: absolute;
|
||
right: 32px;
|
||
bottom: 32px;
|
||
display: none;
|
||
align-items: center;
|
||
gap: 12px;
|
||
color: #65676b;
|
||
font-size: 10px;
|
||
font-weight: 700;
|
||
}
|
||
|
||
.agent-gui-vinyl-player__tone-control > span:first-child {
|
||
width: 30px;
|
||
height: 52px;
|
||
border: 1px solid #a0a2a4;
|
||
border-radius: 6px;
|
||
background: linear-gradient(#b0b2b5, #ced0d3);
|
||
box-shadow: inset 0 2px 5px rgb(0 0 0 / 30%);
|
||
}
|
||
|
||
/* Match the WebGL carousel's historical BADGE_DIAMETER (0.36) and
|
||
BADGE_OFFSET (0.4): the selected DOM player must keep the same owner-marker
|
||
geometry as the records that move into and out of the center slot. */
|
||
.agent-gui-vinyl-player__owner-badge {
|
||
position: absolute;
|
||
right: -8%;
|
||
bottom: -8%;
|
||
z-index: 5;
|
||
box-sizing: border-box;
|
||
display: grid;
|
||
width: 36%;
|
||
aspect-ratio: 1;
|
||
place-items: center;
|
||
overflow: hidden;
|
||
border: 8px solid var(--background-fronted);
|
||
border-radius: 999px;
|
||
background: var(--background-fronted);
|
||
font-size: 18px;
|
||
line-height: 1;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-carousel:has(:focus-visible) {
|
||
border-radius: 12px;
|
||
box-shadow: 0 0 0 1.5px var(--tutti-purple);
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-carousel-canvas {
|
||
display: block;
|
||
width: 100%;
|
||
height: 100%;
|
||
opacity: 0;
|
||
transition: opacity 120ms ease-out;
|
||
|
||
/* Fade-out mask: the horizontal fade runs edge to edge so there is no dead
|
||
band beside the integer-aligned canvas buffer. The vertical band melts
|
||
tiles sinking down the wheel instead of clipping them at the bottom. */
|
||
mask-image:
|
||
linear-gradient(
|
||
90deg,
|
||
transparent 0%,
|
||
#000 20%,
|
||
#000 80%,
|
||
transparent 100%
|
||
),
|
||
linear-gradient(180deg, #000 0%, #000 70%, transparent 100%);
|
||
mask-composite: intersect;
|
||
mask-size: 100% 100%;
|
||
mask-position: center;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-carousel[data-icons-ready="true"]
|
||
> .agent-gui-node__empty-hero-carousel-canvas {
|
||
opacity: 1;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-carousel-item {
|
||
position: absolute;
|
||
overflow: hidden;
|
||
width: 1px;
|
||
height: 1px;
|
||
margin: -1px;
|
||
padding: 0;
|
||
border: 0;
|
||
clip-path: inset(50%);
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-title {
|
||
margin: 0;
|
||
text-align: center;
|
||
color: var(--text-primary);
|
||
font-size: 24px;
|
||
line-height: 1.3;
|
||
font-weight: 500;
|
||
animation: agent-gui-empty-hero-enter 280ms cubic-bezier(0.16, 1, 0.3, 1)
|
||
110ms backwards;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-provider {
|
||
font-family: Merriweather, Georgia, serif;
|
||
font-style: italic;
|
||
font-weight: 700;
|
||
}
|
||
|
||
.agent-gui-node__empty-provider-gate {
|
||
max-width: 520px;
|
||
gap: 8px;
|
||
}
|
||
|
||
/* Gate gap is 8px; add 16px so the icon-to-title spacing is 24px. */
|
||
.agent-gui-node__empty-provider-gate > .agent-gui-node__empty-hero-icon-effect,
|
||
.agent-gui-node__empty-provider-gate > .agent-gui-node__empty-hero-carousel,
|
||
.agent-gui-node__empty-provider-gate
|
||
> .agent-gui-node__empty-hero-carousel-placeholder {
|
||
margin-bottom: 16px;
|
||
}
|
||
|
||
/* Keep the gate's carousel the same width as the ready hero's so the ring
|
||
doesn't jump when selection lands on an unavailable agent. */
|
||
.agent-gui-node__empty-provider-gate > .agent-gui-node__empty-hero-carousel {
|
||
max-width: min(400px, 100%);
|
||
}
|
||
|
||
.agent-gui-node__empty-provider-gate-description {
|
||
max-width: 420px;
|
||
margin: 0;
|
||
text-align: center;
|
||
color: var(--text-secondary);
|
||
font-size: 14px;
|
||
line-height: 1.55;
|
||
animation: agent-gui-empty-hero-enter 280ms cubic-bezier(0.16, 1, 0.3, 1)
|
||
150ms backwards;
|
||
}
|
||
|
||
.agent-gui-node__empty-provider-gate-status {
|
||
min-height: 20px;
|
||
color: var(--text-secondary);
|
||
font-size: 13px;
|
||
line-height: 20px;
|
||
animation: agent-gui-empty-hero-enter 280ms cubic-bezier(0.16, 1, 0.3, 1)
|
||
170ms backwards;
|
||
}
|
||
|
||
.agent-gui-node__empty-provider-gate-action {
|
||
/* Container gap is 8px; add 16px so the description-to-button spacing is 24px. */
|
||
margin-top: 16px;
|
||
animation: agent-gui-empty-hero-enter 300ms cubic-bezier(0.16, 1, 0.3, 1)
|
||
190ms backwards;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-provider-select {
|
||
display: inline-flex;
|
||
width: auto;
|
||
min-width: 0;
|
||
height: auto;
|
||
min-height: 0;
|
||
vertical-align: baseline;
|
||
border: 0;
|
||
border-radius: 0;
|
||
background: transparent;
|
||
padding: 0;
|
||
color: inherit;
|
||
font: inherit;
|
||
gap: 0.08em;
|
||
line-height: inherit;
|
||
letter-spacing: inherit;
|
||
box-shadow: none;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-provider-select:hover,
|
||
.agent-gui-node__empty-hero-provider-select:focus,
|
||
.agent-gui-node__empty-hero-provider-select:focus-visible,
|
||
.agent-gui-node__empty-hero-provider-select[data-state="open"] {
|
||
background: transparent;
|
||
color: inherit;
|
||
box-shadow: none;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-provider-select > svg {
|
||
width: 20px;
|
||
height: 20px;
|
||
flex: 0 0 auto;
|
||
margin-top: 0.08em;
|
||
margin-left: 2px;
|
||
opacity: 0.72;
|
||
stroke-width: 3px;
|
||
}
|
||
|
||
.agent-gui-node__empty-provider-gate-action:disabled {
|
||
border-color: var(--line-2);
|
||
background: var(--fill-tertiary);
|
||
color: var(--text-disabled);
|
||
cursor: not-allowed;
|
||
opacity: 0.65;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-body > .agent-gui-node__composer-hero {
|
||
animation: agent-gui-empty-hero-enter 300ms cubic-bezier(0.16, 1, 0.3, 1)
|
||
180ms backwards;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-suggestions {
|
||
position: relative;
|
||
display: grid;
|
||
width: min(760px, 100%);
|
||
margin: 0 auto;
|
||
gap: 12px;
|
||
justify-items: stretch;
|
||
animation: agent-gui-empty-hero-enter 300ms cubic-bezier(0.16, 1, 0.3, 1)
|
||
240ms backwards;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-suggestions-chips {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
justify-content: center;
|
||
gap: 8px;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-suggestions-chip {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
gap: 6px;
|
||
border: 1px solid var(--line-2, var(--nexight-line-2));
|
||
border-radius: 999px;
|
||
background: transparent;
|
||
padding: 6px 14px;
|
||
color: var(--text-secondary);
|
||
font: inherit;
|
||
font-size: 11px;
|
||
line-height: 1.2;
|
||
cursor: pointer;
|
||
transition:
|
||
background 120ms ease,
|
||
border-color 120ms ease,
|
||
color 120ms ease;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-suggestions-chip:hover {
|
||
border-color: var(--line-1, var(--nexight-line-1));
|
||
background: var(--background-fronted);
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-suggestions-chip[aria-pressed="true"] {
|
||
border-color: var(--line-1, var(--nexight-line-1));
|
||
background: color-mix(in srgb, var(--text-tertiary) 12%, transparent);
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-suggestions-chip-icon {
|
||
width: 14px;
|
||
height: 14px;
|
||
flex: 0 0 auto;
|
||
opacity: 0.8;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-suggestions-card {
|
||
position: absolute;
|
||
top: 0;
|
||
right: 0;
|
||
left: 0;
|
||
z-index: 5;
|
||
display: grid;
|
||
gap: 2px;
|
||
border: 1px solid var(--line-2, var(--nexight-line-2));
|
||
border-radius: 16px;
|
||
background: var(--background-fronted);
|
||
padding: 8px;
|
||
box-shadow: 0 12px 32px -12px rgba(0, 0, 0, 0.28);
|
||
animation: agent-gui-empty-hero-enter 220ms cubic-bezier(0.16, 1, 0.3, 1)
|
||
backwards;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-suggestions-card-header {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
gap: 8px;
|
||
padding: 8px 10px 4px;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-suggestions-card-title {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
gap: 8px;
|
||
color: var(--text-tertiary);
|
||
font-size: 13px;
|
||
line-height: 1.2;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-suggestions-card-close {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
width: 24px;
|
||
height: 24px;
|
||
flex: 0 0 auto;
|
||
border: 0;
|
||
border-radius: 8px;
|
||
background: transparent;
|
||
padding: 0;
|
||
color: var(--text-tertiary);
|
||
cursor: pointer;
|
||
transition:
|
||
background 120ms ease,
|
||
color 120ms ease;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-suggestions-card-close:hover {
|
||
background: color-mix(in srgb, var(--text-tertiary) 10%, transparent);
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-suggestions-card-close > svg {
|
||
width: 16px;
|
||
height: 16px;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-suggestions-item {
|
||
display: flex;
|
||
align-items: center;
|
||
width: 100%;
|
||
height: 32px;
|
||
border: 0;
|
||
border-radius: 6px;
|
||
background: transparent;
|
||
padding: 0 14px;
|
||
color: var(--text-secondary);
|
||
font: inherit;
|
||
font-size: 13px;
|
||
line-height: 1.2;
|
||
text-align: left;
|
||
cursor: pointer;
|
||
transition:
|
||
background 120ms ease,
|
||
color 120ms ease;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-suggestions-item:hover {
|
||
background: color-mix(in srgb, var(--text-tertiary) 8%, transparent);
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
@container agent-gui-node (max-width: 900px) {
|
||
.agent-gui-node__empty-hero {
|
||
padding-right: 32px;
|
||
padding-left: 32px;
|
||
}
|
||
|
||
.agent-gui-node__empty-hero-body,
|
||
.agent-gui-node__empty-hero-body > .agent-gui-node__composer-hero,
|
||
.agent-gui-node__empty-hero-body > .agent-gui-node__empty-hero-suggestions {
|
||
width: 100%;
|
||
}
|
||
}
|
||
|
||
[data-workspace-node-window-kind="agentGui"][data-workspace-node-window-appearance="embedded"]
|
||
.agent-gui-node__empty-hero-icon-effect,
|
||
[data-workspace-node-window-kind="agentGui"][data-workspace-node-window-appearance="embedded"]
|
||
.agent-gui-node__empty-hero-carousel,
|
||
[data-workspace-node-window-kind="agentGui"][data-workspace-node-window-appearance="embedded"]
|
||
.agent-gui-node__empty-hero-title,
|
||
[data-workspace-node-window-kind="agentGui"][data-workspace-node-window-appearance="embedded"]
|
||
.agent-gui-node__empty-provider-gate-description,
|
||
[data-workspace-node-window-kind="agentGui"][data-workspace-node-window-appearance="embedded"]
|
||
.agent-gui-node__empty-provider-gate-status,
|
||
[data-workspace-node-window-kind="agentGui"][data-workspace-node-window-appearance="embedded"]
|
||
.agent-gui-node__empty-provider-gate-action,
|
||
[data-workspace-node-window-kind="agentGui"][data-workspace-node-window-appearance="embedded"]
|
||
.agent-gui-node__empty-hero-body
|
||
> .agent-gui-node__composer-hero,
|
||
[data-workspace-node-window-kind="agentGui"][data-workspace-node-window-appearance="embedded"]
|
||
.agent-gui-node__empty-hero-suggestions,
|
||
[data-workspace-node-window-kind="agentGui"][data-workspace-node-window-appearance="embedded"]
|
||
.agent-gui-node__empty-hero-suggestions-card {
|
||
animation: none;
|
||
}
|
||
|
||
@keyframes agent-gui-empty-hero-enter {
|
||
from {
|
||
opacity: 0;
|
||
transform: translate3d(0, 18px, 0);
|
||
}
|
||
|
||
to {
|
||
opacity: 1;
|
||
transform: translate3d(0, 0, 0);
|
||
}
|
||
}
|
||
|
||
@keyframes agent-gui-star-border-path {
|
||
0% {
|
||
opacity: 0;
|
||
offset-distance: 0%;
|
||
}
|
||
|
||
5% {
|
||
opacity: 1;
|
||
}
|
||
|
||
20% {
|
||
opacity: 1;
|
||
}
|
||
|
||
27% {
|
||
opacity: 0;
|
||
}
|
||
|
||
30% {
|
||
opacity: 0;
|
||
offset-distance: 30%;
|
||
}
|
||
|
||
34% {
|
||
opacity: 1;
|
||
}
|
||
|
||
46% {
|
||
opacity: 1;
|
||
}
|
||
|
||
50% {
|
||
opacity: 0;
|
||
offset-distance: 50%;
|
||
}
|
||
|
||
55% {
|
||
opacity: 1;
|
||
}
|
||
|
||
70% {
|
||
opacity: 1;
|
||
}
|
||
|
||
77% {
|
||
opacity: 0;
|
||
}
|
||
|
||
80% {
|
||
opacity: 0;
|
||
offset-distance: 80%;
|
||
}
|
||
|
||
84% {
|
||
opacity: 1;
|
||
}
|
||
|
||
96% {
|
||
opacity: 1;
|
||
}
|
||
|
||
100% {
|
||
opacity: 0;
|
||
offset-distance: 100%;
|
||
}
|
||
}
|
||
|
||
@media (prefers-reduced-motion: reduce) {
|
||
.agent-gui-edge-glow::before,
|
||
.agent-gui-edge-glow::after,
|
||
.agent-gui-node__composer-input-group[data-edge-glow="true"]::before,
|
||
.agent-gui-node__composer-input-group[data-edge-glow="true"]::after {
|
||
animation: none;
|
||
opacity: 0.62;
|
||
}
|
||
}
|
||
|
||
.desktop-dock-popup__agent-info {
|
||
position: relative;
|
||
z-index: 2;
|
||
display: inline-flex;
|
||
flex: 0 0 auto;
|
||
align-items: center;
|
||
justify-content: center;
|
||
width: 26px;
|
||
height: 26px;
|
||
border-radius: 6px;
|
||
color: var(--text-tertiary);
|
||
cursor: default;
|
||
outline: none;
|
||
transition:
|
||
background-color 140ms ease,
|
||
color 140ms ease;
|
||
}
|
||
|
||
.desktop-dock-popup__agent-info:hover,
|
||
.desktop-dock-popup__agent-info:focus-visible {
|
||
color: var(--text-secondary);
|
||
background: var(--transparency-block);
|
||
}
|
||
|
||
.desktop-dock-popup__agent-info-popover {
|
||
position: absolute;
|
||
top: calc(100% + 8px);
|
||
right: 0;
|
||
z-index: 3;
|
||
box-sizing: border-box;
|
||
width: min(280px, calc(100vw - 48px));
|
||
min-width: 220px;
|
||
max-width: calc(100vw - 48px);
|
||
padding: 10px 12px;
|
||
border: 1px solid var(--line-2, var(--tutti-line-2));
|
||
border-radius: 8px;
|
||
background: var(--background-fronted);
|
||
box-shadow: 0 12px 32px rgb(0 0 0 / 0.16);
|
||
opacity: 0;
|
||
pointer-events: none;
|
||
transform: translateY(-4px);
|
||
transition:
|
||
opacity 140ms ease,
|
||
transform 140ms ease;
|
||
}
|
||
|
||
.desktop-dock-popup__agent-info-popover--portal {
|
||
position: fixed;
|
||
z-index: 1000000;
|
||
opacity: 1;
|
||
pointer-events: auto;
|
||
transform: translateY(0);
|
||
transform-origin: top center;
|
||
animation: desktop-dock-agent-info-popover-enter 160ms
|
||
cubic-bezier(0.16, 1, 0.3, 1) both;
|
||
}
|
||
|
||
.desktop-dock-popup__agent-info:hover .desktop-dock-popup__agent-info-popover,
|
||
.desktop-dock-popup__agent-info:focus-visible
|
||
.desktop-dock-popup__agent-info-popover,
|
||
.desktop-dock-popup__agent-info:focus-within
|
||
.desktop-dock-popup__agent-info-popover {
|
||
opacity: 1;
|
||
pointer-events: auto;
|
||
transform: translateY(0);
|
||
}
|
||
|
||
@keyframes desktop-dock-agent-info-popover-enter {
|
||
from {
|
||
opacity: 0;
|
||
transform: translateY(-4px) scale(0.98);
|
||
}
|
||
|
||
to {
|
||
opacity: 1;
|
||
transform: translateY(0) scale(1);
|
||
}
|
||
}
|
||
|
||
@media (prefers-reduced-motion: reduce) {
|
||
.desktop-dock-popup__agent-info-popover--portal {
|
||
animation: none;
|
||
}
|
||
}
|
||
|
||
.desktop-dock-popup__agent-info-list {
|
||
display: grid;
|
||
gap: 8px;
|
||
margin: 0;
|
||
padding: 0;
|
||
list-style: none;
|
||
}
|
||
|
||
.desktop-dock-popup__agent-info-item {
|
||
display: grid;
|
||
grid-template-columns: max-content minmax(0, 1fr);
|
||
gap: 16px;
|
||
align-items: baseline;
|
||
color: var(--text-primary);
|
||
font-size: 12.5px;
|
||
line-height: 1.45;
|
||
white-space: normal;
|
||
}
|
||
|
||
.desktop-dock-popup__agent-info-item[data-has-label="false"] {
|
||
grid-template-columns: minmax(0, 1fr);
|
||
gap: 0;
|
||
}
|
||
|
||
.desktop-dock-popup__agent-info-label {
|
||
color: var(--text-secondary);
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.desktop-dock-popup__agent-info-value {
|
||
display: block;
|
||
overflow: hidden;
|
||
min-width: 0;
|
||
color: var(--text-primary);
|
||
text-align: right;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
.desktop-dock-popup__agent-info-item[data-has-label="false"]
|
||
.desktop-dock-popup__agent-info-value {
|
||
text-align: left;
|
||
}
|
||
|
||
.desktop-dock-popup__agent-status-secondary {
|
||
color: var(--text-tertiary);
|
||
}
|
||
|
||
.workspace-node-window__title:has(.desktop-dock-popup__agent-info) {
|
||
overflow: visible;
|
||
}
|
||
|
||
.workspace-agents-status-panel__activity-footer {
|
||
width: 100%;
|
||
margin-top: 4px;
|
||
}
|
||
|
||
[data-workspace-app-icon="true"] {
|
||
display: inline-grid;
|
||
min-width: 0;
|
||
min-height: 0;
|
||
place-items: center;
|
||
overflow: hidden;
|
||
border-radius: 22.5%;
|
||
background: var(--workspace-app-icon-bg, transparent);
|
||
}
|
||
|
||
[data-workspace-app-icon="true"] > img {
|
||
display: block;
|
||
width: 100%;
|
||
height: 100%;
|
||
object-fit: cover;
|
||
object-position: center;
|
||
}
|
||
|
||
[data-workspace-app-icon="true"] > .tsh-agent-object-token__kind-icon {
|
||
display: block;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-subagent-log {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 2px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-subagent-log-entry {
|
||
color: var(--tutti-text-muted, rgba(0, 0, 0, 0.55));
|
||
font-size: 12px;
|
||
line-height: 1.5;
|
||
white-space: pre-wrap;
|
||
word-break: break-word;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-subagent-log-entry--latest {
|
||
color: var(--tutti-text-primary, rgba(0, 0, 0, 0.85));
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-subagent-log-entry--tool {
|
||
font-family: var(--tutti-font-mono, ui-monospace, monospace);
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-subagent-log-entry--failure {
|
||
color: var(--tutti-status-danger, #c0392b);
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-subagent-log-omitted {
|
||
color: var(--tutti-text-muted, rgba(0, 0, 0, 0.45));
|
||
font-size: 11px;
|
||
font-style: italic;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-subagent-activity--failure {
|
||
color: var(--tutti-status-danger, #c0392b);
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-subagent-name {
|
||
color: var(--text-secondary);
|
||
margin-left: 4px;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-tool-row--subagent
|
||
.workspace-agents-status-panel__detail-subagent-status {
|
||
display: inline-block;
|
||
width: 8px;
|
||
height: 8px;
|
||
border-radius: 50%;
|
||
}
|
||
|
||
/* Sub-agent body indents like an expanded tool (24px under the icon column) */
|
||
.workspace-agents-status-panel__detail-subagent-reveal {
|
||
box-sizing: border-box;
|
||
padding-left: 24px;
|
||
}
|
||
|
||
/* Bash-block-style sub-agent body: task strip on top, progress below */
|
||
.workspace-agents-status-panel__detail-subagent-terminal {
|
||
overflow: hidden;
|
||
border: 1px solid var(--line-2);
|
||
border-radius: 8px;
|
||
background: var(--background-panel);
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-subagent-task-strip {
|
||
padding: 8px 12px;
|
||
border-bottom: 1px solid var(--line-2);
|
||
color: var(--text-secondary);
|
||
font-size: 11px;
|
||
line-height: 1.5;
|
||
white-space: pre-wrap;
|
||
overflow-wrap: anywhere;
|
||
}
|
||
|
||
.workspace-agents-status-panel__detail-subagent-activity--in-terminal {
|
||
padding: 8px 12px;
|
||
font-size: 11px;
|
||
line-height: 1.5;
|
||
}
|
||
|
||
/* Fully occluded Workbench nodes stay mounted for instant switching, but their
|
||
animations must not keep repainting pixels that cannot reach the screen.
|
||
Partial exposure removes this rule, even when another window owns focus. */
|
||
.agent-gui-node__layout[data-agent-gui-visible="false"]
|
||
:where(*, *::before, *::after) {
|
||
animation-play-state: paused !important;
|
||
}
|
||
|
||
/* Occlusion is geometric, not focus-based. Fully covered Workbench bodies keep
|
||
their DOM state but stop producing tiles; partially exposed bodies remain
|
||
painted in full so moving the covering window never reveals a black region. */
|
||
.agent-gui-node__layout[data-agent-gui-visible="false"] {
|
||
content-visibility: hidden;
|
||
}
|