.openagent-view { --oa-space-1: 4px; --oa-space-2: 8px; --oa-space-3: 12px; --oa-space-4: 16px; --oa-space-5: 20px; --oa-radius-sm: 8px; --oa-radius-md: 12px; --oa-radius-lg: 16px; --oa-border: color-mix(in srgb, var(--background-modifier-border) 78%, transparent); --oa-border-soft: color-mix(in srgb, var(--background-modifier-border) 52%, transparent); --oa-surface: color-mix(in srgb, var(--background-secondary) 84%, transparent); --oa-surface-strong: color-mix(in srgb, var(--background-secondary) 94%, var(--background-primary)); --oa-surface-hover: color-mix(in srgb, var(--background-modifier-hover) 76%, transparent); --oa-accent-soft: color-mix(in srgb, var(--interactive-accent) 12%, transparent); --oa-panel-gutter: 0px; height: 100%; padding: 0; display: flex; flex-direction: column; overflow: hidden; background: var(--background-primary); } .openagent-view .oa-panel-scroll, .openagent-view .oa-panel-scroll *, .openagent-view button, .openagent-view .clickable-icon { -webkit-user-select: none; user-select: none; } .openagent-view input, .openagent-view textarea { -webkit-user-select: text; user-select: text; } .oa-voice-graph-view { height: 100%; min-height: 0; display: flex; flex-direction: column; overflow: hidden; background: var(--background-primary); } .oa-voice-graph-toolbar { flex: 0 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 8px 12px; border-bottom: 1px solid color-mix(in srgb, var(--background-modifier-border) 62%, transparent); background: color-mix(in srgb, var(--background-primary) 96%, transparent); backdrop-filter: blur(12px); } .oa-voice-graph-title { display: flex; flex-direction: column; gap: 2px; min-width: 0; } .oa-voice-graph-title span { color: var(--text-normal); font-size: 0.9rem; font-weight: 600; line-height: 1.2; } .oa-voice-graph-title small { color: var(--text-muted); font-size: 0.76rem; line-height: 1.25; } .oa-voice-graph-controls { display: flex; align-items: center; justify-content: flex-end; gap: 6px; min-width: 0; } .oa-voice-graph-icon-button { width: 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; border: 1px solid color-mix(in srgb, var(--background-modifier-border) 62%, transparent); background: transparent; color: var(--text-muted); } .oa-voice-graph-icon-button:hover { color: var(--text-normal); background: var(--background-modifier-hover); } .oa-voice-graph-slider { display: grid; grid-template-columns: auto 112px; align-items: center; gap: 8px; margin-left: 4px; color: var(--text-muted); font-size: 0.75rem; white-space: nowrap; } .oa-voice-graph-slider input { width: 112px; } .oa-voice-graph-stage { position: relative; flex: 1 1 auto; min-height: 0; overflow: hidden; } .oa-voice-graph-canvas { width: 100%; height: 100%; display: block; touch-action: none; cursor: grab; } .oa-voice-graph-hud { position: absolute; left: 12px; bottom: 12px; display: flex; flex-wrap: wrap; gap: 6px; max-width: calc(100% - 24px); pointer-events: none; } .oa-voice-graph-dictation { position: absolute; right: 12px; bottom: 12px; width: min(360px, calc(100% - 24px)); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; align-items: end; } .oa-voice-graph-dictation textarea { width: 100%; min-height: 48px; max-height: 120px; resize: vertical; border: 1px solid color-mix(in srgb, var(--background-modifier-border) 52%, transparent); border-radius: 8px; padding: 7px 8px; background: color-mix(in srgb, var(--background-primary) 88%, transparent); color: var(--text-normal); font-size: 0.78rem; line-height: 1.35; backdrop-filter: blur(10px); } .oa-voice-graph-dictation textarea:focus { outline: none; border-color: color-mix(in srgb, var(--text-muted) 58%, var(--background-modifier-border)); } .oa-voice-graph-dictation button { height: 30px; min-height: 30px; padding: 0 10px; border: 1px solid color-mix(in srgb, var(--background-modifier-border) 55%, transparent); border-radius: 8px; background: color-mix(in srgb, var(--background-secondary) 84%, transparent); color: var(--text-normal); font-size: 0.76rem; } .oa-voice-graph-dictation button:disabled { opacity: 0.45; } .oa-voice-graph-hud span { padding: 4px 7px; border: 1px solid color-mix(in srgb, var(--background-modifier-border) 46%, transparent); border-radius: 8px; background: color-mix(in srgb, var(--background-primary) 82%, transparent); color: var(--text-muted); font-size: 0.7rem; line-height: 1.2; backdrop-filter: blur(10px); } @media (max-width: 680px) { .oa-voice-graph-toolbar { grid-template-columns: 1fr; } .oa-voice-graph-controls { justify-content: flex-start; flex-wrap: wrap; } .oa-voice-graph-slider { width: 100%; grid-template-columns: auto minmax(96px, 1fr); } .oa-voice-graph-slider input { width: 100%; } .oa-voice-graph-dictation { left: 12px; right: 12px; bottom: 42px; width: auto; } } .openagent-view .oa-message-text, .openagent-view .oa-message-text * { -webkit-user-select: text; user-select: text; } .oa-panel-scroll { flex: 1 1 auto; min-height: 0; padding: 0; overflow-y: auto; } .oa-panel-scroll > * + * { margin-top: var(--oa-space-3); } .oa-header-top { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 6px; } .oa-brand { display: flex; align-items: center; gap: 6px; min-width: 0; } .oa-brand-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; } .oa-brand-title-row { display: flex; align-items: center; gap: 6px; min-width: 0; } .oa-brand-text h2 { margin: 0; font-size: 1rem; font-weight: 600; line-height: 1.2; } .oa-daemon-online-dot { width: 8px; height: 8px; border-radius: 999px; background: var(--color-green); box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-green) 16%, transparent); flex: 0 0 auto; } .oa-brand-subtitle { color: var(--text-muted); font-size: 0.8rem; line-height: 1.35; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .oa-logo { width: 32px; height: 32px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; background: var(--oa-surface); border: 1px solid var(--oa-border-soft); flex: 0 0 auto; } .oa-logo-mark { color: var(--text-muted); font-size: 0.92rem; font-weight: 700; letter-spacing: 0; } .oa-logo-image { width: 24px; height: 24px; object-fit: contain; display: block; } .oa-header, .oa-task-section { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; } .oa-header { position: sticky; top: 0; z-index: 5; margin: 0 calc(var(--oa-panel-gutter) * -1); padding: 10px var(--oa-panel-gutter) 8px; border-bottom: 1px solid var(--oa-border-soft); background: color-mix(in srgb, var(--background-primary) 92%, transparent); backdrop-filter: blur(18px); } .oa-detail-section, .oa-settings-body { display: flex; flex-direction: column; gap: var(--oa-space-3); } .oa-detail-section { padding: 10px 0 8px; } .oa-messages-section { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--oa-border-soft); } .oa-detail-section.is-empty-state { display: flex; flex-direction: column; gap: 10px; padding-top: 0; padding-bottom: 0; } .oa-detail-section.is-empty-state .oa-action-row { margin-top: 0; } .oa-message-pagination { display: flex; flex-direction: column; gap: 6px; margin-bottom: 10px; } .oa-message-pagination-summary { color: var(--text-muted); font-size: 0.78rem; line-height: 1.4; } .oa-message-pagination-actions { margin-top: 0; } .oa-composer-section { flex: 0 0 auto; margin: 0; padding: 12px 0 6px; border-top: 1px solid var(--oa-border); background: color-mix(in srgb, var(--background-primary) 90%, transparent); backdrop-filter: blur(18px); box-shadow: none; } .oa-action-row.oa-header-actions { display: flex; justify-content: flex-end; gap: 4px; margin-top: 0; width: auto; } .oa-action-row.oa-header-actions button { padding: 5px 10px; border-radius: 999px; background: color-mix(in srgb, var(--background-secondary) 74%, transparent); font-size: 0.78rem; line-height: 1.2; white-space: nowrap; } .oa-action-row { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; } .oa-action-row button { border-radius: var(--oa-radius-sm); padding: 7px 11px; min-width: 0; min-height: auto; background: var(--oa-surface); border: 1px solid var(--oa-border-soft); box-shadow: none; color: var(--text-normal); overflow: hidden; text-overflow: ellipsis; } .oa-action-row button:hover:not(:disabled) { background: var(--oa-surface-hover); color: var(--text-normal); } .oa-action-row button:disabled { opacity: 0.45; } .oa-settings-body { min-width: 0; } .oa-settings-page-content { display: flex; flex-direction: column; gap: 12px; } .oa-panel-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; } .oa-panel-tab { appearance: none; min-width: 0; padding: 6px 8px; border: 1px solid var(--oa-border-soft); border-radius: var(--oa-radius-sm); background: transparent; color: var(--text-muted); cursor: pointer; font: inherit; font-size: 0.78rem; line-height: 1.2; text-align: center; box-shadow: none; } .oa-panel-tab:hover { color: var(--text-normal); border-color: var(--oa-border); } .oa-panel-tab.is-active { color: var(--text-normal); border-color: color-mix(in srgb, var(--interactive-accent) 30%, var(--oa-border-soft)); background: color-mix(in srgb, var(--interactive-accent) 8%, transparent); } .openagent-view .oa-panel-tab, .openagent-view .oa-panel-tab:hover, .openagent-view .oa-panel-tab:focus, .openagent-view .oa-panel-tab:focus-visible, .openagent-view .oa-panel-tab:active, .openagent-view .oa-settings-inline-tab, .openagent-view .oa-settings-inline-tab:hover, .openagent-view .oa-settings-inline-tab:focus, .openagent-view .oa-settings-inline-tab:focus-visible, .openagent-view .oa-settings-inline-tab:active { box-shadow: none !important; } .oa-task-list, .oa-message-list, .oa-workspace-list { display: flex; flex-direction: column; gap: 8px; } .oa-task-list-date-heading { margin: 14px 0 2px; color: var(--text-muted); font-size: 0.72rem; font-weight: 600; line-height: 1.45; letter-spacing: 0.01em; text-transform: none; } .oa-task-list-date-heading:first-child { margin-top: 2px; } .oa-task-item, .oa-message, .oa-workspace-item { border: 1px solid var(--oa-border-soft); border-radius: var(--oa-radius-md); padding: 11px 12px; background: var(--oa-surface-strong); min-width: 0; } .oa-group-context-card { gap: 8px; } .oa-group-context-list { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; } .oa-group-context-item { border: 1px solid var(--oa-border-soft); border-radius: var(--oa-radius-sm); padding: 8px 10px; background: color-mix(in srgb, var(--background-primary) 58%, transparent); } .oa-group-context-label { color: var(--text-muted); font-size: 0.74rem; line-height: 1.35; margin-bottom: 2px; } .oa-group-context-value { color: var(--text-normal); font-size: 0.82rem; line-height: 1.45; overflow-wrap: anywhere; } .oa-task-item { cursor: pointer; transition: border-color 120ms ease, background-color 120ms ease; } .oa-task-item:hover { border-color: color-mix(in srgb, var(--background-modifier-border-hover) 70%, transparent); background: var(--oa-surface-hover); } .oa-task-item.is-active { border-color: color-mix(in srgb, var(--interactive-accent) 30%, var(--oa-border-soft)); background: var(--oa-accent-soft); } .oa-thread-list-item { padding: 10px 12px; background: color-mix(in srgb, var(--background-primary) 76%, var(--background-secondary)); } .oa-thread-list-item:hover { border-color: color-mix(in srgb, var(--background-modifier-border-hover) 72%, transparent); background: color-mix(in srgb, var(--background-modifier-hover) 72%, var(--background-primary)); } .oa-thread-list-item.is-active { border-color: color-mix(in srgb, var(--interactive-accent) 30%, var(--oa-border-soft)); background: color-mix(in srgb, var(--interactive-accent) 10%, var(--background-primary)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--interactive-accent) 12%, transparent); } .oa-thread-list-item.is-running, .oa-thread-list-item.is-running:hover, .oa-thread-list-item.is-running.is-active { border-color: color-mix(in srgb, var(--color-yellow) 56%, var(--oa-border-soft)); background: color-mix(in srgb, var(--color-yellow) 13%, var(--background-primary)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-yellow) 18%, transparent); } .oa-thread-list-main { min-width: 0; display: flex; flex-direction: column; gap: 2px; } .oa-thread-list-title { font-size: 0.84rem; font-weight: 600; line-height: 1.35; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .oa-thread-list-meta { color: var(--text-faint); font-size: 0.72rem; line-height: 1.35; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .oa-thread-list-arrow { appearance: none; flex: 0 0 auto; color: var(--text-faint); width: 20px; height: 20px; border: 1px solid var(--oa-border-soft); border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--background-secondary) 72%, transparent); cursor: pointer; padding: 0; box-shadow: none; font: inherit; font-size: 0.8rem; line-height: 1; } .oa-thread-list-arrow:hover { color: var(--text-normal); border-color: var(--oa-border); } .openagent-view .oa-thread-list-arrow, .openagent-view .oa-thread-list-arrow:hover, .openagent-view .oa-thread-list-arrow:focus, .openagent-view .oa-thread-list-arrow:focus-visible, .openagent-view .oa-thread-list-arrow:active { box-shadow: none !important; } .oa-thread-list-unread-dot { flex: 0 0 auto; width: 10px; height: 10px; margin-top: 4px; border-radius: 999px; background: #8b5cf6; box-shadow: 0 0 0 4px color-mix(in srgb, #8b5cf6 16%, transparent); } .oa-task-title, .oa-detail-title { font-weight: 600; } .oa-conversation-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--oa-border-soft); min-width: 0; } .oa-task-item-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; min-width: 0; } .oa-detail-title { font-size: 0.98rem; line-height: 1.35; overflow-wrap: anywhere; min-width: 0; } .oa-status-tag { flex: 0 0 auto; max-width: 38%; padding: 3px 8px; border: 1px solid var(--oa-border-soft); border-radius: var(--oa-radius-sm); background: var(--oa-surface); color: var(--text-muted); font-size: 0.72rem; line-height: 1.35; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .oa-status-tag.is-running { border-color: color-mix(in srgb, var(--color-yellow) 42%, transparent); background: color-mix(in srgb, var(--color-yellow) 14%, transparent); color: var(--text-normal); } .oa-status-tag.is-online { border-color: color-mix(in srgb, var(--color-green) 42%, transparent); background: color-mix(in srgb, var(--color-green) 14%, transparent); color: var(--text-normal); } .oa-status-tag.is-offline { border-color: color-mix(in srgb, var(--color-red) 42%, transparent); background: color-mix(in srgb, var(--color-red) 12%, transparent); color: var(--text-normal); } .oa-status-tag.is-checking { border-color: color-mix(in srgb, var(--interactive-accent) 36%, transparent); background: color-mix(in srgb, var(--interactive-accent) 10%, transparent); color: var(--text-normal); } .oa-task-meta, .oa-message-label, .oa-muted { color: var(--text-muted); font-size: 0.8rem; line-height: 1.45; overflow-wrap: anywhere; } .oa-task-section > h3, .oa-detail-section > h3, .oa-settings-section > h3, .oa-messages-section > h4 { margin: 0 0 8px; color: var(--text-muted); font-size: 0.78rem; font-weight: 500; letter-spacing: 0; text-transform: none; } .oa-role-user { border-color: color-mix(in srgb, var(--interactive-accent) 28%, var(--oa-border-soft)); background: color-mix(in srgb, var(--interactive-accent) 8%, var(--background-primary)); } .oa-role-assistant { background: var(--oa-surface-strong); } .oa-role-system { background: color-mix(in srgb, var(--background-secondary) 68%, transparent); } .oa-message-text { white-space: pre-wrap; word-break: break-word; line-height: 1.5; } .oa-message-text.is-hidden { display: none; } .oa-message-label + .oa-message-text, .oa-task-title + .oa-task-meta { margin-top: 4px; } .oa-message-tool { border: 0; padding: 8px 10px; background: transparent; box-shadow: none; } .oa-chat-message { border: 0; border-radius: 0; padding: 0; background: transparent; box-shadow: none; } .oa-chat-message.oa-role-user, .oa-chat-message.oa-role-assistant, .oa-chat-message.oa-role-system { border: 0; background: transparent; box-shadow: none; } .oa-chat-message.oa-role-user { align-self: flex-end; width: fit-content; max-width: min(78%, 42rem); padding: 10px 12px 10px 14px; border: 1px solid color-mix(in srgb, var(--interactive-accent) 18%, var(--oa-border-soft)); border-radius: var(--oa-radius-md); background: color-mix(in srgb, var(--interactive-accent) 7%, var(--background-primary)); } .oa-selection-message { width: min(78%, 42rem); } .oa-selection-image-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; margin-top: 6px; } .oa-selection-image-card { display: flex; flex-direction: column; gap: 6px; } .oa-selection-image { display: block; width: 100%; max-height: 220px; object-fit: contain; border-radius: 12px; border: 1px solid color-mix(in srgb, var(--interactive-accent) 12%, var(--oa-border-soft)); background: color-mix(in srgb, var(--background-secondary) 72%, transparent); } .oa-selection-image-fallback { display: flex; align-items: center; justify-content: center; min-height: 120px; border-radius: 12px; border: 1px dashed var(--oa-border-soft); color: var(--text-muted); font-size: 0.76rem; text-align: center; padding: 12px; } .oa-selection-image-caption { color: var(--text-muted); font-size: 0.72rem; line-height: 1.4; overflow-wrap: anywhere; } .oa-chat-message.oa-message-tool, .oa-chat-message.oa-message-tool.oa-role-user, .oa-chat-message.oa-message-tool.oa-role-assistant, .oa-chat-message.oa-message-tool.oa-role-system { border: 0; background: transparent; box-shadow: none; } .oa-message-toggle { appearance: none; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; width: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: inherit; text-align: left; cursor: pointer; min-height: 0; } .oa-chat-message.oa-message-tool .oa-message-toggle, .oa-chat-message.oa-message-tool .oa-message-toggle:hover, .oa-chat-message.oa-message-tool .oa-message-toggle:focus, .oa-chat-message.oa-message-tool .oa-message-toggle:focus-visible, .oa-chat-message.oa-message-tool .oa-message-toggle:active { border: 0 !important; outline: 0; background: transparent !important; box-shadow: none !important; } .oa-message-toggle:hover .oa-message-preview { color: var(--text-normal); } .oa-message-toggle-text { min-width: 0; } .oa-message-preview { margin-top: 2px; color: var(--text-muted); font-size: 0.8rem; line-height: 1.4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .oa-message-toggle-icon { width: 20px; height: 20px; border: 0; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: transparent; box-shadow: none; color: var(--text-muted); font-size: 0.85rem; line-height: 1; flex: 0 0 auto; } .oa-message-tool.is-expanded .oa-message-text { margin-top: 8px; padding-top: 8px; border-top: 0; } .oa-banner { border-radius: 8px; padding: 9px 11px; margin: 0; border: 1px solid var(--oa-border-soft); line-height: 1.45; overflow-wrap: anywhere; } .oa-banner-error { background: color-mix(in srgb, var(--color-red) 9%, transparent); border-color: color-mix(in srgb, var(--color-red) 24%, transparent); } .oa-banner-warning { background: color-mix(in srgb, var(--color-orange) 9%, transparent); border-color: color-mix(in srgb, var(--color-orange) 24%, transparent); } .oa-workspace-section { margin-top: 16px; } .oa-workspace-modal h2 { margin-bottom: 4px; } .oa-workspace-modal-subtitle { color: var(--text-muted); font-size: 0.88rem; line-height: 1.45; margin-bottom: 18px; max-width: 560px; } .oa-workspace-modal .oa-workspace-section > h3, .oa-workspace-create-panel > h3 { margin: 0 0 10px; color: var(--text-muted); font-size: 0.82rem; font-weight: 600; letter-spacing: 0; } .oa-workspace-modal .oa-workspace-list { gap: 8px; } .oa-workspace-modal .oa-workspace-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px; background: color-mix(in srgb, var(--background-primary) 62%, var(--background-secondary)); } .oa-workspace-item-main { min-width: 0; } .oa-workspace-open-button { min-width: 70px; } .oa-workspace-create-panel { padding-top: 16px; border-top: 1px solid var(--oa-border-soft); } .oa-settings-section, .oa-settings-card { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; } .oa-workspace-settings-section { background: transparent; } .oa-settings-section-block { display: flex; flex-direction: column; gap: 10px; } .oa-settings-section-block + .oa-settings-section-block { padding-top: 14px; border-top: 1px solid var(--oa-border-soft); } .oa-settings-section-header { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; min-width: 0; } .oa-settings-section-title { margin: 0; color: var(--text-normal); font-size: 0.9rem; font-weight: 650; line-height: 1.25; } .oa-settings-inline-tabs { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; flex-wrap: wrap; width: 100%; } .oa-settings-inline-tab { appearance: none; padding: 5px 9px; border: 1px solid var(--oa-border-soft); border-radius: 999px; background: color-mix(in srgb, var(--background-primary) 82%, transparent); color: var(--text-muted); cursor: pointer; font: inherit; font-size: 0.78rem; line-height: 1.2; box-shadow: none; flex: 1 1 78px; text-align: center; } .oa-settings-inline-tab:hover { color: var(--text-normal); border-color: var(--oa-border); } .oa-settings-inline-tab.is-active { color: var(--text-normal); border-color: color-mix(in srgb, var(--interactive-accent) 28%, var(--oa-border-soft)); } .oa-thread-filter-shell { width: auto; flex: 0 0 auto; } .oa-thread-filter-select { appearance: none; width: 18px; min-height: 0; padding: 0; border: 0; border-radius: 0; background: linear-gradient(45deg, transparent 50%, var(--text-muted) 50%) 4px 55% / 5px 5px no-repeat, linear-gradient(135deg, var(--text-muted) 50%, transparent 50%) 9px 55% / 5px 5px no-repeat; color: transparent; cursor: pointer; font: inherit; font-size: 0.84rem; font-weight: 500; line-height: 1.25; box-shadow: none; } .oa-thread-filter-select:hover, .oa-thread-filter-select:focus, .oa-thread-filter-select:focus-visible { color: transparent; box-shadow: none; outline: none; } .oa-thread-filter-select option { color: var(--text-normal); } .oa-thread-filter-header { flex-direction: row; align-items: center; justify-content: flex-start; gap: 10px; } .oa-thread-filter-header .oa-settings-section-title { flex: 0 0 auto; min-width: 0; } .oa-workspace-overview { padding: 12px; border: 1px solid var(--oa-border-soft); border-radius: 14px; background: transparent; box-shadow: none; } .oa-workspace-overview.is-ready { border-color: color-mix(in srgb, var(--interactive-accent) 24%, var(--oa-border-soft)); } .oa-workspace-overview.is-empty { border-color: color-mix(in srgb, var(--color-orange) 28%, var(--oa-border-soft)); } .oa-workspace-overview-top { display: flex; flex-direction: column; gap: 6px; min-width: 0; } .oa-workspace-status { align-self: flex-start; padding: 2px 7px; border: 1px solid var(--oa-border-soft); border-radius: var(--oa-radius-sm); color: var(--text-muted); font-size: 0.72rem; font-weight: 600; line-height: 1.35; } .oa-workspace-overview.is-ready .oa-workspace-status { border-color: color-mix(in srgb, var(--interactive-accent) 26%, transparent); background: transparent; color: var(--text-normal); } .oa-workspace-overview.is-empty .oa-workspace-status { border-color: color-mix(in srgb, var(--color-orange) 28%, transparent); background: transparent; color: var(--text-normal); } .oa-workspace-name { color: var(--text-normal); font-size: 1.02rem; font-weight: 650; line-height: 1.3; overflow-wrap: anywhere; } .oa-workspace-detail-grid { display: grid; gap: 8px; margin-top: 12px; } .oa-workspace-detail { min-width: 0; padding-top: 8px; border-top: 1px solid var(--oa-border-soft); } .oa-workspace-detail-label { color: var(--text-faint); font-size: 0.72rem; line-height: 1.35; } .oa-workspace-detail-value { margin-top: 2px; color: var(--text-normal); font-size: 0.82rem; line-height: 1.4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .oa-settings-list { display: flex; flex-direction: column; gap: 0; } .oa-settings-subsection { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--oa-border-soft); } .oa-settings-note { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--oa-border-soft); } .oa-settings-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; min-width: 0; align-items: start; padding: 10px 0; border-top: 1px solid var(--oa-border-soft); } .oa-settings-row:first-child { padding-top: 0; border-top: 0; } .oa-settings-label { color: var(--text-faint); font-size: 0.74rem; font-weight: 600; line-height: 1.35; } .oa-settings-value { min-width: 0; color: var(--text-normal); font-size: 0.82rem; line-height: 1.35; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .oa-settings-value-stack { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; overflow: visible; text-overflow: clip; white-space: normal; } .oa-settings-value-path { overflow: visible; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; word-break: break-word; } .oa-settings-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; } .oa-settings-actions button { width: 100%; justify-content: center; } .oa-settings-task-section { padding-top: 2px; } .oa-header-actions .oa-icon-button.is-icon-only { width: 32px; height: 32px; min-width: 32px; padding: 0; align-items: center; justify-content: center; } .oa-header-actions .oa-icon-button.is-icon-only svg { width: 16px; height: 16px; } .oa-composer-input-shell { position: relative; border: 1px solid var(--oa-border-soft); border-radius: var(--oa-radius-md); background: var(--oa-surface-strong); } .oa-composer-input-shell:focus-within { border-color: color-mix(in srgb, var(--interactive-accent) 36%, var(--oa-border-soft)); background: var(--oa-surface-strong); } .oa-composer-input { display: block; width: 100%; min-height: 64px; resize: vertical; border: 0; border-radius: 8px; padding: 10px 72px 10px 12px; background: transparent; color: var(--text-normal); box-sizing: border-box; line-height: 1.45; } .oa-composer-input::placeholder { color: var(--text-faint); } .oa-composer-input:focus { outline: none; box-shadow: none; } .oa-composer-action-button { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); display: inline-flex; align-items: center; justify-content: center; height: 30px; min-height: 30px; padding: 0; border: 1px solid var(--oa-border-soft); border-radius: 8px; box-shadow: none; line-height: 1; } .oa-composer-action-button.is-send { width: 30px; min-width: 30px; background: var(--interactive-accent); color: var(--text-on-accent); } .oa-composer-action-button.is-stop { min-width: 52px; padding: 0 10px; border-color: color-mix(in srgb, var(--color-red) 42%, var(--oa-border-soft)); background: color-mix(in srgb, var(--color-red) 15%, var(--oa-surface-strong)); color: color-mix(in srgb, var(--color-red) 82%, var(--text-normal)); font-size: 0.78rem; font-weight: 600; } .oa-composer-action-button:hover:not(:disabled) { color: var(--text-on-accent); } .oa-composer-action-button.is-send:hover:not(:disabled) { background: var(--interactive-accent-hover); color: var(--text-on-accent); } .oa-composer-action-button.is-stop:hover:not(:disabled) { border-color: color-mix(in srgb, var(--color-red) 54%, var(--oa-border-soft)); background: color-mix(in srgb, var(--color-red) 22%, var(--oa-surface-strong)); color: color-mix(in srgb, var(--color-red) 88%, var(--text-normal)); } .oa-composer-action-button:disabled { opacity: 0.45; } .oa-hotkey-capture-input { cursor: pointer; } .openagent-view .oa-settings-section .setting-item { margin-top: 0; padding: 16px 0; border-top: 1px solid var(--oa-border-soft); display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; } .openagent-view .oa-settings-section .setting-item:first-of-type { padding-top: 0; border-top: 0; } .openagent-view .oa-settings-section .setting-item-info { padding-right: 0; width: 100%; } .openagent-view .oa-settings-section .setting-item-control { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; margin-top: 0; width: 100%; } .openagent-view .oa-settings-section .setting-item-control input, .openagent-view .oa-settings-section .setting-item-control select { width: 100%; min-width: 0; border-radius: 11px; background: transparent; border: 1px solid var(--oa-border-soft); box-shadow: none; } .openagent-view .oa-settings-section .setting-item-control button { white-space: nowrap; border-radius: 11px; background: transparent; box-shadow: none; } .openagent-view .oa-settings-section .setting-item-name { font-size: 0.9rem; font-weight: 600; } .openagent-view .oa-settings-section .setting-item-description { color: var(--text-muted); font-size: 0.82em; line-height: 1.45; } .oa-settings-body .oa-action-row button { background: transparent; box-shadow: none; } .oa-settings-body .oa-action-row button:hover:not(:disabled) { background: transparent; } .oa-panel-scroll.is-settings-screen button, .oa-panel-scroll.is-settings-screen button:hover:not(:disabled), .oa-panel-scroll.is-settings-screen button:focus, .oa-panel-scroll.is-settings-screen button:focus-visible, .oa-panel-scroll.is-settings-screen button:active { box-shadow: none !important; } .oa-settings-task-section .oa-task-item, .oa-settings-task-section .oa-workspace-item { background: color-mix(in srgb, var(--background-primary) 82%, transparent); box-shadow: none; } .oa-settings-task-section .oa-thread-list-item.is-running, .oa-settings-task-section .oa-thread-list-item.is-running:hover, .oa-settings-task-section .oa-thread-list-item.is-running.is-active { border-color: color-mix(in srgb, var(--color-yellow) 56%, var(--oa-border-soft)); background: color-mix(in srgb, var(--color-yellow) 13%, var(--background-primary)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-yellow) 18%, transparent); } .oa-fork-modal { display: grid; gap: 12px; } .oa-fork-modal h2 { margin: 0; } .oa-fork-modal-subtitle, .oa-fork-modal-details { color: var(--text-muted); font-size: 0.9rem; line-height: 1.45; } .oa-fork-modal-details { display: grid; gap: 4px; } .oa-fork-modal-actions { justify-content: flex-end; margin-top: 4px; } .oa-vault-pet { --oa-pet-shell: #ff7b72; --oa-pet-shell-dark: #d94d66; --oa-pet-glow: #7dd3fc; --oa-pet-ink: #243142; --oa-pet-cream: #fff7ed; position: fixed; z-index: 1000; width: 118px; height: 142px; left: calc(100vw - 152px); top: calc(100vh - 172px); display: grid; place-items: end center; pointer-events: auto; cursor: grab; user-select: none; filter: drop-shadow(0 16px 28px rgb(0 0 0 / 0.2)); transition: left 520ms cubic-bezier(0.2, 0.9, 0.2, 1), top 520ms cubic-bezier(0.2, 0.9, 0.2, 1); } .oa-vault-pet:focus-visible { outline: 2px solid var(--interactive-accent); outline-offset: 4px; border-radius: 999px; } .oa-vault-pet.is-dragging { cursor: grabbing; transition: none; } .oa-vault-pet-creature { position: relative; width: 112px; height: 112px; animation: oa-pet-bob 3.8s ease-in-out infinite; transform-origin: 50% 72%; } .oa-vault-pet.is-excited .oa-vault-pet-creature, .oa-vault-pet.is-petted .oa-vault-pet-creature { animation: oa-pet-party 720ms cubic-bezier(0.2, 1.4, 0.3, 1); } .oa-vault-pet.is-wandering .oa-vault-pet-creature { animation: oa-pet-swim 840ms ease-in-out; } .oa-vault-pet.is-summoned .oa-vault-pet-creature { animation: oa-pet-summon 900ms cubic-bezier(0.16, 1.2, 0.28, 1); } .oa-vault-pet-mascot { position: absolute; inset: 0; width: 112px; height: 112px; object-fit: contain; display: block; pointer-events: none; -webkit-user-drag: none; user-select: none; } .oa-vault-pet-shadow { position: absolute; left: 26px; bottom: 0; width: 66px; height: 14px; border-radius: 999px; background: rgb(0 0 0 / 0.18); filter: blur(3px); animation: oa-pet-shadow 3.8s ease-in-out infinite; } .oa-vault-pet-bubble { position: absolute; left: 50%; bottom: 119px; width: max-content; min-width: 160px; max-width: min(360px, calc(100vw - 36px)); padding: 9px 12px; border: 1px solid color-mix(in srgb, var(--background-modifier-border) 70%, transparent); border-radius: 12px; background: color-mix(in srgb, var(--background-primary) 94%, transparent); color: var(--text-normal); box-shadow: 0 12px 28px rgb(0 0 0 / 0.18); font-size: 0.78rem; line-height: 1.35; text-align: center; opacity: 0; pointer-events: none; transform: translate(-50%, 8px) scale(0.96); transition: opacity 160ms ease, transform 160ms ease; white-space: normal; overflow-wrap: anywhere; word-break: normal; } .oa-vault-pet-bubble::after { content: ""; position: absolute; left: 50%; bottom: -7px; width: 12px; height: 12px; border-right: 1px solid color-mix(in srgb, var(--background-modifier-border) 70%, transparent); border-bottom: 1px solid color-mix(in srgb, var(--background-modifier-border) 70%, transparent); background: color-mix(in srgb, var(--background-primary) 94%, transparent); transform: translateX(-50%) rotate(45deg); } .oa-vault-pet.has-message .oa-vault-pet-bubble, .oa-vault-pet:hover .oa-vault-pet-bubble, .oa-vault-pet:focus-visible .oa-vault-pet-bubble { opacity: 1; transform: translate(-50%, 0) scale(1); } .oa-vault-pet-chat { position: absolute; right: 86px; bottom: 30px; width: min(360px, calc(100vw - 42px)); display: grid; gap: 7px; padding: 10px; border: 1px solid color-mix(in srgb, var(--background-modifier-border) 76%, transparent); border-radius: 12px; background: color-mix(in srgb, var(--background-primary) 96%, transparent); box-shadow: 0 18px 38px rgb(0 0 0 / 0.24); opacity: 0; pointer-events: none; transform: translateY(10px) scale(0.97); transform-origin: 100% 100%; transition: opacity 160ms ease, transform 160ms ease; } .oa-vault-pet.is-chat-right .oa-vault-pet-chat { left: 86px; right: auto; transform-origin: 0 100%; } .oa-vault-pet.has-chat .oa-vault-pet-chat { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); } .oa-vault-pet.has-chat .oa-vault-pet-bubble { opacity: 0; } .oa-vault-pet-chat-header { display: flex; align-items: center; justify-content: space-between; gap: 8px; } .oa-vault-pet-chat-title { min-width: 0; color: var(--text-normal); font-size: 0.84rem; font-weight: 700; line-height: 1.2; } .oa-vault-pet-chat-close { width: 24px; height: 24px; min-width: 24px; min-height: 24px; padding: 0; border-radius: 7px; display: inline-flex; align-items: center; justify-content: center; background: transparent; color: var(--text-muted); box-shadow: none; } .oa-vault-pet-chat-path, .oa-vault-pet-chat-cwd { color: var(--text-muted); font-size: 0.72rem; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .oa-vault-pet-chat-input { width: 100%; min-height: 118px; max-height: 280px; resize: vertical; box-sizing: border-box; padding: 9px 10px; border: 1px solid color-mix(in srgb, var(--background-modifier-border) 78%, transparent); border-radius: 10px; background: color-mix(in srgb, var(--background-secondary) 60%, transparent); color: var(--text-normal); font-size: 0.8rem; line-height: 1.42; box-shadow: none; } .oa-vault-pet-chat-input:focus { outline: none; border-color: color-mix(in srgb, var(--interactive-accent) 48%, var(--background-modifier-border)); box-shadow: 0 0 0 2px color-mix(in srgb, var(--interactive-accent) 16%, transparent); } .oa-vault-pet-chat-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; } .oa-vault-pet-chat-hint { min-width: 0; color: var(--text-faint); font-size: 0.7rem; line-height: 1.2; } .oa-vault-pet-chat-send { min-height: 28px; padding: 0 11px; border-radius: 8px; background: var(--interactive-accent); color: var(--text-on-accent); box-shadow: none; font-size: 0.78rem; font-weight: 650; } .oa-vault-pet-chat-send:hover:not(:disabled) { background: var(--interactive-accent-hover); color: var(--text-on-accent); } .oa-vault-pet-chat-send:disabled, .oa-vault-pet-chat-input:disabled { opacity: 0.58; } @keyframes oa-pet-bob { 0%, 100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-9px) rotate(1.5deg); } } @keyframes oa-pet-shadow { 0%, 100% { transform: scaleX(1); opacity: 0.72; } 50% { transform: scaleX(0.78); opacity: 0.42; } } @keyframes oa-pet-party { 0% { transform: translateY(0) rotate(0); } 30% { transform: translateY(-18px) rotate(-8deg) scale(1.04); } 60% { transform: translateY(-6px) rotate(7deg) scale(1.02); } 100% { transform: translateY(0) rotate(0); } } @keyframes oa-pet-swim { 0%, 100% { transform: translateX(0) rotate(0); } 35% { transform: translateX(-8px) rotate(-5deg); } 70% { transform: translateX(6px) rotate(4deg); } } @keyframes oa-pet-summon { 0% { transform: translateY(8px) rotate(-8deg) scale(0.92); } 45% { transform: translateY(-17px) rotate(7deg) scale(1.05); } 72% { transform: translateY(-4px) rotate(-3deg) scale(1.02); } 100% { transform: translateY(0) rotate(0) scale(1); } } @media (prefers-reduced-motion: reduce) { .oa-vault-pet, .oa-vault-pet *, .oa-vault-pet::before, .oa-vault-pet::after { animation: none !important; transition: none !important; } } @media (min-width: 680px) { .openagent-view .oa-settings-section .setting-item { grid-template-columns: minmax(0, 1fr) minmax(180px, 220px); align-items: center; } .openagent-view .oa-settings-section .setting-item-control { grid-template-columns: minmax(0, 1fr) auto; justify-self: end; width: min(100%, 220px); } .oa-settings-actions { grid-template-columns: repeat(2, minmax(0, max-content)); } .oa-settings-actions button { width: auto; } }