:root{--bg-primary:#050505;--bg-secondary:#0a0a0a;--bg-accent:#00ffff0d;--text-primary:#fff;--text-secondary:#a0a0a0;--accent-cyan:#0ff;--accent-cyan-rgb:0, 255, 255;--accent-emerald:#50fa7b;--border-glass:#ffffff1a;--glass-bg:#ffffff08;--font-heading:"Comic Sans MS", "Comic Sans", "Comic Neue", cursive;--font-body:"Comic Sans MS", "Comic Sans", "Comic Neue", cursive;--letter-spacing-tight:-.01em;--transition-smooth:all .4s cubic-bezier(.23, 1, .32, 1)}[data-theme=light]{--bg-primary:#fff;--bg-secondary:#f0f4f8;--bg-accent:#0088cc0d;--text-primary:#0a0a0a;--text-secondary:#4b5563;--accent-cyan:#0070f3;--accent-cyan-rgb:0, 112, 243;--border-glass:#0070f31f;--glass-bg:#ffffffb3}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);background-image:radial-gradient(var(--border-glass) 1px, transparent 1px);color:var(--text-primary);font-family:var(--font-body);transition:var(--transition-smooth);background-size:30px 30px;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:-.02em}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-glass);border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.video-container{border:1px solid var(--border-glass);border-radius:.75rem;width:100%;height:0;margin-bottom:1rem;padding-bottom:56.25%;position:relative;overflow:hidden}.video-container iframe{width:100%;height:100%;position:absolute;top:0;left:0}.tag{border:1px solid var(--accent-cyan);opacity:.8;border-radius:2rem;margin-bottom:.3rem;margin-right:.4rem;padding:.15rem .5rem;font-size:.7rem;display:inline-block}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--accent-cyan);border-radius:3px}#bg-canvas{z-index:-1;pointer-events:none;opacity:.4;width:100%;height:100%;position:fixed;top:0;left:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:.8s forwards fadeIn}.about-grid{grid-template-columns:1fr 2fr;align-items:center;gap:2rem;display:grid}@media (width<=992px){.about-grid{text-align:center;grid-template-columns:1fr}}nav{z-index:1000;width:100%;transition:var(--transition-smooth);justify-content:space-between;align-items:center;padding:1.5rem 5%;display:flex;position:fixed;top:0}nav.scrolled{background:rgba(var(--bg-primary), .8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 5%}.resume-btn:hover{border-color:var(--accent-emerald);transform:translateY(-2px);box-shadow:0 0 20px #50fa7b4d}.nav-links{align-items:center;gap:2rem;display:flex}.nav-links a{color:var(--text-primary);transition:var(--transition-smooth);opacity:.7;font-size:.9rem;font-weight:500;text-decoration:none}.nav-links a:hover{opacity:1;color:var(--accent-cyan)}.hamburger{color:var(--text-primary);cursor:pointer;z-index:2000;background:0 0;border:none;padding:.5rem;display:none}.hamburger i[data-lucide]{width:24px;height:24px}@media (width<=1024px){.hamburger{display:block!important}.nav-links{background:var(--bg-primary);z-index:1500;flex-direction:column;justify-content:center;align-items:center;width:80%;height:100vh;display:none;position:fixed;top:0;right:0}.nav-links.active{display:flex}.nav-links a{margin:1.5rem 0;font-size:1.5rem}}.theme-toggle{color:var(--text-primary);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.5rem;display:flex}.theme-toggle:hover{background:var(--bg-accent);color:var(--accent-cyan)}.contact-methods{justify-content:center;gap:2rem;margin-top:1rem;display:flex}.contact-link{color:var(--text-primary);transition:var(--transition-smooth);background:var(--bg-accent);border:1px solid var(--border-glass);border-radius:1rem;align-items:center;gap:.75rem;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;display:flex}.contact-icon{transition:var(--transition-smooth);justify-content:center;align-items:center;display:flex}.email-link:hover{color:var(--accent-cyan);border-color:var(--accent-cyan);box-shadow:0 5px 15px rgba(var(--accent-cyan-rgb), .2);transform:translateY(-5px)}.whatsapp-link .contact-icon{color:#25d366}.whatsapp-link:hover{border-color:#25d366;transform:translateY(-5px);box-shadow:0 5px 15px #25d36633}@media (width<=768px){.contact-methods{flex-direction:column;gap:1rem}.contact-link{justify-content:center;width:100%}}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:80px 5% 0;display:flex;position:relative}.hero-title{background:linear-gradient(135deg, var(--text-primary) 0%, var(--accent-cyan) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:1rem;font-size:clamp(3rem,8vw,6rem);font-weight:800;line-height:1}.hero-subtitle{color:var(--text-secondary);max-width:600px;margin-bottom:2rem;font-size:1.2rem}section{max-width:1200px;margin:0 auto;padding:60px 5%}.section-tag{color:var(--accent-cyan);text-transform:uppercase;margin-bottom:1rem;font-size:.8rem;font-weight:600;display:block}.section-title{margin-bottom:3rem;font-size:2.5rem;display:inline-block;position:relative}.section-title:after{content:"";background:var(--accent-cyan);border-radius:2px;width:50px;height:4px;position:absolute;bottom:-10px;left:0}.academic-grid{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.bento-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:180px;gap:1rem;display:grid}.bento-item{transition:var(--transition-smooth);flex-direction:column;justify-content:flex-end;padding:1.5rem;display:flex;position:relative;overflow:hidden}.bento-bg-img{z-index:-1;opacity:.15;filter:grayscale()contrast(120%);width:100%;height:100%;transition:var(--transition-smooth);background-position:50%;background-size:cover;position:absolute;top:0;left:0}.bento-item:hover .bento-bg-img{opacity:.25;filter:grayscale(0%)contrast(110%);transform:scale(1.05)}[data-theme=light] .bento-bg-img{opacity:.08;filter:grayscale()brightness(1.1)}[data-theme=light] .bento-item:hover .bento-bg-img{opacity:.12;filter:grayscale(0%)brightness()}.bento-item:hover{border-color:var(--accent-cyan);box-shadow:0 20px 40px rgba(var(--accent-cyan-rgb), .15);background:var(--bg-accent);transform:translateY(-5px)scale(1.01)}.bento-icon-box{color:var(--accent-cyan);background:var(--bg-accent);border:1px solid var(--border-glass);border-radius:.75rem;justify-content:center;align-items:center;width:45px;height:45px;margin-bottom:auto;display:flex}.bento-icon-box i{width:22px;height:22px}.bento-item h3{margin-bottom:.5rem;font-size:1.1rem;line-height:1.2}.bento-text{opacity:.7;font-size:.8rem;line-height:1.5}.bento-pills{gap:.5rem;margin-top:1rem;display:flex}.bento-pills span{background:var(--bg-accent);border:1px solid var(--border-glass);color:var(--accent-cyan);border-radius:2rem;padding:.2rem .6rem;font-size:.65rem}.bento-lg{grid-area:span 2/span 2}.bento-md{grid-column:span 2}@media (width<=1024px){.bento-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.hero{justify-content:center;min-height:85vh;padding-top:80px}.hero-socials{margin-bottom:2rem;margin-top:2rem!important}section{padding:25px 5%}#about .glass,.about-grid{display:block!important}.about-content{order:1;margin-top:2rem}.about-image{order:2;max-width:250px;margin:1.5rem auto 0}.hero-title{margin-bottom:.5rem;font-size:2.2rem}.hero-subtitle{margin-bottom:1.5rem;font-size:.9rem}.section-title{margin-bottom:1.5rem;font-size:1.8rem}.bento-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:.75rem}.bento-lg,.bento-md{grid-area:span 1/span 1}.academic-grid{gap:1.5rem;grid-template-columns:1fr!important}.academic-item{border-bottom:1px solid var(--border-glass);padding:1rem}.academic-item:last-child{border-bottom:none}}@media (width<=400px){.logo{letter-spacing:1px;font-size:.9rem}.logo span{opacity:.6;font-size:.7rem;display:block}.hero-title{font-size:1.8rem;line-height:1.1}.section-title{font-size:1.6rem}.section-tag{font-size:.6rem}}.project-tabs{border:1px solid var(--border-glass);background:var(--bg-accent);border-radius:2rem;gap:.5rem;margin-bottom:3rem;padding:.5rem;display:inline-flex}.tab-btn{color:var(--text-primary);cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:1.5rem;padding:.75rem 1.5rem;font-family:inherit;font-size:.9rem;transition:all .3s}.tab-btn:hover{opacity:1;background:var(--bg-accent)}.tab-btn.active{opacity:1;background:var(--accent-cyan);color:var(--bg-primary);font-weight:700;box-shadow:0 0 20px #00ffff4d}.category-grid{transition:all .5s cubic-bezier(.4,0,.2,1)}.category-grid.hidden{opacity:0;display:none;transform:translateY(20px)}.category-grid.visible{opacity:1;display:block;transform:translateY(0)}@media (width<=768px){.project-tabs{border-radius:1rem;flex-direction:column;width:100%;display:flex}.tab-btn{width:100%}}.placeholder-content{width:100%;height:100%;color:var(--accent-cyan);letter-spacing:2px;text-align:center;background:#00ffff0d;border:1px dashed #0ff3;border-radius:.5rem;justify-content:center;align-items:center;padding:1rem;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:0;left:0}.project-card{transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.project-card:hover{box-shadow:0 15px 30px rgba(var(--accent-cyan-rgb), .2);transform:translateY(-10px);border-color:var(--accent-cyan)!important}.project-card .video-container{border-radius:.5rem;transition:transform .4s;overflow:hidden}.project-card:hover .video-container{transform:scale(1.02)}.project-card:hover h3{color:var(--accent-cyan)}.project-card:hover a:hover{transform:scale(1.2)rotate(5deg)}.contact-link{transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.contact-link:hover{border-color:var(--accent-cyan);background:var(--bg-accent);transform:translateY(-5px);box-shadow:0 10px 25px #0ff3}.contact-link:hover .contact-icon{background:var(--accent-cyan);color:var(--bg-primary);transform:scale(1.1)rotate(5deg)}.resume-btn{transition:all .4s cubic-bezier(.175,.885,.32,1.275)!important}.resume-btn:hover{transform:translateY(-8px);box-shadow:0 15px 35px #10b98140;border-color:var(--accent-emerald)!important}.resume-btn:hover svg{color:var(--accent-emerald);transform:translateY(3px)}
