@import url(https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&family=IBM+Plex+Mono:wght@400;500;600;700&display=swap);:root{--font-pixel:"Press Start 2P",monospace;--font-terminal:"VT323",monospace;--font-mono:"IBM Plex Mono","SF Mono","Monaco",monospace;--black:#000;--white:#fff;--gray-100:#f5f5f5;--gray-200:#e5e5e5;--gray-300:#d4d4d4;--gray-400:#a3a3a3;--gray-500:#737373;--gray-600:#525252;--gray-700:#404040;--gray-800:#262626;--gray-900:#171717;--pixel-border:3px;--pixel-border-thin:2px}@keyframes scanline{0%{background-position:0 0}to{background-position:0 4px}}.theme-dark{--surface-bg:var(--black);--card-bg:var(--gray-900);--card-border:var(--gray-700);--text-primary:var(--white);--text-secondary:var(--gray-400);--text-muted:var(--gray-600);--accent:var(--white);--accent-inverse:var(--black);--stat-bg:var(--gray-800);--hover-bg:var(--gray-800);--pixel-highlight:var(--white);--pixel-shadow:var(--gray-800)}.theme-light{--surface-bg:var(--white);--card-bg:var(--gray-100);--card-border:var(--gray-300);--text-primary:var(--black);--text-secondary:var(--gray-600);--text-muted:var(--gray-400);--accent:var(--black);--accent-inverse:var(--white);--stat-bg:var(--gray-200);--hover-bg:var(--gray-200);--pixel-highlight:var(--black);--pixel-shadow:var(--gray-200)}*{box-sizing:border-box;scroll-behavior:auto}html{image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}body{-webkit-font-smoothing:none;-moz-osx-font-smoothing:unset;font-family:IBM Plex Mono,SF Mono,Monaco,monospace;font-family:var(--font-mono);margin:0;min-height:100vh}.app-shell,body{background:var(--surface-bg);color:var(--text-primary)}.app-shell{transition:none}.app-shell:before{background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000008 0,#00000008 4px);bottom:0;content:"";left:0;opacity:.5;pointer-events:none;position:fixed;right:0;top:0;z-index:9999}.theme-dark .app-shell:before{background:repeating-linear-gradient(0deg,#0000,#0000 2px,#ffffff05 0,#ffffff05 4px)}.pixel-border{border:var(--pixel-border) solid var(--card-border);box-shadow:inset -3px -3px 0 0 var(--pixel-shadow),inset 3px 3px 0 0 var(--pixel-highlight);box-shadow:inset calc(var(--pixel-border)*-1) calc(var(--pixel-border)*-1) 0 0 var(--pixel-shadow),inset var(--pixel-border) var(--pixel-border) 0 0 var(--pixel-highlight)}.pixel-border-thin{border:var(--pixel-border-thin) solid var(--card-border)}.pixel-btn{background:var(--stat-bg);border:var(--pixel-border) solid var(--card-border);box-shadow:3px 3px 0 0 var(--pixel-shadow);box-shadow:var(--pixel-border) var(--pixel-border) 0 0 var(--pixel-shadow);color:var(--text-primary);cursor:pointer;font-family:Press Start\ 2P,monospace;font-family:var(--font-pixel);font-size:.625rem;letter-spacing:.05em;padding:.75rem 1.25rem;position:relative;text-transform:uppercase;transition:none}.pixel-btn:hover{background:var(--text-primary);border-color:var(--text-primary);color:var(--surface-bg)}.pixel-btn:active{box-shadow:none;transform:translate(2px,2px)}.pixel-chip{background:var(--stat-bg);border:var(--pixel-border-thin) solid var(--card-border);color:var(--text-secondary);display:inline-block;font-family:IBM Plex Mono,SF Mono,Monaco,monospace;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.02em;padding:.3rem .6rem;text-transform:uppercase}.pixel-chip:hover{background:var(--text-primary);border-color:var(--text-primary);color:var(--surface-bg)}.xp-bar{background:var(--stat-bg);border:var(--pixel-border-thin) solid var(--card-border);height:12px;overflow:hidden;position:relative}.xp-bar-fill{transition:none}.game-panel{background:var(--card-bg);border:var(--pixel-border) solid var(--card-border);padding:1rem;position:relative}::selection{background:var(--text-primary);color:var(--surface-bg)}::-webkit-scrollbar{height:12px;width:12px}::-webkit-scrollbar-track{background:var(--stat-bg)}::-webkit-scrollbar-thumb,::-webkit-scrollbar-track{border:var(--pixel-border-thin) solid var(--card-border)}::-webkit-scrollbar-thumb{background:var(--text-secondary)}::-webkit-scrollbar-thumb:hover{background:var(--text-primary)}a{color:var(--text-primary);text-decoration:none}a:hover{background:var(--text-primary);color:var(--accent-inverse)}code{background:var(--stat-bg);border:1px solid var(--card-border);font-family:IBM Plex Mono,SF Mono,Monaco,monospace;font-family:var(--font-mono);font-size:.85em;padding:.15rem .4rem}:focus-visible{outline:2px dashed var(--text-primary);outline:var(--pixel-border-thin) dashed var(--text-primary);outline-offset:2px}*,:after,:before{border-radius:0!important}.app-shell{min-height:100vh;position:relative;width:100%}.theme-toggle-btn{align-items:center;background:var(--stat-bg);border:var(--pixel-border) solid var(--card-border);box-shadow:var(--pixel-border) var(--pixel-border) 0 0 var(--pixel-shadow);color:var(--text-primary);cursor:pointer;display:flex;font-family:var(--font-pixel);font-size:1rem;height:44px;justify-content:center;position:fixed;right:1rem;top:1rem;transition:none;width:44px;z-index:1000}.theme-toggle-btn:hover{background:var(--text-primary);border-color:var(--text-primary);color:var(--surface-bg)}.theme-toggle-btn:active{box-shadow:none;transform:translate(2px,2px)}.section{padding:3rem 0;width:100%}.section-container{margin:0 auto;max-width:720px;padding:0 2rem}.section-heading-main{border-bottom:var(--pixel-border) solid var(--card-border);color:var(--text-primary);font-family:var(--font-pixel);font-size:.875rem;font-weight:400;letter-spacing:.05em;margin-bottom:2rem;padding-bottom:1rem;position:relative;text-align:left;text-transform:uppercase}.section-heading-main:before{color:var(--text-secondary);content:"■";margin-right:.75rem}@media (max-width:768px){.section{padding:2rem 0}.section-container{padding:0 1rem}.section-heading-main{font-size:.75rem}.theme-toggle-btn{font-size:.9rem;height:40px;right:.75rem;top:.75rem;width:40px}}.homepage{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:3rem 2rem;position:relative;width:100%}.corner-decor{color:var(--text-muted);font-family:var(--font-terminal);font-size:2rem;opacity:.5;position:fixed;-webkit-user-select:none;user-select:none}.top-left{left:1rem;top:1rem}.top-right{right:1rem;top:1rem}.bottom-left{bottom:1rem;left:1rem}.bottom-right{bottom:1rem;right:1rem}.homepage-content{display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:600px;width:100%}.hero-panel,.nav-panel{background:var(--card-bg);border:var(--pixel-border) solid var(--card-border);position:relative}.panel-header{align-items:center;background:var(--stat-bg);border-bottom:var(--pixel-border-thin) solid var(--card-border);display:flex;gap:.5rem;justify-content:center;padding:.75rem}.panel-title-decor{color:var(--text-muted);font-family:var(--font-terminal);font-size:.75rem;letter-spacing:-1px}.panel-title-text{color:var(--text-primary);font-family:var(--font-pixel);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase}.hero-body{align-items:flex-start;display:flex;gap:1.5rem;padding:1.5rem}.avatar-container{align-items:center;display:flex;flex-direction:column;gap:.5rem}.pixel-avatar{align-items:center;background:var(--stat-bg);border:var(--pixel-border) solid var(--card-border);display:flex;height:100px;justify-content:center;overflow:hidden;position:relative;width:100px}.avatar-image{filter:grayscale(100%) contrast(1.1);height:150%;object-fit:cover;object-position:center top;transition:filter .2s ease;width:150%}.pixel-avatar:hover .avatar-image{filter:grayscale(0) contrast(1)}.status-indicator{align-items:center;color:var(--text-secondary);display:flex;font-family:var(--font-mono);font-size:.65rem;gap:.35rem;text-transform:uppercase}.status-dot{animation:blink 1s step-end infinite;color:var(--text-primary);font-size:.5rem}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.hero-info{display:flex;flex:1 1;flex-direction:column;gap:.75rem}.hero-name{color:var(--text-primary);font-family:var(--font-pixel);font-size:1rem;font-weight:400;letter-spacing:.05em;line-height:1.4;margin:0}.hero-role{align-items:center;display:flex;font-family:var(--font-mono);font-size:.8rem;gap:.25rem}.role-bracket{color:var(--text-muted)}.role-text{color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase}.xp-container{margin-top:.5rem}.xp-label{color:var(--text-secondary);display:flex;font-family:var(--font-mono);font-size:.7rem;justify-content:space-between;margin-bottom:.35rem;text-transform:uppercase}.xp-bar-wrapper{width:100%}.xp-bar-bg{background:var(--stat-bg);border:var(--pixel-border-thin) solid var(--card-border);height:10px;overflow:hidden;position:relative}.xp-bar-fill{background:var(--text-primary);height:100%;position:relative}.xp-bar-fill:after{background:repeating-linear-gradient(90deg,var(--text-primary) 0,var(--text-primary) 2px,#0000 2px,#0000 4px);bottom:0;content:"";position:absolute;right:0;top:0;width:8px}.hero-bio{color:var(--text-secondary);font-family:var(--font-mono);font-size:.8rem;line-height:1.6;margin:.5rem 0 0}.nav-panel{background:var(--card-bg)}.nav-menu{display:flex;flex-direction:column;gap:0;padding:.5rem}.nav-menu-item{align-items:center;background:#0000;border:none;border:var(--pixel-border-thin) solid #0000;color:var(--text-primary);cursor:pointer;display:flex;font-family:var(--font-mono);font-size:.85rem;gap:.75rem;padding:.875rem 1rem;text-align:left;transition:none;width:100%}.nav-menu-item:focus,.nav-menu-item:hover{background:var(--text-primary);border-color:var(--text-primary);color:var(--surface-bg)}.nav-menu-item:focus .menu-arrow,.nav-menu-item:focus .menu-desc,.nav-menu-item:focus .menu-icon,.nav-menu-item:focus .menu-index,.nav-menu-item:hover .menu-arrow,.nav-menu-item:hover .menu-desc,.nav-menu-item:hover .menu-icon,.nav-menu-item:hover .menu-index{color:var(--surface-bg);opacity:.7}.nav-menu-item:focus .menu-label,.nav-menu-item:hover .menu-label{color:var(--surface-bg)}.menu-index{color:var(--text-muted);font-family:var(--font-mono);font-size:.7rem;min-width:1.5rem}.menu-icon{color:var(--text-secondary);font-size:.9rem;min-width:1.25rem;text-align:center}.menu-text{display:flex;flex:1 1;flex-direction:column;gap:.15rem}.menu-label{font-weight:500;letter-spacing:.05em;text-transform:uppercase}.menu-desc{font-size:.7rem;font-weight:400;letter-spacing:0;text-transform:none}.menu-arrow,.menu-desc{color:var(--text-muted)}.menu-arrow{font-size:.8rem}.world-info-bar{background:var(--card-bg);border:var(--pixel-border) solid var(--card-border)}.world-info-header{background:var(--stat-bg);border-bottom:var(--pixel-border-thin) solid var(--card-border);padding:.5rem .75rem;text-align:center}.world-info-title{color:var(--text-secondary);font-family:var(--font-pixel);font-size:.5rem;letter-spacing:.15em;text-transform:uppercase}.world-info-content{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;padding:.75rem 1rem}.world-info-item{align-items:center;display:flex;flex-direction:column;gap:.2rem}.world-info-label{color:var(--text-muted);font-size:.6rem;text-transform:uppercase}.world-info-label,.world-info-value{font-family:var(--font-mono);letter-spacing:.05em}.world-info-value{color:var(--text-primary);font-size:.7rem}.world-info-divider{color:var(--card-border);font-size:.8rem}@media (max-width:640px){.homepage{padding:2rem 1rem}.corner-decor{font-size:1.5rem}.hero-body{flex-direction:column;gap:1rem;padding:1.25rem;text-align:center}.hero-body,.hero-info{align-items:center}.hero-name{font-size:.875rem}.hero-bio{font-size:.75rem;text-align:center}.pixel-avatar{height:90px;width:90px}.nav-menu-item{font-size:.8rem;padding:.75rem}.menu-desc{font-size:.6rem}.world-info-content{gap:.75rem;padding:.6rem .75rem}.world-info-label{font-size:.55rem}.world-info-value{font-size:.6rem}.world-info-title{font-size:.45rem}.panel-title-decor{display:none}}.intro-section{padding:2rem 0}.intro-content-new{margin:0;max-width:100%}.intro-description-new{background:var(--stat-bg);border:var(--pixel-border-thin) solid var(--card-border);color:var(--text-secondary);font-family:var(--font-mono);font-size:.85rem;line-height:1.7;margin-bottom:2.5rem;padding:1rem;position:relative;text-align:left}.intro-description-new:before{color:var(--text-muted);content:">";font-family:var(--font-mono);left:-.5rem;position:absolute;top:1rem}.subsection{background:var(--card-bg);border:var(--pixel-border) solid var(--card-border);margin-bottom:2.5rem;overflow:hidden;position:relative}.subsection:last-child{margin-bottom:0}.subsection-icon{display:none}.subsection-title{align-items:center;background:var(--stat-bg);border-bottom:var(--pixel-border-thin) solid var(--card-border);color:var(--text-primary);display:flex;font-family:var(--font-pixel);font-size:.625rem;font-weight:400;gap:.5rem;letter-spacing:.1em;margin:0;padding:.75rem 1rem;text-transform:uppercase}.subsection-title:before{color:var(--text-secondary);content:"◆";font-size:.5rem}.timeline{padding:1rem;position:relative}.timeline:before{background:repeating-linear-gradient(to bottom,var(--card-border) 0,var(--card-border) 4px,#0000 4px,#0000 8px);bottom:1rem;content:"";left:1.5rem;position:absolute;top:1rem;width:2px}.timeline-item{display:flex;flex-direction:column;gap:.25rem;margin-left:.5rem;padding:.75rem 0 .75rem 2rem;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-marker{background:var(--stat-bg);border:var(--pixel-border-thin) solid var(--card-border);display:block;height:10px;left:-.25rem;position:absolute;top:1rem;width:10px}.timeline-item:hover .timeline-marker{background:var(--text-primary);border-color:var(--text-primary)}.timeline-content{flex:1 1}.timeline-title{color:var(--text-primary);font-size:.85rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.timeline-meta,.timeline-title{font-family:var(--font-mono);margin:0}.timeline-meta{color:var(--text-secondary);font-size:.75rem}.timeline-period{background:var(--stat-bg);border:1px solid var(--card-border);color:var(--text-muted);display:inline-block;font-family:var(--font-mono);font-size:.7rem;margin:.25rem 0 0;padding:.2rem .5rem}.timeline-description{color:var(--text-secondary);font-family:var(--font-mono);font-size:.75rem;line-height:1.5;margin:.5rem 0 0}.skills-category-new{border-bottom:var(--pixel-border-thin) solid var(--card-border);margin:0;padding:1rem}.skills-category-new:last-child{border-bottom:none}.skills-category-label{color:var(--text-secondary);font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.05em;margin:0 0 .75rem;text-transform:uppercase}.skills-category-label:before{color:var(--text-muted);content:"▸ "}.skills-pills{display:flex;flex-wrap:wrap;gap:.5rem}.skill-pill{background:var(--stat-bg);border:var(--pixel-border-thin) solid var(--card-border);color:var(--text-secondary);cursor:default;font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.02em;padding:.35rem .75rem;text-transform:uppercase;transition:none}.skill-pill:hover{background:var(--text-primary);border-color:var(--text-primary);color:var(--surface-bg)}@media (max-width:768px){.intro-description-new{font-size:.8rem;margin-bottom:2rem;padding:.75rem}.subsection{margin-bottom:2rem}.subsection-title{font-size:.55rem;padding:.6rem .75rem}.timeline{padding:.75rem}.timeline:before{left:1.25rem}.timeline-item{padding-left:1.5rem}.timeline-marker{height:8px;left:-.4rem;width:8px}.timeline-title{font-size:.8rem}.timeline-description,.timeline-meta{font-size:.7rem}.skills-category-new{padding:.75rem}.skill-pill,.skills-category-label{font-size:.65rem}.skill-pill{padding:.3rem .6rem}}@media (max-width:480px){.intro-description-new{font-size:.75rem}.subsection-title{font-size:.5rem}.timeline-title{font-size:.75rem}.timeline-description,.timeline-meta,.timeline-period{font-size:.65rem}.skill-pill{font-size:.6rem;padding:.25rem .5rem}}.page-layout{min-height:100vh;padding:2rem;position:relative}.back-button{background:var(--stat-bg);border:var(--pixel-border) solid var(--card-border);box-shadow:var(--pixel-border) var(--pixel-border) 0 0 var(--pixel-shadow);color:var(--text-primary);cursor:pointer;font-family:var(--font-mono);font-size:.75rem;font-weight:500;left:1.5rem;letter-spacing:.05em;padding:.5rem 1rem;position:fixed;text-decoration:none;text-transform:uppercase;top:1.5rem;transition:none;z-index:100}.back-button:hover{background:var(--text-primary);border-color:var(--text-primary);color:var(--surface-bg)}.back-button:active{box-shadow:none;transform:translate(2px,2px)}.page-content{margin:5rem auto 2rem;max-width:720px;padding:0 1rem}.page-content:before{border:var(--pixel-border) solid var(--card-border);bottom:0;content:"";left:0;margin:.5rem;pointer-events:none;position:fixed;right:0;top:0;z-index:0}.page-content .section{padding:2rem 0;position:relative;z-index:1}.page-content .section-container{max-width:100%;padding:0}.page-content .section-heading-main{border-bottom:var(--pixel-border) solid var(--card-border);font-family:var(--font-pixel);font-size:.75rem;letter-spacing:.1em;margin-bottom:2rem;padding-bottom:1rem;text-align:left;text-transform:uppercase}.page-content .section-heading-main:before{color:var(--text-secondary);content:"■";margin-right:.75rem}@media (max-width:768px){.page-layout{padding:1rem}.back-button{font-size:.65rem;left:1rem;padding:.4rem .75rem;top:1rem}.page-content{margin:4rem auto 1.5rem;padding:0}.page-content:before{margin:.25rem}.page-content .section{padding:1.5rem 0}.page-content .section-heading-main{font-size:.65rem}}.projects-section{padding:2rem 0;position:relative}.project-filters{background:var(--stat-bg);border:var(--pixel-border) solid var(--card-border);display:flex;flex-wrap:wrap;gap:0;justify-content:flex-start;margin-bottom:1.5rem}.filter-btn{background:#0000;border:none;border-right:var(--pixel-border-thin) solid var(--card-border);color:var(--text-secondary);cursor:pointer;font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.05em;padding:.6rem 1rem;text-transform:uppercase;transition:none}.filter-btn:last-child{border-right:none}.filter-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.filter-btn.active{background:var(--text-primary);color:var(--surface-bg)}.projects-grid{background:var(--card-bg);border:var(--pixel-border) solid var(--card-border);display:flex;flex-direction:column;gap:0}.project-card-link,.publication-card-link{color:inherit;display:block;text-decoration:none}.project-card,.publication-card{background:#0000;border:none;border-bottom:var(--pixel-border-thin) solid var(--card-border);display:flex;flex-direction:column;gap:.75rem;height:auto;padding:1.25rem;position:relative;transition:none}.project-card:last-child,.publication-card:last-child{border-bottom:none}.project-card:hover,.publication-card:hover{background:var(--text-primary);color:var(--surface-bg)}.project-card:hover .project-description,.project-card:hover .project-title,.project-card:hover .tech-tag,.publication-card:hover .publication-authors,.publication-card:hover .publication-journal,.publication-card:hover .publication-meta,.publication-card:hover .publication-title,.publication-card:hover .publication-year{color:var(--surface-bg)}.project-card:hover .tech-tag{background:var(--surface-bg);border-color:var(--surface-bg);color:var(--text-primary)}.project-title,.publication-title{color:var(--text-primary);font-family:var(--font-mono);font-size:.85rem;font-weight:600;letter-spacing:.02em;line-height:1.4;margin:0;text-transform:uppercase}.project-title:before,.publication-title:before{color:var(--text-muted);content:"▸ "}.project-card:hover .project-title:before,.publication-card:hover .publication-title:before{color:var(--surface-bg);opacity:.5}.project-content,.publication-content{display:flex;flex-direction:column;gap:.75rem}.project-info,.publication-info{display:flex;flex-direction:column;gap:.5rem}.project-description{color:var(--text-secondary);font-family:var(--font-mono);font-size:.75rem;line-height:1.6;margin:0}.project-tech{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.25rem}.tech-tag{background:var(--stat-bg);border:var(--pixel-border-thin) solid var(--card-border);color:var(--text-secondary);font-family:var(--font-mono);font-size:.65rem;font-weight:500;letter-spacing:.02em;padding:.2rem .5rem;text-transform:uppercase}.projects-footer{border:var(--pixel-border) solid var(--card-border);display:flex;flex-wrap:wrap;gap:0;margin-top:1.5rem}.projects-footer .btn{align-items:center;background:var(--stat-bg);border:none;border-right:var(--pixel-border-thin) solid var(--card-border);color:var(--text-primary);cursor:pointer;display:inline-flex;flex:1 1;font-family:var(--font-mono);font-size:.75rem;font-weight:500;gap:.5rem;justify-content:center;letter-spacing:.05em;padding:.75rem 1.25rem;text-decoration:none;text-transform:uppercase;transition:none}.projects-footer .btn:last-child{border-right:none}.projects-footer .btn:hover{background:var(--text-primary);color:var(--surface-bg)}@media (max-width:768px){.project-filters{flex-wrap:wrap}.filter-btn{flex:1 1;font-size:.65rem;min-width:fit-content;padding:.5rem .75rem}.project-card,.publication-card{padding:1rem}.project-title,.publication-title{font-size:.8rem}.project-description{font-size:.7rem}.tech-tag{font-size:.6rem;padding:.15rem .4rem}.projects-footer{flex-direction:column}.projects-footer .btn{border-bottom:var(--pixel-border-thin) solid var(--card-border);border-right:none;font-size:.7rem}.projects-footer .btn:last-child{border-bottom:none}}.publications-section{padding:2rem 0;position:relative}.publications-grid{background:var(--card-bg);border:var(--pixel-border) solid var(--card-border);display:flex;flex-direction:column;gap:0}.publication-card-link{color:inherit;display:block;text-decoration:none}.publication-card{background:#0000;border:none;border-bottom:var(--pixel-border-thin) solid var(--card-border);cursor:pointer;display:flex;flex-direction:column;gap:.75rem;height:auto;padding:1.25rem;transition:none}.publication-card:last-child{border-bottom:none}.publication-card:hover{background:var(--text-primary);color:var(--surface-bg)}.publication-card:hover .publication-authors,.publication-card:hover .publication-journal,.publication-card:hover .publication-meta,.publication-card:hover .publication-title,.publication-card:hover .publication-year{color:var(--surface-bg)}.publication-card:hover .publication-year{background:var(--surface-bg);border-color:var(--surface-bg);color:var(--text-primary)}.publication-title{color:var(--text-primary);font-family:var(--font-mono);font-size:.85rem;font-weight:600;letter-spacing:.02em;line-height:1.4;margin:0;text-transform:uppercase}.publication-title:before{color:var(--text-muted);content:"◈ "}.publication-card:hover .publication-title:before{color:var(--surface-bg);opacity:.5}.publication-content,.publication-info{display:flex;flex-direction:column;gap:.5rem}.publication-meta{align-items:center;display:flex;flex-wrap:wrap;font-size:.7rem;gap:.5rem;margin:0}.publication-meta,.publication-year{color:var(--text-secondary);font-family:var(--font-mono)}.publication-year{background:var(--stat-bg);border:var(--pixel-border-thin) solid var(--card-border);font-size:.65rem;font-weight:500;padding:.2rem .5rem}.publication-journal{color:var(--text-secondary);font-weight:400}.publication-authors,.publication-journal{font-family:var(--font-mono);font-size:.7rem}.publication-authors{color:var(--text-muted);font-style:normal;margin:0}.publication-abstract{display:none}.publications-footer{margin-top:1.5rem;text-align:left}.publications-footer .btn{align-items:center;background:var(--stat-bg);border:var(--pixel-border) solid var(--card-border);box-shadow:var(--pixel-border) var(--pixel-border) 0 0 var(--pixel-shadow);color:var(--text-primary);cursor:pointer;display:inline-flex;font-family:var(--font-mono);font-size:.75rem;font-weight:500;gap:.5rem;letter-spacing:.05em;padding:.75rem 1.25rem;text-decoration:none;text-transform:uppercase;transition:none}.publications-footer .btn:hover{background:var(--text-primary);border-color:var(--text-primary);color:var(--surface-bg)}.publications-footer .btn:active{box-shadow:none;transform:translate(2px,2px)}@media (max-width:768px){.publication-card{padding:1rem}.publication-title{font-size:.8rem}.publication-authors,.publication-meta{font-size:.65rem}.publication-year{font-size:.6rem}.publications-footer .btn{font-size:.7rem;padding:.6rem 1rem}}.blog-section{padding:2rem 0}.blog-intro{background:var(--stat-bg);border:var(--pixel-border-thin) solid var(--card-border);margin-bottom:1.5rem;padding:.75rem 1rem}.blog-description{color:var(--text-secondary);font-family:var(--font-mono);font-size:.8rem;line-height:1.6;margin:0}.blog-description:before{color:var(--text-muted);content:"> "}.blog-description strong{color:var(--text-primary);font-weight:600;text-transform:uppercase}.blog-grid{background:var(--card-bg);border:var(--pixel-border) solid var(--card-border);display:flex;flex-direction:column;gap:0}.blog-card-link{color:inherit;display:block;text-decoration:none}.blog-card{background:#0000;border:none;border-bottom:var(--pixel-border-thin) solid var(--card-border);display:flex;flex-direction:column;gap:.5rem;height:auto;padding:1.25rem;transition:none}.blog-card:last-child{border-bottom:none}.blog-card:hover{background:var(--text-primary)}.blog-card:hover,.blog-card:hover .blog-date,.blog-card:hover .blog-excerpt,.blog-card:hover .blog-title,.blog-card:hover .read-more{color:var(--surface-bg)}.blog-card-header{margin-bottom:0}.blog-date{color:var(--text-muted);font-family:var(--font-mono);font-size:.65rem;letter-spacing:.05em;text-transform:uppercase}.blog-date:before{content:"["}.blog-date:after{content:"]"}.blog-title{color:var(--text-primary);font-family:var(--font-mono);font-size:.85rem;font-weight:600;letter-spacing:.02em;line-height:1.4;margin:0;text-transform:uppercase}.blog-title:before{color:var(--text-muted);content:"▸ "}.blog-card:hover .blog-title:before{color:var(--surface-bg);opacity:.5}.blog-excerpt{color:var(--text-secondary);font-family:var(--font-mono);font-size:.75rem;line-height:1.6;margin:0}.blog-card-footer{margin-top:.25rem;padding-top:0}.read-more{align-items:center;color:var(--text-muted);display:inline-flex;font-family:var(--font-mono);font-size:.7rem;font-weight:500;gap:.5rem;letter-spacing:.05em;text-transform:uppercase;transition:none}.blog-card:hover .read-more{color:var(--surface-bg)}.read-more svg{transition:none}.blog-footer{margin-top:1.5rem;text-align:left}.blog-footer .btn{align-items:center;background:var(--stat-bg);border:var(--pixel-border) solid var(--card-border);box-shadow:var(--pixel-border) var(--pixel-border) 0 0 var(--pixel-shadow);color:var(--text-primary);cursor:pointer;display:inline-flex;font-family:var(--font-mono);font-size:.75rem;font-weight:500;gap:.5rem;letter-spacing:.05em;padding:.75rem 1.25rem;text-decoration:none;text-transform:uppercase;transition:none}.blog-footer .btn:hover{background:var(--text-primary);border-color:var(--text-primary);color:var(--surface-bg)}.blog-footer .btn:active{box-shadow:none;transform:translate(2px,2px)}.blog-footer .btn svg{transition:none}.blog-loading{color:var(--text-secondary);font-family:var(--font-mono);font-size:.8rem;padding:2rem;text-align:center}.blog-loading:before{content:"[ "}.blog-loading:after{animation:loading-dots 1s infinite;content:" ]"}@keyframes loading-dots{0%,33%{content:" ]"}34%,66%{content:" .]"}67%,to{content:" ..]"}}@media (max-width:768px){.blog-intro{padding:.6rem .75rem}.blog-description{font-size:.75rem}.blog-card{padding:1rem}.blog-title{font-size:.8rem}.blog-excerpt{font-size:.7rem}.blog-date{font-size:.6rem}.read-more{font-size:.65rem}.blog-footer .btn{font-size:.7rem;padding:.6rem 1rem}}.diary-section{padding:2rem 0}.diary-description{background:var(--stat-bg);border:var(--pixel-border-thin) solid var(--card-border);margin-bottom:1.5rem;padding:.75rem 1rem}.diary-description p{color:var(--text-secondary);font-family:var(--font-mono);font-size:.8rem;line-height:1.6;margin:0}.diary-description p:before{color:var(--text-muted);content:"// "}.diary-feed{background:var(--card-bg);border:var(--pixel-border) solid var(--card-border);display:flex;flex-direction:column;gap:0}.diary-post{border-bottom:var(--pixel-border-thin) solid var(--card-border);padding:1.25rem;position:relative;transition:none}.diary-post:last-child{border-bottom:none}.diary-post:hover{background:var(--hover-bg)}.diary-post:before{color:var(--text-muted);content:counter(diary-counter,decimal-leading-zero);counter-increment:diary-counter;font-family:var(--font-mono);font-size:.6rem;left:-2rem;position:absolute;top:1.25rem}.diary-feed{counter-reset:diary-counter}.diary-post-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.diary-post-date{background:var(--stat-bg);border:1px solid var(--card-border);color:var(--text-muted);font-family:var(--font-mono);font-size:.65rem;letter-spacing:.05em;padding:.2rem .5rem;text-transform:uppercase}.diary-post-content{display:flex;flex-direction:column;gap:1rem}.diary-post-text{color:var(--text-primary);font-family:var(--font-mono);font-size:.85rem;line-height:1.7;margin:0;white-space:pre-wrap}.diary-post-text:before{color:var(--text-muted);content:"> "}.diary-post-image{border:var(--pixel-border) solid var(--card-border);overflow:hidden;position:relative;width:100%}.diary-post-image img{display:block;height:auto;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;object-fit:cover;width:100%}.diary-post-image:after{background:repeating-linear-gradient(0deg,#0000,#0000 2px,#0000000d 0,#0000000d 4px);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.diary-upload-info{background:var(--stat-bg);border:var(--pixel-border) solid var(--card-border);margin-top:1.5rem;padding:1rem;position:relative}.diary-upload-info:before{background:var(--stat-bg);border:var(--pixel-border-thin) solid var(--card-border);color:var(--text-primary);content:"!";font-family:var(--font-pixel);font-size:.6rem;left:-.75rem;padding:.25rem;position:absolute;top:50%;transform:translateY(-50%)}.upload-note{color:var(--text-secondary);font-family:var(--font-mono);font-size:.75rem;line-height:1.6;margin:0}.upload-note:before{color:var(--text-muted);content:"SYS: ";text-transform:uppercase}.upload-note code{background:var(--card-bg);border:1px solid var(--card-border);color:var(--text-primary);font-family:var(--font-mono);font-size:.7rem;padding:.15rem .4rem}@media (max-width:768px){.diary-description{padding:.6rem .75rem}.diary-description p{font-size:.75rem}.diary-post{padding:1rem}.diary-post:before{display:none}.diary-post-text{font-size:.8rem}.diary-post-date{font-size:.6rem}.diary-upload-info{padding:.75rem}.diary-upload-info:before{display:none}.upload-note{font-size:.7rem}.upload-note code{font-size:.65rem}}.contact-section{padding:2rem 0;position:relative}.socials-list{background:var(--card-bg);border:var(--pixel-border) solid var(--card-border);display:flex;flex-direction:column;gap:0}.social-link-item{align-items:center;border-bottom:var(--pixel-border-thin) solid var(--card-border);color:inherit;display:flex;gap:1rem;padding:1rem 1.25rem;position:relative;text-decoration:none;transition:none}.social-link-item:last-child{border-bottom:none}.social-link-item:hover{background:var(--text-primary);color:var(--surface-bg)}.social-link-item:hover .social-icon-wrapper,.social-link-item:hover .social-platform-name,.social-link-item:hover .social-username-text{color:var(--surface-bg)}.social-link-item:before{color:var(--text-muted);content:counter(social-counter,decimal-leading-zero);counter-increment:social-counter;font-family:var(--font-mono);font-size:.65rem;min-width:1.5rem}.social-link-item:hover:before{color:var(--surface-bg);opacity:.5}.socials-list{counter-reset:social-counter}.social-icon-wrapper{align-items:center;background:var(--stat-bg);border:var(--pixel-border-thin) solid var(--card-border);color:var(--text-secondary);display:flex;height:32px;justify-content:center;width:32px}.social-link-item:hover .social-icon-wrapper{background:var(--surface-bg);border-color:var(--surface-bg);color:var(--text-primary)}.social-icon-wrapper svg{height:16px;width:16px}.social-info-wrapper{display:flex;flex:1 1;flex-direction:column;gap:.15rem}.social-platform-name{color:var(--text-primary);font-family:var(--font-mono);font-size:.85rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.social-username-text{color:var(--text-muted);font-family:var(--font-mono);font-size:.7rem}.social-link-item:after{color:var(--text-muted);content:"▸";font-size:.8rem;margin-left:auto}.social-link-item:hover:after{color:var(--surface-bg)}@media (max-width:768px){.social-link-item{gap:.75rem;padding:.875rem 1rem}.social-link-item:before{font-size:.6rem;min-width:1.25rem}.social-icon-wrapper{height:28px;width:28px}.social-icon-wrapper svg{height:14px;width:14px}.social-platform-name{font-size:.8rem}.social-username-text{font-size:.65rem}}
/*# sourceMappingURL=main.57c6e3c8.css.map*/