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}.projects-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:2rem;max-width:1200px;width:100%}.project-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;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:linear-gradient(180deg,#adb5bd,#868e96);border-radius:20px;box-shadow:0 10px 30px #00000026;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;padding:0;perspective:1000px;position:relative;transform-style:preserve-3d;transition:all .3s ease}.project-card:before{background:linear-gradient(180deg,#ffffff4d,#0000);border-radius:20px 20px 0 0;content:"";height:40px;left:0;position:absolute;right:0;top:0}.project-card:hover{box-shadow:0 20px 50px #00000040;transform:translateY(-10px) rotateX(5deg)}.project-card-image{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px 20px 0 0;height:250px;object-fit:cover;width:100%}.project-card-content{color:#fff;display:flex;flex:1 1;flex-direction:column;padding:2rem;text-align:center}.project-card-content h3{color:#fff;font-size:1.4rem;margin-bottom:1rem;text-shadow:0 2px 4px #0003}.project-card-content p{color:#ffffffe6;font-size:.95rem;line-height:1.5}.project-card-tech{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1rem}.project-card-links{display:flex;gap:.75rem;justify-content:center;margin-top:auto;padding-top:1.5rem}.project-card-link{background:#24292e;border-radius:8px;box-shadow:0 2px 8px #0003;color:#fff;font-size:.85rem;font-weight:600;padding:.6rem 1.2rem;text-decoration:none;transition:all .3s}.project-card-link:hover{background:#1a1e22;box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.project-card-link.demo{background:linear-gradient(135deg,#667eea,#764ba2)}.project-card-link.demo:hover{box-shadow:0 4px 12px #667eea66}.project-tech-tag{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff40;border:1px solid #ffffff4d;border-radius:20px;box-shadow:0 2px 8px #0000001a;color:#fff;font-size:.85rem;font-weight:600;padding:.4rem 1rem}@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}.projects-grid{grid-template-columns:1fr}.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-card{background:#252525;border:1px solid #404040;box-shadow:0 4px 12px #0000004d}.dark-mode .project-card:hover{border-color:#7b9fff;box-shadow:0 8px 24px #7b9fff33;transform:translateY(-8px)}.dark-mode .project-card h3{color:#e0e0e0}.dark-mode .project-card p{color:#999}.dark-mode .tech-tag{color:#7b9fff}.dark-mode .project-card-link,.dark-mode .tech-tag{background:#2a2a2a;border:1px solid #404040}.dark-mode .project-card-link:hover{background:#333;border-color:#555}.dark-mode .project-card-link.demo{background:linear-gradient(135deg,#9d7bc9,#7b9fff);border:none}.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,.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}}.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}.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}}
/*# sourceMappingURL=main.c98b08d6.css.map*/