.galaxy-container{width:100%;height:100%;position:relative;z-index:1}.dock-outer{position:fixed;bottom:0;left:0;right:0;margin:0 .5rem;display:flex;max-width:100%;align-items:center;z-index:10000}.dock-panel{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;align-items:center;width:fit-content;min-width:600px;max-width:800px;gap:1.5rem;border-radius:1rem;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.2);padding:1rem 1.5rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px #ffffff1a;justify-content:center;animation:slideUp .8s ease-out .3s both}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(30px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.dock-item{position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000001a;cursor:pointer;outline:none;transition:all .3s cubic-bezier(.4,0,.2,1);min-width:80px;padding:.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:80px;touch-action:manipulation}.dock-item:hover{background:rgba(255,255,255,.2);border-color:#fff6;box-shadow:0 12px 20px -1px #0003,0 0 30px #fff3;transform:translateY(-4px) scale(1.05)}.dock-item:active{transform:translateY(0);transition:transform .1s ease}.dock-icon{display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;text-shadow:0 0 10px rgba(255,255,255,.3);font-family:JetBrains Mono,monospace}.dock-svg-icon{width:1.8rem;height:1.8rem;filter:brightness(0) invert(1);transition:all .3s cubic-bezier(.4,0,.2,1)}.dock-item:hover .dock-svg-icon{filter:brightness(0) invert(1) brightness(1.3);transform:scale(1.1)}.dock-label{position:absolute;top:-2rem;left:50%;width:fit-content;white-space:pre;border-radius:.375rem;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.6);padding:.25rem .75rem;font-size:.75rem;font-family:DM Sans,sans-serif;font-weight:500;color:#fff;transform:translate(-50%);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 2px 8px #0003,0 0 15px #ffffff1a;letter-spacing:.05em}@media (max-width: 768px){.dock-outer{margin:0 .25rem}.dock-panel{min-width:auto;max-width:calc(100vw - 1rem);gap:.75rem;padding:.75rem 1rem;bottom:.5rem;flex-wrap:wrap;justify-content:center}.dock-item{min-width:60px;min-height:60px;padding:.4rem;flex:0 0 auto;touch-action:manipulation}.dock-icon{font-size:1.2rem}.dock-svg-icon{width:1.4rem;height:1.4rem}.dock-label{font-size:.65rem;padding:.2rem .5rem;top:-1.5rem}}@media (max-width: 480px){.dock-panel{gap:.5rem;padding:.5rem .75rem;bottom:.25rem}.dock-item{min-width:50px;min-height:50px;padding:.3rem}.dock-icon{font-size:1rem}.dock-svg-icon{width:1.2rem;height:1.2rem}.dock-label{font-size:.6rem;padding:.15rem .4rem;top:-1.25rem}}@media (max-width: 360px){.dock-panel{gap:.4rem;padding:.4rem .6rem}.dock-item{min-width:45px;min-height:45px;padding:.25rem}.dock-icon{font-size:.9rem}.dock-svg-icon{width:1.1rem;height:1.1rem}}@media (hover: none) and (pointer: coarse){.dock-item{min-width:70px;min-height:70px}.dock-item:hover{transform:none}.dock-item:active{background:rgba(255,255,255,.2);border-color:#fff6;transform:scale(.95)}}.page-container{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.9);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1000;overflow-y:auto;padding:2rem 2rem 40rem}.page-content{max-width:1200px;margin:0 auto;color:#fff}.page-title{font-family:JetBrains Mono,monospace;font-size:3rem;font-weight:800;color:#fff;text-shadow:0 0 20px rgba(255,255,255,.3);margin-bottom:2rem;text-transform:uppercase;letter-spacing:.1em}.project-overview h2{font-family:DM Sans,sans-serif;font-size:1.8rem;color:#fff;margin-bottom:1rem;font-weight:600}.project-overview p{font-family:DM Sans,sans-serif;font-size:1.1rem;line-height:1.6;color:#ccc;margin-bottom:2rem}.project-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.detail-section{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:1.5rem;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);transition:all .3s ease}.detail-section:hover{background:rgba(255,255,255,.1);border-color:#ffffff4d;transform:translateY(-2px)}.detail-section h3{font-family:JetBrains Mono,monospace;font-size:1.2rem;color:#fff;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}.detail-section ul{list-style:none;padding:0}.detail-section li{font-family:DM Sans,sans-serif;color:#ccc;margin-bottom:.5rem;padding-left:1rem;position:relative}.detail-section li:before{content:"▸";color:#fff;position:absolute;left:0}.tech-stack{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.tech-tag{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);color:#fff;padding:.3rem .8rem;border-radius:20px;font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.timeline{margin-top:2rem}.timeline-item{display:flex;margin-bottom:3rem;position:relative}.timeline-item:before{content:"";position:absolute;left:120px;top:0;bottom:-3rem;width:2px;background:linear-gradient(to bottom,#ffffff,transparent)}.timeline-date{width:120px;font-family:JetBrains Mono,monospace;font-size:.9rem;color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.timeline-content{margin-left:2rem;flex:1}.timeline-content h3{font-family:JetBrains Mono,monospace;font-size:1.1rem;color:#fff;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.timeline-content h4{font-family:DM Sans,sans-serif;font-size:1rem;color:#ccc;margin-bottom:.5rem;font-weight:500}.timeline-content p{font-family:DM Sans,sans-serif;color:#ccc;line-height:1.6;margin-bottom:1rem}.robotics-overview h2{font-family:DM Sans,sans-serif;font-size:1.8rem;color:#fff;margin-bottom:1rem;font-weight:600}.robotics-skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}.skill-category{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.skill-category h3{font-family:JetBrains Mono,monospace;font-size:1.1rem;color:#fff;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:1rem}.project-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.project-card h4{font-family:JetBrains Mono,monospace;font-size:1.1rem;color:#fff;margin-bottom:.5rem}.project-card p{font-family:DM Sans,sans-serif;color:#b0b0b0;font-size:.9rem}.education-timeline{margin-top:2rem}.education-item{display:flex;margin-bottom:3rem;position:relative}.education-item:before{content:"";position:absolute;left:120px;top:0;bottom:-3rem;width:2px;background:linear-gradient(to bottom,#ffffff,transparent)}.education-date{width:120px;font-family:JetBrains Mono,monospace;font-size:.9rem;color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.education-content{margin-left:2rem;flex:1}.education-content h3{font-family:JetBrains Mono,monospace;font-size:1.1rem;color:#fff;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.education-content h4{font-family:DM Sans,sans-serif;font-size:1rem;color:#ccc;margin-bottom:.5rem;font-weight:500}.education-content p{font-family:DM Sans,sans-serif;color:#ccc;line-height:1.6;margin-bottom:1rem}.cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:2rem}.cert-item{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.cert-item:hover{background:rgba(255,255,255,.1);border-color:#ffffff4d;transform:translateY(-2px)}.cert-item h4{font-family:JetBrains Mono,monospace;font-size:1.1rem;color:#fff;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.cert-item p{font-family:DM Sans,sans-serif;color:#ccc;font-size:.9rem;margin-bottom:.5rem}.cert-date{font-family:JetBrains Mono,monospace;font-size:.8rem;color:#fff;background:rgba(255,255,255,.1);padding:.2rem .6rem;border-radius:12px;border:1px solid rgba(255,255,255,.3)}.project-details:last-child{margin-bottom:10rem}@media (max-width: 768px){.page-container{padding:1rem 1rem 20rem}.page-title{font-size:2rem;margin-bottom:1.5rem}.project-overview h2{font-size:1.5rem}.project-overview p{font-size:1rem;line-height:1.5}.project-details,.robotics-skills,.cert-grid{grid-template-columns:1fr;gap:1rem}.detail-section{padding:1rem}.timeline-item,.education-item{flex-direction:column}.timeline-item:before,.education-item:before{display:none}.timeline-date,.education-date{width:auto;margin-bottom:1rem}.timeline-content,.education-content{margin-left:0}.tech-stack{gap:.4rem}.tech-tag{font-size:.75rem;padding:.25rem .6rem}}@media (max-width: 480px){.page-container{padding:.75rem .75rem 15rem}.page-title{font-size:1.75rem;margin-bottom:1rem}.project-overview h2{font-size:1.3rem}.project-overview p{font-size:.95rem}.detail-section{padding:.75rem}.detail-section h3,.timeline-content h3,.education-content h3{font-size:1rem}.tech-tag{font-size:.7rem;padding:.2rem .5rem}}@media (max-width: 360px){.page-container{padding:.5rem .5rem 12rem}.page-title{font-size:1.5rem}.project-overview h2{font-size:1.2rem}.detail-section{padding:.5rem}}body{margin:0;padding:0;font-family:Arial,sans-serif;background:#000;color:#fff;overflow:hidden}.app{position:relative;width:100vw;height:100vh}.text-overlay{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:9999;pointer-events:none}.hero-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;transform:translateY(-15%)}.portfolio-title{font-size:6rem;font-weight:800;font-family:JetBrains Mono,Fira Code,Consolas,monospace;text-align:center;color:#fff;letter-spacing:.08em;text-transform:uppercase;pointer-events:auto;text-shadow:2px 2px 0px rgba(0,0,0,.3);margin:0;font-feature-settings:"liga" 1,"calt" 1}.portfolio-subtitle{font-size:1.5rem;font-weight:300;font-family:JetBrains Mono,Fira Code,Consolas,monospace;text-align:center;color:#fff;letter-spacing:.05em;text-transform:uppercase;pointer-events:auto;margin:0;opacity:.8}.social-links{display:flex;gap:2rem;margin-top:2rem;pointer-events:auto}.social-link{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);color:#fff;padding:.8rem;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.social-link:hover{background:rgba(255,255,255,.2);border-color:#ffffff80;transform:translateY(-2px)}.social-icon{width:20px;height:20px;filter:brightness(0) invert(1);transition:all .3s ease}.social-link:hover .social-icon{transform:scale(1.1)}.social-link.github:hover{border-color:#6e5494;box-shadow:0 0 20px #6e54944d}.social-link.linkedin:hover{border-color:#0077b5;box-shadow:0 0 20px #0077b54d}@media (max-width: 768px){.portfolio-title{font-size:3.5rem;line-height:1.1;padding:0 1rem}.portfolio-subtitle{font-size:1.2rem;padding:0 1rem;line-height:1.3}.hero-content{gap:1rem;transform:translateY(-10%);padding:0 1rem}.social-links{gap:1rem;margin-top:1.5rem}.social-link{padding:.6rem;width:40px;height:40px}.social-icon{width:18px;height:18px}}@media (max-width: 480px){.portfolio-title{font-size:2.5rem;padding:0 .5rem}.portfolio-subtitle{font-size:1rem;padding:0 .5rem}.hero-content{gap:.75rem;transform:translateY(-5%)}.social-links{gap:.75rem;margin-top:1rem}.social-link{padding:.5rem;width:36px;height:36px}.social-icon{width:16px;height:16px}}@media (max-width: 360px){.portfolio-title{font-size:2rem}.portfolio-subtitle{font-size:.9rem}.social-link{width:32px;height:32px;padding:.4rem}.social-icon{width:14px;height:14px}}.back-button{position:fixed;top:2rem;left:2rem;background:rgba(0,0,0,.8);border:1px solid #ffffff;color:#fff;padding:.8rem 1.5rem;border-radius:8px;font-family:JetBrains Mono,monospace;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1001;text-transform:uppercase;letter-spacing:.05em}.back-button:hover{background:rgba(255,255,255,.1);border-color:#fff;box-shadow:0 0 20px #fff3;transform:translateY(-2px)}.back-button:active{transform:translateY(0)}@media (max-width: 768px){.back-button{top:1rem;left:1rem;padding:.6rem 1rem;font-size:.8rem}}@media (max-width: 480px){.back-button{top:.75rem;left:.75rem;padding:.5rem .75rem;font-size:.75rem}}.dock-instruction{position:fixed;bottom:8rem;left:50%;transform:translate(-50%);z-index:9999;text-align:center;pointer-events:none;animation:fadeInUp 1s ease-out .5s both}.dock-instruction p{color:#fff;font-family:Inter,Segoe UI,Roboto,sans-serif;font-size:1rem;font-weight:400;opacity:.8;margin:0;letter-spacing:.02em;text-transform:none;animation:pulse 2s ease-in-out infinite}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes pulse{0%,to{opacity:.8}50%{opacity:1}}@media (max-width: 768px){.dock-instruction{bottom:6rem}.dock-instruction p{font-size:.9rem;padding:0 1rem}}@media (max-width: 480px){.dock-instruction{bottom:5rem}.dock-instruction p{font-size:.8rem;padding:0 .5rem}}
