255 lines
6.1 KiB
CSS
255 lines
6.1 KiB
CSS
/* Vereinfachte Glassmorphism-Effekte für MYP Application */
|
|
|
|
/* ===== BASIS GLASS EFFEKTE ===== */
|
|
.glass-base {
|
|
background: rgba(255, 255, 255, 0.85);
|
|
backdrop-filter: blur(10px);
|
|
-webkit-backdrop-filter: blur(10px);
|
|
border: 1px solid rgba(255, 255, 255, 0.3);
|
|
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
|
|
transition: all 0.2s ease;
|
|
}
|
|
|
|
.glass-strong {
|
|
background: rgba(255, 255, 255, 0.9);
|
|
backdrop-filter: blur(12px);
|
|
-webkit-backdrop-filter: blur(12px);
|
|
border: 1px solid rgba(255, 255, 255, 0.4);
|
|
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
|
|
}
|
|
|
|
.glass-subtle {
|
|
background: rgba(255, 255, 255, 0.8);
|
|
backdrop-filter: blur(8px);
|
|
-webkit-backdrop-filter: blur(8px);
|
|
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
|
|
}
|
|
|
|
/* ===== DARK MODE GLASS ===== */
|
|
.dark .glass-base {
|
|
background: rgba(15, 23, 42, 0.8);
|
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
|
|
}
|
|
|
|
.dark .glass-strong {
|
|
background: rgba(30, 41, 59, 0.85);
|
|
border: 1px solid rgba(255, 255, 255, 0.15);
|
|
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.4);
|
|
}
|
|
|
|
.dark .glass-subtle {
|
|
background: rgba(15, 23, 42, 0.7);
|
|
border: 1px solid rgba(255, 255, 255, 0.08);
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
/* ===== GLASS KARTEN ===== */
|
|
.glass-card {
|
|
background: rgba(255, 255, 255, 0.9);
|
|
backdrop-filter: blur(10px);
|
|
-webkit-backdrop-filter: blur(10px);
|
|
border: 1px solid rgba(229, 231, 235, 0.5);
|
|
border-radius: 12px;
|
|
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08);
|
|
padding: 1.5rem;
|
|
transition: transform 0.2s ease, box-shadow 0.2s ease;
|
|
}
|
|
|
|
.glass-card:hover {
|
|
transform: translateY(-1px);
|
|
box-shadow: 0 12px 20px rgba(0, 0, 0, 0.12);
|
|
}
|
|
|
|
.dark .glass-card {
|
|
background: rgba(30, 41, 59, 0.85);
|
|
border: 1px solid rgba(100, 116, 139, 0.3);
|
|
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.25);
|
|
}
|
|
|
|
.dark .glass-card:hover {
|
|
box-shadow: 0 12px 20px rgba(0, 0, 0, 0.35);
|
|
}
|
|
|
|
/* ===== GLASS NAVIGATION ===== */
|
|
.glass-nav {
|
|
background: rgba(255, 255, 255, 0.9);
|
|
backdrop-filter: blur(12px);
|
|
-webkit-backdrop-filter: blur(12px);
|
|
border: 1px solid rgba(226, 232, 240, 0.4);
|
|
border-bottom: 1px solid rgba(203, 213, 225, 0.5);
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
|
|
}
|
|
|
|
.dark .glass-nav {
|
|
background: rgba(15, 23, 42, 0.85);
|
|
border: 1px solid rgba(51, 65, 85, 0.5);
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
/* ===== GLASS BUTTONS ===== */
|
|
.glass-btn {
|
|
background: rgba(255, 255, 255, 0.8);
|
|
backdrop-filter: blur(8px);
|
|
-webkit-backdrop-filter: blur(8px);
|
|
border: 1px solid rgba(226, 232, 240, 0.5);
|
|
border-radius: 8px;
|
|
padding: 0.75rem 1.5rem;
|
|
color: #0f172a;
|
|
font-weight: 600;
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
|
|
transition: transform 0.2s ease, background 0.2s ease;
|
|
}
|
|
|
|
.glass-btn:hover {
|
|
transform: translateY(-1px);
|
|
background: rgba(255, 255, 255, 0.9);
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.glass-btn-primary {
|
|
background: rgba(0, 115, 206, 0.9);
|
|
color: white;
|
|
box-shadow: 0 2px 8px rgba(0, 115, 206, 0.2);
|
|
}
|
|
|
|
.glass-btn-primary:hover {
|
|
background: rgba(0, 115, 206, 0.95);
|
|
box-shadow: 0 4px 12px rgba(0, 115, 206, 0.3);
|
|
}
|
|
|
|
.dark .glass-btn {
|
|
background: rgba(30, 41, 59, 0.8);
|
|
color: #e2e8f0;
|
|
border: 1px solid rgba(100, 116, 139, 0.5);
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
}
|
|
|
|
.dark .glass-btn:hover {
|
|
background: rgba(30, 41, 59, 0.9);
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
|
|
}
|
|
|
|
/* ===== GLASS MODALS ===== */
|
|
.glass-modal {
|
|
background: rgba(255, 255, 255, 0.95);
|
|
backdrop-filter: blur(16px);
|
|
-webkit-backdrop-filter: blur(16px);
|
|
border: 1px solid rgba(226, 232, 240, 0.6);
|
|
border-radius: 16px;
|
|
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
|
|
}
|
|
|
|
.dark .glass-modal {
|
|
background: rgba(15, 23, 42, 0.95);
|
|
border: 1px solid rgba(51, 65, 85, 0.6);
|
|
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
|
|
}
|
|
|
|
/* ===== GLASS FORM ELEMENTE ===== */
|
|
.glass-input {
|
|
background: rgba(255, 255, 255, 0.8);
|
|
backdrop-filter: blur(8px);
|
|
-webkit-backdrop-filter: blur(8px);
|
|
border: 1px solid rgba(226, 232, 240, 0.5);
|
|
border-radius: 6px;
|
|
padding: 0.75rem 1rem;
|
|
color: #0f172a;
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
|
|
transition: border-color 0.2s ease, box-shadow 0.2s ease;
|
|
}
|
|
|
|
.glass-input:focus {
|
|
outline: none;
|
|
border-color: rgba(0, 115, 206, 0.5);
|
|
box-shadow: 0 2px 8px rgba(0, 115, 206, 0.1);
|
|
}
|
|
|
|
.dark .glass-input {
|
|
background: rgba(30, 41, 59, 0.8);
|
|
border: 1px solid rgba(100, 116, 139, 0.5);
|
|
color: #e2e8f0;
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
|
|
}
|
|
|
|
.dark .glass-input:focus {
|
|
border-color: rgba(59, 130, 246, 0.5);
|
|
box-shadow: 0 2px 8px rgba(59, 130, 246, 0.15);
|
|
}
|
|
|
|
/* ===== GLASS DROPDOWN ===== */
|
|
.glass-dropdown {
|
|
background: rgba(255, 255, 255, 0.9);
|
|
backdrop-filter: blur(12px);
|
|
-webkit-backdrop-filter: blur(12px);
|
|
border: 1px solid rgba(255, 255, 255, 0.3);
|
|
border-radius: 8px;
|
|
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
|
|
}
|
|
|
|
.dark .glass-dropdown {
|
|
background: rgba(15, 23, 42, 0.9);
|
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
|
|
}
|
|
|
|
/* ===== UTILITY CLASSES ===== */
|
|
.glass-overlay {
|
|
background: rgba(255, 255, 255, 0.1);
|
|
backdrop-filter: blur(20px);
|
|
-webkit-backdrop-filter: blur(20px);
|
|
}
|
|
|
|
.dark .glass-overlay {
|
|
background: rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
/* ===== RESPONSIVE ANPASSUNGEN ===== */
|
|
@media (max-width: 768px) {
|
|
.glass-card {
|
|
padding: 1rem;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.glass-modal {
|
|
border-radius: 12px;
|
|
}
|
|
|
|
.glass-base,
|
|
.glass-strong,
|
|
.glass-subtle {
|
|
backdrop-filter: blur(6px);
|
|
-webkit-backdrop-filter: blur(6px);
|
|
}
|
|
}
|
|
|
|
/* ===== REDUZIERTE BEWEGUNG ===== */
|
|
@media (prefers-reduced-motion: reduce) {
|
|
.glass-card,
|
|
.glass-btn,
|
|
.glass-input {
|
|
transition: none !important;
|
|
}
|
|
}
|
|
|
|
/* ===== HOHER KONTRAST MODUS ===== */
|
|
@media (prefers-contrast: high) {
|
|
.glass-base,
|
|
.glass-strong,
|
|
.glass-card {
|
|
border-width: 2px;
|
|
backdrop-filter: blur(4px);
|
|
-webkit-backdrop-filter: blur(4px);
|
|
}
|
|
}
|
|
|
|
/* ===== PERFORMANCE OPTIMIERUNGEN ===== */
|
|
.glass-base,
|
|
.glass-strong,
|
|
.glass-subtle,
|
|
.glass-card,
|
|
.glass-btn,
|
|
.glass-modal {
|
|
will-change: transform;
|
|
} |