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,body,html{height:100%;margin:0;overflow:hidden;padding:0;width:100%}:root{--primary-blue:#5b7fff;--secondary-purple:#764ba2;--light-gray:#f8f9fa;--dark-text:#2c3e50;--gradient-bg:linear-gradient(135deg,#764ba2,#667eea 50%,#5b7fff)}.App{height:100vh;overflow:hidden;position:relative;width:100vw}.navigation-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;box-shadow:0 2px 10px #00000014;left:0;padding:0 2rem;position:fixed;right:0;top:0;transition:transform .3s ease-in-out,opacity .3s ease-in-out;z-index:1000}.navigation-bar.visible{opacity:1;transform:translateY(0)}.navigation-bar.hidden{opacity:0;transform:translateY(-100%)}.nav-content{align-items:center;display:flex;height:70px;justify-content:space-between;margin:0 auto;max-width:1200px}.nav-center,.nav-left,.nav-right{align-items:center;display:flex;gap:2rem}.nav-logo{color:#2c3e50;cursor:pointer;font-size:1.5rem;font-weight:700;margin:0;transition:transform .2s}.nav-logo:hover{transform:scale(1.05)}.nav-link{border-radius:8px;color:#2c3e50;font-size:1rem;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:background-color .2s,transform .2s}.nav-link:hover{background-color:#0000000d;transform:translateY(-2px)}.mode-toggle{align-items:center;background:#f8f9fa;border:2px solid #e9ecef;border-radius:50px;box-shadow:0 2px 8px #00000014;color:#2c3e50;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.6rem 1.2rem;transition:all .3s ease}.mode-toggle:hover{background:#e9ecef;box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.mode-toggle:active{box-shadow:0 2px 6px #00000014;transform:translateY(0)}.mode-toggle.web{background:#fff;border-color:#dee2e6}.mode-toggle.game{background:#f8f9fa;border-color:#adb5bd}.toggle-icon{font-size:1.3rem;line-height:1}.toggle-text{font-size:.95rem;letter-spacing:.5px}.web-mode-content{background:#f8f9fa;background:var(--light-gray);height:100vh;overflow-y:scroll;scroll-behavior:smooth;width:100%}.section{align-items:center;box-sizing:border-box;color:#2c3e50;color:var(--dark-text);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:calc(4rem + 70px) 2rem 4rem;position:relative}.section#about{background:#fff}.about-container{align-items:center;display:flex;gap:4rem;justify-content:space-between;max-width:1200px;width:100%}.about-text{flex:1 1}.about-text h2{font-size:3rem;margin-bottom:1rem}.about-text .highlight{color:#5b7fff;color:var(--primary-blue);font-weight:700}.about-info{color:#666;font-size:1rem;line-height:1.6;margin-bottom:1.5rem}.about-profile{flex:0 0 300px;text-align:center}.profile-image-container{align-items:center;background:#0000;border:none;border-radius:50%;box-shadow:none;display:flex;height:280px;justify-content:center;margin:0 auto 1.5rem;width:200px}.profile-image-container img{border:none}.profile-image-placeholder{font-size:120px}.play-game-button{background:#5b7fff;background:var(--primary-blue);border:none;border-radius:50px;box-shadow:0 5px 20px #5b7fff66;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:700;padding:1rem 3rem;transition:all .3s ease}.play-game-button:hover{box-shadow:0 8px 30px #5b7fff80;transform:translateY(-3px)}.section#projects{background:#fff}.section#contact,.section#projects,.section#projects h2{color:#2c3e50;color:var(--dark-text)}.section#contact{background:#f8f9fa!important}.contact-skills-container{max-width:1200px;padding:2rem;width:100%}.contact-skills-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:700;margin-bottom:4rem;text-align:center}.contact-skills-grid{grid-gap:2.5rem;display:grid;gap:2.5rem;grid-template-columns:1fr 1fr}.contact-box,.skills-box{background:#fff!important;border:none;border-radius:20px;box-shadow:0 8px 32px #667eea1f;overflow:hidden;padding:1.8rem;position:relative;transition:all .3s ease}.contact-box:before,.skills-box:before{background:linear-gradient(135deg,#667eea,#764ba2);content:"";height:4px;left:0;position:absolute;right:0;top:0}.contact-box:hover,.skills-box:hover{box-shadow:0 12px 48px #667eea33;transform:translateY(-8px)}.contact-box h3,.skills-box h3{align-items:center;color:#2c3e50!important;display:flex;font-size:1.6rem;font-weight:700;gap:.5rem;margin-bottom:1.5rem}.contact-item{font-size:1rem;margin-bottom:1rem}.contact-item,.contact-item span{color:#495057!important}.contact-item a{color:#667eea!important;margin-left:.5rem;text-decoration:none}.contact-item a:hover{text-decoration:underline}.contact-cta{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;color:#fff!important;font-size:1.1rem;font-weight:600;margin-top:2rem;padding:1.5rem;text-align:center}.skill-category{margin-bottom:1.5rem}.skill-category h4{align-items:center;color:#495057!important;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;letter-spacing:.5px;margin-bottom:.75rem;text-transform:uppercase}.skill-tags{display:flex;flex-wrap:wrap;gap:.6rem}.skill-tag{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 2px 8px #667eea40;color:#fff!important;display:inline-block;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.skill-tag:hover{box-shadow:0 4px 16px #667eea59;transform:translateY(-2px)}.skill-tag.contact-link{background:linear-gradient(135deg,#667eea,#764ba2);cursor:pointer;overflow:hidden;position:relative;text-decoration:none}.skill-tag.contact-link:before{background:linear-gradient(135deg,#fff3,#fff0);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .3s ease;width:100%}.skill-tag.contact-link:hover:before{left:100%}.contact-info{max-width:600px;text-align:center}.contact-info p{color:#2c3e50;color:var(--dark-text);font-size:1.2rem;margin:1rem 0}.section h2{font-size:3rem;margin-bottom:2rem}.section h2,.section p{text-align:center;text-shadow:none}.section p{color:#495057;font-size:1.2rem;line-height:1.8;margin-bottom:1rem;max-width:800px}.project-tabs{border-bottom:2px solid #e9ecef;display:flex;gap:1rem;margin-bottom:2rem;margin-top:2rem;padding-bottom:0}.project-tab{background:#0000;border:none;border-bottom:3px solid #0000;bottom:-2px;color:#666;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;position:relative;transition:all .3s ease}.project-tab:hover{color:#4a90e2}.project-tab.active{border-bottom-color:#4a90e2;color:#4a90e2}.project-category{margin-bottom:4rem;width:100%}.category-header{margin-bottom:2.5rem}.category-title{align-items:center;display:flex;gap:.75rem;margin-bottom:.6rem}.category-icon{font-size:2.5rem;line-height:1}.category-title h3{color:#1a202c;font-size:2.2rem;font-weight:700;letter-spacing:-.8px;line-height:1.2;margin:0}.category-description{color:#64748b;font-size:.9rem;font-weight:400;margin:0;opacity:.9}.projects-grid{display:flex;flex-direction:column;gap:2rem;margin-top:2rem;max-width:1200px;width:100%}.project-category:last-child .projects-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.project-category:last-child .project-card{align-items:stretch;display:flex;flex-direction:row;max-height:180px;min-height:180px;overflow:hidden;padding:0}.project-card-icon-area{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:16px 0 0 16px;display:flex;flex-shrink:0;justify-content:center;width:140px}.project-card-icon{font-size:3.5rem;transition:transform .3s ease}.project-category:last-child .project-card:hover .project-card-icon{transform:scale(1.1) rotate(5deg)}.project-category:last-child .project-card-content{display:flex;flex:1 1;flex-direction:column;gap:.5rem;justify-content:center;padding:1.25rem 1.5rem}.project-category:last-child .project-card-content h3{color:#1a202c;font-size:1.15rem;font-weight:700;line-height:1.3;margin:0}.project-category:last-child .project-card-content p{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#4a5568;display:-webkit-box;font-size:.85rem;line-height:1.6;margin:0;overflow:hidden}.project-category:last-child .project-card-tech{display:flex;flex-wrap:wrap;gap:.35rem;margin:0}.project-category:last-child .project-tech-tag{background:#f7fafc;border:1px solid #e2e8f0;border-radius:4px;color:#2d3748;font-size:.65rem;padding:.25rem .5rem}.project-category:last-child .project-card-links{display:flex;gap:.5rem;margin:0;padding:0}.project-category:last-child .project-card-link{border-radius:6px;font-size:.7rem;padding:.4rem .75rem}.project-category:last-child .project-card:hover{transform:translateY(-4px)}.project-card{-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid #e9ecef;border-radius:15px;box-shadow:0 4px 12px #00000014;padding:2rem;transition:transform .3s,box-shadow .3s}.project-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-10px)}.project-card h3{color:#2c3e50;font-size:1.8rem;margin-bottom:1rem}.project-card p{color:#495057;font-size:1rem;line-height:1.6;text-align:left}.typing-cursor{animation:blink 1s infinite;font-weight:400;margin-left:2px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.floating-particles{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}.particle{animation:float ease-in-out infinite;background:#5b7fff66;border-radius:50%;box-shadow:0 0 10px #5b7fff4d;height:8px;opacity:.6;position:absolute;width:8px}@keyframes float{0%,to{opacity:.6;transform:translateY(0) translateX(0) scale(1)}25%{opacity:.8;transform:translateY(-30px) translateX(20px) scale(1.1)}50%{opacity:.5;transform:translateY(-60px) translateX(-20px) scale(.9)}75%{opacity:.7;transform:translateY(-30px) translateX(-40px) scale(1.05)}}.fade-in{opacity:0;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out}.fade-in.visible{opacity:1;transform:translateY(0)}.slide-in-left{opacity:0;transform:translateX(-50px);transition:opacity .8s ease-out,transform .8s ease-out}.slide-in-left.visible{opacity:1;transform:translateX(0)}.slide-in-right{opacity:0;transform:translateX(50px);transition:opacity .8s ease-out,transform .8s ease-out}.slide-in-right.visible{opacity:1;transform:translateX(0)}.scale-in{opacity:0;transform:scale(.8);transition:opacity .8s ease-out,transform .8s ease-out}.scale-in.visible{opacity:1;transform:scale(1)}.project-card{background:#fff;border:1px solid #0000000d;border-radius:16px;box-shadow:0 2px 12px #0000000f;cursor:pointer;display:grid;grid-template-columns:380px 1fr;min-height:280px;overflow:hidden;padding:0;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.project-card:before{display:none}.project-card:hover{border-color:#5b7fff26;box-shadow:0 8px 28px #5b7fff1f;transform:translateX(8px)}.project-card-image{background:linear-gradient(135deg,#667eea,#764ba2);height:100%;object-fit:cover;transition:all .3s ease;width:100%}.project-card:hover .project-card-image{filter:brightness(1.05)}.project-card-content{background:#fff;color:#2c3e50;display:flex;flex-direction:column;justify-content:space-between;padding:2rem 2.5rem;text-align:left}.project-card-content h3{color:#1a202c;font-size:1.5rem;font-weight:700;line-height:1.3;margin-bottom:.85rem}.project-card-content p{color:#4a5568;font-size:.95rem;line-height:1.7;margin-bottom:1.25rem}.project-card-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.project-card-links{display:flex;gap:.75rem;margin-top:auto}.project-card-link{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;color:#2d3748;flex:1 1;font-size:.85rem;font-weight:600;padding:.65rem 1.25rem;text-align:center;text-decoration:none;transition:all .3s ease}.project-card-link:hover{background:#2d3748;border-color:#2d3748;box-shadow:0 4px 12px #2d374826;color:#fff;transform:translateY(-2px)}.project-card-link.demo{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.project-card-link.demo:hover{background:linear-gradient(135deg,#5568d3,#6941a0);box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.project-tech-tag{background:#edf2f7;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;font-size:.8rem;font-weight:600;padding:.4rem .85rem;transition:all .2s ease}.project-tech-tag:hover{background:#e2e8f0;border-color:#cbd5e0}.project-tech-tag.more{background:#667eea;border-color:#667eea;color:#fff}.project-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;box-shadow:0 2px 8px #00000026;color:#667eea;font-size:.7rem;font-weight:700;letter-spacing:.3px;padding:.45rem .9rem;position:absolute;right:12px;top:12px;z-index:10}.project-badge,.project-badge.graduation{background:#fffffff2;border:1px solid #fffc}.project-badge.graduation{color:#f5576c}.project-badge.personal{background:#fffffff2;border:1px solid #fffc;color:#10b981}.project-badge.other{background:#fffffff2;border:1px solid #fffc;color:#f59e0b}.project-status-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#10b981f2;border:1px solid #ffffff4d;border-radius:6px;box-shadow:0 2px 8px #00000026;color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.3px;padding:.35rem .75rem;position:absolute;right:12px;top:45px;z-index:10}@media (max-width:768px){.nav-content{flex-direction:column;gap:1rem;height:auto;padding:1rem 0}.nav-center{flex-direction:column;gap:.5rem}.section h2{font-size:2rem}.section p{font-size:1rem}.category-header{margin-bottom:2rem}.category-title{margin-bottom:.5rem}.category-title h3{font-size:1.6rem}.category-icon{font-size:2rem}.category-description{font-size:.85rem}.projects-grid{gap:1.5rem}.project-card{grid-template-columns:1fr;min-height:auto}.project-card-image{height:200px}.project-card-content{padding:1.5rem}.project-card-content h3{font-size:1.25rem}.project-card-content p{font-size:.9rem}.project-category:last-child .projects-grid{grid-template-columns:1fr}.project-category:last-child .project-card{grid-template-columns:120px 1fr;max-height:140px}.project-category:last-child .project-card-content{padding:1rem}.about-container{flex-direction:column;gap:2rem}.about-text h2{font-size:2rem}.profile-image-container{height:200px;width:200px}.profile-image-placeholder{font-size:100px}}.dark-mode-toggle{align-items:center;background:#f8f9fa;border:2px solid #e9ecef;border-radius:50%;box-shadow:0 2px 8px #00000014;cursor:pointer;display:flex;height:45px;justify-content:center;margin-right:1rem;transition:all .3s ease;width:45px}.dark-mode-toggle:hover{background:#e9ecef;box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.dark-mode-toggle:active{box-shadow:0 2px 6px #00000014;transform:translateY(0)}.dark-mode-toggle .toggle-icon{font-size:1.3rem;line-height:1}.dark-mode{--primary-blue:#7b9fff;--secondary-purple:#9d7bc9;--light-gray:#1a1a1a;--dark-text:#e0e0e0;--gradient-bg:linear-gradient(135deg,#2a1f3d,#1f2f4d 50%,#1a3a5f)}.dark-mode .navigation-bar{background:#1a1a1af2;box-shadow:0 2px 10px #0000004d}.dark-mode .nav-logo{color:#e0e0e0}.dark-mode .nav-link{color:#b0b0b0}.dark-mode .nav-link:hover{color:#7b9fff}.dark-mode .dark-mode-toggle{background:#2a2a2a;border-color:#404040}.dark-mode .dark-mode-toggle:hover{background:#333}.dark-mode .mode-toggle{background:#2a2a2a;border-color:#404040;color:#e0e0e0}.dark-mode .mode-toggle:hover{background:#333}.dark-mode .web-mode-content{background:#1a1a1a}.dark-mode .section{background:#1a1a1a;color:#e0e0e0}.dark-mode h1,.dark-mode h2,.dark-mode h3,.dark-mode h4{color:#e0e0e0}.dark-mode p{color:#b0b0b0}.dark-mode .highlight{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#9d7bc9,#7b9fff);-webkit-background-clip:text;background-clip:text}.dark-mode .project-tabs{border-bottom-color:#333}.dark-mode .project-tab{color:#b0b0b0}.dark-mode .project-tab:hover{color:#7b9fff}.dark-mode .project-tab.active{border-bottom-color:#7b9fff;color:#7b9fff}.dark-mode .project-card{background:#1e1e1e;border:1px solid #333;box-shadow:0 2px 8px #0006}.dark-mode .project-card:hover{border-color:#7b9fff66;box-shadow:0 8px 28px #7b9fff33;transform:translateX(8px)}.dark-mode .project-card-content{background:#1e1e1e;color:#e0e0e0}.dark-mode .project-card-content h3{color:#f0f0f0}.dark-mode .project-card-content p{color:#b0b0b0}.dark-mode .project-tech-tag{background:#2a2a2a;border:1px solid #3a3a3a;color:#b0b0b0}.dark-mode .project-tech-tag:hover{background:#333;border-color:#444}.dark-mode .project-tech-tag.more{background:#7b9fff;border-color:#7b9fff;color:#1a1a1a}.dark-mode .project-card-links{border-top-color:#ffffff14}.dark-mode .project-card-link{background:#2a2a2a;border:1px solid #3a3a3a;color:#e0e0e0}.dark-mode .project-card-link:hover{background:#f0f0f0;border-color:#f0f0f0;color:#1a1a1a}.dark-mode .project-card-link.demo{background:linear-gradient(135deg,#9d7bc9,#7b9fff);border:none;color:#fff}.dark-mode .project-card-link.demo:hover{background:linear-gradient(135deg,#8a6bb8,#6a8fee)}.dark-mode .project-badge{background:#1e1e1ef2;border:1px solid #7b9fff4d;color:#7b9fff}.dark-mode .project-badge.graduation{background:#1e1e1ef2;border:1px solid #ff7b9d4d;color:#ff7b9d}.dark-mode .project-badge.personal{background:#1e1e1ef2;border:1px solid #34d3994d;color:#34d399}.dark-mode .project-badge.other{background:#1e1e1ef2;border:1px solid #fbbf244d;color:#fbbf24}.dark-mode .project-status-badge{background:#10b981f2;border:1px solid #10b98166;color:#fff}.dark-mode .project-card-icon-area{background:linear-gradient(135deg,#2a2a2a,#1e1e1e)}.dark-mode .particle{background:radial-gradient(circle,#7b9fffcc 0,#7b9fff66 40%,#0000 70%);box-shadow:0 0 20px #7b9fff99,0 0 40px #7b9fff4d}.dark-mode .contact-link{background:#252525;border:2px solid #404040;color:#b0b0b0}.dark-mode .contact-link:hover{background:#2a2a2a;border-color:#7b9fff;box-shadow:0 8px 24px #7b9fff33;color:#7b9fff}.dark-mode .play-game-button{background:linear-gradient(135deg,#9d7bc9,#7b9fff)}.dark-mode .play-game-button:hover{box-shadow:0 8px 24px #7b9fff4d}.dark-mode #about{background:#1a1a1a!important}.dark-mode .profile-image-container{border-color:#404040;box-shadow:0 4px 12px #0000004d}.contact-info-modal-overlay{align-items:center;animation:fadeIn .3s ease-in-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.contact-info-modal{animation:slideIn .3s ease-out;background:#fff;border-radius:20px;box-shadow:0 12px 48px #667eea33;max-width:500px;overflow:hidden;padding:2.5rem;position:relative;width:90%}.contact-info-modal:before{content:"";height:4px;left:0;right:0;top:0}.contact-info-close,.contact-info-modal:before{background:linear-gradient(135deg,#667eea,#764ba2);position:absolute}.contact-info-close{align-items:center;border:none;border-radius:50%;box-shadow:0 2px 8px #667eea40;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:36px;justify-content:center;right:1rem;top:1rem;transition:all .3s ease;width:36px}.contact-info-close:hover{box-shadow:0 4px 16px #667eea59;transform:rotate(90deg) scale(1.1)}.contact-info-modal h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700;margin:0 0 2rem;text-align:center}.contact-info-content{display:flex;flex-direction:column;gap:1rem}.contact-info-item{align-items:center;background:#f8f9fa;border:2px solid #0000;border-radius:12px;display:flex;gap:1rem;padding:1rem 1.25rem;transition:all .3s ease}.contact-info-item:hover{background:#fff;border-color:#667eea;box-shadow:0 4px 16px #667eea26;transform:translateY(-2px)}.contact-info-icon{flex-shrink:0;font-size:2rem}.contact-info-details{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.contact-info-label{color:#495057;font-size:.875rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.contact-info-value{color:#2c3e50;font-size:1.1rem;font-weight:600;word-break:break-all}.contact-info-link{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;cursor:pointer;position:relative;text-decoration:none;transition:all .3s ease}.contact-info-link:hover{opacity:.8}.profile-modal-overlay{align-items:center;animation:fadeIn .3s ease-in-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:2rem;position:fixed;right:0;top:0;z-index:2000}.profile-modal{animation:slideIn .3s ease-out;background:#fff;border-radius:20px;box-shadow:0 12px 48px #667eea33;max-height:90vh;max-width:900px;overflow-y:auto;padding:2.5rem;position:relative;width:100%}.profile-modal:before{content:"";height:4px;left:0;right:0;top:0}.profile-modal-close,.profile-modal:before{background:linear-gradient(135deg,#667eea,#764ba2);position:absolute}.profile-modal-close{align-items:center;border:none;border-radius:50%;box-shadow:0 2px 8px #667eea40;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:36px;justify-content:center;right:1rem;top:1rem;transition:all .3s ease;width:36px;z-index:10}.profile-modal-close:hover{box-shadow:0 4px 16px #667eea59;transform:rotate(90deg) scale(1.1)}.profile-modal h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700;margin:0 0 2rem;text-align:center}.profile-modal-content{align-items:flex-start;display:flex;gap:3rem;margin-bottom:3rem}.profile-image-section{flex-shrink:0;text-align:center}.profile-modal-image{border-radius:10px;box-shadow:0 4px 12px #0000001a;height:200px;object-fit:cover;width:200px}.profile-birthday{color:#888;font-size:.9rem;margin-top:1rem}.profile-text-section{flex:1 1}.profile-text-section h3{color:#2c3e50;font-size:1.8rem;margin-bottom:1.5rem}.profile-text-section p{color:#666;line-height:1.7;margin-bottom:1rem;text-align:justify;word-break:keep-all}.profile-text-section .highlight{color:#5b7fff}.profile-skills-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.profile-skill-card{background:#5b7fff0d;border:2px solid #0000;border-radius:15px;padding:2rem 1.5rem;text-align:center;transition:all .3s ease}.profile-skill-card:hover{background:#fff;border-color:#667eea;box-shadow:0 8px 24px #667eea26;transform:translateY(-5px)}.profile-skill-icon{font-size:3rem;margin-bottom:1rem}.profile-skill-card h4{color:#5b7fff;font-size:1.2rem;font-weight:700;margin-bottom:1rem}.profile-skill-card p{color:#666;font-size:.9rem;line-height:1.6}@media (max-width:768px){.profile-modal-content{flex-direction:column;gap:2rem}.profile-image-section{width:100%}.profile-modal-image{height:150px;width:150px}.profile-skills-grid{grid-template-columns:1fr}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.dark-mode #about h3{color:#e0e0e0}.dark-mode #about p{color:#b0b0b0!important}.dark-mode #about p strong{color:#e0e0e0!important}.dark-mode #about p strong[style*="#5B7FFF"]{color:#7b9fff!important}.dark-mode #projects{background:#1a1a1a}.dark-mode #projects h2{color:#e0e0e0}.dark-mode .category-title h3{color:#f7fafc}.dark-mode .category-description{color:#94a3b8}.dark-mode .project-card-title{color:#e0e0e0}.dark-mode .project-description{color:#999}.dark-mode .project-image{opacity:.9}.dark-mode .project-card:hover .project-image{opacity:1}.dark-mode #contact{background:#1a1a1a}.dark-mode #contact h2{color:#e0e0e0}.dark-mode #contact p{color:#b0b0b0}.dark-mode .contact-link i{color:#7b9fff}.dark-mode .contact-link span{color:#b0b0b0}.dark-mode div[style*="rgba(91, 127, 255, 0.05)"]{background:#7b9fff14!important}.dark-mode #contact{background:#1a1a1a!important}.dark-mode .contact-skills-title{color:#e0e0e0!important}.dark-mode .contact-box,.dark-mode .skills-box{background:#2a2a2a!important;border-color:#7b9fff}.dark-mode .contact-box h3,.dark-mode .skills-box h3{color:#e0e0e0!important}.dark-mode .skill-category h4{color:#7b9fff!important}.dark-mode .contact-item,.dark-mode .contact-item span{color:#b0b0b0!important}.dark-mode .contact-item a{color:#7b9fff!important}.door-interaction-ui{animation:doorUIFadeIn .3s ease-in-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000d9;border:2px solid #ffffff4d;border-radius:12px;bottom:30%;box-shadow:0 4px 20px #00000080;color:#fff;font-size:1.2rem;font-weight:600;left:50%;padding:1rem 2rem;position:fixed;transform:translateX(-50%);z-index:100}@keyframes doorUIFadeIn{0%{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.fade-overlay{animation:fadeInOut 1.8s ease-in-out;background:#000;height:100vh;left:0;pointer-events:none;position:fixed;top:0;width:100vw;z-index:9999}@keyframes fadeInOut{0%{opacity:0}22%{opacity:1}67%{opacity:1}to{opacity:0}}.frontend-tech-popup{animation:popupSlideIn .4s ease-out;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:linear-gradient(135deg,#ffffffd9,#f8f9fad9);border:2px solid #5b7fff66;border-radius:20px;box-shadow:0 20px 60px #0000004d;left:50%;max-height:80vh;max-width:900px;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1001}@keyframes popupSlideIn{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.frontend-tech-content{max-height:80vh;overflow-y:auto;padding:2.5rem}.frontend-tech-content::-webkit-scrollbar{width:8px}.frontend-tech-content::-webkit-scrollbar-track{background:#0000000d;border-radius:10px}.frontend-tech-content::-webkit-scrollbar-thumb{background:#5b7fff80;border-radius:10px}.frontend-tech-content::-webkit-scrollbar-thumb:hover{background:#5b7fffb3}.frontend-tech-content h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#5b7fff,#764ba2);-webkit-background-clip:text;background-clip:text;color:#2c3e50;font-size:2rem;font-weight:800;margin-bottom:2rem;text-align:center}.frontend-tech-list{display:flex;flex-direction:column;gap:1.5rem}.frontend-project-item{background:#ffffffe6;border:2px solid #5b7fff1a;border-radius:15px;box-shadow:0 4px 15px #00000014;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.frontend-project-item:hover{box-shadow:0 8px 25px #5b7fff33;transform:translateY(-5px)}.frontend-project-item h3{border-bottom:2px solid #5b7fff33;color:#2c3e50;font-size:1.3rem;font-weight:700;margin-bottom:1rem;padding-bottom:.5rem}.tech-tags{display:flex;flex-wrap:wrap;gap:.75rem}.tech-tag{background:linear-gradient(135deg,#5b7fff,#764ba2);border-radius:25px;box-shadow:0 2px 8px #5b7fff4d;transition:transform .2s ease,box-shadow .2s ease}.tech-tag:hover{box-shadow:0 4px 12px #5b7fff66;transform:scale(1.05)}@media (max-width:768px){.frontend-tech-popup{max-height:85vh;width:95%}.frontend-tech-content{padding:1.5rem}.frontend-tech-content h2{font-size:1.5rem;margin-bottom:1.5rem}.frontend-project-item h3{font-size:1.1rem}.tech-tag{font-size:.8rem;padding:.4rem .8rem}}.backend-tech-popup{animation:popupSlideIn .4s ease-out;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:linear-gradient(135deg,#ffffffd9,#f8f9fad9);border:2px solid #4caf5066;border-radius:20px;box-shadow:0 20px 60px #0000004d;left:50%;max-height:80vh;max-width:900px;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1001}.backend-tech-content{max-height:80vh;overflow-y:auto;padding:2.5rem}.backend-tech-content::-webkit-scrollbar{width:8px}.backend-tech-content::-webkit-scrollbar-track{background:#0000000d;border-radius:10px}.backend-tech-content::-webkit-scrollbar-thumb{background:#4caf5080;border-radius:10px}.backend-tech-content::-webkit-scrollbar-thumb:hover{background:#4caf50b3}.backend-tech-content h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#4caf50,#388e3c);-webkit-background-clip:text;background-clip:text;color:#2c3e50;font-size:2rem;font-weight:800;margin-bottom:2rem;text-align:center}.backend-tech-list{display:flex;flex-direction:column;gap:1.5rem}.backend-project-item{background:#ffffffe6;border:2px solid #4caf501a;border-radius:15px;box-shadow:0 4px 15px #00000014;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.backend-project-item:hover{box-shadow:0 8px 25px #4caf5033;transform:translateY(-5px)}.backend-project-item h3{border-bottom:2px solid #4caf5033;color:#2c3e50;font-size:1.3rem;font-weight:700;margin-bottom:1rem;padding-bottom:.5rem}.backend-tag{background:linear-gradient(135deg,#4caf50,#388e3c)!important;border-radius:25px;box-shadow:0 2px 8px #4caf504d;color:#fff;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:transform .2s ease,box-shadow .2s ease}.backend-tag:hover{box-shadow:0 4px 12px #4caf5066;transform:scale(1.05)}@media (max-width:768px){.backend-tech-popup{max-height:85vh;width:95%}.backend-tech-content{padding:1.5rem}.backend-tech-content h2{font-size:1.5rem;margin-bottom:1.5rem}.backend-project-item h3{font-size:1.1rem}.backend-tag{font-size:.8rem;padding:.4rem .8rem}}.gamedev-tech-popup{animation:popupSlideIn .4s ease-out;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:linear-gradient(135deg,#ffffffd9,#f8f9fad9);border:2px solid #9c27b066;border-radius:20px;box-shadow:0 20px 60px #0000004d;left:50%;max-height:80vh;max-width:900px;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1001}.gamedev-tech-content{max-height:80vh;overflow-y:auto;padding:2.5rem}.gamedev-tech-content::-webkit-scrollbar{width:8px}.gamedev-tech-content::-webkit-scrollbar-track{background:#0000000d;border-radius:10px}.gamedev-tech-content::-webkit-scrollbar-thumb{background:#9c27b080;border-radius:10px}.gamedev-tech-content::-webkit-scrollbar-thumb:hover{background:#9c27b0b3}.gamedev-tech-content h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#9c27b0,#7b1fa2);-webkit-background-clip:text;background-clip:text;color:#2c3e50;font-size:2rem;font-weight:800;margin-bottom:2rem;text-align:center}.gamedev-tech-list{display:flex;flex-direction:column;gap:1.5rem}.gamedev-project-item{background:#ffffffe6;border:2px solid #9c27b01a;border-radius:15px;box-shadow:0 4px 15px #00000014;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.gamedev-project-item:hover{box-shadow:0 8px 25px #9c27b033;transform:translateY(-5px)}.gamedev-project-item h3{border-bottom:2px solid #9c27b033;color:#2c3e50;font-size:1.3rem;font-weight:700;margin-bottom:1rem;padding-bottom:.5rem}.gamedev-tag{background:linear-gradient(135deg,#9c27b0,#7b1fa2)!important;border-radius:25px;box-shadow:0 2px 8px #9c27b04d;color:#fff;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:transform .2s ease,box-shadow .2s ease}.gamedev-tag:hover{box-shadow:0 4px 12px #9c27b066;transform:scale(1.05)}@media (max-width:768px){.gamedev-tech-popup{max-height:85vh;width:95%}.gamedev-tech-content{padding:1.5rem}.gamedev-tech-content h2{font-size:1.5rem;margin-bottom:1.5rem}.gamedev-project-item h3{font-size:1.1rem}.gamedev-tag{font-size:.8rem;padding:.4rem .8rem}}.tools-tech-popup{animation:popupSlideIn .4s ease-out;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:linear-gradient(135deg,#ffffffd9,#f8f9fad9);border:2px solid #ff980066;border-radius:20px;box-shadow:0 20px 60px #0000004d;left:50%;max-height:80vh;max-width:900px;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1001}.tools-tech-content{max-height:80vh;overflow-y:auto;padding:2.5rem}.tools-tech-content::-webkit-scrollbar{width:8px}.tools-tech-content::-webkit-scrollbar-track{background:#0000000d;border-radius:10px}.tools-tech-content::-webkit-scrollbar-thumb{background:#ff980080;border-radius:10px}.tools-tech-content::-webkit-scrollbar-thumb:hover{background:#ff9800b3}.tools-tech-content h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff9800,#f57c00);-webkit-background-clip:text;background-clip:text;color:#2c3e50;font-size:2rem;font-weight:800;margin-bottom:2rem;text-align:center}.tools-general-list{display:flex;flex-direction:column;gap:1.5rem}.tools-general-item{background:#ffffffe6;border:2px solid #ff98001a;border-radius:15px;box-shadow:0 4px 15px #00000014;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.tools-general-item:hover{box-shadow:0 8px 25px #ff980033;transform:translateY(-5px)}.tools-general-item h3{border-bottom:2px solid #ff980033;color:#2c3e50;font-size:1.3rem;font-weight:700;margin-bottom:1rem;padding-bottom:.5rem}.tools-tag{background:linear-gradient(135deg,#ff9800,#f57c00)!important;border-radius:25px;box-shadow:0 2px 8px #ff98004d;color:#fff;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:transform .2s ease,box-shadow .2s ease}.tools-tag:hover{box-shadow:0 4px 12px #ff980066;transform:scale(1.05)}@media (max-width:768px){.tools-tech-popup{max-height:85vh;width:95%}.tools-tech-content{padding:1.5rem}.tools-tech-content h2{font-size:1.5rem;margin-bottom:1.5rem}.tools-general-item h3{font-size:1.1rem}.tools-tag{font-size:.8rem;padding:.4rem .8rem}}.portfolio-popup-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000bf;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:2000}.portfolio-popup-content{animation:slideUp .4s ease-out;background:linear-gradient(135deg,#667eea,#764ba2);border:3px solid #ffffff4d;border-radius:20px;box-shadow:0 20px 60px #00000080;max-height:85vh;max-width:800px;overflow-y:auto;padding:2.5rem;position:relative;width:90%}.portfolio-popup-content::-webkit-scrollbar{width:10px}.portfolio-popup-content::-webkit-scrollbar-track{background:#ffffff1a;border-radius:10px}.portfolio-popup-content::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:10px}.portfolio-popup-content::-webkit-scrollbar-thumb:hover{background:#ffffff80}.portfolio-popup-close{align-items:center;background:#fff3;border:2px solid #ffffff80;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.8rem;font-weight:700;height:45px;justify-content:center;line-height:1;position:absolute;right:1rem;top:1rem;transition:all .3s ease;width:45px}.portfolio-popup-close:hover{background:#ffffff4d;box-shadow:0 4px 15px #ffffff4d;transform:rotate(90deg) scale(1.1)}.portfolio-popup-title{color:#fff;font-size:2.2rem;font-weight:800;margin-bottom:.5rem;text-shadow:2px 2px 4px #0000004d}.portfolio-popup-description{color:#fffffff2;font-size:1.1rem;line-height:1.6;margin-bottom:2rem}.portfolio-popup-section{margin-bottom:2rem}.portfolio-popup-section h3{border-bottom:2px solid #ffffff4d;color:#fff;font-size:1.4rem;font-weight:700;margin-bottom:1rem;padding-bottom:.5rem;text-shadow:1px 1px 2px #0003}.portfolio-tech-tags{display:flex;flex-wrap:wrap;gap:.6rem}.portfolio-tech-tag{background:#ffffff40;border:1px solid #fff6;border-radius:20px;box-shadow:0 2px 8px #0003;color:#fff;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease}.portfolio-tech-tag:hover{background:#ffffff59;box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.portfolio-achievement-list,.portfolio-feature-list{list-style:none;margin:0;padding:0}.portfolio-achievement-list li,.portfolio-feature-list li{color:#fff;font-size:1rem;line-height:1.6;padding:.6rem 0 .6rem 1.5rem;position:relative}.portfolio-feature-list li:before{color:#fffc;content:"▸";font-weight:700;left:0;position:absolute}.portfolio-achievement-list li:before{color:#4ade80;content:"✓";font-size:1.1rem;font-weight:700;left:0;position:absolute}.portfolio-popup-links{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.portfolio-link-button{border:2px solid #0000;border-radius:12px;box-shadow:0 4px 15px #0000004d;flex:1 1;font-size:1rem;font-weight:700;max-width:200px;padding:.9rem 1.5rem;text-align:center;text-decoration:none;transition:all .3s ease}.github-button{background:#0006;border-color:#ffffff4d;color:#fff}.github-button:hover{background:#0009;border-color:#ffffff80;box-shadow:0 6px 20px #0006;transform:translateY(-3px)}.demo-button{background:#ffffff40;border-color:#ffffff80;color:#fff}.demo-button:hover{background:#ffffff59;border-color:#fff;box-shadow:0 6px 20px #ffffff4d;transform:translateY(-3px)}@media (max-width:768px){.portfolio-popup-content{max-height:90vh;padding:1.8rem;width:95%}.portfolio-popup-title{font-size:1.7rem}.portfolio-popup-description{font-size:1rem}.portfolio-popup-section h3{font-size:1.2rem}.portfolio-tech-tag{font-size:.85rem;padding:.4rem .8rem}.portfolio-achievement-list li,.portfolio-feature-list li{font-size:.95rem}.portfolio-popup-links{flex-direction:column}.portfolio-link-button{max-width:100%}}.tutorial-overlay{align-items:center;animation:fadeIn .3s ease-in-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.tutorial-popup{animation:slideUp .4s ease-out;background:linear-gradient(135deg,#fff,#f8f9fa);border:3px solid #5b7fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:600px;padding:3rem;position:relative;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.tutorial-popup h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#764ba2,#667eea 50%,#5b7fff);-webkit-background-clip:text;background-clip:text;color:#2c3e50;font-size:1.8rem;font-weight:700;margin:0 0 1.5rem;text-align:center}.tutorial-content{margin-bottom:2rem}.tutorial-content h3{color:#5b7fff;font-size:1.2rem;font-weight:600;margin:0 0 1rem}.tutorial-content ul{list-style:none;margin:0 0 1.5rem;padding:0}.tutorial-content li{align-items:center;border-bottom:1px solid #5b7fff1a;color:#2c3e50;display:flex;font-size:1rem;padding:.7rem 0}.tutorial-content li:last-child{border-bottom:none}.tutorial-content li strong{background:#5b7fff1a;border-radius:8px;color:#5b7fff;display:inline-block;font-weight:700;margin-right:1rem;min-width:100px;padding:.3rem .8rem}.tutorial-description{background:#5b7fff0d;border-left:4px solid #5b7fff;border-radius:8px;color:#2c3e50;font-size:1rem;line-height:1.6;margin:1.5rem 0 0;padding:1rem}.tutorial-buttons{display:flex;gap:1rem;justify-content:center}.tutorial-btn{border:none;border-radius:12px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.9rem 2rem;transition:all .3s ease}.tutorial-btn-primary{background:linear-gradient(135deg,#764ba2,#667eea 50%,#5b7fff);box-shadow:0 4px 15px #5b7fff4d;color:#fff}.tutorial-btn-primary:hover{box-shadow:0 6px 20px #5b7fff66;transform:translateY(-2px)}.tutorial-btn-secondary{background:#fff;border:2px solid #5b7fff;color:#5b7fff}.tutorial-btn-secondary:hover{background:#5b7fff1a;transform:translateY(-2px)}.dark-mode .tutorial-popup{background:linear-gradient(135deg,#2a2a2a,#1a1a1a);border-color:#7b9fff}.dark-mode .tutorial-popup h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#9d7bc9,#7b9fff);-webkit-background-clip:text;background-clip:text;color:#e0e0e0}.dark-mode .tutorial-content h3{color:#7b9fff}.dark-mode .tutorial-content li{border-bottom-color:#7b9fff1a;color:#b0b0b0}.dark-mode .tutorial-content li strong{background:#7b9fff26;color:#7b9fff}.dark-mode .tutorial-description{background:#7b9fff14;border-left-color:#7b9fff;color:#b0b0b0}.dark-mode .tutorial-btn-primary{background:linear-gradient(135deg,#9d7bc9,#7b9fff)}.dark-mode .tutorial-btn-secondary{background:#2a2a2a;border-color:#7b9fff;color:#7b9fff}.dark-mode .tutorial-btn-secondary:hover{background:#7b9fff26}.tutorial-page-indicator{display:flex;gap:.5rem;justify-content:center;margin-bottom:1.5rem}.tutorial-page-indicator span{color:#ccc;font-size:.8rem;transition:color .3s ease}.tutorial-page-indicator span.active{color:#5b7fff;font-size:1rem}.tutorial-arrow{align-items:center;background:#5b7fff1a;border:2px solid #5b7fff;border-radius:50%;color:#5b7fff;cursor:pointer;display:flex;font-size:1.5rem;height:50px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:50px;z-index:10}.tutorial-arrow:hover:not(.disabled){background:#5b7fff;color:#fff;transform:translateY(-50%) scale(1.1)}.tutorial-arrow.disabled{background:#c8c8c81a;border-color:#ccc;color:#ccc;cursor:not-allowed;opacity:.3}.tutorial-arrow-left{left:10px}.tutorial-arrow-right{right:10px}.tutorial-page{animation:pageSlide .3s ease-in-out}@keyframes pageSlide{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.tutorial-minimap{border:2px solid #5b7fff33;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin:1rem 0;overflow:hidden}.minimap-image{display:block;height:auto;object-fit:contain;width:100%}.dark-mode .tutorial-page-indicator span.active{color:#7b9fff}.dark-mode .tutorial-arrow{background:#7b9fff26;border-color:#7b9fff;color:#7b9fff}.dark-mode .tutorial-arrow:hover:not(.disabled){background:#7b9fff;color:#fff}.dark-mode .tutorial-arrow.disabled{background:#6464641a;border-color:#555;color:#555}.dark-mode .tutorial-minimap{border-color:#7b9fff4d;box-shadow:0 4px 12px #00000080}@media (max-width:768px){.tutorial-popup{max-width:90%;padding:2rem 1.5rem}.tutorial-arrow{font-size:1.2rem;height:40px;width:40px}.tutorial-arrow-left{left:5px}.tutorial-arrow-right{right:5px}.minimap-image{max-height:200px}}.modal-overlay{align-items:center;animation:modalFadeIn .3s ease-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:2000}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:modalSlideUp .3s ease-out;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:900px;overflow-y:auto;position:relative;width:100%}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-close{align-items:center;background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:2rem;height:40px;justify-content:center;line-height:1;position:absolute;right:1rem;top:1rem;transition:all .2s;width:40px;z-index:10}.modal-close:hover{background:#000c;transform:rotate(90deg)}.modal-image-container{background:#f0f0f0;border-radius:20px 20px 0 0;height:400px;overflow:hidden;width:100%}.modal-image{height:100%;object-fit:cover;width:100%}.modal-video-container{align-items:center;background:#000;border-radius:20px 20px 0 0;display:flex;justify-content:center;overflow:hidden;width:100%}.modal-video{height:auto;object-fit:contain;width:100%}.modal-body{padding:2rem}.modal-title{color:#2c3e50;font-size:2.5rem;margin-bottom:1.5rem}.modal-tech-stack{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tech-tag{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 2px 8px #667eea4d;color:#fff;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:transform .2s}.tech-tag:hover{transform:translateY(-2px)}.modal-description{color:#495057;font-size:1.1rem;line-height:1.8;margin-bottom:1.5rem}.modal-tabs{border-bottom:2px solid #e9ecef;display:flex;gap:.5rem;margin-bottom:2rem}.tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#6c757d;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 1.5rem;position:relative;transition:all .3s}.tab-button:hover{background:#667eea0d;color:#495057}.tab-button.active{border-bottom-color:#667eea;color:#667eea}.tab-content{min-height:200px}.modal-details{margin-bottom:2rem}.modal-details h3{color:#2c3e50;font-size:1.5rem;margin-bottom:1rem}.modal-details ul{list-style:none;padding:0}.modal-details li{color:#495057;font-size:1rem;line-height:1.6;padding:.75rem 0 .75rem 1.5rem;position:relative}.modal-details li:before{color:#667eea;content:"✓";font-weight:700;left:0;position:absolute}.achievements-grid{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.achievement-card{align-items:flex-start;background:linear-gradient(135deg,#fff,#f8f9fa);border-left:3px solid #667eea;border-radius:10px;box-shadow:0 2px 8px #0000000a;display:flex;gap:.85rem;overflow:hidden;padding:1rem 1.25rem;position:relative;transition:all .3s ease}.achievement-card:before{background:linear-gradient(180deg,#667eea,#764ba2);content:"";height:100%;left:0;position:absolute;top:0;width:3px}.achievement-card:hover{box-shadow:0 4px 16px #667eea1f;transform:translateY(-2px) translateX(3px)}.achievement-number{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 2px 6px #667eea4d;color:#fff;display:flex;flex-shrink:0;font-size:.85rem;font-weight:700;height:28px;justify-content:center;width:28px}.achievement-content{display:flex;flex:1 1;flex-direction:column;gap:.35rem}.achievement-title{color:#2c3e50;font-size:.95rem;font-weight:700;line-height:1.4;margin:0}.achievement-description{color:#6c757d;font-size:.82rem;line-height:1.5;margin:0}.achievement-text{color:#495057;flex:1 1;font-size:.88rem;line-height:1.5;margin:0;padding-top:.15rem}.challenge-item-card{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000000a;margin-bottom:1.25rem;overflow:hidden;transition:all .3s ease}.challenge-item-card:hover{box-shadow:0 4px 16px #667eea1f;transform:translateY(-2px)}.challenge-title{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:1.1rem;font-weight:700;gap:.75rem;margin:0;padding:.85rem 1.25rem}.challenge-number{align-items:center;background:#fff3;border-radius:50%;display:inline-flex;font-size:.9rem;font-weight:700;height:26px;justify-content:center;width:26px}.challenge-content{display:flex;flex-direction:column;gap:.75rem;padding:1rem}.challenge-section{background:#fff;border-left:3px solid;border-radius:8px;padding:.85rem 1rem;transition:all .2s ease}.challenge-section:hover{transform:translateX(3px)}.problem-section{background:linear-gradient(90deg,#e74c3c0a,#fff0);border-left-color:#e74c3c}.solution-section{background:linear-gradient(90deg,#3498db0a,#fff0);border-left-color:#3498db}.result-section{background:linear-gradient(90deg,#2ecc710a,#fff0);border-left-color:#2ecc71}.section-label{align-items:center;color:#2c3e50;display:flex;font-size:.9rem;gap:.4rem;margin-bottom:.4rem}.label-icon{font-size:1.1rem;line-height:1}.section-text{color:#495057;font-size:.88rem;line-height:1.5;margin:0;padding-left:1.5rem}.challenge-item{background:#f8f9fa;border-left:4px solid #667eea;border-radius:10px;margin-bottom:2rem;padding:1.5rem}.challenge-item h4{color:#2c3e50;font-size:1.2rem;margin-bottom:.75rem}.challenge-item p{color:#495057;line-height:1.6;margin:0}.modal-report{margin-bottom:2rem}.modal-report h3{color:#2c3e50;font-size:1.5rem;margin-bottom:1rem}.pdf-container{border-radius:10px;box-shadow:0 4px 12px #0000001a;height:600px;margin-bottom:1rem;overflow:hidden;width:100%}.pdf-viewer{border:none;height:100%;width:100%}.report-download{text-align:center}.download-link{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;box-shadow:0 4px 12px #667eea4d;color:#fff;display:inline-block;font-weight:600;padding:1rem 2rem;text-decoration:none;transition:all .3s}.download-link:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.reports-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:1rem}.report-item{background:#f8f9fa;border-radius:10px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.report-item h4{color:#2c3e50;font-size:1.2rem;margin-bottom:1rem;text-align:center}.pdf-container-small{border-radius:8px;box-shadow:0 2px 8px #0000001a;height:400px;margin-bottom:1rem;overflow:hidden;width:100%}.download-link-small{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;display:block;font-weight:600;padding:.75rem 1.5rem;text-align:center;text-decoration:none;transition:all .3s}.download-link-small:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.modal-links{border-top:1px solid #e9ecef;display:flex;gap:1rem;padding-top:1rem}.modal-link{border-radius:10px;flex:1 1;font-size:1rem;font-weight:600;padding:1rem 2rem;text-align:center;text-decoration:none;transition:all .3s}.github-link{background:#24292e;color:#fff}.github-link:hover{background:#1a1e22;box-shadow:0 4px 12px #24292e4d;transform:translateY(-2px)}.demo-link{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.demo-link:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:0 20px 20px 0}.modal-content::-webkit-scrollbar-thumb{background:#888;border-radius:10px}.modal-content::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width:768px){.modal-overlay{padding:1rem}.modal-content{max-height:95vh}.modal-image-container{height:250px}.modal-body{padding:1.5rem}.modal-title{font-size:2rem}.modal-links{flex-direction:column}.achievements-grid{gap:.75rem;grid-template-columns:1fr}.achievement-card{padding:.85rem 1rem}.achievement-number{font-size:.8rem;height:26px;width:26px}.achievement-title{font-size:.9rem}.achievement-description{font-size:.78rem}.achievement-text{font-size:.85rem}.challenge-title{font-size:1rem;padding:.75rem 1rem}.challenge-number{font-size:.85rem;height:24px;width:24px}.challenge-content{gap:.65rem;padding:.85rem}.challenge-section{padding:.75rem .85rem}.section-label{font-size:.85rem;margin-bottom:.3rem}.section-text{font-size:.82rem;line-height:1.4;padding-left:1.3rem}}.overview-sections{display:flex;flex-direction:column;gap:1.25rem}.overview-section-card{background:linear-gradient(135deg,#f8f9fa,#fff);border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000000a;overflow:hidden;transition:all .3s ease}.overview-section-card:hover{box-shadow:0 4px 16px #667eea1a;transform:translateY(-2px)}.overview-section-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;gap:.75rem;padding:1rem 1.5rem}.section-icon{font-size:1.5rem;line-height:1}.section-title{color:#fff;font-size:1.15rem;font-weight:700;letter-spacing:.3px;margin:0}.overview-section-content{padding:1.25rem 1.5rem}.overview-item{color:#495057;font-size:.95rem;line-height:1.7;padding:.6rem 0 .6rem 1.5rem;position:relative;transition:all .2s}.overview-item:hover{color:#2c3e50;padding-left:1.7rem}.overview-item:before{color:#667eea;content:"▸";font-size:1rem;font-weight:700;left:0;position:absolute;transition:all .2s}.overview-item:hover:before{left:.2rem}@media (max-width:768px){.overview-section-header{padding:.85rem 1.25rem}.section-icon{font-size:1.3rem}.section-title{font-size:1rem}.overview-section-content{padding:1rem 1.25rem}.overview-item{font-size:.9rem;padding-left:1.3rem}}
/*# sourceMappingURL=main.b4b9c791.css.map*/