:root{--primary: #2563eb;--secondary: #7c3aed;--tertiary: #0891b2;--c: var(--primary)}.c-primary{--c: var(--primary)}.c-secondary{--c: var(--secondary)}.c-tertiary{--c: var(--tertiary)}*{box-sizing:border-box}body{margin:0;font-family:Iosevka Charon,ui-monospace,monospace;font-size:1rem;line-height:1.65;color:#111827;background:#fcfcfd}#root{display:flex;flex-direction:column;min-height:100vh;max-width:42rem;margin:0 auto;padding:0 1.25rem}h1,h2,h3{margin:0;line-height:1.3}h1{font-size:1.6rem}h3{font-size:1rem}p{margin:0 0 .9rem}ul{margin:0;padding-left:1.1rem}li::marker{color:var(--c)}img{max-width:100%}a{color:var(--c);text-decoration:none;border-radius:3px;padding:0 .15em;margin:0 -.15em}a:hover{background:color-mix(in srgb,var(--c) 10%,transparent)}strong{font-weight:700;color:#7c3aed}.muted{color:#747881}.icon{width:.95em;height:.95em;vertical-align:-.12em;margin-right:.3em;flex:none}.header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;padding:2.5rem 0 1rem;border-bottom:1px solid rgb(89.6078431373%,89.8823529412%,90.8235294118%)}.header__name{font-weight:700;color:#111827}.header__name:hover{color:#2563eb;background:none}.nav{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem}.nav a{color:#747881}.nav a:hover{color:var(--c)}.nav a.active{color:var(--c);background:color-mix(in srgb,var(--c) 10%,transparent)}.nav a:nth-child(3n+1){--c: var(--primary)}.nav a:nth-child(3n+2){--c: var(--secondary)}.nav a:nth-child(3n){--c: var(--tertiary)}.page{flex:1;padding:2.5rem 0 4rem}.page>h1{margin-bottom:1.25rem}.section:nth-of-type(3n+1){--c: var(--primary)}.section:nth-of-type(3n+2){--c: var(--secondary)}.section:nth-of-type(3n){--c: var(--tertiary)}.section>h2{display:flex;align-items:center;gap:.55rem;font-size:1.05rem;color:var(--c);margin:2.75rem 0 1rem}.section>h2:before{content:"";width:.6rem;height:.6rem;border-radius:2px;background:var(--c)}.footer{padding:1.5rem 0 2.5rem;border-top:1px solid rgb(89.6078431373%,89.8823529412%,90.8235294118%);font-size:.85rem;color:#747881}.entry{margin-bottom:1.1rem;padding:.65rem .75rem .65rem 1rem;border-left:3px solid var(--c);border-radius:0 6px 6px 0;background:color-mix(in srgb,var(--c) 4%,transparent);transition:background .15s}.entry:hover{background:color-mix(in srgb,var(--c) 10%,transparent)}.entry__meta{display:flex;flex-wrap:wrap;gap:.15rem 1rem;margin-top:.2rem;color:#747881;font-size:.88rem}.entry__meta .icon{color:var(--c)}.entry__body{margin-top:.45rem;font-size:.92rem}.entry__body ul{margin-top:.25rem}.badge{display:inline-flex;align-items:center;padding:0 .5rem;border-radius:1rem;font-size:.8rem;font-weight:700;color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent)}.badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem}.badges .badge:nth-child(3n+1){--c: var(--tertiary)}.badges .badge:nth-child(3n+2){--c: var(--secondary)}.badges .badge:nth-child(3n){--c: var(--primary)}.links{display:flex;flex-wrap:wrap;gap:.3rem 1rem;font-size:.9rem;margin-top:.45rem}.links a{display:inline-flex;align-items:center;gap:.35rem}.links img{width:14px;height:14px;border-radius:3px}.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:1.5rem 1.25rem}.cats>div:nth-child(3n+1){--c: var(--primary)}.cats>div:nth-child(3n+2){--c: var(--secondary)}.cats>div:nth-child(3n){--c: var(--tertiary)}.cats img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;margin-bottom:.5rem;background:#e5e5e8;box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 25%,transparent)}.cats h3{border-left:3px solid var(--c);padding-left:.5rem;margin-bottom:.2rem}.cats p{font-size:.85rem;color:#747881;margin:0}.profile-img{display:block;width:20%;aspect-ratio:1;object-fit:cover;border-radius:6px;margin-bottom:.5rem;background:#e5e5e8;box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 25%,transparent)}.intro{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.intro h1{margin-bottom:.75rem}.intro__photo{flex:none;width:8.5rem;height:8.5rem;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px #fcfcfd,0 0 0 5px #0891b2}@media (max-width: 560px){.intro{flex-direction:column-reverse;align-items:flex-start}.intro__photo{width:6.5rem;height:6.5rem}}
