/* Globale Variablen */ :root { --dark-bg: #0e1220; --dark-card-bg: rgba(24, 28, 45, 0.8); --dark-element-bg: rgba(24, 28, 45, 0.8); --light-bg: #f0f4f8; --light-card-bg: rgba(255, 255, 255, 0.85); --accent-color: #b38fff; --accent-gradient: linear-gradient(135deg, #b38fff, #58a9ff); --accent-gradient-hover: linear-gradient(135deg, #c7a8ff, #70b5ff); --blur-amount: 20px; --border-radius: 28px; --card-border-radius: 24px; --button-radius: 18px; --nav-item-radius: 14px; } /* Dark Mode Einstellungen */ html.dark { color-scheme: dark; } /* Base Styles */ html, body { background-color: var(--dark-bg) !important; min-height: 100vh; width: 100%; color: #ffffff; margin: 0; padding: 0; font-family: 'Inter', system-ui, -apple-system, sans-serif; overflow-x: hidden; transition: background-color 0.5s ease, color 0.5s ease; } /* Sicherstellen, dass der dunkle Hintergrund die gesamte Seite abdeckt */ #app-container, .container, main, .mx-auto, .py-12, #content-wrapper { background-color: transparent !important; width: 100%; } /* Light Mode Einstellungen */ html.light, html.light body { background-color: var(--light-bg) !important; color: #1a202c; } /* Große Headings mit verbesserten Stilen */ h1.hero-heading { font-size: clamp(2.5rem, 8vw, 5rem); line-height: 1.1; font-weight: 800; letter-spacing: -0.03em; margin-bottom: 1.5rem; } h2.section-heading { font-size: clamp(1.75rem, 5vw, 3rem); line-height: 1.2; font-weight: 700; letter-spacing: -0.02em; margin-bottom: 1.25rem; } /* Verbesserte Glasmorphismus-Stile */ .glass-morphism { background: var(--dark-card-bg); backdrop-filter: blur(var(--blur-amount)); -webkit-backdrop-filter: blur(var(--blur-amount)); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: var(--card-border-radius); box-shadow: 0 12px 36px rgba(0, 0, 0, 0.35); transition: all 0.3s ease; } .glass-morphism:hover { border: 1px solid rgba(255, 255, 255, 0.2); box-shadow: 0 16px 48px rgba(0, 0, 0, 0.45); transform: translateY(-2px); } .glass-morphism-light { background: var(--light-card-bg); backdrop-filter: blur(var(--blur-amount)); -webkit-backdrop-filter: blur(var(--blur-amount)); border: 1px solid rgba(0, 0, 0, 0.08); border-radius: var(--card-border-radius); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12); transition: all 0.3s ease; } .glass-morphism-light:hover { border: 1px solid rgba(0, 0, 0, 0.15); box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18); transform: translateY(-2px); } /* Verbesserte Navbar-Styles */ .glass-navbar-dark { background: rgba(14, 18, 32, 0.85); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); border-color: rgba(255, 255, 255, 0.1); box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25); border-radius: 0 0 20px 20px; } .glass-navbar-light { background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); border-color: rgba(0, 0, 0, 0.05); box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08); border-radius: 0 0 20px 20px; } /* Verbesserte Button-Stile mit besserer Lesbarkeit und stärkeren Farbverläufen */ .btn, button, .button, [type="button"], [type="submit"] { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); border-radius: var(--button-radius); padding: 0.75rem 1.5rem; font-weight: 600; letter-spacing: 0.4px; color: rgba(255, 255, 255, 1); background: linear-gradient(135deg, rgba(99, 102, 241, 0.8), rgba(168, 85, 247, 0.8)); border: 1px solid rgba(255, 255, 255, 0.15); box-shadow: 0 6px 14px rgba(0, 0, 0, 0.2); text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); position: relative; overflow: hidden; outline: none; } .btn:hover, button:hover, .button:hover, [type="button"]:hover, [type="submit"]:hover { background: linear-gradient(135deg, rgba(129, 140, 248, 0.9), rgba(192, 132, 252, 0.9)); transform: translateY(-3px); border: 1px solid rgba(255, 255, 255, 0.3); box-shadow: 0 8px 22px rgba(0, 0, 0, 0.25), 0 0 12px rgba(179, 143, 255, 0.35); color: white; } .btn:active, button:active, .button:active, [type="button"]:active, [type="submit"]:active { transform: translateY(1px); box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2); } /* Navigation Stile mit verbesserten Farbverläufen */ .nav-link { transition: all 0.25s ease; border-radius: var(--nav-item-radius); padding: 0.625rem 1rem; font-weight: 500; letter-spacing: 0.3px; color: rgba(255, 255, 255, 0.9); position: relative; overflow: visible; } .nav-link:hover { background: rgba(179, 143, 255, 0.2); color: white; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); } .nav-link-active { background: linear-gradient(135deg, rgba(124, 58, 237, 0.3), rgba(139, 92, 246, 0.3)); color: white; font-weight: 600; box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18); } .nav-link-active::after { content: ''; position: absolute; bottom: 0; left: 10%; width: 80%; height: 2px; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.7), transparent); } /* Light-Mode Navigation Stile */ .nav-link-light { color: rgba(26, 32, 44, 0.85); } .nav-link-light:hover { background: rgba(179, 143, 255, 0.15); color: rgba(26, 32, 44, 1); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); } .nav-link-light-active { background: linear-gradient(135deg, rgba(124, 58, 237, 0.2), rgba(139, 92, 246, 0.2)); color: rgba(26, 32, 44, 1); font-weight: 600; box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1); } .nav-link-light-active::after { background: linear-gradient(90deg, transparent, rgba(26, 32, 44, 0.5), transparent); } /* Entfernung von Gradient-Hintergrund überall */ .gradient-bg, .purple-gradient, .gradient-purple-bg { background: var(--dark-bg) !important; background-image: none !important; } /* Verbesserte Light-Mode-Stile für Buttons */ html.light .btn, html.light button, html.light .button, html.light [type="button"], html.light [type="submit"] { background: linear-gradient(135deg, rgba(124, 58, 237, 0.7), rgba(139, 92, 246, 0.7)); color: #ffffff; border: 1px solid rgba(0, 0, 0, 0.1); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); text-shadow: none; } html.light .btn:hover, html.light button:hover, html.light .button:hover, html.light [type="button"]:hover, html.light [type="submit"]:hover { background: linear-gradient(135deg, rgba(139, 92, 246, 0.85), rgba(168, 85, 247, 0.85)); color: #ffffff; border: 1px solid rgba(0, 0, 0, 0.08); box-shadow: 0 8px 22px rgba(0, 0, 0, 0.12), 0 0 12px rgba(179, 143, 255, 0.2); text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); } /* Verbesserte Buttons mit Glasmorphismus */ .btn-primary { background: linear-gradient(135deg, rgba(179, 143, 255, 0.8), rgba(88, 169, 255, 0.8)); backdrop-filter: blur(var(--blur-amount)); -webkit-backdrop-filter: blur(var(--blur-amount)); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: var(--button-radius); color: white !important; font-weight: 600; padding: 0.75rem 1.5rem; transition: all 0.3s ease; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25); } .btn-primary:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35); background: linear-gradient(135deg, rgba(190, 160, 255, 0.9), rgba(100, 180, 255, 0.9)); } .btn-secondary { background: rgba(32, 36, 55, 0.8); backdrop-filter: blur(var(--blur-amount)); -webkit-backdrop-filter: blur(var(--blur-amount)); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: var(--button-radius); color: white; font-weight: 500; padding: 0.75rem 1.5rem; transition: all 0.3s ease; box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2); } .btn-secondary:hover { transform: translateY(-3px); box-shadow: 0 10px 28px rgba(0, 0, 0, 0.3); background: rgba(38, 42, 65, 0.9); border: 1px solid rgba(255, 255, 255, 0.15); } /* Steuerungsbutton-Stil */ .control-btn { padding: 0.5rem 1rem; background: rgba(32, 36, 55, 0.8); color: rgba(255, 255, 255, 0.9); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 14px; font-size: 0.875rem; font-weight: 500; transition: all 0.25s ease; backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); } .control-btn:hover { background: rgba(38, 42, 65, 0.9); border: 1px solid rgba(255, 255, 255, 0.2); transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25); } /* Verbesserter Farbverlauf-Text */ .gradient-text { background: linear-gradient(135deg, rgba(200, 170, 255, 1), rgba(100, 180, 255, 1)); -webkit-background-clip: text; background-clip: text; color: transparent; font-weight: 700; letter-spacing: -0.02em; text-shadow: 0 2px 10px rgba(179, 143, 255, 0.3); filter: drop-shadow(0 2px 6px rgba(179, 143, 255, 0.3)); } /* Globaler Hintergrund */ .full-page-bg { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background-color: var(--dark-bg); z-index: -10; } html.light .full-page-bg { background-color: var(--light-bg); } /* Animationen für Hintergrundeffekte */ @keyframes float { 0% { transform: translateY(0); } 50% { transform: translateY(-12px); } 100% { transform: translateY(0); } } @keyframes pulse { 0% { opacity: 0.7; transform: scale(1); } 50% { opacity: 1; transform: scale(1.05); } 100% { opacity: 0.7; transform: scale(1); } } .animate-float { animation: float 6s ease-in-out infinite; } .animate-pulse { animation: pulse 3s ease-in-out infinite; } /* Verbesserter Container für konsistente Layouts */ .page-container { max-width: 1200px; margin: 0 auto; padding: 2rem 1rem; } /* Dark Mode Toggle Stile */ .dot { transform: translateX(0); transition: transform 0.3s ease-in-out, background-color 0.3s ease; } input:checked ~ .dot { transform: translateX(100%); background-color: #58a9ff; } input:checked ~ .block { background-color: rgba(88, 169, 255, 0.4); } /* Feature Cards mit Glasmorphismus und Farbverlauf */ .feature-card { border-radius: var(--card-border-radius); padding: 2rem; transition: all 0.3s ease; background: linear-gradient(145deg, rgba(32, 36, 55, 0.7), rgba(24, 28, 45, 0.9)); backdrop-filter: blur(var(--blur-amount)); -webkit-backdrop-filter: blur(var(--blur-amount)); border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2); } .feature-card:hover { transform: translateY(-5px); box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3); border: 1px solid rgba(255, 255, 255, 0.15); background: linear-gradient(145deg, rgba(40, 44, 65, 0.8), rgba(28, 32, 50, 0.95)); } html.light .feature-card { background: linear-gradient(145deg, rgba(255, 255, 255, 0.8), rgba(240, 240, 250, 0.9)); border: 1px solid rgba(0, 0, 0, 0.05); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08); } html.light .feature-card:hover { background: linear-gradient(145deg, rgba(255, 255, 255, 0.9), rgba(245, 245, 255, 0.95)); border: 1px solid rgba(0, 0, 0, 0.08); box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12); } .feature-card .icon { width: 60px; height: 60px; border-radius: 18px; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; margin-bottom: 1.25rem; background: linear-gradient(135deg, rgba(124, 58, 237, 0.8), rgba(139, 92, 246, 0.6)); color: white; box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15); } .feature-card h3 { font-size: 1.25rem; font-weight: 600; margin-bottom: 0.75rem; color: rgba(255, 255, 255, 0.95); } html.light .feature-card h3 { color: rgba(26, 32, 44, 0.95); } .feature-card p { color: rgba(255, 255, 255, 0.75); line-height: 1.6; } html.light .feature-card p { color: rgba(26, 32, 44, 0.75); }