 /* Glassmorphism Effects */
 .glass {
     background: rgba(255, 255, 255, 0.7);
     backdrop-filter: blur(10px);
     -webkit-backdrop-filter: blur(10px);
     border: 1px solid rgba(255, 255, 255, 0.3);
 }

 .dark .glass {
     background: rgba(30, 41, 59, 0.7);
     border: 1px solid rgba(255, 255, 255, 0.1);
 }

 .glass-card {
     background: rgba(255, 255, 255, 0.8);
     backdrop-filter: blur(12px);
     -webkit-backdrop-filter: blur(12px);
     border: 1px solid rgba(255, 255, 255, 0.3);
     box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
 }

 .dark .glass-card {
     background: rgba(30, 41, 59, 0.8);
     border: 1px solid rgba(255, 255, 255, 0.1);
     box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
 }

 /* Gradient Background */
 .gradient-bg {
     background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
 }

 .dark .gradient-bg {
     background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
 }

 /* Smooth transitions */
 .transition-all {
     transition-duration: 200ms;
 }

 /* Custom scrollbar */
 ::-webkit-scrollbar {
     width: 8px;
 }

 ::-webkit-scrollbar-track {
     background: #f1f5f9;
 }

 .dark ::-webkit-scrollbar-track {
     background: #1e293b;
 }

 ::-webkit-scrollbar-thumb {
     background: #94a3b8;
     border-radius: 4px;
 }

 ::-webkit-scrollbar-thumb:hover {
     background: #64748b;
 }

 /* Animation for reduced motion */
 @media (prefers-reduced-motion: reduce) {
     * {
         animation-duration: 0.01ms !important;
         animation-iteration-count: 1 !important;
         transition-duration: 0.01ms !important;
     }
 }

 /* Fix for software card layout overlap */
 #softwareGrid {
     display: grid;
     grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
     gap: 2rem;
 }

 .software-card {
     display: flex;
     flex-direction: column;
     height: 100%;
     min-height: 0;
 }

 .software-card-content {
     flex: 1 1 auto;
     min-height: 0;
 }

 /* Ensure consistent card heights - 九宫格布局 */
 @media (min-width: 640px) {
     #softwareGrid {
         grid-template-columns: repeat(3, 1fr);
     }
 }

 @media (min-width: 1024px) {
     #softwareGrid {
         grid-template-columns: repeat(3, 1fr);
     }
 }

 .glass {
     background: rgba(255, 255, 255, 0.7);
     backdrop-filter: blur(10px);
     -webkit-backdrop-filter: blur(10px);
     border: 1px solid rgba(255, 255, 255, 0.3);
 }

 .dark .glass {
     background: rgba(30, 41, 59, 0.7);
     border: 1px solid rgba(255, 255, 255, 0.1);
 }

 .glass-card {
     background: rgba(255, 255, 255, 0.8);
     backdrop-filter: blur(12px);
     -webkit-backdrop-filter: blur(12px);
     border: 1px solid rgba(255, 255, 255, 0.3);
     box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
 }

 .dark .glass-card {
     background: rgba(30, 41, 59, 0.8);
     border: 1px solid rgba(255, 255, 255, 0.1);
     box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
 }

 /* Gradient Background */
 .gradient-bg {
     background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
 }

 .dark .gradient-bg {
     background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
 }

 /* Smooth transitions */
 .transition-all {
     transition-duration: 200ms;
 }

 /* Custom scrollbar */
 ::-webkit-scrollbar {
     width: 8px;
 }

 ::-webkit-scrollbar-track {
     background: #f1f5f9;
 }

 .dark ::-webkit-scrollbar-track {
     background: #1e293b;
 }

 ::-webkit-scrollbar-thumb {
     background: #94a3b8;
     border-radius: 4px;
 }

 ::-webkit-scrollbar-thumb:hover {
     background: #64748b;
 }

 /* Animation for reduced motion */
 @media (prefers-reduced-motion: reduce) {
     * {
         animation-duration: 0.01ms !important;
         animation-iteration-count: 1 !important;
         transition-duration: 0.01ms !important;
     }
 }

 /* Fix for software card layout overlap */
 #softwareGrid {
     display: grid;
     grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
     gap: 2rem;
 }

 .software-card {
     display: flex;
     flex-direction: column;
     height: 100%;
     min-height: 0;
 }

 .software-card-content {
     flex: 1 1 auto;
     min-height: 0;
 }

 /* Ensure consistent card heights - 九宫格布局 */
 @media (min-width: 640px) {
     #softwareGrid {
         grid-template-columns: repeat(3, 1fr);
     }
 }

 @media (min-width: 1024px) {
     #softwareGrid {
         grid-template-columns: repeat(3, 1fr);
     }
 }