@import url(https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap);:root{--bg-color:#0a0a0a;--terminal-bg:#121212;--text-color:#0f0;--accent-color:#0c0;--secondary-color:#08f;--warning-color:#fc0;--error-color:#f33;--board-color:#1a1a1a;--chip-color:#2c2c2c;--pin-color:#666;--led-off:#333;--transition-speed:0.3s;--robot-primary:#08f;--robot-secondary:#0af;--robot-accent:#ff3800;--bg-color:#1a1a1a;--terminal-bg:#2c2c2c;--text-color:#f5f5f5;--accent-color:#00ff9d;--secondary-color:#00cc7e;--chip-color:#3a3a3a;--mobile:480px;--tablet:768px;--desktop:1024px;--space-unit:1rem;--space-xs:calc(var(--space-unit)*0.25);--space-sm:calc(var(--space-unit)*0.5);--space-md:var(--space-unit);--space-lg:calc(var(--space-unit)*1.5);--space-xl:calc(var(--space-unit)*2)}*{-webkit-overflow-scrolling:touch;font-family:Share Tech Mono,Courier New,monospace;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{background-color:#1a1a1a;background-color:var(--bg-color);color:#f5f5f5;color:var(--text-color);line-height:1.6;overflow-x:hidden;padding-bottom:min(1rem,env(safe-area-inset-bottom));padding-left:min(1rem,env(safe-area-inset-left));padding-right:min(1rem,env(safe-area-inset-right))}.scene,body{position:relative}.scene{align-items:center;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:40px 20px;z-index:1}.content-container{max-width:1200px;padding:0 1.5rem;position:relative;width:100%;z-index:2}.title-effect{color:#00cc7e;color:var(--secondary-color);font-weight:700}.cta-button{background-color:#2c2c2c;background-color:var(--terminal-bg);border:1px solid #00ff9d;border:1px solid var(--accent-color);border-radius:4px;color:#f5f5f5;color:var(--text-color);cursor:pointer;display:inline-block;font-size:1rem;font-weight:700;margin-right:1rem;margin-top:1rem;overflow:hidden;padding:.8rem 1.5rem;position:relative;text-decoration:none;transition:all .3s ease;transition:all var(--transition-speed) ease}.cta-button:after{background:linear-gradient(90deg,#0000,#0f03,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.cta-button:hover:after{left:100%}.cta-button:hover{background-color:#00ff001a;box-shadow:0 0 10px #00ff0080;transform:translateY(-3px)}.section-title{display:inline-block;font-size:2.5rem;margin-bottom:3rem;position:relative;text-shadow:0 0 10px #00ff0080}.section-title:before{color:#00cc7e;color:var(--secondary-color);content:"[";margin-right:10px}.section-title:after{color:#00cc7e;color:var(--secondary-color);content:"]";margin-left:10px}.terminal{background-color:#2c2c2c;background-color:var(--terminal-bg);border-radius:8px;box-shadow:0 4px 20px #00ff001a;margin-bottom:20px;overflow:hidden;padding:20px;position:relative;transition:transform .3s,box-shadow .3s}.terminal:hover{box-shadow:0 10px 30px #0f03;transform:translateY(-5px)}.terminal:before{background:#ffffff0d;border-top-left-radius:8px;border-top-right-radius:8px;content:"";height:24px;left:0;position:absolute;right:0;top:0}.terminal-header{gap:6px;left:10px;position:absolute;top:5px}.terminal-button{border-radius:50%;height:12px;width:12px}.terminal-button.close{background-color:#f33;background-color:var(--error-color)}.terminal-button.minimize{background-color:#fc0;background-color:var(--warning-color)}.terminal-button.maximize{background-color:#00ff9d;background-color:var(--accent-color)}.terminal-content{margin-top:15px;padding-top:10px}.terminal-text{animation:typing 3s steps(60);margin:0;overflow:hidden;padding:0;white-space:nowrap}.blinking-cursor{background-color:#f5f5f5;background-color:var(--text-color);height:18px;width:10px}@keyframes typing{0%{width:0}to{width:100%}}@keyframes speak{0%,to{transform:translateX(0)}25%{transform:translateX(20%)}50%{transform:translateX(-20%)}75%{transform:translateX(5%)}}@keyframes speakWide{0%,to{left:0;width:50px}50%{left:10px;width:30px}}@keyframes robotFloat{0%,to{transform:translateY(0) rotateY(0)}25%{transform:translateY(-10px) rotateY(15deg)}50%{transform:translateY(5px) rotateY(0)}75%{transform:translateY(-5px) rotateY(-15deg)}}@keyframes eyeMove{0%,to{transform:translate(0)}25%{transform:translate(3px,3px)}50%{transform:translate(-3px)}75%{transform:translateY(-3px)}}@keyframes navGlow{0%,to{transform:translateX(-100%)}50%{transform:translateX(100%)}}@keyframes scrollText{0%{transform:translateX(100%)}to{transform:translateX(-100%)}}@keyframes leftArmMove{0%,to{transform:rotate(5deg)}20%,80%{transform:rotate(15deg)}40%,60%{transform:rotate(0deg)}}@keyframes rightArmMove{0%,to{transform:rotate(-5deg)}20%,80%{transform:rotate(-15deg)}40%,60%{transform:rotate(0deg)}}@keyframes randomBlink{0%,to{background:#333;background:var(--led-off)}15%{background:#08f;background:var(--robot-primary);box-shadow:0 0 5px #08f;box-shadow:0 0 5px var(--robot-primary)}30%{background:#333;background:var(--led-off)}45%{background:#333;background:var(--led-off)}60%{background:#08f;background:var(--robot-primary);box-shadow:0 0 5px #08f;box-shadow:0 0 5px var(--robot-primary)}75%{background:#333;background:var(--led-off)}}@keyframes trackMove{0%{left:-20px;opacity:.7}to{left:100%;opacity:0}}.interest-item,.language-item,.robot-project,.timeline-item{opacity:0;transform:translateY(50px);transition:all .6s ease}.interest-item.visible,.language-item.visible,.robot-project.visible,.timeline-item.visible{opacity:1;transform:translateY(0)}@media (max-width:1025px){.theme-toggle{right:80px;top:20px}}@media (max-width:768px){html{font-size:15px}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}p{font-size:1rem}.scene{padding:30px 15px}.content-container{padding:0 1rem}.timeline:after{left:31px}.timeline-item{padding-left:70px;padding-right:25px;width:100%}.timeline-item.right{left:0}.timeline-item.left:after,.timeline-item.right:after{left:21px}.hero-content h1{font-size:2.5rem}.section-title{font-size:2rem;margin-bottom:2rem}.robot-diagram-container{height:400px}.robot-model-container{min-height:300px}.robot-model{height:280px;width:220px}.button,a,button{min-height:44px;min-width:44px}input,select,textarea{font-size:16px}::-webkit-scrollbar{height:0;width:0}*{scrollbar-width:none}}@media (max-width:480px){html{font-size:14px}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}p{font-size:.95rem}.scene{padding:20px 10px}.content-container{padding:0 .8rem}.hero-content h1{font-size:2rem}.section-title{font-size:1.8rem;margin-bottom:1.5rem}.cta-button{font-size:.9rem;margin-bottom:1rem;margin-right:0;padding:.6rem 1.2rem;text-align:center;width:100%}.robot-diagram-container{height:350px}.robot-part{font-size:.7rem}.robot-part.cpu{height:90px;width:90px}.robot-part.communication,.robot-part.motor-controller,.robot-part.power,.robot-part.sensors{height:50px;width:80px}}.lazy-image-container{display:inline-block;overflow:hidden;position:relative}.lazy-image-placeholder{align-items:center;background:linear-gradient(135deg,#f0f0f0,#e8e8e8);border-radius:8px;display:flex;justify-content:center;min-height:200px;width:100%}.lazy-image-spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#ff6b35;height:40px;width:40px}.lazy-image-error{align-items:center;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;color:#6c757d;display:flex;flex-direction:column;justify-content:center;min-height:200px;width:100%}.lazy-image-error span{font-size:2rem;margin-bottom:.5rem}.lazy-image-error p{font-size:.9rem;margin:0}.lazy-image{border-radius:8px;height:auto;opacity:0;transition:opacity .3s ease-in-out;width:100%}.lazy-image.loaded{opacity:1}.lazy-image.error{display:none}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.lazy-image-error,.lazy-image-placeholder{min-height:150px}.lazy-image-spinner{border-width:2px;height:30px;width:30px}}.lazy-image-container{contain:layout style paint}.lazy-image{-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:opacity}.profile-picture-container{height:300px;position:relative;transform-style:preserve-3d;transition:transform .3s ease-out;width:300px}.profile-frame{background:var(--terminal-bg);border-radius:10px;padding:20px}.profile-frame,.profile-image{height:100%;overflow:hidden;position:relative;width:100%}.profile-image{border-radius:5px}.profile-image img{filter:contrast(110%) brightness(110%);height:100%;object-fit:cover;width:100%}.frame-corner{border:2px solid var(--robot-primary);height:20px;position:absolute;width:20px;z-index:2}.top-left{border-right:none;left:0}.top-left,.top-right{border-bottom:none;top:0}.top-right{border-left:none;right:0}.bottom-left{border-right:none;border-top:none;bottom:0;left:0}.bottom-right{border-left:none;border-top:none;bottom:0;right:0}.frame-edge{background:var(--robot-primary);opacity:.5;position:absolute;z-index:2}.bottom,.top{height:2px;left:20px;width:calc(100% - 40px)}.left,.right{height:calc(100% - 40px);top:20px;width:2px}.top{top:0}.right{right:0}.bottom{bottom:0}.left{left:0}.scanning-line{animation:scan 3s linear infinite;background:linear-gradient(90deg,#0000 0,var(--robot-primary) 50%,#0000 100%);box-shadow:0 0 10px var(--robot-primary);height:2px;opacity:.7;z-index:3}.frame-overlay,.scanning-line{left:0;position:absolute;top:0;width:100%}.frame-overlay{background:linear-gradient(45deg,#0000,#0088ff1a 50%,#0000);height:100%;pointer-events:none;z-index:2}@keyframes scan{0%{transform:translateY(0)}to{transform:translateY(300px)}}.profile-image:hover img{animation:glitch .5s infinite}.profile-container{height:300px;margin:0 auto;perspective:1000px;position:relative;width:300px}@media (max-width:768px){.profile-container{height:250px;width:250px}}@media (max-width:480px){.profile-container{height:200px;width:200px}.frame,.frame:after,.frame:before{border-width:8px}}#hero{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;overflow:hidden;padding:2rem 0;position:relative}.hero-content{text-align:center;transition:transform .5s;width:100%;z-index:2}.hero-flex{align-items:center;display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin:0 auto;max-width:1200px;padding:0 1rem}.hero-text{flex:1 1;min-width:300px;padding:2rem;text-align:left}.hero-profile{align-items:center;display:flex;flex:1 1;justify-content:center;min-width:300px;perspective:1000px}.cta-buttons{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.cv-download{background:linear-gradient(45deg,#ff6b35,#f7931e)!important;border:2px solid #ff6b35!important;overflow:hidden;position:relative}.cv-download:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.cv-download:hover:before{left:100%}.cv-download:hover{background:linear-gradient(45deg,#f7931e,#ff6b35)!important;box-shadow:0 0 20px #ff6b3580!important;transform:translateY(-3px) scale(1.05)!important}.hero-content h1{cursor:pointer;font-size:4rem;line-height:1.2;margin-bottom:1rem;text-shadow:0 0 15px #00ff00b3;transition:transform .5s}.hero-content h1:hover{text-shadow:0 0 25px #00ff00e6;transform:scale(1.05)}.hero-subtitle{font-size:1.5rem;margin-bottom:2rem;opacity:.8}.robot-model-container{align-items:center;display:flex;flex:1 1;justify-content:center;min-height:400px;min-width:300px;perspective:1000px;position:relative}.robot-model{animation:robotFloat 5s ease-in-out infinite;height:350px;position:relative;transform-style:preserve-3d;width:280px}.robot-model-part{position:absolute;transform-style:preserve-3d;transition:transform .5s}.robot-model-head{background:var(--chip-color);border:2px solid var(--robot-primary);border-radius:20px;box-shadow:0 0 20px #0088ff80;height:100px;left:80px;top:30px;transform-style:preserve-3d;width:120px;z-index:3}.robot-model-eye{background:#000;border:2px solid var(--robot-primary);border-radius:50%;height:25px;overflow:hidden;position:absolute;top:30px;width:25px;z-index:4}.robot-model-eye.left{left:25px}.robot-model-eye.right{right:25px}.robot-model-eye-light{animation:eyeMove 3s infinite alternate;background:var(--robot-primary);border-radius:50%;box-shadow:0 0 10px var(--robot-primary);height:10px;left:7px;position:absolute;top:7px;width:10px}.robot-model-mouth{background:#000;border-radius:5px;bottom:20px;height:10px;left:35px;overflow:hidden;position:absolute;width:50px}.robot-model-mouth-line{animation:speakWide 2s infinite;background:var(--robot-primary);height:2px;position:absolute;top:4px;width:50px}.robot-model-body{background:var(--chip-color);border:2px solid var(--robot-primary);border-radius:20px;box-shadow:0 0 20px #0088ff4d;height:150px;left:50px;top:120px;width:180px;z-index:2}.robot-model-chest-light{background:#000;border:2px solid var(--robot-primary);border-radius:50%;height:50px;left:65px;overflow:hidden;position:absolute;top:30px;width:50px}.robot-model-light-effect{animation:pulse 2s infinite;background:radial-gradient(circle,var(--robot-primary) 0,#0000 70%);height:100%;opacity:.7;position:absolute;width:100%}.robot-model-panel{background:#000;border:1px solid var(--robot-primary);border-radius:5px;bottom:20px;height:30px;left:30px;position:absolute;width:120px}.robot-model-button-row{display:flex;justify-content:space-around;margin-top:5px}.robot-model-button{animation:randomBlink 5s infinite;background:var(--led-off);border-radius:50%;height:10px;width:10px}.robot-model-button:nth-child(2){animation-delay:.7s}.robot-model-button:nth-child(3){animation-delay:1.3s}.robot-model-button:nth-child(4){animation-delay:1.9s}.robot-model-button:nth-child(5){animation-delay:2.5s}.robot-model-arm{background:var(--chip-color);border:2px solid var(--robot-primary);border-radius:15px;height:120px;position:absolute;top:130px;width:30px;z-index:1}.robot-model-arm.left{animation:leftArmMove 10s infinite;left:10px;transform-origin:top center}.robot-model-arm.right{animation:rightArmMove 10s infinite;right:10px;transform-origin:top center}.robot-model-hand{background:var(--chip-color);border:2px solid var(--robot-primary);border-radius:10px;bottom:-20px;height:40px;left:-5px;position:absolute;width:40px}.robot-model-finger{background:var(--robot-primary);border-radius:4px;bottom:-5px;height:15px;position:absolute;width:8px}.finger-1{left:5px}.finger-2{left:16px}.finger-3{left:27px}.robot-model-leg{background:var(--chip-color);border:2px solid var(--robot-primary);border-radius:15px;height:100px;position:absolute;top:260px;width:40px;z-index:1}.robot-model-leg.left{left:60px}.robot-model-leg.right{right:60px}.robot-model-foot{background:var(--robot-primary);border-radius:10px;bottom:-10px;box-shadow:0 0 15px #0088ff80;height:20px;left:-5px;position:absolute;width:50px}@media (max-width:768px){.hero-content h1{font-size:3rem}.robot-model-container{min-height:300px}.robot-model{height:280px;width:220px}.hero-flex{flex-direction:column-reverse;gap:1.5rem;text-align:center}.hero-text{margin-top:2rem;padding:0;text-align:center}.cta-buttons{justify-content:center}.hero-subtitle{font-size:1.2rem}}@media (max-width:480px){.hero-content h1{font-size:2.2rem}#hero{padding:1rem 0}.hero-subtitle{font-size:1rem}.cta-buttons{flex-direction:column;gap:.8rem;width:100%}.cta-button{text-align:center;width:100%}}#about{display:flex;flex-direction:column;justify-content:center}.about-section{margin:2rem 0;padding:1rem}.about-content{grid-gap:3rem;align-items:center;display:grid;gap:3rem;grid-template-columns:1fr 1fr}.about-text{color:var(--text-color);line-height:1.8}.tech-stack{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:2rem}.tech-item{background:var(--terminal-bg);border:1px solid var(--robot-primary);border-radius:4px;color:var(--robot-primary);font-size:.9rem;padding:.6rem 1.2rem;transition:all .3s ease}.tech-item:hover{background:var(--chip-color);box-shadow:0 5px 15px #0088ff4d;transform:translateY(-3px)}@media (max-width:768px){.about-content{gap:2rem;grid-template-columns:1fr}.about-text{padding:0 1rem;text-align:center}.tech-stack{gap:1rem;justify-content:center}.tech-item{font-size:.9rem;padding:.5rem 1rem}}@media (max-width:480px){.about-text{font-size:.9rem;padding:0 .5rem}.tech-stack{flex-wrap:wrap;gap:.8rem}.tech-item{font-size:.8rem;padding:.4rem .8rem}}.circuit-board{background-color:var(--board-color);border:1px solid var(--accent-color);border-radius:10px;box-shadow:0 10px 30px #00000080;margin-bottom:40px;overflow:hidden;padding:30px;position:relative;transform-style:preserve-3d;transition:transform .5s}.circuit-board:hover{box-shadow:0 20px 40px #000000b3;transform:translateY(-10px) rotateX(5deg)}.circuit-board:before{background:linear-gradient(90deg,#0000 99%,var(--accent-color) 99.5%,#0000 100%),linear-gradient(0deg,#0000 99%,var(--accent-color) 99.5%,#0000 100%);background-size:20px 20px;bottom:0;content:"";left:0;opacity:.1;pointer-events:none;position:absolute;right:0;top:0}.chip{background-color:var(--chip-color);border:1px solid #ffffff1a;border-radius:4px;box-shadow:0 4px 6px #0000004d;margin-bottom:20px;padding:15px;position:relative;transition:transform .3s,box-shadow .3s}.chip:hover{box-shadow:0 8px 15px #00000080;transform:translateY(-5px)}.chip:before{border-top-left-radius:2px;border-top-right-radius:2px;left:10px;top:-5px}.chip:after,.chip:before{background-color:var(--pin-color);content:"";height:5px;position:absolute;width:30px}.chip:after{border-bottom-left-radius:2px;border-bottom-right-radius:2px;bottom:-5px;right:10px}.chip-title{color:var(--secondary-color);font-size:1.2rem;margin-bottom:10px}.pin-row{display:flex;justify-content:space-between;margin-bottom:15px}.pin{background-color:var(--pin-color);border-radius:50%;height:10px;width:10px}.skill-meter{background-color:var(--terminal-bg);border:1px solid var(--accent-color);border-radius:10px;height:20px;margin-bottom:15px;margin-top:10px;overflow:hidden;position:relative;width:100%}.skill-progress{background:linear-gradient(90deg,var(--accent-color),var(--secondary-color));border-radius:10px;height:100%;transition:width 1.5s ease;width:0}.skill-dots{align-items:center;display:flex;height:100%;justify-content:space-between;left:0;padding:0 10px;position:absolute;top:0;width:100%}.skill-dot{background-color:#0000004d;height:10px;width:3px}.skills-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:2rem 0}@media (max-width:768px){.skills-grid{gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.skill-category{padding:1.2rem}.skill-title{font-size:1.1rem}.skill-list{gap:.8rem}.skill-item{font-size:.9rem;padding:.5rem 1rem}}@media (max-width:480px){.skills-grid{gap:1rem;grid-template-columns:1fr}.skill-category{padding:1rem}.skill-title{font-size:1rem}.skill-list{gap:.6rem}.skill-item{font-size:.85rem;padding:.4rem .8rem}}.timeline{margin:0 auto;max-width:1000px;position:relative}.timeline:after{background-color:var(--robot-primary);bottom:0;box-shadow:0 0 10px var(--robot-primary);content:"";left:50%;margin-left:-1px;position:absolute;top:0;width:2px}.timeline-item{box-sizing:border-box;cursor:pointer;margin-bottom:2rem;opacity:0;padding:1rem 2rem;position:relative;transform:translateY(50px);transition:all .8s ease;width:50%}.timeline-item.visible{opacity:1;transform:translateY(0)}.timeline-item:hover{transform:scale(1.05);z-index:10}.timeline-item.left{left:0}.timeline-item.right{left:50%}.timeline-item:after{background-color:var(--terminal-bg);border:3px solid var(--robot-primary);border-radius:50%;box-shadow:0 0 10px var(--robot-primary);content:"";height:20px;position:absolute;top:1rem;width:20px;z-index:1}.timeline-item.left:after{right:-13px}.timeline-item.right:after{left:-13px}.timeline-content{background-color:var(--terminal-bg);border:1px solid var(--robot-primary);border-radius:6px;box-shadow:0 0 15px #00ff001a;padding:1.5rem;position:relative;transition:transform .3s,box-shadow .3s}.timeline-content:hover{box-shadow:0 0 25px #0088ff4d}.timeline-date{background-color:var(--chip-color);border:1px solid var(--robot-primary);border-radius:4px;display:inline-block;font-size:.9rem;font-weight:700;padding:.3rem .8rem}.timeline-date,.timeline-title{color:var(--robot-primary);margin-bottom:.5rem}.timeline-title{font-size:1.2rem}@media (max-width:768px){.timeline{margin:20px auto;padding:20px}.timeline:after{left:31px}.timeline-item{padding-left:70px;padding-right:25px;width:100%}.timeline-item:before{border-width:medium;border:10px solid var(--accent-color);border-color:#0000 var(--accent-color) #0000 #0000;border-left-width:0;left:60px}.timeline-item.left:after,.timeline-item.right:after{left:22px}.timeline-item.left,.timeline-item.right{left:0}.timeline-content{padding:15px}.timeline-date{font-size:.9rem}.timeline-title{font-size:1.1rem}}@media (max-width:480px){.timeline{margin:15px auto;padding:15px}.timeline-content{padding:12px}.timeline-date{font-size:.8rem}.timeline-title{font-size:1rem}.timeline-description{font-size:.9rem}}.robot-project{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(145deg,var(--terminal-bg),#0088ff05);border:1px solid #08f3;border-radius:16px;box-shadow:0 4px 20px #00000026,0 1px 3px #0088ff1a;cursor:pointer;display:flex;flex-direction:column;margin:12px;min-height:420px;opacity:0;overflow:hidden;position:relative;transform:translateY(30px);transition:all .3s ease-out}.robot-project.visible{opacity:1;transform:translateY(0)}.robot-project.visible:hover,.robot-project:hover{transform:translateY(-2px)}.robot-project:hover{border-color:var(--robot-primary);box-shadow:0 8px 25px #0088ff40,0 4px 15px #0003}.robot-project:hover .project-overlay{opacity:1}.project-header{height:200px;position:relative;width:100%}.project-image{background:linear-gradient(135deg,#0088ff1a,#00ff880d);border-radius:12px 12px 0 0;height:100%;overflow:hidden;position:relative;width:100%}.project-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(135deg,#08fc,#0f89);bottom:0;display:flex;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease}.click-hint{color:#fff;font-size:.9rem;font-weight:600;letter-spacing:.5px;text-shadow:0 2px 4px #0000004d}.project-image .carousel-container{height:100%}.project-content{padding:1.5rem}.project-content,.project-details{display:flex;flex:1 1;flex-direction:column;gap:1rem}.project-title{color:var(--robot-primary);font-size:1.4rem;font-weight:700;line-height:1.2;margin:0;text-shadow:0 1px 2px #0000001a}.project-subtitle{color:#ffffffb3;font-size:.95rem;font-style:italic;line-height:1.4;margin:0}.tech-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.tech-badge{background:linear-gradient(135deg,#08f3,#00ff881a);border:1px solid #0088ff4d;border-radius:20px;color:var(--robot-primary);font-size:.75rem;font-weight:600;letter-spacing:.3px;padding:.3rem .8rem;transition:all .3s ease}.tech-badge:hover{background:linear-gradient(135deg,#0088ff4d,#0f83);transform:translateY(-1px)}.tech-badge.more-tech{background:linear-gradient(135deg,#f803,#ff00881a);border-color:#ff88004d;color:#f80}.project-actions{display:flex;gap:.8rem;margin-top:auto;padding-top:1rem}.project-link{border:none;border-radius:25px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;letter-spacing:.3px;overflow:hidden;padding:.8rem 1.5rem;position:relative;text-align:center;text-decoration:none;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.project-link:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.project-link:hover:before{left:100%}.project-link.primary{background:linear-gradient(135deg,var(--robot-primary),#06c);box-shadow:0 4px 15px #0088ff4d;color:#fff}.project-link.primary:hover{background:linear-gradient(135deg,#06c,var(--robot-primary));box-shadow:0 6px 20px #08f6;transform:translateY(-2px)}.project-link.secondary{background:#0088ff1a;border:1px solid #0088ff4d;color:var(--robot-primary)}.project-link.secondary:hover{background:#08f3;border-color:var(--robot-primary);box-shadow:0 4px 15px #08f3;transform:translateY(-2px)}@media (max-width:768px){.robot-project{margin:8px;min-height:380px}.project-header{height:180px}.project-content{padding:1.2rem}.project-title{font-size:1.2rem}.tech-badges{gap:.4rem}.tech-badge{font-size:.7rem;padding:.25rem .6rem}.project-actions{flex-direction:column;gap:.6rem}.project-link{font-size:.85rem;padding:.7rem 1.2rem}.carousel-button{font-size:1.5rem;height:30px;width:30px}.carousel-dots{bottom:.5rem}.carousel-dot{height:8px;width:8px}}@media (max-width:480px){.robot-project{margin:8px;min-height:360px}.project-header{height:160px}.project-content{padding:1rem}.project-title{font-size:1.1rem}.project-subtitle{font-size:.9rem}.tech-badges{justify-content:center}.click-hint{font-size:.8rem}}.modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;opacity:0;padding:1rem;position:fixed;right:0;top:0;transition:all .3s ease;z-index:1000}.modal-backdrop.visible{opacity:1}.modal-content{background:linear-gradient(145deg,var(--terminal-bg),#0088ff05);border:1px solid #0088ff4d;border-radius:20px;box-shadow:0 20px 60px #0000004d,0 10px 30px #0088ff1a,inset 0 1px 0 #ffffff1a;max-height:90vh;max-width:1000px;opacity:0;overflow-y:auto;padding:2.5rem;position:relative;transform:translateY(30px) scale(.95);transition:all .4s cubic-bezier(.175,.885,.32,1.275);width:100%}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#0088ff1a;border-radius:4px}.modal-content::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--robot-primary),#08fc);border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#0088ffe6,var(--robot-primary))}.modal-backdrop.visible .modal-content{opacity:1;transform:translateY(0) scale(1)}.modal-close{align-items:center;background:#0088ff1a;border:1px solid #0088ff4d;border-radius:12px;color:var(--robot-primary);cursor:pointer;display:flex;font-size:1.5rem;height:40px;justify-content:center;line-height:1;padding:.8rem;position:absolute;right:1.5rem;top:1.5rem;transition:all .3s ease;width:40px}.modal-close:hover{background:#08f3;border-color:var(--robot-primary);transform:scale(1.1)}.modal-header{border-bottom:1px solid #08f3;margin-bottom:2rem;padding-bottom:1rem}.modal-title{color:var(--robot-primary);font-size:2rem;font-weight:700;line-height:1.2;margin:0 0 .5rem;text-shadow:0 1px 2px #0000001a}.modal-subtitle{color:#ffffffb3;font-size:1.1rem;font-style:italic;font-weight:400;margin:0}.modal-body{display:flex;flex-direction:column;gap:2rem}.project-visual{align-items:center;background:linear-gradient(135deg,#0088ff0d,#00ff8805);border:1px solid #0088ff1a;border-radius:16px;box-shadow:inset 0 1px 3px #0000001a;display:flex;justify-content:center;overflow:hidden;width:100%}.project-visual .carousel-container{aspect-ratio:16/9;max-height:60vh;width:100%}.modal-description-section{background:#0088ff08;border:1px solid #0088ff1a;border-radius:12px;padding:1.5rem;position:relative}.modal-description-section:before{background:linear-gradient(90deg,var(--robot-primary),#0f89);border-radius:12px 12px 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}.modal-description-section h5{align-items:center;color:var(--robot-primary);display:flex;font-size:1.2rem;font-weight:600;gap:.5rem;margin:0 0 1rem}.modal-description-section h5:before{content:"📋";font-size:1.1rem}.modal-description{color:#ffffffe6;font-size:1.05rem;font-weight:400;line-height:1.8;margin:0;text-align:justify;text-indent:1em}.modal-features-section{background:#0088ff08;border:1px solid #0088ff1a;border-radius:12px;padding:1.5rem;position:relative}.modal-features-section:before{background:linear-gradient(90deg,#0f89,var(--robot-primary));border-radius:12px 12px 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}.modal-features-section h5{align-items:center;color:var(--robot-primary);display:flex;font-size:1.2rem;font-weight:600;gap:.5rem;margin:0 0 1.2rem}.modal-features-section h5:before{content:"🚀";font-size:1.1rem}.modal-feature-list{display:flex;flex-direction:column;gap:1rem;list-style:none;margin:0;padding:0}.modal-feature-list li{background:#0088ff05;border-left:3px solid var(--robot-primary);border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#ffffffd9;font-size:.95rem;line-height:1.7;padding:1.2rem 1rem 1.2rem 3rem;position:relative;transition:all .3s ease}.modal-feature-list li:hover{background:#0088ff0d;box-shadow:0 4px 8px #00000026;transform:translateX(5px)}.modal-feature-list li:before{animation:pulse 2s infinite;color:#0f8;content:"✅";filter:drop-shadow(0 0 6px rgba(0,255,136,.4));font-size:1.3rem;left:1rem;position:absolute;top:1.2rem}.modal-feature-list li b,.modal-feature-list li strong{background:linear-gradient(135deg,#0088ff1a,#00ff880d);border:1px solid #08f3;border-radius:6px;color:var(--robot-primary);display:inline-block;font-size:1em;font-weight:700;letter-spacing:.3px;margin-bottom:.3em;padding:.2em .5em;text-shadow:0 0 10px #0088ff4d;transition:all .3s ease}.modal-feature-list li:hover b,.modal-feature-list li:hover strong{background:linear-gradient(135deg,#08f3,#00ff881a);border-color:var(--robot-primary);transform:scale(1.02)}.modal-feature-list li .feature-colon{color:#0f8c;font-size:1.1em;font-weight:700;margin:0 .3em;text-shadow:0 0 8px #0f86}.modal-tech{background:#0088ff08;border:1px solid #0088ff1a;border-radius:12px;padding:1.5rem;position:relative}.modal-tech:before{background:linear-gradient(90deg,#f809,var(--robot-primary));border-radius:12px 12px 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}.modal-tech h5{align-items:center;color:var(--robot-primary);display:flex;font-size:1.2rem;font-weight:600;gap:.5rem;margin:0 0 1.2rem}.modal-tech h5:before{content:"🔧";font-size:1.1rem}.tech-tags-container{display:flex;flex-wrap:wrap;gap:.8rem}.modal-tech-tag{background:linear-gradient(135deg,#08f3,#00ff881a);border:1px solid #0088ff4d;border-radius:25px;color:var(--robot-primary);font-size:.9rem;font-weight:600;letter-spacing:.3px;padding:.6rem 1.2rem;transition:all .3s ease}.modal-tech-tag:hover{background:linear-gradient(135deg,#0088ff4d,#0f83);box-shadow:0 4px 8px #08f3;transform:translateY(-1px)}.modal-references{background:#0088ff08;border:1px solid #0088ff1a;border-radius:12px;padding:1.5rem;position:relative}.modal-references:before{background:linear-gradient(90deg,#8f09,var(--robot-primary));border-radius:12px 12px 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}.modal-references h5{align-items:center;color:var(--robot-primary);display:flex;font-size:1.2rem;font-weight:600;gap:.5rem;margin:0 0 1.2rem}.modal-references h5:before{content:"📚";font-size:1.1rem}.modal-references ul{list-style:none;margin:0;padding:0}.modal-references li{background:#0088ff05;border-left:3px solid var(--robot-primary);border-radius:8px;margin-bottom:.8rem;padding:.8rem 1rem;transition:all .3s ease}.modal-references li:hover{background:#0088ff0d;transform:translateX(5px)}.modal-references a{align-items:center;border-bottom:1px solid #0000;color:var(--robot-primary);display:flex;font-weight:500;gap:.5rem;text-decoration:none;transition:all .3s ease}.modal-references a:before{content:"🔗";font-size:1rem}.modal-references a:hover{border-bottom-color:var(--robot-primary);text-shadow:0 0 8px #0088ff80;transform:translateX(2px)}@media (max-width:768px){.modal-backdrop{padding:.5rem}.modal-content{border-radius:16px;max-height:95vh;padding:1.5rem;width:100%}.modal-close{font-size:1.3rem;height:35px;right:1rem;top:1rem;width:35px}.modal-title{font-size:1.6rem;margin-bottom:.3rem}.modal-subtitle{font-size:1rem}.modal-header{margin-bottom:1.5rem}.modal-body{gap:1.5rem}.project-visual .carousel-container{aspect-ratio:4/3;max-height:250px}.modal-description-section,.modal-features-section,.modal-references,.modal-tech{padding:1rem}.modal-description-section h5,.modal-features-section h5,.modal-references h5,.modal-tech h5{font-size:1rem;margin-bottom:.8rem}.modal-feature-list li{font-size:.9rem;padding:1rem .8rem 1rem 2.8rem}.modal-feature-list li:before{font-size:1.1rem;left:.8rem;top:1rem}.modal-feature-list li b,.modal-feature-list li strong{font-size:.95em;padding:.15em .4em}.modal-description{font-size:1rem;text-align:left;text-indent:0}.tech-tags-container{gap:.6rem}.modal-tech h5{font-size:1rem;margin-bottom:.8rem}.modal-tech-tag{font-size:.8rem;padding:.5rem 1rem}.modal-references{padding:1rem}.modal-references h5{font-size:1rem}}@media (max-width:480px){.modal-backdrop{padding:.25rem}.modal-content{border-radius:12px;padding:1rem}.modal-title{font-size:1.4rem}.modal-subtitle{font-size:.9rem}.project-visual .carousel-container{max-height:200px}.modal-description-section,.modal-features-section,.modal-references,.modal-tech{padding:.8rem}.modal-description-section h5,.modal-features-section h5,.modal-references h5,.modal-tech h5{font-size:.9rem}.modal-feature-list li{font-size:.85rem;padding:.9rem .7rem .9rem 2.5rem}.modal-feature-list li:before{font-size:1rem;left:.7rem;top:.9rem}.modal-feature-list li b,.modal-feature-list li strong{font-size:.9em;padding:.1em .3em}.modal-description{font-size:.95rem}.tech-tags-container{gap:.5rem}.modal-tech-tag{font-size:.75rem;padding:.4rem .8rem}}.carousel-container{border-radius:8px;overflow:hidden;position:relative}.carousel-container,.carousel-image{background:var(--terminal-bg);height:100%;width:100%}.carousel-image{object-fit:contain;padding:.5rem}.modal-body .carousel-container{max-height:70vh;min-height:400px}.modal-body .carousel-image{max-height:70vh;padding:1rem}.carousel-button{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;padding:1rem;position:absolute;top:50%;transform:translateY(-50%);transition:background-color .3s ease;width:40px}.carousel-button:hover{background:#000c}.carousel-button.prev{left:1rem}.carousel-button.next{right:1rem}.carousel-dots{bottom:1rem;display:flex;gap:.5rem;left:50%;position:absolute;transform:translateX(-50%)}.carousel-dot{background:#ffffff80;border:none;border-radius:50%;cursor:pointer;height:10px;padding:0;transition:background-color .3s ease;width:10px}.carousel-dot.active{background:#fff}.robotics-projects{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));margin-top:3rem;padding:0 1rem}@media (max-width:1200px){.robotics-projects{gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}}@media (max-width:768px){.robotics-projects{gap:.25rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-top:2rem;padding:0 .5rem}}@media (max-width:480px){.robotics-projects{gap:.5rem;grid-template-columns:1fr;margin:2rem .5rem 1rem;padding:0}}.languages-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:2rem}.language-item{background-color:var(--terminal-bg);border:1px solid var(--robot-primary);border-radius:8px;box-shadow:0 5px 15px #0000004d;cursor:pointer;opacity:0;padding:1.5rem;transform:translateY(50px);transition:all .6s ease}.language-item.visible{opacity:1;transform:translateY(0)}.language-item:hover{box-shadow:0 15px 30px #0088ff4d;transform:translateY(-10px)}.language-name{color:var(--robot-primary);font-size:1.2rem;margin-bottom:.8rem}.languages-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:2rem 0}@media (max-width:768px){.languages-grid{gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.language-item{padding:1rem}.language-name{font-size:1.1rem}.proficiency-bar{height:12px}}@media (max-width:480px){.languages-grid{gap:1rem;grid-template-columns:1fr}.language-item{padding:.8rem}.language-name{font-size:1rem}.proficiency-bar{height:10px}}.interests-container{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-top:2rem}.interest-item{animation:fadeIn .5s forwards;animation-delay:0s;animation-delay:calc(.1s*var(--i, 0));background-color:var(--terminal-bg);border:1px solid var(--robot-primary);border-radius:6px;box-shadow:0 4px 10px #0000004d;cursor:pointer;opacity:0;padding:1rem 1.5rem;transform:translateY(30px);transition:all .3s}.interest-item:hover{background-color:var(--chip-color);box-shadow:0 10px 20px #0088ff4d;color:var(--robot-primary);transform:translateY(-5px)}@keyframes fadeIn{to{opacity:1;transform:translateY(0)}}.interests-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:2rem 0}.interest-card{background:var(--terminal-bg);border:1px solid var(--robot-primary);border-radius:10px;height:100%;padding:1.5rem;transition:all .3s}.interest-card:hover{box-shadow:0 15px 30px #08f3;transform:translateY(-5px)}.interest-icon{font-size:2.5rem}.interest-icon,.interest-title{color:var(--robot-primary);margin-bottom:1rem}.interest-title{font-size:1.3rem}.interest-description{color:var(--text-color);line-height:1.6}@media (max-width:768px){.interests-grid{gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:1.5rem 0}.interest-card{padding:1.2rem}.interest-icon{font-size:2rem}.interest-title{font-size:1.2rem}.interest-description{font-size:.95rem}}@media (max-width:480px){.interests-grid{gap:1rem;grid-template-columns:1fr;margin:1rem 0}.interest-card{padding:1rem}.interest-icon{font-size:1.8rem}.interest-title{font-size:1.1rem}.interest-description{font-size:.9rem}}.contact-info{grid-gap:1.5rem;background:var(--terminal-bg);border:1px solid var(--robot-primary);border-radius:8px;box-shadow:0 5px 15px #0000004d;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:2rem 0;padding:1.5rem}.contact-item{background:#0088ff0d;border:1px solid #08f3;border-radius:6px;display:flex;flex-direction:column;gap:.5rem;padding:1rem;transition:all .3s ease}.contact-item:hover{border-color:var(--robot-primary);box-shadow:0 5px 15px #0088ff4d;transform:translateY(-2px)}.contact-label{color:var(--robot-primary);font-size:.9rem;font-weight:700;letter-spacing:1px;text-transform:uppercase}.contact-item a{color:var(--accent-color);font-weight:500;text-decoration:none;transition:all .3s ease}.contact-item a:hover{color:var(--robot-primary);text-shadow:0 0 5px var(--robot-primary)}.contact-item span:not(.contact-label){color:var(--text-color);opacity:.9}.contact-container{align-items:center;display:flex;flex-direction:column;margin-top:2rem;position:relative}.contact-text{color:var(--text-color);font-size:1.1rem;line-height:1.6;margin-bottom:2rem;max-width:600px;opacity:.9;text-align:center}.contact-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.contact-form{margin-top:30px;max-width:600px;width:100%}.form-title{color:var(--robot-primary);font-size:1.5rem;font-weight:700;margin-bottom:2rem;text-align:center}.contact-form-element{background:var(--terminal-bg);border:1px solid var(--robot-primary);border-radius:8px;box-shadow:0 5px 15px #0000004d;padding:2rem}.form-group{margin-bottom:20px}.form-group label{color:var(--robot-primary);display:block;font-size:.9rem;font-weight:700;letter-spacing:1px;margin-bottom:.5rem;text-transform:uppercase}.form-control{background:#0000004d;border:1px solid #0088ff4d;border-radius:5px;box-sizing:border-box;color:var(--text-color);font-family:Share Tech Mono,monospace;font-size:1rem;padding:12px 15px;resize:vertical;transition:all .3s ease;width:100%}.form-control:focus{background:#0088ff0d;border-color:var(--robot-primary);box-shadow:0 0 10px #0088ff4d;outline:none}.form-control:disabled{cursor:not-allowed;opacity:.6}.form-control::placeholder{color:#f5f5f580}.form-submit{font-size:1rem;letter-spacing:1px;margin-top:1rem;padding:12px;text-transform:uppercase;transition:all .3s ease;width:100%}.form-submit:disabled{cursor:not-allowed;opacity:.6;transform:none}.form-success{background:#00ff001a;border:1px solid #00ff004d;border-radius:8px;padding:2rem}.form-success p{color:#0f0;font-size:1.1rem;line-height:1.6;margin-bottom:1.5rem}.form-error{background:#ff00001a;border:1px solid #ff00004d;border-radius:5px}.form-error p{color:#f33;font-size:.9rem;margin:0}@media (max-width:768px){.contact-info{gap:1rem;grid-template-columns:1fr;padding:1rem}.contact-item{padding:.8rem}.contact-buttons{flex-direction:column;width:100%}.contact-buttons .cta-button{text-align:center;width:100%}.contact-content{gap:2rem;grid-template-columns:1fr}.contact-form{padding:1.5rem}.contact-links{justify-content:center}.form-group{margin-bottom:1rem}.form-input,.form-textarea{font-size:.9rem;padding:.8rem}}@media (max-width:480px){.contact-info{margin:1.5rem 0;padding:.8rem}.contact-item{padding:.6rem}.contact-label{font-size:.8rem}.contact-text{font-size:1rem;margin-bottom:1.5rem}.contact-form{padding:1rem}.form-input,.form-textarea{font-size:.85rem;padding:.6rem}.contact-button{font-size:.9rem;padding:.8rem;width:100%}.social-link{font-size:1.2rem;height:40px;width:40px}}.form-control.error{background-color:#e74c3c1a;border-color:#e74c3c}.error-text{color:#e74c3c;display:block;font-size:.85rem;font-weight:500;margin-top:.25rem}.form-error{background-color:#e74c3c1a;border:1px solid #e74c3c;border-radius:6px;color:#e74c3c;margin-bottom:1rem;padding:1rem}.form-success{background-color:#2ecc711a;border:1px solid #2ecc71;border-radius:6px;padding:1.5rem;text-align:center}.form-info{background-color:#3498db1a;border:1px solid #3498db;border-radius:6px;color:#2c3e50;margin-bottom:1.5rem;padding:1rem}.form-info p{font-size:.9rem;line-height:1.4;margin:0}.form-control:focus{border-color:#ff6b35}.contact-button:focus,.cta-button:focus,.form-control:focus{outline:2px solid #ff6b35;outline-offset:2px}@media (prefers-contrast:high){.form-control{background-color:#fff;border-color:#000;color:#000}.form-control.error{background-color:#ffebee;border-color:red}}.nav-container{display:flex;flex-direction:column;right:2rem;top:2rem}.nav-container,.nav-horizontal{align-items:center;position:fixed;z-index:100}.nav-horizontal{-ms-overflow-style:none;animation:navSlideDown .5s ease-out,float 4s ease-in-out infinite;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(180deg,#121212fa,#121212f2);border-bottom:2px solid var(--accent-color);box-shadow:0 2px 20px #00ff001a,0 0 30px #00ff000d;box-sizing:border-box;display:none;gap:1.5rem;height:60px;justify-content:center;left:0;max-width:100%;overflow:hidden;overflow-x:auto;padding:.75rem 1rem;position:relative;scrollbar-width:none;top:0;transition:all .3s ease;width:100%}.nav-horizontal::-webkit-scrollbar{display:none}.nav-horizontal:before{animation:scanline 4s cubic-bezier(.4,0,.2,1) infinite;height:2px;left:-150%;transform:skewX(-45deg);width:150%}.nav-horizontal:after,.nav-horizontal:before{background:linear-gradient(90deg,#0000,var(--accent-color),#0000)}.nav-horizontal:after{animation:scanline 3s linear infinite reverse;bottom:0;content:"";height:1px;left:-50%;position:absolute;width:50%}@keyframes scanline{0%{transform:translateX(-150%) skewX(-45deg)}to{transform:translateX(150%) skewX(-45deg)}}@keyframes navSlideDown{0%{opacity:0;transform:translateY(-100%)}50%{opacity:.5;transform:translateY(-50%)}70%{opacity:.7;transform:translateY(-30%)}to{opacity:1;transform:translateY(0)}}.nav-horizontal .nav-links{display:flex;flex-wrap:nowrap;gap:1.5rem;justify-content:space-around;list-style:none;margin:0;max-width:1200px;min-width:-webkit-min-content;min-width:min-content;padding:0 1rem;position:relative;width:100%}.nav-horizontal .nav-links:before{animation:pulse 2s infinite;background:var(--accent-color);border-radius:50%;content:"";height:10px;left:-20px;position:absolute;top:50%;transform:translateY(-50%);width:10px}.nav-horizontal .nav-links li{margin:0;position:relative}.nav-horizontal .nav-links li:before{content:"[";left:-10px}.nav-horizontal .nav-links li:after,.nav-horizontal .nav-links li:before{color:var(--accent-color);opacity:0;position:absolute;transition:all .3s ease}.nav-horizontal .nav-links li:after{content:"]";right:-10px}.nav-horizontal .nav-links li:hover:after,.nav-horizontal .nav-links li:hover:before{opacity:1}.nav-horizontal .nav-links li:not(:last-child):after{background:var(--accent-color);content:"";height:1px;opacity:.3;position:absolute;right:-1rem;top:50%;width:.5rem}.nav-horizontal .nav-links a{background:linear-gradient(90deg,#0000,#00ff0008,#0000);border:1px solid #0000;border-radius:4px;color:var(--text-color);font-size:.9rem;font-weight:500;letter-spacing:1px;overflow:hidden;padding:.4rem .8rem;position:relative;text-decoration:none;text-transform:uppercase;transform-origin:center;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.nav-horizontal .nav-links a:before{background:linear-gradient(90deg,#0000,#00ff001a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.nav-horizontal .nav-links a:hover:before{left:100%}.nav-horizontal .nav-links a:hover{background:#00ff000d;border-color:var(--accent-color);box-shadow:0 4px 12px #0f03;letter-spacing:1.5px;text-shadow:0 0 8px #00ff0080;transform:translateY(-2px) scale(1.05)}.nav-horizontal .nav-links a:hover:after{align-items:center;animation:glitch .3s cubic-bezier(.25,.46,.45,.94) infinite both;background:#00ff001a;border-radius:inherit;content:attr(data-text);display:flex;height:100%;justify-content:center;left:0;padding:inherit;pointer-events:none;position:absolute;top:0;width:100%}.nav-horizontal .nav-links a.active{background:#00ff001a;border-color:var(--accent-color)}.nav-horizontal .nav-links a.active:before{animation:activeLink 2s infinite;background:var(--accent-color);bottom:-2px;content:"";height:2px;left:0;position:absolute;width:100%}.cv-download-nav{position:relative}.cv-download-link{background:linear-gradient(45deg,#ff6b35,#f7931e)!important;border:2px solid #ff6b35!important;border-radius:5px;color:#fff!important;display:inline-block;font-size:.9rem;font-weight:700;letter-spacing:1px;padding:.5rem 1rem;text-decoration:none;text-transform:uppercase;transition:all .3s ease}.cv-download-link:hover{background:linear-gradient(45deg,#f7931e,#ff6b35)!important;box-shadow:0 5px 15px #ff6b3566;text-shadow:0 0 5px #fffc;transform:translateY(-2px) scale(1.05)}@keyframes glitch{0%{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}to{transform:translate(0)}}@media (min-width:1024px){.nav-container{display:none}.nav-horizontal{padding:.75rem 2rem}}.nav-toggle{align-items:center;background-color:var(--terminal-bg);border:1px solid var(--accent-color);border-radius:4px;box-shadow:0 2px 10px #0f03;color:var(--text-color);cursor:pointer;display:flex;font-size:1.5rem;height:40px;justify-content:center;overflow:hidden;position:relative;width:40px}.nav-toggle:before{animation:navGlow 3s infinite;background:linear-gradient(45deg,#0000 45%,var(--accent-color) 50%,#0000 55%);content:"";height:100%;opacity:.3;position:absolute;width:100%}.nav-menu{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:var(--terminal-bg);background:linear-gradient(180deg,#121212fa,#121212f2);border-left:1px solid var(--accent-color);height:100vh;padding:2rem;position:fixed;right:-300px;top:0;transition:right .3s cubic-bezier(.4,0,.2,1);width:300px;z-index:101}.nav-menu,.nav-menu.active{box-shadow:-5px 0 20px #00ff001a}.nav-menu.active{border-left:2px solid var(--accent-color);right:0}.nav-close{align-items:center;background:none;border:1px solid var(--accent-color);border-radius:4px;color:var(--text-color);cursor:pointer;display:flex;height:30px;justify-content:center;position:absolute;right:1.5rem;top:1.5rem;width:30px}.nav-links{list-style:none;margin-top:3rem}.nav-links li{margin-bottom:1.5rem;position:relative}.nav-links a{background-color:#0088ff0d;border:1px solid #0000;border-radius:6px;color:var(--text-color);display:block;font-size:1.2rem;padding:.8rem 1rem;text-decoration:none;transition:all .3s}.nav-links a:before{content:"> ";left:.5rem;transition:opacity var(--transition-speed) ease}.nav-links a:hover{background-color:#0088ff1a;border-color:var(--accent-color);transform:translateX(10px)}@media (max-width:1040px){.nav-container{right:1rem;top:1rem}.nav-menu{border-radius:0;right:-100%;width:100%}.nav-links{margin-top:4rem}.nav-links a{font-size:1.4rem;padding:1rem 0}.nav-close{right:1rem;top:1rem}.nav-horizontal{padding:.5rem}.nav-horizontal .nav-links{gap:1rem}.nav-horizontal .nav-links a{font-size:.8rem;padding:.3rem .6rem}.nav-horizontal .nav-links li:not(:last-child):after{right:-.5rem;width:.3rem}}@media (max-width:480px){.nav-links a{font-size:1.2rem}}.nav-horizontal:before{background-image:linear-gradient(90deg,#00ff0008 1px,#0000 0),linear-gradient(0deg,#00ff0008 1px,#0000 0);background-size:20px 20px;bottom:0;content:"";left:0;opacity:.2;pointer-events:none;position:absolute;right:0;top:0}.nav-close,.nav-menu,.nav-toggle{display:block}@media (min-width:768px){.nav-horizontal{display:flex;justify-content:center;position:fixed}.nav-container{display:none}}@media (max-width:1024px){.nav-container{display:flex;position:fixed;right:1rem;top:1rem}.nav-menu{display:block;right:-100%;width:100%}.nav-close,.nav-toggle{display:flex}}@media (max-width:768px){.nav-horizontal{padding:.5rem}.nav-horizontal .nav-links{gap:.75rem;padding:0 .5rem}.nav-horizontal .nav-links a{font-size:.8rem;padding:.3rem .5rem}}@media (max-width:1350px){.nav-horizontal{padding:.5rem}.nav-horizontal .nav-links{font-size:.9rem;gap:1rem;padding:0 .5rem}.nav-horizontal .nav-links li:not(:last-child):after{right:-.5rem}}@media (max-width:1024px){.nav-horizontal{display:none}}.nav-links a.active{color:var(--accent-color);position:relative;text-shadow:0 0 8px var(--accent-color)}.nav-links a.active:before{animation:activeLink 1.5s ease-in-out infinite;background:var(--accent-color);bottom:-5px;box-shadow:0 0 8px var(--accent-color);content:"";height:2px;left:0;position:absolute;width:100%}.nav-links a{position:relative;transition:all .3s ease}.nav-links a:hover{color:var(--accent-color);text-shadow:0 0 5px var(--accent-color);transform:translateY(-2px)}.nav-links a:before{background:var(--accent-color);bottom:-5px;content:"";height:1px;left:50%;opacity:0;position:absolute;transform:translateX(-50%);transition:all .3s ease;width:0}.nav-links a:hover:before{box-shadow:0 0 8px var(--accent-color);opacity:1;width:100%}@keyframes activeLink{0%,to{opacity:.5;transform:scaleX(.8)}50%{opacity:1;transform:scaleX(1)}}footer{border-top:1px solid #08f3;font-size:.9rem;margin-top:3rem;opacity:.7;padding:2rem 0;position:relative;text-align:center}.robot-tracks,.track{display:none}@media (max-width:768px){footer{padding:2rem 1rem}.footer-content{flex-direction:column;gap:1.5rem;text-align:center}.footer-links{gap:1rem}.footer-links,.footer-social{justify-content:center}}@media (max-width:480px){footer{padding:1.5rem .8rem}.footer-content{gap:1.2rem}.footer-links{flex-wrap:wrap;gap:.8rem}.footer-social-link{font-size:1.1rem;height:35px;width:35px}}.custom-cursor{background:#fff3;border:2px solid #fff;border-radius:50%;height:20px;pointer-events:none;position:fixed;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,background-color .2s ease-out,border-color .2s ease-out;width:20px;will-change:transform;z-index:9999}.custom-cursor.hidden{opacity:0}.custom-cursor.enlarged{background:#ffffff4d;border-color:#fff;height:40px;mix-blend-mode:difference;width:40px}.custom-cursor.dragging{background:#fff6;border-color:#4a90e2;height:50px;mix-blend-mode:normal;width:50px}.cursor-dot{background:var(--robot-primary);border-radius:50%;height:4px;mix-blend-mode:difference;pointer-events:none;position:fixed;width:4px;z-index:9999}@media (hover:none) and (pointer:coarse){.cursor-dot,.custom-cursor{display:none}}#robot-assistant:hover~.custom-cursor{background:#4a90e233;border-color:#4a90e2;height:35px;width:35px}#robot-assistant:active~.custom-cursor{background:#4a90e24d;height:45px;width:45px}@media (hover:none){.custom-cursor{display:none}}.language-switcher{background-color:var(--terminal-bg);border:1px solid var(--accent-color);border-radius:4px;box-shadow:0 2px 10px #0f03;color:var(--text-color);cursor:pointer;font-size:1rem;left:2rem;padding:.5rem 1rem;position:fixed;top:4rem;transition:all .3s ease;z-index:100}.language-switcher:hover{background-color:var(--accent-color);color:var(--terminal-bg);transform:translateY(-2px)}.language-switcher:active{transform:translateY(0)}@media (max-width:768px){.language-switcher{font-size:.9rem;left:1rem;padding:.4rem .8rem;top:2rem}}.loading-page{background:var(--bg-color);font-family:Share Tech Mono,monospace;height:100vh;left:0;position:fixed;top:0;transition:all .8s cubic-bezier(.25,.8,.25,1);width:100vw;z-index:9999}.loading-container,.loading-page{align-items:center;box-sizing:border-box;display:flex;justify-content:center;overflow:hidden}.loading-container{flex-direction:column;gap:min(1rem,2vh);max-height:90vh;max-width:min(600px,95vw);min-height:0;padding:min(1.5rem,3vh);position:relative;text-align:center;width:100%}.mcu-board{display:flex;flex-shrink:0;justify-content:center;margin-bottom:min(1.5rem,3vh)}.board-outline{animation:boardPulse 3s ease-in-out infinite;background:linear-gradient(135deg,#2a4a3a,#1a3a2a);border:2px solid var(--accent-color);border-radius:8px;box-shadow:0 0 20px #00ff9d4d,inset 0 0 30px #00000080;box-sizing:border-box;height:min(180px,20vh);max-height:180px;max-width:280px;position:relative;width:min(280px,80vw)}.mcu-chip{align-items:center;background:var(--chip-color);border:1px solid var(--secondary-color);border-radius:4px;box-shadow:0 0 15px #00cc7e66;display:flex;flex-direction:column;height:60px;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:80px}.chip-label{color:var(--accent-color);font-size:8px;font-weight:700;margin-bottom:4px;text-shadow:0 0 5px var(--accent-color)}.chip-pins{display:flex;flex-wrap:wrap;gap:2px;justify-content:center}.pin{animation:pinActivity 2s infinite;background:var(--pin-color);border-radius:1px;height:2px;width:6px}.pin:nth-child(odd){animation-delay:.5s}.status-leds{display:flex;flex-direction:column;gap:8px;position:absolute;right:15px;top:15px}.led{background:var(--led-off);border:1px solid #444;border-radius:50%;height:8px;transition:all .3s ease;width:8px}.led.on{border-color:currentColor;box-shadow:0 0 12px currentColor}.led.power.on{background:#f33;color:#f33}.led.status.on{background:var(--warning-color);color:var(--warning-color)}.led.comm.on{animation:commBlink 1s infinite;background:var(--accent-color);color:var(--accent-color)}.capacitor,.components{position:absolute}.capacitor{background:linear-gradient(90deg,#666 0,#666 45%,#0000 0,#0000 55%,#666 0);border-radius:2px;height:20px;left:20px;top:20px;width:12px}.resistor{background:repeating-linear-gradient(90deg,#8b4513,#8b4513 3px,#daa520 0,#daa520 6px);border-radius:3px;bottom:30px;height:6px;left:30px;position:absolute;width:20px}.crystal{background:silver;border:1px solid #999;border-radius:2px;bottom:20px;height:8px;position:absolute;position:relative;right:30px;width:16px}.crystal:after,.crystal:before{background:#666;content:"";height:10px;position:absolute;top:-1px;width:2px}.crystal:before{left:-2px}.crystal:after{right:-2px}.gpio-header{bottom:-5px;display:flex;gap:8px;left:50%;position:absolute;transform:translateX(-50%)}.gpio-pin{animation:gpioActivity 3s infinite;background:var(--pin-color);border-radius:1px 1px 0 0;height:10px;width:6px}.gpio-pin:nth-child(2n){animation-delay:1s}.terminal-output{background:var(--terminal-bg);border:1px solid var(--accent-color);border-radius:8px;box-shadow:0 0 20px #00ff9d33;box-sizing:border-box;flex-shrink:1;margin-bottom:min(1.5rem,2vh);min-height:0;overflow:hidden;width:100%}.terminal-header{align-items:center;background:linear-gradient(90deg,var(--chip-color),var(--terminal-bg));border-bottom:1px solid var(--accent-color);display:flex;flex-shrink:0;justify-content:space-between;padding:min(8px,1vh) min(12px,2vw)}.terminal-title{color:var(--accent-color);font-size:clamp(.6rem,2vw,.8rem);font-weight:700}.terminal-controls{display:flex;gap:6px}.control{border-radius:50%;height:8px;opacity:.7;width:8px}.control.minimize{background:var(--warning-color)}.control.maximize{background:var(--accent-color)}.control.close{background:var(--error-color)}.terminal-body{box-sizing:border-box;font-size:clamp(.6rem,1.8vw,.75rem);height:clamp(80px,15vh,120px);line-height:1.4;max-height:15vh;overflow-y:auto;padding:min(12px,2vw)}.terminal-line{animation:terminalType .5s ease-out;color:var(--text-color);display:flex;justify-content:space-between;margin-bottom:4px}.terminal-line.current{color:var(--accent-color)}.terminal-line.current.clickable{border-radius:3px;cursor:pointer;padding:5px;transition:all .3s ease}.terminal-line.current.clickable:hover{background:#00ff9d1a;color:var(--warning-color);text-shadow:0 0 10px var(--warning-color);transform:translateX(5px)}.status-ok{color:var(--accent-color);font-weight:700}.system-status{background:var(--terminal-bg);border:1px solid var(--secondary-color);border-radius:6px;box-shadow:0 0 15px #00cc7e33;box-sizing:border-box;display:flex;flex-shrink:0;justify-content:space-around;margin-bottom:min(1.5rem,2vh);padding:min(1rem,2vw);width:100%}.status-item{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:4px}.status-label{color:var(--secondary-color);font-size:clamp(.6rem,1.5vw,.7rem);font-weight:700}.status-value{animation:valueFlicker 2s infinite;color:var(--accent-color);font-size:clamp(.7rem,1.8vw,.8rem);text-shadow:0 0 5px var(--accent-color)}.progress-container{box-sizing:border-box;flex-shrink:0;margin-bottom:min(2rem,3vh);width:100%}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:min(.5rem,1vh);width:100%}.loading-label{animation:labelPulse 1.5s ease-in-out infinite;color:var(--accent-color);font-size:clamp(.7rem,2vw,.9rem);font-weight:700;text-shadow:0 0 10px #00ff9d80}.hex-value{color:var(--warning-color);font-family:Share Tech Mono,monospace;font-size:clamp(.6rem,1.8vw,.8rem);text-shadow:0 0 8px var(--warning-color)}.progress-bar{background:var(--terminal-bg);border:1px solid var(--accent-color);border-radius:6px;box-shadow:inset 0 2px 4px #0006,0 0 15px #00ff9d4d;box-sizing:border-box;height:clamp(8px,2vh,12px);overflow:hidden;position:relative;width:100%}.progress-fill{animation:progressGlow 2s ease-in-out infinite;background:linear-gradient(90deg,var(--secondary-color),var(--accent-color),var(--secondary-color));box-shadow:0 0 15px #00ff9d99;height:100%;position:relative;transition:width .3s ease}.progress-scanner{animation:scannerMove 1.5s linear infinite;background:linear-gradient(90deg,#0000,#fff9,#0000);height:100%;position:absolute;right:0;top:0;width:20px}.progress-text{color:var(--text-color);font-size:.8rem;margin-top:.5rem;text-align:center}.data-stream{box-sizing:border-box;flex-shrink:0;margin-bottom:min(1.5rem,2vh);text-align:center;width:100%}.stream-line{animation:streamFlow 2s ease-in-out infinite;display:flex;gap:min(1rem,3vw);justify-content:center}.data-packet{animation:packetPulse 1s infinite;background:var(--chip-color);border:1px solid var(--accent-color);border-radius:4px;box-shadow:0 0 8px #00ff9d66;color:var(--accent-color);font-size:clamp(.65rem,1.5vw,.75rem);padding:min(4px,1vw) min(8px,2vw)}.data-packet:nth-child(2){animation-delay:.3s}.data-packet:nth-child(3){animation-delay:.6s}.circuit-background{height:100%;left:0;opacity:.3;pointer-events:none;position:absolute;top:0;width:100%;z-index:-1}.circuit-trace{background:var(--accent-color);box-shadow:0 0 4px var(--accent-color);position:absolute}.trace-1{animation:traceFlow 3s linear infinite;height:1px;left:10%;top:20%;width:100px}.trace-2{animation:traceFlow 3s linear 1s infinite;height:80px;right:15%;top:30%;width:1px}.trace-3{animation:traceFlow 3s linear 2s infinite;bottom:25%;height:1px;left:20%;width:120px}.circuit-via{background:var(--accent-color);border-radius:50%;box-shadow:0 0 8px var(--accent-color);height:6px;position:absolute;width:6px}.via-1{animation:viaPulse 2s infinite;left:20%;top:20%}.via-2{animation:viaPulse 2s .7s infinite;right:25%;top:60%}.via-3{animation:viaPulse 2s 1.4s infinite;bottom:30%;left:30%}.blinking-cursor{animation:blink 1s infinite;background-color:var(--accent-color);box-shadow:0 0 5px var(--accent-color);display:inline-block;height:14px;margin-left:4px;vertical-align:middle;width:8px}@keyframes boardPulse{0%,to{box-shadow:0 0 20px #00ff9d4d,inset 0 0 30px #00000080}50%{box-shadow:0 0 30px #00ff9d80,inset 0 0 30px #00000080}}@keyframes pinActivity{0%,to{background:var(--pin-color)}50%{background:var(--accent-color);box-shadow:0 0 4px var(--accent-color)}}@keyframes commBlink{0%,50%{opacity:1}51%,to{opacity:.3}}@keyframes gpioActivity{0%,to{background:var(--pin-color)}33%{background:var(--accent-color);box-shadow:0 0 6px var(--accent-color)}66%{background:var(--warning-color);box-shadow:0 0 6px var(--warning-color)}}@keyframes terminalType{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}@keyframes valueFlicker{0%,to{opacity:1}50%{opacity:.7}}@keyframes labelPulse{0%,to{text-shadow:0 0 10px #00ff9d80}50%{text-shadow:0 0 20px #00ff9dcc}}@keyframes progressGlow{0%,to{box-shadow:0 0 15px #00ff9d99}50%{box-shadow:0 0 25px #00ff9de6}}@keyframes scannerMove{0%{opacity:0;transform:translateX(-20px)}50%{opacity:1}to{opacity:0;transform:translateX(20px)}}@keyframes streamFlow{0%,to{opacity:1}50%{opacity:.6}}@keyframes packetPulse{0%,to{box-shadow:0 0 8px #00ff9d66;transform:scale(1)}50%{box-shadow:0 0 12px #00ff9d99;transform:scale(1.05)}}@keyframes traceFlow{0%,to{opacity:.3}50%{opacity:1}}@keyframes viaPulse{0%,to{box-shadow:0 0 8px var(--accent-color);transform:scale(1)}50%{box-shadow:0 0 15px var(--accent-color);transform:scale(1.3)}}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.start-button-container{animation:buttonPulse 2s ease-in-out infinite;box-sizing:border-box;display:flex;flex-shrink:0;justify-content:center;margin:min(1.5rem,2vh) 0;width:100%}.start-button{align-items:center;background:linear-gradient(135deg,var(--accent-color),var(--secondary-color));border:2px solid var(--accent-color);border-radius:8px;box-shadow:0 0 20px #00ff9d4d,inset 0 0 20px #0003;box-sizing:border-box;color:var(--text-color);cursor:pointer;display:flex;font-family:Share Tech Mono,monospace;font-size:clamp(.8rem,2.5vw,1rem);font-weight:700;gap:min(8px,1vw);letter-spacing:1px;min-height:44px;overflow:hidden;padding:min(12px,2vw) min(24px,4vw);position:relative;text-transform:uppercase;transition:all .3s ease;white-space:nowrap}.start-button:hover{background:linear-gradient(135deg,var(--secondary-color),var(--accent-color));box-shadow:0 0 30px #00ff9d80,inset 0 0 30px #0000001a;transform:translateY(-2px)}.start-button:active{box-shadow:0 0 15px #00ff9d66,inset 0 0 25px #0000004d;transform:translateY(0)}.button-icon{animation:iconSpark 1.5s ease-in-out infinite;font-size:1.2rem}.button-text{position:relative;z-index:2}.button-underline{background:var(--warning-color);bottom:0;height:2px;left:0;position:absolute;transform:scaleX(0);transition:transform .3s ease;width:100%}.start-button:hover .button-underline{transform:scaleX(1)}.start-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.start-button:hover:before{left:100%}@keyframes buttonPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes iconSpark{0%,to{color:var(--accent-color);text-shadow:0 0 5px var(--accent-color)}50%{color:var(--warning-color);text-shadow:0 0 10px var(--warning-color)}}.dashboard-button{animation:dashboardPulse 1.5s ease-in-out infinite;background:linear-gradient(135deg,var(--secondary-color),var(--warning-color));border:2px solid var(--warning-color)}.dashboard-button:hover{background:linear-gradient(135deg,var(--warning-color),var(--secondary-color));box-shadow:0 0 40px #ffc10799,inset 0 0 30px #0000001a;transform:translateY(-3px) scale(1.02)}.dashboard-button .button-icon{animation:rocketPulse 1s ease-in-out infinite}@keyframes dashboardPulse{0%,to{box-shadow:0 0 20px #ffc10766;transform:scale(1)}50%{box-shadow:0 0 30px #ffc10799;transform:scale(1.03)}}@keyframes rocketPulse{0%,to{color:var(--warning-color);text-shadow:0 0 5px var(--warning-color);transform:translateY(0)}50%{color:var(--accent-color);text-shadow:0 0 15px var(--accent-color);transform:translateY(-2px)}}.loading-page.transitioning{animation:systemShutdown 2.5s ease-in-out forwards}.loading-container.transitioning{animation:containerFadeOut 2.5s ease-in-out forwards}.board-outline.transitioning{animation:boardPowerDown 2s ease-in-out forwards}.terminal-output.transitioning{animation:terminalClose 1.5s ease-in-out forwards}@keyframes systemShutdown{0%{background:var(--bg-color);opacity:1}70%{background:radial-gradient(circle,var(--accent-color),var(--bg-color));opacity:.8}to{background:var(--accent-color);opacity:0;transform:scale(1.1)}}@keyframes containerFadeOut{0%{opacity:1;transform:scale(1) rotateY(0deg)}50%{opacity:.5;transform:scale(.95) rotateY(5deg)}to{opacity:0;transform:scale(.8) rotateY(15deg)}}@keyframes boardPowerDown{0%{box-shadow:0 0 20px #00ff9d4d;opacity:1}50%{box-shadow:0 0 40px #00ff9dcc;opacity:.7}to{box-shadow:0 0 5px #00ff9d1a;opacity:.3;transform:scale(.9)}}@keyframes terminalClose{0%{opacity:1;transform:scaleY(1)}50%{opacity:.6;transform:scaleY(.8)}to{opacity:0;transform:scaleY(0)}}.boot-complete .status-leds .led{animation:ledCelebration .5s ease-in-out infinite alternate}.boot-complete .progress-fill{animation:progressCelebration 2s ease-in-out infinite;background:linear-gradient(90deg,var(--accent-color),var(--warning-color))}@keyframes ledCelebration{0%{box-shadow:0 0 12px currentColor}to{box-shadow:0 0 20px currentColor,0 0 30px currentColor}}@keyframes progressCelebration{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}@media (min-width:1400px){.loading-container{max-width:700px}.board-outline{height:200px;width:320px}.mcu-chip{height:65px;width:90px}.terminal-body{font-size:.85rem;height:140px}}@media (min-width:1024px) and (max-width:1399px){.loading-container{max-width:650px}.board-outline{height:190px;width:300px}}@media (min-width:769px) and (max-width:1023px){.loading-container{max-width:550px;padding:1.25rem;width:90%}.board-outline{height:165px;width:260px}.mcu-chip{height:50px;width:70px}.terminal-body{font-size:.75rem;height:100px}.system-status{gap:1rem}}@media (max-width:768px){.loading-container{gap:min(.8rem,1.5vh);max-height:95vh;min-height:0;padding:min(1rem,2vh);width:95vw}.board-outline{height:min(150px,18vh);width:min(240px,70vw)}.mcu-chip{height:min(45px,8vh);width:min(60px,15vw)}.chip-label{font-size:clamp(6px,1.5vw,7px)}.led{height:6px;width:6px}.terminal-body{font-size:clamp(.6rem,1.5vw,.7rem);height:clamp(70px,12vh,90px);padding:min(10px,2vw)}.terminal-header{padding:min(6px,1vh) min(10px,2vw)}.terminal-title{font-size:clamp(.65rem,1.8vw,.75rem)}.system-status{flex-direction:column;gap:min(.5rem,1vh);margin:min(1rem,1.5vh) 0;padding:min(.8rem,1.5vw)}.status-item{flex-direction:row;justify-content:space-between;padding:min(.25rem,.5vh) 0}.status-label,.status-value{font-size:clamp(.6rem,1.5vw,.7rem)}.progress-bar{height:clamp(8px,2vh,10px);margin:min(.75rem,1.5vh) 0}.hex-display{font-size:clamp(.6rem,1.4vw,.65rem)}.mcu-board{margin-bottom:min(1rem,1.5vh)}.start-button{font-size:clamp(.8rem,2vw,.9rem);padding:min(10px,2vh) min(20px,4vw)}.button-icon{font-size:clamp(.9rem,2.2vw,1rem)}.data-stream{height:clamp(60px,10vh,80px);margin-bottom:min(1rem,1.5vh)}.data-packet{font-size:clamp(.65rem,1.5vw,.7rem);padding:min(3px,.8vw) min(8px,1.5vw)}}@media (max-width:640px){.loading-container{padding:.8rem;width:96%}.board-outline{height:140px;width:220px}.mcu-chip{height:40px;width:55px}.terminal-body{font-size:.68rem;height:85px}.loading-label{font-size:.85rem;margin-bottom:.8rem}.progress-bar{height:9px}}@media (max-width:480px){.loading-container{max-height:90vh;padding:.5rem;width:98%}.board-outline{height:120px;width:200px}.mcu-chip{height:35px;width:50px}.chip-label{font-size:6px}.led{height:5px;width:5px}.capacitor{height:12px;width:8px}.resistor{height:4px;width:12px}.crystal{height:6px;width:12px}.gpio-pin{height:8px;width:5px}.terminal-body{font-size:.65rem;height:75px;padding:8px}.terminal-header{padding:5px 8px}.terminal-title{font-size:.7rem}.control{height:6px;width:6px}.loading-label{font-size:.8rem;margin-bottom:.6rem}.hex-value{font-size:.7rem}.progress-bar{height:8px;margin:.6rem 0}.progress-fill{min-height:8px}.data-packet{font-size:.7rem;margin:2px;padding:3px 6px}.start-button,.terminal-line.clickable{-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}@media (max-width:768px){.start-button{min-height:44px;min-width:120px}.terminal-line.clickable{align-items:center;display:flex;min-height:36px}}.start-button:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.terminal-line.clickable:focus-visible{outline:1px solid var(--accent-color);outline-offset:1px}@media (max-width:320px){.loading-container{font-size:14px}.terminal-body{line-height:1.3}.loading-label{font-size:.7rem}}.loading-page *{will-change:auto}.loading-page.transitioning *{will-change:transform,opacity}@media (prefers-contrast:high){.board-outline{border-width:3px}.terminal-output{border-width:2px}.led.on{box-shadow:0 0 15px currentColor}}@media (prefers-reduced-motion:reduce){.loading-page *,.loading-page :after,.loading-page :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.progress-scanner{display:none}}@container (max-width: 400px){.loading-container{gap:.5rem}.system-status{font-size:.8em}}}@media (max-width:360px){.loading-container{gap:min(.3rem,.8vh);max-height:calc(100vh - .5rem);max-width:calc(100vw - .5rem);padding:.25rem;width:calc(100vw - .5rem)}.board-outline{height:min(110px,12vh);width:min(180px,calc(100vw - 1rem))}.mcu-chip{height:min(30px,5vh);width:min(45px,10vw)}.terminal-body{font-size:clamp(.55rem,2.8vw,.6rem);height:min(65px,8vh);padding:min(6px,1vw)}.system-status{margin:min(.6rem,1vh) 0;padding:min(.4rem,1vw)}.status-label,.status-value{font-size:clamp(.55rem,2.8vw,.6rem)}.loading-label{font-size:clamp(.7rem,3.2vw,.75rem)}.hex-value{font-size:clamp(.6rem,2.8vw,.65rem)}.data-stream{height:min(60px,7vh);padding:min(.3rem,.8vh)}.data-packet{font-size:clamp(.6rem,2.8vw,.65rem);margin:min(1px,.3vw);padding:min(2px,.5vw) min(4px,.8vw)}.start-button{font-size:clamp(.65rem,3vw,.75rem);max-width:calc(100vw - 2rem);padding:min(6px,1vh) min(12px,2.5vw)}}*{box-sizing:border-box}.loading-container,.loading-page{overflow-x:hidden}@media screen and (max-width:480px){.loading-page{height:100vh;max-height:100vh;max-width:100vw;width:100vw}.loading-container{gap:min(.5rem,1vh);margin:0 auto;max-height:calc(100vh - 1rem);max-width:calc(100vw - 1rem);overflow-x:hidden;overflow-y:auto;padding:.5rem;width:calc(100vw - 1rem)}.board-outline{height:min(120px,15vh);max-width:calc(100vw - 2rem);width:min(200px,calc(100vw - 2rem))}.mcu-chip{height:min(35px,6vh);width:min(50px,12vw)}.terminal-output{max-width:100%;width:100%}.terminal-body{font-size:clamp(.6rem,3vw,.65rem);height:min(75px,10vh);padding:min(8px,1.5vw)}.system-status{margin:min(.8rem,1.5vh) 0;padding:min(.6rem,1.2vw);width:100%}.progress-container{margin-bottom:min(.8rem,1.5vh);width:100%}.progress-bar{height:min(8px,1.5vh);width:100%}.data-stream{height:min(70px,8vh);padding:min(.5rem,1vh);width:100%}.start-button-container{margin:min(1rem,1.5vh) 0 min(.5rem,1vh);width:100%}.start-button{font-size:clamp(.7rem,3.5vw,.8rem);max-width:calc(100vw - 4rem);min-height:44px;padding:min(8px,1.5vh) min(16px,3vw);width:auto}}@media screen and (max-width:360px){.loading-container{gap:min(.3rem,.8vh);max-height:calc(100vh - .5rem);max-width:calc(100vw - .5rem);padding:.25rem;width:calc(100vw - .5rem)}.board-outline{height:min(110px,12vh);width:min(180px,calc(100vw - 1rem))}.mcu-chip{height:min(30px,5vh);width:min(45px,10vw)}.terminal-body{font-size:clamp(.55rem,2.8vw,.6rem);height:min(65px,8vh);padding:min(6px,1vw)}.system-status{margin:min(.6rem,1vh) 0;padding:min(.4rem,1vw)}.status-label,.status-value{font-size:clamp(.55rem,2.8vw,.6rem)}.loading-label{font-size:clamp(.7rem,3.2vw,.75rem)}.hex-value{font-size:clamp(.6rem,2.8vw,.65rem)}.data-stream{height:min(60px,7vh);padding:min(.3rem,.8vh)}.data-packet{font-size:clamp(.6rem,2.8vw,.65rem);margin:min(1px,.3vw);padding:min(2px,.5vw) min(4px,.8vw)}.start-button{font-size:clamp(.65rem,3vw,.75rem);max-width:calc(100vw - 2rem);padding:min(6px,1vh) min(12px,2.5vw)}}@media screen and (max-height:500px) and (orientation:landscape){.loading-container{align-items:center;flex-direction:row;gap:min(.5rem,2vw);justify-content:space-around;max-height:95vh;padding:min(.5rem,1vh)}.mcu-board{flex-shrink:0;margin-bottom:0;width:auto}.board-outline{height:min(100px,80vh);width:min(160px,30vw)}.data-stream,.progress-container,.start-button-container,.system-status,.terminal-output{flex:1 1;margin-bottom:min(.3rem,1vh);max-width:min(300px,65vw)}.terminal-body{font-size:clamp(.55rem,2.5vw,.6rem);height:min(60px,50vh)}.system-status{flex-direction:row;gap:min(.5rem,2vw);padding:min(.3rem,1vw)}.status-item{flex-direction:column}}.board-outline *,.data-stream *,.loading-container *,.loading-page *,.progress-container *,.start-button-container *,.system-status *,.terminal-output *{word-wrap:break-word;max-width:100%;overflow-wrap:break-word}.button-text,.loading-label,.status-label,.status-value,.terminal-line{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stream-line{flex-wrap:wrap;max-width:100%}.data-packet{flex-shrink:0;white-space:nowrap}.error-boundary{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:400px;padding:2rem}.error-container{animation:slideInUp .5s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0003;max-width:500px;padding:3rem 2rem;text-align:center}.error-icon{animation:pulse 2s infinite;font-size:4rem;margin-bottom:1rem}.error-container h2{color:#333;font-size:1.5rem;margin-bottom:1rem}.error-container p{color:#666;line-height:1.6;margin-bottom:2rem}.error-retry-btn{background:linear-gradient(135deg,#ff7b7b,#ff6b6b);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.error-retry-btn:hover{box-shadow:0 4px 15px #ff6b6b4d;transform:translateY(-2px)}.error-details{margin-top:2rem;text-align:left}.error-details summary{color:#333;cursor:pointer;font-weight:500;margin-bottom:.5rem}.error-details pre{background:#f5f5f5;border-radius:4px;color:#666;font-size:.8rem;overflow-x:auto;padding:1rem;white-space:pre-wrap}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media (max-width:768px){.error-container{margin:1rem;padding:2rem 1.5rem}.error-icon{font-size:3rem}}.App{min-height:100vh;overflow-x:hidden;position:relative}.sr-only{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}:focus{outline:2px solid #ff6b35;outline-offset:2px}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid #ff6b35;outline-offset:2px}@media (prefers-contrast:high){.App{background:#fff;color:#000}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}main{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:relative;z-index:1}@media (max-width:768px){main{padding:0 1rem}}@media (max-width:480px){main{padding:0 .8rem}}
/*# sourceMappingURL=main.33877441.css.map*/