Files
portfolio/src/index.css
Michael Simard 39e61fc617 Initial commit: iOS developer portfolio with bio-digital aesthetic
Features:
- Hero section with animated circuit traces and botanical SVG decorations
- Pulsing circuit animations with fading comet tails connecting plant elements
- Mobile-focused About section highlighting Swift and Flutter expertise
- Technologies & Skills showcase with properly padded badges
- Contact form with validation and EmailJS integration
- Responsive design with Tailwind CSS v4 and custom sage/charcoal color palette
- Smooth scroll animations and fade-in effects
- Centered layout with explicit inline styles for Tailwind v4 compatibility

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 15:23:27 -06:00

100 lines
1.7 KiB
CSS

@import "tailwindcss";
@theme {
/* Custom color palette - plant aesthetic */
--color-sage-50: #f5f9f6;
--color-sage-100: #e8f3eb;
--color-sage-200: #c8e6d0;
--color-sage-300: #a4d4b4;
--color-sage-400: #7fb069;
--color-sage-500: #5a9650;
--color-sage-600: #4a7c42;
--color-sage-700: #3a6235;
--color-sage-800: #2d4d2a;
--color-sage-900: #1f3520;
/* Neutral colors */
--color-charcoal-50: #f7f8f8;
--color-charcoal-100: #e8eaeb;
--color-charcoal-200: #d1d5d8;
--color-charcoal-300: #a8b1b7;
--color-charcoal-400: #7d8a93;
--color-charcoal-500: #636e72;
--color-charcoal-600: #525c61;
--color-charcoal-700: #444d51;
--color-charcoal-800: #3a4145;
--color-charcoal-900: #2d3436;
/* Font family */
--font-family-sans: 'Inter', system-ui, -apple-system, sans-serif;
}
/* Base styles */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: var(--font-family-sans);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
background-color: #fafafa;
color: var(--color-charcoal-900);
margin: 0 auto;
max-width: 100vw;
overflow-x: hidden;
}
html {
scroll-behavior: smooth;
overflow-x: hidden;
}
/* Scroll animations */
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
.animate-fadeInUp {
animation: fadeInUp 0.8s ease-out forwards;
}
.animate-fadeIn {
animation: fadeIn 0.6s ease-out forwards;
}
/* Staggered animation delays */
.delay-100 {
animation-delay: 0.1s;
}
.delay-200 {
animation-delay: 0.2s;
}
.delay-300 {
animation-delay: 0.3s;
}
.delay-400 {
animation-delay: 0.4s;
}