:root{--bg:#000;--fg:#fff;--muted:#ffffff59;--border:#fff3;--dot-size:.8px;--dot-gap:22px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--fg);font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0;background-image:radial-gradient(circle, #bababa17 var(--dot-size), transparent var(--dot-size));background-size:var(--dot-gap) var(--dot-gap);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:JetBrains Mono,Courier New,monospace}a{color:var(--fg);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}::selection{background:var(--fg);color:var(--bg)}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em}.app{flex-direction:column;min-height:100vh;display:flex}.navbar{z-index:100;background-color:var(--bg);border-bottom:1px solid var(--border);background-size:var(--dot-gap) var(--dot-gap);justify-content:space-between;align-items:center;height:56px;padding:0 2rem;display:flex;position:sticky;top:0}.navbar__brand{letter-spacing:.12em;text-transform:uppercase;font-size:1rem;font-style:italic;font-weight:700}.navbar__links{gap:2rem;list-style:none;display:flex}.navbar__links a{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:500;transition:color .15s;position:relative}.navbar__links a:after{content:"";background:var(--fg);width:0;height:1px;transition:width .2s;position:absolute;bottom:-3px;left:0}.navbar__links a:hover{color:var(--fg);text-decoration:none}.navbar__links a:hover:after{width:100%}.page{flex:1;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.page__inner{width:100%;max-width:680px}.page__tag{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem;font-size:.65rem}.page__heading{letter-spacing:-.03em;margin-bottom:1.5rem;font-size:clamp(2rem,6vw,3.5rem);font-weight:800;line-height:1.1}.page__body{color:var(--muted);max-width:480px;font-size:.875rem;line-height:1.8}.page__body p+p{margin-top:1rem}.page__divider{background:var(--border);width:40px;height:1px;margin:2rem 0}.skills{flex-direction:column;gap:1rem;margin-top:2rem;display:flex}.skills__group{grid-template-columns:90px 1fr;align-items:baseline;gap:1rem;display:grid}.skills__label{letter-spacing:.15em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:.65rem}.skills__items{font-size:.875rem;line-height:1.6}.project-block{border-bottom:1px solid var(--border);padding:1.5rem 0}.project-block:last-child{border-bottom:none}#githublogo{opacity:.6;width:24px;height:24px;margin-bottom:1rem;transition:opacity .15s}#githublogo:hover{opacity:1}.button-container{gap:.75rem;display:flex}.header-button{letter-spacing:.15em;text-transform:uppercase;color:var(--bg);background:var(--fg);border:1px solid var(--fg);cursor:pointer;padding:.4rem 1rem;font-family:inherit;font-size:.65rem;font-weight:600;transition:background .15s,color .15s}.header-button:hover{background:var(--bg);color:var(--fg)}.footer{border-top:1px solid var(--border);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background-color:#000;justify-content:space-between;align-items:center;padding:1.25rem 2rem;font-size:.65rem;display:flex}
