@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap";.app{min-height:100vh;background:var(--bg-color);display:flex;flex-direction:column;padding-top:82px;transition:background-color .3s ease}.hero-section{display:flex;flex-direction:row;align-items:center;justify-content:center;min-height:calc(100vh - 82px);padding:2rem;gap:2rem}.hero-logo{height:300px;width:auto}.hero-title{font-size:5rem;font-weight:400;color:var(--text-secondary);margin:0;line-height:300px;transition:color .3s ease}@media (max-width: 1024px){.hero-logo{height:250px}.hero-title{font-size:4rem;line-height:250px}}@media (max-width: 768px){.hero-section{flex-direction:row;padding:1.5rem;gap:1rem}.hero-logo{height:100px}.hero-title{font-size:1.8rem;line-height:1.2;text-align:left}}@media (max-width: 480px){.hero-section{padding:1rem;gap:.75rem}.hero-logo{height:70px}.hero-title{font-size:1.3rem}}.main-header{display:flex;justify-content:space-between;align-items:center;padding:24px 40px;background:var(--header-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:fixed;top:0;left:0;width:100%;box-sizing:border-box;z-index:1000;border-bottom:1px solid var(--border-color);transition:background .3s ease,border-color .3s ease}.header-title{color:var(--text-color);text-decoration:none;display:flex;align-items:center;gap:1rem;transition:opacity .2s}.header-title:hover{opacity:.8}.header-logo{height:50px;width:auto;filter:invert(var(--logo-invert, 0));transition:filter .3s ease}.dark-mode .header-logo{--logo-invert: 1}.logo-text{color:var(--text-color);font-size:1.5rem;font-weight:400;white-space:nowrap;transition:color .3s ease}.header-nav{display:flex;gap:0;margin-right:8px}.header-right{display:flex;align-items:center;gap:0}.nav-link{color:var(--text-color);text-decoration:none;font-size:1.1rem;font-weight:300;padding:0 16px;border:1px solid var(--border-color);border-radius:0;transition:all .2s;height:36px;display:flex;align-items:center;gap:.5rem;box-sizing:border-box;background-color:var(--header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-link:hover{text-decoration:none;border-color:var(--border-color-hover);background-color:var(--header-bg-hover);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.contact-btn svg{width:20px;height:20px}.theme-toggle{background:var(--header-bg);border:1px solid var(--border-color);color:var(--text-color);cursor:pointer;padding:8px;height:36px;width:36px;display:flex;align-items:center;justify-content:center;transition:all .2s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-left:8px}.theme-toggle:hover{border-color:var(--border-color-hover);background-color:var(--header-bg-hover)}.theme-toggle svg{width:20px;height:20px}.hamburger-btn{display:none;flex-direction:column;justify-content:space-around;width:36px;height:36px;background:transparent;border:1px solid var(--border-color);cursor:pointer;padding:8px;z-index:1001;transition:border-color .2s}.hamburger-btn:hover{border-color:var(--border-color-hover)}.hamburger-line{width:100%;height:2px;background-color:var(--text-color);transition:all .3s ease;transform-origin:center}.hamburger-line.open:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width: 768px){.main-header{padding:24px 20px}.hamburger-btn{display:flex}.header-nav{position:fixed;top:84px;right:-100%;width:100%;height:calc(100vh - 84px);background:var(--header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;padding:20px;transition:right .3s ease,background .3s ease;overflow-y:auto}.header-nav.mobile-open{right:0}.header-right{flex-direction:column;width:100%;gap:0}.nav-link{width:100%;justify-content:center;margin-bottom:0}.header-logo{height:35px}.logo-text{font-size:1rem}}.hero-section{position:relative;overflow:hidden}.hero-title-wrapper{position:relative;display:inline-block;z-index:2}.hero-title{position:relative;z-index:2}.galaxy-spiral{position:absolute;top:50%;left:50%;width:120%;height:120%;transform:translate(-50%,-50%);pointer-events:none;z-index:1;opacity:.5;transition:filter .3s ease}.spiral-svg{width:100%;height:100%;animation:organic-movement 45s ease-in-out infinite;transform-origin:center}.spiral-path{transform-origin:200px 200px;filter:blur(.5px);animation:spiral-rotate-1 73s ease-in-out infinite}.spiral-path-2{animation:spiral-rotate-2 89s ease-in-out infinite reverse}.spiral-path-3{animation:spiral-rotate-3 67s ease-in-out infinite}@keyframes organic-movement{0%{transform:rotate(0) scale(1) translate(0)}20%{transform:rotate(72deg) scale(1.05) translate(2%,-1%)}40%{transform:rotate(144deg) scale(.98) translate(-1%,2%)}60%{transform:rotate(216deg) scale(1.02) translate(1%,1%)}80%{transform:rotate(288deg) scale(.99) translate(-2%,-1%)}to{transform:rotate(360deg) scale(1) translate(0)}}@keyframes spiral-rotate-1{0%{transform:rotate(0) scale(1)}25%{transform:rotate(-90deg) scale(1.1)}50%{transform:rotate(-180deg) scale(.95)}75%{transform:rotate(-270deg) scale(1.05)}to{transform:rotate(-360deg) scale(1)}}@keyframes spiral-rotate-2{0%{transform:rotate(0) scale(1)}30%{transform:rotate(108deg) scale(.9)}60%{transform:rotate(216deg) scale(1.15)}to{transform:rotate(360deg) scale(1)}}@keyframes spiral-rotate-3{0%{transform:rotate(0) scale(1)}15%{transform:rotate(-54deg) scale(1.08)}35%{transform:rotate(-126deg) scale(.92)}55%{transform:rotate(-198deg) scale(1.12)}75%{transform:rotate(-270deg) scale(.88)}to{transform:rotate(-360deg) scale(1)}}@media (max-width: 768px){.galaxy-spiral{width:150%;height:150%;opacity:.4}.spiral-svg{animation-duration:55s}.spiral-path{animation-duration:85s}.spiral-path-2{animation-duration:105s}.spiral-path-3{animation-duration:75s}}@media (max-width: 480px){.galaxy-spiral{width:180%;height:180%;opacity:.3}.spiral-svg{animation-duration:65s}.spiral-path{animation-duration:95s}.spiral-path-2{animation-duration:115s}.spiral-path-3{animation-duration:85s}}.profile-content{padding:4rem 2rem;max-width:1200px;margin:0 auto}.profile-title{font-size:3rem;font-weight:400;margin:0 0 .5rem;color:var(--text-color);transition:color .3s ease}.profile-subtitle{font-size:1.25rem;color:var(--text-tertiary);margin-bottom:3rem;transition:color .3s ease}.profile-container{display:flex;flex-direction:column;gap:3rem}.profile-section{background:var(--card-bg);border-radius:0;padding:2rem;box-shadow:0 2px 8px var(--card-shadow);transition:box-shadow .3s ease,background .3s ease,border-color .3s ease;border:1px solid var(--border-color)}.profile-section:hover{box-shadow:0 4px 16px var(--card-shadow-hover)}.section-title{color:var(--text-color);font-size:1.75rem;font-weight:400;margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-color);transition:color .3s ease,border-color .3s ease}.section-content{display:flex;flex-direction:column;gap:1.25rem}.entry{padding:1.25rem;background:var(--card-bg);border-radius:0;border:1px solid var(--border-color);transition:all .2s ease}.entry-with-logo{display:flex;align-items:center;gap:1.5rem}.entry-logo{width:60px;height:60px;object-fit:contain;flex-shrink:0;filter:invert(var(--logo-invert, 0));transition:filter .3s ease}.dark-mode .entry-logo{--logo-invert: 1}.entry-content{flex:1}.entry:hover{background:var(--header-bg);border-left-color:var(--border-color-hover)}.entry.compact{padding:1rem}.entry-title{color:var(--text-color);font-size:1.125rem;font-weight:400;margin:0 0 .5rem;transition:color .3s ease}.entry-subtitle{color:var(--text-tertiary);font-size:.95rem;font-weight:400;margin:0 0 .25rem;transition:color .3s ease}.entry-date{color:var(--text-tertiary);font-size:.875rem;font-weight:400;margin:0 0 .5rem;transition:color .3s ease}.entry-description{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:.5rem 0 0;transition:color .3s ease}.entry-list{list-style:none;padding:0;margin:.75rem 0 0}.entry-list li{color:var(--text-secondary);font-size:.95rem;padding:.25rem 0 .25rem 1.5rem;position:relative;transition:color .3s ease}.entry-list li:before{content:"•";color:var(--text-tertiary);font-weight:400;position:absolute;left:.5rem;transition:color .3s ease}@media (max-width: 768px){.profile-content{padding:2rem 1rem}.profile-title{font-size:2rem}.profile-subtitle{font-size:1rem}.profile-section{padding:1.5rem}.section-title{font-size:1.5rem}}.publications-content{padding:4rem 2rem;max-width:1200px;margin:0 auto}.publications-title{font-size:3rem;font-weight:400;margin:0 0 .5rem;color:var(--text-color);transition:color .3s ease}.publications-subtitle{font-size:1.25rem;color:var(--text-tertiary);margin-bottom:3rem;transition:color .3s ease}.publications-container{display:flex;flex-direction:column;gap:2rem}.publication-card{background:var(--card-bg);padding:2rem;box-shadow:0 2px 8px var(--card-shadow);transition:box-shadow .3s ease,background .3s ease,border-color .3s ease;border:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;gap:2rem}.publication-content{flex:1}.publication-card:hover{box-shadow:0 4px 16px var(--card-shadow-hover)}.publication-title{color:var(--text-color);font-size:1.5rem;font-weight:400;margin:0 0 1rem;line-height:1.4;transition:color .3s ease}.publication-link{color:var(--link-color);font-size:1rem;font-weight:400;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:color .2s ease}.publication-link:hover{color:var(--link-hover);text-decoration:underline}.publication-logo{width:80px;height:80px;object-fit:contain;flex-shrink:0}@media (max-width: 768px){.publications-content{padding:2rem 1rem}.publications-title{font-size:2rem}.publications-subtitle{font-size:1rem}.publication-card{padding:1.5rem}.publication-title{font-size:1.25rem}}.projects-content{padding:4rem 2rem;max-width:1200px;margin:0 auto}.projects-title{font-size:3rem;font-weight:400;margin:0 0 .5rem;color:var(--text-color);transition:color .3s ease}.projects-subtitle{font-size:1.25rem;color:var(--text-tertiary);margin-bottom:3rem;transition:color .3s ease}.projects-container{display:flex;flex-direction:column;gap:2rem}.project-card{background:var(--card-bg);padding:2rem;box-shadow:0 2px 8px var(--card-shadow);transition:box-shadow .3s ease,background .3s ease,border-color .3s ease;border:1px solid var(--border-color);display:flex;flex-direction:column}.project-card:hover{box-shadow:0 4px 16px var(--card-shadow-hover)}.project-title{color:var(--text-color);font-size:1.5rem;font-weight:400;margin:0 0 1rem;transition:color .3s ease}.project-description{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin:0;transition:color .3s ease}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:2rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--card-bg);border:1px solid var(--border-color);max-width:800px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .3s ease;box-shadow:0 10px 40px #0000004d}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:1px solid var(--border-color);color:var(--text-color);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10;width:36px;height:36px}.modal-close:hover{background:var(--header-bg);border-color:var(--border-color-hover)}.modal-body{padding:3rem}.modal-title{color:var(--text-color);font-size:2rem;font-weight:400;margin:0 0 2rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color);transition:color .3s ease,border-color .3s ease}.modal-entry{color:var(--text-secondary);font-size:1rem;line-height:1.8;transition:color .3s ease}.modal-entry p{margin:0 0 1.5rem}.modal-entry h3,.modal-entry h4{color:var(--text-color);font-weight:400;margin:2rem 0 1rem;transition:color .3s ease}.modal-entry ul,.modal-entry ol{margin:1rem 0;padding-left:2rem}.modal-entry li{margin:.5rem 0}@media (max-width: 768px){.projects-content{padding:2rem 1rem}.projects-title{font-size:2rem}.projects-subtitle{font-size:1rem}.project-card{padding:1.5rem}.project-title{font-size:1.25rem}.modal-overlay{padding:1rem}.modal-content{max-height:95vh}.modal-body{padding:2rem 1.5rem}.modal-title{font-size:1.5rem;padding-right:3rem}.modal-close{top:.75rem;right:.75rem}}.contact-content{padding:4rem 2rem;max-width:1200px;margin:0 auto}.contact-title{font-size:3rem;font-weight:400;margin:0 0 .5rem;color:var(--text-color);transition:color .3s ease}.contact-subtitle{font-size:1.25rem;color:var(--text-tertiary);margin-bottom:3rem;transition:color .3s ease}.contact-container{display:flex;flex-direction:row;gap:2rem;flex-wrap:wrap}.contact-card{background:var(--card-bg);padding:2rem;box-shadow:0 2px 8px var(--card-shadow);transition:box-shadow .3s ease,background .3s ease,border-color .3s ease;border:1px solid var(--border-color);display:flex;flex-direction:column;gap:1rem;flex:1;min-width:280px}.contact-card:hover{box-shadow:0 4px 16px var(--card-shadow-hover)}.contact-method-title{color:var(--text-color);font-size:1.5rem;font-weight:400;margin:0;transition:color .3s ease}.contact-link{color:var(--link-color);font-size:1.1rem;font-weight:400;text-decoration:none;transition:color .2s ease;word-break:break-all}.contact-link:hover{color:var(--link-hover);text-decoration:underline}@media (max-width: 768px){.contact-content{padding:2rem 1rem}.contact-title{font-size:2rem}.contact-subtitle{font-size:1rem}.contact-card{padding:1.5rem}.contact-method-title{font-size:1.25rem}.contact-link{font-size:1rem}}.footer{background:var(--footer-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border-color);padding:.5rem 0;margin-top:auto;overflow:hidden;white-space:nowrap;transition:background .3s ease,border-color .3s ease}.footer-marquee{display:flex;width:100%;overflow:hidden;position:relative}.footer-marquee-wrapper{display:flex;gap:3rem;animation:scroll-left 30s linear infinite;will-change:transform}.footer-marquee-content{display:flex;align-items:center;gap:3rem;flex-shrink:0}@keyframes scroll-left{0%{transform:translate(0)}to{transform:translate(-50%)}}.footer-logo{height:40px;width:auto;flex-shrink:0;margin:0;padding:0;filter:invert(var(--logo-invert, 0));transition:filter .3s ease}.dark-mode .footer-logo{--logo-invert: 1}.footer-title{font-size:1.2rem;font-weight:400;color:var(--text-secondary);margin:0;padding:0;white-space:nowrap;flex-shrink:0;transition:color .3s ease}@media (max-width: 768px){.footer-logo{height:30px}.footer-title{font-size:1rem}.footer-marquee-content,.footer-marquee-wrapper{gap:2.5rem}}@media (max-width: 480px){.footer-logo{height:25px}.footer-title{font-size:.9rem}.footer-marquee-content,.footer-marquee-wrapper{gap:2rem}}:root{--bg-color: #ffffff;--text-color: #000000;--text-secondary: #333333;--text-tertiary: #666666;--border-color: rgba(0, 0, 0, .2);--border-color-hover: rgba(0, 0, 0, .5);--header-bg: rgba(255, 255, 255, .3);--header-bg-hover: rgba(255, 255, 255, .5);--footer-bg: rgba(255, 255, 255, .3);--card-bg: #ffffff;--card-shadow: rgba(0, 0, 0, .1);--card-shadow-hover: rgba(0, 0, 0, .15);--link-color: #333333;--link-hover: #000000;--spiral-color-1: rgba(100, 150, 255, .4);--spiral-color-2: rgba(150, 100, 255, .2);--spiral-color-3: rgba(200, 150, 255, .05)}.dark-mode{--bg-color: #000000;--text-color: #ffffff;--text-secondary: #ffffff;--text-tertiary: #ffffff;--border-color: rgba(255, 255, 255, .2);--border-color-hover: rgba(255, 255, 255, .5);--header-bg: rgba(0, 0, 0, .8);--header-bg-hover: rgba(0, 0, 0, .9);--footer-bg: rgba(0, 0, 0, .8);--card-bg: #000000;--card-shadow: rgba(255, 255, 255, .1);--card-shadow-hover: rgba(255, 255, 255, .15);--link-color: #ffffff;--link-hover: #ffffff;--spiral-color-1: rgba(255, 200, 100, .4);--spiral-color-2: rgba(255, 150, 100, .2);--spiral-color-3: rgba(255, 200, 150, .05)}*{box-sizing:border-box}body{margin:0;padding:0;font-family:Space Grotesk,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-color);color:var(--text-color);transition:background-color .3s ease,color .3s ease}#root{width:100%;min-height:100vh}
