diff --git a/client/src/style.css b/client/src/style.css
index 1a3747c80c..7f5d0a86ed 100644
--- a/client/src/style.css
+++ b/client/src/style.css
@@ -2581,7 +2581,7 @@ html {
flex-direction: column;
overflow: auto;
overscroll-behavior: contain;
- border-radius: 1rem;
+ border-radius: 0.7rem;
border-width: 1px;
border-style: solid;
border-color: var(--border-light);
@@ -2654,6 +2654,7 @@ html {
translate: 0;
}
+.animate-popover-top,
.animate-popover {
transform-origin: top;
opacity: 0;
@@ -2662,12 +2663,13 @@ html {
transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
transform: scale(0.95) translateY(-0.5rem);
}
-
+.animate-popover-top[data-enter],
.animate-popover[data-enter] {
opacity: 1;
transform: scale(1) translateY(0);
}
+/* Left (existing) */
.animate-popover-left {
transform-origin: left;
opacity: 0;
@@ -2676,12 +2678,92 @@ html {
transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
transform: scale(0.95) translateX(-0.5rem);
}
-
.animate-popover-left[data-enter] {
opacity: 1;
transform: scale(1) translateX(0);
}
+/* Right */
+.animate-popover-right {
+ transform-origin: right;
+ opacity: 0;
+ transition:
+ opacity 150ms cubic-bezier(0.4, 0, 0.2, 1),
+ transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
+ transform: scale(0.95) translateX(0.5rem);
+}
+.animate-popover-right[data-enter] {
+ opacity: 1;
+ transform: scale(1) translateX(0);
+}
+
+/* Bottom */
+.animate-popover-bottom {
+ transform-origin: bottom;
+ opacity: 0;
+ transition:
+ opacity 150ms cubic-bezier(0.4, 0, 0.2, 1),
+ transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
+ transform: scale(0.95) translateY(0.5rem);
+}
+.animate-popover-bottom[data-enter] {
+ opacity: 1;
+ transform: scale(1) translateY(0);
+}
+
+/* Corners */
+.animate-popover-top-left {
+ transform-origin: top left;
+ opacity: 0;
+ transition:
+ opacity 150ms cubic-bezier(0.4, 0, 0.2, 1),
+ transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
+ transform: scale(0.95) translate(-0.5rem, -0.5rem);
+}
+.animate-popover-top-left[data-enter] {
+ opacity: 1;
+ transform: scale(1) translate(0, 0);
+}
+
+.animate-popover-top-right {
+ transform-origin: top right;
+ opacity: 0;
+ transition:
+ opacity 150ms cubic-bezier(0.4, 0, 0.2, 1),
+ transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
+ transform: scale(0.95) translate(0.5rem, -0.5rem);
+}
+.animate-popover-top-right[data-enter] {
+ opacity: 1;
+ transform: scale(1) translate(0, 0);
+}
+
+.animate-popover-bottom-left {
+ transform-origin: bottom left;
+ opacity: 0;
+ transition:
+ opacity 150ms cubic-bezier(0.4, 0, 0.2, 1),
+ transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
+ transform: scale(0.95) translate(-0.5rem, 0.5rem);
+}
+.animate-popover-bottom-left[data-enter] {
+ opacity: 1;
+ transform: scale(1) translate(0, 0);
+}
+
+.animate-popover-bottom-right {
+ transform-origin: bottom right;
+ opacity: 0;
+ transition:
+ opacity 150ms cubic-bezier(0.4, 0, 0.2, 1),
+ transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
+ transform: scale(0.95) translate(0.5rem, 0.5rem);
+}
+.animate-popover-bottom-right[data-enter] {
+ opacity: 1;
+ transform: scale(1) translate(0, 0);
+}
+
/** Note: ensure KaTeX can spread across visible space */
.message-content pre:has(> span.katex) {
overflow: visible !important;