- {device.name ?? t("settings.resources.gpu.unknownDevice")}
+
+
+
+ {device.name ??
+ t("settings.resources.gpu.unknownDevice")}
+
+
+ {ordinal === undefined
+ ? backendLabel
+ : `${t("settings.resources.gpu.deviceWithIndex", {
+ index: ordinal,
+ })}, ${backendLabel}`}
+
-
- {ordinal === undefined
- ? backendLabel
- : `${t("settings.resources.gpu.deviceWithIndex", {
- index: ordinal,
- })}, ${backendLabel}`}
+
+ {percentText}{" "}
+ {t("settings.resources.gpu.vramUtilization")}
- {/* Stacked until the pane is genuinely wide enough: the
- figures, meter and percentage need about 50rem before the
- name has room left to read. */}
-
-
+ {/* Wraps rather than overflows once the pane gets narrow. */}
+
+
{t("settings.resources.gpu.used", { value: usedText })}
@@ -525,20 +531,12 @@ export function ResourcesTab() {
})}
-
- {/* Fills the space left by the percentage rather than
- claiming the full row, which overflowed once stacked. */}
-
-
- {percentText}{" "}
- {t("settings.resources.gpu.vramUtilization")}
-
-
+
);
diff --git a/studio/frontend/src/index.css b/studio/frontend/src/index.css
index 34897c08bc..e298dbbe8c 100644
--- a/studio/frontend/src/index.css
+++ b/studio/frontend/src/index.css
@@ -671,6 +671,13 @@ html[data-chat-font] .aui-root {
border-color: transparent;
}
+/* The card removes its outline, so the border is the only focus indicator.
+ This rule is unlayered like the one above, which would otherwise beat
+ Tailwind's layered focus-visible:border-ring and leave nothing visible. */
+.dark .palette-card:focus-visible {
+ border-color: var(--ring);
+}
+
.palette-card:hover {
border-color: var(--ring-soft);
}