diff --git a/src/web-ui/src/app/components/NavPanel/sections/sessions/SessionsSection.scss b/src/web-ui/src/app/components/NavPanel/sections/sessions/SessionsSection.scss index 2cff88556f..c379adeacf 100644 --- a/src/web-ui/src/app/components/NavPanel/sections/sessions/SessionsSection.scss +++ b/src/web-ui/src/app/components/NavPanel/sections/sessions/SessionsSection.scss @@ -138,7 +138,7 @@ &.is-active { color: var(--color-text-primary); - background: var(--element-bg-soft); + background: transparent; } &.is-editing { @@ -187,10 +187,13 @@ } &.is-btw-child { - &:hover, - &.is-active { + &:hover { background: var(--element-bg-soft); } + + &.is-active { + background: transparent; + } } } @@ -890,8 +893,8 @@ } &.is-active { - background: var(--element-bg-medium); - box-shadow: inset 2px 0 0 color-mix(in srgb, var(--color-accent-500) 76%, transparent); + background: transparent; + box-shadow: none; } } diff --git a/src/web-ui/src/app/components/NavPanel/sections/workspaces/WorkspaceListSection.scss b/src/web-ui/src/app/components/NavPanel/sections/workspaces/WorkspaceListSection.scss index 30eebbd5e3..ec63d296b0 100644 --- a/src/web-ui/src/app/components/NavPanel/sections/workspaces/WorkspaceListSection.scss +++ b/src/web-ui/src/app/components/NavPanel/sections/workspaces/WorkspaceListSection.scss @@ -178,7 +178,7 @@ overflow: hidden; border-radius: 6px; color: var(--color-text-primary); - background: var(--color-bg-primary); + background: transparent; transition: color $motion-fast $easing-standard, background $motion-fast $easing-standard, box-shadow $motion-fast $easing-standard; @@ -1063,7 +1063,7 @@ max-width: 100%; border-radius: 6px; color: var(--color-text-secondary); - background: var(--color-bg-primary); + background: transparent; overflow: hidden; transition: color $motion-fast $easing-standard, background $motion-fast $easing-standard, @@ -1360,8 +1360,8 @@ &__workspace-item.is-active &__workspace-item-card, &__assistant-item.is-active &__assistant-item-card { - background: var(--element-bg-medium); - box-shadow: inset 2px 0 0 color-mix(in srgb, var(--color-accent-500) 76%, transparent); + background: transparent; + box-shadow: none; } &__workspace-item-card:active, @@ -1438,7 +1438,7 @@ .bitfun-nav-panel__workspace-item.is-active .bitfun-nav-panel__workspace-item-card:hover, .bitfun-nav-panel__assistant-item.is-active .bitfun-nav-panel__assistant-item-card:hover { - background: var(--element-bg-medium); + background: transparent; } } diff --git a/src/web-ui/src/app/scenes/settings/SettingsNav.scss b/src/web-ui/src/app/scenes/settings/SettingsNav.scss index dd3ee4fad4..698cd9b8cf 100644 --- a/src/web-ui/src/app/scenes/settings/SettingsNav.scss +++ b/src/web-ui/src/app/scenes/settings/SettingsNav.scss @@ -119,7 +119,7 @@ &.is-active { color: var(--color-text-primary); - background: var(--element-bg-soft); + background: transparent; font-weight: 500; } @@ -256,9 +256,9 @@ &.is-active { color: var(--color-text-primary); - background: color-mix(in srgb, var(--color-accent-500) 10%, var(--element-bg-soft)); + background: transparent; font-weight: 500; - box-shadow: inset 2px 0 0 var(--color-accent-500); + box-shadow: none; } &:focus-visible { diff --git a/src/web-ui/src/flow_chat/components/ChatInput.scss b/src/web-ui/src/flow_chat/components/ChatInput.scss index 7062e5273c..6fb99ce30a 100644 --- a/src/web-ui/src/flow_chat/components/ChatInput.scss +++ b/src/web-ui/src/flow_chat/components/ChatInput.scss @@ -705,9 +705,7 @@ } &:focus-within { - border-color: color-mix(in srgb, var(--color-accent-500) 46%, var(--border-base)); - box-shadow: - 0 0 0 2px color-mix(in srgb, var(--color-accent-500) 12%, transparent), + box-shadow: 0 12px 30px rgba(var(--color-static-black-rgb), 0.28), inset 0 1px 0 var(--color-overlay-white-12); } diff --git a/src/web-ui/src/flow_chat/components/modern/ExploreRegion.scss b/src/web-ui/src/flow_chat/components/modern/ExploreRegion.scss index 6b956f72e6..fa78d32649 100644 --- a/src/web-ui/src/flow_chat/components/modern/ExploreRegion.scss +++ b/src/web-ui/src/flow_chat/components/modern/ExploreRegion.scss @@ -3,6 +3,11 @@ .explore-region { position: relative; overflow: hidden; + /* Same column box as .model-round-item so the collapse header (`>`) and the + * round's body text share one leading edge. */ + box-sizing: border-box; + width: min(100%, 900px); + margin: 0 auto; padding: 0 var(--flowchat-content-inline-pad); @media (max-width: 768px) { diff --git a/src/web-ui/src/flow_chat/components/modern/UserMessageItem.scss b/src/web-ui/src/flow_chat/components/modern/UserMessageItem.scss index 645c65e79b..cd92063b1b 100644 --- a/src/web-ui/src/flow_chat/components/modern/UserMessageItem.scss +++ b/src/web-ui/src/flow_chat/components/modern/UserMessageItem.scss @@ -6,12 +6,12 @@ .user-message-item { box-sizing: border-box; - width: fit-content; - min-width: min( - 18rem, - calc(100% - var(--flowchat-content-inline-pad) - var(--flowchat-content-inline-pad)) - ); - max-width: min(78%, 52rem); + /* + * Fills the reading column instead of hugging its text: the bubble shares the + * exact leading and trailing edge as the tool-call bars and body text below + * it, so a turn reads as one column rather than a right-floating chat bubble. + */ + width: auto; padding: 0.46rem 0.68rem; background: color-mix(in srgb, var(--element-bg-medium) 90%, var(--color-bg-scene)); border: 1px solid color-mix(in srgb, var(--border-base) 72%, transparent); @@ -20,7 +20,7 @@ 0.06rem var(--flowchat-content-inline-pad) var(--flowchat-turn-gap) - auto; + var(--flowchat-content-inline-pad); box-shadow: 0 1px 0 color-mix(in srgb, var(--color-static-white) 5%, transparent) inset, 0 2px 8px var(--color-overlay-black-08); @@ -61,18 +61,7 @@ // Responsive: reduce margins on smaller screens. @media (max-width: 768px) { - min-width: min( - 14rem, - calc( - 100% - var(--flowchat-content-inline-pad-mobile) - - var(--flowchat-content-inline-pad-mobile) - ) - ); - max-width: calc( - 100% - var(--flowchat-content-inline-pad-mobile) - - var(--flowchat-content-inline-pad-mobile) - ); - margin-left: auto; + margin-left: var(--flowchat-content-inline-pad-mobile); margin-right: var(--flowchat-content-inline-pad-mobile); } } @@ -198,11 +187,6 @@ border: none; box-shadow: none; padding-left: 0.35rem; - width: auto; - min-width: 0; - max-width: none; - margin-left: var(--flowchat-content-inline-pad); - margin-right: var(--flowchat-content-inline-pad); .user-message-item__main { align-items: flex-start; @@ -517,14 +501,15 @@ .user-message-item__images { display: flex; flex-wrap: wrap; - gap: 5px; - margin-top: 4px; + gap: 6px; + margin-top: 6px; } .user-message-item__image-thumb { - width: 120px; - height: 120px; - border-radius: 6px; + /* Attachment-sized, not a hero image: the text stays the primary content. */ + width: 72px; + height: 72px; + border-radius: 5px; overflow: hidden; cursor: pointer; border: 1px solid var(--border-base); diff --git a/src/web-ui/src/flow_chat/components/modern/VirtualItemRenderer.scss b/src/web-ui/src/flow_chat/components/modern/VirtualItemRenderer.scss index 6e951da8db..02e2aaad15 100644 --- a/src/web-ui/src/flow_chat/components/modern/VirtualItemRenderer.scss +++ b/src/web-ui/src/flow_chat/components/modern/VirtualItemRenderer.scss @@ -5,6 +5,11 @@ .virtual-item-wrapper { width: 100%; + /* + * Single reading column shared by every item type (model rounds, explore + * groups, user messages, notices). Matches ChatInput's 900px so headers, + * `>` collapse rows, and bubbles all sit on the same leading edge. + */ max-width: 900px; margin: 0 auto; box-sizing: border-box; diff --git a/src/web-ui/src/infrastructure/config/components/BasicsConfig.scss b/src/web-ui/src/infrastructure/config/components/BasicsConfig.scss index e51c256f4b..5f0ba35467 100644 --- a/src/web-ui/src/infrastructure/config/components/BasicsConfig.scss +++ b/src/web-ui/src/infrastructure/config/components/BasicsConfig.scss @@ -14,10 +14,6 @@ gap: 16px; } - &__select-wrapper { - width: 100%; - } - &__path-row { display: flex; align-items: stretch; @@ -86,10 +82,6 @@ gap: $size-gap-6; } - &__select-wrapper { - width: 100%; - } - &__shell-option, &__shell-value { display: flex; @@ -123,6 +115,7 @@ } &__no-shells { + width: 100%; padding: 12px 16px; border: 1px dashed var(--border-base); border-radius: $size-radius-sm; diff --git a/src/web-ui/src/infrastructure/config/components/BasicsConfig.tsx b/src/web-ui/src/infrastructure/config/components/BasicsConfig.tsx index ee27fef826..ba47a214af 100644 --- a/src/web-ui/src/infrastructure/config/components/BasicsConfig.tsx +++ b/src/web-ui/src/infrastructure/config/components/BasicsConfig.tsx @@ -525,14 +525,12 @@ function BasicsLoggingSection() { description={t('logging.level.description')} align="center" > -