SaiPraneeth009's picture
Generate a modern web app landing + dashboard UI for an app called "PySQL Labs" β€” a Python + SQL interactive learning platform with hands-on labs and interview-style drills. Create a polished, developer-focused, slightly playful but professional design.
509f3c2 verified
/* 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;
}
}