.guide-page {
display: flex;
flex-direction: column;
min-height: 100vh;
}
.guide-hero {
padding: calc(var(--space-8) * 1.5) 0 var(--space-8);
text-align: center;
position: relative;
background: transparent;
}
.guide-hero::after, .section::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 4px;
background: rgba(128, 128, 128, 0.05);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border-top: 1px solid rgba(255, 255, 255, 0.03);
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.guide-hero .container {
position: relative;
z-index: 1;
max-width: 800px;
margin: 0 auto;
}
.guide-hero h1 {
font-size: clamp(2.5rem, 5vw, 3.5rem);
font-weight: 800;
line-height: 1.1;
letter-spacing: -0.02em;
margin-bottom: var(--space-4);
color: var(--text);
opacity: 0;
animation: fadeUp 0.8s ease-out forwards;
}
.guide-hero p {
font-size: 1.125rem;
color: var(--text-secondary);
max-width: 650px;
margin: 0 auto;
line-height: 1.6;
opacity: 0;
animation: fadeUp 0.8s ease-out 0.15s forwards;
}
.section {
padding: calc(var(--space-8) * 1.2) 0;
position: relative;
}
.section-header {
text-align: center;
margin-bottom: calc(var(--space-8) * 1.5);
}
.section-header h2 {
font-size: 2.25rem;
font-weight: 700;
letter-spacing: -0.02em;
margin-bottom: var(--space-3);
color: var(--text);
}
.section-header p {
color: var(--text-secondary);
font-size: 1.1rem;
max-width: 650px;
margin: 0 auto;
line-height: 1.6;
}
.feature-row {
display: flex;
align-items: center;
gap: var(--space-8);
margin-bottom: calc(var(--space-8) * 1.5);
}
.feature-row:last-child {
margin-bottom: 0;
}
.feature-row:nth-child(even) {
flex-direction: row-reverse;
}
@media (max-width: 768px) {
.feature-row, .feature-row:nth-child(even) {
flex-direction: column;
gap: var(--space-5);
}
}
.feature-text {
flex: 1;
}
.feature-text h3 {
font-size: 1.75rem;
font-weight: 700;
margin-bottom: var(--space-3);
color: var(--text);
display: flex;
align-items: center;
flex-wrap: wrap;
gap: var(--space-3);
}
.feature-text p {
font-size: 1.1rem;
color: var(--text-secondary);
line-height: 1.6;
margin-bottom: var(--space-4);
}
.feature-steps {
list-style: none;
}
.feature-steps li {
position: relative;
padding-left: 2rem;
margin-bottom: var(--space-3);
font-size: 1rem;
color: var(--text-secondary);
line-height: 1.5;
}
.feature-steps li::before {
content: '→';
position: absolute;
left: 0;
color: var(--text-muted);
}
.feature-steps li strong {
color: var(--text);
}
.best-for {
margin-top: var(--space-4);
font-size: 0.95rem;
color: var(--text-muted);
border-left: 2px solid var(--border-light);
padding-left: var(--space-3);
}
.best-for strong {
color: var(--text-secondary);
text-transform: uppercase;
font-size: 0.8rem;
letter-spacing: 0.05em;
display: block;
margin-bottom: 4px;
}
.feature-visual-container {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
width: 100%;
}
.feature-visual {
width: 100%;
max-width: 480px;
height: 320px;
background: var(--surface);
border: 1px solid var(--border);
border-radius: var(--radius-lg);
position: relative;
overflow: hidden;
transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.6s ease, box-shadow 0.6s ease;
}
.feature-row:hover .feature-visual {
transform: translateY(-8px);
border-color: var(--border-light);
box-shadow: var(--shadow-md);
}
.visual-zip {
display: flex;
align-items: center;
justify-content: center;
background: var(--surface-2);
}
.zip-core {
display: flex;
flex-direction: column;
align-items: center;
position: relative;
z-index: 2;
transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.zip-icon-svg {
width: 64px;
height: 64px;
color: #B366FF;
}
.zip-files {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
display: flex;
gap: 8px;
z-index: 1;
}
.zip-file {
width: 48px;
height: 64px;
background: var(--surface);
border: 1px solid var(--border-light);
border-radius: 4px;
opacity: 0;
transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
display: flex;
flex-direction: column;
gap: 4px;
padding: 8px;
}
.zip-file-line {
height: 4px;
background: var(--border);
border-radius: 2px;
}
.feature-row:hover .zip-core {
transform: translateY(-50px) scale(0.9);
}
.feature-row:hover .zip-file {
opacity: 1;
}
.feature-row:hover .zip-file:nth-child(1) { transform: translate(-80px, 20px) rotate(-15deg); }
.feature-row:hover .zip-file:nth-child(2) { transform: translate(0, 40px); transition-delay: 0.1s; }
.feature-row:hover .zip-file:nth-child(3) { transform: translate(80px, 20px) rotate(15deg); transition-delay: 0.2s;}
.visual-excel {
background: var(--surface-2);
padding: var(--space-6);
display: flex;
flex-direction: column;
gap: 8px;
}
.excel-header-row {
display: flex;
gap: 8px;
margin-bottom: 8px;
}
.excel-h {
height: 16px;
background: var(--surface-3);
border-radius: 4px;
flex: 1;
}
.excel-row {
display: flex;
gap: 8px;
}
.excel-cell {
height: 24px;
background: var(--surface);
border: 1px solid var(--border);
border-radius: 4px;
flex: 1;
position: relative;
overflow: hidden;
}
.excel-cell::after {
content: '';
position: absolute;
top: 4px;
left: -100%;
bottom: 4px;
width: 60%;
background: #3291FF;
border-radius: 2px;
opacity: 0.2;
transition: left 0s;
}
.feature-row:hover .excel-cell::after {
left: 4px;
transition: left 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.feature-row:hover .excel-row:nth-child(1) .excel-cell::after { transition-delay: 0.1s; }
.feature-row:hover .excel-row:nth-child(2) .excel-cell::after { transition-delay: 0.2s; }
.feature-row:hover .excel-row:nth-child(3) .excel-cell::after { transition-delay: 0.3s; }
.feature-row:hover .excel-row:nth-child(4) .excel-cell::after { transition-delay: 0.4s; }
.visual-pie {
background: var(--surface-2);
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 32px;
}
.pie-chart-mock {
width: 140px;
height: 140px;
border-radius: 50%;
background: conic-gradient(#b366ff 0% 40%, #3291ff 40% 75%, #ff3366 75% 100%);
position: relative;
transition: transform 0.4s ease, box-shadow 0.4s ease;
box-shadow: inset 0 0 0 20px var(--surface-2);
}
.pie-chart-mock::after {
content: '';
position: absolute;
top: 50%; left: 50%; transform: translate(-50%, -50%);
width: 60px; height: 60px;
background: var(--surface-2);
border-radius: 50%;
transition: background 0.4s ease;
}
.pie-tooltip {
position: absolute;
top: -20px;
right: -80px;
background: var(--surface);
border: 1px solid var(--border);
padding: 8px 12px;
border-radius: 6px;
font-size: 0.8rem;
font-weight: 600;
color: var(--text);
white-space: nowrap;
opacity: 0;
transform: translateY(10px);
transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.1s;
box-shadow: var(--shadow-md);
z-index: 2;
}
.pie-legend {
display: flex;
flex-direction: column;
gap: 12px;
font-size: 0.85rem;
}
.legend-item {
display: flex;
align-items: center;
gap: 8px;
color: var(--text);
transition: all 0.3s ease;
padding: 4px 8px;
border-radius: 4px;
background: var(--surface);
border: 1px solid var(--border-light);
}
.legend-item .dot { width: 12px; height: 12px; border-radius: 50%; }
.legend-item .dot.c1 { background: #b366ff; }
.legend-item .dot.c2 { background: #3291ff; }
.legend-item .dot.c3 { background: #ff3366; }
.feature-row:hover .pie-chart-mock {
transform: scale(1.05) rotate(5deg);
}
.feature-row:hover .pie-tooltip {
opacity: 1;
transform: translateY(-10px);
}
.feature-row:hover .legend-item:nth-child(3) {
opacity: 0.4;
text-decoration: line-through;
transform: translateX(5px);
}
.visual-bars {
background: var(--surface-2);
display: flex;
align-items: center;
justify-content: center;
padding: 24px;
}
.bar-mock-container {
width: 100%;
max-width: 320px;
display: flex;
flex-direction: column;
gap: 20px;
position: relative;
}
.bar-row {
display: flex;
align-items: center;
gap: 12px;
}
.bar-label {
width: 50px;
font-size: 0.8rem;
font-weight: 600;
color: var(--text-secondary);
}
.bar-track {
flex: 1;
height: 16px;
background: var(--surface-3);
border-radius: 8px;
overflow: hidden;
transition: box-shadow 0.3s ease;
}
.bar-fill {
height: 100%;
width: 0%;
background: var(--c);
border-radius: 8px;
transition: width 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.bar-tooltip {
position: absolute;
top: -50px;
right: 20px;
background: var(--surface);
border: 1px solid var(--border);
padding: 8px 12px;
border-radius: 6px;
font-size: 0.75rem;
color: var(--text-secondary);
opacity: 0;
transform: translateY(10px);
transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) 0.3s;
box-shadow: var(--shadow-md);
z-index: 2;
pointer-events: none;
}
.bar-tooltip strong {
color: var(--text);
font-size: 0.85rem;
display: block;
margin-bottom: 2px;
}
.feature-row:hover .bar-fill {
width: var(--fill);
}
.feature-row:hover .bar-tooltip {
opacity: 1;
transform: translateY(0);
}
.feature-row:hover .bar-row:nth-child(2) .bar-track {
box-shadow: 0 0 0 2px var(--surface-2), 0 0 0 4px var(--border-light);
}
.visual-pdf-low {
background: var(--surface-2);
display: flex;
align-items: center;
justify-content: center;
}
.pdf-doc-low {
width: 180px;
height: 240px;
background: var(--surface);
border: 1px solid var(--border);
border-radius: 8px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 16px;
transform: translateY(0);
transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), background 0.4s ease;
}
.pdf-line-low {
height: 8px;
background: var(--surface-3);
border-radius: 4px;
width: 100%;
}
.pdf-img-low {
height: 80px;
background: var(--surface-3);
border-radius: 4px;
width: 100%;
display: flex;
align-items: center;
justify-content: center;
color: var(--text-muted);
font-size: 0.8rem;
font-weight: 600;
}
.feature-row:hover .pdf-doc-low {
transform: translateY(20px);
background: var(--surface-3);
}
.visual-pdf-high {
background: radial-gradient(circle at center, var(--surface-3) 0%, var(--surface-2) 100%);
display: flex;
align-items: center;
justify-content: center;
}
.pdf-doc-high {
width: 200px;
height: 260px;
background: var(--bg);
border: 1px solid var(--border-light);
border-radius: 8px;
padding: 24px;
box-shadow: var(--shadow-sm);
display: flex;
flex-direction: column;
gap: 16px;
transform: scale(0.95);
transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.8s ease;
}
.pdf-line-high {
height: 8px;
background: linear-gradient(90deg, var(--text-secondary) 0%, transparent 100%);
background-size: 200% 100%;
border-radius: 4px;
width: 0%;
transition: width 0.8s ease;
}
.pdf-chart-high {
height: 100px;
border: 1px solid var(--border);
border-radius: 4px;
position: relative;
overflow: hidden;
}
.pdf-chart-high::after {
content: '';
position: absolute;
bottom: 0;
left: 15%;
width: 20%;
height: 0%;
background: #27c93f;
opacity: 0.8;
transition: height 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.2s;
border-top-left-radius: 2px;
border-top-right-radius: 2px;
}
.pdf-chart-high::before {
content: '';
position: absolute;
bottom: 0;
left: 45%;
width: 20%;
height: 0%;
background: var(--text);
opacity: 0.8;
transition: height 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.3s;
border-top-left-radius: 2px;
border-top-right-radius: 2px;
}
.feature-row:hover .pdf-doc-high {
transform: scale(1.05);
box-shadow: 0 20px 40px rgba(0,0,0,0.15);
}
.feature-row:hover .pdf-line-high {
width: 100%;
}
.feature-row:hover .pdf-line-high:nth-child(2) { transition-delay: 0.1s; }
.feature-row:hover .pdf-line-high:nth-child(3) { transition-delay: 0.2s; width: 80%; }
.feature-row:hover .pdf-chart-high::after { height: 60%; }
.feature-row:hover .pdf-chart-high::before { height: 85%; }
.visual-disclaimer {
background: var(--surface-2);
display: flex;
align-items: center;
justify-content: center;
}
.disclaimer-animation-wrapper {
position: relative;
width: 140px;
height: 180px;
display: flex;
align-items: center;
justify-content: center;
}
.doc-whole {
position: absolute;
width: 100px;
height: 140px;
background: var(--surface);
border: 1px solid var(--border);
border-radius: 4px;
padding: 16px;
display: flex;
flex-direction: column;
gap: 8px;
transition: opacity 0.2s ease, transform 0.3s ease;
z-index: 2;
}
.doc-line {
height: 4px;
background: var(--border-light);
border-radius: 2px;
width: 100%;
}
.doc-shredded {
position: absolute;
width: 100px;
height: 140px;
display: flex;
gap: 2px;
opacity: 0;
z-index: 1;
}
.shred {
flex: 1;
background: var(--surface);
border-top: 1px solid var(--border);
border-bottom: 1px solid var(--border);
background-image: repeating-linear-gradient(to bottom, transparent, transparent 12px, var(--border-light) 12px, var(--border-light) 16px);
transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
transform: translateY(0);
}
.shred:first-child { border-left: 1px solid var(--border); border-top-left-radius: 4px; border-bottom-left-radius: 4px; }
.shred:last-child { border-right: 1px solid var(--border); border-top-right-radius: 4px; border-bottom-right-radius: 4px; }
.caution-pop {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) scale(0);
color: #ff3366;
z-index: 3;
opacity: 0;
transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.feature-row:hover .doc-whole {
opacity: 0;
transform: scale(0.95);
}
.feature-row:hover .doc-shredded {
opacity: 1;
}
.feature-row:hover .shred {
opacity: 0;
}
.feature-row:hover .shred:nth-child(1) { transform: translateY(50px) rotate(-15deg); transition-delay: 0.05s; }
.feature-row:hover .shred:nth-child(2) { transform: translateY(70px) rotate(-5deg); transition-delay: 0.1s; }
.feature-row:hover .shred:nth-child(3) { transform: translateY(60px) rotate(5deg); transition-delay: 0.0s; }
.feature-row:hover .shred:nth-child(4) { transform: translateY(80px) rotate(10deg); transition-delay: 0.15s; }
.feature-row:hover .shred:nth-child(5) { transform: translateY(55px) rotate(15deg); transition-delay: 0.05s; }
.feature-row:hover .caution-pop {
opacity: 1;
transform: translate(-50%, -50%) scale(1.1);
transition-delay: 0.1s;
}
.badge {
display: inline-flex;
align-items: center;
padding: 0.25rem 0.5rem;
border-radius: 4px;
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
vertical-align: middle;
margin-left: 8px;
}
.badge-purple {
background-color: rgba(179, 102, 255, 0.1);
color: #b366ff;
}
.badge-blue {
background-color: rgba(50, 145, 255, 0.1);
color: #3291ff;
}
.badge-green {
background-color: rgba(39, 201, 63, 0.1);
color: #27c93f;
}
.badge-orange {
background-color: rgba(255, 189, 46, 0.1);
color: #ffbd2e;
}
@keyframes fadeUp {
from { opacity: 0; transform: translateY(15px); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes gentleRotate {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
.visual-upload {
display: flex;
align-items: center;
justify-content: center;
background: var(--surface-2);
}
.upload-mock {
width: 200px;
height: 160px;
border: 2px dashed var(--border-light);
border-radius: var(--radius-md);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background: var(--surface);
position: relative;
overflow: hidden;
}
.upload-icon-svg {
width: 48px;
height: 48px;
color: var(--accent);
animation: uploadBounce 4s infinite ease-in-out;
}
.upload-line {
width: 80%;
height: 6px;
background: var(--border-light);
border-radius: 3px;
margin-top: 24px;
position: relative;
overflow: hidden;
}
.upload-progress-fill {
height: 100%;
background: var(--accent);
width: 0%;
animation: uploadProgress 4s infinite ease-in-out;
}
@keyframes uploadBounce {
0%, 100% { transform: translateY(0); }
10% { transform: translateY(-10px); }
30% { transform: translateY(0); }
}
@keyframes uploadProgress {
0%, 30% { width: 0%; opacity: 1; }
60%, 80% { width: 100%; opacity: 1; }
90%, 100% { width: 100%; opacity: 0; }
}
.visual-nav {
display: flex;
align-items: center;
justify-content: center;
background: var(--surface-2);
}
.nav-mock-wrapper {
width: 240px;
height: 160px;
border: 1px solid var(--border);
border-radius: var(--radius-md);
display: flex;
background: var(--surface);
overflow: hidden;
box-shadow: var(--shadow-sm);
}
.nav-mock-sidebar {
width: 60px;
background: var(--surface-3);
border-right: 1px solid var(--border);
display: flex;
flex-direction: column;
gap: 8px;
padding: 16px 8px;
}
.nav-mock-item {
height: 12px;
border-radius: 4px;
background: var(--border);
animation: navCycle 6s infinite;
}
.nav-mock-item:nth-child(1) { animation-delay: 0s; }
.nav-mock-item:nth-child(2) { animation-delay: -4s; }
.nav-mock-item:nth-child(3) { animation-delay: -2s; }
.nav-mock-content {
flex: 1;
padding: 16px;
display: flex;
flex-direction: column;
gap: 12px;
}
.nav-mock-header {
height: 16px;
width: 60%;
background: var(--border-light);
border-radius: 4px;
animation: contentFlash 6s infinite;
}
.nav-mock-body {
flex: 1;
background: var(--border);
border-radius: 8px;
animation: contentFlash 6s infinite 0.1s;
opacity: 0.5;
}
@keyframes navCycle {
0%, 25% { background: var(--accent); width: 100%; }
33%, 100% { background: var(--border); width: 70%; }
}
@keyframes contentFlash {
0%, 25%, 100% { opacity: 0.8; }
30%, 33% { opacity: 0.2; }
}
.visual-serverless {
display: flex;
align-items: center;
justify-content: center;
background: var(--surface-2);
}
.serverless-anim-container {
position: relative;
width: 80px;
height: 80px;
display: flex;
align-items: center;
justify-content: center;
}
.sl-file, .sl-clock, .sl-trash {
position: absolute;
width: 48px;
height: 48px;
display: flex;
align-items: center;
justify-content: center;
}
.sl-file svg, .sl-clock svg, .sl-trash svg {
width: 100%;
height: 100%;
}
.sl-file {
color: var(--accent);
animation: slPhase1 6s infinite;
}
.sl-clock {
color: #F59E0B;
animation: slPhase2 6s infinite;
opacity: 0;
}
.sl-trash {
color: #EF4444;
animation: slPhase3 6s infinite;
opacity: 0;
}
@keyframes slPhase1 {
0%, 10% { opacity: 0; transform: scale(0.8) translateY(-20px); }
15%, 35% { opacity: 1; transform: scale(1) translateY(0); }
40%, 100% { opacity: 0; transform: scale(0.8) translateY(20px); }
}
@keyframes slPhase2 {
0%, 35% { opacity: 0; transform: rotate(0deg) scale(0.5); }
40% { opacity: 1; transform: rotate(0deg) scale(1.2); }
55% { opacity: 1; transform: rotate(360deg) scale(1); }
60%, 100% { opacity: 0; transform: scale(0.5); }
}
@keyframes slPhase3 {
0%, 55% { opacity: 0; transform: scale(0.8) translateY(-20px); }
60%, 85% { opacity: 1; transform: scale(1) translateY(0); }
90%, 100% { opacity: 0; transform: scale(0.8) translateY(20px); }
}
.visual-filters {
display: flex;
align-items: center;
justify-content: center;
background: var(--surface-2);
}
.filter-mock-container {
width: 280px;
background: var(--surface);
border: 1px solid var(--border);
border-radius: var(--radius-md);
padding: 16px;
display: flex;
flex-direction: column;
gap: 16px;
box-shadow: var(--shadow-sm);
}
.filter-mock-controls {
display: flex;
flex-direction: column;
gap: 12px;
}
.filter-mock-group {
display: flex;
flex-direction: column;
gap: 4px;
}
.filter-mock-label {
font-size: 0.7rem;
color: var(--text-secondary);
font-weight: 500;
}
.filter-mock-select {
position: relative;
width: 100%;
height: 32px;
border: 1px solid var(--border);
border-radius: var(--radius-sm);
display: flex;
align-items: center;
padding: 0 10px;
font-size: 0.75rem;
color: var(--text);
background: var(--surface);
}
.filter-mock-select::after {
content: '';
position: absolute;
right: 10px;
width: 10px;
height: 10px;
background-image: url("data:image/svg+xml,%3Csvg stroke='gray' fill='none' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
background-size: cover;
}
.fm-interactive {
animation: fmClick 8s infinite;
}
.fm-text-1 {
position: absolute;
animation: fmFade1 8s infinite;
}
.fm-text-2 {
position: absolute;
opacity: 0;
animation: fmFade2 8s infinite;
}
.fm-dropdown {
position: absolute;
top: 100%;
left: 0;
width: 100%;
background: var(--surface-3);
border: 1px solid var(--border);
border-radius: var(--radius-sm);
margin-top: 4px;
z-index: 10;
opacity: 0;
pointer-events: none;
transform: translateY(-5px);
animation: fmDrop 8s infinite;
}
.fm-option {
padding: 6px 10px;
font-size: 0.75rem;
border-bottom: 1px solid var(--border);
}
.fm-option-2 {
animation: fmHover 8s infinite;
}
.fm-option:last-child {
border-bottom: none;
}
.filter-mock-chart {
height: 80px;
border-top: 1px dashed var(--border);
padding-top: 12px;
display: flex;
align-items: flex-end;
justify-content: space-around;
gap: 8px;
}
.fm-bar {
width: 24px;
background: var(--accent);
border-radius: 4px 4px 0 0;
opacity: 0.8;
}
.fm-b1 { animation: fmBar1 8s infinite; }
.fm-b2 { animation: fmBar2 8s infinite; }
.fm-b3 { animation: fmBar3 8s infinite; }
.fm-b4 { animation: fmBar4 8s infinite; }
@keyframes fmClick {
0%, 15% { border-color: var(--border); }
20%, 40% { border-color: var(--accent); }
45%, 100% { border-color: var(--border); }
}
@keyframes fmDrop {
0%, 15% { opacity: 0; transform: translateY(-5px); }
20%, 40% { opacity: 1; transform: translateY(0); }
45%, 100% { opacity: 0; transform: translateY(-5px); }
}
@keyframes fmFade1 {
0%, 30% { opacity: 1; }
35%, 100% { opacity: 0; }
}
@keyframes fmFade2 {
0%, 30% { opacity: 0; }
35%, 100% { opacity: 1; }
}
@keyframes fmHover {
0%, 25% { background: transparent; color: inherit; }
30%, 35% { background: var(--accent-transparent); color: var(--accent); }
40%, 100% { background: transparent; color: inherit; }
}
@keyframes fmBar1 {
0%, 30% { height: 60px; }
35%, 100% { height: 40px; }
}
@keyframes fmBar2 {
0%, 30% { height: 30px; }
35%, 100% { height: 70px; }
}
@keyframes fmBar3 {
0%, 30% { height: 45px; }
35%, 100% { height: 25px; }
}
@keyframes fmBar4 {
0%, 30% { height: 20px; }
35%, 100% { height: 50px; }
}