/* NeuroMorph Gallery - Shared Styles */ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap'); * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Inter', sans-serif; background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%); min-height: 100vh; } /* Neomorphic Design Elements */ .neomorphic-card { background: linear-gradient(145deg, #ffffff, #e6e6e6); border-radius: 20px; box-shadow: 8px 8px 16px #d1d1d1, -8px -8px 16px #ffffff; transition: all 0.3s ease; } .neomorphic-card:hover { transform: translateY(-5px); box-shadow: 12px 12px 24px #c9c9c9, -12px -12px 24px #ffffff; } .neomorphic-button { background: linear-gradient(145deg, #ffffff, #e6e6e6); border-radius: 15px; box-shadow: 5px 5px 10px #d1d1d1, -5px -5px 10px #ffffff; transition: all 0.3s ease; } .neomorphic-button:hover { box-shadow: 3px 3px 6px #c9c9c9, -3px -3px 6px #ffffff; transform: translateY(2px); } .neomorphic-input { background: linear-gradient(145deg, #ffffff, #e6e6e6); border: none; border-radius: 15px; box-shadow: inset 5px 5px 10px #d1d1d1, inset -5px -5px 10px #ffffff; padding: 12px 20px; font-size: 16px; transition: all 0.3s ease; } .neomorphic-input:focus { outline: none; box-shadow: inset 3px 3px 6px #c9c9c9, inset -3px -3px 6px #ffffff; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 10px; } ::-webkit-scrollbar-thumb { background: linear-gradient(135deg, #f97316, #fb923c); border-radius: 10px; } ::-webkit-scrollbar-thumb:hover { background: linear-gradient(135deg, #ea580c, #f97316); } /* Loading animation */ @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } } .loading { animation: pulse 2s infinite; } /* Mobile optimizations */ @media (max-width: 768px) { .neomorphic-card { border-radius: 15px; box-shadow: 5px 5px 10px #d1d1d1, -5px -5px 10px #ffffff; } } /* PWA offline indicator */ .offline-indicator { position: fixed; top: 0; left: 0; right: 0; background: #ef4444; color: white; text-align: center; padding: 10px; z-index: 1000; display: none; }