diff --git a/src/components/index-page/use-cases/index.tsx b/src/components/index-page/use-cases/index.tsx
index 67f460dde5..bac12e6e8b 100644
--- a/src/components/index-page/use-cases/index.tsx
+++ b/src/components/index-page/use-cases/index.tsx
@@ -139,7 +139,9 @@ export function UseCases({
id={`graphql-use-case-${i}`}
className={clsx(
"relative h-full flex-1 p-8 lg:p-12 xl:p-16",
- selectedIndex === i ? "border-b border-sec-dark" : "hidden",
+ selectedIndex === i
+ ? "border-sec-dark max-lg:border-b"
+ : "hidden",
)}
>
diff --git a/tailwind.config.ts b/tailwind.config.ts
index 66593ba6dd..eeb7669d61 100644
--- a/tailwind.config.ts
+++ b/tailwind.config.ts
@@ -201,6 +201,7 @@ const config: Config = {
})
}),
tailwindMediaHover(),
+ scrollStartPlugin(),
browserPlugin,
],
darkMode: ["class", 'html[class~="dark"]'],
@@ -214,3 +215,82 @@ function tailwindMediaHover() {
addVariant("hover-none", "@media (hover: none)")
})
}
+
+function scrollStartPlugin() {
+ return plugin(({ addBase, matchUtilities, theme }) => {
+ addBase({
+ "@keyframes --scroll-start-snap-y": {
+ to: { width: "0" },
+ },
+ "@keyframes --scroll-start-snap-x": {
+ to: { height: "0" },
+ },
+ })
+
+ addBase({
+ ".scroll-start-y": {
+ position: "absolute",
+ width: "1px",
+ top: "var(--scroll-start-y)",
+ containerType: "size",
+ visibility: "hidden",
+ animation: "--scroll-start-snap-y 0.01s both",
+ },
+ ".scroll-start-y::before": {
+ content: '""',
+ height: "1px",
+ display: "block",
+ },
+ "@container (width: 1px)": {
+ ".scroll-start-y::before": {
+ scrollSnapAlign: "start",
+ },
+ },
+ })
+
+ addBase({
+ ".scroll-start-x": {
+ position: "absolute",
+ height: "1px",
+ left: "var(--scroll-start-x)",
+ containerType: "size",
+ visibility: "hidden",
+ animation: "--scroll-start-snap-x 0.01s both",
+ },
+ ".scroll-start-x::before": {
+ content: '""',
+ width: "1px",
+ display: "block",
+ },
+ "@container (height: 1px)": {
+ ".scroll-start-x::before": {
+ scrollSnapAlign: "start",
+ },
+ },
+ })
+
+ matchUtilities(
+ {
+ "scroll-start-y": value => ({
+ "--scroll-start-y": value,
+ }),
+ },
+ {
+ values: theme("spacing"),
+ type: ["length", "percentage"],
+ },
+ )
+
+ matchUtilities(
+ {
+ "scroll-start-x": value => ({
+ "--scroll-start-x": value,
+ }),
+ },
+ {
+ values: theme("spacing"),
+ type: ["length", "percentage"],
+ },
+ )
+ })
+}