/* PySQL Labs - Global Styles */ :root { --color-primary: #22c55e; --color-secondary: #d946ef; --color-dark: #111827; --color-light: #f9fafb; } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Inter', system-ui, sans-serif; background-color: #111827; color: #f9fafb; overflow-x: hidden; } /* Custom Scrollbar */ ::-webkit-scrollbar { width: 10px; } ::-webkit-scrollbar-track { background: #1f2937; } ::-webkit-scrollbar-thumb { background: #374151; border-radius: 5px; } ::-webkit-scrollbar-thumb:hover { background: #4b5563; } /* Code Editor Styling */ .code-editor { font-family: 'JetBrains Mono', Monaco, 'Courier New', monospace; font-size: 14px; line-height: 1.5; } /* Button Animations */ .btn-pulse { animation: pulse 2s infinite; } @keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7); } 70% { box-shadow: 0 0 0 10px rgba(34, 197, 94, 0); } 100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); } } /* Card Hover Effects */ .hover-lift { transition: transform 0.3s ease, box-shadow 0.3s ease; } .hover-lift:hover { transform: translateY(-5px); box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.3); } /* Gradient Text */ .gradient-text { background: linear-gradient(135deg, var(--color-primary), var(--color-secondary)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } /* Progress Bar Animation */ .progress-fill { transition: width 0.5s ease-in-out; } /* Fade In Animation */ .fade-in { animation: fadeIn 0.5s ease-out; } @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } /* Typewriter Effect */ .typewriter { overflow: hidden; border-right: .15em solid var(--color-primary); white-space: nowrap; animation: typing 3.5s steps(40, end), blink-caret .75s step-end infinite; } @keyframes typing { from { width: 0 } to { width: 100% } } @keyframes blink-caret { from, to { border-color: transparent } 50% { border-color: var(--color-primary) } } /* Responsive Adjustments */ @media (max-width: 768px) { .stack-mobile { flex-direction: column; } .text-mobile-center { text-align: center; } }