:root{--bg: #0b0f14;--panel: #0f1621;--border: #1e2a3a;--text-main: #dce3ec;--text-muted: #5f6e85;--accent: #5fb3b3;--accent-soft: #3a8f9c}html,body{margin:0;padding:0;height:100%}body{background-color:var(--bg);color:var(--text-main);font-family:Ubuntu Mono,monospace}#root{min-height:100vh}.app-body{display:flex;min-height:calc(100vh - 60px)}header{position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;min-height:60px;padding:0 1.25rem;background-color:var(--panel);border-bottom:1px solid var(--border)}.header-left{display:flex;align-items:center;gap:.5rem}.header-left svg{color:var(--accent)}.path{font-size:.7rem;color:var(--text-muted)}.status{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.mobile-name{display:none;font-size:.9rem;color:var(--text-main);font-weight:500}.header-identity{display:flex;align-items:center;gap:.5rem}@media(max-width:640px){header{grid-template-columns:1fr;justify-items:center;padding:.75rem 1rem}.header-left,.header-right{display:none}.header-center{display:block}.mobile-name{font-size:1.2rem;font-weight:600;color:var(--text-main);display:block}}.main{flex:1;overflow-y:auto;padding:2rem 2.5rem}.section{margin-bottom:3rem;scroll-margin-top:80px;opacity:1;transition:opacity .15s ease-in}.section-title{color:var(--accent);font-size:.8rem;margin-bottom:.75rem}.section-text{color:var(--text-main);font-size:.9rem;line-height:1.6;max-width:65ch}.projects{display:flex;flex-direction:column;gap:1.5rem}.project{border:1px solid var(--border);padding:1rem;background-color:var(--panel)}.project-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.project-name{font-size:.85rem;color:var(--text-main)}.project-status{font-size:.65rem;color:var(--text-muted)}.project-status.active{color:var(--accent)}.project-status.archived{color:var(--text-muted)}.project-desc{font-size:.8rem;color:var(--text-muted);margin-bottom:.75rem;max-width:60ch}.project-stack{display:flex;gap:.5rem;flex-wrap:wrap}.tech{font-size:.65rem;color:var(--accent)}@media(max-width:640px){.project{padding:.75rem}.project-desc{font-size:.75rem}}.links-list{list-style:none;padding-left:0;margin-top:1rem}.links-list li{display:flex;gap:1rem;font-size:.75rem;color:var(--text-muted);margin-bottom:.5rem}.links-list span{color:var(--text-main);width:80px}.links-list a{color:var(--accent);text-decoration:none}.links-list a:hover{text-decoration:underline}.identity-links{list-style:none;padding-left:0;margin:1.5rem 0}.identity-links li{display:flex;gap:1rem;font-size:.75rem;color:var(--text-muted);margin-bottom:.5rem}.identity-links span{color:var(--text-main);width:80px}.identity-links a{color:var(--accent);text-decoration:none}.identity-links a:hover{text-decoration:underline}.whoami{max-width:720px}.whoami-prose p{margin-bottom:1.25rem;line-height:1.6;font-size:.95rem}.whoami-terminal{margin-top:2.5rem;padding:1.25rem;border:1px solid var(--border);background:var(--panel);font-size:.8rem}.cmd{color:var(--accent);margin-bottom:.25rem}.output{margin:0 0 1rem;color:var(--text-muted);white-space:pre-wrap}.whoami-links{display:flex;gap:1rem;font-size:.7rem;margin-top:.5rem}.whoami-links span{color:var(--text-muted);width:70px}.whoami-links a{color:var(--accent);text-decoration:none}.whoami-links a:hover{text-decoration:underline}.blog-list{display:flex;flex-direction:column;gap:2rem}.blog-item{padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.blog-meta{font-size:.65rem;color:var(--text-muted)}.blog-title{font-size:.9rem;margin:.25rem 0}.blog-summary{font-size:.8rem;color:var(--text-muted);max-width:65ch}.blog-tags{margin-top:.5rem;display:flex;gap:.5rem}.tag{font-size:.6rem;color:var(--accent)}.blog-item a{color:var(--accent);text-decoration:none;font-weight:500}.blog-item a:hover{text-decoration:underline}.blog-meta{color:var(--text-muted);font-size:.7rem}.blog-item a:before{content:"→ ";color:var(--text-muted)}.contact{max-width:720px}.contact-terminal{margin-top:1.5rem;padding:1.25rem 1.5rem;background-color:var(--panel);border:1px solid var(--border);font-size:.75rem}.contact-terminal .cmd{color:var(--accent);margin-bottom:1rem}.contact-entry{display:flex;gap:1.25rem;margin-bottom:.75rem;line-height:1.5}.contact-entry .label{width:80px;color:var(--text-muted)}.contact-entry .value{color:var(--text-main)}.contact-entry a{color:var(--accent);text-decoration:none}.contact-entry a:hover{text-decoration:underline}.mono{font-family:inherit}@media(max-width:640px){.contact-entry{flex-direction:column;gap:.25rem}.contact-entry .label{width:auto}}.gnupg{margin-top:3rem;max-width:900px}.terminal-session{margin-top:.95rem;padding:1.5rem 1.75rem;background-color:var(--panel);border:1px solid var(--border)}.terminal-block{margin-bottom:1.25rem;font-size:.78rem;line-height:1.6;color:var(--text-muted);white-space:pre-wrap}.terminal-block:first-line{color:var(--accent)}.terminal-block:last-child{margin-bottom:0}.gnupg .terminal-block{letter-spacing:.01em}@media(max-width:640px){.terminal-session{padding:1.25rem}.terminal-block{font-size:.75rem}}.sidebar{width:220px;border-right:1px solid var(--border);background-color:var(--panel);position:sticky;top:60px;height:calc(100vh - 60px)}.sidebar-inner{padding:1.5rem 1rem;background-color:var(--panel);height:100%}.sidebar-header{margin-bottom:2rem}.name{color:var(--text-main);font-size:1.5rem}.role{color:var(--text-muted);font-size:1rem}.sidebar-nav{display:flex;flex-direction:column;gap:.75rem}.sidebar-nav a{color:var(--text-muted);text-decoration:none;font-size:.95rem}.sidebar-nav a:hover{color:var(--accent)}.nav-link{display:block;color:var(--text-muted);text-decoration:none;font-size:.75rem;line-height:1.4}.nav-link:hover,.nav-link.active{color:var(--accent)}@media(max-width:768px){.sidebar{display:none}}@font-face{font-family:Ubuntu Mono;src:url(/fonts/UbuntuMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Ubuntu Mono;src:url(/fonts/UbuntuMono-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}body{font-family:Ubuntu Mono,monospace;font-size:14px;line-height:1.6;background:#0a0a0a;color:#e0e0e0}
