/* Back to top button */
+.back-to-top {
+ position: fixed;
+ bottom: 1.5rem;
+ right: 1.5rem;
+ z-index: 40;
+ display: flex;
+ height: 2.75rem;
+ width: 2.75rem;
+ align-items: center;
+ justify-content: center;
+ border-radius: 9999px;
+ background: var(--accent);
+ box-shadow: 0 0 12px rgba(var(--accent-rgb), 0.4);
+ transition: background 200ms ease, box-shadow 200ms ease;
+ color: #fff;
+}
+
+.back-to-top:hover {
+ background: var(--accent);
+ filter: brightness(0.85);
+ box-shadow: 0 0 20px var(--accent);
+}
+
+.back-to-top:focus-visible {
+ outline: 2px solid var(--accent);
+ outline-offset: 2px;
+}
+
.sr-only {
position: absolute;
width: 1px;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
+.translate-y-0 {
+ --tw-translate-y: 0px;
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
+}
+
+.translate-y-4 {
+ --tw-translate-y: 1rem;
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
+}
+
.transform {
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
transition-duration: 300ms;
}
+.ease-in {
+ transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
+}
+
+.ease-out {
+ transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
+}
+
/* Dark theme (default) - CSS custom properties */
:root {