gerbil/src/styles/index.css

115 lines
2.8 KiB
CSS

@import '@mantine/core/styles.css';
@import '@fontsource/geist/latin-400.css';
@import '@fontsource/geist/latin-500.css';
@import '@fontsource/geist/latin-600.css';
:root {
--gerbil-window-border: light-dark(rgba(0, 0, 0, 0.15), rgba(255, 255, 255, 0.08));
--gerbil-scrollbar-thumb: rgba(134, 142, 150, 0.5);
--gerbil-scrollbar-thumb-hover: rgba(134, 142, 150, 0.8);
--gerbil-scrollbar-thumb-active: rgba(73, 80, 87, 0.9);
--gerbil-shadow-sm: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.3);
}
[data-mantine-color-scheme='dark'] {
--gerbil-scrollbar-thumb: rgba(173, 181, 189, 0.5);
--gerbil-scrollbar-thumb-hover: rgba(173, 181, 189, 0.8);
--gerbil-scrollbar-thumb-active: rgba(206, 212, 218, 0.9);
}
#root {
height: 100vh;
width: 100vw;
border-left: 1px solid var(--gerbil-window-border);
border-right: 1px solid var(--gerbil-window-border);
box-sizing: border-box;
}
[data-mantine-color-scheme='light'] .mantine-Select-option:hover {
background-color: var(--mantine-color-gray-2);
}
/* Custom scrollbars */
::-webkit-scrollbar {
width: 0.5rem;
height: 0.5rem;
}
::-webkit-scrollbar-track {
background: transparent;
border-radius: 0.25rem;
}
::-webkit-scrollbar-thumb {
background: var(--gerbil-scrollbar-thumb);
border-radius: 0.25rem;
transition: background 0.2s ease;
}
::-webkit-scrollbar-thumb:hover {
background: var(--gerbil-scrollbar-thumb-hover);
}
::-webkit-scrollbar-thumb:active {
background: var(--gerbil-scrollbar-thumb-active);
}
/* Dark mode scrollbar support */
[data-mantine-color-scheme='dark'] ::-webkit-scrollbar-thumb {
background: var(--gerbil-scrollbar-thumb);
}
[data-mantine-color-scheme='dark'] ::-webkit-scrollbar-thumb:hover {
background: var(--gerbil-scrollbar-thumb-hover);
}
[data-mantine-color-scheme='dark'] ::-webkit-scrollbar-thumb:active {
background: var(--gerbil-scrollbar-thumb-active);
}
/* TitleBar gerbil icon animations */
@keyframes elephantShake {
0%,
100% {
transform: scale(1.1) rotate(5deg) translateX(0);
}
10% {
transform: scale(1.2) rotate(-3deg) translateX(-2px);
}
20% {
transform: scale(1.3) rotate(8deg) translateX(2px);
}
30% {
transform: scale(1.2) rotate(-5deg) translateX(-1px);
}
40% {
transform: scale(1.4) rotate(10deg) translateX(3px);
}
50% {
transform: scale(1.2) rotate(-8deg) translateX(-2px);
}
60% {
transform: scale(1.3) rotate(6deg) translateX(1px);
}
70% {
transform: scale(1) rotate(-4deg) translateX(-1px);
}
80% {
transform: scale(1.2) rotate(3deg) translateX(2px);
}
90% {
transform: scale(1) rotate(-2deg) translateX(-1px);
}
}
@keyframes mouseSqueak {
0% {
transform: scale(1) rotate(0deg);
}
50% {
transform: scale(1.15) rotate(2deg);
}
100% {
transform: scale(1) rotate(0deg);
}
}