:root{--color-bg: #0a0a1a;--color-bg-secondary: #141428;--color-text: #f5f5f5;--color-text-muted: #999999;--color-accent: #4da6ff;--color-accent-dark: #2d7cff;--color-accent-light: #1a3d7a;--color-border: #333333;--color-border-light: #2a2a2a;--color-shadow: rgba(0, 0, 0, 0.5);--color-shadow-lg: rgba(0, 0, 0, 0.7);--color-success: #34d399;--color-warning: #fbbf24;--color-error: #f87171;--color-info: #60a5fa;--color-link: #4da6ff;--color-link-visited: #7db8ff;--color-link-hover: #99c4ff;--color-code-bg: #1e1e1e;--color-code-text: #e8e8e8;--color-code-border: #333333;--color-input-bg: #1e1e1e;--color-input-border: #404040;--color-input-focus: #4da6ff;--color-button-bg: #0066cc;--color-button-text: #ffffff;--color-button-hover-bg: #4da6ff;--gradient-primary: linear-gradient(135deg, #9945ff 0%, #ff007a 100%);--color-pill-bg: rgba(255, 255, 255, 0.08);--color-pill-border: rgba(255, 255, 255, 0.12)}.light-mode{--color-bg: #ffffff;--color-bg-secondary: #f5f5f5;--color-text: #1a1a1a;--color-text-muted: #666666;--color-accent: #0066cc;--color-accent-dark: #0052a3;--color-accent-light: #e6f2ff;--color-border: #e0e0e0;--color-border-light: #f0f0f0;--color-shadow: rgba(0, 0, 0, 0.1);--color-shadow-lg: rgba(0, 0, 0, 0.2);--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--color-link: #0066cc;--color-link-visited: #0052a3;--color-link-hover: #004da6;--color-code-bg: #f5f5f5;--color-code-text: #1a1a1a;--color-code-border: #e0e0e0;--color-input-bg: #ffffff;--color-input-border: #d0d0d0;--color-input-focus: #0066cc;--color-button-bg: #0066cc;--color-button-text: #ffffff;--color-button-hover-bg: #0052a3;--gradient-primary: linear-gradient(135deg, #7c3aed 0%, #db2777 100%);--color-pill-bg: rgba(0, 0, 0, 0.05);--color-pill-border: rgba(0, 0, 0, 0.1)}html{scroll-behavior:smooth}body{background-color:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;line-height:1.5;transition:background-color 300ms ease,color 300ms ease}a{color:var(--color-link);text-decoration:none;transition:color 150ms ease}a:hover{color:var(--color-link-hover)}a:visited{color:var(--color-link-visited)}button,.btn{background-color:var(--color-button-bg);color:var(--color-button-text);border:none;padding:1rem 2rem;border-radius:0.375rem;font-size:1rem;cursor:pointer;transition:background-color 150ms ease}button:hover,.btn:hover{background-color:var(--color-button-hover-bg)}button:focus,.btn:focus{outline:2px solid var(--color-accent);outline-offset:2px}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}.bg-secondary{background-color:var(--color-bg-secondary)}.border{border-color:var(--color-border)}.border-light{border-color:var(--color-border-light)}*{margin:0;padding:0}*,*::before,*::after{box-sizing:border-box}html{width:100%}body{width:100%;min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin:0;padding:0}p{margin:0;padding:0}ul,ol,li{list-style:none;margin:0;padding:0}ul,ol{list-style:none}li{list-style:none}img{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit}input[type="text"],input[type="email"],input[type="password"],input[type="search"],input[type="number"],input[type="date"],input[type="tel"],input[type="url"],textarea{width:100%;padding:1rem;border:1px solid var(--color-input-border);border-radius:0.375rem;background-color:var(--color-input-bg);color:inherit;transition:border-color 150ms ease}input[type="text"]:focus,input[type="email"]:focus,input[type="password"]:focus,input[type="search"]:focus,input[type="number"]:focus,input[type="date"]:focus,input[type="tel"]:focus,input[type="url"]:focus,textarea:focus{outline:none;border-color:var(--color-input-focus);box-shadow:0 0 0 3px var(--color-accent-light)}textarea{resize:vertical;min-height:120px}button{border:none;background:none;padding:0;cursor:pointer}table{width:100%;border-collapse:collapse;border-spacing:0}td,th{text-align:left;vertical-align:top;padding:1rem;border:1px solid var(--color-border)}th{font-weight:600;background-color:var(--color-bg-secondary)}hr{border:none;border-top:1px solid var(--color-border);margin:2rem 0}code,pre{font-family:"SF Mono", "Monaco", "Menlo", "Courier New", monospace;font-size:0.875rem;line-height:1.5}code{background-color:var(--color-code-bg);color:var(--color-code-text);padding:0.125rem 0.375rem;border-radius:0.25rem;border:1px solid var(--color-code-border)}pre{background-color:var(--color-code-bg);color:var(--color-code-text);padding:1.5rem;border-radius:0.375rem;border:1px solid var(--color-code-border);overflow-x:auto;margin:1.5rem 0}pre code{background:none;border:none;padding:0}blockquote{margin:2rem 0;padding-left:2rem;border-left:4px solid var(--color-accent);font-style:italic;color:var(--color-text-muted)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}html{scroll-behavior:smooth}body{overflow-x:hidden}@media print{body{background:white;color:black}a{color:black;text-decoration:underline}}button:focus,input:focus,textarea:focus,select:focus,a:focus{outline:2px solid var(--color-accent);outline-offset:2px}input:focus,textarea:focus,select:focus{outline:2px solid var(--color-accent);outline-offset:2px}a:focus{outline:2px solid var(--color-accent);outline-offset:2px}button:focus:not(:focus-visible),input:focus:not(:focus-visible),textarea:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}button:hover,button:focus{opacity:0.9;cursor:pointer}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-accent);color:white;padding:8px;text-decoration:none;z-index:100}.skip-link:focus{top:0}label{display:block;margin-bottom:0.5rem;font-weight:500;color:var(--color-text)}.form-group{margin-bottom:1.5rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:0.75rem;border:1px solid var(--color-border);border-radius:4px;font-size:1rem;color:var(--color-text);background-color:var(--color-bg)}.header{position:sticky;top:0;background-color:var(--color-bg);z-index:100;box-shadow:0 2px 4px var(--color-shadow);border-bottom:1px solid var(--color-border);transition:background-color 300ms ease}.nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;max-width:1200px;margin:0 auto;gap:1rem}.nav-links{display:flex;gap:0.5rem;list-style:none;align-items:center}.nav-links a{color:var(--color-text);text-decoration:none;font-weight:500;background:var(--color-pill-bg);padding:0.5rem 1.25rem;border-radius:2rem;border:1px solid transparent;transition:color 150ms ease,background 150ms ease,border-color 150ms ease}.nav-links a:hover{border-color:var(--color-pill-border);color:var(--color-accent)}.nav-links a.active{background:var(--gradient-primary);color:white;border-color:transparent}.nav-social{display:flex;align-items:center;gap:0.25rem}.nav-social a{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;color:var(--color-text-muted);background:var(--color-pill-bg);border:1px solid transparent;transition:color 150ms ease,border-color 150ms ease,background 150ms ease}.nav-social a:visited{color:var(--color-text-muted)}.nav-social a:hover,.nav-social a:visited:hover{color:var(--color-accent);border-color:var(--color-pill-border)}.nav-social a svg{display:block}.theme-toggle{background:var(--color-pill-bg);border:1px solid var(--color-pill-border);cursor:pointer;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;color:var(--color-text-muted);transition:color 150ms ease,background-color 150ms ease}.theme-toggle:hover{color:var(--color-text);background-color:var(--color-pill-bg)}.theme-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.theme-toggle .icon-sun,.theme-toggle .icon-moon{display:none}.dark-mode .theme-toggle .icon-sun{display:block}.light-mode .theme-toggle .icon-moon{display:block}.hero{background:var(--color-bg);padding:3rem 1rem;border-bottom:1px solid var(--color-border)}.hero-container{display:flex;flex-direction:column;gap:2rem;max-width:1200px;margin:0 auto}.hero-image-side{width:100%}.hero-image{width:100%;height:300px;object-fit:cover;border-radius:8px;display:block}.hero-image-caption{font-size:.875rem;color:var(--color-text-muted);margin-top:.5rem;text-align:center;font-style:italic}.hero-content-side{text-align:center}.hero-avatar{width:140px;height:140px;border-radius:50%;object-fit:cover;border:3px solid var(--color-accent);margin-bottom:1rem;margin-left:auto;margin-right:auto;display:block}.hero-content-side h1{font-size:2rem;margin-bottom:1rem;color:var(--color-text);line-height:1.2}.hero-subtitle{font-size:1.25rem;color:var(--color-accent);font-style:italic;margin-bottom:1rem}.hero-description{font-size:1rem;color:var(--color-text-muted);margin-bottom:2rem;line-height:1.5;max-width:540px;margin-left:auto;margin-right:auto}.cta-buttons{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.gradient-btn{background:var(--gradient-primary);color:white !important;padding:0.75rem 1.75rem;border-radius:6px;font-weight:600;text-decoration:none;transition:transform 150ms ease,box-shadow 150ms ease}.gradient-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(153,69,255,0.35)}.gradient-btn:visited{color:white !important}.pill-btn{background:var(--color-pill-bg);color:var(--color-text) !important;padding:0.75rem 1.75rem;border-radius:2rem;border:1px solid var(--color-pill-border);font-weight:500;text-decoration:none;transition:border-color 150ms ease,background 150ms ease}.pill-btn:hover{border-color:var(--color-accent);background:rgba(77,166,255,0.08)}.pill-btn:visited{color:var(--color-text) !important}.about{padding:2rem;max-width:1200px;margin:0 auto}.about h2{font-size:1.75rem;margin-bottom:1.5rem;color:var(--color-text)}.about p{font-size:1rem;line-height:1.5;color:var(--color-text-muted);margin-bottom:1.5rem}.about p:last-child{margin-bottom:0}.about a{color:var(--color-link);text-decoration:underline}.about a:hover{color:var(--color-link-hover)}.skills{padding:2rem;max-width:1200px;margin:0 auto;background-color:var(--color-bg)}.skills h2{font-size:1.75rem;margin-bottom:1.5rem;color:var(--color-text)}.skills-grid{display:grid;grid-template-columns:1fr;gap:2rem}.skill-category{background:var(--color-bg-secondary);padding:1.5rem;border-radius:8px;border:1px solid var(--color-border);transition:transform 150ms ease,box-shadow 150ms ease}.skill-category:hover{transform:translateY(-2px);box-shadow:0 2px 8px var(--color-shadow)}.skill-category h3{font-size:1.25rem;margin-bottom:1rem;color:var(--color-accent)}.skill-category ul{list-style:none;display:flex;flex-wrap:wrap;gap:1rem}.skill-category li{background:var(--color-accent);color:white;padding:0.5rem 1rem;border-radius:4px;font-size:0.9rem;font-weight:500;display:inline-block;transition:transform 150ms ease,box-shadow 150ms ease}.skill-category li:hover{transform:scale(1.05);box-shadow:0 2px 6px var(--color-shadow)}.projects{padding:2rem;max-width:1200px;margin:0 auto;background-color:var(--color-bg)}.projects h2{font-size:1.75rem;margin-bottom:1.5rem;color:var(--color-text)}.projects-grid{display:grid;grid-template-columns:1fr;gap:2rem}.project-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;transition:transform 300ms ease,box-shadow 300ms ease;overflow:hidden;display:flex;flex-direction:column}.project-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px var(--color-shadow-lg)}.project-card h3{font-size:1.25rem;margin-bottom:1rem;color:var(--color-text)}.project-card p{font-size:1rem;color:var(--color-text-muted);line-height:1.6;flex-grow:1;margin-bottom:1.5rem}.project-card .techs{display:flex;flex-wrap:wrap;gap:1rem;margin:1.5rem 0}.project-card .tech-tag{background:var(--color-accent-light);color:var(--color-accent);padding:0.25rem 0.75rem;border-radius:4px;font-size:0.85rem;font-weight:500;white-space:nowrap}.project-card .links{display:flex;gap:1rem;margin-top:1.5rem}.project-card .links a{display:inline-block;background:var(--color-accent);color:white;padding:0.5rem 1rem;border-radius:4px;text-decoration:none;transition:background 150ms ease;font-weight:500;font-size:0.9rem}.project-card .links a:hover{background:var(--color-accent-dark)}.project-card .links a.link-secondary{background:transparent;color:var(--color-accent);border:1px solid var(--color-accent)}.project-card .links a.link-secondary:hover{background:var(--color-accent-light)}.experience{padding:2rem;max-width:1200px;margin:0 auto;background-color:var(--color-bg)}.experience>h2{font-size:1.75rem;margin-bottom:2rem;color:var(--color-text)}.experience-grid{display:flex;flex-direction:column;gap:3rem}.column-heading{font-size:1.5rem;color:var(--color-accent);margin-bottom:1.5rem}@media (min-width: 768px){.experience-grid{flex-direction:row;gap:3rem}.experience-column,.education-column{flex:1;min-width:0}}.timeline{display:flex;flex-direction:column;gap:2rem;position:relative}.timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--color-accent)}.timeline-item{background:var(--color-bg-secondary);padding:1.5rem;margin-left:2rem;border-left:4px solid var(--color-accent);border-radius:4px;position:relative;transition:transform 150ms ease,box-shadow 150ms ease}.timeline-item:hover{transform:translateX(4px);box-shadow:0 2px 8px var(--color-shadow)}.timeline-item::before{content:'';position:absolute;left:-12px;top:1.5rem;width:10px;height:10px;border-radius:50%;background:var(--color-accent);border:3px solid var(--color-bg)}.timeline-item h3{font-size:1.25rem;margin-bottom:.5rem;color:var(--color-text)}.timeline-item .company{font-weight:bold;color:var(--color-accent);margin-bottom:0.25rem;display:block}.timeline-item .dates{font-size:0.9rem;color:var(--color-text-muted);margin-bottom:1rem;display:block}.timeline-item p{font-size:1rem;color:var(--color-text);line-height:1.6;margin-bottom:0}.timeline-item ul{list-style:none;margin-top:1rem;padding-left:0}.timeline-item ul li{font-size:1rem;color:var(--color-text);line-height:1.6;margin-bottom:0.5rem;padding-left:1.5rem;position:relative}.timeline-item ul li::before{content:'▸';position:absolute;left:0;color:var(--color-accent)}.contact{padding:2rem;max-width:1200px;margin:0 auto;background-color:var(--color-bg)}.contact h2{font-size:1.75rem;margin-bottom:1.5rem;color:var(--color-text);text-align:center}.contact p{text-align:center;color:var(--color-text-muted);margin-bottom:2rem}form{max-width:600px;margin:0 auto}form .form-group{margin-bottom:1.5rem}form label{display:block;font-weight:500;margin-bottom:0.5rem;color:var(--color-text);font-size:1rem}form input,form textarea{width:100%;padding:1rem;margin-bottom:0;border:1px solid var(--color-input-border);border-radius:4px;font-family:inherit;font-size:1rem;background-color:var(--color-input-bg);color:var(--color-text);transition:border-color 150ms ease}form input:focus,form textarea:focus{outline:none;border-color:var(--color-input-focus);box-shadow:0 0 0 3px var(--color-accent-light)}form input::placeholder,form textarea::placeholder{color:var(--color-text-muted)}form textarea{resize:vertical;min-height:150px}form button[type="submit"]{width:100%;padding:1.5rem;background:var(--color-accent);color:white;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:background 150ms ease}form button[type="submit"]:hover{background:var(--color-accent-dark)}form button[type="submit"]:active{transform:scale(0.98)}.social-links{display:flex;justify-content:center;gap:2rem;margin-top:3rem;flex-wrap:wrap}.social-links a{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background:var(--color-bg-secondary);color:var(--color-accent);text-decoration:none;font-size:1.5rem;transition:background 150ms ease,transform 150ms ease}.social-links a:hover{background:var(--color-accent);color:white;transform:translateY(-4px)}.footer{background:var(--color-bg-secondary);padding:2rem;border-top:1px solid var(--color-border);margin-top:3rem}.footer-content{max-width:1200px;margin:0 auto;text-align:center}.footer-social{display:flex;justify-content:center;gap:1rem;margin:1.5rem 0}.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--color-pill-bg);color:var(--color-text-muted);border:1px solid transparent;text-decoration:none;transition:color 150ms ease,border-color 150ms ease,transform 150ms ease}.footer-social a:hover{color:var(--color-accent);border-color:var(--color-pill-border);transform:translateY(-2px)}.footer-social a:visited{color:var(--color-text-muted)}.footer-social a svg{display:block}.back-to-top{position:fixed;bottom:2rem;right:2rem;width:50px;height:50px;background:var(--color-accent);color:white;border:none;border-radius:50%;cursor:pointer;display:none;z-index:99;transition:background 150ms ease,transform 150ms ease;font-size:1.2rem;font-weight:bold;align-items:center;justify-content:center;box-shadow:0 2px 8px var(--color-shadow-lg)}.back-to-top:hover{background:var(--color-accent-dark);transform:translateY(-2px);box-shadow:0 4px 12px var(--color-shadow-lg)}.back-to-top:active{transform:translateY(0)}.back-to-top.visible{display:flex}.back-to-top:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.animate-on-scroll{opacity:0;transform:translateY(20px);transition:opacity 0.6s ease-out, transform 0.6s ease-out}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.animate-on-scroll,.animate-on-scroll.visible{transition:none;opacity:1;transform:none}}.hero,.about,.skills,.projects,.experience,.contact,.footer{width:100%}.nav{padding:0.75rem 1rem}.nav-links{display:none}@media (min-width: 768px){.nav{padding:1rem 3rem}.nav-links{display:flex;gap:0.5rem}.hero{padding:4rem}.hero-container{flex-direction:row;align-items:center}.hero-image-side{width:45%;flex-shrink:0}.hero-image{height:380px;border-radius:10px}.hero-content-side{text-align:left;flex:1}.hero-avatar{margin:0 0 1rem 0}.hero-description{margin-left:0;margin-right:0}.cta-buttons{justify-content:flex-start}.hero-content-side h1{font-size:2.25rem}.about{padding:3rem}.skills{padding:3rem}.skills-grid{grid-template-columns:repeat(2, 1fr);gap:2rem}.projects{padding:3rem}.projects-grid{grid-template-columns:repeat(2, 1fr);gap:2rem}.experience{padding:3rem}.contact{padding:3rem}form{max-width:600px}.footer{padding:3rem}}@media (min-width: 1024px){.nav{padding:1rem 4rem}.hero{padding:4rem 4rem}.hero-container{gap:3rem}.hero-image{height:450px;border-radius:12px}.hero-content-side h1{font-size:2.75rem}.cta-buttons{gap:1.5rem}.about{padding:3rem 4rem}.about p{font-size:1.05rem;max-width:1100px;margin-left:auto;margin-right:auto}.skills-grid{grid-template-columns:repeat(3, 1fr);gap:3rem}.skills{padding:3rem 4rem}.projects-grid{grid-template-columns:repeat(3, 1fr);gap:3rem}.projects{padding:3rem 4rem}.experience{padding:3rem 4rem}.timeline{max-width:800px;margin:0 auto}.contact{padding:3rem 4rem}form{max-width:700px}.social-links{gap:3rem}.footer{padding:3rem 4rem}}@media (min-width: 1440px){.hero-content-side h1{font-size:3rem}.hero-container{max-width:1400px}.nav,.about,.skills,.projects,.experience,.contact,.footer-content{max-width:1400px}.about,.skills,.projects,.experience,.contact{padding-top:4rem;padding-bottom:4rem}}@media print{.header,.footer,.back-to-top,.theme-toggle{display:none}*{background:white;color:black}a{color:black;text-decoration:underline}.project-card{page-break-inside:avoid}.timeline-item{page-break-inside:avoid}}
