Spaces:
Running
Running
/* Animations */ | |
/* Spinner Animation */ | |
@keyframes spin { | |
0% { transform: rotate(0deg); } | |
100% { transform: rotate(360deg); } | |
} | |
.spinner { | |
animation: spin 1s linear infinite; | |
} | |
/* Fade In Animation */ | |
@keyframes fadeIn { | |
from { opacity: 0; } | |
to { opacity: 1; } | |
} | |
.fade-in { | |
animation: fadeIn 0.5s ease-in; | |
} | |
/* Slide Up Animation */ | |
@keyframes slideUp { | |
from { | |
transform: translateY(20px); | |
opacity: 0; | |
} | |
to { | |
transform: translateY(0); | |
opacity: 1; | |
} | |
} | |
.slide-up { | |
animation: slideUp 0.5s ease-out; | |
} | |
/* Pulse Animation */ | |
@keyframes pulse { | |
0% { transform: scale(1); } | |
50% { transform: scale(1.05); } | |
100% { transform: scale(1); } | |
} | |
.pulse { | |
animation: pulse 2s infinite; | |
} | |
/* Scale Animation */ | |
@keyframes scale { | |
from { transform: scale(0.95); } | |
to { transform: scale(1); } | |
} | |
.scale { | |
animation: scale 0.3s ease-out; | |
} | |
/* Button Hover Effects */ | |
.analyze-btn:not(:disabled):hover { | |
transform: translateY(-2px); | |
box-shadow: 0 4px 6px rgba(37, 99, 235, 0.25); | |
} | |
.analyze-btn:not(:disabled):active { | |
transform: translateY(0); | |
} | |
/* Card Hover Effects */ | |
.feature-card:hover .feature-icon { | |
transform: scale(1.1); | |
background-color: rgba(37, 99, 235, 0.15); | |
} | |
/* File Upload Animation */ | |
.upload-area.dragover { | |
transform: scale(1.02); | |
} | |
/* Tab Button Animation */ | |
.tab-btn { | |
transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.2s ease; | |
} | |
.tab-btn:hover:not(.active) { | |
transform: translateY(-2px); | |
} | |
.tab-btn.active { | |
transform: translateY(-3px); | |
} | |
/* Results Container Animation */ | |
.results-container { | |
transition: transform 0.3s ease, box-shadow 0.3s ease; | |
} | |
.results-container:hover { | |
box-shadow: var(--shadow-lg); | |
} | |
/* Section Transitions */ | |
.section-title, | |
.feature-card, | |
.about-content p { | |
opacity: 0; | |
transform: translateY(20px); | |
transition: opacity 0.5s ease, transform 0.5s ease; | |
} | |
/* These will be activated by JavaScript when elements come into view */ | |
.appear { | |
opacity: 1; | |
transform: translateY(0); | |
} | |
/* Hero Section Animation */ | |
.hero { | |
background-size: 200% 200%; | |
animation: gradientAnimation 15s ease infinite; | |
} | |
@keyframes gradientAnimation { | |
0% { background-position: 0% 50%; } | |
50% { background-position: 100% 50%; } | |
100% { background-position: 0% 50%; } | |
} | |
/* Logo Animation */ | |
.logo i { | |
transition: transform 0.3s ease; | |
} | |
.logo:hover i { | |
transform: rotate(15deg); | |
} | |
/* Action Buttons Animation */ | |
.action-btn { | |
transition: all 0.2s ease; | |
} | |
.action-btn:hover { | |
transform: translateY(-2px); | |
} | |
.action-btn:active { | |
transform: translateY(0); | |
} | |
/* File Selected Animation */ | |
.file-selected { | |
border-color: var(--success-color) ; | |
background-color: rgba(16, 185, 129, 0.05) ; | |
} | |
.file-selected i { | |
color: var(--success-color); | |
} |