@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Raleway:wght@300;400;500;600;700&display=swap);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{--primary-color:#0f172a;--secondary-color:#1e293b;--accent-color:#3b82f6;--accent-light:#60a5fa;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--border-color:#334155;--success-color:#10b981;--warning-color:#f59e0b;--error-color:#ef4444;--gradient-primary:linear-gradient(135deg,#0f172a,#1e293b);--gradient-accent:linear-gradient(135deg,#3b82f6,#60a5fa);--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a;--border-radius:12px;--border-radius-lg:16px;--transition:all 0.3s cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:#0f172a;background-color:var(--primary-color);color:#f8fafc;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;overflow-x:hidden}.portfolio-container{background:linear-gradient(135deg,#0f172a,#1e293b);background:var(--gradient-primary);min-height:100vh}.hero-avatar img.avatar-image{border-radius:50%;height:100%;object-fit:cover;width:auto}.navbar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0f172af2;border-bottom:1px solid #334155;border-bottom:1px solid var(--border-color);left:0;padding:1rem 0;position:fixed;right:0;top:0;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition);z-index:1000}.nav-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 2rem}.nav-logo{color:#3b82f6;color:var(--accent-color);font-family:Raleway,sans-serif;font-size:1.5rem;font-weight:700;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.nav-logo:hover{color:#60a5fa;color:var(--accent-light)}.nav-menu{align-items:center;display:flex;gap:2rem}.nav-button{background:#0000;border:none;border-radius:12px;border-radius:var(--border-radius);color:#cbd5e1;color:var(--text-secondary);cursor:pointer;font-family:Inter,sans-serif;font-size:.95rem;font-weight:500;padding:.5rem 1rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.nav-button:hover{background:#3b82f61a;color:#3b82f6;color:var(--accent-color)}.nav-button:after{background:linear-gradient(135deg,#3b82f6,#60a5fa);background:var(--gradient-accent);bottom:-2px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:0}.nav-button:hover:after{width:80%}.games-link{align-items:center;display:inline-flex;text-decoration:none}.games-link:hover:after{width:80%}.mobile-menu{display:none}.mobile-menu-button{background:none;border:none;border-radius:12px;border-radius:var(--border-radius);color:#3b82f6;color:var(--accent-color);cursor:pointer;font-size:1.5rem;padding:.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.mobile-menu-button:hover{background:#3b82f61a}.hero-section{align-items:center;background:linear-gradient(135deg,#0f172a,#1e293b);background:var(--gradient-primary);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:8rem 2rem 4rem;position:relative}.hero-section:before{background:radial-gradient(circle at 20% 80%,#3b82f61a 0,#0000 50%),radial-gradient(circle at 80% 20%,#60a5fa1a 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.hero-content{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1fr;max-width:1200px;position:relative;width:100%;z-index:1}.hero-text{animation:fadeInUp 1s ease-out}.hero-name{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#60a5fa);background:var(--gradient-accent);-webkit-background-clip:text;background-clip:text;color:#f8fafc;color:var(--text-primary);font-family:Raleway,sans-serif;font-size:3.5rem;font-weight:700;line-height:1.1;margin-bottom:1rem}.hero-title{color:#60a5fa;color:var(--accent-light);font-family:Inter,sans-serif;font-size:1.5rem;font-weight:500;margin-bottom:1.5rem;opacity:.9}.hero-tagline{color:#cbd5e1;color:var(--text-secondary);font-size:1.25rem;line-height:1.6;margin-bottom:2.5rem;max-width:500px}.hero-buttons{display:flex;gap:1rem;margin-bottom:2rem}.hero-btn{align-items:center;border:none;border-radius:12px;border-radius:var(--border-radius);cursor:pointer;display:inline-flex;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;gap:.5rem;padding:.875rem 2rem;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.hero-btn.primary{background:linear-gradient(135deg,#3b82f6,#60a5fa);background:var(--gradient-accent);box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);color:#fff}.hero-btn.primary:hover{box-shadow:0 20px 25px -5px #0000001a;box-shadow:var(--shadow-xl);transform:translateY(-2px)}.hero-btn.secondary{background:#0000;border:2px solid #3b82f6;border:2px solid var(--accent-color);color:#3b82f6;color:var(--accent-color)}.hero-btn.secondary:hover{background:#3b82f6;background:var(--accent-color);color:#fff;transform:translateY(-2px)}.hero-social{display:flex;gap:1rem}.social-link{align-items:center;border-radius:12px;border-radius:var(--border-radius);color:#cbd5e1;color:var(--text-secondary);display:flex;justify-content:center;padding:.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.social-link:hover{background:#3b82f61a;color:#3b82f6;color:var(--accent-color);transform:translateY(-2px)}.hero-visual{animation:fadeInRight 1s ease-out .3s both}.hero-avatar,.hero-visual{align-items:center;display:flex;justify-content:center}.hero-avatar{background:linear-gradient(135deg,#3b82f6,#60a5fa);background:var(--gradient-accent);border-radius:50%;box-shadow:0 20px 25px -5px #0000001a;box-shadow:var(--shadow-xl);color:#fff;font-family:Raleway,sans-serif;font-size:4rem;font-weight:700;height:200px;overflow:hidden;position:relative;width:200px}.hero-avatar:before{animation:shimmer 3s infinite;background:linear-gradient(45deg,#0000,#ffffff1a,#0000);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%}.section{padding:6rem 0;position:relative}.section-title{color:#f8fafc;color:var(--text-primary);font-family:Raleway,sans-serif;font-size:2.5rem;font-weight:700;margin-bottom:3rem;position:relative;text-align:center}.section-title:after{background:linear-gradient(135deg,#3b82f6,#60a5fa);background:var(--gradient-accent);border-radius:2px;bottom:-10px;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.about-content{grid-gap:4rem;align-items:start;display:grid;gap:4rem;grid-template-columns:2fr 1fr}.about-description{color:#cbd5e1;color:var(--text-secondary);font-size:1.1rem;line-height:1.8;margin-bottom:1.5rem}.about-contact{background:#1e293b;background:var(--secondary-color);border:1px solid #334155;border:1px solid var(--border-color);border-radius:16px;border-radius:var(--border-radius-lg);padding:2rem}.contact-item{align-items:center;border-radius:12px;border-radius:var(--border-radius);display:flex;gap:1rem;margin-bottom:1rem;padding:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.contact-item:hover{background:#3b82f61a}.contact-item:last-child{margin-bottom:0}.contact-icon{color:#3b82f6;color:var(--accent-color);flex-shrink:0}.experience-grid{grid-gap:2rem;display:grid;gap:2rem}.experience-card{background:#1e293b;background:var(--secondary-color);border:1px solid #334155;border:1px solid var(--border-color);border-radius:16px;border-radius:var(--border-radius-lg);overflow:hidden;padding:2rem;position:relative}.experience-card,.experience-card:before{transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.experience-card:before{background:linear-gradient(135deg,#3b82f6,#60a5fa);background:var(--gradient-accent);content:"";height:100%;left:0;position:absolute;top:0;width:4px}.experience-card:hover{border-color:#3b82f6;border-color:var(--accent-color);box-shadow:0 20px 25px -5px #0000001a;box-shadow:var(--shadow-xl);transform:translateY(-4px)}.experience-card:hover:before{width:8px}.experience-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.job-title{color:#f8fafc;color:var(--text-primary);font-family:Raleway,sans-serif;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.company-link{align-items:center;color:#3b82f6;color:var(--accent-color);display:inline-flex;font-weight:500;gap:.5rem;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.company-link:hover{color:#60a5fa;color:var(--accent-light);text-decoration:underline}.job-period{background:#94a3b81a;border-radius:12px;border-radius:var(--border-radius);color:#94a3b8;color:var(--text-muted);font-weight:500;padding:.5rem 1rem}.job-description{color:#cbd5e1;color:var(--text-secondary);line-height:1.7;margin-bottom:1.5rem}.job-achievements h4,.job-technologies h4{color:#60a5fa;color:var(--accent-light);font-size:1rem;font-weight:600;margin-bottom:.75rem}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tech-tag{background:#3b82f61a;border:1px solid #3b82f633;border-radius:12px;border-radius:var(--border-radius);color:#3b82f6;color:var(--accent-color);font-size:.875rem;font-weight:500;padding:.25rem .75rem}.job-achievements ul{list-style:none;padding:0}.job-achievements li{color:#cbd5e1;color:var(--text-secondary);margin-bottom:.5rem;padding-left:1.5rem;position:relative}.job-achievements li:before{color:#3b82f6;color:var(--accent-color);content:"▸";font-weight:700;left:0;position:absolute}.projects-wrapper{overflow:hidden;padding:0 3rem;position:relative}.projects-grid{-ms-overflow-style:none;display:flex;gap:2rem;overflow-x:auto;padding:1rem 0;scroll-behavior:smooth;scrollbar-width:none}.projects-grid::-webkit-scrollbar{display:none}.project-card{background:#1e293b;background:var(--secondary-color);border:1px solid #334155;border:1px solid var(--border-color);border-radius:16px;border-radius:var(--border-radius-lg);flex-shrink:0;max-width:400px;min-width:400px;overflow:hidden;padding:2rem;position:relative}.project-card,.scroll-button{transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.scroll-button{align-items:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);background:var(--gradient-accent);border:none;border-radius:50%;box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:3rem;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);width:3rem;z-index:10}.scroll-button:hover{box-shadow:0 20px 25px -5px #0000001a;box-shadow:var(--shadow-xl);transform:translateY(-50%) scale(1.1)}.scroll-button.left{left:0}.scroll-button.right{right:0}.project-card:before{background:linear-gradient(135deg,#3b82f6,#60a5fa);background:var(--gradient-accent);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.project-card:hover{border-color:#3b82f6;border-color:var(--accent-color);box-shadow:0 20px 25px -5px #0000001a;box-shadow:var(--shadow-xl);transform:translateY(-4px)}.project-card:hover:before{transform:scaleX(1)}.project-header{gap:1rem;margin-bottom:1rem}.project-header,.project-icon{align-items:center;display:flex}.project-icon{background:linear-gradient(135deg,#3b82f6,#60a5fa);background:var(--gradient-accent);border-radius:12px;border-radius:var(--border-radius);color:#fff;font-size:2rem;height:60px;justify-content:center;width:60px}.project-title{color:#f8fafc;color:var(--text-primary);font-family:Raleway,sans-serif;font-size:1.5rem;font-weight:600}.project-preview{color:#60a5fa;color:var(--accent-light);font-style:italic;font-weight:500;margin-bottom:1rem}.project-description{color:#cbd5e1;color:var(--text-secondary);line-height:1.7;margin-bottom:1.5rem}.project-technologies{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tech-badge{background:#3b82f61a;border:1px solid #3b82f633;border-radius:12px;border-radius:var(--border-radius);color:#3b82f6;color:var(--accent-color);font-size:.875rem;font-weight:500;padding:.25rem .75rem}.project-achievements h4{color:#60a5fa;color:var(--accent-light);font-weight:600;margin-bottom:.75rem}.project-achievements ul{list-style:none;padding:0}.project-achievements li{color:#cbd5e1;color:var(--text-secondary);margin-bottom:.5rem;padding-left:1.5rem;position:relative}.project-achievements li:before{color:#3b82f6;color:var(--accent-color);content:"▸";font-weight:700;left:0;position:absolute}.see-more-btn{align-items:center;background:#0000;border:2px solid #3b82f6;border:2px solid var(--accent-color);border-radius:12px;border-radius:var(--border-radius);color:#3b82f6;color:var(--accent-color);cursor:pointer;display:flex;font-weight:600;gap:.5rem;margin-top:1.5rem;padding:.75rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.see-more-btn:hover{background:#3b82f6;background:var(--accent-color);color:#fff;transform:translateY(-2px)}.skills-grid{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between}.skill-category{background:var(--card-bg);border:1px solid #334155;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);flex:1 1;min-width:250px;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.skill-category:hover{box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.skill-category-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1.5rem}.category-icon{color:#3b82f6;color:var(--accent-color)}.skill-category-title{color:#f8fafc;color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0}.skills-list{display:flex;flex-direction:column;gap:.75rem}.skill-item{align-items:center;background:#ffffff05;border:1px solid #ffffff0d;border-radius:12px;border-radius:var(--border-radius);cursor:pointer;display:flex;gap:1rem;padding:.75rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.skill-item:hover{background:#3b82f61a;border-color:#3b82f633;transform:translateX(4px)}.skill-tooltip{background:#1e293b;background:var(--secondary-color);border:1px solid #3b82f6;border:1px solid var(--accent-color);border-radius:12px;border-radius:var(--border-radius);bottom:100%;box-shadow:0 20px 25px -5px #0000001a;box-shadow:var(--shadow-xl);left:50%;margin-bottom:.5rem;opacity:0;padding:1rem;position:absolute;transform:translateX(-50%);transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition);visibility:hidden;width:280px;z-index:1000}.skill-item:hover .skill-tooltip{opacity:1;transform:translateX(-50%) translateY(-10px);visibility:visible}.skill-tooltip:after{border:8px solid #0000;border-top:8px solid var(--secondary-color);content:"";left:50%;position:absolute;top:100%;transform:translateX(-50%)}.tooltip-content h4{color:#3b82f6;color:var(--accent-color);font-size:1rem;font-weight:600;margin-bottom:.5rem}.tooltip-content p{color:#cbd5e1;color:var(--text-secondary);font-size:.875rem;line-height:1.4;margin-bottom:.25rem}.tooltip-content p strong{color:#60a5fa;color:var(--accent-light)}@media (max-width:1200px){.skills-grid{flex-direction:column}.skill-category{min-width:auto}}@media (max-width:768px){.skill-tooltip{left:0;transform:none;width:240px}.skill-item:hover .skill-tooltip{transform:translateY(-10px)}}.achievements-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.achievement-card{background:#1e293b;background:var(--secondary-color);border:1px solid #334155;border:1px solid var(--border-color);border-radius:16px;border-radius:var(--border-radius-lg);overflow:hidden;padding:2rem;position:relative}.achievement-card,.achievement-card:before{transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.achievement-card:before{background:linear-gradient(135deg,#3b82f6,#60a5fa);background:var(--gradient-accent);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0)}.achievement-card:hover{border-color:#3b82f6;border-color:var(--accent-color);box-shadow:0 20px 25px -5px #0000001a;box-shadow:var(--shadow-xl);transform:translateY(-4px)}.achievement-card:hover:before{transform:scaleX(1)}.achievement-header{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.achievement-icon{align-items:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);background:var(--gradient-accent);border-radius:12px;border-radius:var(--border-radius);color:#fff;display:flex;height:60px;justify-content:center;width:60px}.achievement-info{flex:1 1}.achievement-title{color:#f8fafc;color:var(--text-primary);font-family:Raleway,sans-serif;font-size:1.25rem;font-weight:600;margin-bottom:.25rem}.achievement-period{color:#94a3b8;color:var(--text-muted);font-size:.875rem;font-weight:500}.achievement-description{color:#cbd5e1;color:var(--text-secondary);line-height:1.7;margin-bottom:1.5rem}.achievement-highlights{list-style:none;padding:0}.achievement-highlights li{color:#cbd5e1;color:var(--text-secondary);margin-bottom:.5rem;padding-left:1.5rem;position:relative}.achievement-highlights li:before{color:#3b82f6;color:var(--accent-color);content:"▸";font-weight:700;left:0;position:absolute}.contact-content{grid-gap:4rem;align-items:start;display:grid;gap:4rem;grid-template-columns:1fr 1fr}.contact-form-section h3,.contact-info-section h3{color:#f8fafc;color:var(--text-primary);font-family:Raleway,sans-serif;font-size:1.5rem;font-weight:600;margin-bottom:2rem}.contact-form{gap:1.5rem}.contact-form,.form-group{display:flex;flex-direction:column}.form-group label{color:#cbd5e1;color:var(--text-secondary);font-weight:500;margin-bottom:.5rem}.form-input,.form-textarea{background:#1e293b;background:var(--secondary-color);border:1px solid #334155;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius);color:#f8fafc;color:var(--text-primary);font-family:Inter,sans-serif;font-size:1rem;outline:none;padding:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.form-input:focus,.form-textarea:focus{border-color:#3b82f6;border-color:var(--accent-color);box-shadow:0 0 0 3px #3b82f61a}.form-textarea{min-height:120px;resize:vertical}.submit-button{background:linear-gradient(135deg,#3b82f6,#60a5fa);background:var(--gradient-accent);border:none;border-radius:12px;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;padding:1rem 2rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.submit-button:hover:not(:disabled){box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.submit-button:disabled{cursor:not-allowed;opacity:.6}.success-message{background:#10b9811a;border:1px solid #10b98133;border-radius:12px;border-radius:var(--border-radius);color:#10b981;color:var(--success-color);margin-top:1rem;padding:1rem}.contact-links{display:flex;flex-direction:column;gap:1rem}.contact-link{align-items:center;border:1px solid #334155;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius);color:#cbd5e1;color:var(--text-secondary);display:flex;gap:1rem;padding:1rem;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.contact-link:hover{background:#3b82f61a;border-color:#3b82f6;border-color:var(--accent-color);color:#3b82f6;color:var(--accent-color);transform:translateX(4px)}.footer{background:#1e293b;background:var(--secondary-color);border-top:1px solid #334155;border-top:1px solid var(--border-color);margin-top:4rem;padding:2rem 0}.footer-content{flex-wrap:wrap;justify-content:space-between}.footer-social a{border-radius:12px;color:#cbd5e1;transition:all .3s cubic-bezier(.4,0,.2,1)}.footer-social a:hover{color:#3b82f6}.footer-copyright{color:#94a3b8;color:var(--text-muted)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes shimmer{0%{transform:translateX(-100%) translateY(-100%) rotate(45deg)}to{transform:translateX(100%) translateY(100%) rotate(45deg)}}@media (max-width:768px){.container{padding:0 1rem}.nav-menu{display:none}.mobile-menu{display:block}.hero-content{gap:2rem;grid-template-columns:1fr;text-align:center}.hero-name{font-size:2.5rem}.hero-buttons{flex-wrap:wrap;justify-content:center}.about-content,.contact-content{gap:2rem;grid-template-columns:1fr}.projects-wrapper{padding:0 1rem}.project-card{min-width:300px}.scroll-button{font-size:1.25rem;height:2.5rem;width:2.5rem}.achievements-grid,.skills-grid{grid-template-columns:1fr}.footer-content{flex-direction:column;text-align:center}.section{padding:4rem 0}.section-title{font-size:2rem}.skill-tooltip{left:0;transform:translateX(0);width:250px}.skill-item:hover .skill-tooltip{transform:translateX(0) translateY(-10px)}}.games-section{background:linear-gradient(135deg,#0f172a,#1e293b 50%,#0f172a);overflow:hidden;position:relative}.games-section:before{background:radial-gradient(circle at 20% 20%,#3b82f61a 0,#0000 50%),radial-gradient(circle at 80% 80%,#60a5fa1a 0,#0000 50%),radial-gradient(circle at 40% 60%,#8b5cf60d 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.games-intro{color:#cbd5e1;color:var(--text-secondary);font-size:1.2rem;line-height:1.6;max-width:600px}.games-grid{margin-bottom:3rem}.game-card{background:#1e293b;border:1px solid #334155;border-radius:16px}.game-card,.game-card:before{transition:all .3s cubic-bezier(.4,0,.2,1)}.game-card:before{background:linear-gradient(135deg,#3b82f6,#60a5fa);background:var(--gradient-accent);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:var(--transition)}.game-card:hover{border-color:#3b82f6;box-shadow:0 20px 25px -5px #0000001a;box-shadow:var(--shadow-xl);transform:translateY(-8px)}.game-card:hover:before{transform:scaleX(1)}.game-header{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.game-icon{background:linear-gradient(135deg,#3b82f6,#60a5fa);border-radius:12px;box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);color:#fff}.game-title{color:#f8fafc;margin-bottom:.5rem}.game-meta{align-items:center}.game-category{border:1px solid #3b82f633;border-radius:12px;color:#3b82f6}.game-difficulty{border-radius:12px}.difficulty-easy{border:1px solid #10b98133;color:#10b981}.difficulty-medium{border:1px solid #f59e0b33;color:var(--warning-color)}.difficulty-hard{border:1px solid #ef444433;color:var(--error-color)}.game-preview{color:#60a5fa;color:var(--accent-light);font-style:italic}.game-description{color:#cbd5e1;line-height:1.7}.status-badge{background:#94a3b81a;border:1px solid #94a3b833;border-radius:12px;color:#94a3b8;color:var(--text-muted)}.play-button{background:linear-gradient(135deg,#3b82f6,#60a5fa);background:var(--gradient-accent);border-radius:12px;color:#fff;cursor:not-allowed;opacity:.6;transition:all .3s cubic-bezier(.4,0,.2,1)}.play-button:not(:disabled):hover{box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.games-footer{background:#ffffff05;border:1px solid #334155;border:1px solid var(--border-color);border-radius:16px;border-radius:var(--border-radius-lg);padding:2rem}.games-note{color:#cbd5e1;font-weight:500}.games-tech h4{color:#60a5fa;color:var(--accent-light);font-weight:600}.tech-item{background:#3b82f61a;border:1px solid #3b82f633;border-radius:12px;color:#3b82f6;color:var(--accent-color)}@media (max-width:768px){.games-grid{grid-template-columns:1fr}.game-card{padding:1.5rem}.game-icon{font-size:2rem;height:60px;width:60px}.game-title{font-size:1.25rem}.game-meta{align-items:flex-start;flex-direction:column;gap:.5rem}.tech-stack{gap:.5rem}.tech-item{font-size:.8rem;padding:.25rem .75rem}}.games-link-section{background:#ffffff05;border:1px solid #334155;border:1px solid var(--border-color);border-radius:16px;border-radius:var(--border-radius-lg);margin-top:3rem;padding:2rem;text-align:center}.games-link-section h3{color:#f8fafc;color:var(--text-primary);font-family:Raleway,sans-serif;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.games-link-section p{color:#cbd5e1;color:var(--text-secondary);font-size:1.1rem;margin-bottom:1.5rem}.games-cta-button{align-items:center;background:linear-gradient(135deg,#3b82f6,#60a5fa);background:var(--gradient-accent);border-radius:12px;border-radius:var(--border-radius);box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);color:#fff;display:inline-flex;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;gap:.5rem;padding:1rem 2rem;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.games-cta-button:hover{box-shadow:0 20px 25px -5px #0000001a;box-shadow:var(--shadow-xl);transform:translateY(-2px)}.physio-details-bg{align-items:flex-start;background:#1976d2;display:flex;justify-content:center;min-height:100vh;padding:3rem 1rem}.physio-project-card{animation:fadeInPhysio .7s;background:#fff;border-radius:1.5rem;box-shadow:0 4px 24px #0000001a,0 1.5px 6px #0000000f;margin:2rem 0;max-width:600px;padding:2.5rem 2rem 2rem;width:100%}@keyframes fadeInPhysio{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.physio-project-card .project-description{background:#1976d2;border-radius:.7rem;color:#fff;font-size:1.15rem;line-height:1.7;margin-bottom:2rem;padding:1rem 1.2rem}.physio-project-card .project-header{align-items:center;display:flex;gap:1rem;margin-bottom:1.2rem}.physio-project-card .project-title{color:#1a237e;font-size:2rem;font-weight:700}.physio-project-card .project-icon{font-size:2.2rem}.physio-project-card .project-preview{color:#1976d2;font-weight:500;margin-bottom:1rem}.physio-project-card .project-technologies{margin-bottom:1.2rem}.physio-project-card .tech-badge{background:#e3f2fd;border-radius:.5rem;color:#1976d2;display:inline-block;font-size:.98rem;margin-bottom:.4rem;margin-right:.5rem;padding:.3rem .8rem}.physio-project-card .project-achievements{margin-top:1.2rem}.physio-project-card .project-achievements h4{color:#1976d2;margin-bottom:.5rem}.physio-project-card .project-achievements ul{padding-left:1.2rem}.physio-project-card .project-achievements li{color:#333;margin-bottom:.4rem}@media (max-width:600px){.physio-project-card{padding:1.2rem .5rem}.physio-project-card .project-title{font-size:1.2rem}}.memory-game{margin:0 auto;max-width:900px;padding:2rem;text-align:center}.game-start,.game-won{background:var(--secondary-color);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);margin:2rem 0;padding:3rem}.game-start h3,.game-won h3{color:var(--text-primary);font-family:Raleway,sans-serif;font-size:1.8rem;margin-bottom:1rem}.game-start p{color:var(--text-secondary);font-size:1.1rem;line-height:1.6;margin-bottom:2rem}.reset-button,.start-button{background:var(--gradient-accent);border:none;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:1.1rem;font-weight:600;padding:1rem 2rem;transition:var(--transition)}.reset-button:hover,.start-button:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.cards-grid{grid-gap:4rem;display:grid;gap:4rem;grid-template-columns:repeat(4,1fr)!important;margin:0 auto;max-width:800px}.card{aspect-ratio:1;cursor:pointer;perspective:1000px}.card-inner{height:100%;position:relative;text-align:center;transform-style:preserve-3d;transition:transform .6s;width:100%}.card.flipped .card-inner,.card.matched .card-inner{transform:rotateY(180deg)}.card-back,.card-front{align-items:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:var(--secondary-color);border:2px solid var(--border-color);border-radius:var(--border-radius);display:flex;font-size:3rem;height:100%;justify-content:center;position:absolute;transition:var(--transition);width:100%}.card-front{background:var(--gradient-accent);color:#fff}.card-back{background:var(--secondary-color);color:var(--text-primary);transform:rotateY(180deg)}.card:hover .card-front{border-color:var(--accent-color);transform:scale(1.05)}.card.matched .card-back{animation:pulse 1s ease-in-out;background:#10b98133;border-color:var(--success-color)}@keyframes pulse{0%,to{transform:rotateY(180deg) scale(1)}50%{transform:rotateY(180deg) scale(1.1)}}@media (max-width:768px){.memory-game{padding:1rem}.game-header h2{font-size:2rem}.game-stats{flex-direction:column;gap:1rem}.cards-grid{gap:3rem;max-width:400px}.card-back,.card-front{font-size:2rem}.game-start,.game-won{padding:2rem 1rem}.game-start h3,.game-won h3{font-size:1.5rem}}@media (max-width:480px){.cards-grid{gap:2rem;max-width:300px}.card-back,.card-front{font-size:1.2rem}}.tictactoe-game{margin:0 auto;max-width:600px;padding:2rem;text-align:center}.game-header{margin-bottom:2rem}.game-header h2{color:var(--text-primary);font-family:Raleway,sans-serif;font-size:2.5rem;font-weight:700;margin-bottom:1rem}.game-stats{color:var(--text-secondary);display:flex;font-size:1.1rem;gap:2rem;justify-content:center}.game-stats span{background:#3b82f61a;border:1px solid #3b82f633;border-radius:var(--border-radius);padding:.5rem 1rem}.game-start{background:var(--secondary-color);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);margin:2rem 0;padding:3rem}.game-start h3{color:var(--text-primary);font-family:Raleway,sans-serif;font-size:1.8rem;margin-bottom:2rem}.mode-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.mode-button{background:var(--gradient-accent);border:none;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:1.1rem;font-weight:600;min-width:150px;padding:1rem 2rem;transition:var(--transition)}.mode-button:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.game-board{align-items:center;display:flex;flex-direction:column;gap:2rem}.status{background:var(--secondary-color);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);font-size:1.5rem;font-weight:600;padding:1rem 2rem}.board{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr);margin:0 auto;max-width:300px}.board-row{display:contents}.square{align-items:center;background:var(--secondary-color);border:2px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);cursor:pointer;display:flex;font-size:2.5rem;font-weight:700;height:80px;justify-content:center;transition:var(--transition);width:80px}.square:hover:not(:disabled){background:#3b82f61a;border-color:var(--accent-color);transform:scale(1.05)}.square.filled{cursor:not-allowed}.square.winner{animation:winner-pulse 1s ease-in-out;background:#10b98133;border-color:var(--success-color)}@keyframes winner-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.game-controls{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.reset-button,.reset-scores-button{background:var(--gradient-accent);border:none;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:var(--transition)}.reset-button:hover,.reset-scores-button:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.reset-scores-button{background:#ef4444cc}.reset-scores-button:hover{background:#ef4444}@media (max-width:768px){.tictactoe-game{padding:1rem}.game-header h2{font-size:2rem}.game-stats{flex-direction:column;gap:1rem}.mode-buttons{align-items:center;flex-direction:column}.mode-button{max-width:200px;width:100%}.board{max-width:250px}.square{font-size:2rem;height:70px;width:70px}.game-controls{align-items:center;flex-direction:column}.reset-button,.reset-scores-button{max-width:200px;width:100%}}.games-page{background:var(--primary-color);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.games-header{background:var(--secondary-color);border-bottom:1px solid var(--border-color);padding:2rem 0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{flex-direction:column;gap:1rem;text-align:center}.back-button,.header-content{align-items:center;display:flex}.back-button{background:none;border:none;border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;font-family:Inter,sans-serif;font-size:1rem;gap:.5rem;padding:.5rem 1rem;text-decoration:none;transition:var(--transition)}.back-button:hover{background:#3b82f61a;color:var(--accent-color)}.page-title{color:var(--text-primary);font-family:Raleway,sans-serif;font-size:3rem;font-weight:700;margin:0}.page-subtitle{color:var(--text-secondary);font-size:1.2rem;margin:0;max-width:600px}.games-content{padding:4rem 0;position:relative}.container{margin:0 auto;max-width:1200px;padding:0 2rem}.games-intro{margin-bottom:3rem;margin-left:auto;margin-right:auto;max-width:800px;text-align:center}.games-intro p{color:var(--text-secondary);font-size:1.1rem;line-height:1.6}.games-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:4rem}.game-card{background:var(--secondary-color);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);cursor:pointer;overflow:hidden;padding:2rem;position:relative;transition:var(--transition)}.game-card:hover{border-color:var(--accent-color);box-shadow:var(--shadow-lg);transform:translateY(-5px)}.game-card.playable{cursor:pointer}.game-card.playable:hover{border-color:var(--success-color)}.game-card .game-header{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.game-icon{align-items:center;background:var(--gradient-accent);border-radius:var(--border-radius);display:flex;flex-shrink:0;font-size:3rem;height:80px;justify-content:center;width:80px}.game-info{flex:1 1}.game-title{color:var(--text-primary);font-family:Raleway,sans-serif;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.game-meta{display:flex;flex-wrap:wrap;gap:1rem}.game-category{background:#3b82f61a;color:var(--accent-color)}.game-category,.game-difficulty{border-radius:var(--border-radius);font-size:.875rem;font-weight:500;padding:.25rem .75rem}.difficulty-easy{background:#10b9811a;color:var(--success-color)}.difficulty-medium{background:#f59e0b1a;color:#f59e0b}.difficulty-hard{background:#ef44441a;color:#ef4444}.game-preview{color:var(--text-primary);font-size:1rem;font-weight:500;margin-bottom:1rem}.game-description{color:var(--text-secondary);line-height:1.6}.game-description,.game-status{margin-bottom:1.5rem}.status-badge{background:#6b72801a;border-radius:var(--border-radius);color:var(--text-secondary);font-size:.875rem;font-weight:500;padding:.5rem 1rem}.status-badge.playable{background:#10b9811a;color:var(--success-color)}.play-button{align-items:center;background:#6b72801a;border:none;border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem;transition:var(--transition);width:100%}.play-button.enabled{background:var(--gradient-accent);color:#fff}.play-button.enabled:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.play-button.disabled{cursor:not-allowed;opacity:.6}.play-icon{font-size:1.2rem}.games-footer{border-top:1px solid var(--border-color);padding:3rem 0;text-align:center}.games-note{color:var(--text-secondary);font-size:1.1rem;margin-bottom:2rem}.games-tech h4{color:var(--text-primary);font-family:Raleway,sans-serif;font-size:1.2rem;margin-bottom:1rem}.tech-stack{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.tech-item{background:var(--gradient-accent);border-radius:var(--border-radius);color:#fff;font-size:.875rem;font-weight:500;padding:.5rem 1rem}.games-page-footer{background:var(--secondary-color);border-top:1px solid var(--border-color);padding:2rem 0}.footer-content{align-items:center;flex-direction:column}.footer-content,.footer-social{display:flex;gap:1rem}.footer-social a{border-radius:var(--border-radius);color:var(--text-secondary);padding:.5rem;transition:var(--transition)}.footer-social a:hover{background:#3b82f61a;color:var(--accent-color)}.footer-copyright{color:var(--text-secondary);font-size:.875rem}.game-page{background:var(--primary-color);color:var(--text-primary);min-height:100vh}.game-page .game-header{background:var(--secondary-color);border-bottom:1px solid var(--border-color);padding:1.5rem 0}.game-page .header-content{align-items:center;flex-direction:row;justify-content:space-between;text-align:left}.game-page .page-title{font-size:2rem;margin:0}.game-content{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 200px);padding:2rem 0}@media (max-width:768px){.container{padding:0 1rem}.page-title{font-size:2rem}.games-grid{gap:1.5rem;grid-template-columns:1fr}.game-card{padding:1.5rem}.game-icon{font-size:2.5rem;height:60px;width:60px}.game-title{font-size:1.3rem}.tech-stack{align-items:center;flex-direction:column}.game-page .header-content{flex-direction:column;gap:1rem;text-align:center}.game-page .page-title{font-size:1.5rem}}.physio-fullpage{font-family:Segoe UI,Arial,sans-serif;margin:0 auto;max-width:1200px;padding:2.5rem 1rem 3rem}.physio-header{margin-bottom:2.5rem;text-align:center}.physio-title{color:#1a237e;font-size:2.3rem;font-weight:700;margin-bottom:.5rem}.physio-preview{color:#1976d2;font-size:1.15rem;font-weight:500}.physio-main-content{display:flex;flex-wrap:wrap;gap:2.5rem;margin-bottom:2.5rem}.physio-main-left{flex:2 1;min-width:270px}.physio-main-right{flex:1.2 1;min-width:220px}.physio-description-section,.physio-features-section{margin-bottom:2rem}.physio-description-section h2,.physio-features-section h2,.physio-images-section h2,.physio-tech-section h2{color:#1976d2;font-size:1.25rem;margin-bottom:.7rem}.physio-description-section p{color:#333;font-size:1.08rem;line-height:1.7}.physio-features-list{padding-left:1.2rem}.physio-features-list li{color:#444;margin-bottom:.5rem}.physio-images-placeholder{display:flex;flex-wrap:wrap;gap:1rem}.physio-image-box{align-items:center;border-radius:.7rem;box-shadow:0 2px 8px #1976d214;display:flex;font-size:1rem;font-weight:600;height:90px;justify-content:center;width:110px}.physio-tech-section{margin-top:2.5rem}.physio-tech-list{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.5rem;padding-left:0}.physio-tech-list li{border-radius:.5rem;font-size:.98rem;list-style:none;padding:.35rem .9rem}.physio-repo-link{border-radius:.5rem;display:inline-block;font-weight:600;margin-top:1.5rem;padding:.6rem 1.3rem;text-decoration:none;transition:background .2s}.physio-big-box{background:#102347;border-radius:2rem;box-shadow:0 6px 32px #1976d21a,0 2px 8px #1976d20f;color:#fff;margin:3rem auto;max-width:1100px;padding:2.5rem 1.5rem}.physio-description-section h2,.physio-features-section h2,.physio-header .physio-preview,.physio-header .physio-title,.physio-images-section h2,.physio-tech-section h2{color:#fff}.physio-description-section p,.physio-features-list li{color:#c7e0ff}.physio-tech-list li{background:#fff;color:#1976d2}.physio-image-box,.physio-repo-link{background:#fff;border:2px solid #fff;color:#1976d2}.physio-repo-link:hover{background:#e3f2fd;border:2px solid #e3f2fd;color:#1251a3}body{background:#fff}@media (max-width:900px){.physio-main-content{flex-direction:column;gap:1.5rem}.physio-main-right{min-width:0}.physio-big-box{border-radius:1rem;padding:1.2rem .5rem}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.24271e1c.css.map*/