:root{--bg-color: #050505;--surface-color: #0f0f0f;--surface-hover: #161616;--text-main: #e0e0e0;--text-dim: #888888;--primary: #00ff9d;--primary-dim: rgba(0, 255, 157, .1);--secondary: #ff0055;--accent: #00d8ff;--font-main: "Inter", sans-serif;--font-mono: "JetBrains Mono", monospace;--border-radius: 4px;--grid-color: rgba(0, 255, 157, .15);--grid-size: 30px;--node-color: rgba(0, 216, 255, .15)}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-color);color:var(--text-main);font-family:var(--font-main);line-height:1.6;overflow-x:hidden}.glass-panel{background:#0f0f1299!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 8px 32px #0000005e}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:#333;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}#app{position:relative;width:100%;min-height:100vh}a{text-decoration:none;color:inherit;transition:color .2s}.navbar{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;position:fixed;top:0;left:0;right:0;background:#050505cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;border-bottom:1px solid rgba(255,255,255,.05)}.logo{font-family:var(--font-mono);font-weight:700;font-size:1.2rem;color:var(--text-main)}.logo .prompt{color:var(--primary);margin-right:.5rem}.logo .cursor{animation:blink 1s infinite step-end}.nav-links{display:flex;gap:1.5rem;list-style:none;overflow-x:auto;padding-bottom:5px;-webkit-overflow-scrolling:touch}@media(max-width:600px){.navbar{padding:1rem;flex-direction:column;gap:1rem}.nav-links{display:none;width:100%;justify-content:center;gap:1rem;font-size:.8rem}}.nav-links li a{font-family:var(--font-mono);font-size:.9rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px}.nav-links li a:hover{color:var(--primary);text-shadow:0 0 8px var(--primary-dim)}.mobile-nav-pill{display:none}@media(max-width:600px){.mobile-nav-pill{display:flex;position:fixed;bottom:calc(16px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);gap:.45rem;justify-content:center;text-align:center;padding-left:calc(12px + env(safe-area-inset-left));padding-right:calc(12px + env(safe-area-inset-right));padding-top:.22rem;padding-bottom:.22rem;background:#0f0f12eb;border:1px solid rgba(255,255,255,.06);box-shadow:0 10px 28px #000000a6;border-radius:999px;z-index:1200;align-items:center;width:auto;max-width:98%;box-sizing:border-box;overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-nav-pill a{font-family:var(--font-mono);color:var(--text-dim);padding:.28rem .6rem;background:transparent;border-radius:999px;text-transform:uppercase;font-size:.85rem;letter-spacing:.5px;transition:background .15s,color .15s;display:inline-block;-webkit-appearance:none;appearance:none;-webkit-box-shadow:none;box-shadow:none}.mobile-nav-pill a:hover{color:var(--primary);background:#00ff9d0f;box-shadow:0 4px 12px #00ff9d0a}.mobile-nav-pill a:visited{color:var(--text-dim)!important;background:transparent!important}.mobile-nav-pill a:active,.mobile-nav-pill a:focus,.mobile-nav-pill a:focus-visible{background:transparent!important;color:var(--text-dim)!important;box-shadow:none!important;outline:none!important}.mobile-nav-pill a,.mobile-nav-pill a:active,.mobile-nav-pill a:focus,.mobile-nav-pill a:visited{background:transparent!important;color:var(--text-dim)!important;box-shadow:none!important;outline:none!important}.mobile-nav-pill a.no-highlight{background:transparent!important;color:var(--text-dim)!important;box-shadow:none!important}.mobile-nav-pill a,.nav-links li a{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.mobile-nav-pill a:active,.mobile-nav-pill a:focus{background:transparent!important;color:var(--text-dim)!important;box-shadow:none!important;outline:none!important}.mobile-nav-pill a:last-child{margin-right:0}.container{padding-left:1rem;padding-right:1rem}.section-content{max-width:1000px;margin-left:auto;margin-right:auto;padding-left:.25rem;padding-right:.25rem}.section-title{text-align:center}.about-grid{justify-items:center}.about-card,.project-card{width:100%;max-width:720px}}#hero{padding:11rem 1rem 2rem;min-height:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;z-index:2}@media(min-width:768px){#hero{flex-direction:row;text-align:left;gap:4rem;padding:8rem 2rem 4rem;min-height:90vh}}.hero-content{flex:1;max-width:600px;width:100%;margin-bottom:2.5rem;position:relative;z-index:1}@media(min-width:768px){.hero-content{margin-bottom:0}}h1.glitch{font-size:2rem;font-weight:800;letter-spacing:-2px;line-height:1.1;margin-bottom:.5rem;position:relative;color:#fff}@media(min-width:400px){h1.glitch{font-size:2.5rem}}@media(min-width:768px){h1.glitch{font-size:3.5rem}}.subtitle{font-family:var(--font-mono);font-size:1rem;color:var(--text-dim);margin-bottom:1.5rem}@media(min-width:400px){.subtitle{font-size:1.25rem}}.subtitle .accent{color:var(--secondary);margin:0 .5rem}.hero-desc{font-size:1rem;color:#aaa;margin-bottom:2rem;max-width:450px;margin-left:auto;margin-right:auto}@media(min-width:768px){.hero-desc{font-size:1.1rem;margin-left:0;margin-right:0}}.cta-group{display:flex;gap:1rem;justify-content:center}@media(min-width:768px){.cta-group{justify-content:flex-start}}.btn{padding:.8rem 1.2rem;font-family:var(--font-mono);font-weight:700;border-radius:var(--border-radius);text-transform:uppercase;font-size:.8rem;cursor:pointer;border:1px solid transparent;transition:all .2s}@media(min-width:400px){.btn{padding:.8rem 1.5rem;font-size:.9rem}}.btn.primary{background:var(--primary);color:#000;box-shadow:0 0 15px var(--primary-dim)}.btn.primary:hover{background:#2effa8;box-shadow:0 0 25px #00ff9d4d}.btn.secondary{border-color:var(--text-dim);color:var(--text-main);background:var(--surface-color)}.btn.secondary:hover{border-color:var(--text-main);background:var(--surface-hover)}.hero-terminal{flex-shrink:0;width:90%;max-width:400px;background:#0f0f12;border-radius:8px;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 50px #00000080;overflow:hidden;font-family:var(--font-mono);font-size:.75rem;height:250px;display:flex;flex-direction:column;position:relative;z-index:1}@media(min-width:768px){.hero-terminal{width:100%;max-width:500px;font-size:.9rem;height:350px}}.terminal-header{background:#1a1a1f;padding:.8rem 1rem;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.05)}.dot{width:12px;height:12px;border-radius:50%;margin-right:8px}.red{background:#ff5f56}.yellow{background:#ffbd2e}.green{background:#27c93f}.terminal-title{margin-left:auto;color:#555;font-size:.8rem}.terminal-body{padding:1.5rem;color:#ccc;overflow-y:hidden;flex-grow:1;position:relative;text-align:left}.t-line{display:block;margin-bottom:.5rem;min-height:1.2em}.t-success{color:var(--primary)}.t-error{color:var(--secondary)}.t-info{color:var(--accent)}.t-cursor:after{content:"_";animation:blink 1s infinite}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem;position:relative;z-index:2}.grid-bg{position:relative;width:100%;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.1)}.section-content{padding-top:2rem;padding-bottom:2rem}.grid-bg:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(var(--grid-color) 2px,transparent 2px),linear-gradient(90deg,var(--grid-color) 2px,transparent 2px);background-size:var(--grid-size) var(--grid-size);background-position:center top;pointer-events:none;z-index:0;opacity:.08;-webkit-mask-image:linear-gradient(to right,transparent,black 15%,black 85%,transparent);mask-image:linear-gradient(to right,transparent,black 15%,black 85%,transparent)}.tech-node-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.tech-node{position:absolute;width:40px;height:40px;border:1px solid var(--node-color);opacity:.3;animation:float-node 20s infinite ease-in-out}.tech-node.cube{border-radius:2px}.tech-node.circle{border-radius:50%}.tech-node.diamond{transform:rotate(45deg)}@keyframes float-node{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(30px,-50px) rotate(120deg)}66%{transform:translate(-20px,20px) rotate(240deg)}}.data-stream-divider{width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--primary),transparent);position:relative;opacity:.3}.data-stream-divider:after{content:"";position:absolute;top:0;left:-100px;width:100px;height:100%;background:linear-gradient(90deg,transparent,rgba(0,255,157,.8),transparent);animation:data-flow 4s infinite linear}@keyframes data-flow{0%{left:-100px}to{left:100%}}.container:last-of-type{border-bottom:none}@media(min-width:768px){.container{padding:6rem 2rem}}.section-title{font-family:var(--font-mono);font-size:1.75rem;margin-bottom:1.5rem;color:#fff}@media(min-width:768px){.section-title{font-size:2.5rem}}.section-title .hash{color:var(--primary);margin-right:.5rem}.tech-ticker{background:var(--surface-color);padding:1rem 0;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);overflow:hidden;white-space:nowrap}.ticker-track{display:inline-block;animation:scroll 80s linear infinite;font-family:var(--font-mono);color:var(--text-dim);font-weight:700}.ticker-track span{margin:0 1rem}.separator{color:var(--secondary);opacity:.5}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(max-width:600px){.tech-ticker{padding:.35rem 0}.ticker-track{font-size:.78rem;animation-duration:60s}.ticker-track span{margin:0 .6rem}}.about-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:768px){.about-grid{grid-template-columns:1fr 1fr}}.about-card{background:#0f0f124d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:1.25rem;border-radius:8px;border:1px solid rgba(255,255,255,.05);box-shadow:0 4px 20px #0003;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;position:relative;overflow:hidden}.about-card:hover{transform:translateY(-5px)!important;border-color:var(--primary)!important;box-shadow:0 8px 30px #00ff9d33}@media(min-width:768px){.about-card{padding:2rem}}.about-card h4{font-size:1.25rem;margin-bottom:1rem;color:#fff;display:flex;align-items:center;gap:.5rem}@media(min-width:768px){.about-card h4{font-size:1.5rem}}.specs-list{list-style:none}.specs-list li{margin-bottom:.5rem;color:#bbb;border-bottom:1px dashed #333;padding-bottom:.5rem;font-size:.9rem}.specs-list strong{color:var(--primary);margin-right:.5rem}.timeline{position:relative;max-width:900px;margin:2rem auto;padding:0}.timeline:before{content:"";position:absolute;left:20px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,transparent,var(--primary),transparent)}@media(min-width:768px){.timeline:before{left:50%;transform:translate(-50%)}}.timeline-item{position:relative;margin-bottom:4rem;width:100%;display:flex;justify-content:flex-start;padding-left:50px}@media(min-width:768px){.timeline-item{justify-content:center;padding-left:0}.timeline-item:nth-child(2n){flex-direction:row-reverse}}.timeline-marker{width:16px;height:16px;background:var(--bg-color);border:3px solid var(--primary);border-radius:50%;position:absolute;left:13px;top:1.5rem;z-index:2;box-shadow:0 0 10px var(--primary)}@media(min-width:768px){.timeline-marker{left:50%;transform:translate(-50%)}}.timeline-content{width:100%;max-width:100%;padding:1.5rem;position:relative;border-radius:8px;background:#0f0f1266;border:1px solid rgba(255,255,255,.05);transition:transform .3s ease,border-color .3s ease}.timeline-content:hover{transform:translateY(-5px);border-color:var(--primary)}@media(min-width:768px){.timeline-content{width:45%;max-width:420px}.timeline-item:nth-child(odd) .timeline-content{margin-right:55%}.timeline-item:nth-child(2n) .timeline-content{margin-left:55%}}.timeline-content .date{font-family:var(--font-mono);color:var(--accent);font-size:.8rem;display:block;margin-bottom:.5rem;opacity:.8}.timeline-content h4{font-size:1.2rem;color:#fff;margin-bottom:.2rem;letter-spacing:-.5px}.timeline-content .company{font-family:var(--font-mono);color:var(--primary);font-size:.95rem;margin-bottom:1rem;font-weight:700}.timeline-content .company a{color:inherit;text-decoration:none;transition:opacity .2s}.timeline-content .company a:hover{opacity:.8;text-decoration:underline;text-decoration-style:dashed}.job-details{list-style:disc;margin-left:1.2rem;color:#aaa;margin-bottom:1rem;font-size:.95rem}.tags{display:flex;gap:.5rem;flex-wrap:wrap}.tag{font-family:var(--font-mono);font-size:.7rem;background:#ffffff0d;padding:.2rem .5rem;border-radius:4px;color:#ccc}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}@media(min-width:768px){.projects-grid{gap:2rem}}.project-card{background:#0f0f124d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.05);border-radius:12px;transition:transform .6s cubic-bezier(.4,0,.2,1),border-color .6s cubic-bezier(.4,0,.2,1),box-shadow .6s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;position:relative;overflow:hidden;cursor:pointer}.project-card:hover{transform:translateY(-5px)!important;border-color:#00ff9d99!important;box-shadow:0 8px 30px #00ff9d33}.card-header{padding:1.25rem;border-bottom:1px solid rgba(255,255,255,.05);display:flex;justify-content:space-between;align-items:center}.project-card h5{font-size:1.1rem;color:#fff}.status{font-family:var(--font-mono);font-size:.7rem;padding:.1rem .4rem;border-radius:2px;font-weight:700}.status.pass{background:#00ff9d33;color:var(--primary)}.status.running{background:#00d8ff33;color:var(--accent)}.status.info{background:#ffffff1a;color:#aaa}.card-body{padding:1.25rem;flex-grow:1;display:flex;flex-direction:column}.card-body p{color:#aaa;font-size:.9rem;margin-bottom:1rem}.stats{display:flex;gap:1rem;margin-top:auto}.stat{display:flex;flex-direction:column}.stat .val{font-size:1.1rem;font-weight:700;color:#fff}.stat .label{font-size:.7rem;color:#777;font-family:var(--font-mono)}.card-footer{padding:1rem 1.5rem;display:flex;gap:.5rem;background:#0003}.lang{font-size:.8rem;color:#777;font-family:var(--font-mono)}.lang:before{content:"● ";color:var(--primary);margin-right:2px}.footer-content{border-top:1px solid rgba(255,255,255,.1);padding-top:5rem;padding-bottom:5rem;text-align:center}.footer-title{font-size:2rem;font-weight:800;letter-spacing:-1px;line-height:1.2;margin-bottom:2.5rem;color:#fff;font-family:var(--font-main);text-transform:uppercase}@media(min-width:768px){.footer-title{font-size:3rem}}.footer-link{color:var(--primary);font-family:var(--font-mono);font-size:1.2rem;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.socials{margin-top:2rem;display:flex;justify-content:center;gap:2rem}.socials a{color:#888;font-size:.9rem}.socials a:hover{color:#fff}.copyright{margin-top:3rem;color:#555;font-size:.8rem;font-family:var(--font-mono)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.scanlines{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#fff0,#fff0 50%,#0000001a 50%,#0000001a);background-size:100% 4px;pointer-events:none;z-index:10;opacity:.3}#canvas-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.6;overflow:hidden}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:2000;display:flex;justify-content:center;align-items:center;opacity:0;pointer-events:none;transition:opacity .3s ease;padding:1rem}.modal-overlay.active{opacity:1;pointer-events:all}.modal-content{background:var(--bg-color);width:100%;max-width:800px;border-radius:8px;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 60px #000c;overflow:hidden;display:flex;flex-direction:column;position:relative;max-height:90vh;opacity:0;transform:scale(.95);clip-path:inset(50% 50% 50% 50%);will-change:transform,opacity,clip-path}.modal-content:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-top:2px solid var(--primary);border-left:2px solid var(--primary);clip-path:polygon(0 0,30px 0,30px 2px,2px 2px,2px 30px,0 30px);pointer-events:none;z-index:10;opacity:.6}.modal-content-corners{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.modal-content-corners:after{content:"";position:absolute;bottom:0;right:0;width:30px;height:30px;border-bottom:2px solid var(--primary);border-right:2px solid var(--primary);opacity:.6}.modal-overlay.active .modal-content{animation:modal-boot .6s cubic-bezier(.2,0,0,1) forwards}@keyframes modal-boot{0%{opacity:0;transform:scale(.9) translateY(40px);clip-path:inset(45% 45% 45% 45%)}20%{opacity:1}to{opacity:1;transform:scale(1) translateY(0);clip-path:inset(-10% -10% -10% -10%)}}.modal-header{background:transparent;padding:.8rem 1rem;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center}.modal-title{font-family:var(--font-mono);color:#fff;font-size:.9rem}.modal-close{position:absolute;top:.5rem;right:1rem;background:transparent;border:none;color:#fff;font-size:2rem;cursor:pointer;line-height:1;z-index:10}.modal-close:hover{color:var(--secondary)}.modal-body{padding:0;overflow-y:auto}.video-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;background:#000}.video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.modal-text{padding:1.5rem 2rem}.modal-text h3{color:var(--primary);font-family:var(--font-mono);font-size:1.5rem;margin-bottom:1rem}.modal-image-container{width:100%;max-height:400px;margin-bottom:1.5rem;overflow:hidden;border-radius:4px;display:flex;justify-content:center;align-items:center;position:relative}#modal-image{max-width:100%;max-height:400px;object-fit:contain;display:block;box-shadow:0 10px 40px #0009;border-radius:4px}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:#0f0f1499;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.1);color:#fff;width:40px;height:40px;border-radius:50%;display:flex;justify-content:center;align-items:center;cursor:pointer;z-index:5;transition:all .2s ease;font-size:1.2rem}.carousel-btn:hover{background:var(--primary);color:#000;border-color:var(--primary)}.carousel-prev{left:1rem}.carousel-next{right:1rem}.image-counter{position:absolute;bottom:1rem;right:1rem;background:#000000b3;color:#fff;padding:.3rem .8rem;border-radius:20px;font-size:.8rem;font-family:var(--font-mono);z-index:5;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.1)}.modal-text p{color:#ccc;line-height:1.6;font-size:1rem}.project-card{cursor:pointer}.reveal-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.reveal-on-scroll.visible{opacity:1;transform:translateY(0)}.bio-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center}.bio-image-container{width:120px;height:120px;flex-shrink:0;border-radius:12px;position:relative}.bio-image{width:100%;height:100%;object-fit:cover;border-radius:12px;display:block}@media(min-width:768px){.bio-content{flex-direction:row-reverse;text-align:left;align-items:center}.bio-text{flex:1}}.alert-modal{max-width:450px;background:#0d0d0f!important;border:1px solid rgba(255,189,46,.2)!important}.alert-modal:after{border-top:2px solid #ffbd2e;border-left:2px solid #ffbd2e}.alert-modal .modal-content-corners:after{border-bottom:2px solid #ffbd2e;border-right:2px solid #ffbd2e}.alert-modal .modal-title{color:#ffbd2e}.alert-body{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.alert-icon{width:60px;height:60px;background:#ffbd2e1a;border:1px solid #ffbd2e;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:800;color:#ffbd2e;margin-bottom:1.5rem;animation:pulse-warn 2s infinite}@keyframes pulse-warn{0%{box-shadow:0 0 #ffbd2e66}70%{box-shadow:0 0 0 15px #ffbd2e00}to{box-shadow:0 0 #ffbd2e00}}.alert-body p{font-family:var(--font-mono);font-size:1.1rem;color:#eee;background:#ffffff08;padding:1rem;border-radius:4px;border:1px solid rgba(255,255,255,.05)}
