.navbar-container{width:100%;position:sticky;top:0;z-index:100;transition:background .3s ease,border-color .3s ease}.navbar--dark{background:#0a0f1da6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.1)}.navbar--light{background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(226,232,240,.8)}.navbar-inner{max-width:1200px;margin:0 auto;padding:16px 32px;display:flex;justify-content:space-between;align-items:center}.navbar-brand{font-size:1.25rem;font-weight:700;letter-spacing:-.03em;display:flex;align-items:center;gap:2px}.navbar--dark .navbar-brand{color:#fff}.navbar--light .navbar-brand{color:#0f172a}.brand-dot{color:#3b82f6;font-size:1.5rem;line-height:1}.header-links{display:flex;flex-direction:row;gap:24px;align-items:center}.nav-item{font-size:.95rem;font-weight:500;position:relative;padding:4px 0}.navbar--dark .nav-item{color:#fffc}.navbar--dark .nav-item:hover,.navbar--dark .nav-item.active{color:#fff}.navbar--light .nav-item{color:#475569}.navbar--light .nav-item:hover,.navbar--light .nav-item.active{color:#0f172a}.nav-item:after{content:"";position:absolute;bottom:-2px;left:0;width:0%;height:2px;background:#3b82f6;border-radius:2px;transition:width .25s ease}.nav-item.active:after,.nav-item:hover:after{width:100%}.github-logo{width:28px;height:28px;display:block;transition:transform .2s ease}.navbar--dark .github-logo{filter:invert(1)}.github-logo:hover{transform:scale(1.1)}.resume-btn{display:inline-flex;align-items:center;gap:4px;font-weight:600;font-size:.9rem;padding:8px 16px;border-radius:20px;transition:all .2s ease}.navbar--dark .resume-btn{background:#fff;color:#0f172a}.navbar--dark .resume-btn:hover{background:#f1f5f9;transform:translateY(-1px);box-shadow:0 4px 12px #fff3}.navbar--light .resume-btn{background:#0f172a;color:#fff}.navbar--light .resume-btn:hover{background:#1e293b;transform:translateY(-1px);box-shadow:0 4px 12px #0f172a33}.hamburger-btn{display:none}@media (max-width: 768px){.navbar-inner{padding:14px 20px}.hamburger-btn{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;z-index:1001;width:38px;height:38px;background:#0f172ae6;border-radius:8px;cursor:pointer;border:1px solid rgba(255,255,255,.15)}.hamburger-line{display:block;width:18px;height:2px;background:#fff;border-radius:2px;transition:transform .3s ease,opacity .3s ease}.hamburger-btn.is-open .hamburger-line:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger-btn.is-open .hamburger-line:nth-child(2){opacity:0}.hamburger-btn.is-open .hamburger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.header-links{display:none;position:fixed;inset:0;background:#0a0f1dfa;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);flex-direction:column;align-items:center;justify-content:center;gap:28px;z-index:1000;margin:0}.header-links.menu-open{display:flex}.header-links li .nav-item{color:#fff!important;font-size:1.25rem;font-weight:600}.header-links .github-logo{width:36px;height:36px;filter:invert(1)!important}.header-links .resume-btn{background-color:#fff!important;color:#0f172a!important;font-size:1.1rem!important;padding:12px 28px}}.terminal-card{background:#0d121ed9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);border-radius:16px;overflow:hidden;box-shadow:0 16px 40px #00000080,0 0 30px #3b82f61a;width:100%;max-width:520px;transition:transform .3s ease,border-color .3s ease}.terminal-card:hover{border-color:#3b82f666;transform:translateY(-2px)}.terminal-header{background:#0a0e17e6;padding:12px 16px;display:flex;align-items:center;gap:16px;border-bottom:1px solid rgba(255,255,255,.08)}.terminal-dots{display:flex;align-items:center;gap:6px}.dot{width:10px;height:10px;border-radius:50%}.dot-red{background:#ef4444}.dot-yellow{background:#f59e0b}.dot-green{background:#10b981}.terminal-tabs{display:flex;gap:6px;overflow-x:auto}.tab-btn{font-size:.75rem;font-family:Fira Code,Courier New,monospace;color:#64748b;padding:4px 10px;border-radius:6px;transition:all .2s ease}.tab-btn:hover{color:#cbd5e1;background:#ffffff0d}.tab-btn.active{color:#3b82f6;background:#3b82f61f;border:1px solid rgba(59,130,246,.3)}.terminal-body{padding:20px;max-height:320px;overflow-y:auto}.terminal-code{font-family:Fira Code,Cascadia Code,Consolas,Monaco,monospace;font-size:.85rem;line-height:1.6;color:#e2e8f0;white-space:pre-wrap;word-break:break-word}@media (max-width: 600px){.terminal-card{max-width:100%}.terminal-code{font-size:.78rem}}.hero-container{width:100%;display:flex;flex-direction:column}.hero-section1{max-width:1200px;margin:0 auto;padding:60px 40px 80px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;width:100%}.hero-left{display:flex;flex-direction:column;gap:24px}.hero-header-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.hero-avatar-wrapper{position:relative}.me-photo{width:90px;height:90px;border-radius:50%;object-fit:cover;display:block;border:2px solid rgba(59,130,246,.6);box-shadow:0 0 24px #3b82f659;transition:transform .4s ease}.me-photo:hover{transform:scale(1.08) rotate(3deg)}.status-badge{display:inline-flex;align-items:center;gap:8px;background:#10b9811a;border:1px solid rgba(16,185,129,.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:6px 14px;border-radius:20px;font-size:.82rem;font-weight:600;color:#10b981}.status-dot{width:8px;height:8px;border-radius:50%;background-color:#10b981;box-shadow:0 0 10px #10b981;animation:pulse-glow 2s infinite}@keyframes pulse-glow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.2)}}.hero-text{display:flex;flex-direction:column;gap:16px}.hero-greeting{font-size:1.1rem;font-weight:600;color:#3b82f6;letter-spacing:.02em;text-transform:uppercase}.role-title{font-weight:800;letter-spacing:-.04em;line-height:1.05;font-size:3.2rem;margin:0;color:#fff;background:linear-gradient(135deg,#fff,#cbd5e1);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-description{font-size:1.08rem;line-height:1.65;color:#94a3b8;max-width:520px}.hero-actions{display:flex;align-items:center;gap:16px;margin-top:12px;flex-wrap:wrap}.primary-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:30px;font-weight:600;font-size:.95rem;transition:all .25s ease;box-shadow:0 4px 20px #3b82f666}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px #3b82f699}.reach-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;background:#ffffff0f;color:#fff;border:1px solid rgba(255,255,255,.15);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:30px;font-weight:600;font-size:.95rem;transition:all .25s ease}.reach-btn:hover{background:#ffffff1f;border-color:#ffffff4d;transform:translateY(-2px)}.hero-right{display:flex;justify-content:flex-end;width:100%}@media (max-width: 960px){.hero-section1{grid-template-columns:1fr;gap:48px;padding:40px 24px 60px}.hero-right{justify-content:center}.role-title{font-size:2.6rem}}.footer-container{background:#0a0f1d;color:#94a3b8;padding:60px 40px 30px;border-top:1px solid rgba(255,255,255,.08);margin-top:auto}.footer-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}.footer-brand{max-width:380px}.footer-logo{font-size:1.35rem;font-weight:700;color:#fff;letter-spacing:-.03em;display:inline-block;margin-bottom:12px}.footer-tagline{font-size:.95rem;line-height:1.6;color:#94a3b8}.footer-links{display:flex;gap:60px;flex-wrap:wrap}.footer-col-title{color:#fff;font-size:.9rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:16px}.footer-col ul{display:flex;flex-direction:column;gap:10px}.footer-col a{color:#94a3b8;font-size:.95rem;transition:color .2s ease}.footer-col a:hover{color:#fff}.footer-bottom{max-width:1200px;margin:40px auto 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.copyright{font-size:.85rem;color:#64748b}.scroll-top-btn{font-size:.85rem;color:#94a3b8;font-weight:500;padding:6px 12px;border-radius:6px;background:#ffffff0d;transition:all .2s ease}.scroll-top-btn:hover{color:#fff;background:#ffffff1f}@media (max-width: 640px){.footer-container{padding:40px 20px 24px}.footer-inner{flex-direction:column;gap:32px}.footer-links{gap:40px}}:root{--font-main: "General Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg-dark: #090d16;--bg-card: #0f172a;--bg-glass: rgba(15, 23, 42, .75);--border-glass: rgba(255, 255, 255, .1);--border-glow: rgba(59, 130, 246, .35);--text-main: #f8fafc;--text-muted: #94a3b8;--primary-accent: #3b82f6;--purple-accent: #a855f7;--emerald-accent: #10b981;--transition-normal: .3s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;background-color:var(--bg-dark)}ul,ol{list-style:none}a{text-decoration:none;color:inherit;transition:all var(--transition-normal)}button{border:none;background:none;cursor:pointer;font:inherit}input,textarea{border:none;outline:none;font:inherit}body{line-height:1.6;background-color:var(--bg-dark);font-family:var(--font-main);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;top:-20%;left:-10%;width:120vw;height:120vh;background:radial-gradient(circle at 20% 20%,rgba(59,130,246,.15) 0%,transparent 40%),radial-gradient(circle at 80% 30%,rgba(168,85,247,.12) 0%,transparent 45%),radial-gradient(circle at 50% 80%,rgba(16,185,129,.1) 0%,transparent 50%);pointer-events:none;z-index:-2;animation:ambientMeshFloat 20s ease-in-out infinite alternate}body:after{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:-1}@keyframes ambientMeshFloat{0%{transform:scale(1) translate(0)}50%{transform:scale(1.08) translate(-20px,15px)}to{transform:scale(1.03) translate(15px,-20px)}}#root,.page-wrapper{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 0 auto}.app-bg{background-size:cover;background-position:center;background-repeat:no-repeat;position:relative;min-height:100vh;display:flex;flex-direction:column}.app-bg:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#090d16d9,#090d16f2);pointer-events:none}.glass-panel{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:16px}.work-page{max-width:1200px;margin:0 auto;padding:60px 40px 100px;width:100%}.work-header{margin-bottom:48px}.work-title-badge{font-size:.8rem;font-weight:700;letter-spacing:.1em;color:#3b82f6;text-transform:uppercase;margin-bottom:8px}.work-heading{font-weight:800;font-size:3.2rem;letter-spacing:-.04em;color:#f8fafc;margin-bottom:12px}.work-subheading{font-size:1.1rem;color:#94a3b8;max-width:640px;line-height:1.6;margin-bottom:32px}.filter-tabs{display:flex;gap:12px;flex-wrap:wrap}.filter-btn{font-size:.9rem;font-weight:600;color:#94a3b8;background:#0f172a99;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:8px 18px;border-radius:24px;transition:all .25s ease}.filter-btn:hover{color:#f8fafc;border-color:#3b82f666}.filter-btn.active{color:#fff;background:#3b82f6;border-color:#3b82f6;box-shadow:0 4px 16px #3b82f666}.bento-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.bento-card{position:relative;background:#0f172ab3;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:transform .35s cubic-bezier(.4,0,.2,1),border-color .35s ease,box-shadow .35s ease}.bento-card:hover{transform:translateY(-6px);border-color:#3b82f680;box-shadow:0 20px 40px #0006,0 0 24px #3b82f626}.bento-image-wrapper{position:relative;width:100%;aspect-ratio:16 / 10;overflow:hidden;background:#090d16}.bento-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease,filter .6s ease}.bento-card:hover .bento-img{transform:scale(1.08);filter:brightness(.9)}.bento-card-top-badges{position:absolute;top:16px;left:16px;display:flex;gap:8px;flex-wrap:wrap;z-index:2}.bento-badge{font-size:.72rem;font-weight:700;letter-spacing:.06em;padding:4px 10px;border-radius:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-transform:uppercase}.bento-badge.nda{color:#f8fafc;background:#0f172ad9;border:1px solid rgba(255,255,255,.2)}.bento-badge.featured{color:#fff;background:linear-gradient(135deg,#a855f7,#7c3aed);box-shadow:0 2px 10px #a855f766}.bento-overlay-icon{position:absolute;bottom:16px;right:16px;width:40px;height:40px;border-radius:50%;background:#0f172acc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:600;transition:background .3s ease,transform .3s ease}.bento-card:hover .bento-overlay-icon{background:#3b82f6;transform:scale(1.1);border-color:#3b82f6}.bento-content{padding:24px;display:flex;flex-direction:column;flex:1;gap:12px}.bento-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.bento-title{font-weight:700;font-size:1.35rem;color:#f8fafc;letter-spacing:-.02em;line-height:1.3}.bento-year{font-size:.8rem;font-weight:600;color:#3b82f6;background:#3b82f61a;border:1px solid rgba(59,130,246,.25);padding:2px 10px;border-radius:12px;white-space:nowrap}.bento-summary{font-size:.95rem;line-height:1.6;color:#94a3b8}.bento-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:12px}.bento-tag{font-size:.75rem;font-weight:600;color:#cbd5e1;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:3px 10px;border-radius:12px}@media (max-width: 760px){.work-page{padding:40px 20px 60px}.work-heading{font-size:2.2rem}.bento-grid{grid-template-columns:1fr;gap:20px}}.detail-page{max-width:1050px;margin:0 auto;padding:60px 40px 100px;width:100%}.detail-back{display:inline-flex;align-items:center;gap:6px;font-size:.95rem;font-weight:600;color:#94a3b8;margin-bottom:32px;transition:color .2s ease,transform .2s ease}.detail-back:hover{color:#3b82f6;transform:translate(-4px)}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:40px}.detail-title{font-weight:800;font-size:3.2rem;letter-spacing:-.04em;line-height:1.1;color:#f8fafc;margin-bottom:12px}.detail-meta{font-size:1.05rem;color:#94a3b8;font-weight:500}.detail-nda-badge{font-size:.8rem;font-weight:700;letter-spacing:.08em;color:#f8fafc;background:#0f172ad9;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:20px;padding:6px 14px;white-space:nowrap;margin-top:4px;flex-shrink:0}.detail-gallery-container,.detail-main-image-wrapper{margin-bottom:48px;width:100%}.detail-main-image-wrapper{border-radius:20px;overflow:hidden;box-shadow:0 16px 40px #00000080;border:1px solid rgba(255,255,255,.1);background:#090d16}.detail-main-img{width:100%;height:auto;display:block}.detail-thumbnails{display:flex;gap:12px;margin-top:16px;overflow-x:auto;padding-bottom:8px}.detail-thumb-btn{width:90px;height:60px;border-radius:10px;overflow:hidden;border:2px solid rgba(255,255,255,.1);background:#090d16;cursor:pointer;opacity:.5;transition:all .2s ease;flex-shrink:0}.detail-thumb-btn.active,.detail-thumb-btn:hover{opacity:1;border-color:#3b82f6;transform:translateY(-2px)}.detail-thumb-img{width:100%;height:100%;object-fit:contain;display:block}.detail-video-container{margin-bottom:48px}.detail-video-wrapper{border-radius:20px;overflow:hidden;box-shadow:0 16px 40px #00000080;border:1px solid rgba(255,255,255,.1);background:#000}.detail-video{width:100%;max-height:520px;display:block}.detail-body{display:grid;grid-template-columns:1fr 300px;gap:56px;margin-bottom:64px}.detail-section-title{font-weight:700;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;margin-bottom:16px}.detail-description{font-size:1.08rem;line-height:1.75;color:#cbd5e1;margin-bottom:20px}.detail-features-section{margin-top:36px}.detail-features{display:flex;flex-direction:column;gap:14px}.detail-features li{font-size:1.02rem;line-height:1.55;color:#cbd5e1;display:flex;align-items:flex-start;gap:10px}.feature-bullet{color:#3b82f6;font-weight:700;font-size:1.1rem}.detail-tech-card{background:#0f172ab3;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:24px;margin-bottom:24px}.detail-tech-group{margin-bottom:20px}.detail-tech-group:last-child{margin-bottom:0}.detail-tech-category{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;margin-bottom:8px}.detail-tech-tags{display:flex;flex-wrap:wrap;gap:6px}.detail-tech-tag{padding:4px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:20px;font-size:.82rem;font-weight:600;color:#f8fafc}.detail-links{display:flex;flex-direction:column;gap:12px}.detail-link-btn{display:flex;align-items:center;justify-content:center;padding:12px 20px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:24px;font-size:.95rem;font-weight:600;transition:all .25s ease}.detail-link-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f680}.detail-nda-card{margin-top:20px;padding:16px;background:#a855f71a;border:1px solid rgba(168,85,247,.3);border-radius:12px}.detail-nda-note{font-size:.85rem;color:#c084fc;line-height:1.5}.project-nav-footer{display:flex;justify-content:space-between;gap:20px;padding-top:40px;border-top:1px solid rgba(255,255,255,.1)}.project-nav-link{display:flex;flex-direction:column;gap:4px;padding:16px 20px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#0f172ab3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all .25s ease;max-width:45%}.project-nav-link.next{text-align:right;margin-left:auto}.project-nav-link:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.nav-dir{font-size:.8rem;font-weight:600;color:#3b82f6;text-transform:uppercase}.nav-title{font-size:1.1rem;font-weight:700;color:#f8fafc}.detail-page--themed .detail-school-badge{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#10b981;background:#10b9811f;border:1px solid rgba(16,185,129,.3);border-radius:20px;padding:4px 14px;margin-bottom:12px}.detail-page--themed .detail-title{color:#fff}.detail-page--themed .feature-bullet,.detail-page--themed .nav-dir{color:#10b981}@media (max-width: 768px){.detail-page{padding:40px 20px 60px}.detail-title{font-size:2.2rem}.detail-body{grid-template-columns:1fr;gap:36px}.project-nav-footer{flex-direction:column}.project-nav-link{max-width:100%}.project-nav-link.next{text-align:left}}
