body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#e6edf3;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}:root{--bg-primary:#0d1117;--bg-secondary:#161b22;--bg-tertiary:#21262d;--accent:#58a6ff;--accent-green:#3fb950;--accent-cyan:#79c0ff;--text-primary:#e6edf3;--text-secondary:#8b949e;--border:#30363d;--radius:8px}*{box-sizing:border-box}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}a{color:#58a6ff;color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#0d1117;background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#30363d;background:var(--border);border-radius:3px}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;caret-color:#0000;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.navbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0d1117f2;border-bottom:1px solid var(--border);font-size:1rem;justify-content:center;position:sticky;top:0;z-index:999}.navbar,.navbar-container{align-items:center;display:flex;height:70px}.navbar-container{justify-content:space-between;max-width:1200px;padding:0 2rem;width:100%}.navbar-brand{align-items:center;cursor:pointer;display:flex;gap:10px;text-decoration:none}.navbar-brand-name{color:var(--text-primary);font-size:1.1rem;font-weight:600;letter-spacing:.3px}.navbar-brand-name span{color:var(--accent)}.nav-menu{align-items:center;display:flex;gap:4px;list-style:none;margin:0;padding:0}.nav-item{height:auto}.nav-links{align-items:center;border-radius:var(--radius);color:var(--text-secondary);display:flex;font-size:.9rem;font-weight:500;padding:6px 14px;text-decoration:none;transition:color .2s,background .2s}.nav-links:hover{background:var(--bg-tertiary);color:var(--text-primary);text-decoration:none}.nav-links.active{background:#58a6ff1a;color:var(--accent)}.nav-links-awards{background:var(--accent);border-radius:var(--radius);color:var(--text-primary);font-size:.9rem;font-weight:600;padding:6px 16px;text-decoration:none;transition:opacity .2s}.nav-links-awards:hover{opacity:.85;text-decoration:none}.menu-icon{color:var(--text-primary);cursor:pointer;display:none;font-size:1.5rem}@media screen and (max-width:960px){.menu-icon{display:block;position:absolute;right:1.5rem;top:50%;transform:translateY(-50%)}.nav-menu{background:var(--bg-secondary);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:4px;left:-100%;padding:1rem 0;position:absolute;top:70px;transition:left .3s ease;width:100%}.nav-menu.active{left:0}.nav-links{border-radius:0;justify-content:center;padding:12px 2rem;width:100%}.nav-links-awards{border-radius:var(--radius);margin:8px 2rem;text-align:center}}.hero-container{align-items:center;background:radial-gradient(ellipse at 20% 50%,#58a6ff14 0,#0000 60%),radial-gradient(ellipse at 80% 20%,#3fb9500f 0,#0000 50%),var(--bg-primary);display:flex;flex-direction:column;justify-content:center;min-height:100vh;overflow:hidden;padding:2rem;position:relative;text-align:center;width:100%}.hero-container:before{background-image:radial-gradient(circle,#58a6ff0a 1px,#0000 0);background-size:40px 40px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.hero-badge{align-items:center;background:#3fb9501a;border:1px solid #3fb9504d;border-radius:20px;color:var(--accent-green);display:inline-flex;font-size:.8rem;font-weight:600;gap:6px;letter-spacing:1px;margin-bottom:1.5rem;padding:4px 14px;text-transform:uppercase}.hero-badge-dot{animation:pulse 2s infinite;background:var(--accent-green);border-radius:50%;height:6px;width:6px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.hero-container h1{color:var(--text-primary);font-size:clamp(2.5rem,6vw,5rem);font-weight:800;letter-spacing:-1px;line-height:1.1;margin:0 0 .5rem}.hero-container h1 span{color:var(--accent)}.hero-role-wrapper{height:2.5rem;margin-bottom:1.5rem;overflow:hidden}.hero-role{animation:slideUp .4s ease forwards;color:var(--text-secondary);font-size:clamp(1rem,2.5vw,1.4rem);font-weight:400}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-description{color:var(--text-secondary);font-size:1rem;line-height:1.7;margin:0 auto 2.5rem;max-width:520px}.hero-stats{display:flex;flex-wrap:wrap;gap:2.5rem;justify-content:center;margin-bottom:2.5rem}.hero-stat{text-align:center}.hero-stat-number{color:var(--text-primary);display:block;font-size:1.8rem;font-weight:800;line-height:1}.hero-stat-label{color:var(--text-secondary);font-size:.75rem;letter-spacing:1px;margin-top:4px;text-transform:uppercase}.hero-stat-link{text-decoration:none;transition:transform .2s}.hero-stat-link:hover{text-decoration:none;transform:translateY(-2px)}.hero-stat-link:hover .hero-stat-citations{color:#4285f4}.hero-stat-citations{transition:color .2s}.hero-btns{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.hero-btn-primary{align-items:center;background:var(--accent);border-radius:var(--radius);color:#0d1117;display:inline-flex;font-size:.95rem;font-weight:700;gap:8px;padding:12px 28px;text-decoration:none;transition:opacity .2s,transform .2s}.hero-btn-primary:hover{color:#0d1117;opacity:.9;text-decoration:none;transform:translateY(-2px)}.hero-btn-secondary{align-items:center;background:#0000;border:1px solid var(--border);border-radius:var(--radius);display:inline-flex;font-size:.95rem;font-weight:600;gap:8px;padding:12px 28px;transition:border-color .2s,transform .2s,background .2s}.hero-btn-secondary,.hero-btn-secondary:hover{color:var(--text-primary);text-decoration:none}.hero-btn-secondary:hover{background:#58a6ff14;border-color:var(--accent);transform:translateY(-2px)}.hero-scroll-hint{align-items:center;animation:bounce 2s infinite;bottom:2rem;color:var(--text-secondary);display:flex;flex-direction:column;font-size:.75rem;gap:6px;left:50%;position:absolute;transform:translateX(-50%)}@keyframes bounce{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(6px)}}@media screen and (max-width:768px){.hero-stats{gap:1.5rem}.hero-stat-number{font-size:1.4rem}}.pm-section{background:linear-gradient(135deg,#58a6ff0a 0,#ff99000a 100%),var(--bg-secondary);border-bottom:1px solid var(--border);border-top:1px solid var(--border);overflow:hidden;padding:4rem 2rem;position:relative;text-align:center}.pm-section:before{background:radial-gradient(ellipse at 50% 0,#ff99000f 0,#0000 65%);content:"";inset:0;pointer-events:none;position:absolute}.pm-badge{align-items:center;background:#ff99001f;border:1px solid #ff990059;border-radius:20px;color:#f5a623;display:inline-flex;font-size:.78rem;font-weight:700;gap:8px;letter-spacing:1.2px;margin-bottom:1.25rem;padding:5px 16px;text-transform:uppercase}.pm-title{color:var(--text-primary);font-size:clamp(1.6rem,4vw,2.6rem);font-weight:800;letter-spacing:-.5px;margin:0 0 .75rem}.pm-subtitle{color:var(--text-secondary);font-size:1rem;line-height:1.7;margin:0 auto 2.5rem;max-width:560px}.pm-subtitle strong{color:var(--text-primary)}.pm-photos{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:0 auto;max-width:960px}.pm-photo-btn{aspect-ratio:4/3;background:none;border:none;border-radius:var(--radius);box-shadow:0 4px 20px #0006;cursor:pointer;flex:1 1 280px;max-width:340px;overflow:hidden;padding:0;position:relative;transition:transform .25s,box-shadow .25s}.pm-photo-btn:hover{box-shadow:0 12px 36px #0009;transform:translateY(-5px) scale(1.01)}.pm-photo{display:block;height:100%;object-fit:cover;transition:filter .25s;width:100%}.pm-photo-overlay{align-items:center;background:#0d111700;color:#fff;display:flex;font-size:1.4rem;inset:0;justify-content:center;opacity:0;position:absolute;transition:background .25s}.pm-photo-btn:hover .pm-photo-overlay{background:#0d111759;opacity:1}.pm-caption{color:var(--text-secondary);font-size:.82rem;letter-spacing:.5px;margin-top:1.5rem}.pm-lightbox{align-items:center;animation:fadeIn .2s ease;background:#000000eb;cursor:zoom-out;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:9999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pm-lightbox-img{border-radius:var(--radius);box-shadow:0 0 60px #000c;max-height:88vh;max-width:90vw;object-fit:contain}.pm-lightbox-close{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:40px;justify-content:center;position:fixed;right:1.5rem;top:1.5rem;transition:background .2s;width:40px;z-index:10000}.pm-lightbox-close:hover{background:#fff3}@media screen and (max-width:640px){.pm-photos{align-items:center;flex-direction:column}.pm-photo-btn{max-width:100%}}.projects-section{background:var(--bg-primary);padding:5rem 2rem}.projects-section-header{margin-bottom:3rem;text-align:center}.projects-section-header h2{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0 0 .5rem}.projects-section-header p{color:var(--text-secondary);font-size:1rem}.projects-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin:0 auto;max-width:1100px}.project-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:border-color .2s,transform .2s}.project-card:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-4px)}.project-card-image{display:block;height:180px;object-fit:cover;width:100%}.project-card-body{display:flex;flex:1 1;flex-direction:column;padding:1.25rem}.project-card-label{background:#58a6ff1a;border:1px solid #58a6ff40;border-radius:20px;color:var(--accent);display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.5px;margin-bottom:.75rem;padding:2px 10px;text-transform:uppercase}.project-card-title{color:var(--text-primary);font-size:1rem;font-weight:600;line-height:1.4;margin:0 0 .5rem}.project-card-year{color:var(--text-secondary);font-size:.8rem;margin-top:auto;padding-top:.75rem}.footer-container{background:var(--bg-secondary);border-top:1px solid var(--border);padding:2.5rem 2rem}.footer-inner{align-items:center;display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:900px;text-align:center}.footer-name{color:var(--text-primary);font-size:1.1rem;font-weight:700;margin:0}.footer-name span{color:var(--accent)}.footer-tagline{color:var(--text-secondary);font-size:.85rem;margin:.25rem 0 0}.footer-links-row{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.footer-link{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);display:inline-flex;font-size:.85rem;gap:6px;padding:6px 14px;text-decoration:none;transition:color .2s,border-color .2s}.footer-link:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.footer-divider{border:none;border-top:1px solid var(--border);margin:0;width:100%}.footer-bottom{color:var(--text-secondary);font-size:.8rem}.aboutme-page{align-items:center;background:var(--bg-primary);display:flex;justify-content:center;min-height:100vh;padding:5rem 2rem}.aboutme-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;max-width:700px;padding:3rem;text-align:center;width:100%}.aboutme-avatar{margin:0 auto 1.5rem}.aboutme-name{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0 0 .5rem}.aboutme-title{color:var(--accent);font-size:1rem;font-weight:600;margin-bottom:.4rem}.aboutme-location{color:var(--text-secondary);font-size:.9rem;margin-bottom:2rem}.aboutme-location i{margin-right:4px}.aboutme-divider{border:none;border-top:1px solid var(--border);margin:1.5rem 0}.aboutme-tags{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-bottom:2rem}.aboutme-tag{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);font-size:.82rem;padding:4px 14px}.aboutme-interests{margin-bottom:2rem}.aboutme-interests h3{color:var(--text-primary);font-size:.85rem;font-weight:600;letter-spacing:1px;margin-bottom:.75rem;text-transform:uppercase}.aboutme-interest-list{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.aboutme-interest{align-items:center;color:var(--text-secondary);display:flex;font-size:.9rem;gap:6px}.aboutme-interest i{color:var(--accent)}.aboutme-links{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.aboutme-link{align-items:center;border-radius:var(--radius);display:inline-flex;font-size:.9rem;font-weight:600;gap:8px;padding:10px 20px;text-decoration:none;transition:transform .2s,opacity .2s}.aboutme-link:hover{opacity:.85;text-decoration:none;transform:translateY(-2px)}.aboutme-link-linkedin{background:#0077b5;color:#fff}.aboutme-link-github{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary)}.aboutme-link-email{background:#58a6ff1a;border:1px solid #58a6ff4d;color:var(--accent)}.intro-section{background:var(--bg-primary);padding:4rem 2rem 2rem}.intro-inner{align-items:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;display:flex;gap:2rem;margin:0 auto;max-width:860px;padding:2.5rem}.intro-avatar{flex-shrink:0}.intro-name{color:var(--text-primary);font-size:1.8rem;font-weight:700;margin:0 0 .3rem}.intro-role{color:var(--accent);font-size:.95rem;font-weight:600;margin:0 0 .75rem}.intro-bio{color:var(--text-secondary);font-size:.9rem;line-height:1.7;margin:0 0 1.25rem}.intro-quick-links{display:flex;flex-wrap:wrap;gap:.75rem}.intro-quick-link{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);display:inline-flex;font-size:.85rem;gap:6px;padding:5px 12px;text-decoration:none;transition:color .2s,border-color .2s}.intro-quick-link:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}@media screen and (max-width:600px){.intro-inner{flex-direction:column;text-align:center}.intro-quick-links{justify-content:center}}.section-block{margin:0 auto 1.5rem;max-width:860px;padding:2rem}.section-block-title{align-items:center;color:var(--text-primary);display:flex;font-size:1.1rem;font-weight:700;gap:10px;letter-spacing:1px;margin:0 0 1.25rem;text-transform:uppercase}.section-block-title:after{background:var(--border);content:"";flex:1 1;height:1px}.timeline{display:flex;flex-direction:column;gap:1rem}.timeline-item{background:var(--bg-secondary);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);padding:1.25rem 1.5rem;transition:border-left-color .2s}.timeline-item:hover{border-left-color:var(--accent-green)}.timeline-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.timeline-role{color:var(--text-primary);font-size:1rem;font-weight:700;margin:0}.timeline-company{color:var(--accent);font-size:.9rem;font-weight:600;margin:.2rem 0 .4rem}.timeline-duration{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);font-size:.78rem;padding:3px 10px;white-space:nowrap}.timeline-desc{color:var(--text-secondary);font-size:.88rem;line-height:1.6;margin:0 0 .75rem}.timeline-tags{display:flex;flex-wrap:wrap;gap:.4rem}.timeline-tag{background:#58a6ff14;border:1px solid #58a6ff33;border-radius:20px;color:var(--accent);font-size:.72rem;font-weight:600;padding:2px 10px}.skills-section{margin:0 auto 1.5rem;max-width:860px;padding:0 2rem 2rem}.skills-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.skills-group{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.skills-group-title{color:var(--text-secondary);font-size:.78rem;font-weight:700;letter-spacing:1px;margin:0 0 .75rem;text-transform:uppercase}.skills-tags{display:flex;flex-wrap:wrap;gap:.4rem}.skill-tag{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:20px;color:var(--text-primary);font-size:.8rem;font-weight:500;padding:4px 12px;transition:border-color .2s,color .2s}.skill-tag:hover{border-color:var(--accent);color:var(--accent)}.skill-tag-pip{background:#3fb95014;border-color:#3fb95040;color:var(--accent-green);font-family:monospace;font-size:.78rem}body{background-color:#0d1117;color:#0d1117;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0;padding:0}.project-container{background-color:#161b22;border:1px solid #30363d;border-radius:6px;box-shadow:0 1px 3px #1b1f231f,0 1px 2px #1b1f233d;margin-top:20px;padding:20px}.project-title{color:#58a6ff;font-size:24px;font-weight:700;margin-bottom:16px}.project-description{color:#0f1011;font-size:16px;margin-bottom:20px}.project-dates,.project-owner,.project-skills{color:#0a0d0f;font-size:14px;margin-bottom:10px}.skill-list{list-style-type:none;padding:0}.skill-item{background-color:#21262d;border-radius:3px;color:#c9d1d9;display:inline-block;font-size:14px;margin:5px;padding:5px 10px}.links-section{margin-top:20px}.link-item{align-items:center;color:#58a6ff;display:flex;margin-bottom:10px;text-decoration:none}.link-item:hover{text-decoration:underline}.link-icon{margin-right:10px}.section{margin-top:20px}.language-icons{flex-wrap:wrap}.language-icon,.language-icons{align-items:center;display:flex}.language-icon{margin-bottom:10px;margin-right:10px}.language-icon svg{height:auto;margin-right:5px;width:30px}.embedded-video{height:400px;width:100%}.video-container{padding-bottom:56.25%;position:relative;width:100%}.video-container iframe{height:100%;left:0;position:absolute;top:0;width:100%}.screenshot{margin-top:10px;width:100%}.avatar-container{background-color:#161b22;border:1px solid #30363d;border-radius:6px;box-shadow:0 1px 3px #1b1f231f,0 1px 2px #1b1f233d;margin-top:20px;padding:10px}.avatar-container .MuiCardContent-root{align-items:center;display:flex;flex-direction:column}.avatar-container .MuiAvatar-root{height:64px;margin-bottom:10px;width:64px}@media (max-width:600px){.embedded-video{height:200px}}h1{color:#c9d1d9}.awards-page{background:var(--bg-primary);min-height:100vh;padding:4rem 2rem}.awards-header{margin-bottom:3rem;text-align:center}.awards-header h1{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0 0 .5rem}.awards-header p{color:var(--text-secondary)}.awards-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin:0 auto 4rem;max-width:900px}.award-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:border-color .2s,transform .2s}.award-card:hover{border-color:gold;text-decoration:none;transform:translateY(-4px)}.award-card-image-wrap{position:relative}.award-card-image{display:block;height:200px;object-fit:cover;width:100%}.award-card-badge{background:#ffd700e6;border-radius:20px;color:#1a1a1a;font-size:.75rem;font-weight:700;padding:4px 12px;position:absolute;right:12px;top:12px}.award-card-body{padding:1.25rem}.award-card-title{color:var(--text-primary);font-size:1rem;font-weight:700;margin:0 0 .5rem}.award-card-desc{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0 0 1rem}.award-card-link{color:var(--accent);font-size:.85rem;font-weight:600}.gallery-container{align-items:center;display:flex;height:100%;justify-content:center}.gallery-card{box-shadow:0 4px 8px #0000001a;height:100%;overflow:hidden;transition:transform .3s ease-in-out;width:100%}.gallery-card img{object-fit:cover;vertical-align:middle;width:100%}@media (min-width:768px){.gallery-container{margin:0 auto;max-width:600px}}.publications-page{background:var(--bg-primary);min-height:100vh;padding:4rem 2rem}.publications-header{margin-bottom:3rem;text-align:center}.publications-header h1{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0 0 .5rem}.publications-header p{color:var(--text-secondary)}.publications-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));margin:0 auto;max-width:1000px}.pub-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:border-color .2s,transform .2s}.pub-card:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-4px)}.pub-card-image{height:160px;object-fit:cover;width:100%}.pub-card-body{display:flex;flex:1 1;flex-direction:column;padding:1.25rem}.pub-card-domain{background:#58a6ff1a;border:1px solid #58a6ff40;border-radius:20px;color:var(--accent);display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.5px;margin-bottom:.75rem;padding:2px 10px;text-transform:uppercase}.pub-card-title{color:var(--text-primary);font-size:.95rem;font-weight:700;line-height:1.4;margin:0 0 .75rem}.pub-card-meta{display:flex;gap:1rem;margin-top:auto}.pub-card-stat{align-items:center;color:var(--text-secondary);display:flex;font-size:.8rem;gap:5px}.pub-card-stat i{color:var(--accent)}.pub-card-publisher{color:var(--text-secondary);font-size:.78rem;font-style:italic;margin-top:.5rem}.scholar-badge{align-items:center;background:#4285f41a;border:1px solid #4285f459;border-radius:40px;display:inline-flex;gap:10px;margin-top:1.25rem;padding:10px 20px;transition:background .2s,transform .2s}.scholar-badge,.scholar-badge:hover{color:var(--text-primary);text-decoration:none}.scholar-badge:hover{background:#4285f42e;transform:translateY(-2px)}.scholar-icon{color:#4285f4;flex-shrink:0;height:20px;width:20px}.scholar-badge-text{color:var(--text-secondary);font-size:.9rem}.scholar-badge-text strong{color:#4285f4;font-size:1rem}.scholar-badge-arrow{color:#4285f4;font-size:.9rem}.publication-detail{font-family:Arial,sans-serif;margin:0 auto;max-width:800px;padding:20px}.publication-detail img.detail-image{border-radius:5px;height:auto;margin-bottom:20px;max-width:100%}.publication-detail h1{margin-bottom:20px;text-align:center}.publication-detail p{margin:10px 0}.detail-section{margin-bottom:20px}.detail-section h2{margin-bottom:10px}.detail-section p{margin:0}.games-page{background:var(--bg-primary);min-height:100vh;padding:4rem 2rem}.games-page h1{color:var(--text-primary);font-size:2rem;font-weight:700;margin:0 0 .5rem;text-align:center}.games-subtitle{color:var(--text-secondary);margin-bottom:3rem;text-align:center}.games-list{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin:0 auto;max-width:900px}.game-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:.5rem;padding:1.75rem;transition:border-color .2s,transform .2s}.game-card:hover{border-color:var(--accent);transform:translateY(-3px)}.game-card-icon{font-size:2.5rem;margin-bottom:.5rem}.game-card h2{color:var(--text-primary);font-size:1.1rem;font-weight:700;margin:0}.game-card p{color:var(--text-secondary);flex:1 1;font-size:.875rem;line-height:1.5;margin:0}.play-button{align-self:flex-start;background:var(--accent);border:none;border-radius:var(--radius);color:#0d1117;cursor:pointer;font-size:.875rem;font-weight:700;margin-top:1rem;padding:9px 20px;transition:opacity .2s}.play-button:hover{opacity:.85}.play-button:disabled{background:var(--bg-tertiary);color:var(--text-secondary);cursor:not-allowed;opacity:1}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:20px;position:relative}.modal-close{background:none;border:none;cursor:pointer;font-size:18px;position:absolute;right:10px;top:10px}.apps-page{background:var(--bg-primary);min-height:100vh;padding:4rem 2rem 2rem}.apps-section-header{margin-bottom:2.5rem;text-align:center}.apps-badge{align-items:center;background:#3fb9501a;border:1px solid #3fb9504d;border-radius:20px;color:var(--accent-green);display:inline-flex;font-size:.75rem;font-weight:700;gap:7px;letter-spacing:1px;margin-bottom:1rem;padding:4px 14px;text-transform:uppercase}.apps-badge-games{background:#58a6ff1a;border-color:#58a6ff4d;color:var(--accent)}.apps-section-header h1,.apps-section-header h2{color:var(--text-primary);font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800;margin:0 0 .5rem}.apps-section-header p{color:var(--text-secondary);font-size:.95rem}.apps-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin:0 auto;max-width:1000px}.app-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:border-color .2s,transform .2s}.app-card:hover{border-color:var(--accent-green);text-decoration:none;transform:translateY(-4px)}.app-card-image-wrap{position:relative}.app-card-image{display:block;height:180px;object-fit:cover;width:100%}.app-card-year{background:#0d1117bf;border-radius:12px;color:var(--text-secondary);font-size:.72rem;font-weight:600;padding:3px 9px;position:absolute;right:10px;top:10px}.app-card-body{display:flex;flex:1 1;flex-direction:column;gap:.5rem;padding:1.25rem}.app-card-tags{display:flex;flex-wrap:wrap;gap:6px}.app-tag{background:#58a6ff14;border:1px solid #58a6ff33;border-radius:12px;color:var(--accent);font-size:.68rem;font-weight:600;letter-spacing:.4px;padding:2px 9px;text-transform:uppercase}.app-card-title{color:var(--text-primary);font-size:1rem;font-weight:700;margin:0}.app-card-desc{color:var(--text-secondary);flex:1 1;font-size:.85rem;line-height:1.6;margin:0}.app-card-cta{color:var(--accent-green);font-size:.82rem;font-weight:600;margin-top:auto;padding-top:.5rem}.app-card-placeholder{align-items:center;background:var(--bg-secondary);border:1px dashed var(--border);display:flex;flex-direction:column;gap:.75rem;justify-content:center;min-height:220px;padding:2rem}.app-card-placeholder:hover{border-color:var(--border);transform:none}.app-placeholder-icon{font-size:2.5rem}.app-card-placeholder p{color:var(--text-secondary);font-size:.875rem;margin:0}.apps-divider{background:var(--border);height:1px;margin:4rem auto;max-width:1000px}.games-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin:0 auto;max-width:900px}.mini-game-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:.5rem;padding:1.75rem;transition:border-color .2s,transform .2s}.mini-game-card:hover{border-color:var(--accent);transform:translateY(-3px)}.mini-game-icon{font-size:2.5rem;margin-bottom:.25rem}.mini-game-card h3{color:var(--text-primary);font-size:1.05rem;font-weight:700;margin:0}.mini-game-card p{color:var(--text-secondary);flex:1 1;font-size:.85rem;line-height:1.5;margin:0}.mini-play-btn{align-self:flex-start;background:var(--accent);border:none;border-radius:var(--radius);color:#0d1117;cursor:pointer;font-size:.875rem;font-weight:700;margin-top:1rem;padding:9px 20px;transition:opacity .2s}.mini-play-btn:hover{opacity:.85}.mini-play-btn:disabled{background:var(--bg-tertiary);color:var(--text-secondary);cursor:not-allowed;opacity:1}
/*# sourceMappingURL=main.606bd9c6.css.map*/