:root{--bg-primary: #f9fafb;--bg-secondary: #ffffff;--bg-tertiary: #f3f4f6;--text-primary: #1f2937;--text-secondary: #6b7280;--text-accent: #3b82f6;--border-color: #e5e7eb;--shadow: rgba(0, 0, 0, .1);--navbar-bg: rgba(255, 255, 255, .95);--card-bg: #ffffff;--button-bg: #3b82f6;--button-hover: #2563eb;--input-bg: #ffffff;--input-border: #d1d5db;--photo-hover-border: #ef4444;--photo-hover-shadow: rgba(239, 68, 68, .25)}[data-theme=dark]{--bg-primary: #111827;--bg-secondary: #1f2937;--bg-tertiary: #374151;--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-accent: #60a5fa;--border-color: #4b5563;--shadow: rgba(0, 0, 0, .3);--navbar-bg: rgba(31, 41, 55, .95);--card-bg: #1f2937;--button-bg: #60a5fa;--button-hover: #3b82f6;--input-bg: #374151;--input-border: #6b7280;--photo-hover-border: #60a5fa;--photo-hover-shadow: rgba(96, 165, 250, .25)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);background-color:var(--bg-primary);transition:background-color .3s ease,color .3s ease}.app-container{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1;max-width:1400px;margin:0 auto;width:100%;padding:0 1rem}@media (min-width: 768px){.app-main{padding:0 2rem}}.navbar{width:100%;background:var(--navbar-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:40;box-shadow:0 1px 3px var(--shadow);transition:background-color .3s ease,box-shadow .3s ease}.navbar-content{max-width:1400px;margin:0 auto;padding:0 1rem;display:flex;align-items:center;justify-content:space-between;height:64px}@media (min-width: 768px){.navbar-content{padding:0 2rem}}.navbar-logo{font-size:1.5rem;font-weight:600;color:var(--text-accent);text-decoration:none}html{scroll-behavior:smooth}.navbar-logo:hover{color:var(--text-accent);opacity:.8}.navbar-nav{display:none;gap:1.5rem;position:absolute;top:100%;left:0;right:0;background:var(--navbar-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;padding:1rem;box-shadow:0 4px 6px var(--shadow);border-radius:0 0 .5rem .5rem}.navbar-nav--open{display:flex}@media (min-width: 768px){.navbar-nav{display:flex;position:static;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;padding:0;flex-direction:row;border-radius:0}.navbar-nav--open{display:flex}}.navbar-nav a{font-size:.875rem;font-weight:500;color:var(--text-secondary);text-decoration:none;transition:color .2s;padding:.5rem 0;border-radius:.25rem}.navbar-nav a:hover{color:var(--text-accent);background-color:var(--bg-tertiary)}@media (min-width: 768px){.navbar-nav a{padding:0}.navbar-nav a:hover{background-color:transparent}}.navbar-mobile-menu{display:block;padding:.5rem;border:none;border-radius:.375rem;background-color:var(--text-accent);color:#fff;cursor:pointer;font-weight:500;position:relative;width:2.5rem;height:2.5rem;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px}.navbar-mobile-menu span{width:18px;height:2px;background-color:#fff;transition:all .3s ease;transform-origin:center}.navbar-mobile-menu--open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.navbar-mobile-menu--open span:nth-child(2){opacity:0}.navbar-mobile-menu--open span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}@media (min-width: 768px){.navbar-mobile-menu{display:none}}.navbar-actions{display:flex;align-items:center;gap:.5rem}.theme-toggle{padding:.5rem;border:none;border-radius:.375rem;background-color:transparent;color:var(--text-primary);cursor:pointer;font-size:1.125rem;transition:background-color .2s ease,color .2s ease}.theme-toggle:hover{background-color:var(--bg-tertiary)}.hero{padding:5rem 0}.hero-grid{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center}@media (min-width: 768px){.hero-grid{grid-template-columns:1fr 1fr}}.hero-title{font-size:2.25rem;font-weight:800;line-height:1.2;margin-bottom:1rem}@media (min-width: 768px){.hero-title{font-size:3rem}}.hero-subtitle{margin-top:1rem;color:var(--text-secondary);max-width:28rem}.hero-buttons{display:flex;gap:1rem;margin-top:1.5rem}.hero-buttons a{display:inline-block;padding:.5rem 1rem;border-radius:.375rem;text-decoration:none;font-weight:500;transition:all .2s}.btn-primary{background-color:#059669;color:#fff;box-shadow:0 1px 3px #0000001a}.btn-primary:hover{background-color:#047857;box-shadow:0 4px 6px #00000026}.btn-secondary{border:2px solid #059669;color:#059669}.btn-secondary:hover{background-color:#f0fdf4}.hero-image{display:flex;justify-content:center;align-items:center;position:relative}@media (min-width: 768px){.hero-image{justify-content:flex-end}}.image-placeholder{width:224px;height:224px;border-radius:.75rem;background:linear-gradient(135deg,#a7f3d0,#6ee7b7);display:flex;align-items:center;justify-content:center;color:#059669;font-weight:600}.hero-photo{width:224px;height:224px;border-radius:1.25rem;-o-object-fit:cover;object-fit:cover;box-shadow:0 25px 50px -12px var(--shadow),0 0 0 1px var(--border-color);border:3px solid var(--bg-secondary);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;background:var(--bg-secondary)}.hero-photo:hover{transform:translateY(-12px) scale(1.05);box-shadow:0 35px 60px -12px var(--photo-hover-shadow),0 0 0 1px var(--photo-hover-border);border-color:var(--photo-hover-border)}.hero-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff1a,#fff0 30%,#0000000d 70%,#0000001a);pointer-events:none;border-radius:inherit;opacity:0;transition:opacity .3s ease}.hero-photo:hover:before{opacity:1}.hero-photo--light:hover{border-color:#dc2626;box-shadow:0 35px 60px -12px #dc262640,0 0 0 1px #dc2626}.hero-photo--light:hover:before{background:linear-gradient(135deg,#dc26261a,#ffffff0d 50%)}.hero-photo--dark:hover{border-color:var(--text-accent);box-shadow:0 35px 60px -12px var(--shadow),0 0 0 1px var(--text-accent)}.hero-photo--dark:hover:before{background:linear-gradient(135deg,#3b82f614,#ffffff0d 50%)}@media (min-width: 1280px){.hero-photo{width:320px;height:320px}}.hero-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff1a,#fff0 50%);pointer-events:none;border-radius:inherit}@media (max-width: 640px){.hero-photo{width:180px;height:180px}}@media (min-width: 1024px){.hero-photo{width:280px;height:280px}}.skills-section{padding:5rem 0;background-color:var(--bg-secondary)}.skills-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin:3rem 0}@media (min-width: 768px){.skills-grid{grid-template-columns:repeat(2,1fr)}}.skill-card{background-color:var(--card-bg);padding:1.5rem;border-radius:.75rem;box-shadow:0 4px 6px var(--shadow);transition:transform .3s ease,box-shadow .3s ease}.skill-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px var(--shadow)}.skill-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.skill-name{font-weight:600;color:var(--text-primary)}.skill-percentage{font-size:.875rem;color:var(--text-secondary);font-weight:500}.skill-bar{height:8px;background-color:var(--bg-tertiary);border-radius:4px;overflow:hidden}.skill-fill{height:100%;border-radius:4px;transition:width 1.5s ease-in-out;position:relative}.skill-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skills-categories{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:4rem}@media (min-width: 768px){.skills-categories{grid-template-columns:repeat(3,1fr)}}.category h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.category-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{padding:.25rem .75rem;background-color:var(--bg-tertiary);color:var(--text-secondary);border-radius:1rem;font-size:.875rem;font-weight:500;transition:background-color .2s ease,color .2s ease}.tag:hover{background-color:var(--text-accent);color:#fff}.about{padding:4rem 0}.about-title{font-size:1.5rem;font-weight:600}.about-text{margin-top:1rem;color:#4b5563}.about-section-title{margin-top:1.5rem;font-size:1.125rem;font-weight:500}.skills-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.skill-badge{padding:.25rem .75rem;background-color:#f3f4f6;border-radius:.375rem;font-size:.875rem}.projects{padding:4rem 0}.projects-title{font-size:1.5rem;font-weight:600}.projects-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:1.5rem}@media (min-width: 640px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.projects-grid{grid-template-columns:repeat(3,1fr)}}.project-card{padding:1rem;background-color:#fff;border-radius:.5rem;box-shadow:0 1px 2px #00000014;border:1px solid #e5e7eb;transition:box-shadow .2s}.project-card:hover{box-shadow:0 4px 6px #0000001f}.project-preview{height:144px;border-radius:.375rem;background:linear-gradient(135deg,var(--preview-color, #d1fae5) 0%,var(--preview-color, #a7f3d0) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem}.screenshot-preview{width:100%;height:100%;background:#fff;border-radius:.375rem;overflow:hidden;box-shadow:inset 0 0 0 1px #0000001a}.browser-bar{height:24px;background:#f1f1f1;display:flex;align-items:center;padding:0 8px;border-bottom:1px solid #e0e0e0}.browser-dots{display:flex;gap:4px}.browser-dots span{width:8px;height:8px;border-radius:50%;background:#ff5f57}.browser-dots span:nth-child(2){background:#ffbd2e}.browser-dots span:nth-child(3){background:#28ca42}.browser-url{margin-left:12px;font-size:10px;color:#666;font-family:monospace}.screenshot-content{padding:12px;height:calc(100% - 24px);display:flex;flex-direction:column;justify-content:center;background:var(--bg-secondary)}.stitches-header{font-size:12px;font-weight:700;color:var(--text-primary);text-align:center;margin-bottom:8px}.stitches-content{display:flex;flex-direction:column;gap:4px}.stitches-screenshot{width:100%;height:120px;-o-object-fit:cover;object-fit:cover;border-radius:4px;box-shadow:0 2px 4px #0000001a}.stitches-item{font-size:9px;color:var(--text-primary);background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;text-align:center}.project-title{margin-top:1rem;font-weight:500}.project-description{margin-top:.5rem;font-size:.875rem;color:var(--text-secondary)}.project-link{display:inline-block;margin-top:1rem;color:var(--text-accent);text-decoration:none;font-weight:500;transition:color .2s}.project-link:hover{color:var(--text-accent);opacity:.8}.contact{padding:4rem 0}.contact-title{font-size:1.5rem;font-weight:600}.contact-description{margin-top:.75rem;color:#4b5563}.contact{justify-content:center}.contact-form{margin-top:1.5rem;max-width:448px}.form-group{display:flex;flex-direction:column;margin-bottom:1rem}.form-input,.form-textarea{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-family:inherit;font-size:1rem;transition:border-color .2s}.form-input:focus,.form-textarea:focus{outline:none;border-color:#059669;box-shadow:0 0 0 3px #0596691a}.form-textarea{resize:vertical;min-height:112px}.btn-submit{background-color:#059669;color:#fff;padding:.5rem 1rem;border:none;border-radius:.375rem;cursor:pointer;font-weight:500;transition:background-color .2s}.btn-submit:hover{background-color:#047857}.footer{background-color:#111827;color:#d1d5db;padding:3rem 0;text-align:center;margin-top:auto}.footer-content{max-width:1400px;margin:0 auto;padding:0 1rem}@media (min-width: 768px){.footer-content{padding:0 2rem}}.footer-text{font-size:.875rem}.footer-links{display:flex;justify-content:center;gap:1.5rem;margin-top:1rem}.footer-links a{color:#d1d5db;text-decoration:none;transition:color .2s}.footer-links a:hover{color:#059669}.back-to-top{position:fixed;bottom:2rem;right:2rem;width:48px;height:48px;border-radius:50%;background-color:#059669;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s;z-index:50;font-weight:700;font-size:1.25rem}.back-to-top.show{opacity:1;visibility:visible}.back-to-top:hover{background-color:#047857;transform:translateY(-4px)}@media (max-width: 640px){.hero-buttons{flex-direction:column}.hero-buttons a{text-align:center}}.testimonials{padding:4rem 0;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.testimonials-title{font-size:1.5rem;font-weight:600;text-align:center;margin-bottom:2rem}.testimonials-container{max-width:600px;margin:0 auto;text-align:center}.testimonial-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #00000012;margin-bottom:1.5rem}.testimonial-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;margin:0 auto 1rem}.testimonial-content{font-size:1.1rem;line-height:1.6;color:#4b5563;margin-bottom:1.5rem;font-style:italic}.testimonial-author{font-size:.9rem;color:#6b7280}.testimonial-dots{display:flex;justify-content:center;gap:.5rem}.dot{width:10px;height:10px;border-radius:50%;background:#d1d5db;border:none;cursor:pointer;transition:background .2s}.dot.active{background:#667eea}
