@use "../../css/material" as *; .homepage { min-height: 100vh; color: $color-dark-on-background; font-family: 'Montserrat', sans-serif; position: relative; // Container styles .container { max-width: 1200px; margin: 0 auto; padding: 0 2rem; } .colorSphere { background: conic-gradient( from 0deg, rgba(147, 51, 234, 0.5) 0%, rgba(99, 102, 241, 0.6) 12.5%, rgba(59, 130, 246, 0.55) 25%, rgba(168, 85, 247, 0.5) 37.5%, rgba(217, 70, 239, 0.6) 50%, rgba(236, 72, 153, 0.55) 62.5%, rgba(192, 132, 252, 0.5) 75%, rgba(126, 34, 206, 0.6) 87.5%, rgba(147, 51, 234, 0.5) 100% ); position: absolute; width: 100%; aspect-ratio: 1 / 1; top: -90vh; opacity: 0.3; left: 0; border-radius: 50%; filter: blur(80px); } // Header styles .homepageHeader { margin: 0 16px; padding: 16px 5px; background: rgba($color-dark-surface, 0.8); backdrop-filter: blur(10px); position: sticky; top: 16px; z-index: 1000; transition: all 0.3s ease; border-radius: 30px; .headerContent { display: flex; justify-content: space-between; align-items: center; .logo { display: flex; align-items: center; gap: 10px; .logoIcon { width: 40px; height: 40px; background-image: url('../../images/logo_square.svg'); background-size: cover; background-position: center; background-repeat: no-repeat; border-radius: 12px; } h1 { font-size: 2rem; font-weight: 700; margin: 0; background: linear-gradient(45deg, #9333EA, #6366F1, #3B82F6, #A855F7, #D946EF, #EC4899, #7E22CE); background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; text-shadow: 0 0 20px rgba(147, 51, 234, 0.5); } } .headerCenterLinks { display: flex; align-items: center; gap: 10px; a { display: flex; align-items: center; gap: 10px; } } .headerButton { display: flex; align-items: center; justify-content: center; } } } // Hero section .title { padding: 60px 80px; display: flex; align-items: center; margin-top: 0; flex-direction: column; .titleLogo { width: 120px; height: 120px; background-image: url('../../images/logo_square.svg'); background-size: cover; background-position: center; background-repeat: no-repeat; border-radius: 30px; } .titleContent { font-size: 30pt; font-weight: 700; background: linear-gradient(45deg, #9333EA, #6366F1, #3B82F6, #A855F7, #D946EF, #EC4899, #7E22CE); background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; text-shadow: 0 0 20px rgba(147, 51, 234, 0.5); margin-top: 10px; } .titleDesc { font-size: 16pt; opacity: 0.8; margin-top: 10px; text-align: center; } .titleButtons { display: flex; gap: 10px; margin-top: 20px; } } // Features section .features { padding: 6rem 0; backdrop-filter: blur(20px); .sectionTitle { text-align: center; font-size: 2.5rem; font-weight: 700; margin-bottom: 3rem; background: linear-gradient(45deg, $color-dark-primary, $color-dark-tertiary); background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; text-shadow: 0 0 20px rgba($color-dark-primary, 0.5); } .featuresGrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 2rem; .featureCard { background: rgba($color-dark-surface-container, 0.6); backdrop-filter: blur(20px); border-radius: 20px; padding: 2rem; border: 1px solid rgba($color-dark-primary, 0.3); transition: all 0.3s ease; position: relative; overflow: hidden; &::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, rgba($color-dark-primary, 0.1), rgba($color-dark-tertiary, 0.1)); opacity: 0; transition: opacity 0.3s ease; z-index: 0; } > * { position: relative; z-index: 1; } &:hover { transform: translateY(-5px); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3), 0 0 30px rgba($color-dark-primary, 0.2); border-color: rgba($color-dark-primary, 0.5); &::before { opacity: 1; } } .featureIcon { width: 60px; height: 60px; background: linear-gradient(135deg, rgba($color-dark-primary, 0.3), rgba($color-dark-tertiary, 0.3)); border-radius: 15px; display: flex; align-items: center; justify-content: center; margin-bottom: 1.5rem; border: 1px solid rgba($color-dark-primary, 0.4); box-shadow: 0 0 15px rgba($color-dark-primary, 0.2); user-select: none; mdui-icon { font-size: 1.5rem; color: $color-dark-primary; text-shadow: 0 0 10px rgba($color-dark-primary, 0.8); } } h4 { font-size: 1.25rem; font-weight: 600; margin-bottom: 1rem; color: $color-dark-on-surface; text-shadow: 0 0 10px rgba($color-dark-primary, 0.3); } p { line-height: 1.6; opacity: 0.9; color: $color-dark-on-surface-variant; } } } } // Download section .download { padding: 6rem 0; .downloadContent { text-align: center; max-width: 600px; margin: 0 auto; h3 { font-size: 2.5rem; font-weight: 700; margin-bottom: 1.5rem; background: linear-gradient(45deg, $color-dark-primary, $color-dark-tertiary); background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; text-shadow: 0 0 20px rgba($color-dark-primary, 0.5); } p { font-size: 1.25rem; line-height: 1.6; margin-bottom: 2.5rem; opacity: 0.9; } .downloadButtons { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; } } } // CTA section .cta { padding: 6rem 0; backdrop-filter: blur(20px); .ctaContent { text-align: center; max-width: 600px; margin: 0 auto; h3 { font-size: 2.5rem; font-weight: 700; margin-bottom: 1.5rem; background: linear-gradient(45deg, $color-dark-primary, $color-dark-tertiary); background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; text-shadow: 0 0 20px rgba($color-dark-primary, 0.5); } p { font-size: 1.25rem; line-height: 1.6; margin-bottom: 2.5rem; opacity: 0.9; } .ctaActions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; } } } // Footer .homepageFooter { backdrop-filter: blur(20px); padding: 3rem 0 1rem; box-shadow: 0 -4px 20px rgba($color-dark-primary, 0.1); .footerContent { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem; margin-bottom: 2rem; .footerSection { h4 { font-size: 1.1rem; font-weight: 600; margin-bottom: 1rem; color: $color-dark-on-surface; text-shadow: 0 0 10px rgba($color-dark-primary, 0.3); } p { opacity: 0.8; line-height: 1.6; color: $color-dark-on-surface-variant; } a { color: $color-dark-on-surface; text-decoration: none; opacity: 0.8; display: block; margin-bottom: 0.5rem; transition: all 0.3s ease; padding: 0.25rem 0; border-radius: 4px; &:hover { opacity: 1; color: $color-dark-primary; text-shadow: 0 0 10px rgba($color-dark-primary, 0.5); background: rgba($color-dark-primary, 0.1); } } } } .footerBottom { text-align: center; padding-top: 2rem; p { opacity: 0.7; margin: 0; color: $color-dark-on-surface-variant; } } } } // Keyframes for animations @keyframes neonGlow { 0% { text-shadow: 0 0 20px rgba($color-dark-primary, 0.5), 0 0 40px rgba($color-dark-primary, 0.3); } 100% { text-shadow: 0 0 30px rgba($color-dark-primary, 0.8), 0 0 60px rgba($color-dark-primary, 0.5); } } @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }