145 lines
2.5 KiB
CSS
145 lines
2.5 KiB
CSS
@import './variables.css';
|
|
|
|
*,
|
|
*::before,
|
|
*::after {
|
|
box-sizing: border-box;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
html,
|
|
body {
|
|
width: 100%;
|
|
min-height: 100%;
|
|
font-family: var(--font-body);
|
|
background-color: var(--bg-app);
|
|
color: var(--text-main);
|
|
line-height: 1.5;
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
transition: background-color var(--transition-normal), color var(--transition-normal);
|
|
overflow-x: hidden;
|
|
}
|
|
|
|
#root {
|
|
min-height: 100vh;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
h1, h2, h3, h4, h5, h6 {
|
|
font-family: var(--font-heading);
|
|
font-weight: 700;
|
|
color: var(--text-main);
|
|
letter-spacing: -0.02em;
|
|
}
|
|
|
|
a {
|
|
color: var(--color-primary-light);
|
|
text-decoration: none;
|
|
transition: color var(--transition-fast);
|
|
}
|
|
|
|
a:hover {
|
|
color: var(--color-primary);
|
|
}
|
|
|
|
button {
|
|
font-family: var(--font-heading);
|
|
border: none;
|
|
background: none;
|
|
cursor: pointer;
|
|
outline: none;
|
|
}
|
|
|
|
input, select, textarea {
|
|
font-family: var(--font-body);
|
|
}
|
|
|
|
/* Scrollbars */
|
|
::-webkit-scrollbar {
|
|
width: 8px;
|
|
height: 8px;
|
|
}
|
|
::-webkit-scrollbar-track {
|
|
background: var(--bg-surface);
|
|
}
|
|
::-webkit-scrollbar-thumb {
|
|
background: var(--border-subtle);
|
|
border-radius: var(--radius-full);
|
|
}
|
|
::-webkit-scrollbar-thumb:hover {
|
|
background: var(--text-muted);
|
|
}
|
|
|
|
/* Animations */
|
|
@keyframes fadeIn {
|
|
from {
|
|
opacity: 0;
|
|
transform: translateY(8px);
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
|
|
@keyframes pulseSlow {
|
|
0%, 100% {
|
|
transform: scale(1);
|
|
opacity: 0.8;
|
|
}
|
|
50% {
|
|
transform: scale(1.08);
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
@keyframes floatOrbs {
|
|
0% {
|
|
transform: translate(0, 0) rotate(0deg);
|
|
}
|
|
50% {
|
|
transform: translate(25px, 20px) rotate(180deg);
|
|
}
|
|
100% {
|
|
transform: translate(0, 0) rotate(360deg);
|
|
}
|
|
}
|
|
|
|
@keyframes spin {
|
|
from {
|
|
transform: rotate(0deg);
|
|
}
|
|
to {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
|
|
.animate-fade-in {
|
|
animation: fadeIn 0.4s var(--transition-smooth) forwards;
|
|
}
|
|
|
|
/* Glassmorphism helpers */
|
|
.glass-panel {
|
|
background: var(--bg-glass-card);
|
|
backdrop-filter: blur(16px);
|
|
-webkit-backdrop-filter: blur(16px);
|
|
border: 1px solid var(--border-subtle);
|
|
border-radius: var(--radius-lg);
|
|
box-shadow: var(--shadow-md);
|
|
}
|
|
|
|
.glass-panel:hover {
|
|
border-color: rgba(99, 102, 241, 0.25);
|
|
}
|
|
|
|
/* Text Gradients */
|
|
.gradient-text {
|
|
background: var(--gradient-primary);
|
|
-webkit-background-clip: text;
|
|
-webkit-text-fill-color: transparent;
|
|
display: inline-block;
|
|
}
|