@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); } }