{grouped.length === 0 ? (
No trained models found.
diff --git a/studio/frontend/src/features/chat/chat-settings-sheet.tsx b/studio/frontend/src/features/chat/chat-settings-sheet.tsx
index 776bad5244..96415c4da0 100644
--- a/studio/frontend/src/features/chat/chat-settings-sheet.tsx
+++ b/studio/frontend/src/features/chat/chat-settings-sheet.tsx
@@ -54,6 +54,7 @@ import { cn } from "@/lib/utils";
import {
ArrowDown01Icon,
ArrowTurnBackwardIcon,
+ Edit03Icon,
InformationCircleIcon,
LayoutAlignRightIcon,
} from "@hugeicons/core-free-icons";
@@ -841,7 +842,7 @@ export function ChatSettingsPanel({
animateRadius={false}
icon={ArrowDown01Icon}
iconClassName="size-3.5"
- className="grid h-7 w-[60px] min-w-0 grid-cols-[minmax(0,1fr)_auto] items-center gap-1 rounded-[10px] border-transparent bg-black/[0.04] dark:bg-white/[0.05] hover:bg-black/[0.06] dark:hover:bg-white/[0.1] px-2 py-0 text-[13px]! font-medium text-nav-fg focus-visible:ring-0 focus-visible:border-transparent [&_[data-slot=select-value]]:min-w-0 [&_[data-slot=select-value]]:truncate [&>svg]:shrink-0"
+ className="grid h-7 w-[64px] min-w-0 grid-cols-[minmax(0,1fr)_auto] items-center gap-1 rounded-full border-transparent bg-black/[0.04] dark:bg-white/[0.05] hover:bg-black/[0.06] dark:hover:bg-white/[0.1] pl-3 pr-2 py-0 text-[13px]! font-medium text-nav-fg focus-visible:ring-0 focus-visible:border-transparent [&_[data-slot=select-value]]:min-w-0 [&_[data-slot=select-value]]:truncate [&>svg]:shrink-0"
>
@@ -881,7 +882,7 @@ export function ChatSettingsPanel({
animateRadius={false}
icon={ArrowDown01Icon}
iconClassName="size-3.5"
- className="grid h-7 w-[120px] min-w-0 grid-cols-[minmax(0,1fr)_auto] items-center gap-1 rounded-[10px] border-transparent bg-black/[0.04] dark:bg-white/[0.05] hover:bg-black/[0.06] dark:hover:bg-white/[0.1] px-2 py-0 text-[13px]! font-medium text-nav-fg focus-visible:ring-0 focus-visible:border-transparent [&_[data-slot=select-value]]:min-w-0 [&_[data-slot=select-value]]:truncate [&>svg]:shrink-0"
+ className="grid h-7 w-[124px] min-w-0 grid-cols-[minmax(0,1fr)_auto] items-center gap-1 rounded-full border-transparent bg-black/[0.04] dark:bg-white/[0.05] hover:bg-black/[0.06] dark:hover:bg-white/[0.1] pl-3 pr-2 py-0 text-[13px]! font-medium text-nav-fg focus-visible:ring-0 focus-visible:border-transparent [&_[data-slot=select-value]]:min-w-0 [&_[data-slot=select-value]]:truncate [&>svg]:shrink-0"
data-test-id="speculative-type-select"
>
@@ -932,7 +933,7 @@ export function ChatSettingsPanel({
}}
data-test-id="spec-draft-n-max-input"
aria-label="Speculative decoding draft tokens"
- className="h-7 w-[72px] rounded-[10px] border-transparent bg-black/[0.04] dark:bg-white/[0.05] hover:bg-black/[0.06] dark:hover:bg-white/[0.1] px-2 py-0 text-[13px] font-medium text-nav-fg outline-none focus-visible:ring-0"
+ className="h-7 w-[76px] rounded-full border-transparent bg-black/[0.04] dark:bg-white/[0.05] hover:bg-black/[0.06] dark:hover:bg-white/[0.1] pl-3 pr-2 py-0 text-[13px] font-medium text-nav-fg outline-none focus-visible:ring-0"
/>
)}
@@ -1563,11 +1564,15 @@ function ChatTemplateFields() {
return (
<>
-
-
-
- Chat Template
-
+
+
+
{isModified && (
@@ -1593,17 +1598,30 @@ function ChatTemplateFields() {
)}
+
+
+
+
+
+ Edit template
+
+
-
-
diff --git a/studio/frontend/src/features/hub/hub-page.tsx b/studio/frontend/src/features/hub/hub-page.tsx
index f606a9941a..5b7fc4ad77 100644
--- a/studio/frontend/src/features/hub/hub-page.tsx
+++ b/studio/frontend/src/features/hub/hub-page.tsx
@@ -675,7 +675,7 @@ export function ModelsPage() {
);
return (
-
+
div > section .border-b,
diff --git a/studio/frontend/src/features/studio/training-start-overlay.tsx b/studio/frontend/src/features/studio/training-start-overlay.tsx
index ba80432896..b9fb34fedb 100644
--- a/studio/frontend/src/features/studio/training-start-overlay.tsx
+++ b/studio/frontend/src/features/studio/training-start-overlay.tsx
@@ -311,7 +311,7 @@ export function TrainingStartOverlay({
return (
-
+
diff --git a/studio/frontend/src/index.css b/studio/frontend/src/index.css
index 48e587953f..34e4241ae2 100644
--- a/studio/frontend/src/index.css
+++ b/studio/frontend/src/index.css
@@ -146,7 +146,7 @@
--sidebar-primary-foreground: oklch(1 0 0);
--sidebar-accent: oklch(0.96 0.0279 166.55);
--sidebar-accent-foreground: oklch(0.2868 0.0649 159.9823);
- --sidebar-border: oklch(0.92 0 0);
+ --sidebar-border: #f2f2f2;
--sidebar-ring: #17b88b;
--destructive-foreground: oklch(1 0 0);
--font-sans: "Inter Variable", ui-sans-serif, sans-serif, system-ui;
@@ -599,7 +599,7 @@
}
.sidebar-sticky-label {
- @apply rounded-none bg-sidebar pt-0 pb-[8px] pl-[18px] pr-4 text-[14px]! leading-[17px] font-medium normal-case focus-visible:ring-0! focus-visible:outline-none transition-shadow duration-150;
+ @apply rounded-none bg-sidebar pt-0 pb-[8px] pl-[20px] pr-4 text-[14px]! leading-[17px] font-medium normal-case focus-visible:ring-0! focus-visible:outline-none transition-shadow duration-150;
/* Muted section-header gray, matching Gemini's "Notebooks"/"Recents".
Lightened from #5f6368 so the label reads as a header, clearly
lighter than the near-black nav items. */
@@ -621,7 +621,7 @@
prompt button, and the chat-template textarea so all three read
as one quiet gray family, matching the focused-edit-number tint. */
.panel-input-group {
- @apply !h-9 min-h-9 min-w-0 items-stretch gap-0 rounded-[14px] pr-0 transition-colors focus-within:ring-0 focus-within:shadow-none;
+ @apply !h-9 min-h-9 min-w-0 items-stretch gap-0 rounded-full pr-0 transition-colors focus-within:ring-0 focus-within:shadow-none;
border: 0 !important;
background-color: var(--panel-input-surface);
}
@@ -904,12 +904,14 @@
/* Pin to the dark --radius so the corners are the same (less round) in
both themes; rounded-4xl here and on the inner Command follow this. */
--radius: 0.625rem;
- /* Match the chat box: soft elevation in light, none in dark. */
+ /* Match the chat box: soft elevation. */
box-shadow: 0 2px 8px -2px rgba(0, 0, 0, 0.16);
}
+ /* Dark: page-bg shadow so the dialog does not merge into same-color
+ content behind it (same convention as the dropdowns). */
.dark .chat-search-surface {
- box-shadow: none;
+ box-shadow: 0 4px 14px var(--background);
}
.menu-soft-surface,
@@ -1255,8 +1257,9 @@
/* Soft elevation; [data-slot] outranks the component ring-1, dropping the border. */
.unsloth-plus-menu[data-slot] {
- /* Pin radius so dark matches light (rounded-lg resolves smaller in dark). */
- border-radius: 18px;
+ /* Pin radius so dark matches light (rounded-lg resolves smaller in dark).
+ !important beats the global 14px dropdown radius. */
+ border-radius: 18px !important;
padding-top: 0.5rem;
padding-bottom: 0.5rem;
box-shadow: 0 2px 8px -2px rgba(0, 0, 0, 0.16);
@@ -1265,7 +1268,7 @@
/* MCP menu is wider (232px), so nudge the radius up so it reads as round as
the narrower + menu (18 * 232/212 ~= 20px). */
.unsloth-plus-menu.mcp-menu[data-slot] {
- border-radius: 20px;
+ border-radius: 20px !important;
}
.dark .unsloth-plus-menu[data-slot] {