@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=IBM+Plex+Mono:wght@400;500&family=Inter:wght@400;500;600&display=swap";html{scroll-behavior:smooth}*{box-sizing:border-box}html,body{margin:0;overflow-x:hidden;width:100%}img{max-width:100%}.hero-viewport{min-height:100vh;min-height:100dvh}::selection{background:#e04250;color:#fff}a{color:inherit;text-decoration:none}.navlink{color:#9aa5bf;transition:color .2s}.navlink:hover{color:#e04250}.btn{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.85rem;padding:.8rem 1.5rem;border:1px solid #e04250;color:#e04250;border-radius:3px;transition:.2s;display:inline-block;background:none;cursor:pointer}.btn:hover{background:#e04250;color:#fff}.btn.ghost{border-color:#26304a;color:#9aa5bf}.btn.ghost:hover{border-color:#7fa8d9;color:#7fa8d9;background:transparent}.tag{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem;padding:.35rem .7rem;border:1px solid #26304a;border-radius:99px;color:#9aa5bf;transition:.2s;cursor:default}.tag:hover{border-color:#7fa8d9;color:#7fa8d9;transform:translateY(-2px)}.soc{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.8rem;color:#9aa5bf;transition:color .2s}.soc:hover{color:#7fa8d9}input,textarea{width:100%;background:#161c2b;border:1px solid #26304a;border-radius:4px;color:#eef1f8;font:inherit;font-size:.95rem;padding:.75rem .9rem;margin-top:.35rem}input:focus,textarea:focus{outline:none;border-color:#e04250}.skill-row:hover{background:#e0425012}.skill-row:hover .skill-status{filter:brightness(1.25)}.nav-links-desktop{display:flex}.nav-toggle{display:none}.nav-mobile-panel{position:fixed;top:64px;left:0;right:0;z-index:49;margin:.6rem clamp(1rem,4vw,3rem) 0;background:#0b0f18;border:1px solid #26304a;border-radius:8px;overflow:hidden}.nav-mobile-header{display:flex;align-items:center;gap:.4rem;padding:.6rem .85rem;background:#161c2b;border-bottom:1px solid #26304a}.nav-mobile-body{display:flex;flex-direction:column;padding:.35rem .9rem .6rem}.navlink-mobile{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.85rem;color:#9aa5bf;padding:.7rem 0;border-bottom:1px solid #1c2334;transition:color .2s}.navlink-mobile:last-child{border-bottom:none}.navlink-mobile:hover{color:#eef1f8}@media (max-width: 640px){.nav-links-desktop{display:none}.nav-toggle{display:inline-flex;align-items:center;justify-content:center}}@media (min-width: 641px){.nav-mobile-panel{display:none}}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.blink-cursor{animation:blink 1s steps(1) infinite}.ambient-scanlines{background-image:repeating-linear-gradient(to bottom,rgba(238,241,248,.05) 0px,rgba(238,241,248,.05) 1px,transparent 1px,transparent 4px)}@media (max-width: 820px){.grid2{grid-template-columns:1fr!important}}
