body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#64748b;--border-color:#e2e8f0;--border-light:#f1f5f9;--border-subtle:#f8fafc;--link-color:#2563eb;--link-hover:#1d4ed8;--shadow-light:0 1px 3px #0000000f;--shadow-medium:0 4px 6px -1px #00000014;--shadow-large:0 10px 15px -3px #0000001a;--tag-bg:#2563eb;--tag-text:#fff;--tech-bg:#f1f5f9;--tech-text:#475569;--gradient-accent:linear-gradient(135deg,#10b981,#059669)}body.dark-mode{--bg-primary:#0a0e1a;--bg-secondary:#0f172a;--bg-tertiary:#1e293b;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-tertiary:#94a3b8;--border-color:#1e293b;--border-light:#334155;--border-subtle:#1e293b;--link-color:#60a5fa;--link-hover:#93bbfc;--shadow-light:0 1px 3px #0006;--shadow-medium:0 4px 6px -1px #0009;--shadow-large:0 10px 15px -3px #000c;--tag-bg:#3b82f6;--tag-text:#fff;--tech-bg:#1e293b;--tech-text:#e2e8f0;--gradient-accent:linear-gradient(135deg,#10b981,#059669)}*{box-sizing:border-box;margin:0;padding:0}html{overflow-y:scroll;scroll-behavior:smooth}body,html{height:100vh;scroll-snap-type:y mandatory}body{background-color:#fff;background-color:var(--bg-primary);color:#0f172a;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;overflow-y:auto;transition:background-color .3s ease,color .3s ease}.App{margin:0;padding:0;width:100%}.nav{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background-color:#fff;background-color:var(--bg-primary);background-color:#fffc;border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;left:0;padding:20px 40px;position:fixed;right:0;top:0;transition:all .3s ease;z-index:1000}body.dark-mode .nav{background-color:#0a0e1acc}main{height:calc(100vh - 70px);margin-top:70px;overflow-y:auto;scroll-snap-type:y mandatory}.nav-links{display:flex;gap:20px}.nav a{color:#475569;color:var(--text-secondary);font-weight:500;position:relative;text-decoration:none;transition:all .3s ease}.nav a:after{background:linear-gradient(135deg,#10b981,#059669);background:var(--gradient-accent);bottom:-4px;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.nav a:hover{color:#0f172a;color:var(--text-primary)}.nav a:hover:after{width:100%}.theme-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;gap:8px;padding:4px}.toggle-track{background-color:#f1f5f9;background-color:var(--bg-tertiary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;height:24px;position:relative;transition:background-color .3s ease;width:48px}.toggle-thumb{background-color:#fff;border-radius:50%;box-shadow:0 2px 4px 0 1px 3px #0000000f;box-shadow:0 2px 4px var(--shadow-light);height:18px;left:2px;position:absolute;top:2px;transition:transform .3s ease;width:18px}.toggle-thumb.dark{transform:translateX(24px)}.toggle-icon{font-size:16px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.scroll-indicator{align-items:center;animation:fadeIn .5s ease-in-out forwards;animation-delay:1s;bottom:30px;display:flex;flex-direction:column;gap:8px;left:50%;opacity:0;position:fixed;transform:translateX(-50%);transition:opacity .3s ease;z-index:999}.scroll-indicator.hide{opacity:0;pointer-events:none}@keyframes fadeIn{to{opacity:1}}.scroll-arrow{animation:bounce 2s infinite;border-bottom:2px solid #475569;border-bottom:2px solid var(--text-secondary);border-right:2px solid #475569;border-right:2px solid var(--text-secondary);cursor:pointer;height:30px;transform:rotate(45deg);transition:border-color .3s ease;width:30px}.scroll-arrow:hover{border-color:#2563eb;border-color:var(--link-color)}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0) rotate(45deg)}40%{transform:translateY(-10px) rotate(45deg)}60%{transform:translateY(-5px) rotate(45deg)}}.scroll-text{color:#475569;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:500;letter-spacing:1px;text-transform:uppercase;transition:color .3s ease}.scroll-indicator:hover .scroll-text{color:#2563eb;color:var(--link-color)}body.dark-mode .toggle-track{background-color:#2563eb;background-color:var(--tag-bg);border-color:#2563eb;border-color:var(--tag-bg)}.section{background-color:#fff;background-color:var(--bg-primary);border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-light);display:flex;flex-direction:column;justify-content:center;margin:0 auto;max-width:1200px;min-height:calc(100vh - 70px);padding:60px 40px;position:relative;scroll-snap-align:start;scroll-snap-stop:always;width:100%}.section#about{justify-content:flex-start;padding-top:120px}.section:last-child{border-bottom:none}.section h2{color:#0f172a;color:var(--text-primary);font-size:2.5rem;font-weight:600;letter-spacing:-.5px;margin-bottom:40px;padding-bottom:10px;position:relative}.section h2:after{background:linear-gradient(135deg,#10b981,#059669);background:var(--gradient-accent);border-radius:2px;bottom:0;content:"";height:4px;left:0;position:absolute;width:60px}.section h3{color:#0f172a;color:var(--text-primary);font-size:1.2rem;font-weight:600;margin-bottom:15px}.profile-content{margin-bottom:40px;text-align:left}.profile-content h1{-webkit-text-fill-color:#0000;animation:fadeInUp .6s ease-out;background:linear-gradient(135deg,#059669,#047857);-webkit-background-clip:text;background-clip:text;font-size:3.5rem;font-weight:700;letter-spacing:-1px;margin-bottom:10px}.profile-content p:first-of-type{animation:fadeInUp .6s ease-out .1s both;color:#0f172a;color:var(--text-primary);font-size:1.5rem;font-weight:500;margin-bottom:30px}.profile-content p:last-of-type{animation:fadeInUp .6s ease-out .2s both;color:#475569;color:var(--text-secondary);font-size:1.1rem;line-height:1.7;margin-bottom:0;max-width:700px}.skills-grid{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:30px}.dev-env-list{list-style:none;max-width:300px;padding-left:0}.dev-env-list li{border-bottom:1px solid #f8fafc;border-bottom:1px solid var(--border-subtle);color:#475569;color:var(--text-secondary);padding:8px 0}.dev-env-list li:last-child{border-bottom:none}.skill-category ul{list-style:none;padding-left:0}.skill-category li{border-bottom:1px solid #f8fafc;border-bottom:1px solid var(--border-subtle);color:#475569;color:var(--text-secondary);padding:10px 0 10px 20px;position:relative;transition:all .2s ease}.skill-category li:before{color:#2563eb;color:var(--link-color);content:"▸";left:0;position:absolute;transition:transform .2s ease}.skill-category li:hover{color:#0f172a;color:var(--text-primary);padding-left:25px}.skill-category li:hover:before{transform:translateX(5px)}.skill-category li:last-child{border-bottom:none}.contact-links{display:flex;gap:20px;margin-top:40px}.contact-links a{animation:fadeInUp .6s ease-out .3s both;border:2px solid #e2e8f0;border:2px solid var(--border-color);border-radius:8px;color:#2563eb;color:var(--link-color);font-weight:500;overflow:hidden;padding:12px 24px;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.contact-links a:hover{border-color:#2563eb;border-color:var(--link-color);box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-large);color:#2563eb;color:var(--link-color);transform:translateY(-2px)}.projects-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-top:30px}.project-card{background:#f8fafc;background:var(--bg-secondary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 1px 3px #0000000f;box-shadow:var(--shadow-light);overflow:hidden;padding:30px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.project-card:before{background:linear-gradient(135deg,#10b981,#059669);background:var(--gradient-accent);content:"";height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.project-card.clickable{cursor:pointer}.project-card.clickable:focus,.project-card.clickable:hover{border-color:#e2e8f0;border-color:var(--border-color);box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-large);outline:none;transform:translateY(-8px)}.project-card.clickable:hover:before{transform:scaleX(1)}.project-card.clickable:focus{outline:2px solid #2563eb;outline:2px solid var(--link-color);outline-offset:2px}.project-card h3{color:#0f172a;color:var(--text-primary);margin-bottom:10px}.project-card p{color:#475569;color:var(--text-secondary);line-height:1.5;margin-bottom:15px}.project-meta{display:flex;flex-direction:column;gap:8px}.project-tags-inline{display:flex;flex-wrap:wrap;gap:6px}.project-tag-small{border-radius:12px;font-size:10px;font-weight:600;letter-spacing:.5px;padding:3px 8px;text-transform:uppercase}.project-technologies{gap:6px}.tech-tag-small{background-color:#f1f5f9;background-color:var(--tech-bg);border-radius:6px;color:#475569;color:var(--tech-text);font-size:11px;font-weight:500;padding:4px 10px;transition:all .2s ease}.project-card:hover .tech-tag-small{transform:translateY(-1px)}.project-links{display:flex;gap:15px}.project-links a{color:#2563eb;color:var(--link-color);font-size:14px;font-weight:500;text-decoration:none}.project-links a:hover{text-decoration:underline}@media (max-width:768px){body,html{scroll-snap-type:y mandatory}.scroll-indicator{bottom:20px}.scroll-arrow{height:25px;width:25px}.scroll-text{font-size:12px}.nav{padding:15px 20px}.nav-links{font-size:14px;gap:15px}.section{min-height:calc(100vh - 60px);padding:40px 20px}main{margin-top:60px}.section#about{padding-top:100px}.profile-content{text-align:left}.profile-content h1{font-size:2.5rem}.profile-content p:first-of-type{font-size:1.2rem}.profile-content p:last-of-type{font-size:1rem}.section h2{font-size:2rem;margin-bottom:30px}.skills-grid{gap:30px;grid-template-columns:1fr}.dev-env-list{max-width:100%}.contact-links{align-items:center;flex-direction:column;width:100%}.contact-links a{text-align:center;width:100%}.projects-grid{grid-template-columns:1fr}.project-card{padding:20px}}.modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:modalFadeIn .3s ease-out;background:var(--bg-primary);border-radius:12px;box-shadow:0 20px 40px var(--shadow-medium);display:flex;flex-direction:column;max-height:90vh;max-width:800px;position:relative;width:100%}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:28px;height:40px;justify-content:center;position:absolute;right:20px;top:15px;transition:all .2s ease;width:40px;z-index:1001}.modal-close:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.modal-header{background:var(--bg-primary);border-bottom:1px solid var(--border-light);border-top-left-radius:12px;border-top-right-radius:12px;flex-shrink:0;padding:30px 30px 20px}.modal-header h2{color:var(--text-primary);font-size:1.8rem;font-weight:600;margin:0 0 10px}.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.project-tag{border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.project-technologies{display:flex;flex-wrap:wrap;gap:8px}.tech-tag{background-color:var(--tech-bg);border-radius:20px;color:var(--tech-text);font-size:12px;font-weight:500;padding:4px 12px}.modal-body{flex-grow:1;overflow-y:auto;padding:20px 30px}.project-images{margin-bottom:25px}.project-image-container{margin:0 0 20px}.project-image-container:last-child{margin-bottom:0}.project-image-container img{border-radius:8px;box-shadow:0 4px 12px var(--shadow-light);display:block;height:auto;width:100%}.project-image-container figcaption{color:var(--text-secondary);font-size:13px;font-style:italic;line-height:1.4;margin-top:8px;text-align:center}.project-description{color:var(--text-secondary);line-height:1.6}.project-description p{margin:0 0 15px}.project-description p:last-child{margin-bottom:0}.project-description h3{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:20px 0 12px}.project-description h3:first-child{margin-top:15px}.project-description ul{margin:0 0 15px;padding-left:25px}.project-description li{color:var(--text-secondary);margin-bottom:8px}.project-description li:last-child{margin-bottom:0}.modal-footer{background:var(--bg-primary);border-bottom-left-radius:12px;border-bottom-right-radius:12px;border-top:1px solid var(--border-light);display:flex;flex-shrink:0;gap:15px;padding:20px 30px 30px}.project-link{border:1px solid var(--link-color);border-radius:5px;color:var(--link-color);display:inline-block;font-weight:500;padding:10px 20px;text-decoration:none;transition:all .3s ease}.project-link:hover{background-color:var(--link-color);color:#fff}@media (max-width:768px){.modal-overlay{padding:10px}.modal-content{max-height:95vh}.modal-header{padding:20px 20px 15px}.modal-body{padding:15px 20px}.modal-footer{flex-direction:column;padding:15px 20px 20px}.modal-header h2{font-size:1.5rem}}
/*# sourceMappingURL=main.7924327a.css.map*/